Python GensimでLDAを使うための前準備・パッケージのインストール

ツイッターの男女判定(前回の記事)のために、LDAを使ったテキストマイニングがやりたくなった。そのインストール手順メモ。


LDA(Latent Dirichlet Allocations)を使うために現時点で一番簡単な方法は、pythonのgensimというパッケージを使う方法のようです。その手順を書きます。


gensim関係のやってみたシリーズのリンク一覧


Python GensimでLDAを使うための前準備・パッケージのインストール

gensimを使ったwikipediaのコーパス作成

gensim0.8.6のチュートリアルをやってみた【コーパスとベクトル空間】

gensim0.8.6のチュートリアルをやってみた【Topics and Transformations】

gensim0.8.6のチュートリアルをやってみた【Similarity Queries】



インストール前の注意事項


pythonに必要なパッケージ類は全部ソースからインストールしています。


ソースからインストールしない方法もあるのですが、2013年4月時点では、pythonに詳しくないと難しいので全くおすすめしません。対象とするOSはAmazon Linuxです。


pythonはyumで使われてたりするので、システムのpythonのバージョンを変えると問題が起きます。なので、この記事ではpythonを特定の場所にインストールしています。


yumからインストールする系のパッケージはyumでバイナリをインストールします。必要そうなものはとりあえず全部入れる手順にしているので、何かしらのサービスが稼働しているサーバーで試すのはおすすめしません。


gensimでLDAを使うプログラムは、一回の実行に10時間とかかかったりしますし、メモリやCPUリソースも大量に使います。そういう意味でも、専用のサーバーを用意することをおすすめします。本手順はAmazon EC2で実行しています。



pythonと必要なパッケージのインストール


コンパイラ等のインストール。

Amazon Linuxはsse3に対応していたのでatlas-sse3も入れています。どのバージョンのsseに対応しているかは「cat /proc/cpuinfo」のflagsで確認できます。


sudo yum groupinstall -y 'Development Tools' install openssl-devel* zlib*.x86_64
sudo yum install -y gcc gcc-c++ zlib-devel openssl-devel bzip2-devel
sudo yum install -y atlas atlas-devel atlas-sse3 atlas-sse3-devel gcc-gfortran

pythonのインストール。

numpyとscipyを一般ユーザーでインストールする都合上、pythonをインストールしたディレクトリを一般ユーザーでも書き込めるようにします。


cd
wget http://python.org/ftp/python/2.7/Python-2.7.tgz
tar xfz Python-2.7.tgz
cd Python-2.7
./configure --prefix=/opt/python2.7 --with-threads --enable-shared
make
sudo make install

# ~/.bashrcに追記
alias python='/opt/python2.7/bin/python'
alias python2.7='/opt/python2.7/bin/python'
PATH=$PATH:/opt/python2.7/bin

source ~/.bashrc

# /etc/ld.so.conf.d/opt-python2.7.confに追記
/opt/python2.7/lib

sudo ldconfig

sudo chown -R ec2-user /opt/python2.7
sudo chgrp -R ec2-user /opt/python2.7

numpyのインストール。


cd
wget http://downloads.sourceforge.net/project/numpy/NumPy/1.7.0/numpy-1.7.0.tar.gz
tar zxvf numpy-1.7.0.tar.gz
cd numpy-1.7.0
python2.7 setup.py build
python2.7 setup.py install

scipyのインストール。


cd
wget http://downloads.sourceforge.net/project/scipy/scipy/0.11.0/scipy-0.11.0.tar.gz
tar zxvf scipy-0.11.0.tar.gz
cd scipy-0.11.0
python2.7 setup.py build
python2.7 setup.py install

gensimのインストール。

これが今回の大本命です。


cd
wget https://pypi.python.org/packages/source/g/gensim/gensim-0.8.6.tar.gz
tar zxvf gensim-0.8.6.tar.gz
cd gensim-0.8.6
python2.7 setup.py build
python2.7 setup.py install

インストールが成功したことの確認。

下記の3つのimport文でエラーが起きなければインストール完了です。


cd
python2.7

>>> import numpy
>>> import scipy
>>> import gensim

atlasがちゃんと使われているかどうかの確認は、「python -c 'import numpy; numpy.show_config()'」でできます。



参考リンク


ec2へpythonをソースからインストール

http://joshualholmes.wordpress.com/category/amazon-ec2/


numpy, scipyをソースからインストール

http://memo.yomukaku.net/entries/jbRkQkq


gensimをソースからインストール

http://radimrehurek.com/gensim/install.html


著者プロフィール
Webサイトをいくつか作っています。
著者プロフィール