超言理論

特に益もない日記である

さくらVPS(CentOS release 6.5 (Final))でPython3とmecabのインストール

Python2.7ならインストールも簡単だし、mecabも使えるから2.7をインストールしようと思ったんだけど、
[python] Python2.7の公式サポートはもはや期待できないから、とっととPython3に移行したほうがいいよ | 私の小岩ホッチキス
という記事を読んで、python3.3をインストールすることにした。あと、やっぱりmecabを使いたいので3.3向けのissueを適応してみた。

まず、Python3のインストールはここ(CentOS に Python2.7, Python3.3を入れたメモ - Qiita)を参考に、以下のコマンドを実行する。

yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-deve

curl -O http://python.org/ftp/python/3.3.3/Python-3.3.3.tgz
tar zxf Python-3.3.3.tgz 

cd ../Python-3.3.3
./configure --prefix=/opt/local
sudo make && make altinstall

curl -O http://python-distribute.org/distribute_setup.py
/opt/local/bin/python3.3 ./distribute_setup.py 

/opt/local/bin/easy_install-3.3 virtualenv 

これでpython3.3.3がインストールされる。Permissionがなければ適当にsudoしておく。
Python3はPython2と少し異なる書き方になっている命令があるので、心配なら適当に確認することをおすすめする。

Dive Into Python 3 日本語版

Dive Into Python 3 日本語版


次に、MeCabも使いたいのでここ(Ubuntu - MeCabをPython3上から使えるようにする - Qiita)を参考に、インストールを行う。
まず先にrequest_type.patchをここ(Issue 5 - mecab - Python wrapper: surface text garbled in first call to parseToNode - Japanese morphological analyzer - Google Project Hosting)から、MeCab.pyとMeCab_wrap.cxxをここ(Issue 7 - mecab - swig version used for mecab-python too old. - Japanese morphological analyzer - Google Project Hosting)からダウンロードしておく。(wget で適当に取得しようと思ったんだけど、うまく行かなかったので。)

wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz
tar -zxvf mecab-0.996.tar.gz
cd ~/mecab-0.996
patch -u < ../request_type.patch
./configure --enable-utf8-only
make
sudo make install

wget https://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
tar -zxvf mecab-ipadic-2.7.0-20070801.tar.gz
cd ~/mecab-ipadic-2.7.0-20070801
./configure --with-charset=utf8
make
sudo make install

wget https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz
tar -zxvf mecab-python-0.996.tar.gz
mv MeCab.py mecab-python-0.996/
mv MeCab_wrap.cxx mecab-python-0.996/
cd ~/mecab-python-0.996
vim setup.py

#python3向けの修正を適用([http://anond.hatelabo.jp/20121113070853:title])
#return string.split (cmd1(str)) を
#return cmd1(str).split() に書き換える。

python3 setup.py build
sudo python3 setup.py install

これでmecabpython向けmecabモジュール(mecab-python)、あとipa-dicがインストールできた。

使い方は従来のmecab-python通りでOK。ここらへん(Pythonからmecabで形態素解析やってみる - アオのログ)を参考にすれば良いと思う。

import MeCab

tagger = MeCab.Tagger ("-Owakati")

text="これはテストです"

result = tagger.parse(text)
print(result)

ちなみに、MeCab.Tagger に与える引数を適当に変えると出力される結果が変わる。

このコードは、実行すると
>>> これ は テスト です
と表示される。素晴らしい。
mecab(を含む自然言語処理ツール)の基本的な使い方は、この本を読むと良い。

入門 自然言語処理

入門 自然言語処理


わかりやすいページも本も増えたので、だいぶこういうことをやりやすい世の中になったね。


Copyright © 2012-2016 Masahiro MIZUKAMI All Rights Reserved.