Word2vec,是google在2013年提出的開源項(xiàng)目,它實(shí)際上是一個(gè)Deep Learning模型,可以將詞(word)表征成實(shí)數(shù)值向量,采用CBOW(Continuous Bag-Of-Words Model,連續(xù)詞袋模型)和Skip-Gram(Continuous Skip-GramModel)兩種模型。
在windows下使用word2vec訓(xùn)練詞向量,需要以下幾個(gè)步驟:
1.在windows下安裝linux環(huán)境模擬器:因?yàn)閣ord2vec需要linux環(huán)境,所有首先需要在windows下安裝linux環(huán)境模擬器。推薦cygwin(下載地址:http://www.cygwin.com/install.html),在安裝時(shí)注意:因?yàn)槟J(rèn)安裝下沒有安裝make命令工具(后面要用到),所以在安裝時(shí),選擇package時(shí),需要選擇Devel模塊中的以下幾個(gè)軟件包。
gcc-core:C 編譯器gcc-g++:C++ 編譯器gdb:GNU 調(diào)試器make:"make" 實(shí)用程序的 GNU 版本 2.源碼下載:我用的是word2vec的源碼http://word2vec.googlecode.com/svn/trunk/.將文件夾word2vec放到cygwin的一個(gè)文件夾下面。3.訓(xùn)練數(shù)據(jù)的準(zhǔn)備:將語料庫進(jìn)行分詞并去掉停用詞(我的下載里面有中英文常用的停用詞),所有的詞以空格鍵或tab鍵隔開寫入一個(gè)文件中,如all_words中,并將該文件拷貝到word2vec目錄中。
4.啟動(dòng)cygwin:使用cd命令進(jìn)入word2vec文件夾下,輸入make命令,報(bào)如下錯(cuò)誤
gcc word2vec.c -o word2vec -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-resultgcc: 錯(cuò)誤:unrecognized command line option ‘-pthread’makefile:8: recipe for target 'word2vec' failedmake: *** [word2vec] Error 1
說明cygwin中的gcc不支持pthread多線程命令,解決方法是將word2vec目錄下的makefile文件打開,添加“#”注釋掉下面一行:
CFLAGS = -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-result效果如下圖所示,
%205.將你自己的數(shù)據(jù)(可以打包成壓縮文件),放入word2vec目錄下,修改demo-word.sh文件:
demo-word.sh文件的內(nèi)容如下所示:
6.訓(xùn)練數(shù)據(jù):輸入行命令sh demo-word.sh,等待訓(xùn)練完成。模型訓(xùn)練完成之后,得到了vectors.bin這個(gè)詞向量文件,文件的存儲(chǔ)類型由binary參數(shù),如果為0,便可以直接用編輯器進(jìn)行查看。
7.問題:生成的英文語料可以計(jì)算向量之間的相似程度,但中文文本下相似距離計(jì)算出現(xiàn)下面的結(jié)果:

新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注