詞向量教學
下載課程所需檔案,指令為
wget http://140.112.41.98:7000/word_emb_tutorial.tar.gz
tar zxvf word_emb_tutorial.tar.gz
cd word_emb_tutorial
訓練詞向量
語料前處理
公視語料在pre_subtitle資料, 指令為
pre_subtitle/
語料前處理要做的事是把不是中文的詞者去掉,再
用結巴分詞,做成word2vec函數能輸入的格式。
指令為
python3 –m pip install jieba --user
python3 preprocess.py .
執行後產生出corpus.txt
word2vec訓練
cd word2vec/trunk
ls
make
cd ../../
./word2vec/trunk/word2vec –train corpus.txt –output my.cbow.200d.txt –size
200 –window 5 –sample 1e-4 –negative 10 –hs 0 –cbow 1 –iter 15 –threads 8
–min-count 5
上圖呈現訓練詞向量過程。
使用詞向量
以下代碼可以看到詞向量結果
vim my.cbow.200d.txt
若要離開文件按esc鍵,再打
:q
上圖呈現詞向量結果。
如果沒有安裝numpy會報錯指令
python3 –m pip install numpy
此指令可以遇到錯誤再安裝numpy
找出句子下一句要接的話
vim sample_test_data.txt
把句子分詞後,用詞向量的平均值來表示句子
假設前一句跟後一句的內容有關聯
用詞向量平均值的相似度,來找出哪一回覆可能是答句
輸入以下代碼:
./find_with_word_sim.py my.cbow.200d.txt.
[0]
https://drive.google.com/file/d/0B7GHhzIVHBJGc2J0SXJxeFRNVE0/view