# 知識源との一対多関係を有する対話コーパスによる発話生成

金田龍平 ${ }^{1}$ 芳賀大地 ${ }^{1}$ 杉山弘晃 ${ }^{2}$ 酒造正樹 1 前田英作 ${ }^{1}$
1 東京電機大学システムデザイン工学部
${ }^{2} \mathrm{NTT}$ コミュニケーション科学基礎研究所
\{18aj045, 18aj110\}@dendai.ac.jp
h.sugi@ieee.org \{shuzo, maeda.e\}@mail.dendai.ac.jp

## 概要

End-to-end 発話生成において，発話文脈に加えて外部知識を活用することにより，知識を反映した発話を生成できることが知られている．外部知識に基づく発話生成モデルに用いられる学習コーパスとして，Wizard-of- wikipedia のような，知識を参照しながらユーザに対話させ，その際の発話と知識の対を収集する枠組みが提案されている。しかし，ある文脈において利用可能な知識は一意とは限らず，実際に利用された知識以外にも利用可能な知識は存在する可能性がある．本研究では，旅行代理店における客と店員の対話を題材として対話データを収集し，基準対話データセットとした. 基準対話データセットの一部に対し, 発話文脈から利用可能な外部知識にリンクを付与することで，マルチラベル対話デー タセットを構築した. その結果付与されたリンクの総数は，基準対話データセット 1 に対し，マルチラベル対話データセットが 5.8 であった。このようなマルチラベル対話データを知識選択モデルの評価に用いたところ，知識選択モデルの適切な評価には発話と知識が一対多となるデータセットが良いことがわかった. また，発話生成モデルの生成に用いたところ，多様で適切な応答が可能になることが示唆された.

## 1 はじめに

対話システムにおける発話生成には，対話履歴などの文脈情報に加えて外部知識を利用する手法が提案されている $[1,2,3]$. 発話生成部の学習は, 対話履歴, 知識情報, さらにそれらを利用して生成されるであろう後続発話からなるコーパスが必要になる.

そうした対話コーパスとして，児玉らによる映画推薦タスクにおける対話コーパスがある [4]. このコーパスでは，ある映画における監督名やキャスト名などの構造化された知識に加え，あらすじやレビュー情報といった構造化されていない知識も外部知識源として利用している。そして，これらの外部知識を用いた発話生成を行い，20 ターン以上の約 2,500 件からなる対話データが収集されている.

児玉らの作成したコーパスでは，発話に付与された知識ラベルは，その発話を生成するのに使われたものとして知識候補の中から一意に定まる。すなわち, 児玉らの作成したコーパスにおける発話と知識源の関係は，「先行発話と使用した知識」である。 しかし，先行発話に対する応答が固定されていなければ，利用可能な知識は複数存在するはずであり，「先行発話と利用可能な知識」の関係も利用可能になると期待できる。したがって，このようなコーパスを用いて，知識を選択するモデルを評価することは適切なラベルで評価していないことになる。また，利用可能な知識が少なければ，生成できる応答文の多様性も低下してしまう。

そこで，2021 年に開催された対話ロボットコンぺティション1)のタスクである旅行代理店対話に着目し，外部知識に基づく対話コーパスを作成した. このコーパスは，クラウドソーシングによって作成した基準対話データセット，応答文生成に利用可能な知識に着目して作成されたマルチラベル対話デー タセットなどによって構成される. 作成した旅行代理店対話コーパスの概要図と統計情報を, 図 1 と表 1 にそれぞれ示す.マルチラベル対話データを用いた実験の結果，知識選択モデルを適切に評価するには発話と知識が一対多の関係となる評価データが良いことと，このようなデータセットを用いることで，多様かつ適切な応答が可能になることが示唆された.

1) https://sites.google.com/view/crobotcompetition/home

図 1 旅行代理店対話コーパスの概略図

表 1 旅行代理店対話コーパスの統計情報

## 2 関連研究

まず，日本語の対話コーパスに関する研究として，稲葉らの旅行代理店対話コーパス [5] や田中らのユーザの曖昧な要求に対して適切な応答をするための対話コーパス [6] などがある。稲葉らは，旅行代理店勤務経験者 5 名と 7 歳〜 72 歳の男女 55 名による旅行代理店対話から、音声データやテキストデー タなどを収集した。田中らは，タスク指向型対話において，ユーザが曖昧な要求をしてきたとしても対応できるように，旅行案内のドメインで対話データを収集した。

