I am a professor emeritus of CS at Kanagawa Institute of Technology, Japan. Originally my specialty was parallel and distributed systems. My current interests include machine learning, natural language processing, creating mobile apps with MIT App Inventor, and quantum computing. In the web version of this blog, clicking the icon on the right (a plastic sphere) will take you to the "List of Quantum Computing Articles". - Fujio Yamamoto (for e-mail, add "@ieee.org" after "yamamotof")
2020年7月19日日曜日
植物の自由形式説明文からJSON形式テキストを自動生成(まとめ)
これまで、植物の自由形式説明文からJSON形式テキストを自動生成して、多様な検索を可能とする試みについて書いてきました。8回くらい連載してきたと思います。今回は、これを分かりやすく(ポスター形式で)纏めてみました。
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] 山本和英:箱庭言語処理のための格フレーム辞書構築の意義
2020年6月30日火曜日
日本語解析のためのCaboChaとKNP
植物の特性に関するJSONファイルの生成では、(いつの間にか)日本語の係り受け解析が主となってしまいました。これまで、CaboChaを使ってきましたが、他にKNP [1] もあるというご教示(ここにあるコメント)をいただき、KNPも試用しました。
■ CaboChaとKNPの両方を使ってみる
先の記事では、CaboChaによる係り受け解析結果が期待通りではなかった例を、9例示しました。今回は、この9例をKNPでもやってみました。確かに、KNPではいくつかの例で精度良く解析されることが分かりました。小生の理解では、KNPは、膨大な格フレーム辞書(すなわち、より踏み込んだ意味理解のための辞書)を自動構築して使っているようです。また、並列構造(例えば、"3月から4月に"では、"3月"と"4月"が並列)を明示する点も特徴と思われます。
ただし、必ずしも全ての例文がKNPで改善されたわけではありません。依然として、日本語の解析は難しい面があることを感じます。具体的な実験結果を以下に示します。
(以下の図において、CaboChaの結果は作図アプリによる手動描画、KNPの結果はスクリーンショットの切り抜きです。)
■自分のアプリケーションで係り受け解析を利用するために
これまでよりも、選択の幅が広がりました。しかし、解析精度だけで全てが決まるわけではありません。例えば、小生の場合、アプリケーションをJAVAで作成しています。したがって、JAVAにすんなり取り入れられるか否かも、重要なのです。当然、アプリケーション開発のフェーズが進めば、状況は色々変わりますが。
参考資料
[1] 黒橋・村脇研究室 日本語構文・格・照応解析システム KNP
2020年6月24日水曜日
日本語係り受け解析を有効活用するために(その1)
【要旨】これまでの日本語係り受け解析の利用において、人間には自然な文であっても、妥当な解析結果が得られない場合もありました。そのような典型例をここにまとめておき、今後の有効活用に資することとしたい。
■日本語係り受け解析器CaboCha
ここで利用するのは、参考資料[7]に示したCaboChaです。以下の解析結果は、デフォルト設定のまま使った場合です。標準辞書以外の辞書を使うなど、環境設定を変えた場合は、異なる結果となる可能性があります。
■これまでの利用経緯
植物の特性の一行記述(参考資料[6]に掲載されているもの)に対して、CaboChaを適用し、その係り受け解析結果に基づき、JSONテキストを生成してきました。参考資料[1]〜[5]をご覧下さい。その経験にもとづき、係り受け解析が期待通りに行かなかった例をまとめます。
■係り受け解析が期待通りの結果とならない場合の検討
以下の、9例((A)〜(K))は、参考資料[6]を参考に設定したものですが、原文のとおりではなく、一部省略したり改変している場合があります。いずれも、人間が読む場合は自然であり、特に問題はないのですが、何らかの理由で期待通りの係り受け解析結果とならなかったケースです。
- 9個の例文 -
●複文に含まれる単文の区切りの認識に問題?
例文(A) 茎は細く葉は披針形である。
例文(B) 葉は細長い披針形で、装飾花のある白い花が咲く。
例文(C) 葉は広楕円形で、5深裂した白い花が咲く。
●何らかの理由により、不自然な修飾となる問題
例文(E) 葉は葉柄の長い卵形である。
例文(F) 外皮が淡紅色の種が見える。
例文(G) 葉は2回3出複葉で、茎先に大きい花が単生する。
例文(H) 黄橙色で一重の花を数輪つける。
●文節を生成するための辞書に載っていない用語
例文(J) 葉は卵円形で、小さい淡青紫色の花が咲く。
例文(K) そう果を萼片が丸く包む。
■係り受け解析が期待通りの結果とならない場合の対応
上記の9例の係り受け解析結果を以下に示します。そして、何が問題であるかを示し、それを回避するために変更した例文を示します。この9例は典型例と思われますが、まだ他に問題となる例文もかなり存在するかも知れません。
■まとめ
上記で、なぜ期待どおりの解析結果が得られなかったのかは、もう少し調べられそうです。なぜなら、文節(上記図の黄色い丸い図形)がどんな品詞で構成されているかの情報も得られているからです。しかし、当面は本記事のレベルで留めておきます。本記事の内容について、何か間違いがあるかも知れません。ご指摘戴ければ幸いです。
参考資料
[1] 植物に関する自由記述のJSON化とJavaラムダ式とストリーム(B)
[2] 植物に関する自由記述のJSON化とJavaラムダ式とストリーム(A)
[3] 植物に関する自由記述からJSONを自動生成(その3)
[4] 植物に関する自由記述からJSONを自動生成(その2)
[5] 植物に関する自由記述からJSONを自動生成(その1)
[6] 渡辺 坦:植物の名前を探しやすいデジタル植物写真集
[7] CaboCha/南瓜: Yet Another Japanese Dependency Structure Analyzer
登録:
コメント (Atom)
















