Word2vec
Методы построения эмбеддингов слов, описанные ранее, основаны на вычислении счётчиков совстречаемости слов и применения к ним сингулярного разложения.
Одним из первых очень популярных нейросетевых методов построения эмбеддингов является Word2vec [1,2], представляющий собой две модели: Skip-Gram и CBOW.
Обе модели анализируют текст, составленный из большого количества документов, объединённых в одну длинную последовательность слов.
В классической реализации документы просто объединялись, но если необходимо явно обозначить границы между документами, то каждый документ перед объединением можно дополнить токеном START раз в начале и токеном STOP раз в конце, где - гиперпараметр, определяющий ширину контекста.
После объединения все документы представляют собой последовательность слов
состоящую из уникальных слов (возможно, дополненных спец. токенами START и STOP).
Skip-Gram и CBOW представляют собой языковые модели (language models), то есть модели, предсказывающие часть текста по другой части текста. В них текст сканируется скользящим окном из соседних слов с центром в слове , , как показано для примера ниже:
Каждое слово этих моделей может выступать в двух ролях:
-
когда слово известно, и по нему нужно предсказывать другое слово;
-
когда слово предсказывается по соседним словам.
Поэтому каждому слову ставится в соответствие два настраиваемых эмбеддинга:
-
- входной эмбеддинг,
-
- выходной эмбеддинг,
где .
Входной эмбеддинг используется, когда слово считается известным, а выходной эмбеддинг используется, когда слово неизвестно, и оценивается его вероятность.
В моделях настраиваются параметры , представляющие собой все входные и выходные эмбеддинги для каждого слова:
Конечной целью настройки языковых моделей является не прогнозирование слов само по себе, а настроенные эмбеддинги слов.
Skip-Gram
В методе Skip-Gram модель по известному центральному слову окна (контексту) учится предсказывать соседние слова в этом окне для каждого положения скользящего окна:
Слово считается более сочетаемым с контекстным словом , если скалярное произведение их эмбеддингов выше, а вероятность появления слова в контексте другого считается через SoftMax-преобразование:
Результатом настройки Skip-Gram являются входные эмбеддинги каждого слова . Можно было бы использовать и выходные эмбеддинги, но, как будет ясно из методов ускоренной настройки Skip-Gram, они играют вспомогательную, а не основную роль.
CBOW
В методе CBOW модель по соседним словам окна учится предсказывать центральное слово:
Здесь - общая длина текста, а - настраиваемые параметры.
Таким образом, в CBOW известным контекстом выступают соседние слова вокруг слова .
Информация о соседних словах представляется в виде контекстного эмбеддинга, вычисляемого как сумма входных эмбеддингов этих слов:
Слово считается более сочетаемым с контекстом, если скалярное произведение его эмбеддинга с эмбеддингом контекста выше, а вероятность предсказываемого центрального слова считается через SoftMax-преобразование:
Результатом настройки CBOW являются выходные эмбеддинги каждого слова , несущие семантическую информацию о каждом отдельном слове. Входные эмбеддинги же менее информативны, поскольку используются не сами по себе, а в контексте других соседних слов.
Регулярности в эмбеддингах
Простота моделей Skip-Gram и CBOW позволила их обучить на гигантских коллекциях текстов из интернета и получить эмбеддинги, качественно отражающие смысл (семантику) этих слов.
Например, на сайте http://epsilon-it.utu.fi/wv_demo/ можно задать слово и получить наиболее похожее на него в пространстве эмбеддингов Word2Vec при сравнении по косинусной мере близости. Можно убедиться, что близким словам действительно соответствуют слова близкие по смыслу:
слово | близкие слова |
---|---|
student | teacher, faculty, school, university |
car | truck, jeep, vehicle |
country | nation, continent, region |
Связь между эмбеддингами оказалась приближённо линейной, например: