2024年ACL・EMNLPのキャラクター対話システムの論文読み
はじめに
こんにちは。CyberAgent AI Labの岩田と申します。
普段はReserach Engineerとして、対話システムに関連する以下の2つに関連する業務を行っています。
- 対話システムに関する将来的な技術研究を行う(Reseach)
- 対話システムに関して事業部の方と研究開発を行う(Engineering)
その中で本記事はReserch側の話をメインに行いたいと思います。
私は現在、既存のキャラクターを再現する対話システム(キャラクター対話)に関連する研究を行っています。EMNLPやACLといった、いわゆる言語系のトップカンファレンスでもキャラクター対話の取り組みが多く見られるようになってきた印象です。そこで、本記事では2024年のEMNLP、ACLで発表されたキャラクター対話に関する論文をこれを機に大まかに読んだので、簡単なまとめとともに紹介したいと思います。読み間違えている部分や分かりづらい部分等も多々あると思うので、ご指摘・コメント等、是非よろしくお願いします🙇♂️
※ 図・表の画像は論文中からの引用になります
ACL 2024の論文紹介
InCharacter: Evaluating Personality Fidelity in Role-Playing Agents through Psychological Interviews
- キャラクター自身にそのまま心的尺度を数値回答させるとうまくいかないので、インタビューの形式を採用
- 以下の2ステージからなる
- Stage1:Interview
- 構造化面接の形式で、心的尺度(Big5等)に関して自由に答える質問を実施
- 使用した心的尺度
- BFI、16Personality、PsycoBenchから取ってきた12個をあわせた合計14個の尺度
- 使用した心的尺度
- 構造化面接の形式で、心的尺度(Big5等)に関して自由に答える質問を実施
- Stage2:Assessment
- Option Conversion
- 回答から、LLMを用いてStage1の回答を数値に変換(5, 強くそう思う等)
- その値と質問ペアをまとめてLLMに入力し、心的尺度の値(Big5のOpennessは3.7等)を出力
- Expert Rating
- 質問 - 回答のペアから直接心的尺度の値を出力
- 質問 - 回答のペアから直接心的尺度の値を出力
- Option Conversion
- BigFive、16Personality共にself-reportの手法よりも良好な結果を記録
- キャラクターのプロフィールを問うRole-Specificなクエリ質問と、他のキャラクターのプロフィールを問う(ためそのキャラだったら答えられないはずの)Contrastiveなクエリ質問を生成し、それぞれのクエリをLLMに回答させたデータを疑似対話データとして作成する
- Role-Specificなクエリにはキャラクターらしく、Contrastiveなクエリには答えられないという内容の応答が出力されることを期待
- batch size 128で300step、データ数は不明?
CharacterEval: A Chinese Benchmark for Role-Playing Conversational Agent Evaluation
データセット構築
- GPT-4を用いて小説をプロット毎に分け、その後にGPT-4で対話文を抽出
- 特定の2者間で5ターン以上続いている部分のみを抽出
- アノテータにより、一貫性と品質に問題があるものは削除
評価指標
- Conversational Ability
- Fluency・Coherency・Consistency
- Role-playing Attractiveness
- Human-likeness・Communication Skills・Expression Diversity・Empathy
- Character Consistency
- Knowledge-Exposure・Knowledge-Accuracy・Knowledge-Hallucination・Persona-Behavior・Persona-Utterance
- Personality Back-Testing
- MBTI Accuracy
TimeChara: Evaluating Point-in-Time Character Hallucination of Role-Playing Large Language Models
4つの観点から評価するインタビュー質問を作成した。評価観点は以下の4つ
- The unawareness of the future(i.e., future type)
- キャラクターは未来の出来事に対しては知らないはずである
- The memorization of the past
- キャラクターは過去の出来事に対しては知っているべきである
- The awareness of the absence(i.e., past-absence type)
- 過去の出来事において、自分が関与していなかったことを自覚しているべきである
- そのイベントには参加していなかった等
- 過去の出来事において、自分が関与していなかったことを自覚しているべきである
- The awareness of the past, irrelevant of participation(i.e., past-only type)
- 過去に登場した人物間の関係や物語で登場するものに対する一般的な知識を持っているべきである
上記のうち、2つ目と4つ目に関しては間違えたインタビュー質問も作成
- キャラクターの所属を間違えて聞く等
具体的な作成方法としては
- 小説から自動的に抽出したシーン中における複数ターンの対話において、①そのシーンの1文要約②そのシーンに関与する参加者リストをGPT-4で作成
- 要約から評価項目に合う質問をGPT-4-turboで自動作成する
また、Temporal ExpertとSpatial Expertを持つNarrative-expertと呼ぶ手法を提案。評価指標としてはSpatio temporal Consistency, Personality Consistency, AlignScoreを使用(前者2つはllm-as-a-judgeで評価)。作成したデータセットで高スコアを叩き出した。
複雑な知識を持つキャラクター対話システムを作るには既存の方法だといくつか課題がある
- キャラクター対話のデータとタスクの対話データを2段階で学習すると破滅的忘却が発生
- キャラクター対話のデータとタスクの対話データをマルチタスク学習するにも大規模で多様かつ、バランスが取れたデータが必要
そこで、モデルマージでドメイン固有の知識を入れつつ、キャラクターらしさも入れられる方法を提案。具体的には3つのステージからなる
- Stage1 : Instruction-tuning
- Alpaca-Style, Task-Specific, Character それぞれのデータでinstruction-tuningしたモデルを得る
- Stage2 : Cross Merging
- 各モデルパラメータのTask Vectorを取得する。Task Vectorを加算する際には、単純な加算と、TIES-MergingでやられていたようにTop-k%の値のみを加算する方法を取る。
- 次に、上記の処理を3つのモデルに行い、その3モデルにおける分離平均を計算
- Stage3 : Layer-Wise Merging
- 途中までは3つのモデルで計算した分離平均を用いてモデルを作成し、その次からはキャラクターでinstruction tuningしたモデルを用いる
- 分ける部分の決め方はKnowledge(Task-Specific?)・Characterの勾配ベースで決定
RoleLLM: Benchmarking, Eliciting, and Enhancing Role-Playing Abilities of Large Language Models
基本的には以下の2つをベースに設計
-
Speaking Style Imitation
- Lexical Consistency
- Dialogic Fidelity
-
Role-Specific Knowledge and Memory Injection
- Script-Based Knowledge
- Script-Agnostic Knowledge
これらを基にして生成したプロフィール文および、GPTに判定させたプロフィール文に近い上位5つの発話例を持つ、Instructionデータセットを構築する。
From Role-Play to Drama-Interaction: An LLM Solution
- LLMにキャラクターのロールプレイだけではなく、ドラマ全体を表現させたい
- 既存の取り組みに触発され、ドラマに対しての6つの要素を定義
- plot, character, thought, diction, spectacle, and interaction.
- drama outlined by Aristotle, i.e., plot, character, thought, diction, spectacle and music (Laurel, 1991; Betti, 2015)
- drama outlined by Aristotle, i.e., plot, character, thought, diction, spectacle and music (Laurel, 1991; Betti, 2015)
- plot, character, thought, diction, spectacle, and interaction.
- 上記6つの要素を基にDrama Scriptを作成
- 各シーンに6つの要素に関する記述があり、それぞれのシーンがネットワーク的につながっている
- モデルの入力時には、この要素に関する記述を対話文(action付き)を入力する
- Narrative Chain
- ストーリーアークに従った生成をすることで、物語中の展開に応じた生成ができる
- ストーリーデータは要素に従い、自動生成
EMNLP 2024
既存のLLMがフィクションの登場人物の理解能力を測るタスクでは、ニュアンスに富んだキャラクター理解には足りないとし、キャラクタープロフィールを作成するタスクを提案
プロフィールの作成時は以下の4つの観点を基にする
- Attributes
- 性別・スキル・才能等
- Relationships
- 関係
- Events
- 登場人物が参加した経験や、影響を受けた経験
- Personality
【プロフィール生成の方法】
プロフィール生成のためには、本の内容を工夫して、モデルに入れて要約(プロフィール生成)する必要がある。そこで、以下の3つの方法を使用
- 階層的マージで要約
- インクリメンタルに要約
- 一気に要約
【タスク】
- Intrinsic Evaluation : Factual Consistency Examination
- 上記4つの観点が正しく生成できているかを測る
- LLM-as-a-judgeで一致スコアを出力してもらい評価
- 上記4つの観点が正しく生成できているかを測る
- Extrinsic Evaluation : Motivation Recognition
- 選択式問題とその理由を答える
Ontologically Faithful Generation of Non-Player Character Dialogues
- NPCの生成においては、色々な対話の流れに対応できる必要がある(プレイヤーがAを選択したらBと返すが、Cを選択したらDを返さなければいけない等)
- それをknowledge-constrained NPC dialogue generation taskとして定義
- 入力:Quest contraint statements, biographical constraint statements, paticipant names, dialogue tree
- 次の発話を予測するnext utterance predictionと一連の発話を全て予測するfull dialogue generation
KNUDGE Datasetを構築
- 45のサイドクエストにおけるダイアログツリーが存在、その中にはいくつかの終了ノードがある
Neeko: Leveraging Dynamic LoRA for Efficient Multi-Character Role-Playing Agent
- 異なるキャラクターに関しては重複しないLoRAブロックから成るLoRAモジュールを構成し、複数のキャラクターを学習
- 推論時にはMoEの枠組みを参考にして推論
- Instructionを埋め込みに変換し、それとの類似度で各LoRAブロックの出力を重み付け
- 新しいキャラクターを追加は2通りの方法で実施可能
- 方法1:文埋め込みベースでのLoRAブロックパラメータの重み付け和で新しいLoRAブロックの重みを決定
- 方法2:layer追加
Personality-aware Student Simulation for Conversational Intelligent Tutoring Systems
- パーソナライズされた教育システムを作成することに関心が高まりつつある
- 実世界でも先生が生徒の多様な特性に合わせた指導で学習意欲と知識習得を向上させている
そこで、多様な特性の生徒をLLMを構築する方法を提案し、それに合わせてどのように教師役のLLMが指導するかを多面的に分析
【Personality-aware Student Simulation & Multi-aspect Validation Framework】
- Cognitive Level Simulation
- 生徒の言語能力の次元
- Narrative Assessment Protocolを参照してphases, sentence structure, modifiers, nouns and verbsの次元から定義
- 言語能力の定義
- 対話における理解力と表現力
- 上述した5つの次元に沿った文の作成能力
- 生徒の言語能力の次元
- Noncognitive Level Simulation
- personality traits, character, motivations and preferences
- 年齢層や文脈が多様なデータセットであるchild language data exchange systemをつかい、Big5の記述を今回にあった記述に変更
【Multi-aspect Validation Framework】
- 性格特性に加えて、教育におけるScaffolding strategiesがどのように使われるかを分析するためにLLMに発話に対して7つ(Feeding back, Hints, Instructing, Explaining, Modeling, Question- ing, and Social-emotional Support)から1つつけてもらうタスクを実施
Virtual Personas for Language Models via an Anthology of Backstories
- 言語モデルを用い、人に対する実験を簡易化させたい
- 既存研究では多様な人間を再現し、それに忠実に発話させることに制限がある
- そこで、individual life-stories(backstories)を用いてプロンプトを作る方法を提案
- 長いbackstoryは明示的に記述されていないようパーソナリティやmental healthまで考えることができると先行研究で言われている
BackStoryデータセットの作成
- LLMのサンプリング温度t=1にしつつ「あなた自身について教えて下さい」と繰り返し聞くことで、多様なBackStoryを得ることができる
- 生成したBackStory郡から実際のユーザ分布に従うように類似したBackStoryを選択する
2つのステージで学習
Stage1 : Mutual Supervised Learning
以下の2つを経て、作成された発話郡に対してfine-tuning
- Static persona identification
- 対話中に参考にする発話郡を正確に取るために、予め発話をいくつかのクラスタに分けておく
- Dynamic persona identification
- 各クラスタ内の発話の順序として、意味的距離(Conversation Edit Distance)が最も近くなるような順序に発話を変更する
Stage 2 : Deep Personalized Alignment
- DPOC:DPOにおいて、選ばれたサンプルと拒否されたサンプルの両者の報酬が下がることを防ぐためにペナルティ項を入れた学習方法
- 拒否するサンプルはInconsistency, Fabrication, Inversionの3つの観点から作成する
LLMにおいて、読み手個人の属性を反映したストーリーのデータセットを作成。データセットは人手で書いたストーリーとLLMで自動生成したストーリーからなる
- Human-written Stories
- 制約を与えて人に書かせたストーリー
- Generic & Personalized LLM-Generated Stories
既存研究で行われている性格特性を予測するタスクでは、モデルの予測が解釈不能である、そのため、性格特性の解釈を出力させるタスクを提案。Stateの繰り返しがキャラクターを捉えるのに重要なのでそれを踏まえた2つのタスクを提案
- Personality State Recognition(EPR-S)
- 対話からState labelとその証拠を出力するタスク
- Evidence grounded Personality Trait Recognition(EPR-T)
- Personality traitを出力して、その証拠を複数の対話から出力するタスク
また、本タスクを行うために必要なPersonalityEvd Datasetを構築
- 72人の話者を各話者に対しての、30個の対話文
- BigFive Inventory-2に従い、high-lowのアノテーション
- State labelもアノテーション
- 証拠として、証拠となる発話ID・発話の要約・Personality Characteristics
CHIRON: Rich Character Representations in Long-Form Narratives
6000のストーリーからなるSTORIUMデータセットを構築
ライターのアドバイスを参考に4つの観点からなるキャラクターシートを構築
- Dialogue
- どのようにキャラクターが話すか
- Physical / Personality
- 外見やパーソナリティ
- Knowledge
- 世界に関する知識等
- Goals
- 目標、内的動機
2段階のステップでキャラクターシートのデータセットを作成。ストーリーとキャラクター情報をLLMに入力することで作成する
- 目標、内的動機
- Stage 1 : 各質問に対して回答する
- Stage 2 : 誤った文章を検証モジュールでフィルタリングする
Mitigating Hallucination in Fictional Character Role-Play
- プロフィールと検索された知識を基に応答を生成し、それに対してファクトチェックを行う
- 最終的な応答は先程の応答と、ファクトチェックによる結果等を入れて生成する
- 4つのタスクを持つSGRデータセットを構築
- IMSDb, Screenplay, Open Source Shapespreareから収集
-
- adversarial interview (ADV) 2) open-ended interview (OEI) 3) dialogue completion (DC) 4) scene-grounded interview (SGI)
- adversarial interview (ADV) 2) open-ended interview (OEI) 3) dialogue completion (DC) 4) scene-grounded interview (SGI)
- Fact Score (Min et al., 2023)・supported atomic facts per response (SFPR)で評価
- 人間による7段階評価も実施
BookWorm: A Dataset for Character Description and Analysis
登場人物の説明に要約を使うことは、タスクを 大幅に単純化し、制限する。そのため、長文からなるキャラクター記述があるデータセットであるBOOKWORMデータセットを構築
- 先行研究(Krys ́cin ́ski et al., 2021; Brahman et al., 2021), に従い、小説、戯曲、詩作品 などの古典的な書物を含むグーテンベルク・ プロジェクトから書籍を収集
- そこにある人物記述を取得する、また、短い記述はフィリングしている
- データの統計量
- 6つのカテゴリにしたがって、生成されたプロフィールが正しいのかをLLM-as-a-judgeで評価
- Role , Relationship, Personality, Event, Mental State, and Other Fact
- 既存のRPLM(Role-Playing Language Model)は意図されたキャラクターの知識や口調をよく再現しているが、性格評価(Wang et al., 2024a)や意思決定シミュレーション (Xu et al., 2024)などのタスクでは、心を捉えるのに苦労している
- そこで、本研究ではInCharacter (Wang et al., 2024a)を参考に、心的尺度を基にした質問を作成し、それに対して自由記述回答を行わせたデータを構築
- データ構築時には以下の工夫を実施
- 回答のフィルタリング
- 回答がキャラクターの性格と一致しているかを人の目でフィルタリング
- 質問項目のフィルタリング
- 心的尺度の中で性格と密接に関連しているもののみを選択
- ハルシネーションを防ぐためにキャラクターに沿った質問のみを実施
- 同じ尺度内の異なる観点から質問を実施
- 回答のフィルタリング
Two Tales of Persona in LLMs: A Survey of Role-Playing and Personalization
Discussion