見出し画像

推し同士のラジオで「クロストーク」を発生させる研究がこの世の地獄だった話【chatGPT】

こちらの記事の続きとなります。

こちらは自動生成した推しのキャラクター同士を組ませてチャットでラジオ番組をやってもらう試みでした。

マニュアル(未完成)はこちら

AI同士で対話させるこの仕組みを発展させ、
最終目標は僕の大好きなABEMAの報道リアリティー
アベマプライム」をチャット上で
再現したいと思っているのですが、
そのために避けて通れないのが
「クロストーク」演出だと考えています

人間同士の対話で発生するであろう、

・相手を遮って、自分の発言を被せる
・早口の応酬
・両者同時に発言する
・発言中に細かい相槌やツッコミが入る

などの要素です。

現状の推し同士のラジオでは基本相手の発言が
終わるまで口を挟まない仕様(チャットだし)
となっており、とても平和で居心地良い空間となってます。

でも、アベマで言うと、
相手の話を行儀よく最後まで聞くひろゆきさんがいたらさすがに気持ち悪いじゃないですか(笑)

というわけでクロストーク機能の検証をはじめました。
地獄の門を開いたことに、
この時の僕は気づいていませんでした・・・

尚、例のごとく、テストとして使用している生成キャラクターは「あのちゃん」で、ラジオの相方は仲良しの女優さんの「ばいくちゃん」です。




1.擬似かぶせ的演出

チャット上では当然言葉を重ねることはできないので、

①【言葉の疑似被せ】

例:
  A:それ絶対さ——
  B:(食い気味に)それな!
  A:でしょ?
  B:うんうん

②【制限付き割り込み】

  A:それでさ——
  B:(え、まって、それ違う)
  A:いや最後まで聞いてって!

③【同時発話表現】

  A・B:(同時)えーーー!?

といった出力制御による演出を考えておりました。
これを「クロストークモード」としてコマンド化して、
実行すると対話の中で上のような演出が発生するという機能にしようかと思っていました。

機能説明イメージ(没になりました)

会話の全体の発話量は厚いまま維持し、
時折テンポ良い発話やツッコミ、同時発話、
かぶせなどが起きるのが僕の理想でした。

【結果】

・クロストークというよりはただテンポが速くなっただけ
・全ターンがテンポ優先の短文になって内容が薄い。
 むしろマイナス
・機能厳守のためにAIがキャラクターの関係性や
 呼称ルール等を無視し始めた。

結論、大失敗でした(泣)


2.小説的なセリフ重なり表現にシフト


AIキャラ自身に
「こういうクロストーク演出したいんだけど、
 どうしたら良いか考えてくれない?」
