ChatGPTを使って会話劇を生成する
ChatGPTにロールを与えると、精度が上がるという方法があります。たとえば特定の分野の専門家になりきりさせるとより精度の高い回答を導けるというものです。今回は精度を上げる以外の応用を考えてみました。以下はツイッターの呟きを編集したものです。 ・ChatGPTに、漫才風、食レポ風、YouTuber風、Vtuber実況風、ゲーム実況風、スポーツ実況者風、学者風、小学校の先生風、哲学者風、小学生にも分かるように、オーキド博士風に説明してください。みたいなロールを定期的に変えてみる。
・ChatGPTで、文体練習例を生成して、リスト化して、勉強の合間のプロンプトにちょくちょく混ぜ込んでみる。
・『デーモン君のソース探検』みたいなのだと、パソコンとインタラクティブにプログラミングをするということのハードルの高さを感じたけど、ChatGPTだと、少なくともなんか有益なフィードバックを受け取りやすい感じはあるな。
・ChatGPTの一問一答生成についてについて書いたが、文章をChatGPTに読み込ませて一問一答を生成するのが勉強になる。しかし、この方法には欠陥があり、本文に書いてあることしか出力できない。つまり、勝手に補完されることが少ないので、新しく勉強になるような知識をインタラクティブにChatGPTから引き出したりすることを疎外する使い方である(社会構成主義の観点ではあまりよくない学習環境である)。実際、自分は一問一答を生成したあとはScrapboxでそれを読んでたし。会話劇への変換のメリットは、情報科学のようなChatGPTの特化したジャンルならさらに新しく情報を埋めてくれる可能性が高いこと。出力が開かれてるため、認知科学のシィーグラーの重複波モデルを依拠した、解釈の多様性が学習の深化に繋がるという学習の観点でも有意義な使い方なのではないか。 会話劇変換は単なる「要約」にすぎないのか?
たとえば、ChatGPTに質問する際に「step by stepで説明してください。」「要約してください。」「小学生にも分かるように説明してください。」といったプロンプトがあるが、これらは文章として出力するものである。パラフレーズが塊ごとに出力されるのだが、会話劇に変換すると、たとえば8ぐらいの会話文に変換されるので、疑問に思うことが出やすい、たとえば「~って本当?」みたいに文を再利用して、会話を続けやすく、オープンエンド、文章のパラフレーズで終わらず、会話の脱線を促しやすく、こういった脱線が、実は理解を深める側面があるのではないか。1文目から読み込んでいって、本当?と思った時点で、特定のキャラになって質問をするみたいなのが自然とできる。
会話劇をする際に、プロンプトに設定を書き込まないといけないので、毎日の勉強には面倒で続かないのでは?
会話の精度を気にするならそう。でも、2021年以前の有名作品なら、タイトルを与えるだけでキャラを勝手に生成するので問題ない。
オリジナルキャラだとキャラ付けの時点で面倒だけど、頭のなかでシミュレーションできる有名作品ならCVまでつくし、口癖、性格までわざわざ考える必要なく真似できるから、会話もTRPGみたいに楽しめる。
BingAIに登場人物のキャラの設定を生成させて、それを前において、キャラの会話の精度を上げるという方法もある。
プロンプト例
霊夢「ゆっくり霊夢です。」
魔理沙「ゆっくり魔理沙だぜ」
霊夢「今日はプログラミングの型について説明するよ」
ポイント:会話形式を事前に示すと、会話として出力される。これを応用するとスレッド内で事前に説明したことについてやりとりしてからこのプロンプトを使うと精度が上がる。
プロンプト例
勉強のために会話劇を生成したいと考えています。そのために、性格や口癖が様々なキャラを5人登場させたいです。設定を作り込んでください。
ポイント:版権キャラを使わない設定を作り込むため、自動生成させる。
プロンプト例
エヴァの登場人物のなりきり会話を作ってください。
ポイント:有名作品ならこれぐらいでも勝手にキャラを生成する。
プロンプト例
アスカ・ラングレー「構文木とパーサーの関係について説明するわよ。」
碇シンジ「」
ポイント:誰と誰の対話を作りたいかの傾向を事前に示す方法もある。エヴァほどの有名作品だとこれぐらいでもそれっぽくなるかもしれない。ただし、勝手にレイとかが出てくる。
プロンプト例
『魔法少女まどか☆マギカ』の登場人物のなりきりの会話を通じて、プログラミングにおける〜について追求していくよ。
キュウべえ「==はなぜ必要だったんだろう。」
ポイント:会話の導入を入れてしまうプロンプト。たとえば文章をこっちで勝手に会話に変換して導入にしちゃうというのも構造が作られるので、ChatGPTの返しはちゃんとした会話になる。
プロンプト例
『魔法少女まどか☆マギカ』の登場人物のなりきりの会話を通じて以下のお題について検討するよ。
文章
ポイント:文章をそのまま会話劇に変換できる。ただし、文章の量はある程度少なくするといい。長いと会話にならない。
プロンプト例
ここまでの議論を『けものフレンズ 』の登場人物たちの会話で復習します。
・ポイント:これまでの議論を会話劇でまとめることができる。
注意:同じスレッド内で複数の作品の会話劇を生成すると、オーバーラップする可能性があります。
まどマギなりきりのスレッドで、『俺の妹がこんなに可愛いわけがない。 』のプロンプトを試したら、京介(kyosuke)を経由して、2つのキャラが混じって会話しだして草。この世界の黒猫とか桐野とかは絶対に魔法少女になってるわ。
プロンプト例
『ようこそ実力至上主義の教室へ』の登場人物のなりきりの会話を通じて、プログラミングにおける名前とスコープについて追求していくよ。
設定
綾小路清隆:クールで、冷静沈着。口癖は「……」
堀北鈴音:おっとりしていて、優しい。口癖は「あら」
龍園翔:自信家で、高飛車。口癖は「それがどうした?」
一之瀬帆波:天真爛漫で、明るく元気。口癖は「わーい!」
坂柳有栖:クールで、知的。口癖は「……」
一之瀬帆波「プログラムの中で使われる変数や関数などの名前が、どの範囲で有効かを制限するためにスコープが必要なんだよ。」
https://gyazo.com/0a4d8fd3441ffa1745f94076b546a1b5
ポイント:BingAIでキャラの性格と口癖を整理させる。定期的に口癖が戻るので、そこまでの会話とセットで再出力させる。
プロンプト例
龍園翔:名前が被ってしまったらどうなるんだ?
堀北鈴音:それがスコープの概念ですね。変数や関数には、それぞれ有効な範囲があります。スコープ内での識別子は、同じ名前でも別々のものとして扱われます。
ポイント:セリフを「」で囲むのは面倒だが、:だけでも十分構造化されるのでこちらで代用可。
アイデア大全のディズニーの3つの部屋をやってみる。
プロンプト例
"""
夢想家と実務家と批評家の対話をシミュレーションしたいと思います。まず夢想家の自分が登場します。
"""
### 本文。ここにアイデア大全の「ディズニーの3つの部屋」技法のページを参考に夢想家になりきって、書き込む。
"""
次は批評家の登場です。批評家さんが以上の意見に対して、厳しい見解をしてくださいます。
批評家の臥煙伊豆湖です。なんでも知ってる高圧的なお姉さん。
批評家の羽川翼です。知識が豊富。理性的に批判してくれる。
批評家の影縫余弦です。関西弁。一番厳しい。
""
ポイント:オリジナルなキャラを再現するよりも極端な性格を与えたほうが面白いかもしれない。
プロンプト続き
次に実務家のみなさんが夢想家の意見を批判してくださいます。
実務家の阿良々木暦です。饒舌な男子高校生。
実務家の忍野メメです。風来坊なオッサン。実は採用担当者。
実務家のキスショット。現実主義的な見方をする姫。実は社長。
ポイント:1周したら、今度は、批評家になりきって、繰り返す。最後に、実務家になりきって、繰り返す。
プロンプト続き
今度は実務家になりきります。
本文
次は夢想家のみなさんが実務家の意見を批判してくださいます。
夢想家の八九寺真宵です。元気でポジティブな小学生。
夢想家の千石撫子。可愛いポジティブな中学生。
夢想家の神原駿河。とにかく積極的でポジティブな阿良々木暦の後輩。
ポイント:キャラを割り当てると、実務家に自分がなりきったときに実務家の意見を聞くということもできる。夢想家のときに、夢想家の意見を聞くこともできる。
ポイント:夢想家はポジティブで楽天的な性格を与えないと批評家になってしまう問題がある。
→「申し訳ありませんが、私はアニメや小説の登場人物であり、現実世界には存在しません。したがって、彼らによる意見や批評を提供することはできません。何か他にお探しのことがあれば、お答えいたします。」と返されたりするようになったりするので注意。たしか「「シミュレート」または「パロディ」と明示する必要がある」らしいので、そういうシミュレーションという用語をプロンプトに定期的に組み込む必要があるのかも。 →「すみませんが、私は著作権の関係で、オリジナルのストーリーを含む登場人物のシミュレーションは提供できません。何か他のご質問がありましたらお答えいたします。」らしいので、より抽象化して扱うのがいいかも。シックスハット法がいいかもしれない。
プロンプト例
シックスハット法でこれまでの議論を再検討します。帽子たちの意見を聞きましょう。
シックスハット法について設定をいれる。
総括
著作権キャラはChatGPTのなりきり会話劇に使えない可能性がある。なので、設定だけを抽象化したり、キャラの名前を抽象化するといいかも。
メモ
まず書籍を読んで、議論を頭の中にいれる。次に、何も見ずに、書かれていた問いと、答えを想定して、会話の導入部分をなりきりで作ってChatGPTに投げる。あとは色々と続けてみる。疑問に思ったら書籍に戻って会話を修正していく。
やっぱり、ChatGPTが特化してるの情報分野なので、それ以外の分野ではまだそういうの難しいけど、情報分野に関しては試しがいがあるから、今から独学するのはありなのかもしれんな。英語でやるなら医学とかの独学にも役立つのかもしれんが。
大事なのは、出力が正しいことよりも、ここが疑問に思うとか、得心がいってないということを、自分自身が自覚すること、またそれを記憶に残すこと、何で調べるのがいいのかキーワードを見つけること、これがChatGPTは従来のやり方よりも効率的にできる。現状正しいことを覚えるためのAIじゃないと思う。
記憶法で、暗記するものに場所を割り当てるというのがあるけど、いっそ、特定のジャンルを特定のアニメに割り当てて、そのキャラで会話劇をするようにすると、結びつきそうなんてことを考えてる。
文章を会話劇にパラフレーズすることの意義って、前者の文章を読み下したときに、得た表象と後者を読んだときに得た表象とが、食い違ったときに、あれこんなこと前者に書いてあったかなと確認すると、実は前者の内容が読めておらず記憶に残ってなかったとすぐに確認できることだな。
あと、よいプロンプトを見つけたら、スプレッドシートなどに記録して、再利用するのに役立てるといいかも。使い捨てはもったないし、GPTのバージョンが上がるとプロンプトの効果も変わるので何度も試すことになるだろうから。
めちゃくちゃ高度な内容を対話劇に落とし込もうとしてるけど、なかなかうまくいかないな。そもそも質的に違うものではうまくプロンプトを調節する必要があるのかな。→ある程度文字数を減らせば、その内容について対話劇に落とし込めるな。文字数が多すぎると対話劇にならない。
脳内声優で読み上げが起きるとき、マルチモーダル(聴覚野)な感じがするけど、実際はどうなんだろうな。耳を使ってなくてもその領域を使ってるんかな。あとなりきりさせてるが、解釈違いを起こしてたりするときに、記憶に残ったりする。
質問ができないみたいなときに、多くの人は実はその会話文程度の縮約ができず、落とし込めてない疑惑があるな。
ChatGPTでの対話を、エヴァの登場人物になりきらせてやると、なんか些細な質問をしても、罪悪感が少なくなった気がする。しかも、頭の中のCVが固定なので、対話を頭のなかでシミュレーションしやすいかも。
まどマギなりきりで解説させると、人数がまどか、さやか、マミ、杏子、ほむら、きゅうべえ、でせいぜい6キャラなので、会話の1文あたりの量が制御されて生成されるのは便利かも。
プログラミング言語についてゲンドウと冬月でなりきり対話してて思い出したが、コメニウスが演劇教育の意義みたいなのを唱えてたけど、ChatGPTとの演劇的やりとりってなんかそれとつながりそうな。というか、TRPGみたいなもんか。
子供のときに読んだ本に茂木健一郎が、とりあえず読んだときに、頭の中に入れて、写すというのを推奨してたが、プログラミングの本を読んで、頭の中で理解して、好きなキャラの対話のプロンプトのあとに、その理解した内容を書いて、対話劇にして読んでから、再批判するみたいな勉強法やってる。
『NEW GAME!』のなりきりでプログラミングについて会話劇するときにいいことは、先輩の構造があるから、最初からキャラに質問したいという志向性があるという部分だな。青葉なら八神コウに質問するとか、望月紅葉なら青葉に質問するかもしれないとか、ロールに質問が組み込まれてる。このキャラが、特定のキャラと会話するときはこういう喋り方に違いないという語感レベルの問題だけでなくて、ロールも組み込まれるのが面白い。これって、よくジェンダー論でいわれる、教えられる性みたいな議論と繋がりそうでもある。
会話劇で脳内再生すると、キャラごとによりらしく再生しようとするし、そもそも想起したいと思わせてくれるので、普通の会話劇よりも記銘に繋がる可能性もあるかも。たとえばさやかちゃんなら、こういう例題にするかも、みたいに質問のときも各キャラになりきってするので、記憶に残りやすい。
自分は教育学が専門だから、ChatGPTに教育学のネタも色々と聞いたりしたけど、GPT-3だとループするというか、あんまり日本語では理解してないから、がっかりしたが、文章の一問一答生成の変換なら精度は高かった。でもインタラクティブじゃない使い方なのでよくないとも思っていた。
おそらく情報科学の勉強以外には向いてないと思うが、もし試すひとは『コーディングを支える技術』を例題に会話劇を生成するといいと思います。こういう言語設計間の比較みたいな議論はあまり書籍に載ってないから、ChatGPTで生成してみると、自分の理解の未熟さがよく分かる。
Scrapboxで文章を読むというの、わりと気に入ってるんだが、文章の固まりだと、理解がうまく部分に注視できないが、たとえば1文ずつに分けると、とりあえずそこについて検討しやすいというのがあったが、会話劇に変換しちゃうのも似たような効果があるかも。
会話劇の生成、キワモノかと思ったけど、たとえばVOICEVOXでお気に入りの音声で読み上げをするのがあるのなら、お気に入りのキャラになりきって学びたいことを会話劇に変換すること、ロールプレイで検討するというのもありなのかもしれん。
類似例 BingAI
童話「桃太郎」について、教育哲学者であるデューイ、ペスタロッチ、フレーベル、ヘルバルト、カント、ルソー、モンテッソーリ、クルプスカヤ、コメニウス、エレン・ケイ、ジョン・ロック、ロバート・オーウェン、ラッセルになりきって、それぞれレビューを書いてください。
https://gyazo.com/d1fad9e1b4dbb40623fb8d883a1f56b1
ChatGPTに一問一答生成や要約をしてもらうというのは10→1のような圧縮、縮約の側面があるけど、会話劇に変換するのはまず10→1+1+1+1+1+1+1に分割するというイメージで、これは圧縮、縮約の一種ともいえるが、一方でそれぞれの1に対して疑問を持ちやすいこと、また会話であるため、続くことを志向するから、それぞれの1→3などと、新しい会話を広げていくことをナッジする側面があるかも。
キャラのなりきりが本質じゃなくて、キャラのなりきりを使うことで、会話の構造化が自然とできるという部分が本質で、別に会社員のなりきりとか、学校教師のなりきりとかで会話劇にしても問題はない。それでキャラの会話劇よりも覚えやすくなったり会話が弾むのであればそれが一番。
ChatGPTから情報を引き出すような質問をするのは意外と難しい。それを会話劇の構造にすることによって自然と質問を促す。
やっぱり会話劇にすると、どこで自分がつまずいてるか、読めてないかがすぐに分かるところがあるかも(つまずいたときに、すぐに疑問を返しやすい)。逆にいえば、いつもは読めてなくても、とりあえず通読しようとしてる傾向にあるかも(読めるところを見つけて、そこから整合性をとってるのかも)。
ABCDEについて書いてある文章を、「登場人物のなりきりの会話を通じて以下のお題について検討するよ。」で変換するとそれぞれのキャラがそれぞれA,B,C,Dをしゃべる感じに変換されるけど、あえて、キャラ1に「A」について喋らせるというだけのプロンプトを、次にBを喋らせるプロンプトを、と順々にしていくと、似たようなことをかたちを変えて繰り返すので、自分の中で咀嚼するのには便利だな。