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

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

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

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

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

Пример

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

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

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

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

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

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

Этапы

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

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

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

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

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

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

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

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

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

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

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

Приложения

Популярные средства массовой информации уделяют наибольшее внимание системам NLG, которые генерируют шутки (см. « Вычислительный юмор» ), но с коммерческой точки зрения наиболее успешными приложениями NLG были системы преобразования данных в текст , которые генерируют текстовые сводки баз данных и наборов данных; эти системы обычно выполняют анализ данных, а также генерацию текста. Исследования показали, что текстовые резюме могут быть более эффективными, чем графики и другие визуальные элементы для поддержки принятия решений, и что тексты, созданные компьютером, могут быть лучше (с точки зрения читателя), чем тексты, написанные людьми.

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

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

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

Оценка

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

  • Оценка на основе задач (внешняя) : дайте сгенерированный текст человеку и оцените, насколько хорошо он помогает ему выполнять задачу (или иным образом достигает своей коммуникативной цели). Например, систему, которая генерирует сводные медицинские данные, можно оценить, предоставив эти сводки врачам и оценив, помогают ли эти сводки врачам принимать более обоснованные решения.
  • Человеческие оценки : дайте сгенерированный текст человеку и попросите его оценить качество и полезность текста.
  • Метрики : сравнивайте сгенерированные тексты с текстами, написанными людьми из тех же входных данных, используя автоматические метрики, такие как BLEU , METEOR , ROUGE и LEPOR .

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

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

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

использованная литература

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

внешние ссылки