2008年2月24日日曜日

【Python】 PythonからMeCabを使う。

Ubuntu 7.04 Feisty, Python 2.5, MeCab 0.97 (UTF-8)

日本語の形態素解析エンジンMeCabをインストールする。

MeCab本家
http://mecab.sourceforge.net/

ダウンロード
http://sourceforge.net/project/showfiles.php?group_id=177856
からmecab、mecab-ipadic、mecab-pythonをダウンロードする。

mecab-0.97.tar.gzを解凍する。
# tar zxvf mecab-0.97.tar.gz


展開したディレクトリに移動して、コンパイル、インストールする。
# ./configure --with-charset=utf8 --enable-utf8-only
# make
# make check
# sudo make install

make checkはエラーが出るが問題なし。

makeできないときはapt-getでgccとbuild-essentialsをインストールする。
# sudo apt-get install gcc build-essentials

mecab-ipadic-2.7.0-20070801.tar.gzを解凍する。
# tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz

展開したディレクトリに移動して、コンパイル、インストール。
# ./configure --with-charset=utf8 --enable-utf8-only
# make
# sudo make install


以下のエラーが出るときは
libmecab.so.1: cannot open shared object file: No such file or directory

一手間必要。
# sudo vi /etc/ld.so.conf
/usr/local/libを追加
# sudo ldconfig

mecab-python-0.97.tar.gzを解凍する。
# tar zxvf mecab-python-0.97.tar.gz


展開したディレクトリに移動して、インストール。
# python setup.py build
# sudo python setup.py install


エラーの場合はpython-devをインストール。
# sudo apt-get install python-dev

ここを参考にテストする。
>>> import MeCab
>>> m = MeCab.Tagger('-Ochasen')
>>> print m.parse ("今日もしないとね")
>>> n = m.parseToNode('今日もしないとね')
>>> n = n.next
>>> while n:
>>>   print n.surface
>>>   print n.feature
>>>   n = n.next
今日
名詞,副詞可能,*,*,*,*,今日,キョウ,キョー

助詞,係助詞,*,*,*,*,も,モ,モ

動詞,自立,*,*,サ変・スル,未然形,する,シ,シ
ない
助動詞,*,*,*,特殊・ナイ,基本形,ない,ナイ,ナイ

助詞,接続助詞,*,*,*,*,と,ト,ト

助詞,終助詞,*,*,*,*,ね,ネ,ネ

BOS/EOS,*,*,*,*,*,*,*,*


n.featureで品詞、n.surfaceで形態素が取り出せる。

ラベル: , ,

0 件のコメント:

コメントを投稿

登録 コメントの投稿 [Atom]

この投稿へのリンク:

リンクを作成

<< ホーム