Генерация естественного языка ( NLG ) — это программный процесс, который производит вывод на естественном языке . Широко цитируемый обзор методов NLG описывает NLG как «подотрасль искусственного интеллекта и вычислительной лингвистики, которая занимается созданием компьютерных систем, способных производить понятные тексты на английском или других человеческих языках из некоторого базового нелингвистического представления информации». [1]
Хотя широко распространено мнение, что результатом любого процесса NLG является текст, существуют некоторые разногласия относительно того, должны ли входные данные системы NLG быть нелингвистическими. [2] К распространенным областям применения методов NLG относятся создание различных отчетов, например, отчетов о погоде [3] и отчетов пациентов; [4] подписей к изображениям; [5] и чат-ботов .
Автоматизированный NLG можно сравнить с процессом, который используют люди, когда они превращают идеи в письмо или речь. Психолингвисты предпочитают термин «производство языка» для этого процесса, который также может быть описан в математических терминах или смоделирован на компьютере для психологических исследований. Системы NLG можно также сравнить с трансляторами искусственных компьютерных языков, такими как декомпиляторы или транспиляторы , которые также производят читаемый человеком код, сгенерированный из промежуточного представления . Человеческие языки, как правило, значительно сложнее и допускают гораздо больше двусмысленности и разнообразия выражений, чем языки программирования, что делает NLG более сложным.
NLG можно рассматривать как дополнение к пониманию естественного языка (NLU): в то время как при понимании естественного языка система должна устранить неоднозначность входного предложения, чтобы создать язык машинного представления, в NLG система должна принимать решения о том, как выразить представление словами. Практические соображения при построении систем NLU и NLG не симметричны. NLU необходимо иметь дело с неоднозначным или ошибочным пользовательским вводом, тогда как идеи, которые система хочет выразить через NLG, как правило, известны точно. NLG необходимо выбрать конкретное, самосогласованное текстовое представление из многих потенциальных представлений, тогда как NLU обычно пытается создать единое, нормализованное представление выраженной идеи. [6]
NLG существует с тех пор, как в середине 1960-х годов была разработана ELIZA , но эти методы впервые были использованы в коммерческих целях в 1990-х годах. [7] Методы NLG варьируются от простых систем на основе шаблонов, таких как слияние писем , которое генерирует шаблоны писем , до систем, которые имеют сложное понимание человеческой грамматики. NLG также может быть достигнут путем обучения статистической модели с использованием машинного обучения , как правило, на большом корпусе текстов, написанных человеком. [8]
Система Pollen Forecast for Scotland [9] — это простой пример простой системы NLG, которая по сути может быть основана на шаблоне. Эта система принимает в качестве входных данных шесть чисел, которые дают прогнозируемые уровни пыльцы в разных частях Шотландии. Из этих чисел система генерирует краткую текстовую сводку уровней пыльцы в качестве выходных данных.
Например, используя исторические данные на 1 июля 2005 года, программа выдает:
Уровень пыльцы травы в пятницу увеличился с умеренного до высокого уровня вчерашнего дня со значениями около 6-7 в большинстве частей страны. Однако в северных районах уровень пыльцы будет умеренным со значениями 4.
Напротив, фактический прогноз (написанный метеорологом) на основе этих данных был следующим:
Ожидается, что уровень пыльцы останется высоким на уровне 6 на большей части Шотландии и даже на уровне 7 на юго-востоке. Единственное облегчение — на Северных островах и далеко на северо-востоке материковой Шотландии со средним уровнем пыльцы.
Сравнение этих двух вариантов иллюстрирует некоторые решения, которые должны принимать системы NLG; они более подробно обсуждаются ниже.
Процесс генерации текста может быть таким же простым, как сохранение списка шаблонного текста, который копируется и вставляется, возможно, связанного с каким-то связующим текстом. Результаты могут быть удовлетворительными в простых областях, таких как машины для составления гороскопов или генераторы персонализированных деловых писем. Однако сложная система NLG должна включать этапы планирования и объединения информации, чтобы обеспечить генерацию текста, который выглядит естественно и не становится повторяющимся. Типичные этапы генерации естественного языка, предложенные Дейлом и Рейтером [6] , следующие:
Определение содержания : Решение о том, какую информацию следует упомянуть в тексте. Например, в приведенном выше примере с пыльцой, решение о том, следует ли явно упоминать, что уровень пыльцы составляет 7 на юго-востоке.
Структурирование документа : Общая организация передаваемой информации. Например, решение сначала описать области с высоким уровнем пыльцы, а не области с низким уровнем пыльцы.
Агрегация : Объединение похожих предложений для улучшения читаемости и естественности. Например, объединение двух следующих предложений:
в следующее одно предложение:
Лексический выбор : добавление слов к концепциям. Например, решение о том, следует ли использовать средний или умеренный при описании уровня пыльцы 4.
Генерация референтных выражений : создание референтных выражений , которые идентифицируют объекты и регионы. Например, решение использовать на Северных островах и далеко на северо-востоке материковой Шотландии для обозначения определенного региона в Шотландии. Эта задача также включает принятие решений о местоимениях и других типах анафоры .
Реализация : Создание фактического текста, который должен быть правильным в соответствии с правилами синтаксиса , морфологии и орфографии . Например, использование will be для будущего времени to be .
Альтернативный подход к NLG заключается в использовании «сквозного» машинного обучения для построения системы, без отдельных этапов, как указано выше. [10] Другими словами, мы строим систему NLG, обучая алгоритм машинного обучения (часто LSTM ) на большом наборе входных данных и соответствующих (написанных человеком) выходных текстов. Сквозной подход, возможно, оказался наиболее успешным в подписях к изображениям , [11] который автоматически генерирует текстовую подпись для изображения.
С коммерческой точки зрения наиболее успешными приложениями NLG были системы преобразования данных в текст , которые генерируют текстовые резюме баз данных и наборов данных; эти системы обычно выполняют анализ данных , а также генерацию текста. Исследования показали, что текстовые резюме могут быть более эффективными, чем графики и другие визуальные средства для поддержки принятия решений, [12] [13] [14] и что тексты, сгенерированные компьютером, могут превосходить (с точки зрения читателя) тексты, написанные человеком. [15]
Первые коммерческие системы преобразования данных в текст производили прогнозы погоды на основе метеорологических данных. Самой ранней из таких систем была FoG, [3] которая использовалась Environment Canada для создания прогнозов погоды на французском и английском языках в начале 1990-х годов. Успех FoG положил начало другим работам, как исследовательским, так и коммерческим. Среди последних приложений — текстовый прогноз UK Met Office . [16]
С тех пор системы преобразования данных в текст применялись в различных условиях. После небольшого землетрясения около Беверли-Хиллз, Калифорния, 17 марта 2014 года газета Los Angeles Times сообщила подробности о времени, месте и силе землетрясения в течение 3 минут после события. Этот отчет был автоматически сгенерирован «робожурналистом», который преобразовал входящие данные в текст с помощью предустановленного шаблона. [17] [18] В настоящее время существует значительный коммерческий интерес к использованию NLG для обобщения финансовых и деловых данных. Действительно, Gartner заявила, что NLG станет стандартной функцией 90% современных платформ бизнес-анализа и аналитики. [19] NLG также используется в коммерческих целях в автоматизированной журналистике , чат-ботах , создании описаний продуктов для сайтов электронной коммерции, обобщении медицинских записей, [20] [4] и улучшении доступности (например, путем описания графиков и наборов данных для слепых людей [21] ).
Примером интерактивного использования NLG является фреймворк WYSIWYM . Он означает « То, что вы видите, это то, что вы имели в виду» и позволяет пользователям видеть и манипулировать непрерывно визуализированным представлением (выход NLG) базового формального языкового документа (вход NLG), тем самым редактируя формальный язык без его изучения.
Заглядывая вперед, текущий прогресс в генерации данных в текст прокладывает путь для адаптации текстов к конкретной аудитории. Например, данные от младенцев в неонатальном уходе могут быть преобразованы в текст по-разному в клинических условиях, с разными уровнями технической детализации и пояснительного языка, в зависимости от предполагаемого получателя текста (врач, медсестра, пациент). Та же идея может быть применена в спортивной обстановке, с различными отчетами, созданными для фанатов определенных команд. [22]
За последние несколько лет возрос интерес к автоматическому созданию подписей к изображениям в рамках более широких усилий по исследованию интерфейса между зрением и языком. Случай генерации данных в текст, алгоритм создания подписей к изображениям (или автоматического описания изображений) включает в себя получение изображения, анализ его визуального содержания и создание текстового описания (обычно предложения), которое вербализует наиболее важные аспекты изображения.
Система субтитров изображений включает в себя две подзадачи. В анализе изображений обнаруживаются и маркируются признаки и атрибуты изображения, прежде чем сопоставлять эти выходные данные с лингвистическими структурами. Недавние исследования используют подходы глубокого обучения с помощью признаков из предварительно обученной сверточной нейронной сети, такой как AlexNet, VGG или Caffe, где генераторы субтитров используют слой активации из предварительно обученной сети в качестве своих входных признаков. Генерация текста, вторая задача, выполняется с использованием широкого спектра методов. Например, в системе Midge входные изображения представлены в виде троек, состоящих из обнаружений объектов/вещей, обнаружений действий/ поз и пространственных отношений. Они впоследствии сопоставляются с тройками <существительное, глагол, предлог> и реализуются с использованием грамматики подстановки дерева. [22]
Несмотря на достижения, в исследованиях по захвату изображений остаются проблемы и возможности. Несмотря на недавнее появление Flickr30K, MS COCO и других крупных наборов данных, которые позволили обучить более сложные модели, такие как нейронные сети, утверждается, что исследования в области подписей к изображениям могут выиграть от более крупных и разнообразных наборов данных. Разработка автоматических мер, которые могут имитировать человеческие суждения при оценке пригодности описаний изображений, является еще одной потребностью в этой области. Другие открытые проблемы включают визуальные вопросы и ответы (VQA), [23] , а также создание и оценка многоязычных репозиториев для описания изображений. [22]
Другая область, где NLG широко применяется, — это автоматизированные диалоговые системы, часто в форме чат-ботов. Чат-бот или чаттербот — это программное приложение, используемое для ведения онлайн-чата с помощью текста или преобразования текста в речь , вместо обеспечения прямого контакта с живым человеком-агентом. В то время как методы обработки естественного языка (NLP) применяются для расшифровки ввода человека, NLG информирует выходную часть алгоритмов чат-бота, способствуя диалогам в реальном времени.
Ранние системы чат-ботов, включая Cleverbot , созданный Ролло Карпентером в 1988 году и опубликованный в 1997 году, [ требуется ссылка ] отвечают на вопросы, определяя, как человек ответил на тот же вопрос в базе данных разговоров, используя методы информационного поиска (ИИ). [ требуется ссылка ] Современные системы чат-ботов в основном полагаются на модели машинного обучения (МО), такие как последовательное обучение и обучение с подкреплением, для генерации вывода на естественном языке. Гибридные модели также были исследованы. Например, помощник по покупкам Alibaba сначала использует подход ИИ для извлечения лучших кандидатов из базы знаний, затем использует модель seq2seq на основе ИИ для повторного ранжирования ответов кандидатов и генерации ответа. [24]
Гипотеза о творческой генерации языка с помощью NLG выдвигалась с момента зарождения этой области. Недавним пионером в этой области стал Филлип Паркер, который разработал целый арсенал алгоритмов, способных автоматически генерировать учебники, кроссворды, поэмы и книги по темам от переплета до катаракты. [25] Появление больших предварительно обученных языковых моделей на основе трансформаторов, таких как GPT-3, также позволило добиться прорывов, поскольку такие модели продемонстрировали узнаваемую способность к созданию и написанию задач. [26]
Связанной областью применения NLG является вычислительное производство юмора. JAPE (Joke Analysis and Production Engine) — одна из самых ранних крупных автоматизированных систем производства юмора, которая использует подход на основе шаблонов, закодированных вручную, для создания каламбурных загадок для детей. HAHAcronym создает юмористические переосмысления любого заданного акронима, а также предлагает новые подходящие акронимы по некоторым ключевым словам. [27]
Несмотря на прогресс, остается много проблем в создании автоматизированного творческого и юмористического контента, который мог бы конкурировать с человеческим продуктом. В эксперименте по созданию сатирических заголовков результаты их лучшей модели на основе BERT были восприняты как смешные в 9,4% случаев (в то время как реальные заголовки из The Onion были в 38,4%), а модель GPT-2, настроенная на сатирические заголовки, достигла 6,9%. [28] Было отмечено, что две основные проблемы с системами генерации юмора — это отсутствие аннотированных наборов данных и отсутствие формальных методов оценки, [27] которые могли бы быть применимы к созданию другого творческого контента. Некоторые утверждают, что в отношении других приложений наблюдается недостаток внимания к творческим аспектам производства языка в NLG. Исследователи NLG могут извлечь выгоду из понимания того, что представляет собой творческое производство языка, а также структурных особенностей повествования, которые могут улучшить вывод NLG даже в системах преобразования данных в текст. [22]
Как и в других научных областях, исследователям NLG необходимо проверить, насколько хорошо работают их системы, модули и алгоритмы. Это называется оценкой . Существует три основных метода оценки систем NLG:
Конечная цель — насколько полезны системы NLG для помощи людям, что является первым из вышеперечисленных методов. Однако оценки на основе задач требуют много времени и затрат, и их может быть сложно проводить (особенно если для этого требуются субъекты со специальными знаниями, например врачи). Поэтому (как и в других областях NLP) оценки на основе задач являются исключением, а не нормой.
Недавно исследователи оценивают, насколько хорошо человеческие оценки и метрики коррелируют с (предсказывают) оценками на основе задач. Работа проводится в контексте событий с общими задачами Generation Challenges [29] . Первоначальные результаты показывают, что человеческие оценки намного лучше метрик в этом отношении. Другими словами, человеческие оценки обычно предсказывают эффективность задач, по крайней мере, в некоторой степени (хотя есть исключения), в то время как оценки, полученные с помощью метрик, часто не предсказывают эффективность задач. Эти результаты являются предварительными. В любом случае, человеческие оценки являются наиболее популярным методом оценки в NLG; в этом отличие от машинного перевода , где метрики широко используются.
ИИ можно оценить по верности его тренировочным данным или, альтернативно, по фактичности . Ответ, который отражает тренировочные данные, но не реальность, является верным, но не фактическим. Уверенный, но неверный ответ — это галлюцинация . В обработке естественного языка галлюцинация часто определяется как «сгенерированный контент, который бессмыслен или неверен предоставленному исходному контенту». [30]
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )