応答履歴に応じたペルソナの更新が対話システムの応答生成へ与える影響の分析
The eﬀect of adding personas on response generation in Persona
dialogue systems
吉田快 1∗

品川政太朗 1,2 須藤 克仁 1
中村 哲 1,2
Kai Yoshida1 , Seitaro Shinagawa1,2 ,Katsuhito Sudoh1 ,and Satoshi Nakamura2
奈良先端科学技術大学院大学
Nara Institute of Science and Technology
2
理化学研究所革新知能統合研究センター
2
AIP Center, RIKEN
1

1

Abstract: Existing approaches to persona dialogue systems attempt to incorporate some textual
descriptions as explicit proﬁles of the system. However, the persona of such systems is ﬁxed atthe beginning and cannot be automatically updated from a pre-deﬁned proﬁle. For example, if aquestion about an unconditioned persona is entered into the system, the system may generate anutterance containing a new persona. Therefore, it is necessary to consider such new personas inorder for the system to carry out consistent dialogue. In this reserach, we considered a new problem
setting in which a persona dialogue system automatically updates its own persona according to thedialogue history. To realize this problem, we proposed a persona dialogue system with a persona
addition mechanism and investigated the eﬀects of possible problems.

1

はじめにチャットボットにペルソナと呼ばれるプロフィール情報を持たせることで，その個性に沿った一貫性のある応答をする対話システムとしてペルソナ対話システムがある [1]．ペルソナ対話システムに対する既存のアプローチでは，いくつかのテキスト記述を明示的なシステムのプロファイルとして組み込むことが試みられている [2]．しかし，このようなシステムのペルソナは初めに条件付けされたもので固定されており，事前に条件づけされたプロファイルから自動的に更新することができない．例えば，条件づけられていないペルソナについての質問がシステムに入力された場合には，システムが新たなペルソナを含んだ応答を生成する可能性がある．そのため，システムが一貫した対話を行うにはこのような新たなペルソナも考慮する必要がある．例えば，図 1 のように，Persona を持ったシステム(BoB) がマルチターンの会話を行う場合を考える．この会話では，ユーザー側からの”What university do you∗ 連絡先：奈良先端科学技術大学院大学

奈良県生駒市高山町 8916-5
E-mail: yoshida.kai.yf1@is.naist.jp

Ϙϩλψ: I am a student.
έΦϨ1: What university do you belong?
εητϞ1: I am Tokyo university student.
Ϙϩλψ: “I am a student.”,“I am Tokyo university student.” ㏣ຍέΦϨ2: Where do you live?
εητϞ2: I live in Tokyo.
図 1: ペルソナ追加機構を持つ対話システム (提案手法)を用いた会話例

belong?”(図 1 :Query1) という入力に対して，システム側は”I am Tokyo university student”と応答している．
ここで生成された応答である”I am Tokyo universitystudent”は新しいペルソナと言えるが，既存の手法ではこれを考慮しておらず，次のユーザーからの入力に対する応答生成に利用できていない．提案手法では，”I
am Tokyo university student”を新しいペルソナとして追加することで，2 つめのユーザーからの入力である”Where do you live?”に”I live in Tokyo.”と応答を生成することが期待できる．
そこで，本研究では，ペルソナ対話システムが応答履歴に応じて自身のペルソナを自動で更新するという新たな問題設定を考え，これを実現するために，ペルソナ追加機構を持つペルソナ対話システムを提案する．
ペルソナ追加機構はシステムの応答履歴から Mazareらの研究 [2] と同様に条件を満たす記述をペルソナとして抽出し，抽出されたペルソナをフィルタリングして既存のペルソナに追加する機構である．
提案手法では既存のペルソナに新しいペルソナを随時追加するため，条件付けされているペルソナの数が変化する．そのため，以下のような問題が考えられる．

1. 実際にどういった情報を含むものが新しいペルソナになるか未知である
2. 矛盾や重複したペルソナが設定されてしまう
従って，応答生成において上記の問題が与える影響を調べる必要がある．ここでは提案する問題設定での課題を調査するため以下の 2 つの項目について調査した．

1. 生成された新しいペルソナを分類することで，実際にどういったペルソナが追加されていくのいか確かめる
2. 新しいペルソナ追加時の重複や矛盾のフィルタリングの有無による応答生成への影響