また，外部知識を用いた対話データとして Wizardof-wikipedia [7]がある。これは， wikipediaを直接検索し，それによって得られた情報を用いて対話を行うことで外部知識と対話がセットになったデータセットを作成した. 質問分類タスクに関する研究として，情報検索（Information Retriever）の分野では， クエリと知識を入力とすることで分類問題を解く手法が提案されている [8]. この手法では，まず，知識候補をコーパス全体から BM25 [9] に従って数千程度に絞りこむ。そして，クエリと知識候補を入力としてクエリと知識候補の類似度を BERT に予測させることで，知識候補をリランキングし，最終的に回答生成モジュールに渡す知識を決定する。

## 3 旅行代理店対話コーパスの構築

図 2 知識情報の概要図

表 2 知識情報の統計情報量

## 3.1 基準対話データセット

クラウドソーシングを活用することで，東京と大阪の観光地 441 件を対象に，観光地に関する対話を合計で約 3,000 対話収集した．観光地には，事前に 12 種類の知識情報が与えられている。知識情報は，名称・概要・所在地・営業時間・アクセス・駐車場・料金・レビュー1～ 5 といった 12 のカテゴリで構成される. 名称・概要・所在地などの基礎情報はじゃらん ${ }^{2}$ からスクレイピングを行い，レビュー情報については Google Map $\mathrm{API}^{3}$ を用いて取得した. 概要図を図 2 に示し，統計情報は表 2 に示す. クラウドワーカー（以下，ワーカー）は，店員の発話と客の発話をそれぞれ 7 発話作成する（以下，店発話，客発話).このとき, 店発話には上記で示した知識情報をなるべく用いて発話を作成してもらった。また，使用できる知識情報源は最大で 2 つとし，相槌などの知識情報を使用しない発話には，知識を使用しなかったという意味で none ラベルを付与した.具体的な作業手順と作業画面は，付録 A.1，付録 A. 2 にて示す.

これらの作業手順に従い，1つの観光地に対して，複数人のワーカーが作成することで合計 2,971 対話収集することが出来た.


} & \multirow{5}{*}{} &  & 全国の隠れた名産品を扱っているんです。 \\

図 3 外部知識を用いて生成した応答文の一例

## 3.2 マルチラベル対話データセット

応答文生成に利用できる知識は，発話と知識が「先行発話と利用可能な知識」という関係においては,複数存在すると考えられる. しかし, 基準対話では，最大二つの知識を用いて応答文を作成している.したがって，ある発話に対して利用可能な知識は，最大二つまでとなってしまい，他の知識は利用できない知識ということになる。この利用できない知識は，本来「利用していない知識」であって 「利用できない知識」ではない. そこで，400 発話対 （店発話十客発話）を用いてアノテーションを行った. アノテーションの対象としたデータは，基準対話データセットから 400 発話対を抽出し，それぞれに知識を付与した形へ整えたものである．ラベルは，ある発話対から次の応答文を生成する際に，付与された知識が利用可能かどうかを意味する.

マルチラベル対話データセットを作成する際に，単に整合性が取れているかだけではなく以下の点にも着目してアノテーションを実施した.
- 機械が対象の知識を用いて適切な応答文に変換できるか
- 客発話が相槌のような場合は知識におすすめポイントが入っているか

・知識の内容がマイナスな内容ではないか

また，生成モデルに渡す知識情報が長くなると，モデルが知識情報を生成文に反映させることが難しくなると考え，概要とレビュー情報に関しては知識情

図 4 基準対話データセットとマルチラベル対話データセットそれぞれにおいて，12 種類の各知識源と関連付けられた発話例の総数.

報を句点で区切る処理を行った. この前処理を施したものに対してもアノテーションをしたが，本稿では発話と知識情報の関係性に着目しているため，詳細は付録 A. 3 にて述べる. アノテーションを実施した結果，利用可能な知識がどの程度増加したかを図 4 に示す. 基準対話データセットの分布とマルチラベル対話データセットの分布を比較すると，多くの知識源が利用可能であることが分かる. すなわち，基準対話データセットでは，正解となる知識以外は利用できない知識となってしまうが，実際は利用できる知識が多く含まれていることを示している.

