■国内希少野生動植物種:ムニンノボタン
国内の希少植物ムニンノボタンについてです。小笠原諸島父島にだけ生育する日本固有種で、平成16年国内希少野生動植物種に指定されています。その葉や花や果実の特徴を図1に示します。図中に示したWebサイトから引用させていただきました。
■ムニンノボタンの説明文
参考資料[1][2][3]を基に、小生が作成した説明文を以下に示します。少し長いですが、その葉や花や果実の特徴を記したつもりです:
「ムニンノボタン:http://www.ogasawara-syokubutusi.com/koyuusyuZUKAN/koyusyuZUKAN/muninnobotan.htm:明瞭な3本の脈がある葉は両面にまばらな剛毛をつける。4枚又は5枚の花弁を持つ白い花が7月から8月頃に次々と咲く。小笠原が涼しくなる頃に直径1センチほどの丸い果実が実る。」
■係り受け解析(CaboChaによる)の結果
上記の説明文を入力として、CaboChaによる係り受け解析を実行した結果が図2です。全体が木構造(tree)となり、最後に出現する述部「26 実る。」が根(root)となります。文の順序を反映して、述部「8 つける。」は「18 咲く。」に、そしてそれはさらに根に係ります。
■JSONテキスト生成の方法
上記の解析結果を基に、図2のノードのうち、黄色く表示した「葉」「花」「果」について、それぞれ、タグtype, what, howをもつJSONテキストを生成します。その詳細手順は(例外的処理も必要ですが)省略しますが、基本的に表1のようにノード(文節)を連結し、タグの値として設定します。色分けは、図2に対応しています。なお、実際のJavaプログラムは、先祖(predecessor)、あるいは子孫(successor)を辿り集約する再帰的な構造になります。プログラミングの演習問題としてもよいかも知れません。
例外はありますが、概ね、タグtypeには種類等が、whatには色や大きさや形状が、そしてhowには配置・接続状況や出現時期等が対応するはずです。
■JSONテキストの自動生成結果
上記のようにして、JSONテキストを自動生成した結果が図3です。「葉」「花」「果」に関する3つのタグの値(連結したテキスト)は、いずれも妥当であることが確認できました。
■まとめ
このような類いの記述からJSONテキストを自動生成することにより、原文のコンピュータ処理(種々の検索やグループ化等)がかなりしやすくなるはずです。その一例を以下に示します。参考資料[4](掲載植物約2,100種)から、ムニンノボタンを検索してみます。実際には、参考資料[4]にある一行記述約3,000件をJSON化したもの(現時点では未公開)を使います。以下のようなキーワード検索で一発でヒットしました!
●検索クエリ(葉の3本の脈と、白い花がポイント)
jsonStream //植物オブジェクトのストリーム
.filter(p -> bQ(p,"leaf","3") && bQ(p,"leaf","脈"))
.filter(p -> bQ(p,"flower","白"))
.forEach(p -> pP(p)); //ヒットした植物の表示
[↑詳細については、過去記事をご参照ください。]
●検索結果(以下の1件のみヒット)
ムニンノボタン(双子葉木本)葉は長楕円形で3脈明瞭で、白い花が咲き、丸い蒴果がつく。
参考資料
[1] 新宿御苑 希少!ムニンノボタンの花
[2] 環境省 自然環境・生物多様性 ムニンノボタン
[3] 小笠原植物誌 ムニンノボタン
[4] 渡辺 坦:植物の名前を探しやすいデジタル植物写真集
0 件のコメント:
コメントを投稿