iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 1
0

所謂的詞向量word embedding就是將詞與詞之間的關係以向量來保留。這樣的數值化資料,可以用來做相似詞推薦,任兩詞的相關性評估。

例如:西瓜 跟 芒果的距離 應該會比 西瓜 跟 軍艦 的距離來得更近

資料來源,以台灣的PTT為例,資料下載自
PTT:
https://tw.pyladies.com/~marsw/dmworkshop.slides.html#/2

Word2Vec範例程式參考自
https://github.com/zake7749/word2vec-tutorial/blob/master/README.md

作法:
使用2016年11月PTT的八卦版資料,含標題與內文。
存成wiki_zh_tw.txt (忽略檔名,跟wiki無關XD)

1.使用jieba 對文本斷詞,並去除停用詞

python3 segment.py

https://ithelp.ithome.com.tw/upload/images/20181016/20112538I0LS7Krtje.png

2.使用gensim 的 word2vec 模型進行訓練

python3 train.py

3.測試訓練出的模型

python3 demo.py

輸入一個詞,則去尋找前一百個該詞的相似詞

例如輸入"駭客"
https://ithelp.ithome.com.tw/upload/images/20181016/20112538ZMXUL4UScG.png

例如輸入"網軍"
https://ithelp.ithome.com.tw/upload/images/20181016/20112538WYSaTUesw9.png

的確可以看到很多相關的詞彙,詞與詞之間的相似度也滿合理的,因此後續便能應用詞向量進行如相似文章分析、文章分類、情緒分析、主題分析等應用。


下一篇
fastText
系列文
自然語言技術與AI/ML初探30

尚未有邦友留言

立即登入留言