## 4 実験

## 4.1 実験概要

対話システムでは，外部知識を用いた生成を行う場合に，知識候補から最適な知識を選択する必要があ

る.そこで, BERTを用いて利用可能な知識情報を選択し, Transformer ベースの大規模対話モデル（以下，hobbyist）で，知識情報を用いた応答生成を行う対話システムを構築した. BERT と hobbyist を学習する際に，基準対話データセットを用いた。また， hobbyist は，NTTコミュニケーションシステム基礎科学研究所が構築した [10].

本実験では，知識選択モデルの評価にマルチラベル対話データセットを利用した場合に，基準対話データセットと比較してどのように変化するか確認した. また, 先行発話に対する応答文を作成する際に, 利用した知識から利用可能な知識として用いることのできる知識数を増やすことで，文脈として正しくかつ多様性のある生成が可能であるかも確認した.

## 4.2 実験設定

Laboro 社の提供している日本語版 BERT の事前学習済みモデル4)を用いた． BERT に用いる学習データは，基準対話データセットから以下の手順に従って作成した。

1. 対話データから発話対と知識情報を時系列に抽出（ただし，知識を使用していない発話対は除く)

2. 時刻 $\mathrm{t}$ の店発話と客発話に，12 ある知識情報のうち 1つを結合

3. 店発話, 客発話, 知識情報の間にセパレーショントークン（[SEP]）を挿入

4. 正解ラベルは, 時刻 $\mathrm{t}+1$ の店発話作成に使用した知識情報であれば 0 を，そうでない知識情報であれば 1 を付与

また, 評価時には上記手順によって作成された学習データを 8:2:2 = train:validation:test と分割したものと, マルチラベル対話データセットから上記手順に従って評価データを作成し,これを $1: 1=$ validation:test となるように分割したものを用いた. 基準対話デー タセットから作成した test データをシングル test とし, マルチラベル対話データセットから作成した test データをマルチ test とする. 評価指標には正解率を用い，発話対に対して適切な知識を選択することが出来れば正解となる.


## 4.3 実験結果

まず，BERT を用いた知識選択の結果を示す. 学習したモデルの評価結果はシングル test が 0.46 , マルチ test が 0.90 であった. 本実験では，ある発話対に対して適切な知識を選択することが出来れば正解となる. したがって，マルチラベルであるマルチ test に対する精度がシングルラベルであるシングル test と比較して高いのは妥当である。

次に，シングル test とマルチ test の両方を用いて hobbyist による発話生成を行った. 生成文の一例を図 3 に示す.構築したマルチラベル対話データは人間が，利用可能であると判断したラベルが付与されている. 図 3 にあるように，人が利用可能と判断したものであっても, 生成モデルはすべて文脈として正しく，知識を反映した生成をしている結果となった.

## 4.4 考察

BERT の最適な知識選択において，正解率が 0.46 から 0.90 に上がったことから，シングル test で誤っていると判断された知識は，実際には利用できる知識であるということであり，既存手法における使用した知識という観点での最適な知識では過度に厳しい評価を行っていることが考えられる。また，実際に hobbyist が生成した発話文から, 複数の利用可能な知識を用いて発話を複数生成し，その中から適切な発話をリンランキングなどの処理によって最終的な発話を生成するような手法に, マルチラベル対話データセットのような複数の知識が可能であるデー タセットを用いることで, 多様かつ適切な発話が可能になることが考えられる.

## 5 おわりに

本稿では，発話対と知識源が一対一となる基準対話データセットを作成した. このデータセットを分析したところ，発話対と知識源の関係が，一対多が望ましいことが明らかになった. そこで，発話対と知識源が一対多となるマルチラベル対話データセットを作成し，これらを用いて実験を行った。実験では，BERTを用いた知識情報の選択と，hobbyistを用いた発話生成を行った. その結果, 発話対に対する知識源が複数存在データセットを用いることで, 多様で且つ文脈情報を考慮した発話生成が可能となることが示唆された.

## 謝辞

本研究は JSPS 新学術研究 JP19H05693 の助成を受けた。

## 参考文献

[1] Pavlos Vougiouklis, Jonathon Hare, and Elena Simperl. A neural network approach for Knowledge-Driven response generation. In Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers, pp. 3370-3380, Osaka, Japan, December 2016. The COLING 2016 Organizing Committee.

