詞向量簡單實踐(gensim)


詞向量大致訓練步驟:

  1. 分詞並去停用詞
  2. 詞頻過濾
  3. 訓練

 

gensim中Word2Vec參數解釋:

主要參數介紹如下:

  1. sentences:我們要分析的語料,可以是一個列表,或者從文件中遍歷讀出(word2vec.LineSentence(filename) )。
  2. size:詞向量的維度,默認值是100。這個維度的取值一般與我們的語料的大小相關,如果是不大的語料,比如小於100M的文本語料,則使用默認值一般就可以了。如果是超大的語料,建議增大維度。
  3. window:即詞向量上下文最大距離,window越大,則和某一詞較遠的詞也會產生上下文關系。默認值為5,在實際使用中,可以根據實際的需求來動態調整這個window的大小。如果是小語料則這個值可以設的更小。對於一般的語料這個值推薦在[5;10]之間。
  4. sg:即我們的word2vec兩個模型的選擇了。如果是0, 則是CBOW模型;是1則是Skip-Gram模型;默認是0即CBOW模型。
  5. hs:即我們的word2vec兩個解法的選擇了。如果是0, 則是Negative Sampling;是1的話並且負采樣個數negative大於0, 則是Hierarchical Softmax。默認是0即Negative Sampling。
  6. negative:即使用Negative Sampling時負采樣的個數,默認是5。推薦在[3,10]之間。
  7. cbow_mean:僅用於CBOW在做投影的時候,為0,則算法中的xw為上下文的詞向量之和,為1則為上下文的詞向量的平均值。
  8. min_count:需要計算詞向量的最小詞頻。這個值可以去掉一些很生僻的低頻詞,默認是5。如果是小語料,可以調低這個值。
  9. iter:隨機梯度下降法中迭代的最大次數,默認是5。對於大語料,可以增大這個值。
  10. alpha:在隨機梯度下降法中迭代的初始步長。算法原理篇中標記為η,默認是0.025。
  11. min_alpha: 由於算法支持在迭代的過程中逐漸減小步長,min_alpha給出了最小的迭代步。

 

項目完整地址:https://github.com/cyandn/DS/tree/master/Word2Vec

 

存在的問題:

感覺 stop_words.txt 停用詞去的有點狠。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM