Word2vec是目前最常用的詞嵌入模型之一。是一種淺層的神經網絡模型,他有2種網絡結構,分別是CBOW(continues bag of words)和 skip-gram。Word2vec 其實是對”上下文-單詞“矩陣進行學習,其中上下文由周圍的幾個單詞組成,由此得到的詞向量表示 更多的融入了上下文共現的特征。 也就是說,如果2個詞所對應的Word2vec向量相似度較高,那么他們很可能經常在相同的上下文中出現。
LDA(Latent Dirichlet Allocation 隱狄利克雷模型)是主題模型(Topic Models)的一種計算方法。LDA是利用文檔中單詞的共現關系來對單詞按主題聚類,也可以理解為‘文檔-單詞“矩陣進行分解,得到”文檔-主題“和”主題-單詞“兩個概率分布。
Word2Vec和LDA的區別:
1、Word2vec是詞聚類,屬於詞嵌入模型,LDA是主題詞聚類,屬於主題模型。主題模型和詞嵌入模型最大的不同在於其模型本身,主題模型是一種基於概率圖模型的生成式模型,其似然函數可以寫成若干個條件概率連乘的形式,其中包含需要推測隱含變量(即主題);詞嵌入模型一般表達為神經網絡的形式,似然函數定義在網絡輸出之上。需要通過學習網絡的權重以得到單詞的稠密向量表示。
2、詞向量所體現的是語義(semantic)和語法(syntactic)這些 low-level的信息。而LDA的主題詞表現的是更 high-level的文章主題(topic)這一層的信息。比如:
1)計算詞的相似度。同樣在電子產品這個主題下,“蘋果”是更接近於“三星”還是“小米”?
2)詞的類比關系:vector(小米)- vector(蘋果)+ vector(喬布斯)近似於 vector(雷軍)。
3)計算文章的相似度。這個LDA也能做但是效果不好。而用詞向量,即使在文章topic接近的情況下,計算出的相似度也能體現相同、相似、相關的區別。 反過來說,想用詞向量的聚類去得到topic這一級別的信息也是很難的。很有可能,“蘋果”和“小米”被聚到了一類,而“喬布斯”和“雷軍”則聚到另一類。
Word2Vec和LDA的聯系:
1、在方法模型上,他們兩者是不同的,但是產生的結果從語義上來說,都是相當於近義詞的聚類,只不過LDA是基於隱含主題的,WORD2VEC是基於詞的上下文的,或者說LDA關注doc和word的共現,而word2vec真正關注的是word和context的共現。
2、主題模型通過一定的結構調整可以基於”上下文-單詞“矩陣進行主題推理。同樣的,詞嵌入方法也可以根據”文檔-單詞“矩陣學習出詞的隱含向量表示。
3、加入LDA的結果作為word embeddings的輸入,可以增強文章分類效果。
參考:
https://blog.csdn.net/qq_29678299/article/details/88727380