View on GitHub

zunda

Zunda: Japanese Extended Modality Analyzer

日本語拡張モダリティ解析器 Zunda

Zundaは東北大学 乾・岡崎研究室で開発され、現在は、オープンソースで開発を継続している日本語拡張モダリティ解析器です。文中のイベント(動詞や形容詞など)に対して、その真偽判断(イベントが起こったかどうか)、仮想性(仮定の話かどうか)などを解析します。以下の解析例のような複雑な表現も正しく解析できます。

News

解析例

例えば「次郎は大阪に行ったが、太郎は東京には行かず地元に残ろうとした」という文を解析した結果を以下に示します。解析結果から、「次郎が大阪に行く」ことは実際に起こったこと(真偽判断:成立)と解析され、「太郎が東京に行く」ことは起こっていないこと(真偽判断:不成立)と解析されています。

解析結果は、解析対象文の冒頭に、#EVENTで始まる行で表示されます。続いて、「イベントの中心となる形態素の番号、態度表明者(Zundaでは解析対象外ですので全てwr:筆者となります)、時制、仮想、態度、真偽判断、価値判断が続きます。文の解析は係り受け解析器 CaboChaによって行われます。

#EVENT0 4 wr:筆者 非未来 0 叙述 成立 0 0
#EVENT1 13 wr:筆者 未来 0 叙述 不成立 0 0
#EVENT2 17 wr:筆者 未来 0 意志 高確率 ポジティブ 0
#EVENT3 20 wr:筆者 非未来 0 叙述 成立 0 0
* 0 2D 0/1 1.116804
次郎 名詞,固有名詞,人名,名,,,次郎,ジロウ,ジロー B-PERSON
は 助詞,係助詞,,,,,は,ハ,ワ O
* 1 2D 0/1 3.506051
大阪 名詞,固有名詞,地域,一般,,,大阪,オオサカ,オーサカ B-LOCATION
に 助詞,格助詞,一般,,,*,に,ニ,ニ O
* 2 7D 0/2 1.101258
行っ 動詞,自立,,,五段・カ行促音便,連用タ接続,行く,イッ,イッ O
た 助動詞,,,,特殊・タ,基本形,た,タ,タ O
が 助詞,接続助詞,,,,,が,ガ,ガ O 、 記号,読点,,,,*,、,、,、 O
* 3 7D 0/1 0.6542620
太郎 名詞,固有名詞,人名,名,,,太郎,タロウ,タロー B-PERSON
は 助詞,係助詞,,,,,は,ハ,ワ O
* 4 5D 0/2 0.1446930
東京 名詞,固有名詞,地域,一般,,,東京,トウキョウ,トーキョー B-LOCATION
に 助詞,格助詞,一般,,,,に,ニ,ニ O
は 助詞,係助詞,,,,*,は,ハ,ワ O
* 5 7D 0/1 2.081317
行か 動詞,自立,,,五段・カ行促音便,未然形,行く,イカ,イカ O
ず 助動詞,,,*,特殊・ヌ,連用ニ接続,ぬ,ズ,ズ O
* 6 7D 0/1 0.000000
地元 名詞,一般,,,,,地元,ジモト,ジモト O
に 助詞,格助詞,一般,,,*,に,ニ,ニ O
* 7 -1D 3/4 0.000000
残ろ 動詞,自立,,,五段・ラ行,未然ウ接続,残る,ノコロ,ノコロ O
う 助動詞,,,,不変化型,基本形,う,ウ,ウ O
と 助詞,格助詞,引用,,,,と,ト,ト O
し 動詞,自立,,,サ変・スル,連用形,する,シ,シ O
た 助動詞,,,*,特殊・タ,基本形,た,タ,タ O
EOS

拡張モダリティ

拡張モダリティは、文中のイベントに対する書き手の判断情報です。ver.0.8では態度表明者、時制、仮想、態度、真偽判断、価値判断の6種類のタグの組み合わせで書き表されていますが、Zundaでは態度表明者以外の5つのタグについて解析します。

