読者です 読者をやめる 読者になる 読者になる

"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

CabochaのUbuntuへのインストール(Pythonでテスト)



スポンサーリンク

言語処理100本ノック 2015でCabochaを使って、言語処理をするという課題があったので環境を準備した。


【環境】

$ uname -a
Linux precise32 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux


CRF++のインストール

CRF++やらが、Cabochaの動作条件にあるので、先に実装します。

・以下からメディアをダウンロードします。
CRF++: Yet Another CRF toolkit

・解凍します。

$ tar zxvf CRF++-0.58.tar.gz

・インストールします。

$ cd CRF++-0.58
$ ./configure
$ make
$ sudo make install

・キャッシュをクリアします。

$ sudo ldconfig


cabochaのインストール

・以下のリンクから「cabocha-0.69.tar.bz2」をダウンロード。
CaboCha downloads

・解凍

$ bzip2 -dc cabocha-0.68.tar.bz2 | tar xvf -

・インストール

$ cd cabocha-0.69
$ ./configure 
$ make
$ make check
$ su make install

・テスト

$ cabocha
cabocha: error while loading shared libraries: libcabocha.so.5: cannot open shared object file: No such file or directory

#キャッシュのクリアを忘れていたので実施

$ sudo ldconfig
$ cabocha
morph.cpp(187) [charset() == decode_charset(dinfo->charset)] Incompatible charset: MeCab charset is UTF-8, Your charset is EUC-JP-MS

以下を参照し、cabocha-0.69ディレクトリを削除後「./configure --with-mecab-config=`which mecab-config` --with-charset=UTF8」でやり直し。

・再テスト

$ cabocha
あの子とあの子はできている
      あの-D
        子と---D
          あの-D
            子は-D
        できている

上手く行くっているよう。


pythonモジュールのインストール

cabochaを展開したディレクトリに「python」があるので配下のsetup.pyを実行します。

・インストール

$ pwd
/home/vagrant/cabocha-0.69/python
$ ls
CaboCha.py  CaboCha_wrap.cxx  setup.py  test.py

$ sudo python setup.py install

・テスト

$ python
>>> import CaboCha
>>> c = CaboCha.Parser()
>>> sentence = "太郎はこの本を二郎を見た女性に渡した。"
>>> print c.parseToString(sentence)
  太郎は-----------D
      この-D       |
        本を---D   |
        二郎を-D   |
            見た-D |
            女性に-D
            渡した。