Четыре концепции, предопределившие прорыв в NLP

nlp concepts

14 февраля OpenAI выпустила новую языковую модель GPT-2 — нейросеть, которая способна генерировать логичный текст на целые страницы и выполнять другие задачи NLP.

Модель оказалась настолько эффективной в задачах генерации продолжения текста, что разработчики не решились выпускать полную версию в открытый доступ. OpenAI опасается большого количества фейковых новостей, комментариев на форумах, отзывов в интернет-магазинах — нейросеть может автоматически генерировать такие тексты в огромных масштабах.

Издание MIT Technology Review выпустило материал о четырех концепциях, которые сейчас определяют развитие NLP — что они означают в контексте лингвистики, и как применяются в обработке естественного языка.

GPT-2 все еще не понимает, что делает

Хотя впечатляющие результаты представляют собой значительный скачок за пределы того, чего достигли существующие языковые модели, используемая методика не совсем новая. Прорыв совершен главным образом благодаря большому количеству обучающих данных.

Отрывки, созданные нейросетью, похожи на тексты, написанные человеком. Однако эту способность не стоит путать с пониманием языка — конечной целью NLP.  Ученые полагают, что достижение этой цели может занять годы и даже десятилетия, и, скорее всего, для этого понадобятся новые методы NLP.

Материал основан на лекции Перси Ляна (Percy Liang) — профессора информатики Стэнфордского университета. Видео с лекцией:

Начнем с той, которая сегодня используется в алгоритме OpenAI.

Статистическая (распределительная) семантика

В лингвистической философии

Распределительная семантика рассматривает значение слов в зависимости от того, как они используются. Например, слова «кошка» и «собака» похожи по значению, потому что используются более или менее одинаково, в похожих контекстах. Можно накормить и погладить и кошку и собаку. Однако нельзя накормить и погладить апельсин.

В NLP

Алгоритмы, основанные на семантике распределения ответственны за недавние прорывы в NLP. Они обрабатывают текст и находят закономерности, подсчитывая, как часто и как близко слова используются по отношению друг к другу. В результате модель получает шаблоны словосочетаний, которые затем применяет для создания предложений и абзацев текста. Такие модели используются, например, для автозаполнения при наборе SMS и в Gmail.

Часть исследователей экспериментирует с распределением случайных последовательностей символов, а не слов, поэтому модели могут более гибко обрабатывать сокращения, знаки препинания, сленг и другие вещи, которые не отражены в словарях. Такой подход хорошо работает и для языков без четких границ между словами.

автозаполнение

Плюсы

Подобные алгоритмы гибкие и масштабируемые, они могут применяться в любом контексте и учиться на неразмеченных данных.

Минусы

Модели, созданные с использованием такого подхода, не понимают построенных ими предложений. Они создают тексты ориентируясь на статистику ассоциаций между словами, но не на смысл.

Фреймовая семантика

В лингвистической философии

Язык используется для описания действий и событий, поэтому предложение можно разделить на существительное, глагол и модификаторы  — кто, что, где, когда.

В NLP

Алгоритмы, основанные на семантике фреймов, используют набор правил или множество размеченных обучающих данных, чтобы научиться деконструировать предложения. Это делает их подходящими для разбора простых команд — и, следовательно, полезными для создания чат-ботов и голосовых помощников. Например, если попросить Алексу: «Найди ресторан с рейтингом четыре звезды неподалеку на завтра», алгоритм определит запрос, разбив его на части: действие — что сделать (найти), что (ресторан с рейтингом четыре звезды), когда (завтра) и где (неподалеку).

фреймовая семантика nlp

Плюсы

В отличие от алгоритмов предыдущей группы, которые не понимают текст, на котором они учатся, фреймовые модели могут различать фрагменты информации в предложении. Их можно использовать для ответов на простые вопросы: «Когда произойдет это событие?»

Минусы

Алгоритмы могут обрабатывать только очень простые предложения и не улавливают нюансы. Они также лишены гибкости — их нужно обучать на большом количестве данных под конкретные запросы.

Теоретико-модельная семантика

В лингвистической философии

Язык используется для передачи человеческих знаний.

В NLP

Теоретико-модельная семантика основана на идее, что все человеческие знания могут быть закодированы или смоделированы в виде ряда логических правил. Если модель знает, что птицы могут летать, а орлы — это птицы, то она может сделать вывод, что орлы могут летать. Звучит логично, но этот подход уже не популярен. Исследователи поняли, что есть слишком много исключений для каждого правила (например, пингвины — птицы, но не могут летать).

теоретико-модельная семантика

Сейчас модели, основанные на теоретико-модельной семантике, используются для извлечения информации из баз данных. Как и алгоритмы фреймовой семантики, они разбивают предложения на части. Модель определяет части предложения как логические правила, кодирующие знания. Если взять вопрос «Какой город самый большой в Европе по численности населения?», алгоритм разделит его на серию отдельных запросов: «Что такое города?», «Какие из них в Европе?», «Какова численность населения городов?», «Какая численность населения самая большая?». Так алгоритм проходит через всю модель представления знаний, чтобы получить окончательный ответ.

Плюсы

Эти алгоритмы дают машинам и программам возможность отвечать на сложные вопросы со множеством нюансов.

Минусы

Алгоритмам нужны логические модели представления знаний, которые сложно и долго создавать. Полученные сети плохо работают в разных контекстах.

Низкоуровневая семантика (Grounded semantics)

В лингвистической философии

Люди создали язык для достижения своих целей, поэтому его следует изучать и понимать в контексте целенаправленности.

В NLP

Это новый подход, который исследователи считают перспективным. Модели обучаются так, как люди изучают язык в течение жизни: машина начинает с нуля и учится ассоциировать слова с правильными значениями посредством разговора и взаимодействия. Если нужно научить компьютер перемещать объекты в виртуальном мире, можно дать ему команду «Переместить красный куб влево», а затем показать, что имеется в виду. Со временем машина учится понимать и выполнять команды без посторонней помощи.

grounded semantics

Плюсы

Теоретически, эти алгоритмы должны быть очень гибкими и максимально приближенными к истинному пониманию языка.

Минусы

Обучение занимает очень много времени, и не все слова и фразы так легко проиллюстрировать, как фразу с кубом.

Перси Лян считает, что в краткосрочной перспективе достижения в NLP будут основаны на моделях распределительной семантики. Но в долгосрочной перспективе и у них есть предел. «Вероятно, существует качественный разрыв между тем, как люди понимают язык и воспринимают мир, и нашими нынешними моделями», — говорит он. Для устранения этого пробела потребуется гораздо больше времени и, возможно, новый способ мышления.

Подписаться
Уведомить о
guest

0 Comments
Межтекстовые Отзывы
Посмотреть все комментарии

gogpt