Генерация естественного языка - Natural-language generation

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

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

NLG можно рассматривать как противоположность понимание естественного языка (NLU): в то время как в понимании естественного языка системе необходимо устранять неоднозначность входного предложения для создания языка машинного представления, в NLG системе необходимо принимать решения о том, как выразить концепцию словами. Практические соображения при построении систем NLU и NLG несимметричны. NLU должен иметь дело с неоднозначным или ошибочным вводом данных пользователем, тогда как идеи, которые система хочет выразить через NLG, обычно известны точно. NLG необходимо выбрать конкретное самосогласованное текстовое представление из множества потенциальных представлений, тогда как NLU обычно пытается создать единое нормализованное представление выраженной идеи.[1]

NLG существует с ELIZA была разработана в середине 1960-х годов, но коммерческая технология NLG только недавно[когда? ] становятся широко доступными. Методы NLG варьируются от простых систем на основе шаблонов, таких как слияние почты что порождает формировать письма, системам со сложным пониманием человеческой грамматики. NLG также может быть достигнуто путем обучения статистической модели с использованием машинное обучение, как правило, на большом корпус рукописных текстов.[2]

Пример

В Прогноз пыльцы для Шотландии система[3] представляет собой простой пример простой системы NLG, которая, по сути, может быть шаблоном. Эта система принимает на вход шесть чисел, которые дают прогнозируемые уровни пыльцы в разных частях Шотландии. На основе этих чисел система генерирует краткую текстовую сводку уровней пыльцы на выходе.

Например, используя исторические данные за 1 июля 2005 г., программа производит:

Уровни пыльцы травы в пятницу выросли со вчерашнего умеренного до высокого уровня со значениями от 6 до 7 на большей части территории страны. Однако в северных районах уровни пыльцы будут умеренными, со значениями 4.

Напротив, фактический прогноз (написанный метеорологом-человеком) на основе этих данных был:

Ожидается, что количество пыльцы останется высоким на уровне 6 на большей части Шотландии и даже на уровне 7 на юго-востоке. Единственный рельеф находится на Северных островах и далеко на северо-востоке материковой Шотландии со средним уровнем содержания пыльцы.

Сравнение этих двух иллюстрирует некоторые из решений, которые должны сделать системы NLG; они более подробно обсуждаются ниже.

Этапы

Процесс создания текста может быть таким же простым, как сохранение списка готового текста, который копируется и вставляется, возможно, связанного с каким-то клеящим текстом. Результаты могут быть удовлетворительными в простых областях, таких как машины для гороскопов или генераторы персональных деловых писем. Однако сложная система NLG должна включать этапы планирования и объединения информации, чтобы обеспечить создание текста, который выглядит естественно и не повторяется. Типичные этапы генерации естественного языка, предложенные Дейлом и Рейтером,[1] находятся:

Определение содержания: Решение, какую информацию упоминать в тексте. Например, в приведенном выше примере пыльцы, решение, следует ли явно упоминать, что уровень пыльцы равен 7 на юго-востоке.

Структурирование документа: Общая организация передаваемой информации. Например, вы решили сначала описать районы с высоким уровнем пыльцы, а не районы с низким уровнем пыльцы.

Агрегация: Объединение похожих предложений для повышения удобочитаемости и естественности. Например, объединение двух следующих предложений:

  • Уровни пыльцы травы в пятницу выросли со вчерашнего дня со среднего до высокого. и
  • Уровни пыльцы трав будут от 6 до 7 на большей части территории страны.

в следующее предложение:

  • Уровни пыльцы травы на пятницу выросли со вчерашнего умеренного до высокого уровня со значениями от 6 до 7 на большей части территории страны..

Лексический выбор: Слова к концепциям. Например, решая, нужно ли средний или же умеренныйследует использовать при описании уровня пыльцы 4.

Ссылающаяся генерация выражения: Создание ссылающиеся выражения идентифицирующие объекты и регионы. Например, решив использоватьна Северных островах и далеко к северо-востоку от материковой Шотландии для обозначения определенного региона Шотландии. Эта задача также включает принятие решений о местоимения и другие видыанафора.

Реализация: Создание фактического текста, который должен быть правильным в соответствии с правиламисинтаксис, морфология, и орфография. Например, используя будет на будущее быть.

Альтернативный подход к NLG - использовать «сквозное» машинное обучение для построения системы без отдельных этапов, как указано выше.[4] Другими словами, мы создаем систему NLG, обучая алгоритм машинного обучения (часто LSTM ) на большом наборе входных данных и соответствующих (написанных человеком) выходных текстах. Сквозной подход, пожалуй, был наиболее успешным в подписи к изображениям,[5] который автоматически создает текстовый заголовок для изображения.

Приложения

