word2vec是谷歌2023年開源的工具,原始**,這個工具能比較高效的訓練出詞向量。
word2vec **引數說明:
預設:./word2vec -train text8 -output vectors.bin -cbow 0 -size 100 -window 5 -negative 0 -hs 1 -sample 1e-4 -threads 20 -binary 1 -iter 20
預設5個windows ,預設架構skip
預設迭代20次
預設 hs
size 預設100
執行緒預設 20
引數解釋:
訓練架構:cbow skip
windows : 視窗大小,乙個詞前幾個和後幾個詞語
-negative 0 -hs 1 :不使用neg方法,使用hs方法
-sampe指的是取樣的閾值,如果乙個詞語在訓練樣本中出現的頻率越大,那麼就越會被取樣。
word2vec還有幾個引數對我們比較有用比如-alpha設定學習速率,預設的為0.025. –min-count設定最低頻率,預設是5,如果乙個詞語在文件中出現的次數小於5,那麼就會丟棄。-classes設定聚類個數,看了一下原始碼用的是k-means聚類的方法。要注意-threads 20 執行緒數也會對結果產生影響。
比較:架構:skip-gram(慢、對罕見字有利)vs cbow(快)
· 訓練演算法:分層softmax(對罕見字有利)vs 負取樣(對常見詞和低緯向量有利)
· 欠取樣頻繁詞:可以提高結果的準確性和速度(適用範圍1e-3到1e-5)
· 文字(window)大小:skip-gram通常在10附近,cbow通常在5附近
1.to compute accuracy with the full vocabulary,use:
./compute-accuracy vectors.bin < questions-words.txt
詞向量的加減法
2.短語的精確度
./compute-accuracy vectors-phase.bin < questions-phrases.txt
3.questions-words.txt說明
capital-common-countries(506條):semantic accuracy
capital-world(1452條):semantic accuracy
currency(貨幣268條):semantic accuracy
city-in-state(1571條):semantic accuracy
family(306條):semantic accuracy
gram1-adjective-to-adverb(756條):semantic accuracy,syntactic(句法) accuracy
gram2-opposite(306條):semantic accuracy,syntactic(句法) accuracy
gram3-comparative比較級(1260條):semantic accuracy,syntactic(句法) accuracy
gram4-superlative最高端(506):
gram5-present-participle(992):
code coding dance dancing
gram6-nationality-adjective(1371條):
albania albanian australia australian
gram7-past-tense(1332):
gram8-plural(992)
gram9-plural-verbs(650)
text8: 12268/19544 =62.77%
4.demo-classes.sh聚類
5.demo-analogy.sh模擬
與word2vec 原來word2vec那麼簡單
說到word2vec,它可謂非結構化資料裡面的佼佼者,尤其是在推薦和nlp當中,足以體現它的優勢所在,並且多年一直備受工業界喜愛.那麼word2vec到底是怎麼個原理的,發現身邊總是有很多人問,確不能準確的說出為什麼是兩個矩陣,到底是怎麼自動反向傳播的,以及對於softmax之後那麼大的維度資料,是...
word2vec學習參考
最近看nlp的東西比較多。就拿現在google 基於神經網路做的 word2vec 作為部落格的開始吧,今後會陸陸續續補充內容。基本是分4塊內容 1.神經網路語言模型 2.語言模型分層優化 3.word2vec 原理 4.google word2vec 看一點寫一點,先扔些參考資料鏈接上去。附上在研...
Word2Vec知識總結
word2vec是乙個產生詞向量的模型,是乙個雙層的神經網路 非常善於找出詞彙的相似度,同時可用於處理之前的技術 像one hot編碼和wordnet 處理不了的語義關係。它可以利用神經網路從大量的無標註的文字中提取有用資訊。我們也可以將它看成是乙個工具,它裡面包含了三種重要的模型 1 nnlm 神...