2020年5月14日木曜日

植物に関する自由記述からJSONを自動生成(その2)

 前回(その1)の続報です。(続編(その3)はこちらです。)

改良点
 植物の特徴が自由形式で一行に記述されたテキストから、その内容を反映するJSONファイルを自動生成するJavaプログラムに関してです。今回、以下の点を改良し、適用範囲を広げることを試みました。

  • 着目する項目は、前回は"葉""花"としたが、新たに、"果""茎"を追加した。
  • 文節の考察の結果、JSONのタグ"What""How"に、新たに、"Type"を追加した。
  • 係り受け解析結果の木構造の下方、上方への辿り方の不備を是正した。
  • JSONタグの値を設定する場合、文節を構成する各単語の品詞も判断材料とした。

改訂版の実行結果の例
 今回は、前回よりも内容が複雑と思われた以下の3文をテストに用いました。前回同様、参考資料[1]から引用させていただきました。

  • ヒシ3角状の葉が水に浮き、白い4弁花が咲き、角のある核果ができる。
  • ヒメカンゾウ根茎があり葉は広線形で、黄橙色で一重の花を数輪つける。
  • トランペットフラワー茎は太く高く、葉は長楕円形で、漏斗状の大きな花が下向きに咲く。

 以下に、これらの原文に対して、自動生成されたJSONを示します。ただし、表記を簡単にするため、JSONのメタ記号({ }, [ ], " ")を省略していますが、タグとその値は忠実に生成しているつもりです。

(注)下記「ざんねんな生き物たち」をご参照ください。


 上記の3文に対する係り受け解析の結果も以下に示します。


ざんねんな生き物たち
子供向けの本「ざんねんな生き物事典」の人気が高いそうです。ちょっとざんねんなところがあるが、憎めない生き物たち。今回の係り受け解析にもそのようなものが...

 上記の2番目の「ヒメカンゾウ」のJSONタグ "花-How"の値が、"黄橙色で数輪つける"という、ちょっと不自然な結果になっています。原文は、"黄橙色一重の花を数輪つける"です。しかし、係り受け解析は、"黄橙色で"->"一重の"ではなく、"黄橙色で"->"数輪つける"と判断してしまいました。ここが「ざんねんな」ところでした。もしも、原文が、"黄橙色一重の花を数輪つける"でしたら間違えなかったのですが...

感想
 改訂版の効果をある程度確認できました。渡辺坦氏のwebページには、上記のような原文テキストが約3,000行(植物名が3,000種)程度もあります。今回の改訂版でも、恐らく、その1/3くらいしか、うまくJSON自動生成はできないと思われます。さらなる検討を進めたいと思います。
 恐らく、係り受け解析に続けて、意味解析(深層格構造)をやらないと、この辺りで行き止まりになりそうです。実は、上記のようにJSONのタグ構造を生成するために、簡易的な意味解析(に相当すること)はやっています。しかし、そのやり方では限界があるということが分かってきました。

参考資料
[1] 渡辺 坦:植物の名前を探しやすいデジタル植物写真集
http://plantidentifier.ec-net.jp


0 件のコメント:

コメントを投稿