前回の記事で、植物の「葉」に関する珍しい形態を探してみました。その際に、抽出した関連用語の出現回数を得ていました。そこで今回はこれを利用して、(どれだけ意味があるかは別として)葉に関するポピュラーな用語にはどんなものがあるかを、WordCloudで可視化してみました。前回記事の場合とは逆で、よく使われる用語ほど大きな文字で表されています。
あまり正確ではありませんが、ほぼ、「葉の形や色」「葉のつき方」「葉の縁」「葉の裂け方」「葉のその他の形態」に分類してプロットしました。ちょっと楽しめますか。
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")
前回の記事で、植物の「葉」に関する珍しい形態を探してみました。その際に、抽出した関連用語の出現回数を得ていました。そこで今回はこれを利用して、(どれだけ意味があるかは別として)葉に関するポピュラーな用語にはどんなものがあるかを、WordCloudで可視化してみました。前回記事の場合とは逆で、よく使われる用語ほど大きな文字で表されています。
あまり正確ではありませんが、ほぼ、「葉の形や色」「葉のつき方」「葉の縁」「葉の裂け方」「葉のその他の形態」に分類してプロットしました。ちょっと楽しめますか。
植物図鑑や写真集を眺めていて、「葉」の形態が珍しいものを見つけたいと思いました。でも、漫然と眺めていたのでは日が暮れてしまいます。そこで、植物の特性の説明文に対する自然言語処理の登場です。
■「葉」の特性を示す用語の抽出
まず、参考資料[1]に掲載されている、植物全2,174種(別名を含めると3,000種以上)に関する、簡潔な一行説明文の全てに自然言語処理(形態素解析と単語間・文節間係り受け解析)を施します。その結果を利用して、「葉」の特性に関する用語を全て抽出します。原則的には、「葉」の前方にある名詞、形容詞、動詞などの修飾語と、「葉」からその述語までの範囲の関連用語が対象となりますが、例外的に、その範囲を超えて、述語の後方まで調べる場合もあります。当然、その中で、「葉」以外の「花」や「果実」等に関する用語は除去するのですが、これがなかなか難しいです。ですが、用語の品詞と係り受けの種類などを頼りに、何とか曲がりなりにも目的を達するアプリケーションを作成しました。その実行結果が図1なのです!
[2] yasuokaの日記: spaCy向け国語研長単位モデルja_gsdluw仮リリース
https://srad.jp/~yasuoka/journal/653385/
[3] UD Japanese GSD+GSDLUW r2.9 with Named Entity Gold Labels
https://github.com/megagonlabs/UD_Japanese-GSD/releases/tag/r2.9-NE
現代の日本語の係り受け解析を利用していて、時に困ったなあ、という場面に出会います。恐らく、解析プログラムのバグというわけではなく、その解析手法では必然的にそうなるように思われます。当方は素人なので、本当のことは分かりませんが、そういった事例を書き留めておいて、後日の検討、対策に資することができれば良い。
ここで取り上げるのは、「短くて太い茎」や「小さくて厚い葉」などの「くて」です。図1に、以下の2つの例文とその係り受け解析結果を示します。(a)と(b)の違いは、「秋に」の有無だけです。
(a) 小さくて厚い葉が秋に枯れる。
(b) 小さくて厚い葉が枯れる。
参考資料
[1] yasuokaの日記: spaCy向け国語研長単位モデルja_gsdluw仮リリース
https://srad.jp/~yasuoka/journal/653385/
[2] UD Japanese GSD+GSDLUW r2.9 with Named Entity Gold Labels
https://github.com/megagonlabs/UD_Japanese-GSD/releases/tag/r2.9-NE
[3] 例文 "紫色で細長い唇形花が総状に咲く" の係り受け解析
https://sparse-dense.blogspot.com/2022/02/blog-post.html
前報(その1)の続編です。翌日に、さらに以下の3種の雑草を採取しました。本来は「言語学的解剖」のつもりでしたが、なんだかそれは野暮な気がしてきました。それはそれで、植物記述データベース(コーパス)を用意して本格的に取り組めばよい。ということで、今回は、追加した美しい花を眺めるだけで充分としました。
前回は、植物を摘み取って持ち帰り、写真撮影していましたが、それだと、萎れたり、途中で花びらが落ちてしまう。そこで、今回は現地主義。白い紙を丸めて散歩に持参して、採取した植物を載せ、その場でスマホで撮影しました。
そして、(植物図鑑などに頼らず)自分の観察に従って、以下に簡単な説明文を添えました。
●オオアラセイトウ:ハナダイコン、ショカツサイとも呼ばれる。
4弁の淡い紫色の花が美しい。少し縮れて波打っているようだ。葉の縁のぎざぎざは、花の姿に似合わず鋭い。Every rose has its thornということか。
●ハナニラ:
花弁は6枚だが、3枚づつ違う面にあるように見える。白みがかった淡い紫色の美しい花。雑草と呼ぶにはふさわしくないようだ。 太古から生き延びてきたのか、神秘的でもある。
春めいてきました。本日(2022-03-15)午前中の近所散歩で、道端の雑草を摘み取ってみました。すぐに6種類ほど採取できましたが、まだまだ他にもたくさんありそうです。写真撮影して、Google Lensとデジタル植物写真集[1]などで調べると、すぐに名前が分かりました。普段はあまり気にとめていませんが、こうして眺めてみると、「雑草」と呼ぶには「かわいそうな植物たち」と思えるくらい美しい。
参考資料
[1] 渡辺坦:植物の名前を探しやすい デジタル植物写真集
http://plantidentifier.ec-net.jp/
[2] yasuokaの日記: esuparの国語研長単位向け係り受け解析モデルbert-base-japanese-unidic-luw-uposリリース
https://srad.jp/~yasuoka/journal/652806/
[3] 稲垣栄洋:身近な雑草の愉快な生き方、ちくま文庫、2011年4月発行
【what is this】先の記事の続編です。植物に関する記述文からjsonテキストを自動生成する際のさらに難しい例文に出会いました。これを記録しておき、係り受け解析の他にどのような情報(推論の枠組みや辞書類)が必要なのかを検討したい。
■散歩で見つけたウメの小枝
確実に春めいてきました。近所にあった田んぼや畑は年々消えて行きますが、それでも散歩道の近くには農家が散在しています。道の一角に無人の野菜販売スタンドがあります。小さな貯金箱みたいなのが置いてあり、一包みあたり、百円をそこへ投入して買います。今日は、野菜の他に、梅の小枝3本ほどを束ねたものも置いてありました。これはいい、と思って買いました。図1のように、丸い小さな蕾もたくさんついています。
■ウメについての簡潔な記述からのjson自動生成
この梅に関する簡潔な記述が、参考資料[1]にあります。
ウメ:花に柄がなく、葉が出る前に咲き、古枝に棘がある。
図1の写真からも分かるように、これはウメを的確に表現していると思います。これから、次のような(ウメの"花"についての)jsonテキストを自動生成したい、ということがすぐに想い浮かびました:
{"花":{"柄":"無い", "時期":"葉が出る前"}}
しかし、これは難しそうです。図2には、SuPar-UniDic[2]による係り受け解析結果を示しましたが、他にどんな情報(辞書や推定の枠組み)が必要なのでしょうか。
課題は多そうです。例えば、「葉が」という主語があるのですが、この文は主に「花」について述べており、「葉」は「咲く」ことを修飾しているに過ぎません。また、「出る前に」だけでなく、「出た後に」や「出る前後に」や「出る頃に」などが出現することも多そうですので、これらを全部、「時期」というkey(タグ)に集約できるのでしょうか。難しそうですが、今後の検討材料として記憶しておく価値はあるでしょう。参考資料
[1] 渡辺坦:植物の名前を探しやすい デジタル植物写真集
http://plantidentifier.ec-net.jp/
[2] yasuokaの日記: BERTモデルを用いた日本語係り受け解析ツールSuPar-UniDicリリース
https://srad.jp/~yasuoka/journal/645402/
【what is this】先の記事では、植物に関する記述文から、葉や花などに関する特徴を取り出し、構造化して表現するアプリを作成しました。しかしながら、対象とする文の表現は多様であり、まだまだ課題が多いことを改めて知りました。その一部をここで検討します。係り受け解析結果を、アプリ側でどのように解釈し利用するかだけでなく、(アプリに特有の)植物に関する知識も取り入れる方策が必要です。
■植物に関する記述文からJsonテキストを生成する
実は過去に、(ここにあるように)「植物記述文からJsonテキストを生成」を行いました。その時のJsonのkey(タグ)は、大まかな特性に関する事前に用意された数個に限定していました。今回は、そのkeyをもっと精密なものにしたいと思います。
何をやりたいのかを、図1で説明します。例文L1〜L5は、ある植物の「葉」の特徴を述べています。表現は違いますが、内容は、以下の通り全く同一と言えます:
従って、これら5つの文を、いずれも、図中の「json1」のようなJsonテキストに自動変換したいのです。一方、例文L5の「両面に」を「果実に」に変更した例文F5は、「json2」のように変換したい。なぜなら、今は「葉」に関する特徴を抽出したいのですから。
■Jsonテキスト生成の検討
この課題について、簡単に検討します。ここでは、SuPar-UniDic[1]による係り受け解析を利用させていただきました。まず、例文L1の係り受け解析結果は図2のとおりです。「葉」に係る「ある」を経由して「脈」をkeyとすることができるでしょう。そして、「3本の」と「明瞭な」が並列的に「脈」を修飾することを利用して、json1の前半部は生成できます。後半部の生成は、「葉は」の述部「つける」から遡って作れそうです。
次に、例文L5をみます。図3の通り、今度は「葉は」が「明瞭で」に係るので、L1の場合と様子が違いますので、慎重にkeyとなるものを見つけ、適切に係り受け関係をたどりながらjson1を生成する必要があります。
そして、最後の例文F5です。例文L5にある「両面に」が「果実に」に変わっただけなので、図4の通り、係り受けの関係は全く変わりません。しかし、「剛毛」は「葉」にではなく「果実」につくので、「葉」に着目している限り、json1の後半を削除したjson2のようなjsonテキストを生成する必要があります。
参考資料
[1] yasuokaの日記: BERTモデルを用いた日本語係り受け解析ツールSuPar-UniDicリリースhttps://srad.jp/~yasuoka/journal/645402/
まだまだ寒い日が続いています。こんな時期、机の上にちょっとした緑の植物が成長してくれると、どこか心が安まります。ネット通販で、500円ほどのミントの水耕栽培キットを購入しました。砂つぶほどの小さな種と、セラミック培養土、粉末肥料、簡易容器がセットになっていました。取説通り、栽培してみました。発芽率65%と書いてありましたが、100粒以上はあったので大丈夫だろうと思っていましたら、期待通り、見事に育っています。
| 14日後、小さな双葉が出始めた |
| 27日後、こんなに密集して伸びてきた。間引きも必要。 |
| 45日後、葉もかなり大きく育った。これまでに数度間引いた。 |
小学生の理科観察みたいですが、植物の不思議を垣間見ることになりました。まず、葉の出方ですが、双葉が出て、その中心からまた双葉が出ることをくり返して成長しています。その際、次の段の双葉は、前段と重ならないように90度回転した位置で伸びます。これは、「十字対生」と呼ばれるようです。
これ以外に気づいたことですが、茎はある時期から容器の縁まで這うように伸び、縁に達するあたりで垂直方向に伸びて行きます。まるで、自分の生きる世界の境界を知っており、互いに重ならないように遠くで成長しようとしているように見えます。
スマホアプリ開発環境の一つとして有名なMIT AppInventorの新たな公式テキスト(ガイドブック)が、このほどMITeen Pressから出版され、本日(2022-02-22)、Kindle版も発行されたのでタブレット端末で読むことができました。
MIT App Inventorは、世界195の国々の教育研究機関などで広く利用され、現時点のユーザ登録者数は1,400万人を超えているそうです。App Inventorのシステム開発、運営保守、教育/普及のためのチームは30名ほど(専任11名 + 非常勤9名 + 修士/博士学生スタッフ11名)で構成されているようです。そのチームのトップである、Prof. Abelsonが以下のブログで、この本について書いています:
●MIT Professor Hal Abelsonによるこの書籍の紹介
https://appinventor.mit.edu/blogs/hal/2021/11/17/BecomeAnAppInventor
MIT App Inventorは、中学高校生から大学生、あるいは技術者に広く利用されていますが、今回の書籍は、初級者向けに書かれています。非常に洗練されたデザイン、構成、例題が光ります。楽しく、ワクワク感が引き立てられるように感じました。初級とはいえ、TinyDBやCloudDB、AI等も有効に利用した、Navigation、Chatアプリ、翻訳アプリの作成など、高度な機能も使いこなそうとしています。大勢の人々に受け入れられると思います。
(補足)ちょっと宣伝になってしまいますが...
小生は私的ブログに、MIT App Inventorに関する記事をこれまで多数書いてきました。よろしければ、下記のまとめ(こちら)をご覧下さい。また、小生がかって、MITのワークショップで発表した拙論(こちら)も、大学における応用例としてご参考までに。
【what is this】先の記事では、「... で ...」の「で」が、どこに係るかを話題にしました。人間は違和感なく使っている場合でも、SuPar-UniDic [1]などの係り受け解析ではあまり適切な結果が得られない場合がありました。それをまとめて、係り受け解析を利用するアプリケーションでは、どのように対応するのかも、簡単に述べます。
■「で」の利用10例の係り受け解析
以下に「で」の使い方10例を検討します。いずれも、日本人にとっては、恐らくほとんど違和感はないと思います。SuPar-UniDic[1]による係り受け解析結果を示します。「...で」の係り先は、(0)〜(6)は「咲く。」でしたが、(7)〜(9)は「丸い」という結果となりました。
(0)場所1:庭先で丸い花がまばらに咲く。
(1)場所2:温室で丸い花がまばらに咲く。
(2)状況1:室温で丸い花がまばらに咲く。
(3)状況2:日陰で丸い花がまばらに咲く。
(4)理由1:暖気で丸い花がまばらに咲く。
(5)理由2:遮光で丸い花がまばらに咲く。
(6)時間1:7日で丸い花がまばらに咲く。
(7)特徴1:巨大で丸い花がまばらに咲く。
(8)特徴2:濃紺で丸い花がまばらに咲く。
(9)特徴3:黄色で丸い花がまばらに咲く。
まず、場所、状況、理由、期間などを意味する「で」の使い方(0)〜(6)に対しては適切な結果です。そして、特徴を表す(7)〜(9)も一見妥当のように見えますが、先の記事に書いた通り、安岡孝一教授によると、以下のような係り受け解析の方が適切だろうとのことです。
(7')特徴1:巨大で丸い花がまばらに咲く。
(8')特徴2:濃紺で丸い花がまばらに咲く。
(9')特徴3:黄色で丸い花がまばらに咲く。
なぜなら、これらの「...で」が修飾するのは本来「花」だからです。しかし、この場合の「で」は解析上、曲者のようです。確かに、見た目にも、「巨大で花」「濃紺で花」「黄色で花」は違和感があります。
■上記以外に「で」の用法をご存知でしたら教えて下さい!
ただし、「丸い花がまばらに咲く。」の先頭となり得るものをお願いします。
■現代の英訳ソフトはどうだろう
今回取り上げた10例文に対して、現代の英訳ソフトはどうでしょうか。英訳結果を見ただけの判断ですが、真面目に?係り受け解析はやっていなくて、別のこと(seq2seqやAttentions)で処理しているように見えます。(これについては、後日、また述べてみたいのですが...)
●Google翻訳
(0) Round flowers bloom sparsely in the garden.
(1) Round flowers bloom sparsely in the greenhouse.
(2) Round flowers bloom sparsely at room temperature.
(3) Round flowers bloom sparsely in the shade.
(4) Warm and round flowers bloom sparsely.
(5) Round flowers bloom sparsely in the shade.
(6) Round flowers bloom sparsely in 7 days.
(7) Huge, round flowers bloom sparsely.
(8) Navy blue and round flowers bloom sparsely.
(9) Yellow, round flowers bloom sparsely.
(4)はおかしいです。「暖気で」が正しく認識されていない。(8)は微妙?
●DeepL翻訳
(0) Round flowers bloom sparsely in the garden.
(1) Round flowers bloom sparsely in the greenhouse.
(2) Round flowers bloom sparsely at room temperature.
(3) Round flowers bloom sparsely in shade.
(4) Round flowers bloom sparsely in warm air.
(5) Round flowers bloom sparsely in shade.
(6) Sparse round flowers in 7 days.
(7) Huge round flowers sparsely bloom.
(8) Dark blue, round flowers sparsely bloom.
(9) Yellow with sparse round flowers.
(6)は少し、(9)は完全におかしい。「黄色で」がうまく扱えていない。また、(6) (9)とも「咲く」が訳ぬけしている。これがこの英訳方式の本質というか特徴でもある!?
参考資料
[1] yasuokaの日記: BERTモデルを用いた日本語係り受け解析ツールSuPar-UniDicリリースhttps://srad.jp/~yasuoka/journal/645402/