В популярных СМИ наибольшее внимание уделяется системам NLG, которые генерируют анекдоты (см. вычислительный юмор ), но с коммерческой точки зрения наиболее успешными приложениями NLG были данные в текст системы, которые создавать текстовые резюме баз данных и наборов данных; эти системы обычно выполняют анализ данных а также генерация текста. Исследования показали, что текстовые резюме могут быть более эффективными, чем графики и другие визуальные эффекты, для поддержки принятия решений.[6][7][8] и что тексты, созданные компьютером, могут превосходить (с точки зрения читателя) тексты, написанные людьми.[9]

Первые коммерческие системы преобразования данных в текст производили прогнозы погоды на основе данных о погоде. Первой такой системой, которая была развернута, была FoG,[10] который использовался Министерством охраны окружающей среды Канады для составления прогнозов погоды на французском и английском языках в начале 1990-х годов. Успех FoG послужил толчком для других работ, как исследовательских, так и коммерческих. Метеорологическое бюро Великобритании текстовый прогноз.[11]

В настоящее время существует значительный коммерческий интерес к использованию NLG для обобщения финансовых и коммерческих данных. В самом деле, Gartner заявил, что NLG станет стандартной функцией 90% современных платформ бизнес-аналитики и аналитики.[12] NLG также коммерчески используется в автоматизированная журналистика, чат-боты, создание описаний продуктов для сайтов электронной коммерции, обобщение медицинских записей,[13][14] и усиление доступность (например, описывая графики и наборы данных слепым людям[15]).

Примером интерактивного использования NLG является WYSIWYM рамки. Это означает То, что вы видите, это то, что вы имели в виду и позволяет пользователям видеть и управлять непрерывно отображаемым представлением (вывод NLG) базового документа формального языка (ввод NLG), тем самым редактируя формальный язык, не изучая его.

Системы создания контента помогают людям-писателям и делают процесс написания более эффективным и действенным. Инструмент для создания контента на основе веб-майнинг с использованием API поисковых систем.[16] Инструмент имитирует сценарий записи «вырезать и вставить», когда писатель формирует свой контент из различных результатов поиска. Проверка релевантности необходима для фильтрации нерелевантных результатов поиска; он основан на сопоставлении дерева синтаксического анализа запроса с деревьями синтаксического анализа возможных ответов.[17] В альтернативном подходе высокоуровневая структура текста, созданного человеком, используется для автоматического создания шаблона для новой темы для автоматически написанного Википедия статья.[18]

С 2009 года было основано несколько компаний, которые создают системы, преобразующие данные в повествование, используя NLG и AI техники. К ним относятся нарративная наука,[19] Phrasetech,[20] Arria NLG, Автоматизированная статистика, Adzis NLG,[21] Ретреско, Нарратива,[22] Visual NLG,[23] Исоп и United Robots.[24] Также существуют решения NLG с открытым исходным кодом, например RosaeNLG,[25] SimpleNLG, [26]Набор инструментов RiTa,[27] и Sassbook AI Writer.

Оценка

Как и в других областях науки, исследователям NLG необходимо проверить, насколько хорошо работают их системы, модули и алгоритмы. Это называется оценка. Существует три основных метода оценки систем NLG:

  • Оценка по задачам (внешняя): передать сгенерированный текст человеку и оценить, насколько хорошо он помогает ему выполнить задачу (или иным образом достигает своей коммуникативной цели). Например, систему, которая генерирует сводные медицинские данные, можно оценить, предоставив эти сводки врачам и оценив, помогают ли эти сводки врачам принимать более обоснованные решения.[14]
  • Человеческие рейтинги: передать сгенерированный текст человеку и попросить его оценить качество и полезность текста.
  • Метрики: сравнить сгенерированные тексты с текстами, написанными людьми из тех же входных данных, используя автоматический показатель, такой как BLEU, МЕТЕОР и РУЖ.

Конечная цель - насколько полезны системы NLG для помощи людям, что является первым из вышеперечисленных методов. Однако оценка, основанная на задачах, отнимает много времени и дорого и может быть трудной для выполнения (особенно если для этого требуются субъекты со специальными знаниями, например врачи). Следовательно (как и в других областях НЛП) оценка задач является исключением, а не нормой.

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