各タグごとのラベルは以下の通りです。 タグ体系についての詳しい情報はタグ付与コーパス作成の作業基準 version 0.8をご覧ください。

ダウンロードとインストール

  1. Zunda 1.6をダウンロード、または最新のソースコードを取得します。
  2. ./configure; make; make install でインストールできます。
    • --prefix でインストール場所を変更できます。デフォルトでは /usr/local/ 以下にインストールされます。
    • boostライブラリの位置を指定するときは、--with-boost-include でヘッダファイルの場所(例: ~/boost_1_55_0)と、--with-boost-lib でライブラリファイルの場所(例: ~/boost_1_55_0/stage/lib)を指定します。通常は不要です。
    • --with-cabocha でCaboChaのインストール場所( include/cabocha.hおよびlib/libcabocha.soを含むディレクトリ)を指定できます。通常は不要です。
    • boostとCaboCha以外のライブラリはインストール時にリンクされます。 * システム要件 * Linux * あらかじめCaboCha (>=0.60)と、Boost Library (>=1.41)をインストールしておく必要があります。以下の環境で動作を確認しています。
    • Ubuntu 12.10, gcc 4.7.2, boost 1.50
    • debian 5.0, gcc 4.7.3, boost 1.50
    • CentOS 6.4, gcc 4.4.7, boost 1.41

アンインストール

make uninstallを実施するか、以下のパスにあるファイルおよびディレクトリを削除することでアンインストールできます。

Zundaの使い方

Zundaの基本的な使い方は以下の通りです。 標準入力で解析対象の文を入力すると、CaboChaによる係り受け解析を行った後、拡張モダリティ解析を行った結果(前述の解析例)を出力します。

% echo "次郎は大阪に行ったが、太郎は東京には行かず地元に残ろうとした" | zunda

複数の文を解析する場合は、一行に一文書かれたファイルを用意して、それを標準入力に入れます。または、前述の方法でechoする文字列内に改行記号を入れると、そこを文末だと判断し、複数文として解析されます。

% echo "次郎は大阪に行った。\n太郎は東京には行かず地元に残ろうとした" | zunda

#EVENT0 4 wr:筆者 非未来 0 叙述 成立 0 0
* 0 2D 0/1 2.606551
次郎 名詞,固有名詞,人名,名,,,次郎,ジロウ,ジロー B-PERSON
は 助詞,係助詞,,,,,は,ハ,ワ O
* 1 2D 0/1 0.000000
大阪 名詞,固有名詞,地域,一般,,,大阪,オオサカ,オーサカ B-LOCATION
に 助詞,格助詞,一般,,,*,に,ニ,ニ O
* 2 -1D 0/1 0.000000
行っ 動詞,自立,,,五段・カ行促音便,連用タ接続,行く,イッ,イッ O
た 助動詞,,,,特殊・タ,基本形,た,タ,タ O
。 記号,句点,,,,*,。,。,。 O
EOS
#EVENT0 5 wr:筆者 未来 0 叙述 不成立 0 0
#EVENT1 9 wr:筆者 未来 0 意志 高確率 ポジティブ 0
#EVENT2 12 wr:筆者 非未来 0 叙述 成立 0 0
* 0 4D 0/1 0.5874210
太郎 名詞,固有名詞,人名,名,,,太郎,タロウ,タロー B-PERSON
は 助詞,係助詞,,,,,は,ハ,ワ O
* 1 2D 0/2 0.1446930
東京 名詞,固有名詞,地域,一般,,,東京,トウキョウ,トーキョー B-LOCATION
に 助詞,格助詞,一般,,,,に,ニ,ニ O
は 助詞,係助詞,,,,*,は,ハ,ワ O
* 2 4D 0/1 2.081317
行か 動詞,自立,,,五段・カ行促音便,未然形,行く,イカ,イカ O
ず 助動詞,,,*,特殊・ヌ,連用ニ接続,ぬ,ズ,ズ O
* 3 4D 0/1 0.000000
地元 名詞,一般,,,,,地元,ジモト,ジモト O
に 助詞,格助詞,一般,,,*,に,ニ,ニ O
* 4 -1D 3/4 0.000000
残ろ 動詞,自立,,,五段・ラ行,未然ウ接続,残る,ノコロ,ノコロ O
う 助動詞,,,,不変化型,基本形,う,ウ,ウ O
と 助詞,格助詞,引用,,,,と,ト,ト O
し 動詞,自立,,,サ変・スル,連用形,する,シ,シ O
た 助動詞,,,*,特殊・タ,基本形,た,タ,タ O
EOS

