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).