В недавних достижениях, сделанных Google с их новаторскими предварительно обученными моделями NLP, названными BERT (двунаправленные представления кодировщика от трансформаторов), основы в значительной степени являются точной копией встраивания слов в моделях Word2Vec и GloVe (глобальное представление векторов). В серии публикаций мы рассмотрим различные концептуальные аспекты, которые в конечном итоге приведут нас к лучшему пониманию BERT.

Содержание:

1. Введение

2. Word2Vec - Скип-грамм

3. Word2Vec - модель CBOW

4. Преимущества Word2Vec

Введение:

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

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

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

Word2Vec -Skip-Gram

Word2Vec - один из наиболее известных приемов представления слова в виде вектора. Он был создан группой исследователей Google во главе с Томашем Миколовым. Это неконтролируемое обучение, нейросетевые алгоритмы для получения векторного представления слов. Он обучен на большом корпусе текстовых данных (Википедия), который помогает нам распознавать линейные подструктуры векторного пространства слов. (мы доберемся до этого, как только возьмемся за построение векторных представлений)

Давайте рассмотрим следующее утверждение и затем шаг за шагом перейдем к построению векторного представления слова в заданной последовательности.

"Быстрая коричневая лиса прыгает через ленивую собаку"

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

Этот вариант модели Word2Vec является скип-граммной моделью. Эта модель помогает нам понять контекстную информацию всего предложения. В этой модели мы рассматриваем только одно слово за раз и строим вероятность появления всех этих слов в окне фиксированного размера вокруг этого слова.

Итак, давайте построим вектор вероятности для слова «THE», вычислив вероятность появления всех других слов вокруг него в нашем примере, а затем сделаем то же самое для остальных слов. Для этого нам нужно учесть две вещи:

1. Рассматриваемый размер окна и

2. Количество уникальных слов, встречающихся вокруг слова «THE».

Здесь для удобства мы считаем размер окна равным 2. Теперь вокруг слова «THE» в нашем небольшом корпусе появляются следующие уникальные слова: quick, brown, jumps, over, lazy, dog. Следовательно, вероятность каждого слова в уникальных словах, появляющихся вокруг «THE», становится 1/6, тогда как вектор вероятности для слова «quick» вычисляется с учетом уникальных слов: the, brown и fox и, следовательно, становится 1/3 для каждого из этих слов. Таким образом, матрица строится для всех остальных слов в корпусе.

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

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

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

Word2Vec -CBOW

Другой вариант модели Word2Vec работает по тем же принципам, но с немного другим подходом. В этом случае входной слой - это не один вектор горячего вложения из одного слова, а два-три слова, соединенные вместе, то есть последовательность. Затем модель обучается предсказанию вектора вероятности, так же, как в модели skip-gram. Как только модель сходится, мы получаем веса нюэронов скрытого слоя, которые являются необходимыми вложениями определенного слова. Поскольку мы рассматриваем последовательность входных данных, она называется «непрерывный мешок слов или CBOW». Этот вариант помогает нам с хорошей точностью предсказать следующее слово заданной входной последовательности.

Хотя мы рассмотрели почти все аспекты модели Word2Vec, есть еще несколько моментов, которые еще предстоит решить. У вас может возникнуть много вопросов, например, какова будет длина вектора вложения для данного слова? Или какие линейные подструктуры можно извлечь?

Хорошо….

.

.

.

.

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

Линейные подструктуры подразумевают извлечение нескольких соотношений в векторном пространстве следующим образом:

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

Кроме того, мы можем зафиксировать лингвистические закономерности следующим образом:

Vec ("Рим") = vec ("Париж") - vec ("Франция") + vec ("Италия").

По сути, это означает, что Рим связан с Италией, как Париж связан с Францией.

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

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