# 対話システムにおけるペルソナ更新の導入とペルソナの数によ る影響分析

吉田快 ${ }^{1}$ 品川政太朗 1,2 須藤 克仁 ${ }^{1,2}$ 中村 哲 1,2
1 奈良先端科学技術大学院大学
2 理化学研究所革新知能統合研究センター
\{yoshida.kai.yf1, sei.shinagawa, sudoh, s-nakamura\}@is.naist.jp

## 概要

既存のペルソナ対話システムのペルソナは初めに 条件付けられたもので固定されており，自動的に更新することができない. そのため，応答に含まれる 新たなペルソナを考慮できないという課題がある.本研究ではシステムの応答履歴に応じて自動的にペ ルソナを更新するという新しい問題設定を考え，こ れを実現するために，ペルソナ追加機構を持つペル ソナ対話システムを提案し, その際に起こりうる課題の調査を行った.

## 1 はじめに

ペルソナと呼ばれる複数の記述文によって表現さ れるプロフィール情報をシステムに持たせること で，そのペルソナに沿った一貫性のある応答をする 対話システムとしてペルソナ対話システム [1] があ る. ペルソナ対話システムに対する既存のアプロー チでは，いくつかの文を明示的なシステムのプロ ファイルとして組み込むことが試みられている [2]. しかし, 既存のアプローチではペルソナが初めに条件付けされたもので固定されており，自動的に更新 することができない，例えば，図 1 のように，シス テムに条件付けられていないぺルソナに関しての 質問 (図 1 : ユーザー入力 1) に対しては, “I have two dogs” (システム応答 1)のような新たなぺルソナを含 んだ応答を生成する可能性がある. そのため, シス テムが一貫した対話を行うにはこのような新たな ペルソナも考慮する必要がある. そこで，本研究で は，ペルソナ対話システムが応答履歴に応じて自身 のペルソナを自動で更新するという新たな問題設定 を考え，これを実現するために，ペルソナ追加機構 を持つペルソナ対話システムを提案する. ペルソナ 追加機構はシステムの応答履歴から Mazare らの研

図 1 ペルソナ追加機構を持つ対話システム (提案手法) を用いた会話例

究 [2] と同様に条件を満たす記述をペルソナとして 抽出し，抽出されたペルソナをフィルタリングして 既存のペルソナに追加する機構である.

提案手法では，図 1 のシステム応答 1 のように新 しいペルソナを含む応答をした場合に，条件を満た す記述を新しいペルソナとして追加し，次の応答生成に用いることで，ユーザー入力 2 に “Dogs. They can be so loving. と応答することが期待できる. 提案手法では既存のペルソナに新しいペルソナを随時追加するため，ペルソナの数の変化が応答生成に影響 を及ぼす可能性がある。そこで本研究では，この影響について調査を行い，ペルソナを更新する問題設定における課題について明らかにする。

ペルソナ追加機構のフィルタリングには, 入力さ れた 2 つのペルソナ文が含意・中立・矛盾のいずれ の関係にあるか分類する分類器 [3] を用いる. しか し，文献 [3] では含意のみしか扱っていない。 そこ で本研究では含意・中立・矛盾を含む評価用データ セットである Persona NLI データセットを新たに構築し, 分類器の精度評価を行うことで, この分類器 の精度が本研究に用いる上で十分か確かめる.

## 2 関連研究

明示的なペルソナを用いた応答生成に，含意関係推論を組み合わせることで，限られた規模の対話

データで対話モデルを構築できる BERT-over-BERT (BoB) [4] がある．BoBでは，ペルソナ対話データで 学習された応答生成用のデコーダと, 非対話型推論 データで学習された，生成した応答をペルソナ文に より一貫した表現に再調整するデコーダの 2 つのデ コーダを用いることで，少量の対話データでのペル ソナを含んだ応答生成を可能にしている. しかし， BoB は事前に与えられたペルソナでシステムのペル ソナが固定されているため，長い対話を想定した場合，実際に生成された応答と異なった応答をするこ とが考えられる。

一方で，Transformerを用いて特定のユーザーの過去の対話履歴から暗黙的なペルソナを自動的に学習 する手法 [5] がある. この手法はユーザーの応答履歴を逐次更新するため，実質的にペルソナの更新を 応答ごとに行っているが，ペルソナが暗黙的である ことから，ペルソナを最大限活用できていないこと が考えられる。

