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