Изменения

Перейти к: навигация, поиск

Векторное представление слов

3 байта убрано, 17:42, 14 января 2021
word2vec
== word2vec ==
[[Файл:Words-space.png|thumb|right|400px|Рисунок 2. Полученные векторы-слова отражают различные грамматические и семантические [https://towardsdatascience.com/word-embedding-with-word2vec-and-fasttext-a209c1d3e12c концепции].<br><math>W_{king} + (W_{woman} - W_{man}) = W_{queen}</math><br><math>W_{walked} - W_{walking} = W_{swam} - W_{swimming}</math>]]word2vec {{---}} способ построения сжатого пространства векторов слов, использующий нейронные сети. Принимает на вход большой текстовый корпус и сопоставляет каждому слову вектор. Сначала он создает словарь, а затем вычисляет векторное представление слов. Векторное представление основывается на контекстной близости: слова, встречающиеся в тексте рядом с одинаковыми словами (а следовательно, имеющие схожий смысл) (рис. 42), в векторном представлении имеют высокое ''косинусное сходство'' (англ. [https://en.wikipedia.org/wiki/Cosine_similarity cosine similarity]):
:<math>\text{similarity}(\mathbf{A}, \mathbf{B}) = \cos(\theta) = {\mathbf{A} \cdot \mathbf{B} \over \|\mathbf{A}\| \|\mathbf{B}\|} = \frac{ \sum\limits_{i=1}^{n}{A_i B_i} }{ \sqrt{\sum\limits_{i=1}^{n}{A_i^2}} \sqrt{\sum\limits_{i=1}^{n}{B_i^2}} },</math>
 В word2vec существуют две основных модели обучения: ''Skip-gram'' (рис. 23) и ''CBOW'' (англ. ''Continuous Bag of Words'') (рис. 34). В модели ''Skip-gram'' по слову предсказываются слова из его контекста, а в модели ''CBOW'' по контексту подбирается наиболее вероятное слово. На выходном слое используется функция <math>softmax</math> или его вариация, чтобы получить на выходе распределение вероятности каждого слова. В обеих моделях входные и выходные слова подаются в one-hot encoding, благодаря чему при умножении на матрицу <math>W</math>, соединяющую входной и скрытый слои, происходит выбор одной строки <math>W</math>. Размерность <math>N</math> является гиперпараметром алгоритма, а обученная матрица <math>W</math> {{---}} выходом, так как ее строки содержат векторные представления слов.
Для ускорения обучения моделей ''Skip-gram'' и CBOW используются модификации <math>softmax</math>, такие как иерархический <math>softmax</math> и ''negative sampling'', позволяющие вычислять распределение вероятностей быстрее, чем за линейное время от размера словаря.
{|align="center"
|-valign="top"
|[[Файл:skip-gram.png|270px|thumb|Рисунок 23. [http://www.claudiobellei.com/2018/01/06/backprop-word2vec/ Схема сети для модели Skip-gram]]] |[[Файл:cbow.png|260px|thumb|Рисунок 34. [http://www.claudiobellei.com/2018/01/06/backprop-word2vec/ Схема сети для модели CBOW]]] |[[Файл:Words-space.png|thumb|right|400px|Рисунок 4. Полученные векторы-слова отражают различные грамматические и семантические [https://towardsdatascience.com/word-embedding-with-word2vec-and-fasttext-a209c1d3e12c концепции].<br><math>W_{king} + (W_{woman} - W_{man}) = W_{queen}</math><br><math>W_{walked} - W_{walking} = W_{swam} - W_{swimming}</math>]]
|}
38
правок

Навигация