# 大規模汎用言語モデルによるペルソナを考慮した応答生成

川本稔己 ${ }^{1,2}$ 山崎 天 ${ }^{1}$ 佐藤 敏紀 ${ }^{1}$ 奥村 学 ${ }^{2}$
${ }^{1}$ LINE 株式会社 2 東京工業大学
toshiki.kawamoto@linecorp.com

## 概要

対話における応答生成では, 自分のこれまでの発話内容や話者のペルソナとの一貫性を保つことが重要である. 本稿では長期間行われる対話を想定し, 従来のペルソナ対話システムでは十分考慮されなかっ た対話中のペルソナの変動性に着目する. 変動する ペルソナを追跡する過程を「抽出」・「選択」・「更新」 の3つのタスクに分割し，それぞれを解くことで応答を生成する対話システムを提案する。提案手法は 大規模汎用言語モデルである HyperCLOVA を用い て複数タスクを解く. 評価実験の結果から, 提案手法 は従来のペルソナ対話システムより高い一貫性スコ アを得られ, 長期間行われる対話の一貫性を保つた めに有効であることを確認した。

## 1 はじめに

従来の対話システムは, 対話履歴や話者のペル ソナと矛盾した発話を生成してしまうことがある. ペルソナとは好みやプロフィールなど個性を表す 短文のことであり, 従来の研究においては対話履歴やペルソナと一貫性のある応答を生成すること が課題であった. 本稿では, 大規模汎用言語モデル HyperCLOVA [1] を用いてその課題に取り組む.

関連研究として, Zhang ら [2] は Persona Chat デー タセットを提供した. Persona Chat データセットに は, 複数話者のペルソナとそのペルソナに沿った対話が含まれている.そのデータを利用することでぺ ルソナに沿った応答生成を学習, 評価することが可能となり,対話と自分のペルソナを用いて応答を生成する手法が提案されている [3,4]. しかし, 長期間行われる対話では対話履歴が増加し続けるため, 全 てをシステムへの入力として扱うことが難しい. そ のため, 対話履歴から自分のペルソナを抽出する取 り組みが行われている $[5,6]$. しかし, これらの取り 組みには, (I) 相手のペルソナには注目できていな い, (II) ペルソナの数が多くなるとペルソナを選択

図 1 提案手法. 対話履歴からペルソナを抽出する. 抽出 したペルソナに既存のペルソナからの変化が見られた場合更新する. ペルソナ集合から応答生成に必要なペルソナ を選択し, 選択されたペルソナと対話履歴を用いて応答を 生成する。

する必要がある, (III) ペルソナの変化には対応して いない, といった欠点がある. そこで, 本稿では従来 のペルソナ対話システムで十分考慮できていない対話中のペルソナの変動性に着目し, 変動するペルソ ナを追跡する過程を「抽出」・「選択」・「更新」の 3 つのタスクに分割する. そして,これらのタスクから 得られたペルソナを使用して応答を生成するシステ ムを提案する. 本システムは複数のタスクを同時に 解く必要があるが, それぞれにモデルを用意するの は多くの時間とコストがかかる。 そのため,これらの タスクを大規模汎用言語モデルである HyperCLOVA を用いて解く. HyperCLOVA とは, GPT-3 [7] と同様 な性能・性質をもつ日本語に特化した言語モデルで ある. HyperCLOVA はショットと呼ばれる特定の言語タスクのサンプルを複数個埋め込んだプロンプト を作成し，その形式を学習することで特定の言語夕 スク処理能力の獲得が期待できる.

対話システムの一貫性を評価するため, JPersona Chat データセット1)を用いた実験を行った. 自動評価の結果から大規模汎用言語モデルはベースライン モデルより一貫性がある応答生成を行うこと, 提案手法はペルソナをより考慮した応答を行うことを確認した. また, 長期間行われる対話を想定した人手評
^{1)}$ https://github.com/nttcslab/ japanese-dialog-transformers
}

図 2 ペルソナの抽出を行うためのプロンプトのテンプ レート. \#以降はコメントである.

