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

Материал из Викиконспекты
Перейти к: навигация, поиск

Статья находится в разработке

Векторное представление слов - набор методов обработки естественного языка (NLP) для представления слов из словаря размера |V| (300k, 1M) в линейное пространство меньшей размерности d (100, 1000).

TODO: tf-idf cosinus measure bag-of-words (BOW) continuous BOW N-gram skip-gram word2vec with skip-grams learning

One-hot encoding

Наиболее простой способ представления слов в виде векторов. Пусть число различных слов равно |V|. Сопоставим слову номер i вектор длины |V|, в котором i-тая координата равна 1, а все остальные - нули. Недостатком подходя является то, что близкие по смыслу слова обладают совершенно разными векторами, из-за чего не получится искать синонимы слов.

One-hot-encoding.png

Skip-grams

В модели skip-grams фиксируется окно небольшого размера. Слово, находящееся в середине окна, называется центральным, а остальные - контекстом. В модели skip-grams по центральному слову предсказываются слова контекста.

Skip-grams.png

Continuous Bag Of Words

Модель CBOW является противоположностью модели skip-grams. В ней по контексту необходимо найти центральное слово с максимальной вероятностью.

word2vec

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


word2vec (Google, 2013) использует нейронные сети. GloVe (Standford), обучается на матрице совместной встречаемости. fastText[1](Facebook, 2015) усовершенствование word2vec


См. также

Примечания

Источники информации

  1. [1] — fastText by Facebook