係り受け解析結果を入力にすることもできます。その場合は、-i で入力形式を選択します。

% echo "太郎は東京に行かない" | cabocha -f 1 > test.cab % cat test.cab | zunda -i 1

#EVENT0 4 wr:筆者 未来 0 叙述 不成立 0 0
* 0 2D 0/1 0.9637040
太郎 名詞,固有名詞,人名,名,,,太郎,タロウ,タロー B-PERSON
は 助詞,係助詞,,,,,は,ハ,ワ O
* 1 2D 0/1 0.000000
東京 名詞,固有名詞,地域,一般,,,東京,トウキョウ,トーキョー B-LOCATION
に 助詞,格助詞,一般,,,*,に,ニ,ニ O
* 2 -1D 0/1 0.000000
行か 動詞,自立,,,五段・カ行促音便,未然形,行く,イカ,イカ O
ない 助動詞,,,*,特殊・ナイ,基本形,ない,ナイ,ナイ O
EOS

全てのオプションは、--helpで表示されます。

例えば、KNP品詞体系で解析されたCaboChaの係り受け解析結果を入力するときは、zunda -i 1 --pos 1と指定し、JumanとKNPで解析された係り受け解析結果を入力するときは、zunda -i 2 --pos 1と指定します。

解析対象の品詞を指定 –possetオプションの使い方

解析対象となる事象の品詞は、デフォルトでは以下の通りです。

--posset "動詞,*|形容詞,*|名詞,サ変接続|名詞,形容動詞語幹|名詞,*:助動詞,*"

以下は解析例です。

% echo "ぼくはウナギだ" | zunda --posset "動詞,|形容詞,|名詞,サ変接続|名詞,形容動詞語幹|名詞,:助動詞,"

#EVENT0 2 wr:筆者 非未来 0 叙述 成立 0 0
* 0 1D 0/1 0.000000
ぼく 名詞,代名詞,一般,,,,ぼく,ボク,ボク,, は
助詞,係助詞,,,,*,は,ハ,ワ,,
* 1 -1D 0/1 0.000000
ウナギ 名詞,一般,,,,,ウナギ,ウナギ,ウナギ,, だ
助動詞,,,*,特殊・ダ,基本形,だ,ダ,ダ,,
EOS

「名詞+助詞+助動詞」のように2つ以上の品詞列を指定することもできます。

% echo "ぼくはウナギじゃない" | zunda --posset "動詞,|形容詞,|名詞,サ変接続|名詞,形容動詞語幹|名詞,:助詞,:助動詞,*"

#EVENT0 2 wr:筆者 非未来 0 叙述 不成立 0 0
* 0 1D 0/1 0.000000
ぼく 名詞,代名詞,一般,,,,ぼく,ボク,ボク,,
は 助詞,係助詞,,,,*,は,ハ,ワ,,
* 1 -1D 0/2 0.000000
ウナギ 名詞,一般,,,,,ウナギ,ウナギ,ウナギ,,
じゃ 助詞,副助詞,,,,,じゃ,ジャ,ジャ,,
ない 助動詞,,,*,特殊・ナイ,基本形,ない,ナイ,ナイ,,
EOS

更新履歴

今後の開発予定

参考文献