word 2 vec入門チュートリアル


word 2 vecのインストールの全過程は以下の通りです.
1.word 2 vecソースコードのダウンロード
注意:多くの文章はsvn checkoutを与えますhttp://word2vec.googlecode.com/svn/trunk/.しかし、中国のネットは、あなたが知っているので、私たちは別の方法を取っています.https://github.com/dav/word2vec これはgithubのアドレスです.天朝のGFWは再び牛の割れ目を示し、git cloneもダウンしない.こらえきれずに太い口を爆発させ、Fxxx.最後にgithubでzipパッケージdownloadを直接ダウンロードし、scpをサーバに送信します.
2.中身を見てみる
[webopa@hive001 word2vec-master]$ tree -L 1
.
├── bin
├── data
├── LICENSE
├── README.md
├── scripts
└── src

4 directories, 2 files

3.cdからsrcにmakeコマンドでインストール
注意:githubでダウンロードしたzipパッケージのmakeソースは以下の通りです.
1 SCRIPTS_DIR=../scripts
2 BIN_DIR=../bin
3
4 CC = gcc
5 #The -Ofast might not work with older versions of gcc; in that case, use -O2
6 CFLAGS = -lm -pthread -O2 -Wall -funroll-loops
7
8 all: word2vec word2phrase distance word-analogy compute-accuracy
9
10 word2vec : word2vec.c
11     $(CC) word2vec.c -o ${BIN_DIR}/word2vec $(CFLAGS)
12 word2phrase : word2phrase.c
13     $(CC) word2phrase.c -o ${BIN_DIR}/word2phrase $(CFLAGS)
14 distance : distance.c
15     $(CC) distance.c -o ${BIN_DIR}/distance $(CFLAGS)
16 word-analogy : word-analogy.c
17     $(CC) word-analogy.c -o ${BIN_DIR}/word-analogy $(CFLAGS)
18 compute-accuracy : compute-accuracy.c
19     $(CC) compute-accuracy.c -o ${BIN_DIR}/compute-accuracy $(CFLAGS)
20     chmod +x ${SCRIPTS_DIR}/*.sh 21 22 clean: 23 pushd ${BIN_DIR} && rm -rf word2vec word2phrase distance word-analogy compute-accuracy; popd

6行目-pthreadの後のパラメータを-02に変更するとネット上で多くの文章が書かれていますが、githubでダウンロードされたバージョンは02なので、これ以上変更する必要はありません.
4.makeが順調に完成した後、空のbinディレクトリの下に以下のファイルが増えました.
[webopa@hive001 word2vec-master]$ tree bin
bin
├── compute-accuracy
├── distance
├── word2phrase
├── word2vec
└── word-analogy

0 directories, 5 files

私たちがコンパイルした結果です
5.demoを実行する
cdからscriptsの下にdemo-classes.shを表示
1 DATA_DIR=../data
2 SRC_DIR=../src
3 BIN_DIR=../bin
4
5 TEXT_DATA=$DATA_DIR/text8
6 CLASSES_DATA=$DATA_DIR/classes.txt
7
8 pushd ${SRC_DIR} && make; popd
9
10
11 if [ ! -e $CLASSES_DATA ]; then
12
13   if [ ! -e $TEXT_DATA ]; then
14     wget http://mattmahoney.net/dc/text8.zip -O $DATA_DIR/text8.gz
15     gzip -d $DATA_DIR/text8.gz -f
16   fi
17   echo -----------------------------------------------------------------------------------------------------
18   echo -- Training vectors...
19   time $BIN_DIR/word2vec -train $TEXT_DATA -output $CLASSES_DATA -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -threads 12 -classes 500
20
21 fi
22
23 sort $CLASSES_DATA -k 2 -n > $DATA_DIR/classes.sorted.txt
24 echo The word classes were saved to file $DATA_DIR/classes.sorted.txt

このスクリプトを初めて実行すると、text 8.gzというファイルをダウンロードしてこのファイルをダウンロードした後、再びこのスクリプトを実行します.
[webopa@hive001 scripts]$ ./demo-classes.sh
~/lei.wang/word2vec/word2vec-master/src ~/lei.wang/word2vec/word2vec-master/scripts
gcc word2vec.c -o ../bin/word2vec -lm -pthread -O2 -Wall -funroll-loops
gcc word2phrase.c -o ../bin/word2phrase -lm -pthread -O2 -Wall -funroll-loops
gcc distance.c -o ../bin/distance -lm -pthread -O2 -Wall -funroll-loops
gcc word-analogy.c -o ../bin/word-analogy -lm -pthread -O2 -Wall -funroll-loops
gcc compute-accuracy.c -o ../bin/compute-accuracy -lm -pthread -O2 -Wall -funroll-loops
chmod +x ../scripts/*.sh
~/lei.wang/word2vec/word2vec-master/scripts
-----------------------------------------------------------------------------------------------------
-- Training vectors...
Starting training using file ../data/text8
Vocab size: 71291
Words in train file: 16718843
Alpha: 0.000122  Progress: 99.58%  Words/thread/sec: 14.48k
real    2m52.606s
user    20m24.567s
sys 0m1.328s
The word classes were saved to file ../data/classes.sorted.txt