日本語のテキストデータを解析する際に、係り受けを抽出したいときがある。係り受けを行うことができるフリーのソフトウェアの一つに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

関連する記事

  • R データフレームから特定の型の列を抽出する方法R データフレームから特定の型の列を抽出する方法 Rのデータフレームから特定の型の列を抽出する方法をお伝えします。 サンプルデータとして、irisを用います。 データフレームの構造をstr関数で確認します。 > str(iris) 'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 […]
  • ApacheとWildflyの連携方法ApacheとWildflyの連携方法 ApacheとWildflyを連携する方法を3つの手順でご紹介する。Jboss […]
  • MySQL データベース内のカラム数を確認する方法MySQL データベース内のカラム数を確認する方法 MySQLまたはMariaDBのデータベース内のカラム数を確認する方法をお伝えします。 サンプルデータベースを次のように準備します。 # データベース作成 CREATE DATABASE sample_database; # データベース指定 use sample_database; # テーブル作成 CREATE TABLE […]
  • R言語 CRAN Task View:堅牢な統計的方法R言語 CRAN Task View:堅牢な統計的方法 CRAN Task View: Robust Statistical Methodsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Martin Maechler Contact: Martin.Maechler at […]
  • 地図で見る石川県金沢市の人口 2014年1月地図で見る石川県金沢市の人口 2014年1月 金沢市役所が公開している平成26年1月の住民基本台帳人口と総務省統計局が公開している地図データを基に人口、人口密度、世帯数、未成年・高齢者の年齢別などの数値および前年同月からの増減率を地図上に色分けして視覚化したものと上位・下位のランキングをご紹介する。 人口、世帯数などのデータを活用しようと考えた場合、まずは国勢調査を思いつくが、国勢調査は5年ごとに行われており、最近 […]
Ubuntuに日本語係り受け解析器CaboChaをインストールする手順

Ubuntuに日本語係り受け解析器CaboChaをインストールする手順」への1件のフィードバック

コメントは受け付けていません。