Агрегация (лингвистика) - Aggregation (linguistics)

Агрегация это подзадача генерация естественного языка, который включает в себя объединение синтаксических составляющих (таких как предложения и фразы) вместе. Иногда агрегирование может выполняться на концептуальном уровне.

Примеры

Простой пример синтаксической агрегации - слияние двух фразы Джон пошел в магазин и Джон купил яблоко в одно предложение Джон пошел в магазин и купил яблоко.

Синтаксическая агрегация может быть намного сложнее, чем это. Например, агрегирование может включать одну из составляющих в другую; например, мы можем агрегировать Джон пошел в магазин и Магазин был закрыт в предложение Джон пошел в магазин, который был закрыт.

С прагматической точки зрения объединение предложений вместе часто подсказывает читателю, что эти предложения связаны друг с другом. Если это не так, читатель может запутаться. Например, тот, кто читает Джон пошел в магазин и купил яблоко может сделать вывод, что яблоко куплено в магазине; если это не так, то эти предложения не следует объединять.

Алгоритмы и проблемы

Алгоритмы агрегирования должны делать две вещи:

  • Решите, когда следует объединить две составляющие
  • Решите, как должны быть объединены два компонента, и создайте объединенную структуру.

Первый вопрос, когда нужно агрегировать, плохо изучен. Решения по агрегированию, безусловно, зависят от семантический отношения между участниками, о которых говорилось выше; они также зависят от жанр (например, бюрократические тексты имеют тенденцию быть более агрегированными, чем инструкции по эксплуатации). Вероятно, они должны зависеть от риторической и дискурсивной структуры.[1] В грамотность уровень читателя также, вероятно, важен (плохие читатели нуждаются в более коротких предложениях).[2] Но у нас нет интегрированной модели, объединяющей все эти факторы в единую алгоритм.

Что касается второй проблемы, было проведено несколько исследований различных типов агрегации и того, как их следует проводить. Харбуш и Кемпен описывают несколько стратегий синтаксической агрегации. По их терминологии, Джон пошел в магазин и купил яблоко это пример прямое соединение Снижение [3]. Гораздо меньше известно о концептуальной агрегации. Ди Эухенио и другие. показать, как концептуальное агрегирование может быть выполнено в интеллектуальной обучающей системе, и продемонстрировать, что выполнение такого агрегирования делает систему более эффективной (и что концептуальное агрегирование оказывает большее влияние, чем синтаксическое агрегирование).[4]

Программного обеспечения

К сожалению, программного обеспечения для агрегирования не так много.[нужна цитата ] Однако система SimpleNLG[5] включает ограниченную поддержку базовой агрегации. Например, следующий код заставляет SimpleNLG распечатать Мужчина голоден и покупает яблоко.

SPhraseSpec s1 = nlgFactory.createClause("тот человек", "быть", "голодный");SPhraseSpec s2 = nlgFactory.createClause("тот человек", "купить", "яблоко");NLGElement результат = новый ClauseCoordinationRule().подать заявление(s1, s2);Система.из.println(реалист.realiseSentence(результат));

внешняя ссылка

Рекомендации

  1. ^ Д. Скотт и К. де Соуза (1990). Получение сообщения в генерации текста на основе RST. В Дейле и др. (Ред.)Текущие исследования в области генерации естественного языка. Академическая пресса
  2. ^ С. Уильямс и Э. Рейтер (2008). Создание отчетов об основных навыках для читателей с низким уровнем квалификации. Инженерия естественного языка 14:495-535
  3. ^ К. Харбуш и Г. Кемпен (2009). Создание многоязычного эллипса клаузальных координат: единый подход, основанный на публикации. В Материалы ENLG-2009 28:105-144. [1]
  4. ^ Б. Ди Эухенио, Д. Фоссати, Д. Ю. (2005). Агрегация улучшает обучение: эксперименты по генерации естественного языка для интеллектуальных систем обучения. В Протокол ACL-2005 С. 50–57. [2]
  5. ^ Гатт и Э. Рейтер (2009). SimpleNLG: механизм реализации для практических приложений. Труды ENLG09 [3]