環(huán)境:Linux
實(shí)驗(yàn)相關(guān)信息:
①語言與版本:Python2.7
②深度學(xué)習(xí)框架與版本:tensorflow cpu 版
③深度學(xué)習(xí)模型:word2vec
④ Python 庫(kù):jieba、tensorflow、pandas
⑤源碼:https://github.com/LCG22/DeepLearning/tree/master/TensorflowLearning/Word2Vec/Word2Vec
注:由于使用的是公司業(yè)務(wù)數(shù)據(jù),故代碼中不提供數(shù)據(jù)
⑥實(shí)驗(yàn)?zāi)康模?/p>
a)word2vec 模型對(duì)混雜兩個(gè)語種(普通話和廣州話)的數(shù)據(jù)是否仍有較好的學(xué)習(xí)效果,即能否學(xué)習(xí)到普通話和廣州話中
意思相近的詞語的詞向量在詞空間中的位置也較近
b)word2vec 模型在實(shí)際數(shù)據(jù)中的效果如何
⑦數(shù)據(jù):
領(lǐng)域:樓房銷售(房產(chǎn)中介)
內(nèi)容:客戶跟進(jìn)記錄。記錄客戶的購(gòu)房需求和客戶相關(guān)的信息。
語言:中文,極少部分英文?;祀s有普通話和廣州話。
難點(diǎn):
a)記錄的信息格式比較隨意
b)記錄的信息比較雜亂,有的記錄了客戶較多的個(gè)人信息,有的則記錄的比較少,很難從中提取有效信息
c)由于數(shù)據(jù)中混雜有很多廣州話,而 jieba 分詞并不支持廣州話的字典,因此對(duì)廣州話的分詞結(jié)果較差
d)由于記錄內(nèi)容偏向于口語化,故 jieba 分詞對(duì)普通話的分詞結(jié)果較差,但比廣州話的分詞結(jié)果要好得多
e)部分詞語在整個(gè)數(shù)據(jù)集中的數(shù)量較少,word2vec 模型可能會(huì)學(xué)習(xí)不到與該詞語意思相近的詞語
⑧實(shí)驗(yàn)結(jié)果
1、數(shù)據(jù)集大小:
分詞前:189M
分詞后:220M
分詞數(shù)量:包括重復(fù)的有 35654193 個(gè)詞(僅刪掉了常見的標(biāo)點(diǎn)符號(hào),沒刪除常見的停用詞),去重后的有 50003 個(gè)詞
2、參數(shù)與結(jié)果
a)
? ? 參數(shù):
? ??詞匯表大小:vocabulary_size =50000
????每批訓(xùn)練模型的樣本數(shù):batch_size =128
????詞向量的大?。篹mbedding_size =128
????詞窗口大?。簊kip_window =1
????要生成的目標(biāo)詞的訓(xùn)練樣本數(shù)量:num_skips =2
????驗(yàn)證詞的數(shù)量:valid_size =len(valid_word)
????valid_window =100
????抽樣的負(fù)樣本:num_sampled =64
????訓(xùn)練模型的步數(shù):num_steps =2000000
? ? 結(jié)果:

? ? ? ? 由上圖結(jié)果可見,對(duì)于普通話字詞的買、兒子和廣州話字詞的中意(意思是喜歡,包括鐘意、仲意,三者意思相同但因個(gè)人差別而使用了不同的字來代替廣州話發(fā)音)、得閑(有空)、幾好(好、不錯(cuò))、價(jià)錢(價(jià)格)的學(xué)習(xí)結(jié)果都是很好的,學(xué)習(xí)到了與其意思相近的詞在詞空間上也是相近的。例如普通話的兒子,跟它意思相近的詞分別是,女兒、老婆、女朋友、老公、太太、媽媽、家人、弟弟,這些詞跟兒子一樣,都是屬于家人,而且是直系親屬(女朋友除外),可見對(duì)于普通話的詞向量的學(xué)習(xí)還是很不錯(cuò)的。而例如廣州話中的價(jià)錢,跟它意思相近的詞分別是,價(jià)格、價(jià)位、單價(jià)、總價(jià)、價(jià)、樓價(jià)、樓層、房?jī)r(jià),這些詞要么是跟價(jià)錢是同義詞(只是在不同的語種中的字詞不同)要么是跟價(jià)錢高度相關(guān)的(例如樓層),可見詞向量的確能夠?qū)W習(xí)到即使是屬于不同語種的詞語在詞空間上也是相近的,學(xué)習(xí)到了語義相近的詞語在詞空間上的相近;另外,價(jià)錢雖然是廣州話,但是并不是用廣州話的字詞來寫的,而是借用了普通話中語音相近的普通話字詞,可見詞向量學(xué)習(xí)的的確是字詞在上下文的語義(雖然該模型中的上下文僅僅只是目標(biāo)詞的左右兩邊的詞)。
? ? ? ?但是訓(xùn)練結(jié)果也并不是很讓人滿意,例如上圖中的博士、傾成(廣州話,對(duì)應(yīng)普通話中的談成)跟在詞空間上的距離是最近的字詞,實(shí)際語義相差卻極大,甚至可以說根本沒有半點(diǎn)語義相近。究其原因,則是因?yàn)閮烧咴谟?xùn)練樣本中的數(shù)量太少了,例如博士的數(shù)量才只有 24 個(gè),傾成的數(shù)量也僅有 22 個(gè),而買、兒子、中意、得閑、幾好、價(jià)錢的數(shù)量則分別有 284426、7733、25592、56932、2475、61048,可見這些詞的數(shù)量遠(yuǎn)比博士、傾成要多得多,最少的也是他們的 100 倍,最多的則高達(dá) 12928 倍,也可見字詞的數(shù)量對(duì)于訓(xùn)練結(jié)果有決定性作用。
? ? 總結(jié):
? ? ? ? ? ? ①詞向量的確能夠?qū)W習(xí)到即使是屬于不同語種的詞語在詞空間上也是相近的
? ? ? ? ? ? ②字詞的數(shù)量對(duì)于訓(xùn)練結(jié)果有決定性作用