固定された情報出⾝は？

ユーザから情報を引き出すための強化学習による応答生成

私は岐⾩出⾝です[SEP]出⾝は？
応答⽣成モデル1,2
佃夏野 1 品川政太朗 1,2 システム中村 哲
ユーザモデル
1 奈良先端科学技術大学院大学
岐⾩です．
岐⾩です．
2 理化学研究所革新知能統合研究センター{tsukuda.natsuno.tn1 sei.shinagawa s-nakamura}@is.naist.jp

概要

こんにちは

雑談対話システムをユーザに長く使用してもらう

タスク: ユーザの出⾝地を知りたい

質問すればいいのかな…?には，システムがユーザに興味のある話題を提供する必要があるが，まずシステムがユーザの情報を知出⾝は？

ユーザ

らねばならない．この時ユーザの心象を損ねず対話

図1

システム

本研究の対話システムの概要図．

でユーザから情報を引き出すのが理想だと考えられ，質問や相槌等の複数の言動を効果的に使い分けデリングのしにくさからタスクとして複雑になる．

ることが有望な方法の一つとして考えられる．本研

そこで本研究では初歩的な実験として，図 1 のよ

究では初歩として，指定された情報をユーザ発話かうに雑談における情報抽出に目的を限定し，そのたら抽出する簡単なタスクを設定した．また，タスクめの対話戦略を強化学習を用いて学習する．また，を達成するために単純な報酬を用意し，強化学習を対話行為について質問か質問でないかの二つのみを利用して既存の対話システムの最適化を行い，シス扱うこととし，強化学習の結果として直接的に情報テムの応答文の変化について実験を行なった．結果取得をしやすい質問が行われやすくなることを期待する．そこで，「予め欲しい情報を定義し，シスとして，システムをタスクに最適化できたことと，的外れな内容の生成への対策の必要性が分かった．

1

はじめにテムの応答に対し，目的の情報を含む発話をユーザが行ったか」という単純なタスクと報酬を定義し，システムを REINFORCE [1] で最適化する．本来は雑談対話システムを実運用するには，ユーザに長ユーザの心象と相関の高い機械的な指標を用意し報く使用してもらうことは重要な課題の一つである．

酬に含めるべきであるが，今回は情報の取得のみをそのために，システムがユーザの趣味や職業等の情報酬として定義する．これによりユーザのシステム報をユーザから引き出し，ユーザに興味のある話題に対する心象や会話に対する反応を考慮しないたを提供することが考えられる．ここで情報を引き出め，対話行為として質問を行いやすくなると考えらすために単に質問のみ繰り返すと，ユーザが煩わしれる．この際，JPersonChat データセット [2] で予めさや不信感を感じ，システムを使用しなくなる恐れ

ﬁne-tuning した Encoder-Decoder モデルを学習対象のがある．これを防ぐには，質問以外に相槌や自己開システムと，ユーザの代わりであるユーザモデルの示等の複数の対話行為をシステムが扱いつつ，情報双方に適用し，両者を会話させて学習のためのデーを引き出すせるように戦略的に複数の対話行為を使タセットを収集する．また，強化学習を適用する前後のシステム応答を比較し，報酬の変化，質問の生い分けることが必要となる．また，情報を引き出す戦略を学習するには，正解文と比較して最適化を行う教師あり学習より，タスクの目的に合わせて報酬を設計し，より直接的にタスクを解くように最適化できる強化学習を用いるのが良いと考えられる．理想的にはユーザの心象によって複数の対話行為を使成しやすさ，及び生成した応答例を評価する．

2

関連研究

2.1

対話による情報抽出

い分けられるように最適化を行うべきであるが，扱Han らの研究 [3] では，カウンセリング対話におう対話行為が多いことやユーザの心象についてのモける患者から情報を引き出す 5W1H の質問文の作成

表1

タスク達成判断の例．

取得したい情報

正解の固有表現

ユーザ発話

タスク達成

報酬

私の趣味は [MASK] です

囲碁

私は福岡生まれです×0

私の趣味は [MASK] です

囲碁

私もよく囲碁を打ちます．