[2] Sixing Wu, Minghui Wang, Dawei Zhang, Yang Zhou, Ying Li, and Zhonghai Wu. Knowledge-aware dialogue generation via hierarchical infobox accessing and infoboxdialogue interaction graph network. In Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence, California, August 2021. International Joint Conferences on Artificial Intelligence Organization.

[3] Sixing Wu, Ying Li, Dawei Zhang, Yang Zhou, and Zhonghai Wu. TopicKA: Generating commonsense knowledgeaware dialogue responses towards the recommended topic fact. In Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, California, July 2020. International Joint Conferences on Artificial Intelligence Organization.

[4] 児玉貴志, 田中リベカ, 黒橋禎夫. 外部知識に基づく発話生成に向けた日本語映画推薦対話データセットの構築. 言語処理学会第 27 回年次大会, 2021 .

[5] 稲葉通将, 東中竜一郎, 千葉祐弥, 駒谷和範, 宮尾祐介, 長井隆行. 多様な年代の話者による旅行代理店タスク対話コーパスの収集と分析. 人工知能学会研究会資料言語・音声理解と対話処理研究会, Vol. 93, pp. 192-197, 2021.

[6] 田中翔平, 吉野幸一郎, 須藤克仁, 中村哲. 曖昧な要求と気の利いた応答を含む対話コーパスの収集と分類. 言語処理学会第 27 回年次大会, 2021.

[7] Emily Dinan, Stephen Roller, Kurt Shuster, Angela Fan, Michael Auli, and Jason Weston. Wizard of wikipedia: Knowledge-powered conversational agents. In International Conference on Learning Representations, 2019.

[8] Rodrigo Nogueira and Kyunghyun Cho. Passage reranking with BERT. arXiv [cs.IR], January 2019.

[9] Stephen Robertson and Hugo Zaragoza. The probabilistic relevance framework: BM25 and beyond. Foundations and Trends in Information Retrieval, Vol. 3, No. 4, pp. 333-389, 2009.

[10] Hiroaki Sugiyama, Masahiro Mizukami, Tsunehiro Arimoto, Hiromi Narimatsu, Yuya Chiba, Hideharu Nakajima, and Toyomi Meguro. Empirical analysis of training strategies of transformer-based japanese chit-chat systems. September 2021.

## A 付録

## A. 1 対話収集の教示文

対話データ収集のために，ワーカーに示した作業手順と，注意事項を図 5 に示す.

1. 作業について

1.1人で店員と客の二役をこなして対話文を作文

2.「名称」〜「料金」の情報を確認.

3. 各7ターンの対話（店7発話, 客7発話の合計14発話）

4. 対象の観光地をどのような「観点」に沿ってお勧めするか選択.

5. 店員の発話は, 可能な限り与えられた情報を用いて作成.

6. 利用した知識は「利用知識」に記載し，最大で2つまで選択。

2. 注意事項

1. 対話中，客は1回は質問とそれに対する回答を行う。

2. 対話中, 店員は1回は客の興味や経験を尋ね，より客に合ったお勧めをできるようにする。

3. 店員の発話は, 自身の知識や別途検索した結果ではなく, 与えられた情報に基づいて発話を作成する。

4. 概要などの与えられた情報は，あくまで参考にしてコピーしない.

5. 発話数が7ターンになっているか確認する.

6. 観点を選択しているか確認する.

図 5 具体的な作業手順と注意事項

## A. 2 対話収集時の作業画面

対話コーパスを作成するにあたって，クラウドワーカーに依頼した作業ファイルを図 6 に示す。ワーカーは指示書に従って，該当の Excel ファイルに対して，記入する形とした。

図 6 実際の作業画面

## A. 3 文区切りを施したマルチラベル対話データセット

使用した知識情報は，本文で示した通り 12 種類存在する.しかし，概要やレビュー情報にはテキスト長がとても長いものが含まれる。深層学習モデルには，扱えるトークン長があり，発話対に対して知識情報が極端に長いと知識の選択においても，発話生成においても，偏った学習を行ってしまうことが考えられる。したがって，概要とレビュー情報に関しては，句点で文を区切り，区切った後の一文で一つの知識情報として扱った対話データも作成した。これにより，概要とレビュー情報の知識情報が約 1,200 件から約 3,200 件に増加した.