本研究では，応答履歴から逐次的に明示的なぺル ソナを更新することで，長い対話における応答の矛盾を削減し，よりペルソナを活用できるシステムが 構築できることを期待する.

## 3 手法

## 3.1 応答生成モデル

本研究では, ペルソナ追加機構の有無による応答生成への影響を検証するために，ベースとなる応答生成モデルとして，BERT-over-BERT (BoB) [4]を用 いる．今回は著者らが公開しているコード1)を用い た. BoB は明示的なペルソナを用いた応答生成に，含意関係推論を組み合わせることで，限られた対話 データで学習を可能にするモデルである．BoB の構造を図 2 に示す. BoB は図に示すようにエンコーダ $E$ と応答デコーダ $D_{1}, D_{2}$ の 3 つの BERT ベースの サブモジュールで構成されている． $D_{1}$ はペルソナ $P$ とクエリ $Q$ から応答ベクトル生成を行うデコーダ である。また， $D_{2}$ は NLIコーパスによって，与え られたペルソナ $P$ に対して，より一貫した応答 $R_{2}$ を生成するように訓練されたデコーダであり， $D_{1}$ の出力である応答ベクトルとペルソナ $P$ から応答を 再調整する。これにより， $D_{2}$ は $D_{1}$ よりもさらにぺ ルソナに対して一貫した応答を生成することができ る. 生成された応答候補群からサンプリングする方


図 $2 \mathrm{BoB}$ の構造

法には，ペルソナの更新による影響を確認するため 先行研究と同様の greedy searchを用いた.

## 3.2 ペルソナ追加機構

システムの応答履歴からペルソナを更新するため に，ペルソナ追加機構を導入する．ペルソナ追加機構は，システムの応答履歴 $H$ から新しいペルソナを 抽出し, 既存のペルソナに追加するために 2 つの段階を踏む．まず初めに，(a) 応答履歴 $H$ から Mazare らの研究 [2] と同様に以下の 3 つの条件を満たす記述をペルソナとして抽出する。
1. 4 から 20 の単語 (句読点を含む) で構成される

2. “I”か“my”という単語を含む

3. 名詞, 代名詞, 形容詞のうち少なくともどれか 1 つを含む

そして，(b) 抽出されたペルソナを NLI モデルを用 いた重複，矛盾フィルタの 2 種類のフィルタによっ て更新の有無を決定する．NLI モデルは，入力され た 2 つの文の関係を含意・中立・矛盾の 3 つのラべ ルに分類する分類器である。本研究における NLI モデルは，事前学習済みの BERTを，ペルソナ対話 データに基づいて構築された Dialogue NLI コーパ ス [3] によって fine-tuning することで作成できる.本研究では，公開されている学習済みモデル [3] を 用いた。このモデルのペルソナの組み合わせにおけ る中立ラベルの予測精度は $94.48 \%$ とされている [3] が，含意や矛盾ラベルにおける予測精度は示されて いないため，独自に Persona NLI データセットの構
築を行い，精度評価を行う。

## 4 実験設定

実験では，まず検証に用いるモデル $(\mathrm{BoB})$ を作成 し, ペルソナ追加機構に用いる NLI モデルの精度を 調査する.これらを踏まえて，ペルソナの数による 応答生成への影響について議論する。

## 4.1 モデル構築

BoB は学習済みモデルを公開しておらず，新たに 学習する必要がある. 本研究では, 応答生成モデル の構築のために，ペルソナが付与された対話データ セットである Persona-Chat [1] と，2つの文章間の含意関係を推測するタスクの, 非対話型推論データ セットである MNLI コーパス [6] を用いた (データ セットの詳細は付録 A に記載した).

## 4.2 NLI モデルの精度調査

ペルソナの含意関係推論における既存の NLI モ デルの精度調査を行うため，新たに評価用のデータ セットを構築し，このデータセットに対する NLI モ デルの分類結果を評価する. 本節では，この評価用 のデータセットである Persona NLI データセットの 構築方法について述べる。

## Persona NLI データセット

Persona NLI データセットはペルソナのペアに対 して，MNLIコーパスと同様に含意 (e), 中立 (n), 矛盾 (c) をラベル付けしたデータセットである. デー タの総数は 401 であり，内訳は含意が 103，中立が 196，矛盾が 102 となっている。データは次のよう にペルソナ文のペアを作り，ラベル付けを行った。

