知識グラフとWikipediaを用いた雑談対話モデルの構築

近年、MetaのBlenderBot[1]やGoogleが発表したMeena[2]など、生成ベースの対話システムが盛んに研究されている。対話システムの研究においては、対話履歴のみを入力とするモデルが多く提案されている。しかし、これらのモデルはやや無難な応答を多く生成することが報告されている。[3]。その原因として、学習データ内に、「わからない」や「そうですね」、「いいえ」などの文が多く含まれることが挙げられる。この問題を解決するため、対話に外部知識トリプルを導入することで、生成ベースモデルが学習した対話データ以外の情報を取り込むことができることが報告されている[4][5]。知識トリプルとは、自然言語処理において、人間の認識や知識を表現するために使用される三つの要素（主語、述語、目的語）からなるデータの構造である。例えば「猫は動物である」という文章を（猫、分類、動物）で表す。外部知識トリプルの導入により、知識をモデルのパラメータとして保持する代わりに、知識を利用した応答生成というプロセスそのものをモデルのパラメータに保持することができる。その結果、モデルを再学習する必要がなくなり、学習データに出現したことがない知識を用いた応答生成が可能になる。しかし、これらのモデルは、タスク指向型対話や、一問一答のような対話では有効であるが、複数ターンの雑談対話では、過去の対話履歴を考慮できない応答の生成や、新たな話題を持ち出せない応答の生成など、知識トリプルの情報をうまく使っていないことが問題点として挙げられている。そこで、本研究では、対話履歴から、次の話題となるエンティティとその要約を知識グラフとWikipediaから取得し、モデルの入力文脈に追加するFine-tune手法を提案する。実験では、外部知識として知識トリプルのみ使ってFine-tuneしたベースラインモデルと外部知識として知識トリプルとエンティティの要約を使ってFine-tuneした提案モデルの比較を行った。人手による評価を行った結果、提案手法で学習したモデルは知識トリプルのみ使うモデルよりスコアの向上を確認でき、提案手法の有用性を確認できた。