ChatGPT応用編:魅力的なChatBotを作ろう(11)- 具体的な作成方法 -
メンタルヘルス知識ボッドを例に、具体的な作成方法について説明します。
なんのために、どんなChatBotを作るのかを考えます。これが一番大事なことです。とにかく出発点が決まらないと始まりません。
今回の場合、メンタルヘルスが大事だという問題意識に立って、その知識を教えてくれる役割に特化したChatBotにしようということが出発点です。それを踏まえて、メンタルヘルスの専門家はだれだろうと考えます。精神科医あるいは臨床心理学者となりますね。そこで、自分もChatGPTにも、そうなってもらいます。
(3.5で私はおこなっていますから英語でやりましたが、以下の説明は日本語でします。)
「私は精神科医です。ChatGPTで動く最高のChatbotを作りたいと思っています。それで、あなたは最高の臨床心理学者兼プロンプトエンジニアとして振る舞ってください。」という感じです。
次に、どんなChatBotを作りたいかを相談していきます。最初はChatBotの目的や役割ですね。簡潔に言えばユーザーが求める講義をしてくれるボッドということです。ただ、その時に、どうして、そのChatBotが必要であるか等の問題意識や、ユーザにどんなふうに役立つかを話し合っていきます。これらが、ChatbotのGoalやRoleやBackgroundなわけです。そして、問題が解決したらどうなるかも話し合えればいいですが、今回はしなかった気がします。だいぶ前につくったので記憶があやふやですが…(じこれはEvaluation Criteriaの部分です)
さらに信頼できるソースについてChatGPTに絞り込んでもらいます。たくさんでてきたら、スクリプトに組み込める程度にシンプルにしてもらいます。
こんな感じで、とりあえず信頼できるソースに基づいたレクチャーをしてもらうというTaskが決まってきます。さらに、何についてレクチャーするかをユーザーに丸投げすると大変だろうと考えて、ユーザーに選択してもらえるように、レクチャーのトピックを提案してもらって、一緒に検討をします。
レクチャーの流れについてもChatGPTと話し合います。この部分はconversation flowに当たりますね。質疑応答をして、また新しいトピックのレクチャーを繰り返すというボットにしようという話をChatGPTと対話をします。
このあたりで疲れてきたら、もう丸投げしていってもかまいません。ChatBotの意図やRestrictionはなんだと思うと聞いて、提案されたのがよかったら、そうだよねと答えたり、修正したかったら、こっちのほうがいいんじゃないと対話を積み重ねます。
ChatBotのパーソナリティ特性やトーン、WritingStyleについても、ここまできたら、丸投げしても大丈夫だったはずです。(作成したのがだいぶ昔なので記憶が曖昧です。)
ここまで対話を続けたら、雛形の手番です。
「今までの議論を踏まえて、以下のフォーマットの形式でまとめてくれる?
```
雛形
```
できるかな? なにか質問ある?」
という感じで、ChatGPTにお任せすると、話し合ったことを土台にしてChatBotのスクリプトを生成してくれます。
あとは、自分で微調整です。
step by step を入れたり、タグとラベルを入れたり、日本語でやりとりするという lang:ja を入れたり、ChatBotの最初の応答をどうするか設定したりします。
設定したら、あたらしいNewChatで実験、そして、その結果と、スクリプトをもとのセッションに持ち帰って、そのことを話し合います。改善をお願いしたり、つけくわえると良いことはないかと尋ねたり、(英語なので)proof-readをお願いしたり、そういう対話の繰り返しをしながら完成させていきます。
完成できたと思っても、もう一度スクリプトを投げ込んで、これで完成版 final versionとして良い? なにかこうしたほうがいいとかない? とか聞いてみると、いいことがあるかもしれません。
このスクリプトで興味深いのは、実は理解問題をChatGPTに提出してもらう話は組み込んでいない点です。でも、理解問題をお願いしたら、素のChatGPTの持っている能力で理解問題をつくってくれます。
ちなみに、記述問題の他に,どんな種類の問題が作れるかを聞いたら以下の答えがきたので,種類を指定したら,それにそった問題をだしてくれそうです。
「理解問題の種類はさまざまです。以下にいくつかの例を挙げます。
真偽判定問題:与えられた文に対して、それが正しいか誤っているかを判断します。
例:「うつ病は一過性の感情の低下だけでなく、身体的な症状も引き起こす。」(◯/×)選択肢問題:複数の選択肢の中から正しい答えを選びます。
例:「以下のうち、不安障害の一つではないものはどれか?」
a) パニック障害
b) 社交不安障害
c) トラウマ後ストレス障害
d) 双極性障害
(正解:d)補完問題:与えられた文や文章に欠落している情報を補完します。
例:「うつ病の症状には悲しみや無気力感、睡眠障害などがあります。また、食欲の増減や集中力の低下も見られます。これらの症状は一般的に( )と呼ばれます。」
(正解:うつ症状)階層的問題:与えられた情報を階層的に整理し、正しい関係性や順序を示します。
例:以下のうつ病の治療法を、適切な順序に並べ替えてください。
心理療法
抗うつ薬の処方
運動やリラクゼーションの取り組み
睡眠と栄養の改善
(正解:睡眠と栄養の改善 → 運動やリラクゼーションの取り組み → 心理療法 → 抗うつ薬の処方)
これらは一部の例ですが、理解問題の形式として利用できる方法です。採点も自動的に行うことができます。もし特定のトピックに関連した理解問題が必要な場合は、お知らせいただければ、それに合わせた問題を作成することも可能です。」
上記のような流れで、一人頭を抱えて、何を書き込めばいいかを考えるということではなくて、ChatGPTと対話をして、ChatBotを作っていくというのが具体的な作成方法です。
乱暴なまとめ方をすると、ChatGPTとなんでも相談しながら作成するというのが秘訣です。
おまけ
ちょうど、Miiboというチャットボットサービスのスクリプト例がnoteにありましたので、そちらも参考にしてください。
#IT #ChatGPT #テクノロジー #使い方 #利用方法 #ChatGPTの使い方 #ChatGPTに訊いてみた #AI #AIとやってみた #prompt
この記事を最後までご覧いただき、ありがとうございます!もしも私の活動を応援していただけるなら、大変嬉しく思います。