[Python] CaboCha(MeCab)をMacにインストールして動かしてみた
Twitterの人工無脳botを作ってみたいなと思って、形態素解析にmokobetaさんのjanomeや、係り受け解析にCabochaを入れてみたのですが、CaboChaのインストールで、特に
RuntimeError: morph.cpp(187) [charset() == decode_charset(dinfo->charset)] Incompatible charset: MeCab charset is utf8, Your charset is EUC-JP
みたいなエラーで少し手間取ったので、備忘録も兼ねて載せます。
インストール環境
- Mac OSX 10.10.5
- Python 2.7.10
以下、コード中のコメント(#)は無視してください。
RCF++のインストール
$ brew install crf++
で出来ます(2016/2/14時点)。MacPortsもいけるんじゃないでしょうか(適当)。
もしくは以下からダウンロード。
http://taku910.github.io/crfpp/#source
- CRF++-0.58.tar.gz
この場合は以下のコマンドを叩きましょう。
$ tar zxf CRF++-0.58.tar.gz
$ cd CRF++-0.58
$ ./configure
$ make
$ sudo make install
$ cd python
$ sudo python setup.py install
MeCabのインストール
http://taku910.github.io/mecab/#download
ここから以下の3つをインスコ。
- mecab-0.996.tar.gz
- mecab-ipadic-2.7.0-20070801.tar.gz
- mecab-python-0.996.tar.gz
そしてコマンドを叩く。
$ tar zxf mecab-0.996.tar.gz
$ cd mecab-0.996
$ ./configure --with-charset=utf8
$ make
$ sudo make install
$ tar zxf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8 # これ付けないと文字化けする
$ make
$ sudo make install
$ tar zxf mecab-python-0.996.tar.gz
$ cd mecab-python-0.996
$ sudo python setup.py install
CaboChaのインストール
https://drive.google.com/folderview?id=0B4y35FiV1wh7cGRCUUJHVTNJRnM&usp=sharing#list
ここから以下をインスコ。
- cabocha-0.69.tar.bz2
そしてコマンドを叩く。
$ tar jxf cabocha-0.69.tar.bz2 # jxfダヨ
$ cd cabocha-0.69
$ ./configure --with-mecab-config=`which mecab-config` --with-charset=utf8 # これでエンコードのエラーが出ないはず
$ make
$ sudo make install
$ cd python
$ sudo python setup.py install
ちゃんとmakeしないとpythonのバインディングで失敗すると思うので(自分はそうでした)、気をつけてください。
実行
$ cabocha
今日の夜は雨が降るだろう。
今日の-D
夜は---D
雨が-D
降るだろう。
EOS
上手くいきましたね。こちらで紹介しているtest.py
も試してみましょう。
$ python test.py
太郎は-----------D
この-D |
本を---D |
二郎を-D |
見た-D |
女性に-D
渡した。
EOS
太郎は-----------D
この-D |
本を---D |
二郎を-D |
見た-D |
女性に-D
渡した。
EOS
* 0 6D 0/1 -2.457381
太郎 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
* 1 2D 0/0 1.509507
この 連体詞,*,*,*,*,*,この,コノ,コノ
* 2 4D 0/1 0.091699
本 名詞,一般,*,*,*,*,本,ホン,ホン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 3 4D 1/2 2.359707
二 名詞,数,*,*,*,*,二,ニ,ニ
郎 名詞,一般,*,*,*,*,郎,ロウ,ロー
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 4 5D 0/1 1.416783
見 動詞,自立,*,*,一段,連用形,見る,ミ,ミ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
* 5 6D 0/1 -2.457381
女性 名詞,一般,*,*,*,*,女性,ジョセイ,ジョセイ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
* 6 -1D 0/1 0.000000
渡し 動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
EOS
良い感じですね。