単一文章の要約システム(3) : 知的ロボットのセリフを自動で短くする

単文要約をスムースにすることは、当面する最も重要な課題だと思っている。すでに、過去二階の投稿で、初期の実行方法は示した。そして、実際それは即興漫才ロボットに組み込んでいる。しかし、先の投稿にも書いたように、まだ不十分で、単純にword2vecの距離で測って主語と関係性の薄いフレーズをバサバサと削って短くしているのでは、言葉としてつながりが悪くなって意味が伝わりにくくなってしまうのである。名詞と名詞、動詞と名詞などを繋いでいく助詞の選択が悪いなどの問題がある。

どうするのか?マルコフ連鎖を応用して、文章を生成していく手法があるが、それは、2つや3つの連続することがから、次の言葉を生成するシステムである。その発想を利用して、ある句を削除したときに、削除した前後の句をうまくつなげるように、前の句の助詞を改定していくのが良い。

それを実現するために、大量の文章コーパスから

〇〇□□〇〇

のように、挟まれた助詞に関するデータベースを作成すれば良い。これも、一つのマルコフ連鎖である。

ただ、データが膨大になってしまう可能性がある。あるいは逆にデータの欠落が大量に発生してしまうという可能性もある。どうするのか。少し考える。