このページでは、word2vecをWindows PCにインストールする方法について解説します。
word2vecは、もともとLinux用に書かれたc言語のコードなのでそのままでは、Windowsではコンパイルできません。多くのブログで解説されている記事はほとんどLinux用のインストール方法です。Windowsでのインストール方法について説明された記事がないので、メモとして残しておきます。
最初にLinux用のソースコードをコンパイルするとどのようになるかを確認してきましょう。Linux用のソースコードをコンパイルすると次のように「pthread.h」が無いといわれます。この問題は、Windows用に移植されたコードを利用することで解決することができます。
word2vec-c\word2vec.c:19:21: fatal error: pthread.h: No such file or directory
予め準備しておくツールは以下のとおりです。
準備ができたら以下の手順でインストールを行ってください。
【手順】
gitコマンドでWindows用のソースコード一式をダウンロードします。
git clone https://github.com/zhangyafeikimi/word2vec-win32
「word2vec-win32」というフォルダができるのでcdして、makeします。
cd word2vec-win32
make
「demo-word.sh」を実行するとサンプルデータの作成が開始されます。
このときに「textt8」というコーパスのファイルから、「vectors.bin」というベクトルデータが作成されます。
私のWindows PCでは8分30秒ほどかかりました。
demo-word.sh
Welcome to Git (version 1.9.0-preview20140217)
Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.
Starting training using file text8
Vocab size: 71291
Words in train file: 16718843
Alpha: 0.000121 Progress: 99.58% Words/thread/sec: 20.16k
real 8m31.240s
user 0m0.000s
sys 0m0.031s
Enter word or sentence (EXIT to break):
処理が終了すると入力待ちになりますので、何か単語をタイプしてみましょう。
例えば、japanと入力してみます。
Enter word or sentence (EXIT to break): japan
Word: japan Position in vocabulary: 582
Word Cosine distance
------------------------------------------------------------------------
china 0.658320
korea 0.592824
taiwan 0.553882
japanese 0.549832
paekche 0.489144
jpy 0.488681
thailand 0.482999
<<以下省略>>
距離的に近いワードがでてきます。
EXITと入力すると、終了します。もう一度起動する場合は以下のようにタイプします。
distance vectors.bin
Enter word or sentence (EXIT to break):