まず最初にmacOS (Sierra)にプリインストールされているpythonだとpip installで不具合がでることがあるのでbrewで入れ直して/usr/local/bin/pythonで使えるようにするか、pyenvなどで使えるようにしておく。
オライリーのword2vecの教科書に従って、sudo python setup.py install しても “fatal error: 'numpy/arrayobject.h' file not found” と怒られる。そこで、まず
$ find / -name arrayobject.h -print 2> /dev/null
でarrayobject.hが入っているディレクトリを探す。複数あると思われるので、適当に一つ選び(例えば、/usr/local/lib/python2.7/site-packages/numpy/core/include)、下のようにsetup.pyのinclude_dirsを
include_dirs = ['/usr/local/lib/python2.7/site-packages/numpy/core/include'],
に変更する。あとimport numpyも一応書いておく。
Macの場合はこれに加えて、word2vec.cppにおける31行目を変更する。
// #include <malloc.h>
#include <stdlib.h>
これで、sudo python setup.py install が通る。
さらに、vis.pyにおけるfilenameのpathをword2vecのvector.binなどを指定してやることで、やっとpython vis.pyでqueryが出現する。これで例えば、kingなどの単語を入力するとグラフが書かれたpngファイルが生成される。
参考サイト
Caffe Macインストール (numpy/arrayobjectのエラーの参考)
word2vec_boostpython (教科書で紹介されているツール)
word2vecを使って、日本語wikipediaのデータを学習する (word2vecの基本的な使い方、vector.binの作成)