Обработка текста на естественном языке и извлечение полезной информации из заданного слова, предложения с использованием методов машинного обучения и глубокого обучения требует, чтобы строка / текст были преобразованы в набор действительных чисел (вектор) - вложения Word.

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

Процесс преобразования слов в числа называется векторизацией.

Встраивание слов помогает в следующих случаях использования.

  • Вычислить похожие слова
  • Текстовые классификации
  • Кластеризация / группировка документов
  • Извлечение признаков для текстовых классификаций
  • Обработка естественного языка.

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

Почему косинусное сходство

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

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

Математически он измеряет косинус угла между двумя векторами (item1, item2), проецируемыми в N-мерное векторное пространство. Преимущество косинусного сходства в том, что оно предсказывает сходство документов, даже если евклидово расстояние.

«Чем меньше угол, тем выше сходство» - косинусное сходство.

Давайте посмотрим на пример.

  1. Джули любит Джона больше, чем Линда любит Джона
  2. Джейн любит Джона больше, чем Джули любит Джона
John  2   2
Jane  0   1
Julie 1   1
Linda 1   0
likes 0   1
loves 2   1
more  1   1
than  1   1

два вектора:

Item 1: [2, 0, 1, 1, 0, 2, 1, 1]
Item 2: [2, 1, 1, 0, 1, 1, 1, 1]

Косинусоидальный угол (меньший угол) между значениями двух векторов равен 0,822, что ближе всего к 1.

Теперь давайте посмотрим, как можно преобразовать предложения в векторы.

Вложения слов, полученные с помощью предварительно обученных методов, таких как,

  • Word2Vec - от Google
  • Fasttext - из Facebook
  • Перчатка - из Стэндфорда

В этом блоге мы увидим самую популярную архитектуру встраивания под названием Word2Vec.

Word2Vec

Word2Vec - представление слов в векторном пространстве, основанное Томасом Миколовым и группой исследователей из Google, разработало эту модель в 2013 году.

Почему создается метод Word2Vec:

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

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

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

Синтаксические правила. Относится к грамматической коррекции предложения.

Семантические закономерности. Относится к значению словарных символов, расположенных в этой структуре.

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

Вектор («Король») - Вектор («Мужчина») + Вектор («Женщина») = Слово («Королева»)

где «Королева» - ближайший вектор результата представлений слов.

Цели следующих архитектур моделей для представлений слов заключаются в том, чтобы максимизировать точность и минимизировать сложность вычислений. Модели:

  • Модель языка нейронной сети FeedForward (NNLM)
  • Модель языка рекуррентной нейронной сети (RNNLM)

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

Модель языка нейронной сети FeedForward (NNLM)

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

Модель языка рекуррентной нейронной сети (RNNLM)

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

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

  • Модель непрерывного мешка слов
  • Непрерывная модель скип-грамма

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

Модель непрерывного мешка слов

Обозначим эту модель как CBOW. Архитектура CBOW аналогична NNLM с прямой связью, в которой удален нелинейный скрытый слой, а слой проекции является общим для всех слов; таким образом, все слова проецируются в одну и ту же позицию.

Архитектура CBOW предсказывает текущее слово на основе контекста.

Модель непрерывного скип-грамма

Модель скип-грамм аналогична CBOW. Единственное отличие состоит в том, что вместо того, чтобы предсказывать текущее слово на основе контекста, он пытается максимизировать классификацию слова на основе другого слова в том же предложении.

Архитектура скип-граммы предсказывает окружающие слова по текущему слову.

Реализация архитектуры Word2Vec - Gensim

Библиотека Gensim позволит нам разрабатывать вложения слов путем обучения наших собственных моделей word2vec на настраиваемом корпусе либо с помощью алгоритмов CBOW или алгоритмов пропуска грамм.

Библиотеку реализации можно найти здесь - https://bit.ly/33ywiaW.

Заключение

  • Обработка естественного языка требует преобразования текстов / строк в действительные числа, называемых встраиваниями слов или векторизацией слов.
  • После преобразования слов в векторы, косинусное сходство - это подход, используемый для выполнения большинства случаев использования для использования NLP, кластеризации документов, текстовых классификаций, предсказывает слова на основе контекста предложения.
  • Сходство по косинусу - «Чем меньше угол, тем выше сходство.
  • Самые известные архитектуры, такие как Word2Vec, Fasttext, Glove, помогают преобразовывать векторы слов и использовать косинусное сходство для функций сходства слов.
  • NNLM, RNNLM превосходит по производительности для огромного набора слов. Но сложность вычислений - это большие накладные расходы
  • Чтобы преодолеть сложность вычислений, Word2Vec использует архитектуру CBOW и Skip-gram, чтобы максимизировать точность и минимизировать сложность вычислений.
  • Архитектура CBOW предсказывает текущее слово на основе контекста
  • Архитектура скип-грамма предсказывает окружающие слова по текущему слову
  • Подробная информация о документе по архитектуре Word2Vec.

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