日本語のテキストデータを解析する際に、係り受けを抽出したいときがある。係り受けを行うことができるフリーのソフトウェアの一つに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 日本語形態素解析システムJUMANのインストール方法Ubuntu 日本語形態素解析システムJUMANのインストール方法 buntu14.04で日本語形態素解析システムJUMANのインストール方法をお伝えする。 JUMAN単体では次のコマンドで簡単にインストールできる。 $ sudo apt-get install […]
  • Python CaboChaを用いて係り受け構造を抽出する方法Python CaboChaを用いて係り受け構造を抽出する方法 Pythonと日本語係り受け解析器であるCaboChaを用いて係る語と受ける語のペアを抽出する方法をご紹介する。 環境:Ubuntu14.04 Pythonツールのインストール PythonからCaboChaを扱うために、CaboChaに付属しているPythonのsetup.pyをインストールする。 これはPython2系専用であることに注意する。 caboch […]
  • Ubuntu 日本語構文・格・照応解析システムKNPのインストール方法Ubuntu 日本語構文・格・照応解析システムKNPのインストール方法 Ubuntu14.04で日本語構文・格・照応解析システムKNPのインストール方法をお伝えする。 あらかじめ、JUMANをインストールしておく(参照「Ubuntu 日本語形態素解析システムJUMANのインストール方法」)。 まずはKNP - KUROHASHI-KAWAHARA LABより最新のKNPをダウンロードしておく。 今回はKNP […]
  • Ubuntu14.04とPython3でMeCabを使う方法Ubuntu14.04とPython3でMeCabを使う方法 MeCabは各種スクリプト言語(perl、ruby、python、Java)から、各言語バイディングで利用できるようになっている。 しかし、Pythonで用意されているのはPython2系のもので、残念ながらPython3系では使えない。 そこで、ここでは用意されているPython2系バイディングをPython3系に変換して使用する方法をお伝えする。 MeCab […]
  • R 関数に時間制限を設ける方法 ある処理にとても時間が掛かるため、一定時間経過後はその処理を途中で打ち切りたいときがある。 例えば、for文で、あるループだけが重いため全体として時間が掛かってしまう場合、その処理を一旦スキップしてfor文の先に処理を進めたい、などである。 ここでは、そのひとつの解決策として、関数に時間制限を設けて、一定時間経過後はその関数を強制終了するコードをご紹介する。 ただし […]
Ubuntuに日本語係り受け解析器CaboChaをインストールする手順