Векторное представление слов — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Skip-grams)
Строка 1: Строка 1:
 
'''Статья находится в разработке'''
 
'''Статья находится в разработке'''
  
'''Векторное представление слов''' - набор методов обработки естественного языка (NLP) для представления слов из словаря размера |V| (300k, 1M) в линейное пространство меньшей размерности d (100, 1000).  
+
'''Векторное представление слов''' - общее название для различных подходов к моделированию языка и обучению представлений в обработке естественного языка, направленных на сопоставление словам (и, возможно, фразам) из некоторого словаря векторов из значительно меньшего количества слов в словаре. Для этого используют нейронные сети , методы понижения размерности в применении к матрицам совместных упоминаний слов (word co-occurrence matrices) и явные представления, обучающиеся на контекстах упоминаний слов (explicit representations).
  
 
TODO:
 
TODO:
Строка 12: Строка 12:
 
word2vec with skip-grams learning
 
word2vec with skip-grams learning
  
=== One-hot encoding ===
+
== One-hot encoding ==
 
Наиболее простой способ представления слов в виде векторов. Пусть число различных слов равно |V|. Сопоставим слову номер i вектор длины |V|, в котором i-тая координата равна 1, а все остальные - нули. Недостатком подходя является то, что близкие по смыслу слова обладают совершенно разными векторами, из-за чего не получится искать синонимы слов.
 
Наиболее простой способ представления слов в виде векторов. Пусть число различных слов равно |V|. Сопоставим слову номер i вектор длины |V|, в котором i-тая координата равна 1, а все остальные - нули. Недостатком подходя является то, что близкие по смыслу слова обладают совершенно разными векторами, из-за чего не получится искать синонимы слов.
  
 
[[Файл:One-hot-encoding.png|300px]]
 
[[Файл:One-hot-encoding.png|300px]]
 
=== Skip-grams ===
 
В модели skip-grams фиксируется окно небольшого размера. Слово, находящееся в середине окна, называется центральным, а остальные - контекстом. В модели skip-grams по центральному слову предсказываются слова контекста.
 
 
[[Файл:Skip-grams.png|450px]]
 
 
=== Continuous Bag Of Words ===
 
Модель CBOW является противоположностью модели skip-grams. В ней по контексту необходимо найти центральное слово с максимальной вероятностью.
 
  
 
== word2vec ==
 
== word2vec ==
word2vec - способ построения сжатого пространства векторов для слов, использующий двухслойную нейронную сеть.
+
word2vec - способ построения сжатого пространства векторов для слов, использующий двухслойную нейронную сеть. Принимает на вход большой текстовый корпус и сопоставляет каждому слову вектор. Сначала он создает словарь, «обучаясь» на входных текстовых данных, а затем вычисляет векторное представление слов. Векторное представление основывается на контекстной близости: слова, встречающиеся в тексте рядом с одинаковыми словами (а следовательно, имеющие схожий смысл), в векторном представлении будут иметь близкие координаты векторов-слов. В word2vec существуют две основных модели обучения: skip-grams и CBOW (Continuous Bag of Words). В модели skip-grams по слову предсказываются слова из его контекста, а в модели CBOW по контексту подбирается наиболее вероятное слово.
 
 
  
word2vec (Google, 2013) использует нейронные сети.  
+
Полученные векторы-слова могут быть использованы для вычисления «семантического расстояния» между словами. После обучения векторы отражают различные грамматические и семантические концепции.
GloVe (Standford), обучается на матрице совместной встречаемости.
 
fastText<ref>[https://fasttext.cc/ fastText]</ref>(Facebook, 2015) усовершенствование word2vec
 
  
 +
W_{king} - W_{man} + W_{woman} = W_{queen}
 +
W_{shirt} - W_{clothing} + W_{furniture} = W_{chair}
  
 
== См. также ==
 
== См. также ==

Версия 20:36, 1 марта 2019

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

Векторное представление слов - общее название для различных подходов к моделированию языка и обучению представлений в обработке естественного языка, направленных на сопоставление словам (и, возможно, фразам) из некоторого словаря векторов из значительно меньшего количества слов в словаре. Для этого используют нейронные сети , методы понижения размерности в применении к матрицам совместных упоминаний слов (word co-occurrence matrices) и явные представления, обучающиеся на контекстах упоминаний слов (explicit representations).

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

word2vec

word2vec - способ построения сжатого пространства векторов для слов, использующий двухслойную нейронную сеть. Принимает на вход большой текстовый корпус и сопоставляет каждому слову вектор. Сначала он создает словарь, «обучаясь» на входных текстовых данных, а затем вычисляет векторное представление слов. Векторное представление основывается на контекстной близости: слова, встречающиеся в тексте рядом с одинаковыми словами (а следовательно, имеющие схожий смысл), в векторном представлении будут иметь близкие координаты векторов-слов. В word2vec существуют две основных модели обучения: skip-grams и CBOW (Continuous Bag of Words). В модели skip-grams по слову предсказываются слова из его контекста, а в модели CBOW по контексту подбирается наиболее вероятное слово.

Полученные векторы-слова могут быть использованы для вычисления «семантического расстояния» между словами. После обучения векторы отражают различные грамматические и семантические концепции.

W_{king} - W_{man} + W_{woman} = W_{queen} W_{shirt} - W_{clothing} + W_{furniture} = W_{chair}

См. также

Примечания


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

  1. [1] — fastText by Facebook