1. 程式人生 > >Word2Vec模型參數 詳解

Word2Vec模型參數 詳解

blog 更多 整理 text nes 表示 class alpha seed

用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=<built-in function hash>,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模型參數 詳解