このページでは、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クライアント
- wgetコマンド
- make、gcc等の開発ツール
make、gcc等については、CygwinというパッケージをインストールすればOKです。詳細はhttps://cygwin.com/を参照してください。
準備ができたら以下の手順でインストールを行ってください。
【手順】
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):