Word2vec是一群用来产生词向量的相关模型。这些模型为浅层双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。

训练完成之后,word2vec模型可以把每个词映射到一个向量,来表示词与词之间的关系。该向量为神经网络的隐藏层[1]

Word2vec依赖skip-grams或连续词袋(CBOW)来建立神经词嵌入。Word2vec为托马斯·米科洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人所分析和解释[2][3]

Skip-grams和CBOW

CBOW把一个词从词窗剔除。在CBOW下给定n词围绕着词w,word2vec预测一个句子中其中一个缺漏的词c,即以几率 来表示。相反地,Skip-gram给定词窗中的文本,预测当前的词 

延伸

Word2vec用来建构整份文件(而分独立的词)的延伸应用已被提出[4], 该延伸称为paragraph2vec或doc2vec,并且用C、Python[5][6]和 Java/Scala[7]实做成工具(参考下方)。Java和Python也支援推断文件嵌入于未观测的文件。

分析

对word2vec框架为何做词嵌入如此成功知之甚少,约阿夫·哥德堡(Yoav Goldberg)和欧莫·列维(Omer Levy)指出word2vec的功能导致相似文本拥有相似的嵌入(用余弦相似性计算)并且和约翰·鲁伯特·弗斯分布假说英语Distributional semantics有关。

实作

参见

参考文献

  1. ^ Mikolov, Tomas; et al. Efficient Estimation of Word Representations in Vector Space (PDF). [2015-08-14]. (原始内容 (PDF)存档于2022-05-09). 
  2. ^ Goldberg, Yoav; Levy, Omar. word2vec Explained: Deriving Mikolov et al.’s Negative-Sampling Word-Embedding Method (PDF). [2015-08-14]. (原始内容 (PDF)存档于2022-01-22). 
  3. ^ Řehůřek, Radim. Word2vec and friends (Youtube video). [2015-08-14]. (原始内容存档于2020-05-22). 
  4. ^ Le, Quoc; et al. Distributed Representations of Sentences and Documents. (PDF). [2016-02-18]. (原始内容 (PDF)存档于2021-11-23). 
  5. ^ Doc2Vec tutorial using Gensim. [2015-08-02]. (原始内容存档于2021-01-23). 
  6. ^ Doc2vec for IMDB sentiment analysis. [2016-02-18]. (原始内容存档于2020-01-07). 
  7. ^ Doc2Vec and Paragraph Vectors for Classification. [2016-01-13]. (原始内容存档于2015-12-31).