コードネームは初話ユウ

自然言語処理でいろいろやってみる

【作ってみた】全域探索を行う日本語係り受け解析器「係ろっと」

できた。ソースはこちら

 

網羅的なテストまではしていないが、ざっと動かしてみたところでは、cabochaとの結果比較で9割方一致する感じ。結果が異なるものを見てみると、だいたいこっちがおかしいのだけれど、cabochaの方が間違ってることもちらほらあるようだ。cabochaの正解率が89%とのことだが(今はもうちょいよい?)、係ろっとはそれよりやや落ちるくらいだろう。(「やや」がどのくらいなのか、データを取ってみないとなんとも言えないが。)

 

気になる計算量の方だが、探索ノード数で普通の文だと数百程度。かなりの長文(30文節とか)でも数万程度で収まる。実行時間はあっという間。あまり心配することなかったようだ。

 

現状かなり簡単なルール/スコア計算しか使っていない。評価項目は「こんなもんかな」で適当に選んでるだけに近い。評価パラメタも今は手で適当につけてるだけだし、この辺はもっとまじめに項目考えてちゃんと学習させればもう少し上がるだろうとは思う。

 

とはいえ、いろいろ例題をやらせてみると「あ、こんな文章が…」というのがけっこうあり、それらにその都度(アドホックに)対処していくとけっこう余分なぜい肉がついてきた感じ。ほんとはできるだけシンプルにしたい気持ちもあるのだが。

 

意味情報を使ったりする拡張は容易になるように作っている(つもりな)ので、KNPみたいに格フレームの情報やら使えばまたもっと精度上げられるのではないかなー、と思っている。まあそれはそれで大変そうだけど。

 

****

 

ソースの使い方を中の README.txt に記しておきますので、興味のある方はぜひ使ってみてください。結果やバグレポート等歓迎します。ご質問は本ブログへコメントいただければできるだけ対応します。