Розуміння природної мови
Розумі́ння приро́дної мо́ви, РПМ[1] (англ. natural-language understanding, NLU) або інтерпретува́ння приро́дної мо́ви (англ. natural-language interpretation, NLI)[2] — підтема обробки природної мови у штучнім інтелекті, що займається машинним розумінням прочитаного[en]. Розуміння природної мови вважають AI-повною задачею.[3]
Розуміння природної мови отримує значну комерційну увагу завдяки його застосуванням в автоматизованому міркуванні,[4] машинному перекладі,[5] питально-відповідних системах,[6] збиранні новин, категоризуванні текстів, голосовому активуванні, архівуванні та великомасштабному змістовому аналізі.
Програма STUDENT[en], написана 1964 року Деніелом Бобровим для докторської дисертації у МТІ, є однією з найперших відомих спроб розуміння природної мови за допомогою комп'ютера.[7][8][9][10][11] Через вісім років після того, як Джон Маккарті запровадив термін «штучний інтелект», дисертація Боброва (під назвою «Введення даних природною мовою для комп'ютерної системи розв'язування задач») показала, як комп'ютер може розуміти прості дані природною мовою для розв'язування алгебричної задачі.
Через рік, 1965 року, Джозеф Вейценбаум з МТІ написав ELIZA — інтерактивну програму, яка вела діалог англійською на будь-яку тему, найпопулярнішою з яких була психотерапія. ELIZA працювала шляхом простого синтаксичного аналізу та заміни ключових слів на підготовані фрази, і Вайценбаум обійшов проблему надання програмі бази даних реальних знань та багатого лексикону. Проте ELIZA отримала дивовижну популярність як іграшковий проєкт, і її можливо розглядати як дуже ранню попередницю сучасних комерційних систем, на кшталт тих, що використовує Ask.com.[12]
1969 року Роджер Скенк[en] зі Стенфордського університету представив теорію поняттєвої залежності[en] для розуміння природної мови.[13] Цю модель, частково під впливом роботи Сіднея Лемба[en], широко використовували студенти Скенка з Єльського університету, такі як Роберт Віленський[en], Венді Ленерт[en] та Джанет Колоднер[en]].
1970 року Вільям А. Вудс[en] представив розширену мережу переходів[en] (ATN) для подання природномовного вводу.[14] Замість правил фразової структури[en] ATN використовували еквівалентний набір скінченних автоматів, які викликали рекурсивно. ATN та їхній загальніший формат, що називають «узагальненою ATN», продовжували використовуватися протягом низки років.
1971 року Террі Виноград завершив написання SHRDLU для своєї докторської дисертації в МТІ. SHRDLU може розуміти прості англійські речення в обмеженому світі дитячих блоків, щоби спрямовувати роботизовану руку для переміщення предметів. Успішна демонстрація SHRDLU забезпечила значний імпульс для продовження досліджень у цій галузі.[15][16] Виноград продовжував мати великий вплив у цій галузі після публікації його книги «Мова як пізнавальний процес».[17] Пізніше в Стенфорді Виноград стане радником Ларрі Пейджа, який став співзасновником Google.
У 1970-х та 1980-х роках група з обробки природних мов в SRI International продовжувала дослідження та розробки в цій галузі. На основі цих досліджень було здійснено ряд комерційних проєктів, наприклад, 1982 року Ґері Гендрікс створив корпорацію Symantec, первинно як компанію для розробки природномовного інтерфейсу для запитів до баз даних на персональних комп'ютерах. Проте із появою керованих мишею графічних інтерфейсів користувача Symantec змінила напрямок. Приблизно в той же час було започатковано й низку інших комерційних проєктів, наприклад, Ларрі Р. Гаррісом з Artificial Intelligence Corporation, Роджером Скенком та його студентами з корпорації Cognitive Systems.[18][19] 1983 року Майкл Даєр розробив у Єлі систему BORIS, яка мала схожість з роботами Роджера Скенка та В. Ґ. Ленерта.[20]
Третє тисячоліття побачило впровадження систем, що використовують машинне навчання для класифікування тексту, таких як IBM Watson. Однак тривають дискусії щодо, скільки «розуміння» демонструють такі системи, наприклад, за словами Джона Серля, Ватсон навіть не розумів питань.[21]
Джон Болл, когнітивіст[en] і винахідник теорії Патома[en] підтримує цю оцінку. Опрацювання природної мови зробило прорив для підтримки продуктивності людини в сфері обслуговування та електронної комерції, але це стало в основному можливим завдяки звуженню сфери його застосування. Існують тисячі способів запитати щось людською мовою, які не відповідають традиційній обробці природної мови. «Вести змістовну розмову з машинами можливо лише тоді, коли ми поєднуємо кожне слово з правильним значенням, виходячи зі значень інших слів у реченні — так само, як це робить 3-річна дитина без здогадок» Теорія Патома [Архівовано 15 травня 2021 у Wayback Machine.]
Загальний термін «розуміння природної мови» можуть застосовувати до різноманітного набору комп'ютерних застосунків, починаючи від невеликих, відносно простих задач, таких як короткі команди, що видаються роботам, і закінчуючи дуже складними, такими як повне розуміння газетних статей або віршованих уривків. Багато реальних застосувань знаходяться між двома крайнощами, наприклад, класифікування текстів для автоматичного аналізу електронних листів та їх направлення до відповідного відділу корпорації не вимагає глибокого розуміння тексту,[22] але має справу з набагато більшим словниковим запасом і різноманітнішим синтаксисом, ніж управління простими запитами до таблиць баз даних із фіксованими схемами.
Протягом багатьох років мали місце різні спроби обробки природномовних або англомовоподібних речень, поданих на комп'ютери, з різним ступенем складності. Деякі спроби не призвели до систем із глибоким розумінням, але допомогли загальній зручності користування такими системами. Наприклад, Вейн Ратліфф[en] спочатку розробив програму Vulcan з англомовоподібним синтаксисом, щоб імітувати англомовний комп'ютер у Зоряному шляху. Пізніше Vulcan стала системою dBase[en], чий простий у використанні синтаксис із користю започаткував індустрію баз даних персональних комп'ютерів.[23][24] Проте системи з простим у користуванні або англомовоподібним синтаксисом цілком відрізняються від систем, що використовують багатий лексикон і включають внутрішнє представлення (часто як логіку першого порядку) семантики речень природної мови.
Тож широта і глибина «розуміння», на які націлено систему, визначають як складність системи (й очікувані виклики), так і типи застосувань, з якими вона може мати справу. «Широта» системи вимірюється розмірами її словникового запасу та граматики. «Глибина» вимірюється ступенем того, наскільки її розуміння наближається до розуміння вільного носія мови. На найвужчому та найнеглибшому рівні, інтерпретатори англомовоподібних команд потребують мінімальної складності, але вони мають невеликий спектр застосувань. Вузькі, але глибокі системи досліджують і моделюють механізми розуміння,[25] але вони все ще мають обмежене застосування. Системи, які намагаються зрозуміти зміст документа, наприклад, випуск новин, не просто узгоджуючи ключові слова, і судити про його придатність для користувача, є ширшими, та вимагають значної складності,[26] але все ще є дещо неглибокими. Системи, що є як дуже широкими, так і дуже глибокими, виходять за рамки сучасного рівня техніки.
Незалежно від використовуваного підходу, більшість систем розуміння природної мови мають спільні складові. Система потребує лексикону мови, синтаксичного аналізатора та правил граматики, щоби розбивати речення на внутрішнє представлення. Побудова багатого лексикону з відповідною онтологією вимагає значних зусиль, наприклад, лексикон WordNet вимагав багато людино-років зусиль.[27]
Системі також потрібна семантична теорія для спрямовування розуміння. Інтерпретувальні здібності системи розуміння мови залежать від семантичної теорії, яку вона використовує.[28] Конкурентні семантичні теорії мови мають конкретні компроміси у своїй придатності як основи автоматизованого комп'ютерного семантичного інтерпретування. Вони варіюються від наївної семантики[en] або стохастичного семантичного аналізу[en] до використання прагматики для отримування значення з контексту.[29][30][31] Семантичні аналізатори[en] перетворюють тексти природною мовою на формальні подання значення.[32]
Розвинені програми розуміння природної мови також намагаються включити у свої рамки й логічне висновування. Як правило, це досягається відображенням похідного значення у набір тверджень у логіці предикатів, а потім застосуванням логічного виведення для досягнення висновків. Тому системи, засновані на функційних мовах, таких як Lisp, повинні включати підсистему для представлення логічних тверджень, тоді як логікоорієнтовані системи, такі як ті, що використовують мову Prolog, як правило, покладаються на розширення вбудованої системи логічного подання.[33][34]
Управління контекстом у розумінні природної мови може створювати особливі виклики. Велика кількість прикладів та зустрічних прикладів призвела до різних підходів до формального моделювання контексту, кожен із яких має певні сильні та слабкі сторони.[35][36]
- Обчислювальна семантика[en]
- Математична лінгвістика
- Теорія подання дискурсу[en]
- Глибинна лінгвістична обробка[en]
- Історія обробки природної мови[en]
- Витягування інформації
- Mathematica[37][38][39]
- Природномовне програмування[en]
- Інтерфейс користувача природною мовою[en]
- Витягування відкритої інформації[en]
- Розмічування частин мови
- Розпізнавання мовлення
- ↑ Шимко, Віталій (2019). Розуміння природної мови: методологічна концептуалізація. Psycholinguistics. 25 (1): 431—443. doi:10.31470/2309-1797-2019-25-1-431-443.
- ↑ Semaan, P. (2012). Natural Language Generation: An Overview [Архівовано 4 липня 2019 у Wayback Machine.]. Journal of Computer Science & Research (JCSCR)-ISSN, 50-57 (англ.)
- ↑ 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.] (англ.)
- ↑ Van Harmelen, Frank, Vladimir Lifschitz, and Bruce Porter, eds. Handbook of knowledge representation [Архівовано 6 червня 2021 у Wayback Machine.]. Vol. 1. Elsevier, 2008. (англ.)
- ↑ 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. (англ.)
- ↑ 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. (англ.)
- ↑ American Association for Artificial Intelligence Brief History of AI [1] [Архівовано 10 березня 2010 у Wayback Machine.] (англ.)
- ↑ Daniel Bobrow[en]'s PhD Thesis Natural Language Input for a Computer Problem Solving System [Архівовано 14 березня 2020 у Wayback Machine.]. (англ.)
- ↑ Machines who think by Pamela McCorduck 2004 ISBN 1-56881-205-1 page 286 (англ.)
- ↑ 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 (англ.)
- ↑ Computer Science Logo Style: Beyond programming by Brian Harvey 1997 ISBN 0-262-58150-7 page 278 (англ.)
- ↑ 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 (англ.)
- ↑ Roger Schank[en], 1969, A conceptual dependency parser for natural language Proceedings of the 1969 conference on Computational linguistics, Sång-Säby, Sweden, pages 1-3 (англ.)
- ↑ Woods, William A (1970). «Transition Network Grammars for Natural Language Analysis». Communications of the ACM 13 (10): 591—606 [2] [Архівовано 15 червня 2010 у Wayback Machine.] (англ.)
- ↑ Artificial intelligence: critical concepts, Volume 1 by Ronald Chrisley, Sander Begeer 2000 ISBN 0-415-19332-X page 89 (англ.)
- ↑ Terry Winograd's SHRDLU page at Stanford SHRDLU [Архівовано 17 серпня 2020 у Wayback Machine.] (англ.)
- ↑ Winograd, Terry (1983), Language as a Cognitive Process, Addison–Wesley, Reading, MA. (англ.)
- ↑ Larry R. Harris, Research at the Artificial Intelligence corp. ACM SIGART Bulletin, issue 79, January 1982 [3] (англ.)
- ↑ Inside case-based reasoning by Christopher K. Riesbeck, Roger C. Schank 1989 ISBN 0-89859-767-6 page xiii (англ.)
- ↑ In Depth Understanding: A Model of Integrated Process for Narrative Comprehension.. Michael g. Dyer. MIT Press. ISBN 0-262-04073-5 (англ.)
- ↑ Searle, John (23 February 2011). Watson Doesn't Know It Won on 'Jeopardy!'. Wall Street Journal. Архів оригіналу за 10 листопада 2021. Процитовано 29 травня 2021. (англ.)
- ↑ 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 (англ.)
- ↑ InfoWorld[en], Nov 13, 1989, page 144 (англ.)
- ↑ InfoWorld[en], April 19, 1984, page 71 (англ.)
- ↑ Building Working Models of Full Natural-Language Understanding in Limited Pragmatic Domains by James Mason 2010 [4] [Архівовано 23 листопада 2020 у Wayback Machine.] (англ.)
- ↑ Mining the Web: discovering knowledge from hypertext data by Soumen Chakrabarti 2002 ISBN 1-55860-754-4 page 289 (англ.)
- ↑ 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. (англ.)
- ↑ Using computers in linguistics: a practical guide by John Lawler, Helen Aristar Dry 198 ISBN 0-415-16792-2 page 209 (англ.)
- ↑ Naive semantics for natural language understanding by Kathleen Dahlgren 1988 ISBN 0-89838-287-4 (англ.)
- ↑ Stochastically-based semantic analysis by Wolfgang Minker, Alex Waibel[en], Joseph Mariani 1999 ISBN 0-7923-8571-3 (англ.)
- ↑ Pragmatics and natural language understanding by Georgia M. Green 1996 ISBN 0-8058-2166-X (англ.)
- ↑ Wong, Yuk Wah, and Raymond J. Mooney[en]. "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. (англ.)
- ↑ Natural Language Processing Prolog Programmers by M. Covington, 1994 ISBN 0-13-629478-2 (англ.)
- ↑ Natural language processing in Prolog by Gerald Gazdar, Christopher S. Mellish 1989 ISBN 0-201-18053-7 (англ.)
- ↑ Understanding language understanding by Ashwin Ram, Kenneth Moorman 1999 ISBN 0-262-18192-4 page 111 (англ.)
- ↑ Formal aspects of context by Pierre Bonzon et al 2000 ISBN 0-7923-6350-7 (англ.)
- ↑ Programming with Natural Language Is Actually Going to Work—Wolfram Blog [Архівовано 2 лютого 2014 у Wayback Machine.] (англ.)
- ↑ Van Valin, Jr, Robert D. From NLP to NLU (PDF). Архів оригіналу (PDF) за 15 травня 2021. Процитовано 6 червня 2021. (англ.)
- ↑ Ball, John. multi-lingual NLU by Pat Inc. Pat.ai. Архів оригіналу за 3 червня 2021. Процитовано 6 червня 2021. (англ.)