ChatGPTのZero-Shot(ゼロ・ショット)プロンプティングを例文付きで解説
ChatGPTの生成する回答は時に的外れで、期待する回答を得られるまで何度もやりとりをしている方もいらっしゃいます。
確かにChatGPTはチャットのAIなので「やりとりをしていく」という使い方は間違ってはいないのですが、検索をした方が早いと思うことも多いです。
今回は、ChatGPTから1発で回答を得られる「Zero-shot プロンプティング」を紹介します。
普段ChatGPTと長々と会話している方は、今回の記事を参考にしてみてください。
INDEX
Zero-Shot プロンプティングの方法
ではさっそく、Zero-Shot プロンプティングの方法を解説していきます。
方法1.選択肢を与える
プロンプト
テキストを「良い」「普通」「悪い」に分類してください
テキスト:明日は大雨だ
分類:
ChatGPTの回答
テキスト: 明日は大雨だ
ChatGPT
分類: 悪い
あの長々とした文章を書いていくChatGPTが、たった一言「悪い」とだけ返事してきます。
続けて質問していきます。
プロンプト
テキスト:新しい靴を買った
分類:
ChatGPTの回答
テキスト: 新しい靴を買った
ChatGPT
分類: 良い
前回の選択肢のままリセットしていないので、引き続きこの文法が使えます。
プロンプト
テキスト:だるい
分類:
ChatGPTの回答
テキスト: だるい
ChatGPT
分類: 悪い
ChatGPTとこんなに雑なやりとりができる、これがZero-Shot プロンプティングの醍醐味です。
方法2.無難なことを言語化する
思ってもないことを言語化するようなシーンは、多い割に意外と頭を使います。
そして思ってもないことなので生産性もありません。
こういう時にChatGPTは役に立つ答え方をしてくれます。
なぜなら、ChatGPTの性質上人間の好む答え方を熟知しているからです。
関連記事:ChatGPTの仕組みを分かりやすく解説
プロンプト
なんか気に入られる挨拶の言い方ありますか?
ChatGPTの回答
もちろん、気に入られる挨拶の言い方はいくつかあります。以下にいくつかの例を示します。ただし、挨拶は相手との関係や文脈によって異なることがあるため、状況に合わせて選んでください。
おはようございます(またはこんにちは、こんばんは)。相手の名前を使って、個人的な挨拶をするとより好感が持てることがあります。例えば、”おはようございます、田中さん。”と言うことで、相手が自分に気を使っていると感じるかもしれません。
“ごきげんいかがですか?”など、相手の機嫌を尋ねる挨拶は、気に入られることがあります。相手がどのように感じているかを気にかける姿勢を示すことが大切です。
“お疲れ様です。”と相手の努力や仕事に感謝の意を表す挨拶も好感を持たれることがあります。
“どうしたんですか?”や “何かお手伝いできることがありますか?”など、相手に協力の手を差し伸べる姿勢を示す挨拶も評価されることがあります。
笑顔で挨拶することは、相手に好意を示す方法の一つです。笑顔は友好的で温かい印象を与えます。
挨拶は相手とのコミュニケーションの第一歩であり、相手の気持ちを尊重し、好意を示すことが大切です。相手の反応に注意を払いながら、最適な挨拶を選んでください。
ChatGPT
このように「特に正解も不正解もないのに重要な答え方」を示してくれるのもChatGPTの良いところです。
そもそもZero-Shot プロンプティングとは?
Zero-Shot プロンプティングとは「前提条件や例文を書かずに答えを導き出すようなプロンプト」のことを言います。
こちらを先に言うべきでしたが、Zero-Shot プロンプティングを求めている方は答えだけ知っておきたいだろうと思って例文を先にあげました。
ここからはしっかりと説明します。
通常、ChatGPTに良い回答を生成させようとすると、いくつか例文を挙げたり、指示と条件を明確にしたりする必要があります。
答え方やプロンプトの捉え方が複数ある場合、ChatGPTは確率論で答えを生成するため、どうしてもバラつきが出てしまったり、期待してない答えが生成されたりします。
プロンプト
プロンプトとはなんですか
ChatGPTの生成した回答
「プロンプト」は、コンピュータやソフトウェアのユーザーインターフェースにおいて、ユーザーからの入力を受け付け、その入力に応じてコンピュータやプログラムが動作する準備が整った状態を指します。一般的に、プロンプトはコマンドラインインターフェース(CLI)やテキストベースのユーザーインターフェースで使用されます。
プロンプトは、ユーザーに対して何らかの情報や操作を要求する際に、ユーザーに対して何を入力すべきかを示すテキストまたは記号の形式を取ります。例えば、コマンドプロンプト(Command Prompt)やシェルプロンプト(Shell Prompt)では、ユーザーがコマンドを入力し、それに応じてシステムが動作します。また、プログラム内で対話的な情報を取得する際にも、プロンプトが使用されます。
プロンプトは、ユーザーが正確な入力を提供し、システムとの対話を行うための手段として重要です。プロンプトは、ユーザーに対して何をすべきかを明確に伝え、対話的なプロセスを円滑に進める役割を果たします。
ChatGPT
AIへの指示であることを言って欲しかったのに、プロンプトの模範的な回答を生成しています。
このように具体的な指示がないと、模範的な回答を生成してしまうのです。
この場合、「生成AIにおけるプロンプトはなんですか」と聞いておけばまだ求めている答えに近いものが得られると思いますが、やはり複雑になっていけばいくほど具体的な質問が難しくなってきます。
Zero-Shot プロンプティングがうまくいかない時には、Few-Shot プロンプティングという手法を使うと楽です。
関連記事:ChatGPTのプロンプトとは?作成のコツや活用できる例文も紹介
Few-Shot(フュー・ショット)プロンプティングとは
Few-Shot プロンプティングとは、少しだけ例を出してあげて回答を生成させる手法です。
オーソドックスな例で言うと、わからない英単語を調べる時などに有効です。
プロンプト
象:elephant
虎:tiger
猫:cat
豹:
ChatGPTの回答
豹:leopard
ChatGPT
このように、余計な情報を一切出さずに返答してくれます。
あまりに複雑なものは間違えますが、簡単な数列なら解くことができたりします。
プロンプト
2:2,4,6,8,10
3:3,6,9,12
4:4,8,12,16
5:
ChatGPTの回答
5:5,10,15,20
ChatGPT
しっかりと5の倍数を出してくれます。
これぐらいであれば、やや助長気味ではありますが、しっかりと回答してくれます。
プロンプト
#単語
KPI
#意味
「重要業績評価指標」の略で、目標達成に向けたプロセスの進捗状況を定量的に評価・分析するための指標です。
#用途
組織の目標を達成するための重要な業績評価の指標を意味し、達成状況を定点観測することで、目標達成に向けた組織のパフォーマンスの動向を把握できるようになります。
#単語
KGI
#意味
「重要目標達成指標」の略で、企業の最終目標を定量的に評価するための指標です。
#用途
ChatGPTの回答
KGI(重要目標達成指標)は、組織や企業の最終的な目標や成果を評価するための指標であり、通常、KPI(重要業績評価指標)とは異なり、より高次のゴールや戦略的な成果を測定するために使用されます。
KGIは、企業の成功や成長に対する進捗をモニタリングし、企業の戦略が達成されているかどうかを評価するために重要です。
KGIは通常、中長期の目標やビジョンに関連しており、KPIはこれらの目標を達成するための具体的なステップやプロセスを評価するのに対して、KGIはその達成に向けた大局的な進捗を示します。
ChatGPT
しっかりと、ほぼ用途のみの出力となっています。
しかし、少し複雑になってくると意図した回答が得られません。
こちらもオーソドックスな例ですが、ChatGPTが苦手な、逆から読むことをさせてみます。
プロンプト
ありがとうございます:すまいざごうとがりあ
こんにちはごきげんよう:うよんげきごはちにんこ
ごめんなさい:いさなんめご
すいませんでした:
ChatGPTの回答
すいませんでした:せんまえいすどなっ
ChatGPT
むしろ自分が間違えたかと思うほど混乱しています。
逆から読ませるのはステップ・バイ・ステップで行なえばできますが、Few-Shot プロンプティングでは厳しいようです。
Zero-Shot プロンプティングのメリット
Zero-Shot プロンプティングのメリットとしては、チャットを重ねなくてもズバッと回答を生成してくれることです。
ChatGPTにありがちな長い表現もなくすことができます。
Zero-Shot プロンプティングのデメリット
プロンプトの作成自体が面倒なことがデメリットとして挙げられます。
普通に尋ねて要約してくれるようにお願いした方が早い場合もあります。
Zero-Shot プロンプティングがうまくいかなかった時のためにFew-Shot プロンプティングという技術もありますが、やはりプロンプト自体が面倒な感じは否めません。
Zero-Shot CoT プロンプティング
CoT(Chain-of-Thought)プロンプティングという技術との合わせ技で、やや難しいようなことでもZero-Shotがより便利になる場合があります。
例えば算数です。ChatGPTは、意外と算数が苦手です。
箱の中にボールが20個あります。
半分は赤で、赤ではないボールの半分は白です。
白いボールは何個ありますか?
箱の中にボールが20個あり、その半分が赤で、残りの半分は赤ではないとされています。したがって、赤いボールは10個です。
次に、赤ではないボールの半分が白であるとされています。赤いボールが10個なので、赤ではないボールも10個です。そして、その半分が白であるため、白いボールの数は赤ではないボールの半分、すなわち10個です。
したがって、箱の中には白いボールが10個あります。
ChatGPT
ミスっております。
20/2=10
20-10=10
10/2=5
従って5個が正解です。
こちらをZero-Shotプロンプトで回答させます。
箱の中にボールが20個あります。
半分は赤で、赤ではないボールの半分は白です。
白いボールは何個ありますか?
ステップバイステップで考えてください。
問題を解くために、以下の手順に従ってみましょう。
- ボールの総数を求める:
箱の中のボールの総数は20個です。- 赤いボールの数を求める:
ボールの半分が赤いとされているため、20個のボールの半分は ( \frac{20}{2} = 10 ) 個です。- 赤ではないボールの数を求める:
全体のボール数が20個で、そのうち赤いボールが10個なので、赤ではないボールは (20 – 10 = 10) 個です。- 白いボールの数を求める:
赤ではないボールの半分が白いとされています。したがって、白いボールの数は ( \frac{10}{2} = 5 ) 個です。したがって、箱の中には5個の白いボールがあります。
ChatGPT
ステップバイステップで考えるように指示すると、推論させるプロンプトであるCoTプロンプトに似たような効果が得られ、計算の順番を間違えることなく正解できる可能性が上がります。
関連記事:CoT(Chain-of-Thought)プロンプティングとは?ChatGPTに推論させる?
Zero-Shot プロンプティングが使えるシチュエーション
単純作業の連続であれば、一度パターンを覚えさせてしまえばかなり作業が楽になります。
今回紹介したような、良い、普通、悪いなどの単純な分類作業や英訳などです。
しかし、複雑なタスクには向いていないので、状況に応じたプロンプトを使用することが大切です。
プロンプトパークでは、このようなZero-Shot プロンプトの練習をするのにも使えます。
ぜひ見てみてはいかがでしょうか?