📑

過去のエピソードがAIキャラクターの性格に与える影響

2023/12/08に公開

はじめに

大学でAIキャラクターの意図しない性格変化の検出を研究しているUnityエンジニアの広夢です。今回は、内定先のAdvent Calendarに参加しました。
この記事はサイバーエージェント24卒内定者 Advent Calendarの8日目になります。

7日目のアドベントカレンダーでは、AIキャラクターの意図しない性格変化に焦点を当てました。今回は、過去のエピソードがAIキャラクターの性格形成にどのように影響するかを紹介します。人間にとって、過去の経験が現在の性格に影響を及ぼすことは一般的ですが、ゲームのキャラクターにおいては、そうとは言えません。
ゲームの追加コンテンツによってキャラクターのバックストーリーが拡張される場合、現在のキャラクターの性格が変わることは望ましくありません。キャラクターの一貫性を保つことが重要な為です。この記事では、AIキャラクターの性格形成において、過去のエピソードがどのように取り扱われるか実例と共に紹介します。

AIキャラクターとは

AIキャラクターとは、元々学習済みの大言語モデルをベースに、特定のキャラクターを模倣するために作られたデータセットで更新学習(fine-tuning)を施したキャラクターを指します。

過去のエピソードとAIキャラクターの性格の関係性

キャラクター作りにおいて、過去のエピソードやバックストーリーは重要な役割を果たします。たとえば、普段は明るいキャラクターでも、暗い過去を持っていることが会話を通じてときどき垣間見えることで、キャラクターに深みを与えることができます。とくにモバイルゲームでは、アップデートを通じてキャラクターのバックグラウンドが追加されることがよくあります。これにより、キャラクターは一貫性を保ちつつ、より豊かな個性を持つようになります。

ここで、AIキャラクターの作り方について考えてみましょう。これらのキャラクターは、学習済みの大規模な言語モデルに新しいデータを追加し、更新学習(Fine-tuning)を行うことで作られます。ここで重要になるのは使用するデータの量です。初期段階で50件のデータセットを用いてAIキャラクターを構築し、その後アップデートで50件の過去のエピソードを追加されるとします。この場合、明るいデータセットと暗い過去のデータセットが同程度生じます。この時、AIキャラクターの性格は一貫して保たれるのかという疑問が生じます。次のセクションでは、実際の例をもとに説明します。
Alt text
図1 暗い過去のデータが現在の言動に与える影響 その1
Alt text
図2 暗い過去のデータが現在の言動に与える影響 その2

過去のエピソードがAIキャラクターの性格に与える影響

このセクションでは、具体的な例を通して、過去のエピソードがAIキャラクターの性格にどのような影響を与えるか観察します。まず、明るい性格のAIキャラクターを「更新前のAIキャラクター」として設定します。次に、このキャラクターに暗い過去のエピソードを追加し作成された「更新後のAIキャラクター」を作成します。この2つのAIキャラクターを通じて、過去のエピソードがAIキャラクターの性格にどのように影響を及ぼすか分析します。

構築するAIキャラクター

過去のエピソードがAIキャラクターの性格に与える影響を観察する上で、2つのAIキャラクターを用意します。

  1. 過去のエピソードを保持しない明るいAIキャラクター
  2. 暗い過去のエピソードを保持した明るいAIキャラクター

観察する際に重要なのは、主に以下の2つの点です:

  1. 性格の変化の有無:暗い過去を持つAIキャラクターの場合、その過去のエピソードが現在の性格に意図せず変化をもたらしていないかを確認します。
  2. 会話の深み:暗い過去を持つAIキャラクターが、その過去の経験を活かしてユーザーとどのように対話しているかを観察します。

構築するAIキャラクターのデータセット

先ほど説明したAIキャラクターを作成するのに用いるデータセットを2つ用意します。

  1. 更新前データセット-(暗い過去のないデータセット)
  2. 更新後データセット-(暗い過去のあるデータセット)

更新前のAIキャラクター構築用データセット

更新前のデータセットは、暗い過去のないデータセットを50件用意します。
下記の様なデータセットを構築できます。

{
  "messages": [
    {"role": "system", "content": "これは花子の会話モードです。"},
    {"role": "user", "content": "今日の天気はどう?"},
    {"role": "assistant", "content": "今日は晴れていて、気持ちのいい一日になりそうだよ!外に出る予定があるなら、最高の一日になるね!"}
  ]
}
{
  "messages": [
    {"role": "system", "content": "これは花子の会話モードです。"},
    {"role": "user", "content": "最近読んだ本はある?"},
    {"role": "assistant", "content": "うん、実は最近面白い小説を読んだんだ。物語の世界にすっかり引き込まれちゃったよ!"}
  ]
}
{
  "messages": [
    {"role": "system", "content": "これは花子の会話モードです。"},
    {"role": "user", "content": "好きな映画のジャンルは?"},
    {"role": "assistant", "content": "私はコメディ映画が大好き!笑うことは最高のストレス解消になるからね!"}
  ]
}