含意 Persona-Chat からペルソナをランダムに選択 し，含意になるようなペルソナを人手で生成 した。例えば，Persona-Chat に含まれている“i love watching superheroes shows”に対して，それ と含意関係になるような “i like superheroes”を 人手で生成しぺアを作った.

中立 Persona-Chat に定義されているぺルソナの中 から，ペルソナを中立になるように選択し組み 合わせた。

矛盾 Persona-Chat からランダムに選択したペルソ ナに対し，2 通りの方法で矛盾したペルソナの ペアを作成した. 1 つ目は, “i work in a veterinary office”を“i work in supermarkets” のように矛盾し
た文に書き換える方法であり，2つ目は否定を 用いて “i love beef”を “i don’t like beef” のように 書き換える手法である. 52 件を 1 つ目の方法 で， 50 件を 2 つ目の方法で作成した.

## 4.3 ペルソナの数による応答生成への影響 の調査

ペルソナの数を変化させ，応答生成への影響を調 べる方法について述べる。まず，定義されているぺ ルソナの数である 5 個より少ない場合は不必要な数 を削除した. 6 個から 20 個の場合は重複や矛盾が無 いように Persona-Chat に定義されているペルソナか らランダムに追加し，20 個より多い場合は重複しな いようにランダムに追加した. その後，数を変化さ せたペルソナと Persona-Chat の入力文を用いて応答生成を行った。

## 評価指標

ペルソナ対話システムにおいては，(a) 多様性があ り，(b) ペルソナに一貫した応答を行うことが望ま しい，そのため，ここでは応答の多様性と，応答と ペルソナの一貫性の 2 つの側面で生成された応答を 評価する。応答の多様性は, distinct 1/2 (Dist.1/2) [7] を用いて評価を行う．Dist は式 (1)のように，生成 された応答に含まれるユニークな n-gram の数を単語数でスケーリングした数によって，どの程度の語彙を含んだ応答なのか評価するものである.

$
\text { distinct-n }=\frac{\mid \text { unique }(\text { n-gram }) \mid}{\mid \text { uni-gram } \mid}
$

応答の一貫性の評価には, Consistency Score (C.Score) [8]を用いる.これはモデルを用いて ペルソナと生成した応答の一貫性を予測するもの で，式 (2)のように生成された応答と応答生成に使用したペルソナを NLI 分類器によって含意，中立，矛盾に分類し，そのスコアの総和で評価を行う。

$
\begin{gathered}
\operatorname{NLI}\left(r, q_{i}\right)= \begin{cases}-1 & r \text { が } p_{i} \text { と矛盾 } \\
0 & r \text { が } p_{i} \text { と中立 } \\
1 & r \text { が } p_{i} \text { と含意 }\end{cases} \\
\operatorname{C.Score}(r)=\sum_{i=1}^{t} \mathbf{N L I}\left(r, p_{i}\right)
\end{gathered}
$

## 5 実験結果

## $5.1 \mathrm{NLI$ モデルの精度}

予測結果の混同行列を表 1 に示す. 分類の結果,

全クラスの予測精度は約 $74 \%$ であった. ラベル別に 見ると, 中立の正解率は約 $97 \%$ と高い結果となった が，含意は $58 \%$ ，矛盾は $45 \%$ という結果となった.矛盾を含意と誤って予測した原因として，語彙がか なり似ている文同士が含意と分類されやすいことが 確認できた. 例えば, “i like apple” と “i hate apple” は 矛盾であるが，含意と予測されてしまった.

## 5.2 ペルソナの数による影響

はじめに，学習時と同じペルソナ 5 個 (再現) の場合とペルソナの更新 (提案手法) を導入した場合の評価を表 2 に示す. 結果, Dist と C.Score の両方で提案手法が既存手法の再現を上回る結果であった.

表 2 再現したモデルと提案手法の評価

次にペルソナの数ごとのスコアを図 3 , 図 4 に示 す. 結果として，C.Score はペルソナの数が増える ほどスコアが下がっていくことが確認できた。ま た，Dist についてはペルソナの数が少ないほどスコ アが高く，増えるにつれてスコアが下がることが確認できた. 生成した応答の内容を確認してみると, ペルソナの数が増えるほど，入力に関わらず，ペル ソナのみに依存した応答をすることが確認できた。

図 3 ペルソナの数による応答の一貫性への影響

図 4

ペルソナの数による応答の多様性への影響

