日本語のモダリティを解析できるらしい。「文中のイベント(動詞や形容詞など)に対して、その真偽判断(イベントが起こったかどうか)、仮想性(仮定の話かどうか)などを解析します」とのこと。
公式ページはたぶんここ。
環境
ubuntu14.04
インストール
CaboCha (>=0.60)と、Boost Library (>=1.41)を予め入れおく必要がある。CaboChaは入ってたけどBoost Libraryはなかったので、apt-getで入れた。
$ sudo apt-get install libboost-all-dev
後はtarballを落としてきてmakeで入れろと公式に書いてある。どんなエラーが出てくるかとびくびくしながらやったけど、まったく問題なく入った。
$ ./configure $ make $ sudo make install
試してみる
こうやって使うらしい。
$ echo -e "次郎は大阪に行った。\n太郎は東京には行かず地元に残ろうとした" | zunda #EVENT0 4 wr:筆者 非未来 0 叙述 成立 0 0 * 0 2D 0/1 -2.249829 次郎 名詞,固有名詞,人名,名,*,*,次郎,ジロウ,ジロー は 助詞,係助詞,*,*,*,*,は,ハ,ワ * 1 2D 0/1 -2.249829 大阪 名詞,固有名詞,地域,一般,*,*,大阪,オオサカ,オーサカ に 助詞,格助詞,一般,*,*,*,に,ニ,ニ * 2 -1D 0/1 0.000000 行っ 動詞,自立,*,*,五段・カ行促音便,連用タ接続,行く,イッ,イッ た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ 。 記号,句点,*,*,*,*,。,。,。 EOS #EVENT0 5 wr:筆者 未来 0 叙述 不成立 0 0 #EVENT1 9 wr:筆者 未来 0 意志 高確率 ポジティブ 0 #EVENT2 12 wr:筆者 非未来 0 叙述 成立 0 0 * 0 4D 0/1 -1.650377 太郎 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー は 助詞,係助詞,*,*,*,*,は,ハ,ワ * 1 2D 0/2 0.320510 東京 名詞,固有名詞,地域,一般,*,*,東京,トウキョウ,トーキョー に 助詞,格助詞,一般,*,*,*,に,ニ,ニ は 助詞,係助詞,*,*,*,*,は,ハ,ワ * 2 4D 0/1 -1.650377 行か 動詞,自立,*,*,五段・カ行促音便,未然形,行く,イカ,イカ ず 助動詞,*,*,*,特殊・ヌ,連用ニ接続,ぬ,ズ,ズ * 3 4D 0/1 -1.650377 地元 名詞,一般,*,*,*,*,地元,ジモト,ジモト に 助詞,格助詞,一般,*,*,*,に,ニ,ニ * 4 -1D 3/4 0.000000 残ろ 動詞,自立,*,*,五段・ラ行,未然ウ接続,残る,ノコロ,ノコロ う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ と 助詞,格助詞,引用,*,*,*,と,ト,ト し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ EOS
公式ページには改行すれば別の文として扱われると書いてあるが、echoに-eオプションを渡さないと改行文字は改行として出力されないので注意。
それはそうと、この結果の見方だが、
#EVENT0 4 wr:筆者 非未来 0 叙述 成立 0 0」
という結果は4番目の形態素がどんなモダリティなのかを表す。つまり「行っ 動詞,自立,*,*,五段・カ行促音便,連用タ接続,行く,イッ,イッ」に対応する。単純だけどわかりやすいかどうかは微妙かもしれない。
色々なことを試す
とりあえず、もうちょっと色々な文を入れてみる。
$ echo "遊びに行きたいな" | zunda #EVENT0 2 wr:筆者 未来 0 欲求 0 ポジティブ 0 * 0 1D 0/1 0.000000 遊び 名詞,一般,*,*,*,*,遊び,アソビ,アソビ に 助詞,格助詞,一般,*,*,*,に,ニ,ニ * 1 -1D 0/2 0.000000 行き 動詞,自立,*,*,五段・カ行促音便,連用形,行く,イキ,イキ たい 助動詞,*,*,*,特殊・タイ,基本形,たい,タイ,タイ な 助詞,終助詞,*,*,*,*,な,ナ,ナ EOS
なるほど。
$ echo -e "吾輩は猫である。\n名前はまだない。" | zunda * 0 1D 0/1 0.000000 吾輩 名詞,代名詞,一般,*,*,*,吾輩,ワガハイ,ワガハイ は 助詞,係助詞,*,*,*,*,は,ハ,ワ * 1 -1D 0/2 0.000000 猫 名詞,一般,*,*,*,*,猫,ネコ,ネコ で 助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ ある 助動詞,*,*,*,五段・ラ行アル,基本形,ある,アル,アル 。 記号,句点,*,*,*,*,。,。,。 EOS #EVENT0 3 wr:筆者 非未来 0 叙述 成立 0 0 * 0 2D 0/1 -2.377508 名前 名詞,一般,*,*,*,*,名前,ナマエ,ナマエ は 助詞,係助詞,*,*,*,*,は,ハ,ワ * 1 2D 0/0 -2.377508 まだ 副詞,助詞類接続,*,*,*,*,まだ,マダ,マダ * 2 -1D 0/0 0.000000 ない 形容詞,自立,*,*,形容詞・アウオ段,基本形,ない,ナイ,ナイ 。 記号,句点,*,*,*,*,。,。,。 EOS
ふーん。
まあ、勝手はなんとなくわかった。それはそうと、zundaにはpythonバインディングなんて親切なものはないらしい。zundaオリジナルなのは#から始まる行だけで、その下はcabochaの-f 1フォーマットがそのまま出てるだけなので、プログラミングで使う側としてはテキスト処理でゴリ押して使うことになるだろう。
その際は、コマンドラインオプションで何百kbも受け渡しするのは流石にアレなので、まとめてファイルを処理させるか、立ち上げておいて標準入出力でやりとりするかのどちらかになる。