Понимание естественного языка

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Понимание естественного языка (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].

См. также[править | править код]

Примечания[править | править код]

  1. Semaan, P. (2012). Natural Language Generation: An Overview Архивная копия от 4 июля 2019 на Wayback Machine. Journal of Computer Science & Research (JCSCR)-ISSN, 50-57
  2. Roman V. Yampolskiy. Turing Test as a Defining Feature of AI-Completeness. In Artificial Intelligence, Evolutionary Computation and Metaheuristics (AIECM) --In the footsteps of Alan Turing. Xin-She Yang (Ed.). pp. 3-17. (Chapter 1). Springer, London. 2013. http://cecs.louisville.edu/ry/TuringTestasaDefiningFeature04270003.pdf Архивная копия от 22 мая 2013 на Wayback Machine
  3. Van Harmelen, Frank, Vladimir Lifschitz, and Bruce Porter, eds. Handbook of knowledge representation Архивная копия от 6 июня 2021 на Wayback Machine. Vol. 1. Elsevier, 2008.
  4. Macherey, Klaus, Franz Josef Och, and Hermann Ney. «Natural language understanding using statistical machine translation Архивная копия от 2 декабря 2018 на Wayback Machine.» Seventh European Conference on Speech Communication and Technology. 2001.
  5. Hirschman, Lynette, and Robert Gaizauskas. «Natural language question answering: the view from here Архивная копия от 27 октября 2018 на Wayback Machine.» natural language engineering 7.4 (2001): 275—300.
  6. American Association for Artificial Intelligence Brief History of AI
  7. Daniel Bobrow's PhD Thesis Natural Language Input for a Computer Problem Solving System.
  8. Machines who think by Pamela McCorduck 2004 ISBN 1-56881-205-1 page 286
  9. Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach Prentice Hall, ISBN 0-13-790395-2, http://aima.cs.berkeley.edu/ Архивная копия от 28 февраля 2011 на Wayback Machine, p. 19
  10. Computer Science Logo Style: Beyond programming by Brian Harvey 1997 ISBN 0-262-58150-7 page 278
  11. Weizenbaum, Joseph (1976). Computer power and human reason: from judgment to calculation W. H. Freeman and Company. ISBN 0-7167-0463-3 pages 188—189
  12. Roger Schank, 1969, A conceptual dependency parser for natural language Proceedings of the 1969 conference on Computational linguistics, Sång-Säby, Sweden, pages 1-3
  13. Woods, William A (1970). «Transition Network Grammars for Natural Language Analysis». Communications of the ACM 13 (10): 591—606
  14. Artificial intelligence: critical concepts, Volume 1 by Ronald Chrisley, Sander Begeer 2000 ISBN 0-415-19332-X page 89
  15. Terry Winograd’s SHRDLU page at Stanford SHRDLU Архивная копия от 17 августа 2020 на Wayback Machine
  16. Winograd, Terry (1983), Language as a Cognitive Process, Addison-Wesley, Reading, MA.
  17. Larry R. Harris, Research at the Artificial Intelligence corp. ACM SIGART Bulletin, issue 79, January 1982
  18. Inside case-based reasoning by Christopher K. Riesbeck, Roger C. Schank 1989 ISBN 0-89859-767-6 page xiii
  19. In Depth Understanding: A Model of Integrated Process for Narrative Comprehension.. Michael G. Dyer. MIT Press. ISBN 0-262-04073-5
  20. Searle, John (2011-02-23). "Watson Doesn't Know It Won on 'Jeopardy!'". Wall Street Journal (англ.). Архивировано 10 ноября 2021. Дата обращения: 16 июня 2022.
  21. Источник (англ.). Дата обращения: 16 июня 2022. Архивировано 5 июля 2022 года.
  22. An approach to hierarchical email categorization by Peifeng Li et al. in Natural language processing and information systems edited by Zoubida Kedad, Nadira Lammari 2007 ISBN 3-540-73350-7
  23. InfoWorld, Nov 13, 1989, page 144
  24. InfoWorld, April 19, 1984, page 71
  25. Building Working Models of Full Natural-Language Understanding in Limited Pragmatic Domains by James Mason 2010
  26. Mining the Web: discovering knowledge from hypertext data by Soumen Chakrabarti 2002 ISBN 1-55860-754-4 page 289
  27. G. A. Miller, R. Beckwith, C. D. Fellbaum, D. Gross, K. Miller. 1990. WordNet: An online lexical database. Int. J. Lexicograph. 3, 4, pp. 235—244.
  28. Using computers in linguistics: a practical guide by John Lawler, Helen Aristar Dry 198 ISBN 0-415-16792-2 page 209
  29. Naive semantics for natural language understanding by Kathleen Dahlgren 1988 ISBN 0-89838-287-4
  30. Stochastically-based semantic analysis by Wolfgang Minker, Alex Waibel, Joseph Mariani 1999 ISBN 0-7923-8571-3
  31. Pragmatics and natural language understanding by Georgia M. Green 1996 ISBN 0-8058-2166-X
  32. Wong, Yuk Wah, and Raymond J. Mooney. «Learning for semantic parsing with statistical machine translation Архивная копия от 3 июня 2021 на Wayback Machine.» Proceedings of the main conference on Human Language Technology Conference of the North American Chapter of the Association of Computational Linguistics. Association for Computational Linguistics, 2006.
  33. Natural Language Processing Prolog Programmers by M. Covington, 1994 ISBN 0-13-629478-2
  34. Natural language processing in Prolog by Gerald Gazdar, Christopher S. Mellish 1989 ISBN 0-201-18053-7
  35. Understanding language understanding by Ashwin Ram, Kenneth Moorman 1999 ISBN 0-262-18192-4 page 111
  36. Formal aspects of context by Pierre Bonzon et al 2000 ISBN 0-7923-6350-7
  37. Programming with Natural Language Is Actually Going to Work—Wolfram Blog (англ.). Дата обращения: 16 июня 2022. Архивировано 2 февраля 2014 года.
  38. Van Valin, Jr. From NLP to NLU (англ.). Дата обращения: 16 июня 2022. Архивировано 15 мая 2021 года.
  39. Ball. multi-lingual NLU by Pat Inc (англ.). Pat.ai. Дата обращения: 16 июня 2022. Архивировано 3 июня 2021 года.