word2vec使用說明

2021-08-01 10:50:45 字數 1901 閱讀 8149

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