Ubuntuへのgensimのinstall

スポンサード リンク

2年ぐらい前に話題になった word2vec はpythonのパッケージ gensim から利用できるようだ。 とりあえずインストールして動作させてみるところまでやったのでメモしておく。

環境

Ubuntu 14.04

インストール

apt-get install gfortan  libblas-dev liblapack-dev python3-dev python3-pip
pip3 install numy scipy
pip3 install gensim

高速化のためのoption

pip3 install cython
apt-get install ipython3

動作確認

テストデータを用意する。

mkdir ~/gensim/linux-man
cp /usr/local/share/man*/* ~/gensim/linux-man
cd ~/gensim/linux-man
gunzip *
for i in `ls` ; do man $i >> ../data.txt ; done

gensimで連想させてみる。 ちょっとそれっぽい結果がでてきた。

ipython

In [1]: from gensim.models import word2vec

In [2]: data = word2vec.Text8Corpus('data.txt')

In [3]: model = word2vec.Word2Vec(data, size=200)

In [4]: model.most_similar(positive=['hostname'])
Out[4]:
[('username', 0.6987332701683044),
('host', 0.6851752400398254),
('query', 0.6693227291107178),
('ref', 0.666474461555481),
('DNS', 0.657109260559082),
('proxy', 0.6469401121139526),
('IP', 0.6330630779266357),
('client', 0.6281474828720093),
('LDAP', 0.6277490258216858),
('server', 0.6260156035423279)]

単語の引き算もしてみよう。 私からvimを取り除くとどうなるか。 performanceがimproveするらしい。

In [5]: model.most_similar(positive=['me'],negative=['vim'])
Out[5]:
[('performance', 0.5619370341300964),
 ('improve', 0.525520384311676),
 ('nonportable', 0.5212193727493286),
 ('problem', 0.5203309059143066),
 ('we', 0.4995456337928772),
 ('fix', 0.49954187870025635),
 ('impossible', 0.4874926805496216),
 ('problems', 0.4870745837688446),
 ('I', 0.48381394147872925),
 ('completely', 0.4764089286327362)]

私からemacsを取り除くとどうなるか。 performanceにproblemが生じるらしい。

In [6]: model.most_similar(positive=['me'],negative=['emacs'])
Out[6]:
[('problems', 0.6155756115913391),
 ('problem', 0.6104066371917725),
 ('performance', 0.609570324420929),
 ('people', 0.5899459719657898),
 ('nonportable', 0.5552759766578674),
 ('software', 0.5306791067123413),
 ('easily', 0.5256898999214172),
 ('problems,', 0.5255173444747925),
 ('sometimes', 0.5150910019874573),
 ("I've", 0.5115109086036682)]

つまり,word2vecは私にvimを捨ててemacsを伴侶とせよと言っているのか。 これは信用ならないライブラリだ。

Comments !

social