価の結果, 提案手法は従来のペルソナ対話システム より高い一貫性スコアを得られ, ペルソナの変動性 を考慮した提案手法の有効性を確認した。

## 2 提案手法

従来の対話システムでは, 対話と初めに与えられ た自分のペルソナを用いて応答を生成する. しかし，一貫した応答生成のためには対話中に新たに自分の ペルソナが発生することや, 相手のペルソナを考慮 する必要がある. よって, 本稿では対話から自分と相手のペルソナを抽出することを試みる (ペルソナの 抽出). しかし, ペルソナの抽出を行えばペルソナの 数が増加する. その結果, 対話の話題と関連性が低い ペルソナが応答生成時のノイズになる可能性や, 言語モデルの入力長に収まらない可能性がある. その ため, 最適なペルソナを選択する必要がある (ペルソ ナの選択). また, 対話が長くなるとペルソナに変化 が起こることも想定される. よって, ペルソナの変化 を検知し, 必要に応じて更新を行う (ペルソナの更新). まとめると, 本システムはペルソナの「抽出」・「選択」・「更新」を行った上で応答を生成する. 概要 を図 1 に示す。

## 2.1 ペルソナの抽出

対話から話者のペルソナを抽出するのには HyperCLOVA を用いる. HyperCLOVA に与えるプロ ンプトのテンプレートを図 2 に示す. 1 つのショット には対話の最終発話からペルソナを抜き出し,"[ユー ザの属性情報]" 以降に記述する. ショットには, 対話 の最終発話にペルソナが含まれていないパターンも 記述し, その場合"[ユーザの属性情報]"以降には何も 記述しない.このプロンプトを用いて, 対話履歴の発話それぞれが抽出の対象となるように HyperCLOVA

図 3 ペルソナの更新を行うためのプロンプトのテンプ レート. \#以降はコメントである.

を実行し，自分と相手のペルソナを抽出する.

## 2.2 ペルソナの選択

ペルソナの抽出を行ったことで保持するペルソナ の数が増加する. そのため, 応答生成の際には適切な ペルソナを選択する必要がある. ペルソナの選択に は直前の対話を用いる. 具体的には, 直前に行われた 自分と相手の発話を時系列順に繋ぎ合わせ，それを 検索文字列とする. その検索文字列の埋め込み表現 と, 保持しているペルソナの埋め込み表現とのコサ イン類似度を計算し, 自分と相手のペルソナからそ れぞれコサイン類似度の上位 5 つを使用する。

## 2.3 ペルソナの更新

本節では, 既存のペルソナを抽出したペルソナに 置き換えるかどうか決定する手法について述べる。 まず, 抽出したペルソナと関連のあるペルソナが既存のペルソナの中に存在するか調べる. 抽出したぺ ルソナの埋め込み表現と既存のペルソナそれぞれの 埋め込み表現の中からコサイン類似度が最も高いぺ ルソナを選択し, コサイン類似度が閾值 (0.7) 以上な らその選択されたペルソナを関連のあるペルソナと する。一方,コサイン類似度が閾値以下の場合抽出し たペルソナは既存のペルソナと中立な関係であると し, ペルソナの更新は行わず新しいペルソナとして 追加する. 次に, 関連のあるペルソナを抽出したペル ソナに置き換えるか HyperCLOVA を用いて決定す る. プロンプトのテンプレートを図 3 に示す. ここ で, 関連のあるペルソナと抽出したペルソナには以下の 3 つの関係が考えられる: (a) 等しい, (b) 変更が 起きている, (c) 中立. (a), (b) の場合は関連のあるぺ ルソナを抽出したペルソナに置き換える必要がある ので, 抽出したペルソナを出力する. (c) の場合は関連のあるペルソナを置き換える必要がないので, ど

図 4 ペルソナを考慮した応答生成のためのプロンプトの テンプレート. \#以降はコメントである.

ちらのペルソナも出力する. (a), (b), (c) 全てのパター ンをショットに記載し, 得られた出力を新しいペル ソナとして追加する。

## 2.4 ペルソナを利用した応答生成

