История использования систем обработки естественного языка насчитывает всего 50 лет, но изо дня в день мы используем различные модели NLP. В различных поисковых запросах, переводчиках и чат-ботах. NLP возникло как слияние искусственного интеллекта и лингвистики. Лингвистика - это наука, изучающая языки, их семантику - смысловые единицы слов, фонетику - изучение звукового состава слов, синтаксис - номинативные и коммуникативные единицы языка.
Ной Хомский был ученым-лингвистом, который произвел революцию в области лингвистики и изменил наше понимание синтаксиса. Он создал систему грамматического описания, известную как генеративная или генеративная грамматика (соответствующее течение лингвистической мысли часто называют генеративизмом - NLG). Ее основы были сформулированы Хомским в середине 1950-х годов. Работа Хомски стала началом рационалистического направления в компьютерной лингвистике. Отправной точкой рационализма являются компьютерные модели, не зависящие от языка. Модели лучше всего принимаются, когда они максимально просты. Здесь можно провести параллель с идеей Соссюра об отделении языка от реального мира.
Этот подход с самого начала не дал хороших результатов, но по мере продолжения работы в этом направлении результаты стали несколько лучше, чем у систем, исповедующих подход "снизу вверх". Теория универсальной грамматики Хомского предоставила схему, не зависящую от индивидуальных особенностей конкретного языка. Синтаксис лучше всего соответствовал моделям независимых языков, в которых учитывались только языки.
Первые исследователи машинного перевода поняли, что машина не сможет перевести входной текст без дополнительной помощи. Учитывая скудость лингвистических теорий, особенно до 1957 года, некоторые предлагали предварительно редактировать тексты таким образом, чтобы отмечать в них трудности, например, для устранения омонимии. А поскольку системы машинного перевода не могли выдать правильный результат, текст на языке перевода приходилось редактировать, чтобы сделать его понятным.
Системы обработки естественного языка расширяют наши знания о человеческом языке. Некоторые из исследуемых задач NLP включают автоматическое резюмирование (автоматическое резюмирование создает понятное резюме набора текстов и предоставляет краткую или подробную информацию о тексте известного типа), совместное реферирование (совместное реферирование относится к предложению или большему набору текста, в котором определены все слова, относящиеся к одному и тому же объекту), анализ дискурса (анализ дискурса относится к задаче определения структуры дискурса связанного текста, т.е. Машинный перевод).
Как мы уже говорили выше, NLP можно разделить на две части, на NLU - Natural Language Understanding. И NLG - генерация естественного языка. В контексте нашей проблемы нас интересует первая - Natural Language Understanding. Наша задача - научить машину понимать текст и делать выводы из того материала, который мы ей предложили. NLU позволяет машинам понимать и анализировать естественный язык, извлекать концепции, сущности, эмоции, ключевые слова и т. д. Он используется в приложениях по обслуживанию клиентов для понимания проблем, о которых клиенты сообщают устно или письменно. Лингвистика - это наука, изучающая значение языка, языковой контекст и различные формы языка.
Понимание естественного языка - это задача лингвистики, которая включает такие компоненты, как фонология, морфология, синтаксис и семантика. Это все компоненты любого предложения на любом языке, изучение которых является важной задачей для общего понимания того, как строится обработка естественного языка.
Первым применением обработки естественного языка был машинный перевод. Целью было создание машины, способной переводить человеческую речь или текст. Первые шаги в этой области были сделаны Джорджтаунским университетом и компанией IBM Companying 1954. Программа смогла перевести 60 русских предложений на английский язык. Как позже сообщила компания IBM: "Эта программа включала логические алгоритмы, которые принимали грамматические и семантические "решения", имитирующие работу двуязычного человека". Этот прорыв дал представление о том, как будут развиваться будущие технологии и возможности обработки данных.
В конце 1960-х годов Терри Виноград из Массачусетского технологического института разрабатывает SHRDLU - программу обработки естественного языка. Она была способна отвечать на вопросы и учитывать новые факты о своем мире. SHRDLU могла сочетать сложный синтаксический анализ с достаточно общей дедуктивной системой, работая в "мире" с видимыми аналогами восприятия и действия. Машина могла отвечать на простые вопросы, и казалось, что если потратить достаточно усилий на передачу смысла и ограничить себя некоторой областью, SHRDLU сможет достичь естественной коммуникации. Но и этот ранний подход имел свои подводные камни, которые не позволяли развивать его дальше, машина по-прежнему плохо понимала текст, и ей довольно редко удавалось понять, какой текст мог составить SHRDLU.
Затем, в 1969 году, Роджер Шанк разработал концептуальную систему зависимостей, которую он описал как: "стратифицированная лингвистическая система, позволяющая предоставить вычислительную теорию моделируемой производительности". Это была концепция создания лексем, которые позволяли извлекать из текста больше смысла. Эти лексемы могли содержать различные объекты реального мира. Комбинация токенов в различных аспектах призвана учесть всю совокупность языковой деятельности человека на концептуальном уровне. Если пользователь говорит, что с конструкцией все в порядке, она добавляется в память, в противном случае конструкция ищется в списке метафор или прерывается. Таким образом, система использует запись того, что она слышала раньше, для анализа того, что она слышит сейчас.
В своей работе Роджер ухватился за идею о том, что прежде чем компьютеры начнут понимать естественный язык, они должны научиться принимать решения о том, что именно им говорят. Синтаксический анализатор Роджера был ориентирован на семантику языка; он смог научить компьютер различать важные концептуальные отношения.
Затем, в 1970-х годах, Уильям Вудс разработал свою систему распознавания и обработки текста, он представил дополненную сеть перехода (ATN). На основе которой в дальнейшем была разработана программа LAS, позволяющая создавать классы слов языка и понимать правила формирования предложений. ATN позволяла не только формировать новые предложения, но и понимать естественный язык. Программа создавала связи между структурой предложения и структурой поверхности, формировала классы слов.
Программа обещала быть такой же адаптивной, как и человек. Изучая новый материал, человек знакомился с новой лексикой, новыми синтаксическими конструкциями, чтобы поделиться своими мыслями в той среде, которую он изучал. LAS была написана на мичиганском языке LISP, она позволяла получать на вход несколько строк, которые она описывала как сцены, закодированные в виде ассоциативных сетей. Таким же образом программа могла подчиняться командам понимать, писать, учиться. Ядром всей системы была грамматика дополненной переходной сети ATN.
До появления алгоритмов машинного обучения в 1980-х годах вся обработка естественного языка сводилась к рукописным и неавтоматизированным правилам. Тем не менее, еще до этого времени появились первые идеи о создании машин, которые могли бы работать подобно человеческому мозгу, через нейронные связи. Это стало прообразом искусственного интеллекта, построенного на нейронных сетях в будущем.
С начала 21 века и по сей день развитие машинного обучения начало набирать обороты, пережив две зимы ИИ, машинное обучение снова вошло в моду, в том числе благодаря Big Data и глубокому обучению. Новые методы и подходы к обработке слов создаются и сегодня, что делает изучение NLP актуальным и сегодня.