ツイッターボットコンテスト2010で賞をもらった


http://twittbot.net/tbc2010/result
神奈川工科大学情報学部賞をもらいました。
自分の書いたプログラムが評価されるってのは初めてのことだったので、かなりうれしかったです。


もらった賞金で自然言語処理関係の本を買ったので、もうちょっと精度の高いプログラムに改修できたらしたいなー

コンセプト的なもの

何かの文章を読んでいて分からない言葉があると、辞書で意味を調べます。調べた意味も文章で書かれているので、また分からない言葉があるかもしれません。そうしたら、その言葉の意味をまた辞書で調べます。その意味も文章で書かれているので、、、


という具合に、どんどん意味を調べていったらどうなるのだろう?と思い、作ってみたボットです。


なにをしてるの?

このプログラムは何か適当な言葉を探してきて、その言葉の意味を再帰的に辞書で調べることで回りくどい説明文を作成して twitter でつぶやきます。詳しく説明すればするほど、分かりにくくなっていく文章に人に何かを伝えることの難しさを感じることができます。

説明しよう!ねことは食肉目ネコ科の哺乳類、つまり哺乳類の動物界の同じ家系、または、同じ夫婦とその血縁関係者を中心に構成され、共同生活の単位となる人や動物、また、ものが集まってひとかたまりになることの名人。なのであ〜る!!

おおまかなしくみ

辞書から言葉の意味を説明する文章を取得し、それを形態素解析という技をつかって分かち書きします。その分かち書きした単語の中からさらに調べる単語を探して、意味を調べて元の文章にくっつけます。この行程を何度か繰り返すことで、どんどんと分かりにくくなる文章を作成していきます。



最初の言葉が「説明」の場合。

説明: ある事柄が、よくわかるように述べること。


この文章の中から「事柄」をさらに調べます。

事柄: 物事の内容・ようす。


さらに「内容」についても調べてみます。

内容: 容器や包みなどの、中にはいっているもの。


これらの文章を結合して1つの文章を生成します。結合のしかたは”すなわち”なんかで接続する方法と、単語そのものを意味で置き換えする2パターンを用意して、あまりにくどくなり過ぎないように、また、意味不明になりすぎないようにしています。

説明: ある事柄、すなわち物事の容器や包みなどの、中に入っているもの・ようすが、よくわかるように述べること。