ペルソナの抽出 (\$2.1) ・更新 (\$2.3) を行い, ペルソ ナの選択 (\$2.2) で選択されたペルソナを用いて応答 を生成する. 応答の生成には HyperCLOVA を用いる. プロンプトのテンプレートを図 4 に示す. ショット の前半がペルソナ, 後半が対話である. ショットに与 えるペルソナと対話は JPersona Chat の訓練データか ら5つ使用した. また, 情報量が少なくつまらない応答となることを避けるため, 生成した応答の長さが 短い場合にはその応答の続きとなる文を生成する.具体的には, 生成した応答が 12 文字 (事前の観察に 基づく) 以下の場合, 図 4 のショットを図 5 のように 変更し, 追加の文を生成する. そして, その文を元の 応答に繋げて最終的な応答とする。

## 3 実験

## 3.1 実験設定

本稿で使用した HyperCLOVA のパラメータ数は 39B で, 1.8TB の日本語データで学習を行っている.埋め込み表現を入手するためには Universal Sentence Encoder [8]を用い,コサイン類似度を計るためには FAISS [9] を用いた. データセットは JPersona Chat を 用いる. このデータは Persona Chat を日本語に変換
クローバのペルソナ : 私は早起きが苦手です。私は高校生です。私は ピーマンが嫌いです。私はおばあちゃん子です。私は陸上部に入って
います。

ユーザのペルソナ: 私は以前、沖縄に住んでいたことがあります。私は 海のそぞに售んでいます。私はダンスが得意です。私は怒りっぽいで す。私が尊敬する人は、母親です。

ユーザ：そうなんだ！近いね！わたし、沖縄に住んでたことがあるんだ けど、この辺も似てるね。

クローバ: そうなんだね。

[続き] じゃあここでは沖縄気分が味わえるわけだ。

ユーザ：うん。ちょっとだけだけど、そんな感じがするよ！ところで、

わたし、ダンスが得意なんだけど、あなたは何が得意？

クローバ: 私は陸上部だから、走るのが得意かな。

[続き]短距離走よりも長距離走が自信ある。

図 5 複数文を生成するプロンプトに与えるショット例.

したデータセットで, 話者同士のペルソナと最大 6 ターンの対話が含まれている. データの分割は元 の分割方法 ${ }^{1)}$ に従い, テストデータを用いて応答を 生成し実験を行った. 実験は以下のモデルで比較を 行う.

BlenderBot ベースラインの Transformer ベースのペ ルソナ対話システム [3]. 事前学習に加えて JPersona Chat の訓練データで fine-tuning を行っている [10].

w/o Persona 対話履歴のみを利用して HyperCLOVA で応答を生成するモデル。

w/ Persona 対話履歴と初めに与えられたペルソナを 利用して HyperCLOVA で応答を生成するモデル.

以下のモデルが提案手法を利用したモデルで ある.

Extract w/ Persona に加えて, 2.1 節のペルソナの抽出 を行ったモデル.

Extract+Select Extract に加えて, 2.2 節のペルソナの 選択を行ったモデル。

Extract+Select+Update Extract+Select に加えて, 2.3 節 のペルソナの更新を行ったモデル.

応答生成時には, 自分のペルソナとそれまでの対話履歴を用い, 相手のペルソナは使用していない. 対話履歴はベースライン手法の BlenderBot と合わせる ために直前の 3 発話を入力に加えた.

## 3.2 自動評価

評価指標は応答と正解文との一致度を測るために BLEU [11], 応答の多様性を測るために Dist-1, Dist-2 [12] を使用する。一貫性を測るための指標として は, 生成した応答とペルソナの間で自然言語推論 （NLI）を行うことによって導出される Consistency Score (C.Score) [13] がある. しかし, 手法によって推論の対象となるペルソナの数が大きく異なることか ら, 従来の方法で比較することはできない. よって本
表 1 自動評価結果

表 2 人手評価結果

