【2020-07-16】Word2Vec

gensim的 Word2Vec參數(shù)

Word2Vec(sentences=None,# 可以是一個list鹰祸,對于大語料集,建議使用BrownCorpus,Text8Corpus或·ineSentence構(gòu)建沉帮。
         size=100,# 是指特征向量的維度,默認(rèn)為100。大的size需要更多的訓(xùn)練數(shù)據(jù),但是效果會更好. 推薦值為幾十到幾百夕玩。
         alpha=0.025, # 學(xué)習(xí)速率
         window=5, # 表示當(dāng)前詞與預(yù)測詞在一個句子中的最大距離是多少
         min_count=5, # 可以對字典做截斷. 詞頻少于min_count次數(shù)的單詞會被丟棄掉, 默認(rèn)值為5
         max_vocab_size=None, # 設(shè)置詞向量構(gòu)建期間的RAM限制。如果所有獨立單詞個數(shù)超過這個惊豺,則就消除掉其中最不頻繁的一個燎孟。每一千萬個單詞需要大約1GB的RAM。設(shè)置成None則沒有限制
         sample=0.001, # 高頻詞匯的隨機降采樣的配置閾值尸昧,默認(rèn)為1e-3揩页,范圍是(0,1e-5)
         seed=1, # 用于隨機數(shù)發(fā)生器。與初始化詞向量有關(guān)烹俗。
         workers=3, # workers參數(shù)控制訓(xùn)練的并行數(shù)爆侣。
         min_alpha=0.0001, 
         sg=0,#sg: 用于設(shè)置訓(xùn)練算法,默認(rèn)為0幢妄,對應(yīng)CBOW算法兔仰;sg=1則采用skip-gram算法。
         hs=0,  #如果為1則會采用hierarchica softmax技巧蕉鸳。如果設(shè)置為0(default)乎赴,則negative sampling會被使用。
         negative=5, # 如果>0,則會采用negativesampling潮尝,用于設(shè)置多少個noise words
         cbow_mean=1, # 如果為0榕吼,則采用上下文詞向量的和,如果為1(default)則采用均值勉失。只有使用CBOW的時候才起作用羹蚣。
         hashfxn=<built-in function hash>, # hash函數(shù)來初始化權(quán)重。默認(rèn)使用python的hash函數(shù)
         iter=5, # 迭代次數(shù)戴质,默認(rèn)為5
         null_word=0,
         trim_rule=None, # 用于設(shè)置詞匯表的整理規(guī)則,指定那些單詞要留下,哪些要被刪除充择∠可以設(shè)置為None(min_count會被使用)或者一個接受()并返回RU·E_DISCARD,uti·s.RU·E_KEEP或者utils.RUlE_DEFAUlT的函數(shù)。
         sorted_vocab=1,  # 如果為1(default),則在分配word index 的時候會先對單詞基于頻率降序排序。
         batch_words=10000  # 每一批的傳遞給線程的單詞的數(shù)量,默認(rèn)為10000
        )

簡單實現(xiàn)

# 加載文本
# 加載文本
with open ("data/data_for_test/tmp_all.txt","r") as f:
    data=f.readlines()

file=[]
for i in range(1,len(data)):
    file.append(data[i].split('\t'))
df=pd.DataFrame(file,columns=['number','content'])
# 數(shù)據(jù)預(yù)處理
# 略
# 訓(xùn)練模型

with open('corpus_all.txt', 'a', encoding='utf-8') as f:
    for i in range(len(corpus)):
        words = corpus[i].split()
        for word in words:
            f.write(word + ' ')   
        f.write('\n')
with open('corpus_all.txt', 'a', encoding='utf-8') as f:
    for i in range(len(corpus)):
        words = corpus[i].split()
        for word in words:
            f.write(word + ' ')   
        f.write('\n')
# 語料
sentences=LineSentence('corpus_all.txt')
# 模型
model = Word2Vec(sentences, min_count=1, iter=1000)

model.save("w2v_all.mod")
# 觀察輸出
model=Word2Vec.load(path) # 加載
model.wv.vocab # 模型內(nèi)的詞
model.wv.n_similarity(words, candidate) #計算相似度
y = model.most_similar('XXX', topn=20)# 尋找最相似的topn
y2=model.similarity(u"XXX", u"YYY") # 兩個文本的相似度
model.wv['XXX']  #查看指定詞的向量表示
model.doesnt_match("XXXX".split())   #選出集合中不同類的詞語

語言模型: CBOW【根據(jù)上下文的詞語输莺,預(yù)測當(dāng)前詞語】、Skip-gram【根據(jù)當(dāng)前詞語裸诽,預(yù)測上下文】

網(wǎng)絡(luò)結(jié)構(gòu)

降低復(fù)雜度:Hierarchical Softmax【層次softmax】 嫂用、Negative Sampling【負(fù)采樣】

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市丈冬,隨后出現(xiàn)的幾起案子嘱函,更是在濱河造成了極大的恐慌,老刑警劉巖埂蕊,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件往弓,死亡現(xiàn)場離奇詭異,居然都是意外死亡蓄氧,警方通過查閱死者的電腦和手機函似,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喉童,“玉大人撇寞,你說我怎么就攤上這事√寐龋” “怎么了蔑担?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咽白。 經(jīng)常有香客問我钟沛,道長,這世上最難降的妖魔是什么局扶? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮叁扫,結(jié)果婚禮上三妈,老公的妹妹穿的比我還像新娘。我一直安慰自己莫绣,他們只是感情好畴蒲,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著对室,像睡著了一般模燥。 火紅的嫁衣襯著肌膚如雪咖祭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天蔫骂,我揣著相機與錄音么翰,去河邊找鬼。 笑死辽旋,一個胖子當(dāng)著我的面吹牛浩嫌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播补胚,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼码耐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了溶其?” 一聲冷哼從身側(cè)響起骚腥,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓶逃,沒想到半個月后束铭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡金闽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年纯露,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片代芜。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡埠褪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出挤庇,到底是詐尸還是另有隱情钞速,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布嫡秕,位于F島的核電站渴语,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏昆咽。R本人自食惡果不足惜驾凶,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掷酗。 院中可真熱鬧调违,春花似錦、人聲如沸泻轰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浮声。三九已至虚婿,卻和暖如春旋奢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背然痊。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工至朗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人玷过。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓爽丹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親辛蚊。 傳聞我的和親對象是個殘疾皇子粤蝎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348