參考:http://techblog.youdao.com/?p=915#LinkTarget_699
word2vector是一個把詞轉換成詞向量的一個程序,能夠把詞映射到K維向量空間,甚至詞與詞之間 的向量操作還能和語義相對應。如果換個思路,把詞當做feature,那么word2vec就可以把feature映射到K維向量空間,一、什么是 word2vec?
采用的模型有 CBOW(Continuous Bag-Of-Words,即連續的詞袋模型)和 Skip-Gram 兩種
word2vec 通過訓練,可以把對文本內容的處理簡化為 K 維向量空間中的向量 運算,而向量空間上的相似度可以用來表示文本語義上的相似度。
。因此,word2vec 輸出的詞向量可以被用來做很多 NLP 相關的工作,比如聚類、找同義詞、詞性分 析等等
二、快速入門
簡單介紹cmake makefile.txt → makefile make的關系
首先編寫一個與平台無關的CMakelist.txt文本文件,這個文本文件是為了制定整個編譯流程,然后通過cmake path(makelist.txt所在位置,在這個目錄下就是 dian .) 生成本地化的Makefile文件 ,最后make 編譯文件
總的來說就是
- 編寫cmakelist.txt(跨平台的文件來制定整個編譯流程)
- cmake .生成本地化的makefile
- make 編譯 word2vec 工具
然后你想運行***腳本就sh ***.sh
demo-word.sh 中的代碼如下,
主要工作為:
1) 編譯(make)
2) 下載訓練數據 text8,如果不存在。text8 中為一些空格隔開的英文單 詞,但不含標點符號,一共有 1600 多萬個單詞。
3) 訓練,大概一個小時左右,取決於機器配置
4) 調用 distance,查找最近的詞
上github下載之后,打開文件夾你能看到很多.sh的腳本

這時候除了開心就是開心
因為運行腳本就ok了
首先敲入 make (由於有makefile文件直接這樣就可以了 更何況沒有makelist.txt cmake 也沒有用)
簡單介紹cmake makefile.txt → makefile make的關系
首先編寫一個與平台無關的CMakelist.txt文本文件,這個文本文件是為了制定整個編譯流程,然后通過cmake path(makelist.txt所在位置,在這個目錄下就是 dian .) 生成本地化的Makefile文件 ,最后make 編譯文件
總的來說就是
- 編寫cmakelist.txt(跨平台的文件來制定整個編譯流程)
- cmake .生成本地化的makefile
- make
然后你想運行***腳本就sh ***.sh
比如說我想知道一個詞與誰的距離最近

這個腳本里的內容首先會檢查你有沒有test8這個訓練語料
如果沒有它會自動下載,
下載之后就開始訓練了
之后你可以輸入三個單詞
paris france berlin(分開的)
之后你會看到Germany出現在第一個位置
如果你不想運行腳本你也可以直接執行可執行的程序 比如:你可以在vectors.txt看到test8中的詞轉成了50維的詞向量
nohup ./word2vec -train text8 -output vectors.txt -cbow 1 -size 50 -window 8 -negative 25 -hs 0 -sample 1e-4 -threads 20 -iter 1 > test.log 2>&1 &
總之一句話,認真看腳本。。。。