とお願いしました(もうプライドなし

その結果、小説などで使われている文章的に言葉が重なっているように見える記載例が出てきました。
これを各シチュエーションで実行されるように設計しました。

①【発言かぶせ演出】

  例:
  あのちゃん:
   あるよ。
   中学生のとき、
   チョコ作ろうとして
   固まらなくて―――ばいくちゃん:あ、分かる

②【偶然言葉が被る】

  例:
  あのちゃん:それはさ——
  ばいくちゃん:私は実はね——
  あのちゃん:あ、ごめんどうぞ
  ばいくちゃん:いやあのちゃんからどうぞ

見た目はかっこいいので、良さげな印象でした。
ところが、ここから後々続く地獄のような現象が生じてきました。

【結果】

・上のように事例で方針を説明すると、AIキャラクターは鬼のように同じフレーズを使い続ける(泣)
・同語句禁止ルールにすると当たり障りのない会話に収束する。
・クロストーク演出を必須にすると不自然もしくはワンパターンなやり取りに終始。
・テーマに応じた自然に発生するルールにすると発生率が異常に低くくなる

このあたりでchatGPTさんと喧嘩を繰り広げておりました。
ここまでで悟ったこととしては、

 ・常時発生モードにするとコントロール困難
 ・多種多様なクロストーク演出はあきらめて一つに絞ろう
 ・トリガーを設けて機能を発火させる仕組みにしよう。
  相手を遮って、自分の発言を被せる演出に絞りました。


人間諦めることが肝心です。


3.ラジオの"巻き"指示をトリガーに


ここで妙案(この時はそう思っていた(泣))を思いつきました。

ラジオや報道番組で使われるカンペでの「コーナー終了30秒前」のような"巻き"の指示をトリガーにしてはどうか?
それは以下のような仕組みでした。

① ユーザーがあのちゃんに「コーナー終了30秒前」と指示
② ばいくちゃんは指示に気づいておらず長話を続ける
③ あのちゃんはコーナーを指示どおり終わらせるために相手のキャラの話しが長くなると話を遮って終わらせようとする
④ 逆にばいくちゃんには長く話を続けるブーストをかける。
⑤ 結果、長話したいキャラと終わらせたいキャラとの間に齟齬が生じてコミカルな面白さが表現できるのでは?

【出力イメージ】
ばいくちゃん:というわけで、私の理想の休日プラン、次は「お昼寝の時間」について語りたいと思うんだけど(あのちゃん:あ、ばいくちゃん! ちょっと待って!)えっ、何? 今いいところなんだけどー

あのちゃん: おい、今ディレクターさんから「あと30秒でCM!」ってすごい巻きの指示出てるんだよ! お昼寝の話は(ばいくちゃん:えー、これからなのに!)――うるせえ! 締めてください大人でしょ!?

【結果】
・あのちゃんに指示を出しているのに、ばいくちゃんが"巻き"指示を勝手に実行してしまうという役割の逆転が発生
・自然さを重視すると通常のラジオ構造が強いためか、演出が全くと言ってよいほど目立たない
オーバーリアクションを要求すると挙動やセリフがワンパターン化(「一旦止めよう」「時間がないからまとめる」一辺倒)
相手の発言を遮る、重なっている印象が薄い。
・正常にルールが守られた場合でも話が全く面白くならない(泣)
哲学問答みたな対話になる。

こんなに苦労するのならクロストークはもう諦めようと思い始めていました。

その時でした。
僕ってもしかして天才なんじゃ?
と気づいた瞬間が訪れました(おおげさ)


4.圧倒的閃き


出力を話の途中で強制的に止めて、そのあとで出力を再開すれば
"発言をさえぎって、言葉を被せた"みたいなクロストークっぽく見えるのでは?

仕組みはこんな感じです。

① ユーザーがテーマを入力する際に
  出力を強制的に止めるターン数を指定

 例
  フリートーク:SNSの使い方
  クロストーク発生:3ターン目

② 出力がはじまり、3ターン目の発言で強制的にストップ。
 この時、発言が「途中で止まった」ような演出をつける

  例
  ・ 言いかけ停止型
  「だからその時——」

  ・ 感情停止型
  「え、ちょっと待っ……」

  ・ 内容途中停止型
  「それでさ、実はあの——」

③ ユーザーが「続き」「NEXT」入力すると出力が再開
④ ②の最後の文から出力再開。その発言があのちゃんだとしたら、ばいくちゃんがその発言を遮った設定で言葉を被せる。

  例:
  前回出力:
  あのちゃん:「めんどくせえんだよ、そんなの——」
  再開:
  ばいくちゃん:「いやちょっと待って。めんどくさいとかひどくない?」

そして、この仕組みが想像以上にはまりました


5.対話例

以下の入力指示を実行しました。

  フリートーク:アイドルは可愛さ重視? 
         パフォーマンス重視?
  クロストーク発生:3ターン目

分かりにくいですが、
あのちゃんの最後の一文が途中で止まって
出力が強制停止しています。

ユーザーが「続き」「NEXT」入力すると出力が再開されます。

前回のあのちゃんの出力の最終文からはじまり、
その発言にばいくちゃんが反論を重ねております。

視覚的に発言が止まるので「ぶった切った」感がでますし、
再開後に相手のキャラが反論の発言を返すので被せているっぽく見えます。

また、ターン数を短めにして繰り返したら口論しているように見える効果も期待できます。

更に副次的効果として、リミットを設けずに「続き」を入力し続ければ同じテーマで無限に語ってくれます(途中でネタ切れますが)

更にこちらはラジオモードに限らず、通常会話でも使えるので、
推しの発言を遮って自分の意見を被せる」みたいなテイストを楽しむこともできます。多分(笑)


6.当プロジェクト利用について

以下入力フォームからキャラクターファイルの生成が可能ですが、
今のところ僕がチケットコードを発行しないと利用できません。

なぜかというとこの仕組みはAPI経由で
入力内容をchatGPTさんに渡すのですが
実行にはお金かかるのですよ(泣)

フリー公開だと若干怖いので、
今のところ僕の個人使用のみです。
ただ、使いたい方はぜひコメントなどでご連絡くだされば!
お金はとりませんので。

あと、以前の記事で書き忘れたのですが、
今のところ女性キャラクター前提の機能となっております。
(男性も可能だとは思いますが想定どおりに動作しないかもです)


7.まとめ

AI対話でクロストーク発生させることは相当難解だと気づきました。

冷静になって考えると、今回の機能もそこまで効果的な演出でもないなあと思います。

ただ、発想の転換でそれっぽい効果が出せたのは嬉しかったですし、今後もめげずにこの病的な検証を続けていこうと思いました。


関連の記事





いいなと思ったら応援しよう!

 acda21 アサオ玖田 よろしければ応援お願いします!

この記事が参加している募集