" > corpus.txt
```
因為這些數據雖然去除了其他標簽的數據,但是卻把保留下來了,所以后來作者在分詞程序中去除了這個標簽
我在這個[網頁](http://www.jb51.net/article/65497.htm)上找到了一個python去標簽的簡單代碼。但是沒有實驗過,不知效果怎么樣:
這段代碼可以用于去除文本里的字符串標簽,不包括標簽里面的內容
```
import re
html='腳本之家,Python學習!'
dr = re.compile(r']+>',re.S)
dd = dr.sub('',html)
print(dd)
```
運行結果如下:
```
腳本之家,Python學習!
```
##實驗
整理之后就可以在bin文件夾下運行程序了,圖片和參數解釋來自[這里](http://blog.csdn.net/heyongluoyao8/article/details/43488765),代碼如下:
```
time ./word2vec -train text8 -output vectors.bin -cbow 1 -size 200 -window 8 -negative 25 -hs 0 -sample 1e-4 -threads 20 -binary 0 -iter 15
```

-time 會在結果前輸出實驗用的時間,當然如果不需要的話,可以去掉
-train 訓練數據
-output 結果輸入文件,即每個詞的向量,也可以output為txt文件,但是txt文件沒有直接用./distance
-cbow 是否使用cbow模型,0表示使用skip-gram模型,1表示使用cbow模型,默認情況下是skip-gram模型,cbow模型快一些,skip-gram模型效果好一些(0的情況跑了2個小時,1的時候跑了50分鐘)
-size 表示輸出的詞向量維數
-window 為訓練的窗口大小,8表示每個詞考慮前8個詞與后8個詞(實際代碼中還有一個隨機選窗口的過程,窗口大小<=5)
-negative 表示是否使用NEG方,0表示不使用,其它的值目前還不是很清楚
-hs 是否使用HS方法,0表示不使用,1表示使用
-sample 表示 采樣的閾值,如果一個詞在訓練樣本中出現的頻率越大,那么就越會被采樣
-binary 表示輸出的結果文件是否采用二進制存儲,0表示不使用(即普通的文本存儲,可以打開查看),1表示使用,即vectors.bin的存儲類型
-iter 迭代次數
除了上面所講的參數,還有:
-alpha 表示 學習速率
-min-count 表示設置最低頻率,默認為5,如果一個詞語在文檔中出現的次數小于該閾值,那么該詞就會被舍棄
-classes 表示詞聚類簇的個數,從相關源碼中可以得出該聚類是采用k-means
跑完后,用下面的命令啟動距離計算,然后輸入文字
```
./distance vectors.bin
```
至于聚類,只需要另一個命令即可:
```
./word2vec -train resultbig.txt -output classes.txt -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -threads 12 -classes 500
```
按類別排序:
```
sort classes.txt -k 2 -n > classes.sorted.txt
```
##應用
[深度學習word2vec筆記之應用篇](https://www.52ml.net/16951.html)
這篇文章介紹了word2vec如何應用在廣告推薦中
#2. Tensorflow中的word2vec
現在word2vec已經集成到了tensorflow中
使用tensorflow下的word2vec模型
[官網](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/models/embedding)中給的例子:
**Word2Vec Tutorial**
To download the example text and evaluation data:
```
wget http://mattmahoney.net/dc/text8.zip -O text8.zip
unzip text8.zip
wget https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/word2vec/source-archive.zip
unzip -p source-archive.zip word2vec/trunk/questions-words.txt > questions-words.txt
rm source-archive.zip
```
Assuming you are using the pip package install and have cloned the git repository, navigate into this directory and run using:
```
cd tensorflow/models/embedding
python word2vec_optimized.py \
--train_data=text8 \
--eval_data=questions-words.txt \
--save_path=/tmp/
```
To run the code from sources using bazel:
```
bazel run -c opt tensorflow/models/embedding/word2vec_optimized -- \
--train_data=text8 \
--eval_data=questions-words.txt \
--save_path=/tmp/
```
我雖然跑通了程序,在tmp文件夾中也生成了幾個文件,但是完全不知道怎么用。。。。。
#3. gensim的word2vec
請參考這篇教程
http://blog.csdn.net/Star_Bob/article/details/47808499
##參考
[Windows下使用Word2vec繼續詞向量訓練](http://blog.csdn.net/heyongluoyao8/article/details/43488765)
[利用word2vec對關鍵詞進行聚類](http://blog.csdn.net/zhaoxinfan/article/details/11069485)
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/models/embedding
[深度學習word2vec筆記之應用篇](https://www.52ml.net/16951.html)