Обработка текста на естественном языке и извлечение полезной информации из заданного слова, предложения с использованием методов машинного обучения и глубокого обучения требует, чтобы строка / текст были преобразованы в набор действительных чисел (вектор) - вложения Word.
Вложения слов или векторизация слов - это методология в НЛП для сопоставления слов или фраз из словаря с соответствующим вектором действительных чисел, который используется для поиска предсказаний слов, сходства / семантики слов.
Процесс преобразования слов в числа называется векторизацией.
Встраивание слов помогает в следующих случаях использования.
- Вычислить похожие слова
- Текстовые классификации
- Кластеризация / группировка документов
- Извлечение признаков для текстовых классификаций
- Обработка естественного языка.
После того, как слова преобразованы в векторы, нам нужно использовать некоторые методы, такие как Евклидово расстояние, Косинусное подобие, чтобы идентифицировать похожие слова.
Почему косинусное сходство
Подсчет общих слов или евклидово расстояние - это общий подход, используемый для сопоставления похожих документов, основанный на подсчете количества общих слов в документах.
Такой подход не сработает, даже если количество общих слов увеличится, но в документе говорится о разных темах. Чтобы преодолеть этот недостаток, используется подход «косинусного сходства» для поиска сходства между документами.
Математически он измеряет косинус угла между двумя векторами (item1, item2), проецируемыми в N-мерное векторное пространство. Преимущество косинусного сходства в том, что оно предсказывает сходство документов, даже если евклидово расстояние.
«Чем меньше угол, тем выше сходство» - косинусное сходство.
Давайте посмотрим на пример.
- Джули любит Джона больше, чем Линда любит Джона
- Джейн любит Джона больше, чем Джули любит Джона
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.
Использованная литература: