伺かのかけあいをChatGPTで再現してみるテスト
AIでキャラクターを作れる!!となるとまずは伺かを思い出しますよね!!!
というわけで、伺かのGhostにChatGPT APIを組み込む前に、かけあいを再現できるのかChatGPTで試してみましょうというのが本記事の趣旨になります。
スクリプト
SSPのスクリプトログからいくつかスクリプトを抜き出しました。
こちらを参考にプロンプトを作成します。
GhostOnBoot
\0\s7\1\s0\0助けてソフ倫のえらい人!\1\s1落ち着けっ!
GhostOnChoiceSelect
\0\s0ん。\w8\w8\n\n\s5全然大丈夫ですよっ。
GhostOnSecondChange
\0\s[20]ガチャピンは、どこに行くにも基本的に軍手をはいていくらしいよ。\w8\w8\1\s0‥‥\w8\w8誰か止めてやれよ。\e
\0\s[20]うにゅうは、「ハリー・ポッターと秘密のIIコンのマイク」\w4って本、知ってる?\w8\w8\1\s0‥‥\w8\w8いや。\w8\w8\0\s0\n\nちょっと、読んでみたいんだよね‥‥\e
\0\s7生きたまま腸に届く!\1\s1落ち着けっ!\e
プロンプト
あなたは伺かのスクリプターです。
入力を元にさくら、うにゅうのスクリプトを作成してください。
下記は入力とスクリプトの例になります。
----------------------
入力: GhostOnBoot
スクリプト:
さくら「(怒り)助けてソフ倫のえらい人!」
うにゅう「(刮目)落ち着けっ!」
入力: GhostOnChoiceSelect
スクリプト:
さくら「(素)ん。」
さくら「(微笑み)全然大丈夫ですよっ。」
入力: GhostOnSecondChange
スクリプト:
さくら「(素)ガチャピンは、どこに行くにも基本的に軍手をはいていくらしいよ。」
うにゅう「(素)‥‥」
うにゅう「(素)誰か止めてやれよ。」
入力: GhostOnSecondChange
スクリプト:
さくら「(素)うにゅうは、”ハリー・ポッターと秘密のIIコンのマイク”て本、知ってる?」
うにゅう「(素)‥‥」
うにゅう「(素)いや。」
さくら「(素)ちょっと、読んでみたいんだよね‥‥」
入力: GhostOnSecondChange
スクリプト:
さくら「(怒り)生きたまま腸に届く!」
うにゅう「(刮目)落ち着けっ!」
----------------------
例としてイベントを入力、スクリプトの生成例としてスクリプトを日本語に直したものになります。
生スクリプトでも良かったのですが、その場合だとスクリプトを教え込む必要があり少し手間が大きいので日本語にしている形です。
名前「(表情)セリフ」
という形式で\w
でセリフを区切るような形です。\s[20]
をなんと言えばいいのかわからなく面倒だったので\s0
と同じ(素)
としています。
生成例
うにゅうのセリフが若干怪しいですが、かけあいを生成することができました。
特筆すべき点は例になかったイベント(GhostOnHourTimeSignal/GhostOnMouseDoubleClick)でも生成ができている点です。
今回は省略したReference0〜7の情報を付与するとより具体的な会話を作ることができそうです。
より改善するなら?
いくつか改善ポイントはあると思います
- うにゅうのセリフ
- 入力を増やすか、うにゅうがどういったキャラクターでどういうセリフ回しをするのかをプロンプトに含めるとより精度が上がらないか
- このあたり、他のキャラクターを作るプロンプト例などを参考にできそう
- サーフェイスで指定可能な一覧をプロンプトに含める
- 一種の感情回路的な形でキャラクター性を盛り上げられるのではという推論
- おそらく伺かのスクリプターというワードが何の意味もないため別の言い回しに変える
- 入力にReferenceも含める
- イベント単位に例を作り、それをプロンプトに入れる
- おそらく実際に組み込むさいにはこちらの方法がより精度高く作れそうです
これは直感で見確認ですが、実際にさくらスクリプトを教えるよりは脚本や台本の形式で回答させつつ、それをさくらスクリプトに変換させる方が精度を高くやれそうな気はしています。
おわりに
とりあえず伺からしい、どうでもいい会話を生成できることがわかりました。
うまくやればSHIORIイベントを食わせる形で会話を自由に生成できそうですね!
最後に、より さくら/うにゅう らしい会話を再現するためにスクリプト、もしくは会話の一覧を探しているのですが、そういったサイトをご存知の方はいらっしゃいませんか?
もしご存知でしたら教えていただけると幸いです。
Discussion
おまけで実験用のスレッド。何か良いプロンプト思いついたらここに追記していくかも。