稿では,生成した応答が生成のために用いた自分の ペルソナを含意/中立/矛盾している割合を NLI 分類器で評価する. NLI 分類器には, 日本語で学習された BERT $^{2)}$ [14] を NLI データセットで fine-tuning した モデルを用いた. NLI データセットとしては発話と ペルソナのペアで構成される DNLI [15] を用いるの が本稿の設定には適しているが, 日本語ではないた め, 本稿では日本語で記述された SNLI [16] である JSNLI [17]を用いた. JSNLI はテストデータを提供し ていないため, 元の訓練データを訓練データと検証 データに分割し, 元の検証データをテストデータと した. 正解率は $92.31 \%$ であった.

結果を表 1 に示す. 従来のペルソナ対話システ ムの手法を大規模汎用言語モデルに適応させた w/ Persona はべースラインである BlenderBot より含意 の割合が高く, 矛盾の割合が低いことから一貫性が ある応答生成を行うことを確認した. 抽出などの提案手法を利用したモデルは $\mathrm{w} /$ Persona と比較して Dist-1, Dist-2 の値が高いことから, Dull Response と呼 ばれるつまらない応答ではなく, ペルソナを考慮し た応答を生成している割合が高いと考えられる. そ れにより, 含意の割合が増加している一方で矛盾の 割合も増加している。

## 3.3 人手評価

長期間行われる対話の一貫性は自動評価だけで は十分に測ることができないため, データセットの 続きとなる対話を行い, その応答に対して人手評価 を行った. 具体的には, テストデータからランダム に 10 対話を選び, その対話から 1 週間後の対話を 想定して 10 ターンの対話を行った. 3 つのモデル
^{2)}$ https://huggingface.co/cl-tohoku/ bert-base-japanese-v2
}

(BlenderBot, w/ Persona, Extract+Select+Update) で対話 のそれぞれの応答を評価した. 評価指標は関連性と 一貫性の 2 つで, 関連性は前の発話またはペルソナ と関連性のある応答ができているかを示す.一貫性 は生成した応答が対話履歴とペルソナに矛盾してい ないかを示す. それぞれ 3 段階で 1 点 (悪い) から 3 点(良い)を付与した. その平均点を最終的な結果と し表 2 に示す.

評価結果から, 提案手法は関連性,一貫性ともに最 も高いスコアを得られ, 提案手法が有効であること を確認した. 今回の実験では, 提案手法以外のモデル は新しいペルソナの発生や, 初めに与えられたペル ソナからの変化を考慮できなかった可能性がある.

## 3.4 ペルソナの抽出の評価

表 1 の結果から, ペルソナの抽出を利用したモデ ルは $\mathrm{w} /$ Persona と比較して矛盾の割合が増加したの で, ペルソナの抽出の性能を人手で評価した. テスト データからランダムに 100 件の発話を選び, 抽出し たペルソナが正しいかを二値で判定した. その結果,正しく抽出されたのが 71 件, 誤って抽出されたのが 29 件となった. ペルソナの抽出は対話履歴の全発話 に対して行うので, 対話の長さが長くなれば全抽出結果が正しい確率が低くなることから, 抽出性能が 十分であるとは言えない. 抽出の性能を改善するこ とで提案手法の性能も向上することが予測される.

## 4 おわりに

本稿では，一貫性がある対話を行うにはペルソナ を動的に「抽出」・「選択」・「更新」する必要がある という仮説の元, 大規模汎用言語モデルを利用して システムを設計した. 評価実験の結果, 提案手法は初 めに与えられたペルソナのみを利用したモデルより 高い一貫性スコアを得られ, 提案手法の有効性を確認できた. しかし, 提案手法は大規模汎用言語モデル に依存した実装やタスク設計になっており,特に精度面で不十分な部分があったので, 今後はその改善 に取り組んでいきたい。

## 参考文献

[1] Boseop Kim, HyoungSeok Kim, Sang-Woo Lee, Gichang Lee, Donghyun Kwak, Jeon Dong Hyeon, Sunghyun Park, Sungju Kim, Seonhoon Kim, Dongpil Seo, Heungsub Lee, Minyoung Jeong, Sungjae Lee, Minsub Kim, Suk Hyun Ko, Seokhun Kim, Taeyong Park, Jinuk Kim, Soyoung Kang, Na-Hyeon Ryu, Kang Min Yoo, Minsuk Chang, Soobin Suh, Sookyo In, Jinseong Park, Kyungduk Kim, Hiun Kim, Jisu Jeong, Yong Goo Yeo, Donghoon Ham, Dongju Park, Min Young Lee, Jaewook Kang, Inho Kang, Jung-Woo Ha, Woomyoung Park, and Nako Sung. What changes can large-scale language models bring? intensive study on HyperCLOVA: Billions-scale Korean generative pretrained transformers. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pp. 3405-3424, Online and Punta Cana, Dominican Republic, November 2021. Association for Computational Linguistics.

[2] 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. Association for Computational Linguistics.

[3] Stephen Roller, Emily Dinan, Naman Goyal, Da Ju, Mary Williamson, Yinhan Liu, Jing Xu, Myle Ott, Eric Michael Smith, Y-Lan Boureau, and Jason Weston. Recipes for building an open-domain chatbot. In Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: Main Volume, pp. 300-325, Online, April 2021. Association for Computational Linguistics.

[4] Haoyu Song, Yan Wang, Kaiyan Zhang, Wei-Nan Zhang, and Ting Liu. BoB: BERT over BERT for training personabased dialogue models from limited personalized data. In Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pp. 167-177, Online, August 2021. Association for Computational Linguistics.

[5] Jing Xu, Arthur Szlam, and Jason Weston. Beyond goldfish memory: Long-term open-domain conversation. arXiv preprint arXiv:2107.07567, 2021.

[6] 吉田快, 品川政太朗, 須藤克仁, 中村哲. 応答履歴に応 じたペルソナの更新が対話システムの応答生成へ与 える影響の分析. 人工知能学会研究会資料言語・音声理解と対話処理研究会, Vol. 93, pp. 32-37, 2021.

[7] Tom B Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. arXiv preprint arXiv:2005.14165, 2020.

[8] Daniel Cer, Yinfei Yang, Sheng-yi Kong, Nan Hua, Nicole Limtiaco, Rhomni St John, Noah Constant, Mario Guajardo-Céspedes, Steve Yuan, Chris Tar, et al. Universal sentence encoder. arXiv preprint arXiv:1803.11175,
2018.

[9] Jeff Johnson, Matthijs Douze, and Hervé Jégou. Billionscale similarity search with gpus. arXiv preprint arXiv:1702.08734, 2017.

[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, 2021.

[11] Kishore Papineni, Salim Roukos, Todd Ward, and WeiJing Zhu. Bleu: a method for automatic evaluation of machine translation. In Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics, pp. 311-318, Philadelphia, Pennsylvania, USA, July 2002. Association for Computational Linguistics.

[12] Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, and Bill Dolan. A diversity-promoting objective function for neural conversation models. In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 110-119, San Diego, California, June 2016. Association for Computational Linguistics.

[13] Andrea Madotto, Zhaojiang Lin, Chien-Sheng Wu, and Pascale Fung. Personalizing dialogue agents via metalearning. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 5454-5459, Florence, Italy, July 2019. Association for Computational Linguistics

[14] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[15] Sean Welleck, Jason Weston, Arthur Szlam, and Kyunghyun Cho. Dialogue natural language inference. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 3731-3741, Florence, Italy, July 2019. Association for Computational Linguistics.

[16] Samuel R. Bowman, Gabor Angeli, Christopher Potts, and Christopher D. Manning. A large annotated corpus for learning natural language inference. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 632-642, Lisbon, Portugal, September 2015. Association for Computational Linguistics.

[17] 卓見吉越, 大輔河原, 禎夫黒橋. 機械翻訳を用いた 自然言語推論データセットの多言語化. Technical Report 6, 京都大学, 京都大学/現在, 早稲田大学, 京都大学, jun 2020
 川本稔己 ${ }^{1,2}$ 山崎 天 ${ }^{1}$ 佐藤 敏紀 ${ }^{1}$ 奥村 学 ${ }^{2}$ ${ }^{1}$ LINE 株式会社 2 東京工業大学 toshiki.kawamoto@linecorp.com  