用gensim函式庫訓練word2vec模型有很多配置引數。這裡對gensim文件的word2vec函式的引數說明進行翻譯,以便不時之需。
class gensim.models.word2vec.word2vec(sentences=none,size=100,alpha=0.025,window=5, min_count=5, max_vocab_size=none, sample=0.001,seed=1, workers=3,min_alpha=0.0001, sg=0, hs=0, negative=5, cbow_mean=1, hashfxn=,iter=5,null_word=0, trim_rule=none, sorted_vocab=1, batch_words=10000)
引數:· sentences:可以是乙個·ist,對於大語料集,建議使用browncorpus,text8corpus或·inesentence構建。
· sg: 用於設定訓練演算法,預設為0,對應cbow演算法;sg=1則採用skip-gram演算法。
· size:是指特徵向量的維度,預設為100。大的size需要更多的訓練資料,但是效果會更好. 推薦值為幾十到幾百。
· window:表示當前詞與**詞在乙個句子中的最大距離是多少
· alpha: 是學習速率
· seed:用於隨機數發生器。與初始化詞向量有關。
· min_count: 可以對字典做截斷. 詞頻少於min_count次數的單詞會被丟棄掉, 預設值為5
· max_vocab_size: 設定詞向量構建期間的ram限制。如果所有獨立單詞個數超過這個,則就消除掉其中最不頻繁的乙個。每一千萬個單詞需要大約1gb的ram。設定成none則沒有限制。
· sample: 高頻詞彙的隨機降取樣的配置閾值,預設為1e-3,範圍是(0,1e-5)
· workers引數控制訓練的並行數。
· hs: 如果為1則會採用hierarchica·softmax技巧。如果設定為0(defau·t),則negative sampling會被使用。
· negative: 如果》0,則會採用negativesamp·ing,用於設定多少個noise words
· cbow_mean: 如果為0,則採用上下文詞向量的和,如果為1(defau·t)則採用均值。只有使用cbow的時候才起作用。
· hashfxn: hash函式來初始化權重。預設使用python的hash函式
· iter: 迭代次數,預設為5
· trim_rule: 用於設定詞彙表的整理規則,指定那些單詞要留下,哪些要被刪除。可以設定為none(min_count會被使用)或者乙個接受()並返回ru·e_discard,uti·s.ru·e_keep或者uti·s.ru·e_defau·t的函式。
· sorted_vocab: 如果為1(defau·t),則在分配word index 的時候會先對單詞基於頻率降序排序。
· batch_words:每一批的傳遞給執行緒的單詞的數量,預設為10000
與word2vec 原來word2vec那麼簡單
說到word2vec,它可謂非結構化資料裡面的佼佼者,尤其是在推薦和nlp當中,足以體現它的優勢所在,並且多年一直備受工業界喜愛.那麼word2vec到底是怎麼個原理的,發現身邊總是有很多人問,確不能準確的說出為什麼是兩個矩陣,到底是怎麼自動反向傳播的,以及對於softmax之後那麼大的維度資料,是...
Word2Vec教程 Skip Gram模型
這個教程包含 訓練word2vec的 skip gram 模型。通過這個教程,我希望跳過常規word2vec 的介紹和抽象理解,而是去討論一些細節。特別是skip gram的網路結構。skipgram model 常常讓人驚訝於它的簡單結構。我認為基本沒啥彎路,或者需要複雜的模型解釋。讓我們從高層語...
小小word2vec模型訓練
嗨,好久不見啊!今天我們來完成乙個word2vec模型訓練,學習筆記有挺多人寫的,不瞞您說,小白也是看別人的部落格學習的。所以這次,小白就直接上手例項啦,一起嘛?首先介紹一下模型引數 通過jieba分詞 import jieba import pandas as pd 把文字檔案讀進來,再分詞,去停...