Введение
Подтема обработки естественного языка в искусственном интеллекте
Понимание естественного языка (NLU) или интерпретация естественного языка (NLI) — это раздел обработки естественного языка в искусственном интеллекте, занимающийся машинным пониманием прочитанного. Понимание естественного языка считается одной из сложнейших задач в области ИИ. Эта область вызывает значительный коммерческий интерес благодаря применению в автоматизированном логическом выводе, машинном переводе, системах ответов на вопросы, сборе новостей, категоризации текстов, голосовой активации, архивировании и масштабном анализе контента.
История
Программа STUDENT, написанная в 1964 году Дэниелом Боброу для его докторской диссертации в MIT, является одной из самых ранних известных попыток понимания естественного языка компьютером. Спустя восемь лет после того, как Джон Маккарти ввел термин «искусственный интеллект», диссертация Боброу (под названием «Ввод естественного языка для системы решения компьютерных задач») показала, как компьютер может понимать простой ввод на естественном языке для решения текстовых алгебраических задач. Год спустя, в 1965 году, Джозеф Вайзенбаум из MIT создал ELIZA, интерактивную программу, которая вела диалог на английском языке на любую тему, наиболее популярной из которых была психотерапия. ELIZA работала посредством простого синтаксического анализа и замены ключевых слов на заготовленные фразы, и Вайзенбаум избежал проблемы предоставления программе базы данных знаний о реальном мире или богатого лексикона. Тем не менее, ELIZA приобрела неожиданную популярность как развлекательный проект и может рассматриваться как очень ранний предшественник современных коммерческих систем, таких как используемые Ask.com. В 1969 году Роджер Шенк из Стэнфордского университета представил теорию концептуальной зависимости для понимания естественного языка. Эта модель, частично вдохновленная работами Сиднея Лэмба, широко использовалась студентами Шенка в Йельском университете, такими как Роберт Виленски, Венди Лехнерт и Джанет Колондер. В 1970 году Уильям А. Вудс представил сеть расширенного перехода (ATN) для представления ввода на естественном языке. Вместо правил порождения фраз ATN использовали эквивалентный набор конечных автоматов, вызываемых рекурсивно. ATN и их более общая форма, называемая «обобщенными ATN», продолжали использоваться в течение нескольких лет. В 1971 году Терри Виноград завершил разработку SHRDLU для своей докторской диссертации в MIT. SHRDLU мог понимать простые английские предложения в ограниченном мире детских кубиков, чтобы управлять роботизированной рукой для перемещения предметов. Успешная демонстрация SHRDLU придала значительный импульс дальнейшим исследованиям в этой области. Виноград продолжал оказывать значительное влияние на эту область, опубликовав свою книгу «Язык как когнитивный процесс». В Стэнфорде Виноград позже стал научным руководителем Ларри Пейджа, который впоследствии стал сооснователем Google. В 1970-х и 1980-х годах группа обработки естественного языка в SRI International продолжала исследования и разработки в этой области. Было предпринято несколько коммерческих проектов, основанных на этих исследованиях, например, в 1982 году Гэри Хендрикс основал Symantec Corporation, изначально как компанию, занимающуюся разработкой интерфейса на естественном языке для запросов к базам данных на персональных компьютерах. Однако с появлением графических пользовательских интерфейсов, управляемых мышью, Symantec изменил свою специализацию. Примерно в то же время были начаты и другие коммерческие проекты, например, Ларри Р. Харрис в Artificial Intelligence Corporation и Роджер Шенк и его студенты в Cognitive Systems Corp. В 1983 году Майкл Дайер разработал систему BORIS в Йельском университете, которая имела сходство с работами Роджера Шенка и В. Г. Лехнерт. В третьем тысячелетии появились системы, использующие машинное обучение для классификации текста, такие как IBM Watson. Однако эксперты спорят о том, насколько «понимание» демонстрируют такие системы: например, по мнению Джона Серла, Watson даже не понимал вопросы. Джон Болл, когнитивный ученый и изобретатель теории Патома, поддерживает эту точку зрения. Обработка естественного языка нашла применение для поддержки производительности труда в сфере услуг и электронной коммерции, но это во многом стало возможным благодаря сужению области применения. Существуют тысячи способов сформулировать запрос на человеческом языке, которые по-прежнему представляют сложность для традиционной обработки естественного языка. По словам Вибе Вагеманса, «Значимый разговор с машинами возможен только тогда, когда мы сопоставляем каждое слово с правильным значением, основываясь на значениях других слов в предложении, – так, как это делает трехлетний ребенок, не прибегая к догадкам».
Область применения и контекст
Общий термин "понимание естественного языка" может применяться к разнообразным компьютерным приложениям, начиная от небольших, относительно простых задач, таких как короткие команды, отдаваемые роботам, до очень сложных задач, таких как полное понимание газетных статей или поэтических отрывков. Многие реальные приложения занимают промежуточное положение: например, классификация текста для автоматического анализа электронных писем и их маршрутизация в соответствующий отдел в корпорации не требует глубокого понимания текста, но должна справляться с гораздо более обширным словарным запасом и более разнообразным синтаксисом, чем обработка простых запросов к таблицам баз данных с фиксированной схемой. На протяжении многих лет предпринимались различные попытки обработки естественного языка или предложений, подобных английским, для компьютеров, с разной степенью сложности. Некоторые из этих попыток не привели к созданию систем с глубоким пониманием, но способствовали повышению удобства использования систем в целом. Например, Уэйн Ратлифф изначально разработал программу Vulcan с синтаксисом, напоминающим английский, чтобы имитировать компьютер, говорящий на английском языке, из сериала "Звёздный путь". Vulcan позже стала системой dBase, простой в использовании синтаксис которой фактически запустил индустрию персональных компьютерных баз данных. Однако системы с простым в использовании или английским синтаксисом существенно отличаются от систем, использующих богатый лексикон и включающих внутреннее представление (часто в виде логики первого порядка) семантики предложений естественного языка. Таким образом, широта и глубина "понимания", к которым стремится система, определяют как сложность системы (и связанные с ней задачи), так и типы приложений, с которыми она может работать. "Широта" системы измеряется размером её словарного запаса и грамматики. "Глубина" понимания измеряется тем, насколько оно приближается к пониманию носителя языка. В самом узком и поверхностном варианте, интерпретаторы команд, подобных английским, требуют минимальной сложности, но имеют ограниченный спектр применения. Узкие, но глубокие системы исследуют и моделируют механизмы понимания, но их применение все еще ограничено. Системы, которые пытаются понять содержание документа, например пресс-релиза, за пределами простого сопоставления ключевых слов и оценить его соответствие потребностям пользователя, более широки и требуют значительной сложности, но все еще остаются несколько поверхностными. Системы, которые одновременно очень широки и очень глубоки, превосходят современный уровень развития технологий.
Компоненты и архитектура
Независимо от используемого подхода, большинство систем понимания естественного языка имеют общие компоненты. Системе необходим лексикон языка, а также парсер и грамматические правила для разбора предложений и приведения их к внутреннему представлению. Создание богатого лексикона с подходящей онтологией требует значительных усилий, например, для создания лексикона WordNet потребовались годы работы. Системе также необходима семантическая теория для обеспечения понимания. Способность системы понимать язык зависит от используемой семантической теории. Различные семантические теории языка имеют свои преимущества и недостатки при использовании в качестве основы для автоматизированной компьютерной семантической интерпретации. Они варьируются от наивной семантики и стохастического семантического анализа до использования прагматики для вывода смысла из контекста. Семантические парсеры преобразуют тексты на естественном языке в формальные представления смысла. В передовых приложениях понимания естественного языка также предпринимаются попытки включить логический вывод в их структуру. Обычно это достигается путем сопоставления полученного смысла с набором утверждений в предикатной логике, а затем использования логической дедукции для получения заключений. Следовательно, системы, основанные на функциональных языках, таких как Lisp, должны включать подсистему для представления логических утверждений, в то время как системы, ориентированные на логику, такие как те, которые используют язык Prolog, обычно полагаются на расширение встроенной системы логического представления. Управление контекстом в понимании естественного языка может представлять собой особые трудности. Большое количество примеров и контрпримеров привело к разработке множества подходов к формальному моделированию контекста, каждый из которых имеет свои сильные и слабые стороны.