2020年7月2日木曜日

係り受け解析は格フレーム辞書に強く依存するらしい

【要旨】3つの係り受け解析器CaboCha、KNP、GiNZAを試用してみて、素人ながら分かってきたことが少しあります。それをここ簡単に書き留めておきたい。

3種類の日本語係り受け解析器
 十分使い込んだとは言えませんが、これまでに、以下の3つの係り受け解析器を利用させていただきました。いずれも、なんらかの自動構築の格フレーム辞書を利用していると思われます。(その具体的な違いは小生には分かりませんが。)

 ・CaboCha(参考資料[1])
 ・KNP (参考資料[2])
 ・GiNZA(参考資料[3])

2つの例文についての解析結果の比較
 今回は、以下の2つの例文について、3つの解析器の解析結果を比較してみます。

例文(ア):葉は柄の長い卵形である。
例文(イ):葉は柄の長い卵形である。


 まず、例文(ア)に対する結果をみます。KNPは、「葉柄の長い」という係り受け関係をきちんと捕らえていますが、CaboChaとGiNZAはいずれも、「長い卵形」と判断しており、妥当ではありません。


 次に、例文(イ)です。これは例文(ア)に出現する"葉"が"虎"に変わっただけです!それだけの違いであれば、係り受け解析結果は変わらないのでは?と思いませんか。結果はどうでしょうか。(ア)の場合の判定結果(○×)が逆転してしまいました。すなわち、KNPは、「虎柄の長い」という不自然な係り受け関係を採用してしまいました。


格フレーム辞書が解析精度を左右する
 上記の解析は、一例(2つの例文のみの)に過ぎません。しかしながら、人間が理解するのと同じく(自然な)係り受け関係を見つけるには、格フレーム辞書(詳しくは参考資料[4][5]を参照)が重要な役割を果たしているようです。参考資料[5]には、「Webから自動構築する膨大な格フレーム辞書は、蓄積が高まれば効果が出てくる反面、どうしても雑音も入ってしまうので、結果的に解析精度は頭打ちになるだろう」という趣旨の記述があります。共感できるように思います。

Google翻訳はどうなっているか
 最後に、上の2つの例文をGoogle自動翻訳(英訳)にかけてみました。妥当な英文を生成するには、適切な係り受け解析が必要なはずです。結論として、2例文とも、妥当な英文になっています。このことから、相当に優れた格フレーム辞書を使っていることが推察できます。

 Google翻訳結果:
例文(ア):葉は柄の長い卵形である。
 -> The leaves are oval with long petioles.
例文(イ):葉は柄の長い卵形である。
 -> The leaves are long ovals with a tiger pattern.

参考資料
[1] CaboCha/南瓜: Yet Another Japanese Dependency Structure Analyzer
[2] 日本語構文・格・照応解析システム KNP 
[3] GiNZA - Japanese NLP Library
[4] 杉本徹、岩下志乃:Javaで学ぶ自然言語処理と機械学習、オーム社、平成30年9月発行
[5] 山本和英:箱庭言語処理のための格フレーム辞書構築の意義

3 件のコメント:

  1. 格フレーム以前の問題として、KNPの前段階で用いられている形態素解析器JUMANが、「虎柄」という単語を知らない、という弱点があるように思えます。そこで、うまく「虎」の「柄」に切り替えることができればいいのですが、こともあろうに「柄」を「ガラ」ではなく「エ」だと解釈してしまっているために、「柄」が「長い」に係ってしまう結果になっているようです。

    返信削除
    返信
    1. 安岡先生、専門家の立場からのコメントありがとうございます。
      小生は、形態素解析と係り受け解析を一体で考えていましたが、形態素解析で使う辞書の弱点ということを知りました。今回の「虎柄」の例文は、「葉柄」からの思いつきで勝手に作ったものですので、あまり意味がないかと思いましたが、コメントを戴き嬉しいです。

      削除
    2. 「虎柄」や「豹紋」の多肉植物は実際にいくつかあることが分かり、ちょっとほっとしました。さすがに、黄色と黒の虎柄は少ないようですが、緑地にまだらな白模様なども虎柄と呼ばれるようです。「おもと」などは確かにそのようです。

      削除