Понимание естественного языка ( NLU ) или интерпретация естественного языка ( NLI ) [1] — это подмножество обработки естественного языка в искусственном интеллекте , которое занимается машинным пониманием чтения . NLU считается сложной для ИИ проблемой. [2]
Данная область представляет значительный коммерческий интерес из-за ее применения в автоматизированном рассуждении , [3] машинном переводе , [4] ответах на вопросы , [5] сборе новостей, категоризации текстов , голосовой активации , архивировании и крупномасштабном анализе контента .
Программа STUDENT , написанная в 1964 году Дэниелом Бобровым для его докторской диссертации в Массачусетском технологическом институте , является одной из самых ранних известных попыток создания естественного языка с помощью компьютера. [6] [7] [8] [9] [10] Спустя восемь лет после того, как Джон Маккарти ввел термин «искусственный интеллект» , диссертация Боброва (под названием « Ввод данных на естественном языке для системы решения компьютерных задач» ) показала, как компьютер может понимать простой ввод данных на естественном языке для решения текстовых алгебраических задач.
Год спустя, в 1965 году, Джозеф Вайценбаум из Массачусетского технологического института написал ELIZA , интерактивную программу, которая поддерживала диалог на английском языке на любую тему, самой популярной из которых была психотерапия. ELIZA работала путем простого разбора и замены ключевых слов в заготовленных фразах, и Вайценбаум обошел проблему предоставления программе базы данных реальных знаний или богатого лексикона . Тем не менее, ELIZA приобрела удивительную популярность как игрушечный проект и может рассматриваться как очень ранний предшественник современных коммерческих систем, таких как те, которые используются Ask.com . [11]
В 1969 году Роджер Шенк из Стэнфордского университета представил концептуальную теорию зависимости для NLU. [12] Эта модель, частично созданная под влиянием работ Сидни Лэмба , широко использовалась студентами Шенка в Йельском университете , такими как Роберт Виленски , Венди Ленерт и Джанет Колоднер .
В 1970 году Уильям А. Вудс представил расширенную сеть переходов (ATN) для представления ввода на естественном языке. [13] Вместо правил структуры фраз ATN использовали эквивалентный набор конечных автоматов , которые вызывались рекурсивно. ATN и их более общий формат, называемый «обобщенными ATN», продолжали использоваться в течение ряда лет.
В 1971 году Терри Виноград закончил писать SHRDLU для своей докторской диссертации в Массачусетском технологическом институте. SHRDLU мог понимать простые английские предложения в ограниченном мире детских кубиков, чтобы направлять роботизированную руку для перемещения предметов. Успешная демонстрация SHRDLU дала значительный импульс для дальнейших исследований в этой области. [14] [15] Виноград продолжал оказывать большое влияние в этой области, опубликовав свою книгу « Язык как когнитивный процесс» . [16] В Стэнфорде Виноград позже консультировал Ларри Пейджа , который стал соучредителем Google .
В 1970-х и 1980-х годах группа обработки естественного языка в SRI International продолжила исследования и разработки в этой области. Было предпринято несколько коммерческих усилий, основанных на исследованиях, например , в 1982 году Гэри Хендрикс основал Symantec Corporation, изначально как компанию по разработке интерфейса естественного языка для запросов к базам данных на персональных компьютерах. Однако с появлением графических пользовательских интерфейсов , управляемых мышью , Symantec изменила направление. Примерно в то же время было начато несколько других коммерческих усилий, например , Ларри Р. Харрис в Artificial Intelligence Corporation и Роджер Шэнк и его студенты в Cognitive Systems Corp. [17] [18] В 1983 году Майкл Дайер разработал систему BORIS в Йельском университете, которая имела сходство с работой Роджера Шэнка и WG Lehnert. [19]
Третье тысячелетие ознаменовалось введением систем, использующих машинное обучение для классификации текстов, таких как IBM Watson . Однако эксперты спорят о том, насколько «понимание» демонстрируют такие системы: например , по словам Джона Сирла , Watson даже не понимал вопросов. [20]
Джон Болл , когнитивный ученый и изобретатель теории Патома , поддерживает эту оценку. Обработка естественного языка проникла в приложения, поддерживающие производительность человека в сфере услуг и электронной коммерции, но это во многом стало возможным благодаря сужению сферы применения. Существуют тысячи способов запросить что-либо на человеческом языке, что все еще бросает вызов традиционной обработке естественного языка. [ необходима цитата ] По словам Вибе Вагеманса, «вести осмысленный разговор с машинами возможно только тогда, когда мы сопоставляем каждое слово с правильным значением, основываясь на значениях других слов в предложении — так же, как это делает 3-летний ребенок без догадок». [21]
Зонтичный термин «понимание естественного языка» может применяться к разнообразному набору компьютерных приложений, начиная от небольших, относительно простых задач, таких как короткие команды, отдаваемые роботам , до очень сложных начинаний, таких как полное понимание газетных статей или поэтических отрывков. Многие реальные приложения находятся между двумя крайностями, например, классификация текста для автоматического анализа электронных писем и их маршрутизация в подходящий отдел корпорации не требует глубокого понимания текста, [22], но должна иметь дело с гораздо большим словарным запасом и более разнообразным синтаксисом, чем управление простыми запросами к таблицам базы данных с фиксированными схемами.
На протяжении многих лет предпринимались различные попытки обработки естественного языка или предложений, похожих на английский , представленных компьютерам, с различной степенью сложности. Некоторые попытки не привели к созданию систем с глубоким пониманием, но помогли повысить общую юзабилити системы. Например, Уэйн Рэтлифф изначально разработал программу Vulcan с синтаксисом, похожим на английский, чтобы имитировать англоговорящий компьютер в «Звездном пути» . Позже Vulcan стала системой dBase , чей простой в использовании синтаксис эффективно запустил индустрию баз данных персональных компьютеров. [23] [24] Однако системы с простым в использовании или похожим на английский синтаксисом существенно отличаются от систем, которые используют богатый словарь и включают внутреннее представление (часто как логику первого порядка ) семантики предложений естественного языка.
Следовательно, широта и глубина «понимания», на которое нацелена система, определяют как сложность системы (и подразумеваемые проблемы), так и типы приложений, с которыми она может иметь дело. «Широта» системы измеряется размерами ее словарного запаса и грамматики. «Глубина» измеряется степенью, в которой ее понимание приближается к пониманию бегло говорящего носителя языка. В самом узком и поверхностном варианте англоподобные командные интерпретаторы требуют минимальной сложности, но имеют небольшой диапазон приложений. Узкие, но глубокие системы исследуют и моделируют механизмы понимания, [25] но они все еще имеют ограниченное применение. Системы, которые пытаются понять содержание документа, такого как пресс-релиз, за пределами простого сопоставления ключевых слов и оценить его пригодность для пользователя, являются более широкими и требуют значительной сложности, [26] но они все еще несколько поверхностны. Системы, которые одновременно являются и очень широкими, и очень глубокими, выходят за рамки текущего состояния дел.
Независимо от используемого подхода, большинство систем NLU имеют некоторые общие компоненты. Системе нужен лексикон языка, а также парсер и правила грамматики для разбиения предложений на внутреннее представление. Создание богатого лексикона с подходящей онтологией требует значительных усилий, например , лексикон Wordnet потребовал многих человеко-лет усилий. [27]
Системе также нужна теория из семантики для руководства пониманием. Возможности интерпретации системы понимания языка зависят от семантической теории, которую она использует. Конкурирующие семантические теории языка имеют определенные компромиссы в своей пригодности в качестве основы для автоматизированной компьютерной семантической интерпретации. [28] Они варьируются от наивной семантики или стохастического семантического анализа до использования прагматики для извлечения смысла из контекста. [29] [30] [31] Семантические анализаторы преобразуют тексты на естественном языке в формальные представления смысла. [32]
Расширенные приложения NLU также пытаются включить логический вывод в свою структуру. Обычно это достигается путем отображения полученного значения в набор утверждений в предикатной логике , а затем использования логического вывода для получения выводов. Поэтому системы, основанные на функциональных языках, таких как Lisp, должны включать подсистему для представления логических утверждений, в то время как логико-ориентированные системы, такие как те, которые используют язык Prolog, обычно полагаются на расширение встроенной логической структуры представления. [33] [34]
Управление контекстом в NLU может представлять особые проблемы. Большое разнообразие примеров и контрпримеров привело к появлению множества подходов к формальному моделированию контекста, каждый из которых имеет свои сильные и слабые стороны. [35] [36]