Представьте, что вы просыпаетесь с постели и разговариваете с цифровым помощником, таким как Alexa, Siri, Goggle.

ты: Алекса! Как выглядит мое расписание сегодня?

Алекса: «У вас на сегодня запланировано 2 встречи. один в 10:00 с Джоном Доу и другой в 15:00 с Джейн Доу.

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

Примеры приложений, использующих НЛП

Ниже приведены некоторые реальные приложения, использующие обработку естественного языка.

  • Анализируйте ленту социальных сетей, чтобы понять голос клиентов, тенденции.
  • Голосовые помощники - взаимодействуют с пользователем, понимают команды пользователя и выполняют задачи на их основе.
  • Платформа электронной почты, такая как Gmail, Microsoft использует различные функции NLP своего продукта, такие как классификация спама, индекс приоритета, событие календаря, автозаполнение и т. Д.
  • Машинный перевод: перевод текста с одного языка на другой. (Переводчик Google, переводчик Microsoft)
  • Электронная коммерция: понимание отзывов пользователей, извлечение релевантной информации из продукта.
  • Автоматическое создание сводок / отчетов по конкретным областям, таким как право, медицина и т. Д.,
  • Инструменты для исправления орфографии и грамматики.
  • Обнаружение плагиата

Пример задач НЛП

  • Моделирование языка: задача предсказания следующего слова на основе предыдущих и исторических слов. Языковая модель широко используется в таких областях, как распознавание речи, OCR, распознавание рукописного ввода, машинный перевод, коррекция орфографии.
  • Классификация текста: группировка текста по известному набору категорий на основе его содержания.
  • Извлечение информации: извлечение соответствующей информации из научного / медицинского журнала и любых текстовых данных в Интернете.
  • Получение информации: поиск документов, относящихся к запросу пользователя, из большого набора данных. Большинство поисковых систем сегодня используют этот метод для получения результатов.
  • Разговорный агент: диалоговые системы, которые могут вести разговор на человеческом языке. Например. Алекса, Сири, ОК Google и т. Д.,
  • Обобщение текста: создавайте короткие резюме из более длинного документа, сохраняя при этом основное содержание и смысл документа.
  • Ответ на вопрос: система, которая может автоматически отвечать на вопросы, заданные на естественном человеческом языке.
  • Машинный перевод: преобразование текста с одного языка на другой с сохранением его смысла.
  • Тематическое моделирование: выявление тематической структуры большой коллекции документов.

Язык

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

Язык - это структурированная система общения, которая включает сложную комбинацию таких компонентов, как символы, слова, предложения и т. Д.

В основе человеческого языка лежат четыре основных строительных блока:

  • Фонемы: любая из абстрактных единиц фонетической системы языка, соответствующая набору схожих звуков речи. (например, velar \ k \ cool и небный \ k \ keel), которые воспринимаются в языке как один отличительный звук. Фонемы могут не иметь никакого значения сами по себе, но могут вызывать значения в сочетании с другими фонемами. (речь и звуки) Преобразование речи в текст, идентификация говорящего, преобразование текста в речь - вот некоторые задачи НЛП, которые сильно зависят от фонем.
  • Морфемы и лексемы: морфема - это значимая единица языка, которую нельзя разделить дальше. Он образован сочетанием фонем. лексема - это, грубо говоря, набор флективных форм, взятых из одного слова. Lexeme - это фундамент для многих задач НЛП, таких как токенизация, встраивание слов, теги POS.
  • Синтаксис. Набор правил для построения грамматически правильных предложений из слов и фраз на языке.
  • Контекст. Контекст - это то, как разные части языка передают определенное значение. Значение предложения может меняться в зависимости от контекста. Обычно контекст состоит из сематики и прагматики. Сематика - это прямое значение без внешнего контекста. Прагматика добавляет внешний контекст, отсылая к нему мировые знания. Некоторые задачи в значительной степени зависят от контекста: обнаружение сарказма, обобщение текста, моделирование темы.

Почему НЛП сложно?

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

Двусмысленность языка: наличие двух или более значений в одном отрывке. Неопределенность смысла. Большинство человеческих языков по своей сути неоднозначны.

«Он хорош как Джон Доу» Образные языки усиливают двусмысленность.

