日本語のテキストデータを解析する際に、係り受けを抽出したいときがある。係り受けを行うことができるフリーのソフトウェアの一つにCaboChaがある。CaboChaは, Support Vector Machinesに基づく日本語係り受け解析器である。

ここでは、CaboChaをインストールする手順を示した後で、CaboChaを使った簡単な係り受けを見てみる。
CaboChaのインストールの手順はコンパイル環境を構築して、mecabとCRF++をインストールした後に行う。

コンパイル環境

mecabはaptからインストールできるが、CRF++とCaboChaはソースコードからコンパイルを行う必要があるため、以下のコマンドを実行しておく。


$ sudo apt-get install build-essential

mecabのインストール

mecabのインストールはaptから行うことができるので、ここではaptから行う。また、辞書はIPAのUTF8を使うことにする。


$ sudo apt-get install mecab libmecab-dev mecab-ipadic mecab-ipadic-utf8

CRF++のインストール

次に、CRF++をインストールする。
crfpp – CRF++: Yet Another CRF toolkit – Google Project Hostingより「CRF++-0.58.tar.gz」をダウンロードしておく。


# ファイルを解凍する
$ tar zxvf CRF++-0.58.tar.gz

# カレントディレクトリの移動
$ cd CRF++-0.58

CRF++のインストールは以下のコマンドを実行する。


$ ./configure
$ make
$ sudo make install

インストールされたライブラリは「/usr/local/lib/」に配置されるため、パスを通す必要がある。

Ubuntuでは、「/etc/ld.so.conf.d」ディレクトリ内のファイル内に「/usr/local/lib」の記述があればよい。
記述がない場合は、適当なファイルを作成し「/usr/local/lib」を記述および保存して、以下のコマンドを実行する。


# キャッシュの再作成
$ sudo ldconfig

cabochaのインストール

cabocha – Yet Another Japanese Dependency Structure Analyzer – Google Project Hostingより「cabocha-0.68.tar.bz2」をダウンロードしておく。


# ファイルを解凍する
$ bzip2 -dc cabocha-0.68.tar.bz2 | tar xvf -

# カレントディレクトリの移動
$ cd cabocha-0.68
$ make check
$ sudo make install

cabochaの確認

簡易的なツリー表示で実行してみる。


$ cabocha
太郎は花子が読んでいる本を次郎に渡した
    太郎は---------D
      花子が-D     |
    読んでいる-D   |
            本を---D
            次郎に-D
              渡した
EOS

計算機に処理しやすいフォーマットで実行してみる。


$ cabocha -f1
太郎は花子が読んでいる本を次郎に渡した
* 0 5D 0/1 -0.742125
太郎	名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
* 1 2D 0/1 1.700175
花子	名詞,固有名詞,人名,名,*,*,花子,ハナコ,ハナコ
が	助詞,格助詞,一般,*,*,*,が,ガ,ガ
* 2 3D 0/2 1.825019
読ん	動詞,自立,*,*,五段・マ行,連用タ接続,読む,ヨン,ヨン
で	助詞,接続助詞,*,*,*,*,で,デ,デ
いる	動詞,非自立,*,*,一段,基本形,いる,イル,イル
* 3 5D 0/1 -0.742125
本	名詞,一般,*,*,*,*,本,ホン,ホン
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 4 5D 1/2 -0.742125
次	名詞,一般,*,*,*,*,次,ツギ,ツギ
郎	名詞,一般,*,*,*,*,郎,ロウ,ロー
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
* 5 -1D 0/1 0.000000
渡し	動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS
Ubuntuに日本語係り受け解析器CaboChaをインストールする手順