Loading AI tools
Из Википедии, свободной энциклопедии
Понимание естественного языка (NLU) или интерпретация естественного языка (NLI)[1] — подраздел обработки естественного языка в искусственном интеллекте, который имеет дело с машинным пониманием текста. Понимание естественного языка является AI-полной задачей[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].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.