doc2vec原理
doc2vec和word2vec類似,Doc2vec也有兩種訓(xùn)練方式,分別是Distributed Memory(DM) 和 Distributed Bag of Words(DBOW)。
DM 試圖在給定上下文和段落向量的情況下預(yù)測單詞的概率,與word2vec中CBOW類似,在一個(gè)句子或者文檔的訓(xùn)練過程中,段落 ID 保持不變,共享著同一個(gè)段落向量;
DBOW 則在僅給定段落向量的情況下預(yù)測段落中一組隨機(jī)單詞的概率,與word2vec中skip-gram類似。
1.DM模型
訓(xùn)練過程中新增了paragraph id,即訓(xùn)練語料中每個(gè)句子都有一個(gè)唯一的id。paragraph id和普通的word一樣,也是先映射成一個(gè)向量,即paragraph vector。paragraph vector與word vector的維數(shù)雖一樣,但是來自于兩個(gè)不同的向量空間。在之后的計(jì)算里,paragraph vector和word vector累加或者連接起來,作為輸出層softmax的輸入。在一個(gè)句子或者文檔的若干次訓(xùn)練過程中,paragraph id保持不變,共享著同一個(gè)paragraph vector,相當(dāng)于每次在預(yù)測單詞的概率時(shí),都利用了整個(gè)句子的語義。
訓(xùn)練完了以后,就會(huì)得到訓(xùn)練樣本中所有的詞向量和每句話對應(yīng)的句子向量。
那么Doc2vec是怎么預(yù)測新的句子Paragraph vector呢?其實(shí)在預(yù)測新的句子的時(shí)候,還是會(huì)將該P(yáng)aragraph vector隨機(jī)初始化,放入模型中再重新根據(jù)隨機(jī)梯度下降不斷迭代求得最終穩(wěn)定下來的句子向量。不過在預(yù)測過程中,模型里的詞向量還有投影層到輸出層的softmax weights參數(shù)是不會(huì)變的,這樣在不斷迭代中只會(huì)更新Paragraph vector,其他參數(shù)均已固定,只需很少的時(shí)間就能計(jì)算出帶預(yù)測的Paragraph vector。
2. DBOW模型
總結(jié)
- 上一篇: 什么是分布式和集群?
- 下一篇: 基于FPGA的自动售货机Verilog开