◦1と，患者の回答から対応する情報を抽出する手法を提案した．この手法ではあらかじめ用意したテンプ{

レートをもとにした質問文の作成と情報抽出によ

𝑖𝑠𝑆𝑢𝑐𝑐𝑒𝑠𝑠 =り，テンプレートに沿った質問と発話については自𝑇𝑟𝑢𝑒
𝐹𝑎𝑙𝑠𝑒(𝐼 ∈ 𝑈)(𝐼 ∉ 𝑈)(1)

然な質問作成と正確な情報抽出が行えた．しかし，テンプレートにない多様な質問や発話には対応でまた，固有表現抽出とタスク達成の評価の例をきなかった．Cotris らの対話システム [4] では対話

表 1 に示す．まず，このタスクで取得したいユーザの情報は表 1 のように，固有表現にあたる部分がからイベントに関する人や場所，日付等のユーザの情報を抽出・統合し，外部利用が可能なモジュール「[MASK]」で置換された文として表現される．次を作成した．また，Tigunova らの研究 [5] ではユーに，ユーザ発話に固有表現が含まれ，かつそれが正ザ発話の潜在的な特徴量やスピーチスタイルを元解であった場合，タスクについて成功したとみなに，趣味や職業等のユーザの個人情報の推定を行し，ユーザの発話に正解の固有表現が一切含まれてなった.

いなかった場合にタスク失敗とみなす．また，ユー

2.2

既存研究と本研究の差分

ザ発話中に複数の固有表現が含まれている場合，一つでも正解の固有表現と合致していればタスクを達

対話からの情報抽出についての既存研究 [3][4][5]成したとみなす．

では，ユーザ発話の中にユーザ自身の情報が含まれることを前提とし，いかに情報を抽出するかが研究

3.2

対話システムの概要の主眼とされてきた．これに対し本研究では，日常本研究の対話システムは，ユーザ自身について得的な会話で考えられるように，会話の運び方や話したい情報とユーザ発話の２つをもとにして応答を生

相手への心象によりユーザ発話に情報が含まれない成するモデルからなる．概要を図 2 に示す．

場合があることを踏まえ，心情を損ねずユーザが自身の情報について言及するような対話戦略の学習をあなたの出⾝はどこですか？

目標にしている．

3

提案手法

3.1

タスク設定

本研究では，対話システムが行なった応答 𝑅 に対して，ユーザが発話 𝑈 を返すという設定の下で、ユーザ発話 𝑈 にユーザ情報 𝐼 が含まれるように，応答 𝑅 をシステムが生成することを目標にする. ここで，取得したいユーザの情報を，今回は職業や出身地といった固有表現として抽出可能なものと定義する．また，この固有表現は，ユーザから取得可能で，かつ，正誤判定のために正解の固有表現をデータセット中に保持できるものとする．タスクが達成できたかどうか判断する変数 𝑖𝑠𝑆𝑢𝑐𝑐𝑒𝑠𝑠 はシステムの応答に対するユーザの発話から判断され，式 1 となる．

Decoder

応答⽣成モデル
Encoder
私は[MASK]⽣まれです[SEP]こんにちは
得たい情報

図2

コンテキスト

対話システムの概要．

まず図 1 のようにユーザについて知りたい情報のうち固有表現部分をマスクした文と，コンテキストを繋げた文を区切り文字 [SEP] で繋げ入力文とする．次に，これをトークン化し，Encoder-Decoder モデルからなる応答生成モデルに入力し，最後にシステムの応答を得る．これにより，システムは知りたい情報を引き出すための対話行為と応答の内容，加えて前のターンの会話から大きく外れないことを考慮して，応答を生成できると考えられる．

3.3

学習方法

3.4

ユーザモデル

学習方法には REINFORCE [1] を用い，応答生成強化学習を行う際に用いるユーザモデルについてモデルを最適化する．まず前提として，システム説明する．ユーザモデルには，図 4 のように予め与とユーザモデルを会話させる際に，図 3 のようにえた固定のペルソナに沿った発話をするように学習

ユーザモデルには正解となるユーザについての情報した応答生成モデルを用いる．

（「私は福岡出身です」が与えられ，システム側には固定された情報出⾝は？

その情報のうち固有表現をマスクしたものが与えら

私は岐⾩出⾝です[SEP]出⾝は？

れる．これは，学習・推論のいずれの場合でも同様応答⽣成モデルである．
システム

私は福岡出⾝です．

⼊⼒

ユーザモデル

固有表現抽出とマスク

私は[MASK]出⾝です．

⼊⼒

ユーザモデル

岐⾩です．

岐⾩です．

図4

ユーザモデル概要図．

このユーザモデルでは，まずユーザについて固定
対話システムされた情報とコンテキストを連結した文が，入力文

図 3 報酬計算のためのデータ処理とそれぞれのシステムに与えられる入力．

として Encoder-Decoder モデルに与えられる．学習時には入力文に対応したデータセット中の返答文を教師データとしてユーザモデルの学習を行う．推論

次に報酬 𝑟 について，先程の前提を元に，コンテ時には，与えられた情報とコンテキストに矛盾しなキストを元にした 1 ターンの会話でユーザからマスい発話が生成される．

クした固有表現が得られれば 𝑟 = 1，得られなければ 𝑟 = 0 とする．以上のような学習設定と報酬を元

4

実験設定

4.1

データセットに，予め学習前のシステムとユーザモデルを会話させ，報酬を計算しておくことで強化学習用のデータセットを構築しておく．

まず，対話データを作成する際に用いる，対話

次に，用意したデータセットからの学習方法にシ ス テ ム と ユ ー ザ モ デ ル の ﬁne-tuning に 使 用 す

つ い て 述 べ る．今 回 の よ う な 言 語 生 成 に 対 し てる JPersonaChat [2] について述べる．JPersonaChat は

REINFORCE を適用する場合，損失 𝐿 は，入力系列

PersonaChat [6] の設定をもとにして，クラウドワー

𝑦 のトークン長 𝑇，言語モデル（方策関数）𝜋 𝜃 と時カーが与えられたペルソナに沿ってお互いを深く知間 t までの状態 𝑠𝑡 に対して，り合うよう 2 者間で話した対話を収集したものである．各会話のそれぞれの話者にペルソナと呼ばれる

1∑
𝐿=−𝑟 log 𝜋 𝜃 (𝑦 𝑡 |𝑠𝑡 )𝑇 𝑡=1

ユーザに関する情報が「私は横浜出身です」「私は島𝑇(2)根県在住です」といった文の形で付与されている．
このうち，対話データのみを用いてシステムの生成モデルを ﬁne-tuning する．またユーザモデルは，対と な る こ と が 知 ら れ て い る．こ れ は，通 常 の話データに加えてそれぞれの対話に結びついた話者

損 失 log 𝜋 𝜃 (𝑦 𝑡 |𝑠𝑡 ) に 対 し て 報 酬 𝑟 で 重 み 付 け し，のペルソナのうち，固有表現を含むペルソナのみをTeacher forcing で 学 習 す る こ と に 等 し い．通 常 の一つ抽出し，3.4 で示した方法で ﬁne-tuning を行う．

REINFORCE では，モデル更新にしたがってモデル

これにより，与えた 1 つのペルソナに矛盾しない発話をユーザモデルに行わせる．

が新たに生成する文も変化していくが，この方法では一般的に学習が不安定になりやすい．そこで本研

次に，強化学習用のデータセットについて述べ

究では，強化学習を行う前のシステムとユーザモデル間の対話によって対話のデータセットを予め作成

る．ﬁne-tuning を行ったシステムとユーザモデルにしておき，このデータセットからサンプリングしたターンの会話を行い，過去 3 発話程度のコンテキス対話データに対して報酬を評価し、訓練に用いた．

ト，システム応答，ユーザ発話，およびユーザ発話

ついて，ユーザモデルのペルソナを変更しつつ 20

表 2 学習した対話システムによる応答生成例と得られた報酬．テストセットや生成例に含まれる正解の情報，コンテキ
スト及びユーザモデルの発話については表に収まらないため省略した．

システムの応答報酬

そうなのですね。私は、最近カラオケが好きでよく行きます。お休みの時は何をされるんですか。

0

私はテレビ業界で働いています。あなたは、何のお仕事をされているんですか?

1

はい、大丈夫ですよ。私はキャリアコンサルタントをしています。

1から計算される報酬の４つからなる対話データセッ

かった質問は，このように「お休みの時は何をされト作成した．このデータセットには，227 個のペルるのか」という内容のものが多かった．これは学習

ソナ，227 個の対話，および 9080 発話が含まれておセット中で，報酬を獲得できた質問が 570 個である

り，データセットの総数は 4540 個である．このうのに対し，これに類する質問が，44 個含まれておち 3971 個を学習セットとし，569 個をテストセットり，頻出する質問を行うよう学習したためと考えらとして評価に用いる．

れる．続いて，表 2 上から 2 つ目の例は，報酬を獲4.2得できた質問の代表的なものである．報酬を獲得で評価尺度

きた質問は，このように質問の答えのドメインが絞評価尺度として，テストセットで得られる報酬のられる内容のものが主になっていた．加えて，表 2総和と，質問を行っている応答の総数を用い，シスの上から 3 つ目のように，質問でなくても報酬が得テムが報酬を得やすくなったか，および質問をしやられた応答としては，会話のドメインを絞った内容すくなったかについて評価する．また，質問の報酬のものが主になっている．これらのことから，今回獲得率を計算し，質問で報酬を獲得できているかに用いたユーザモデルに対して，システムがドメインついて評価する．質問の報酬獲得率の計算式はを絞った直接的な質問を行うことで，更に報酬を増やすことが期待できると分かった．

質問の報酬獲得率 =

報酬を得られた質問の総数
質問をしている応答の総数(3)となる．

56

まとめ
本研究では初歩的な実装として，ユーザから指実験結果と考察定された情報を引き出すことのみをタスクとして，4.2 節で述べた尺度による評価の結果を表 3 に示

ユーザが情報を話したか，という単純な報酬を用いす．学習前後の報酬の総和を比較すると，学習後のて強化学習で対話システムを最適化し，学習したモ

表 3 報酬の総和と質問数・質問の報酬獲得率の変化による比較．

報酬の総和

質問の数 質問の報酬獲得率

デルの応答文の変化について調査を行なった．その結果，質問を生成しやすくなり，タスクへの最適化が行えたことが確認できた．また，ユーザから対話学習前

29

69

0.159

的に情報抽出を行うためには，情報抽出のための適学習後

43

128

0.172

切な内容を含む必要があるという課題も分かった．
本研究の本来の最終的な目標は，対話行為を適切システムの方が多くなっており，また，質問の数も多くなっていることから，狙った方向性にシステムに使い分けることでユーザの心象を損ねず対話でユーザから情報を引き出すことである．今後はユーが正常に学習できていると考えられる．しかし，学ザが情報を話しやすい状態かの判断を報酬設計に組習した後は質問が 2 倍近く増加しているのに対しみ込み，質問や相槌等の対話行為をシステムが適切て，recall はあまり増加していない．この結果から，に使い分けることを目指す．また，今回の課題も踏質問という対話行為を選択しやすくなったものの，知りたいことを適切に聞けるような発話ができてはまえて対話行為だけでなく，応答の内容についてもいないと考えられる．

ことを検討していく．将来的には，取得すべき情報適切なものを生成できる機構をシステムに導入する

そこで，詳しく結果を分析するために，テストを増やしてタスクを複雑化し，本研究を拡張してマセットから生成した応答を表 2 に示す．表 2 の上かルチターンの対話による最適化を行い，最終的に人ら 1 つ目の例は，質問はしたが報酬に結び付かな手の評価を行う予定である．

かった応答の代表的な例である．報酬に結び付かな

参考文献[1] Ronald J. Williams. Simple statistical gradient-following
algorithms for connectionist reinforcement learning. Mach.
Learn., Vol. 8, No. 3–4, p. 229–256, may 1992.
[2] 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.
arXiv:2109.05217, 2021.
[3] Sangdo Han, Kyusong Lee, Donghyeon Lee, and Gary Geunbae Lee. Counseling dialog system with 5W1H extraction. In Proceedings of the SIGDIAL 2013 Conference,
pp. 349–353, Metz, France, August 2013. Association for
Computational Linguistics.
[4] Keith Cortis and Charlie Abela. Semchat: Extracting personal information from chat conversations. In EKAW 2010•
Workshop W2, p. 14. Citeseer.
[5] Anna Tigunova. Extracting personal information from conversations. In Companion Proceedings of the Web Conference 2020, WWW ’20, p. 284–288, New York, NY,USA, 2020. Association for Computing Machinery.
[6] Saizheng Zhang, Emily Dinan, Jack Urbanek, Arthur Szlam,
Douwe Kiela, and Jason Weston. Personalizing dialogue
agents: I have a dog, do you have pets too? In Proceedings of the 56th Annual Meeting of the Association for
Computational Linguistics (Volume 1: Long Papers), pp.

2204–2213, Melbourne, Australia, July 2018. Associationfor Computational Linguistics.

A

実験で使用したモデルについて
節 3.1 で行う固有表現抽出は，オープンソース日

本語 NLP ライブラリである Ginza で配布されている ja_ginaza モデル1）を用いて，JPersonaChat データセットに対して行う．また，応答生成モデルとして，システムとユーザモデルの両方で NTT による
日本語事前学習済み Encoder-Decoder モデル [2] を用いる．

1） https://github.com/megagonlabs/ginza