Креативность. С самого начала язык менялся с течением времени. язык основан не только на правилах, но и в творчестве. На всех языках используются различные стили, диалекты, вариации. Очень хороший пример этого творчества - «Поэма».

Одна из ключевых задач НЛП - как закодировать все вещи, которые общеизвестны людям, в вычислительной модели.

Различие между языками. Между словарями любых двух языков нет прямого соответствия (в большинстве случаев). Это препятствие затрудняет решение НЛП. Таким образом, либо модели НЛП должны быть независимыми от языка, либо модели необходимо разрабатывать для каждого языка. Оба немного нереалистичны.

Подходы к НЛП

Ниже приведены некоторые из распространенных подходов к решению проблем НЛП.

  • НЛП на основе правил
  • Машинное обучение
  • Глубокое обучение
  • Усиленное обучение

НЛП на основе правил

Такой подход скорее всего к построению правил для поставленной задачи. Для формулирования правил требуются определенные знания в данной области, а также такие ресурсы, как словари и тезаурус. Сеть слов была создана для помощи НЛП на основе правил. WordNet® - большая лексическая база данных английского языка. Существительные, глаголы, прилагательные и наречия сгруппированы в наборы когнитивных синонимов (синсетов), каждый из которых выражает отдельное понятие. Это база данных слова и семантических отношений между ними. Улавливает синонимы, гипонимы, меронимы.

  • Синонимы: Слово со схожим значением.
  • Гипонимы: фиксируйте тип отношений. (Футбол, крикет, теннис - спорт)
  • Меронимы: фиксируйте часть отношений. (руки, ноги - меронимы тела)

Машинное обучение

В настоящее время непрерывное машинное обучение является одним из методов, используемых многими исследователями / организациями для выполнения задач НЛП.

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

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

Некоторые из распространенных алгоритмов машинного обучения в задачах MLP - это наивный байесовский алгоритм, SVM, логистическая регрессия, скрытая марковская модель, условное случайное поле.

Глубокое обучение

  • Долгосрочная краткосрочная память (LSTM)
  • Сверточные нейронные сети (CNN)
  • Автокодеры
  • Трансформеры
  • Рекуррентные нейронные сети (RNN)

Проблема с глубоким обучением НЛП

  • Алгоритм глубокого обучения имеет тенденцию переобучаться на небольших наборах данных.
  • Быстрое обучение и генерация синтетических данных. (Учимся на очень немногих обучающих примерах.)
  • Принятие домена: когда мы разрабатываем большую модель для некоторых общих областей и применяем ту же модель в более новой области, модель дает низкую производительность. Пример: модель, обученная обзору продуктов, не будет работать в таких областях, как право, медицина.
  • Интерпретируемые модели: трудно интерпретировать модель DL, потому что в большинстве случаев модели DL работают как черный ящик. Многие компании требуют объяснения того, почему модель приводит к конкретным результатам.
  • Здравый смысл и мировые знания: мы достигли эталонных задач НЛП, используя модели ML и DL, язык остается большой загадкой для исследователей и ученых. главным образом потому, что человеческий язык и здравый смысл со временем претерпели огромные изменения. поэтому интерпретировать точный контекст смысла - большая проблема.
  • Стоимость: создание задач NLP может быть довольно дорогостоящим из-за огромных параметров и стоимости графического процессора.
  • Развертывание на устройстве: решения NLP необходимо развертывать на встроенном устройстве, а не в облаке. Потому что модель должна работать, не полагаясь на интернет.

Пример задачи НЛП: разговорные агенты

Голосовые переговорные агенты, такие как Alexa, Siri, OK Google, являются одними из существующих приложений НЛП.

Распознавание и синтез речи

Распознавание речи преобразует речевые сигналы в их фонемы, которые затем транскрибируются в слова. Синтез - это обратный процесс, при котором текстовые результаты преобразуются в разговорный язык.

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

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

Управление диалогом

Найдя полезную информацию из речи пользователя, нам нужно определить смысл слов.

Управление ответами

Отправьте ответ пользователю, используя синтез речи.

Ссылка

  • Практическая обработка естественного языка: Соумья ваджала, Бодхисаттва Маджумедер, Анудж гупта и харшит сурана.
  • Липтон, Захари К. и Якоб Стейнхардт. «Тревожные тенденции в области машинного обучения», (2018).