更新後のAIキャラクター構築用データセット

更新後のデータセットでは、更新前のデータセットに暗い過去のあるデータセットを50件追加で用意します。
以下の様な追加のデータセットを構築でき、更新前のデータセットと合わせて100件のデータセットが作成できます。

{
  "messages": [
    {"role": "system", "content": "これは花子の会話モードです。"},
    {"role": "user", "content": "昔、どんな不安を感じていた?"},
    {"role": "assistant", "content": "若い頃は将来に対して大きな不安を感じていた。何をしたいのか、どうなりたいのか、全くわからなかったんだ。"}
  ]
}
{
  "messages": [
    {"role": "system", "content": "これは花子の会話モードです。"},
    {"role": "user", "content": "昔の友達との関係で悩んだことは?"},
    {"role": "assistant", "content": "高校時代、親しい友達との間に大きな誤解が生じて、それ以来連絡を取っていないんだ。"}
  ]
}
{
  "messages": [
    {"role": "system", "content": "これは花子の会話モードです。"},
    {"role": "user", "content": "小さい頃、どんな恐怖を感じたことがある?"},
    {"role": "assistant", "content": "子供の頃、暗い場所がとても怖かった。夜一人でいる時はいつも不安でいっぱいだったんだ。"}
  ]
}

更新学習(Fine-tuning)

データセットが用意できたら、データセットを元にそれぞれ更新学習します。
更新学習およびfine-tuningの方法は、下記の記事を参考に実施します。
https://zenn.dev/hiropoko/articles/01be74a721c3fc

更新学習によって、過去のエピソードを保持しない明るいAIキャラクター暗い過去のエピソードを保持した明るいAIキャラクター が作成できます。

更新学習したAIキャラクターとの会話例

ここでは、更新学習を行なって作成されたAIキャラクターとの会話の例を示します。

過去のエピソードを保持しない明るいAIキャラクター

過去のエピソードを保持しない明るいAIキャラクターとの会話を図3に示しました。
Alt text
図3 更新前のAIキャラクターとの会話例 その1

会話例を見てみると明るいAIキャラクターが作成されました。データセットが明るいAIキャラクターを構築するエピソードだけで作成しているので、想定通りの結果だと言えます。

暗い過去のデータセットは追加しませんでしたが、暗い過去についても会話した結果を図4に示しました。暗い過去のデータセットがないことから、会話に具体性はなくユーザーに合わせて会話していることがわかりました。
Alt text
図4 更新前のAIキャラクターとの会話例 その2

暗い過去のエピソードを保持した明るいAIキャラクター

次は、明るい性格を保ちつつ、暗い過去のエピソードを背景に持つAIキャラクターとの会話の例を図5に示しました。
Alt text
図5 更新後のAIキャラクターとの会話例 その1

会話例を見てみると暗い過去がAIキャラクターの現在の振る舞いに影響を与えていないことがわかります。応答の違いは、更新前のAIキャラクターと明らかな違いはなく、ユーザーに対する思いやりが過去のエピソードによって増加したわけでもありません。

また、暗い過去に関する会話の内容を図6に示しました。

Alt text
図6 更新後のAIキャラクターとの会話例 その1

会話は更新前のAIキャラクターと比較して具体的になりました。暗い過去のエピソードが明確になったことで、キャラクターの深みを増すことができました。

結論

現在の性格に過去エピソードが影響を及ぼしていないことが確認されました。これにより、過去のデータセットがAIキャラクターの現在の性格に意図せず変化を与えることはないと結論付けました。キャラクターの暗い背景は、現在の性格に影響を与えることなく、過去の情報を拡張することに成功しています。技術記事としての結論ですので、今後学術的な研究が進むことにより、AIキャラクターとデータセットの関係が明らかになると考えます。

おわりに

本記事では、過去のエピソードがAIキャラクターの性格に与える影響を紹介しました。
私は、意図しない性格変化を定量的に検出する研究を行っています。その成果は以下の論文に記載されています。
https://www.jstage.jst.go.jp/article/jsaikbs/130/0/130_55/_article/-char/ja

今後もサイバーエージェント24卒内定者 Advent Calendarをよろしくお願いします。

Discussion