
イベント
精度向上のカギは“多数決”? AIによる会話パート開発支援が解説されたCygamesのセッション[CEDEC 2025]
ChatGPTなどの大規模言語モデルを用いて,キャラクターのセリフから表情や動作を自動で設定できるようにし,会話パートの開発作業負担を減らす試みが解説されたセッションの模様をレポートしよう。
![]() |
2019年からCygames社内でAIの導入に取り組み,2023年と2024年のCEDECにも登壇している立福氏は,必要となる学習データの量が小さく,GPUを使った学習も必要ない「インコンテキストチューニング」での手法を紹介すると話してセッションを始めた。
![]() |
シナリオからモーションを求める
会話パートの開発では,担当者がゲームシナリオのセリフに合わせて「笑う」「驚く」などの適切なモーションを選択していくが,セリフやモーションの数が多いため,かなりの手間になる。そのため,「AIを利用して,セリフからモーションの候補を出せないか」との依頼が立福氏に寄せられ,対応することとなった。
![]() |
対象となったゲームタイトルに登場するキャラクターは100人以上で,モーションの総数は2000程度。この数字を見ただけでも作業の重さが想像できるが,例えば「歩き」のモーションにも複数あり,その名前が「walk01」「walk02」など,その内容を想像しづらくなっているのも問題となっていた。
依頼がきた時点でサービスが数年続いていたタイトルだったため,立福氏はまず過去のデータを集めることに。その過程で,1つのセリフに複数のモーションが設定されていることも分かった。
![]() |
データが集まったところで実装作業へ。GPT-4モデルのプロンプトに「指示内容&出力例」「過去のモーションとセリフの対応関係」と,モーションを付けてもらいたい「新規のセリフ」を入力し,「新規のセリフのモーション」を出力させることにした。具体的には,以下の画像のようになる。
![]() |
![]() |
![]() |
これで試してみたところ,最初から「それっぽい結果」が出たため,次は正解率を高めていく作業となった。
そこで試されたのが,キャラクターごとにモーションを出力させる方法だ。当初は複数キャラのモーションを一度に出力させていたが,それだとGPT-4が混乱していたという。ただし,新規シナリオは全キャラ分を入力し,全体の文脈を把握させるようにした。
![]() |
また,プロンプトに入力する「過去のモーションとセリフの対応関係」のデータ量についてのテストも行われ,「多ければ多いほどいい」という結果が出た。ただ,多すぎるとエラーが出てしまうため,そのギリギリまで入れるようにしたとのこと。
こういった作業の結果,出力された7つの候補に正解が含まれる割合は0.39となった。2000ものモーションがあることを考えればなかなかのものなのだが,立福氏はさらに正解率を高めるべく,複数回実行して“多数決”を取る方法を試すことに。その結果,精度は大幅に上がったという。
![]() |
複数回の出力で精度を上げる方法は「推論スケーリング」と呼ばれており,今回のような多数決はその中でも「並列スケーリング」というものに当たるという。GPT-3.5を20回実行すると,GPTー4相当の性能になる,とする論文もあるそうだ。
複数回実行して多数決を取る場合,ランダム要素を入れることが重要になる。今回は「乱数のシードを変える」「プロンプトの位置を変える」という2つの方法が採用された。
「乱数のシードを変える」とは,再現性に関わるパラメータをいじること,「プロンプトの位置を変える」とは,具体的にいえば「過去のモーションとセリフの対応関係」のリストをシャッフルすることとなる。テキストの内容としては同じでも,順番を入れ替えるだけで出力結果が変わるわけだ。
こういった改善の結果,30回試した結果の候補に正解が含まれる割合は0.70にまで上がり,外れであっても近いものが候補となって,かなり使いやすくなったという。ただ,APIのコストなどを考慮に入れて,最終的には10回実行することにしたそうだ。
![]() |
シナリオから表情差分を求める
立福氏は2023年に,会話パートにおけるキャラクターの表情設定をAIで自動的に行うツールを社内に提供した。評判は上々で,そこで得た知見をCEDECで発表しているのだが,それを聞きつけてなのか,「うちのプロジェクトでも同じように効率化したい」という依頼がきたという。
[CEDEC 2023]AIが「感情を読み取る」ことは可能なのか。自然言語処理と音声解析によるアプローチが解説されたCygamesのセッション
![[CEDEC 2023]AIが「感情を読み取る」ことは可能なのか。自然言語処理と音声解析によるアプローチが解説されたCygamesのセッション](/games/999/G999905/20230901049/TN/027.jpg)
ゲーム開発者会議のCEDEC 2023で,Cygamesの立福 寛氏が,AIによる感情分析への手法を紹介するセッションを行った。人間であっても簡単ではない感情の読み取りを,自然言語処理と音声解析のアプローチによって行った模様が解説されている。
ゲームのスクリプトはプロジェクトによって完全に違うため,いちからの作業となるが,立福氏は新しいAIが使えて,学習なしでも行けそうだと判断して作業に入った。
それまでのスクリプト制作は,まずシナリオライターがシナリオを執筆し,「キャラ名」「セリフ」「演出指示」といった項目があるExcelファイルに変換。それをプランナーが受け取り,キャラの表情を選択して,演出用のパラメーターも設定する……という流れで行われていた。
「表情」と書いたが,実際には1人のキャラクターに複数の衣装と,その衣装それぞれに表情がある,という形になっており,プランナーはそれを確認するために用意されたhtmlファイルを使って作業していたそうだ。
![]() |
![]() |
依頼の具体的な内容は,プランナーが行う表情と演出パラメーターの設定に手間がかかるため,そこをAIに任せたいというものだった。
立福氏は,表情設定は先のモーションと同じようにAIで行けそうだと判断。演出パラメーターはプログラムで対応することにした。
自動化には,キャラクターリストやキャラクターごとの衣装リスト,衣装ごとの表情リストなどが必須となるが,ここでマスターデータがないという事実に直面し,立福氏は困ったという。最終的には,プランナーが使っていたhtmlファイルをマスターデータとして扱ったそうだ。
![]() |
htmlファイルは手打ちだったため,場所によって微妙に書式が異なる問題も判明したが,エンジニアとプランナーが協力し,数か月かかってAIが扱えるものに修正した。
シナリオライターによる衣装の指定方法も問題となった。それまでは「ここまで●●衣装」といった自由なテキストで指定されていたが,それでは処理しづらいので,Excel上で衣装を選ぶ形へ変更することに。
さらに,他作品とのコラボイベントで,同名のキャラクターが3人登場することも分かって,立福氏はまたまた困ってしまったが,htmlファイルからコラボイベントの部分を識別して,登場頻度が低いコラボキャラクターを自動設定の対象外とすることで乗り切った。
そういった準備の末,やっとAIの出番となる。プロンプトはモーションとほぼ同じだが,キャラクターの表情は最大で23,最小で1と,モーションと比べてかなり少なめで,モーションよりは簡単になることが予想された。プロンプトは以下のような感じだ。
![]() |
![]() |
![]() |
モーションと同様に複数回出力し,多数決を取ることにしたが,1つのシナリオに登場するキャラクターが多いため,過去のセリフが少ないキャラクターは出力回数を抑えることにした。
その結果,10回出力しての完全一致率は0.46。上位3候補では0.65,上位10候補では0.78と,使いやすいものに仕上がった。開発メンバーからは,表情設定作業としては5割,案件ごとで見ても2〜3割の効率化を実感しているという声があったという。
![]() |
![]() |
![]() |
従来の手法との比較
立石氏はセッションの最後のパートとして「おまけに近いんですが」と前置きしつつ,従来の手法と今回の手法の比較を解説した。
対象となったのは,シナリオからパートボイスを求める処理。パートボイスとは,セリフのすべてではなく,一部だけを切り取ったようなボイスのことだ。
![]() |
もともとはプランナーがいちいち設定していたが,立福氏が2023年に,自然言語処理モデルのRoBERTaをファインチューニングしての自動処理を導入した。それと同じ処理を,今回のGPT-4(インコンテキストチューニング)で比較しようというわけだ。
その結果,正解率だけで見るとRoBERTaのほうが高い結果に。ただ,ファインチューニングにかかる負担を差し引く必要はあるだろう。立福氏は今回の手法について,「新しいモデルへの置き換えも簡単なので,1年後には変わってくると思います」と話して,セッションを締めくくった。
![]() |
「CEDEC 2025」公式サイト
4Gamer「CEDEC 2025」関連記事一覧
- この記事のURL: