Обработка естественного языка (NLP) описывает взаимодействие между человеческим языком и компьютерами. Человеческий язык отличается от того, что понимает компьютер. Компьютеры понимают машинный язык или, можно сказать, двоичные коды. Компьютеры не говорят и не понимают человеческий язык, если они не запрограммированы на это. И вот здесь на сцену выходит НЛП.

Как работает обработка естественного языка?

В НЛП используются два основных метода: первый — синтаксический анализ, а второй — семантический анализ. Синтаксис — это структура или форма выражений, операторов и программных модулей. Синтаксис можно использовать для оценки значения поддерживаемых языком грамматических правил. В синтаксическом анализе используются следующие методы:

I.) разбор :- который представляет собой грамматический анализ предложения.

II.) сегментация слов, которая делит негабаритный фрагмент текста на части.

III.) разрыв предложения:- что устанавливает границы предложений в больших текстах.

IV.) морфологическая сегментация:- которая делит слова на группы

V.) stemming:-который делит слова с флексией в них на корневые формы

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

I.) устранение неоднозначности значения слова: — которое выводит значение слова, поддерживаемого контекстом.

II.) Распознавание именованных объектов:- определяет слова, которые будут разделены на группы.

III.) Генерация естественного языка:- которая будет использовать базу данных для определения семантики слов.

Кроме того, область НЛП можно разделить на два лагеря:

  1. Лингвистический лагерь
  2. Лагерь статистики.

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

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

«ELIZA» — одна из первых известных программ искусственного интеллекта, которую можно рассматривать как попытку пройти тест Тьюринга. Как мы знаем, таких алгоритмов, которые могли бы действительно понимать человеческий язык, в то время не существовало. Таким образом, мы можем сказать, что ELIZA и другие программы чат-ботов в то время программировались вручную, создавая множество правил для ответа на человеческий разговор. Таким образом, можно сказать, что эти программы никогда не были способны на самом деле понимать естественный язык, скорее мы можем сказать, что они были результатом психологии, чтобы одурачить людей.

Так возникла концепция лингвистики, которую можно рассматривать как науку о том, как создается язык. В языке отыскивается образец и формулируются правила построения и интерпретации всех высказываний естественного языка, что и делается лингвистами. И некоторые модели или грамматики обобщаются на основе этого правила. (Лингвистические правила также используются для разбора и распознавания искусственного языка при создании компилятора). Способ анализа естественного языка также очень похож, за исключением того, что контекстно-свободные грамматики ограничены, поэтому вместо них используются контекстно-зависимые грамматики.

Затем, в 90-х годах, статистики подошли к проблеме НЛП с другой точки зрения. После этого практически все лингвистические теории были отброшены. Была введена простая модель языка, которая получила название модели «Мешок слов». Эта модель очень проста, она предполагает, что предложение — это не что иное, как набор слов. Эта модель не заботится о порядке слов. Например, «Я иду на прогулку» и «Я иду на прогулку» не отличаются в этой модели, хотя одно из этих двух предложений имеет более высокую вероятность. При использовании этой модели нет необходимости в значениях, она предполагает, что всякий раз, когда он видит эти четыре слова, они, вероятно, имеют похожее значение.

Зачем кому-то хотеть использовать модель «Мешок слов», когда есть сложная лингвистическая модель. Какие преимущества дает этот статистический лагерь?

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

Давайте поговорим о некоторых из существующих алгоритмов:

  • Алгоритмы могут быть такими простыми, как Модель векторного пространства, где текст может быть представлен в виде вектора, а данные могут быть получены с помощью векторных операций. Встраивание является одним из таких вариантов использования.
  • Алгоритмы управления выводом, такие как набор часто встречающихся элементов, являются одним из таких вариантов использования, когда вы можете заглянуть в текстовый корпус и попытаться сделать вывод о том, что будет дальше.
  • Алгоритмы ранжирования релевантности, используемые в поисковой системе, такие как Tf-IDF, BM25, pagerank и др.
  • Существуют алгоритмы, которые используются для понимания смысла текстов. Например, Скрытый семантический анализ (LSA), Вероятностный семантический анализ (pLSA) и Скрытое распределение Дирихле (LDA).
  • Существуют алгоритмы, которые пытаются определить настроения, контекст и тему написанного текста. Подобный анализ тональности очень популярен, поскольку он пытается связать некое значение тональности с неизвестными словами.
  • Кроме того, в последнее время появились модели/алгоритмы глубокого обучения, которые используют статистические методы для обработки токенов с использованием многослойных ИНС.

Как мы видим, для НЛП не существует какого-то одного алгоритма. Различные подходы к поиску информации в НЛП можно увидеть на изображении ниже:

Корреферентное разрешение:

«Адам ударил Боба ножом, и он истек кровью!»

В НЛП огромная проблема определить, относится ли «он» в приведенном выше предложении к Адаму или Бобу.

Это очень хорошо изученная проблема в НЛП, и она также имеет причудливое название «Разрешение базовой ссылки». В лингвистике кореференция, иногда письменная кореференция, возникает, когда два или более выражений в тексте относятся к одному и тому же лицу или предмету; у них один и тот же референт, как и в приведенном выше предложении.

Еще в 2001 году к алгоритмам машинного обучения подошли (бумага). Предложенный классификатор представлял собой дерево решений, которое классифицирует данную пару слов-кандидатов либо как кореференциальную (значение относится к одному и тому же предмету), либо как не кореференциальную. Для каждой пары кандидатов использовались следующие функции:

  • Расстояние: можно рассчитать как количество предложений между двумя словами. (чем больше расстояние, мы можем сказать, что слова менее корреференциальны).
  • Местоимение: определяет, являются ли пары-кандидаты местоимениями, одним из них или нет.
  • Совпадение строк: может быть определено как совпадение между двумя словами. («Премьер-министр XXX» и «Премьер-министр» могут рассматриваться как кореференциальные).
  • Согласование номеров: определяет, являются ли пары слов-кандидатов единственным, множественным или ни одним из них.
  • Соглашение о семантическом классе: определяет, относятся ли пары слов-кандидатов к одному и тому же семантическому классу, если таковые имеются. («Лицо», «Организация» и др.).
  • Гендерное соглашение: можно определить, относятся ли пары слов-кандидатов к одному и тому же полу, если таковые имеются. («Мужчина», «Женщина», «Ни то, ни другое»).
  • Аппозитив: определяет, являются ли пары слов-кандидатов аппозитивами (например, если предложение начинается с «Президент Непала, XXX сказал…», затем «Президент» и «XXX» являются аппозитивами и, вероятно, являются кореференциальными).
  • ..и еще несколько подобных функций.

использованная литература