word2vec堆疊和doc2vec比較以及維度
句子轉(zhuǎn)換成向量方法
1.使用word2vec對每個詞進行取平均數(shù)
? ? ? ? word2vec作為神經(jīng)概率語言模型的輸入喊括,其本身其實是神經(jīng)概率模型的副產(chǎn)品,是為了通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)某個語言模型而產(chǎn)生的中間結(jié)果(權(quán)重矩陣)矢棚。具體來說,“某個語言模型”指的是“CBOW”和“Skip-gram”府喳。具體學(xué)習(xí)過程會用到兩個降低復(fù)雜度的近似方法——Hierarchical Softmax或Negative Sampling蒲肋。因此上面圖片寫word2vec模型實際上是錯的,其實是CBOW/Skip-gram 模型钝满,通過這兩個預(yù)測詞匯模型提供詞匯訓(xùn)練的方式兜粘,損失的計算(利用了相似語境中出現(xiàn)的詞語其語義也接近這一思路 例如:i love you 和 i like you 中l(wèi)ove和like語義接近),通過這兩個模型的損失降低過程弯蚜,將輸入層到隱藏層的權(quán)重矩陣(詞向量)最優(yōu)化孔轴,最后我們要的就是這個矩陣。 ? ? ? ? ? ? ? ? ? ? ? 通過分詞后計算詞向量的平均值
2.通過doc2vec對每個句子向量化
? ? ? ? 基于上述的Word2Vec的方法碎捺,Quoc Le 和Tomas Mikolov又給出了Doc2Vec的訓(xùn)練方法路鹰。如下圖所示贷洲,其原理與Word2Vec非常的相似。分為Distributed Memory (DM) 和Distributed Bag of Words (DBOW)晋柱,可以看出 Distributed Memory version of Paragraph Vector?
(PV-DM)方法與Word2Vec的CBOW方法類似优构,Bag of Words version of Paragraph Vector (PV-DBOW)與Word2Vec的Skip-gram方法類似。不同的是雁竞,給文章也配置了向量钦椭,并在訓(xùn)練過程中更新。熟悉了w2v之后碑诉,Doc2Vec便非常好理解彪腔。具體細節(jié)可以看原文《Distributed Representations of Sentences and Documents》
上述兩種方法中,根據(jù)經(jīng)驗进栽,更推薦第二種德挣,因為根據(jù)先驗概率來說,對文章也配置了向量泪幌,對整體的訓(xùn)練效果更好盲厌。
維度選擇
? ? ? ?我們擁有50,256祸泪,300吗浩,400,600的維度没隘,維度越多包涵的信息量會就會越多懂扼,區(qū)分度就會更好,當(dāng)然右蒲,訓(xùn)練的難度和時間也會大大加大阀湿。因此,需要在兩者之間進行權(quán)衡瑰妄,我們選擇了400陷嘴,維持較多的信息量,也不會訓(xùn)練過長的時間间坐。