Смотрите также

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

  1. ^ а б Дейл, Роберт; Рейтер, Эхуд (2000). Создание систем генерации естественного языка. Кембридж, Великобритания: Издательство Кембриджского университета. ISBN  978-0-521-02451-8.
  2. ^ Перера Р., Нанд П. (2017). «Последние достижения в области создания естественного языка: обзор и классификация эмпирической литературы». Вычислительная техника и информатика. 36 (1): 1–32. Дои:10.4149 / cai_2017_1_1.
  3. ^ Р. Тернер, С. Шрипада, Э. Рейтер, И. Дэви (2006). Создание пространственно-временных описаний в прогнозах пыльцы. Труды EACL06
  4. ^ "E2E NLG Challenge".
  5. ^ "DataLabCup: Image Caption".
  6. ^ Закон А, Фрир Y, Хантер Дж, Логи Р., Макинтош Н., Куинн Дж. (2005). «Сравнение графического и текстового представления данных временных рядов для поддержки принятия медицинских решений в отделении интенсивной терапии новорожденных». Журнал клинического мониторинга и вычислений. 19 (3): 183–94. Дои:10.1007 / s10877-005-0879-3. PMID  16244840.
  7. ^ Gkatzia D, Lemon O, Reiser V (2017). «Преобразование данных в текст улучшает процесс принятия решений в условиях неопределенности» (PDF). Журнал IEEE Computational Intelligence Magazine. 12 (3): 10–17. Дои:10.1109 / MCI.2017.2708998.
  8. ^ "Текст или графика?". 2016-12-26.
  9. ^ Рейтер Э., Шрипада С., Хантер Дж., Ю. Дж., Дэви И. (2005). "Выбор слов в прогнозах погоды, генерируемых компьютером". Искусственный интеллект. 167 (1–2): 137–69. Дои:10.1016 / j.artint.2005.06.006.
  10. ^ Гольдберг Э., Дридгер Н, Киттредж Р. (1994). «Использование обработки естественного языка для составления прогнозов погоды». Эксперт IEEE. 9 (2): 45–53. Дои:10.1109/64.294135.
  11. ^ С. Шрипада, Н. Бернетт, Р. Тернер, Дж. Мастин, Д. Эванс (2014). Создание тематического исследования: NLG удовлетворяет спрос метеорологической отрасли на качество и количество текстовых прогнозов погоды. Материалы INLG 2014
  12. ^ «Нейронные сети и современные платформы бизнес-аналитики будут способствовать развитию данных и аналитики».
  13. ^ Харрис, доктор медицины (2008). «Построение крупномасштабной коммерческой системы NLG для EMR» (PDF). Труды Пятой Международной конференции по поколению естественных языков. С. 157–60.
  14. ^ а б Портет Ф., Райтер Э., Гатт А., Хантер Дж., Шрипада С., Фрир Й, Сайкс С. (2009). «Автоматическое создание текстовых резюме из данных неонатальной интенсивной терапии» (PDF). Искусственный интеллект. 173 (7–8): 789–816. Дои:10.1016 / j.artint.2008.12.002.
  15. ^ http://www.inf.udec.cl/~leo/iGraph.html
  16. ^ Галицкий, Борис (2013). Инструмент веб-майнинга для помощи в написании творческих работ. Достижения в области информационного поиска. Конспект лекций по информатике. Конспект лекций по информатике. 7814. С. 828–831. Дои:10.1007/978-3-642-36973-5_95. ISBN  978-3-642-36972-8.
  17. ^ Галицкий Б, де ла Роса Ж. Л., Доброчи Г. (2012). «Вывод семантических свойств предложений путем добычи синтаксических деревьев синтаксического анализа». Инженерия данных и знаний. 81-82: 21–45. Дои:10.1016 / j.datak.2012.07.003.
  18. ^ Супер, Кристина и Барзилай, Регина (2009). «Автоматическое создание статей в Википедии: подход с учетом структуры». Труды ACL.
  19. ^ [1]
  20. ^ [2]
  21. ^ [3]
  22. ^ [4]
  23. ^ [5]
  24. ^ [6]
  25. ^ [7]
  26. ^ [8]
  27. ^ [9]
  28. ^ Вызов поколения 2009

дальнейшее чтение

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

  • Специальная группа ACL по вопросам генерации (СИГГЕН )
  • SIGGEN часть антологии ACL (содержит исследовательские работы NLG)
  • Портал ACL NLG (содержит список ресурсов NLG)
  • «Почти полный» список систем NLG Бейтмана и Зока теперь поддерживается как Wiki с множеством визуализаций и обзорных таблиц, доступных по запросу
  • Блог Эхуда Рейтера о генерации естественного языка
  • RosaeNLG RosaeNLG - это библиотека NLG с открытым исходным кодом (MIT), написанная на JavaScript на основе механизма шаблонов Pug (поддерживает любой язык и в настоящее время поставляется с ресурсами для английского, французского, немецкого и итальянского языков)
  • KPML - универсальная система генерации естественного языка с графическим пользовательским интерфейсом для разработки и грамматиками разного размера для китайского, чешского, голландского, английского, французского, немецкого, греческого, японского, португальского, русского и испанского языков.
  • SimpleNLG - Библиотека Java с открытым исходным кодом для помощи в NLG (только на английском языке)
  • SimpleNLG-EnFr - Адаптация библиотеки Java с открытым исходным кодом для SimpleNLG, которая добавляет поддержку французского языка.
  • Мозжечок - Генератор символьных языковых моделей для английского, грузинского, венгерского, японского, русского, турецкого, словацкого, чешского и латинского языков.
  • Сторикубе использует искусственный интеллект для поддержки всего процесса создания новостей (от сбора данных до генерации текста) и проверки фактов.