Word2Vec中文语料实战
目錄(?)[-]
Word2Vec中文語料實戰
? ? ? ??
? ? ? ? 雖然Word2Vec在NLP領域很火,但網上關于Word2Vec中文語料訓練的入門級資料比較少,所以本人整理了一份,希望對感興趣的朋友有所幫助!本文使用的語料由作者親自收集,代碼由作者親自編寫,親測有效!
? ? ? ? 如有問題可聯系作者:QQ:771966081 ? ? ??微信:Bryce_cvprml
1、環境配置
? ? ? ? 本人使用的是MacBook + Python2.7.11
? ? ? ??首先,安裝NLP工具包gensim,這里包含了今天的主角:Word2Vec
? ? ? ??? ? ? ??pip install --upgrade gensim
? ? ? ??其次,安裝中文分詞工具包jieba
? ? ? ??? ? ? ??pip install jieba
2、語料庫說明
? ? ? ??從網上下載TXT版的《倚天屠龍記》,作為基本語料,還需要作進一步處理
3、詳細實驗步驟
3.1 文件編解碼(非必需)
? ? ? ??滿心歡喜地打開“倚天屠龍記.txt”,竟然是這樣的,難道是火星文?瞬間滿臉黑線,一臉懵逼。弱弱地問一句,有人能看懂嗎,膜拜一下。
? ? ? ??很顯然,這是由編解碼不一致引起的問題,即寫文件時的編碼類型和讀文件時的解碼類型不同。但本人沒有安裝可以自定義解碼方式的文本編輯器,所以只好小米加步槍,直接上代碼:
[python] view plaincopy? ? ? ??其實很簡單,從原始文件“倚天屠龍記.txt”里逐行讀取文本內容,先解碼再編碼,然后輸出到新的文件“倚天屠龍記_uft8.txt”里。新的文件長這個樣子,是不是一下子能看懂了,很開心有木有^_^?
3.2 中文分詞
? ? ? ??接下來,還要分詞、去掉標點符號。廢話不多說,直接上代碼。其實也很簡單,從“倚天屠龍記_uft8.txt”里逐行讀取文本,先分詞,再去掉標點符號,最后保存到文件“倚天屠龍記_segmented.txt”。分詞用到了jieba,本文刪除標點符號的方式有點粗暴,不許笑出聲來!(細心的讀者可能會問,為什么這里不直接給出代碼而只是代碼截圖呢,哈哈。。。因為這里直接貼上代碼格式會很亂,為了使代碼看起來清晰,只好這樣了)
? ? ? ??分詞后的結果如下,內心里一陣狂喜對不對?!
3.3 模型訓練
[python] view plaincopy3.4 模型測試
? ? ? ??到了最激動人心的時刻,這里打印出了測試代碼和結果,看起來還真有點意思啊!趙敏和自己的相似度為1;趙敏和周芷若的相似度0.98277,比較接近;趙敏和韋一笑的相似度為0.80652,遠不如趙敏和周芷若相似;最后,查找與張三豐最相似的詞,直覺上來看,排前6的都有一定道理,滅絕師太和他都是一代掌門,也是宗師,最相似;排到2到6的都是他的徒弟和徒孫。
4、參考文獻
1)中文分詞工具包jieba:http://www.oschina.net/p/jieba/?fromerr=s7MN6pKB
2)NLP工具包gensim:https://radimrehurek.com/gensim/models/word2vec.html
總結
以上是生活随笔為你收集整理的Word2Vec中文语料实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kaggle债务违约预测冠军经验分享
- 下一篇: 通俗理解LDA主题模型