WMDを利用した応答文生成の実験

Aiming for a Turing Bot


2021/06/07
藤田昭人


前回 まででWMDの実装について ひと通り把握できた訳ですが、 本稿からは数回にわけて WMDを利用した対話システムの応答文生成について考えていきます*1


WMDによる応答文生成の基本的なアイデア

そもそも僕がWMDに着目したのは 「対話システムにおいて 人間が発する質問文への応答文を 既存の書籍や文献の中から見つけ出す」 ことを考えたからでした。

これは以前紹介した BookBot の記事 でも書いたように 「書籍自身が書いてあることを かいつまんで話してくれたら、 読書する手間が省ける」 との友人のアイデアに 触発されてのことなんですが、 精度の良い類似文章検索 アルゴリズムを用いれば 「案外、ピッタリした応答文が見つかるかも…」 と(少々安易に)考えての事です。

もし既存の文献を使って 適切な応答文が生成できるのであれば、 SNSなどから採録した会話文とは異なり、 内容にエビデンスのある応答文を用意できる ので、対話システムの実用性を高める ことができますし、 これまで活用の具体的な方策で悩むことの多かった 過去の新聞や専門書などの 歴史的情報性の高い文献に新たな活用方法 が提示できるのではないかと僕は考えています。


とりあえず実験だぁ…

類似文章検索で精度が高いとされる WMDの実装にメドが立ったので、 応答文生成の実験を始めることにしました。

これは典型的な自然言語処理の実験なので慣例に従い、 まずは英語をベースに基本的な特性を確認したのち、 その後は日本語ベースに移行して 応答文生成をブラッシュアップしていく アプローチを考えています。

対象とするドキュメントは?

比較的に応答文が見つかる可能性が高いのは 辞書や辞典といった文献と見込んでいるので、 これまた慣例に従い Wikipedia の英語版、 その後日本語版を使うことにします。

細かく調べたいので対象ページを絞り込んで…

このあたりは僕の直感(や好み)に 従わざる得ないのですが、 結局 Alan Turing のページを対象にすることにしました。

en.wikipedia.org

理由(言い訳ともいう)を説明すると…

  • 個人的に非常に関心があり内容を概ね把握してる(これが案外重要。
    関心がないトピックでチェックするのは苦痛)
  • ページ自体の文章量がかなり多い(フィットする応答文が多そう?)
  • ページに記載されているトピックが(概ね情報分野に限定されるが)多岐に分かれている
  • 日本語版は英語版の翻訳がベース(更新頻度が稀なので英語版に追いついていないけど)

それから…

FAQ: Alan Turing

今は博物館(?)になっている ブレッチリー・パーク のサイトでFAQを見つけました。

bletchleypark.org.uk

このFAQを表にまとめました( 英語版僕の翻訳 )ので参考にしてください。

全部で17項目ありますが、 これで英語での質問を考える必要がなくなりました。 回答もついているので、 この回答文を基準に見つけた応答文の評価もできそうです。


まとめ

ということで…

BookBot 0.2 は(一応)英語版 Turing Bot を目指すってことで、 新たなシリーズを始めることにします。 まぁ Glitch に載せるとなると JavaScript 化しなければならないので、 そこが難点かとは考えていますが(リコーディングがねぇ)、 ともあれ論より run ってことで…

以上

*1:僕のようなチャットボットを 人工無脳と呼んでいた世代は 「応答生成=対話システム」 と考えてきましたが、 今どきの対話システムは もっと複雑なんだとか…

とは言え、コンピュータからの応答が 相手が人間だと錯覚させる「対話の肝」である事は ELIZE以来の普遍的なお約束なのだと 僕は信じてます😁

本稿ではこの応答生成のシリーズで 「僕が何を目指しているのか?」 をザッと書き留めておきます。