and generating Personalized responses(DHAP) の構築をした. DHAP はユーザーの応答履歴を逐次更新するため，実質的にユーザープロファイルの更新を応答ごとに行っているが，プロファイルが暗黙的であることからプロファイルを最大限活用できていないことが考えられる．
本研究では Song らの明示的なペルソナを用いた応答生成モデルの研究と Ma らの逐次プロファイルを更新する研究を組み合わせることで，事前にプロファイルを条件付けでき，かつ個性を変化させていく点が従来の研究と異なっている．

3手法

3.1

応答生成モデル

本研究では，ペルソナ追加機構の有無による応答生成への影響を検証するために，ベースとなる応答生成モデ
ルとして，Song らの提案した BERT over BERT(BoB)[3]を用いる．今回は Song らが Github 上で公開している
コード (https://github.com/songhaoyu/BoB) を用いた．BoB はペルソナを含んだ応答生成を，応答生成と一貫性理解の 2 つのタスクにわけることで限られたデータで対話モデルの構築を可能にするモデルである．
BoB の構造を図 2 に示す．BoB は図に示すようにエvector
word

2

BERT D2

関連研究

限られた規模のペルソナ付き対話データで対話システムの構築を行った研究として Song らの研究がある[3]．Song らは明示的なペルソナを用いた対話生成を応答生成と一貫性理解の 2 つのサブタスクに分けることで，限られた規模の対話データで対話モデルを構築できる BERT Over BERT(BoB) を提案している．BoB
では，ペルソナ対話データで学習された応答生成用のデコーダと非対話型推論データで学習された一貫性理解用のデコーダの 2 つのデコーダを用いることで，限られた対話データでのペルソナを含んだ応答生成を可能にしている．しかしながら，BoB は事前に与えられたペルソナでシステムのペルソナが固定されているため，長い対話を想定した場合，実際に生成された応答と異なった応答をすることが考えられる．
一方で特定のユーザーの過去の対話履歴を用いて応答生成モデルの構築を行った研究として Ma ら [4] の研究がある．Ma らは Transformer を用いて特定のユーザーの過去の対話履歴から暗黙的なユーザープロファイルを自動的に学習する Dialogue History Automatically

R2
R1
BERT D1

H
Cross-attention
FNN
BERT EP

Q
Embedding Layer...
personaquery

図 2: BoB の構造
ンコーダ E, 応答デコーダ D1 , および応答デコーダ D2の 3 つの BERT ベースのサブモジュールで構成されている．この D1 はペルソナ P とクエリ Q から応答ベクトル生成を行うデコーダである．また，D2 は NLI

コーパスによって与えられたペルソナ P に対して，一貫した応答 R を生成するように訓練されたデコーダであり，D1 の出力である応答ベクトルとペルソナ P から応答を生成する．これにより，D2 は D1 よりもさらにペルソナに対して一貫した応答を生成することができる．ここで，応答デコーダ D1 および応答デコーダ
D2 は応答生成が目的であるため，通常の BERT とは異なり，BERT の self attention に単方向化するためのマスクが適用されている．
生成された応答候補郡からサンプリングする方法として，先行研究では greedy search が用いられていたが，本研究では応答生成に多様性を持たせるために top-psampling を用いた．

3.2

ペルソナ追加機構

自身の応答履歴からペルソナを更新するために，ペルソナ追加機構を導入する．ペルソナ追加機構では，システムの応答履歴 R から新しいペルソナを抽出し，既存のペルソナに追加するために 2 つの段階を踏む．まず初めに，(1) 応答履歴 R から Mazare らの研究 [2] と同様に以下の 3 つの条件を満たす記述をペルソナとして抽出する．

1. 4 から 20 の単語 (句読点を含む) で構成される

4.1

データセット

本研究では，応答生成モデルの構築のために，ペルソナが付与された対話データである Persona Chat と,2つの文章間の含意関係を推測するタスクの，非対話型推論データである MNLI コーパスを用いた．ここで，新たに応答生成モデルを作る理由としては，BoB は学習済みモデルを公開していないため，新たに学習する必要があるからである．また，評価には Pesona Chatを事前に分割したデータを用いた．

Persona ChatConv AI2 Persona Chat (Dinan et al., 2019)[6] は、
大規模なタスク指向ではない大規模なデータセットで，1155 人の 個性的なキャラクターが含まれており、それぞれが少なくとも 5 つのプロフィール文で構成されている。このデータセットは、Zhang らの作成した PersonaChat(Zhang et al., 2018)[1] を応答候補が複数になるよう拡張したものである．Persona Chat は Amazon
Mechanical Turk で収集されており，ペアの話者はそれぞれ与えられたプロフィールを条件に対話を行ったデータが収録されている．
本研究ではこのコーパスを 121,880 の学習用に，9,558を検証用に，7,504 をテスト用に分割して使用した．

2. ”I”か”my”という単語を含む
3. 名詞、代名詞、形容詞のうち少なくともどれか 1つを含む
そして，(2) 抽出されたペルソナを NLI モデルを用いた重複，矛盾フィルタの 2 種類のフィルタによって既存のペルソナに追加する．
NLI モデルはペルソナ対話データに基づいて構築された Dialogue NLI コーパス [5] によって事前学習済みの BERT を ﬁne-tuning したモデルであり，2 つの文を含意，中立，矛盾の 3 つのうちいずれかに分類する分類器である．事前に分割しておいた DNLI テストセットでの予測精度は 88.43%である．本研究では，Welleckら [5] によって公開されている学習済みのモデルを用いた．

4

実験設定

ここでは，システムが自己の応答によりペルソナを更新するという新たな問題設定を考えたときに，新たなペルソナが応答生成に与える影響を分析するため，以下に述べるデータセットを用いた 2 つの実験を行う．

MNLI コーパス
Multi-Genre Natural Language Inference(MNLI) コー
パス (Williams et al., 2018) は文章理解のための機械学習モデルの開発・評価に使用するために設計されたデータセットで，およそ 43 万件の自然言語推論 (文の含意関係の認識) のために利用可能なコーパスである．
データの内訳としては，含意が 130,615，中立が 130,590，
矛盾が 130,590 となっている．

4.2

システム応答に含まれるペルソナの分類

システム応答に含まれるペルソナの特性を把握するために，抽出されたペルソナを以下の 2 つの観点で分類する．

1. システム応答に含まれるペルソナの属性カテゴリ
2. 既存のペルソナとの含意関係
なお，ここではペルソナに含まれる単語の属性をペルソナの属性として分類を行う．単語の属性は spacy の固有表現抽出によって取得を行った．
属性カテゴリは表 1 のものについて分類する．

表 1: 属性カテゴリの種類
属性カテゴリ説明
PERSON
人
NORP
国籍や宗教・政治団体
FAC
ビル、空港、高速道路、橋など
ORG
企業、代理店、機関など
GPE
国、都市、州LOC
非 GPE 地域、山脈、水域
PRODUCT
モノ、乗り物、食べ物など (サービスではない)
EVENT
台風, 戦争，スポーツイベントなど
WORK OF ART 本のタイトルや音楽の曲名
LAW
法律の文書
LANGUAGE
言語
DATE
絶対的または相対的な日付や期間
TIME
日より小さい時間
PERCENT%を含むパーセンテージ
MONEY
単位を含む金銭的価値
QUANTITY
重量や距離などの測定値。
ORDINALﬁrst , second など
CARDINAL
他のタイプに該当しない数字。

1. 応答の多様性
2. 応答とペルソナの一貫性
応答の多様性に関しては，distinct 1/2(Dist.1/2)[7] を用いて評価を行う．distinct は式 (1) のように，生成された応答に含まれるユニークな n-gram の数を単語数でスケーリングした数によって，どの程度の語彙を含んだ応答なのか評価するものである．

distinct-n =|unique(n-gram)||uni-gram|(1)

ペルソナの一貫性の評価には，
Consistency Score(C.Score)[8] を用いる．これはモデルを用いて一貫性を予測するもので，式 (2) のように生成された応答と応答生成に使用したペルソナを NLI
分類器によって entail,contradict,neutral に分類し, そのスコアの総和で評価を行う．

−1 r が pi と矛盾

N LI(r, qi ) =r が pi と中立

01C.Score(r) =r が pi と含意t∑

NLI(r, pi )

(2)

i=1

4.3

ペルソナ追加時のフィルタリングの影響の調査

生成された応答から作成した新しいペルソナを既存のペルソナに単純に追加するだけではペルソナの重複や矛盾といった問題が考えられる．そのため，それらのフィルタリングの有無で結果を比較し，重複や矛盾したペルソナが応答生成に与える影響を調べる．
ここでは，以下の 4 つの場合に分けて，ペルソナ追加の戦略を比較する．

1. 重複の削除
2. 矛盾の削除
3. 矛盾と重複の削除
4. そのまま追加
重複と矛盾の分類には NLI で学習した分類器を用いた．

4.4

評価指標

ペルソナ対話システムにおいては，(1) 多様性があり，(2) ペルソナに一貫した応答をシステムが行うことが望ましい．そのため，ここでは 2 つの側面で生成された応答を評価する．

5

実験結果

5.1

応答に含まれるペルソナの分類

ユーザー発話と，そのシステム応答からペルソナ追加機構によって抽出されたペルソナの属性カテゴリを分類した結果を図 3 に示す．結果として，システム応答に含まれるペルソナの属性カテゴリの数は，ユーザーの入力と同じような分布になることが示唆される. しかし，個々の対話におけるユーザー入力とシステムの応答から得られたペルソナの属性カテゴリに注目すると，全 7,504 件のシステム応答の内，6,025 件に新しいペルソナが見られ，そのうち今回属性カテゴリ分類に使用した情報が含まれていたユーザー発話は 1,307件，応答は 1,534 件であった．また，ユーザー発話とシステム応答で同じ情報を含んでいたのは 253 件であり，情報があると分類された応答のうち，およそ 17%ほどが入力と同じ属性カテゴリのペルソナを含んでいたことになった．共起が起きているか確認するために，ユーザー発話と応答から生成されたペルソナに含まれる情報の組み合わせのヒートマップを図 4 に示す．ここで，情報が抽出できなかったものはすべて Other と置き換えている．ユーザー発話に属性カテゴリ内の単語が出現する回数と、システム応答に含まれるペルソナの属性カテゴリが出現する回数を図 4 に示す．ここ図 4: ユーザー発話とペルソナの組み合わせの出現数5.2
図 3: ユーザー発話とペルソナの属性カテゴリの分類
で，属性カテゴリが抽出できなかった場合は Other として数えた．図 4 は回数の上限を 100 までとしており，CARDINAL-CARDINAL は 643，Other-Other は4718, DATE-DATE は 441,GPE-GPE は 558,NORPNORP は 109,ORG-ORG は 145,PERSON-PERSONは 134 と 100 回以上出現していることを示している．
ユーザ発話とシステム応答の間には出現回数が少ないLAW や WORK OF ART などを除いて，ユーザ発話に含まれるペルソナ情報がシステム応答に共起する場合が少なからず存在することが確認できた．
次に生成されたペルソナが事前に条件付けされたペルソナに対して重複か，中立か，もしくは矛盾しているか分類した結果を表 2 に示す．結果から半分以上の
表 2: ペルソナの性質
含意 中立 矛盾 ペルソナを含
んでいない
システム応答 717 4819 489 1479
対話において新しい中立のペルソナが生成されたことが分かった．また，既存のペルソナに対して矛盾したものより，重複したものが生成された．生成された応答のうち，ペルソナを含んでいないものは 1,400 ほどであったが，入力となるユーザー発話では 2,800 件ほどがペルソナを含んでいない発話であった．

フィルタリングによる影響

矛盾と重複のフィルタを組み合わせてペルソナ追加の方法を変え，応答生成を行った．再現した応答生成モデルの性能を表 3 に，フィルタごとの生成された応答の評価を表 4 に示す．
表 3: 再現した応答生成モデルの性能
FilterDist.1 Dist.2 Dist.AVG
BoB [Song ら]
8.40
36.08
22.04
再現したモデル 2.573 18.809
10.691

Filter無し
矛盾重複両方

表 4: フィルタごとの性能
Dist.1Dist.2Dist.AVG
3.6369 24.5419
14.0894
3.1496 21.3557
12.2526
3.2121 21.6253
12.4187
3.1614 21.3458
12.2536

C.Score
17.18
6.796

C.Score8.110422.341113.931116.499

結果より，再現した従来の方法よりも，ペルソナを更新していくモデルのほうが Dist と C.Score の両方で高い結果を出した．一方で，提案したペルソナを追加していく方法の結果に注目すると，Dist はフィルタ無しの単純に追加する方法が一番高く，C.Score はフィルタリングありのほうが高い結果となった．

6

考察

新しく生成されたペルソナは DATE や GPE の情報を含んだ中立のペルソナが多く生成されることがわかった．これは，ユーザー側の入力として DATE や GPEに関する質問が多いからだと考えられる．実際の例とし

て，ユーザー側の入力「i live in ﬂorida but my family isfrom toronto」への応答として，「nice. i live in seattle.
what do you do for a living? 」があった．このように，生成されるペルソナの属性カテゴリはある程度ユーザー側の入力に依存することが考えられる．
また，中立のペルソナが多く生成された原因としては，質問の多くがペルソナの内容を必要とする回答を求めないものであることが考えられる．例えば，「wheredo you live?」という質問された場合に，事前に条件付けされたペルソナには居住地の情報が含まれていない場合等である．
次にフィルタリングを用いたペルソナ追加の戦略について考える．まず，再現と提案手法 (フィルタ無し)を比較すると，提案手法のほうが，Dist と C.Score の両面でよい結果を出していることが確認できる．Distが上がった要因としては，ペルソナが増えたことで応答生成時の条件付けが強くなり，よりペルソナに沿った発話ができたためではないかと考えられる．また，フィルタリングありの 3 パターンでは無しの場合と比べてスコアが低くなっていることからもペルソナの数が Distに対して影響を与えていることが確認できる．そのため，フィルタリングを用いずに新たなペルソナを追加することで，応答の情報量を上げられることが考えられる．一方で，C.Score に関しては，矛盾のフィルタを使用したほうが，単純に追加するよりも非常によい結果を出すことがわかった．そのため，よりペルソナを含んだ応答生成がしたいのであればフィルタを適用するのがいいと考える．C.Score については，フィルタを用いて追加するペルソナを選択することで高いスコアを達成できたが，Dist については下がってしまった．
Dist に関しては，矛盾と両方のフィルタの場合に Distがかなり近い値になっていることから，矛盾したペルソナの組み合わせが影響していると考えられる．実際に Mazare らの研究 [2] ではペルソナの個数を増やしていくと，多重人格のようにシステムが振る舞うことが確認されており，矛盾したペルソナを追加することでそれに近いことが起こり，矛盾のフィルタを用いていない応答生成では，多様な応答ができているのではないかと考える．

7

まとめ

本研究では，自己の応答によりペルソナを更新するという新たな問題設定を考えたときに新たなペルソナが応答生成に与える影響を分析した．分析の結果，ユーザー発話によって，システム応答の中に新たにペルソナが含まれる事例が確認された．また，事前に条件付けされていない新しいペルソナが多く生成されることがわかったので，応答履歴を用いてペルソナの更新をすることが一貫した対話を実現することに必要であることがわかった．さらに，新しいペルソナ追加の戦略としては，フィルタリングにより応答の多様性とペルソナの一貫性を保持できることがわかった．
今後の展望は自動評価指標による分析のみでなく，人との会話による評価である．また，今回は応答生成に既存のモデルを用いたため，提案した新しいタスクとはミスマッチである可能性もある．そのため，タスクに適したモデル作りも進めていきたい．

参考文献[1] Zhang et al. Personalizing dialogue agents: I havea dog, do you have pets too? arXiv preprint
arXiv:1801.07243, 2018.
[2] Mazaré et al. Training millions of personalized
dialogue agents. arXiv preprint arXiv:1809.01984,2018.
[3] Song et al. BoB: BERT over BERT for training
persona-based dialogue models from limited personalized data.
[4] Zhengyi Ma et al. One chatbot per person: Creating personalized chatbots based onimplicit user
proﬁles. In Proceedings of the SIGIR 2021. ACM,2021.
[5] Welleck et al. Dialogue natural language inference.
arXiv preprint arXiv:1811.00671, 2018.
[6] Dinan et al.
The second conversational intelligence challenge (convai2). arXiv preprint
arXiv:1902.00098, 2019.
[7] Li et al. A diversity-promoting objective function
for neural conversation models. arXiv preprint
arXiv:1510.03055, 2015.
[8] Lin et al. Personalizing dialogue agents via metalearning. arXiv preprint arXiv:1905.10033, 2019.