word2vec训练词向量 python_使用Gensim word2vector训练词向量
注意事項
Skip-Gram models:輸入為單個詞,輸出目標為多個上下文單詞;
CBOW models:輸入為多個上下文單詞,輸出目標為一個單詞;
選擇的訓練word2vec的語料要和要使用詞向量的任務相似,并且越大越好,論文中實驗說明語料比訓練詞向量的模型更加的重要,所以要盡量收集大的且與任務相關的語料來訓練詞向量;
語料小(小于一億詞,約 500MB 的文本文件)的時候用 Skip-gram 模型,語料大的時候用 CBOW 模型;
設置迭代次數為三五十次,維度至少選 50,常見的詞向量的維度為256、512以及處理非常大的詞表的時候的1024維;
模型訓練:
LineSentence(inp):格式簡單:一句話=一行; 單詞已經過預處理并被空格分隔。
size:是每個詞的向量維度;
window:是詞向量訓練時的上下文掃描窗口大小,窗口為5就是考慮前5個詞和后5個詞;
min-count:設置最低頻率,默認是5,如果一個詞語在文檔中出現的次數小于5,那么就會丟棄;
workers:是訓練的進程數(需要更精準的解釋,請指正),默認是當前運行機器的處理器核數。這些參數先記住就可以了。
sg ({0, 1}, optional) – 模型的訓練算法: 1: skip-gram; 0: CBOW
alpha (float, optional) – 初始學習率
iter (int, optional) – 迭代次數,默認為5
model=Word2Vec(LineSentence(inp),size=400,window=5,min_count=5,workers=multiprocessing.cpu_count())
model.save(outp1)
#不以C語言可以解析的形式存儲詞向量
model.wv.save_word2vec_format(outp2,binary=False)
模型使用:
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的word2vec训练词向量 python_使用Gensim word2vector训练词向量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从一个Android码农视角回顾2018
- 下一篇: Spring Boot - 修改Tomc