## 6 考察

表 2 の再現したモデルと提案手法では，システム の応答履歴からぺルソナを増やすことで, Dist と C.Score の両方を増加させることが確認できた。一方でペルソナの数を変化させた応答生成において は，ペルソナが増えるにつれて Dist と C.Score は下 がることが確認できている. 原因として，ペルソナ の数による実験では Persona-Chat に定義されている 語彙を多く含むペルソナを追加しているため，モデ ルが機能し，複数のペルソナに沿った応答ができて いるため Dist が下がったことが考えられる。一方 で，提案手法の実験では応答からペルソナを抽出し 追加しているため, Persona-Chat のペルソナに含ま れていない語彙を含んだペルソナが追加される可能性がある. そのためモデルが機能せず Dist が上がっ ていると考えられる。実際に学習データに定義され ているペルソナのサブワードの種類が 3,940である のに対し, 応答生成に使用したペルソナの内 1,567 が学習データに含まれていない語であった.また, ペルソナの数が 20 個程度になるまで Dist が低下し， それ以降はまた増加するのに関しても，同様にモデ ルが機能する限界と考えることができる。次に，ぺ ルソナが 64 個以上の場合にスコアが同じになって しまった現象については，ペルソナ 1 つに含まれる 単語数がおよそ 6,7 個であることから，64 個より 大きいペルソナを設定した場合に，エンコーダの上限に達してしまったと考えられる．C.Score につい ては， ペルソナが増えることで一貫した応答ができ ないことが確認できた. しかし 20 個以上の場合は, ペルソナをランダムで選択しているため，その影響 もあることが考えられる。

## 7 まとめ

本研究では，システムの応答履歴でペルソナを更新することで応答生成に与える影響を分析した。ぺ ルソナの数による応答生成への影響の実験から，学習データに含まれていない語彙を持ったペルソナに 対してはモデルが機能しないことや, ペルソナの数 が膨大だと応答が固定化されることが示唆された. そのため, 今後の課題として, 未知語に対応でき, かつ応答生成に必要なペルソナのみを選択できるモ デル構築が必要だと考えられる.

## 参考文献

[1] Zhang et al. Personalizing dialogue agents: I have a dog, do you have pets too? arXiv preprint arXiv:1801.07243, 2018.

[2] Mazaré et al. Training millions of personalized dialogue agents. arXiv preprint arXiv:1809.01984, 2018.

[3] Welleck et al. Dialogue natural language inference. arXiv preprint arXiv:1811.00671, 2018

[4] Song et al. BoB: BERT over BERT for training personabased dialogue models from limited personalized data. In Proc. ACL-IJCNLP, 2021.

[5] Zhengyi Ma et al. One chatbot per person: Creating personalized chatbots based onimplicit user profiles. In Proc. SIGIR, 2021. ACM, 2021.

[6] Williams et al. A broad-coverage challenge corpus for sentence understanding through inference. arXiv preprint arXiv:1704.05426, 2017

[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 meta-learning. arXiv preprint arXiv:1905.10033, 2019.

[9] Dinan et al. The second conversational intelligence challenge (convai2). arXiv preprint arXiv:1902.00098, 2019.

## A 付録

## Persona-Chat

Conv AI2 Persona-Chat (Dinan et al., 2019) [9] は，大規模なタスク指向ではない大規模なデータセット で，1,155 人の個性的なキャラクターが含まれて おり，それぞれが少なくとも5つのプロフィール 文で構成されている。このデータセットは，Zhang らの作成した Persona-Chat (Zhang et al., 2018) [1] を 応答候補が複数になるよう拡張したものである。 Persona-Chat は Amazon Mechanical Turk で収集され ており，ペアの話者はそれぞれ与えられたプロ フィールを条件に対話を行ったデータが収録されて いる.

本研究ではこのコーパスを 121,880 の学習用に, 9,558 を検証用に，7,504をテスト用に分割して使用 した.

## MNLI コーパス

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

データの内訳は, 含意が 130,615, 中立が 130,590,矛盾が 130,590 となっている.
 吉田快 ${ }^{1}$ 品川政太朗 1,2 須藤 克仁 ${ }^{1,2}$ 中村 哲 1,2 1 奈良先端科学技術大学院大学 2 理化学研究所革新知能統合研究センター \{yoshida.kai.yf1, sei.shinagawa, sudoh, s-nakamura\}@is.naist.jp  