ChatGPT

【拡張機能いらず!】ChatGPTでGoogleフォームのクイズを自動作成する方法

この記事では、ChatGPTを活用してクイズの問題を作成し、それをGoogleフォームに一括変換する方法をご紹介します。

通常、Googleフォームでクイズを作成するには、問題を一つずつ手入力する必要がありますが、この方法を使えばほとんどコピー&ペーストで簡単にできるので、ぜひ試してみてください。

本記事は、以下の動画を記事にしたものです。

「動画の方が好き」という方は、動画をご参照ください。

ステップ1:ChatGPTでクイズ問題を作成

まずは、ChatGPTにアクセスし、クイズの問題を作成してもらいます。

例として、動画内では語彙問題を作成しました。

プロンプト例

中断、復活、粘度、食感、組み込む、特徴、考案 これらの単語使った選択問題を7問、短文回答問題を3問作ってください

このように指示すると、ChatGPTは指定された形式と数の問題を作成してくれます。

選択問題には、問題文、選択肢、そして正解が示されるはずですが、うまく出てこない場合は「選択肢も出して」「正解も出して」というように追加で指示を出しましょう。

短文解答問題も作成できます。

ステップ2:Googleフォーム作成用スクリプトを生成

次に、作成した問題をGoogleフォームに変換するためのスクリプトをChatGPTに書いてもらいます。

先ほどの問題作成に続けて、ChatGPTに以下の指示を出します:

プロンプト例

これらの問題を使ってGoogle formsで小テストを作成するためのスクリプトを書いてください

すると、ChatGPTはGoogle Apps Script (GAS) のコードというものを生成してくれます。このコードをコピーしておきましょう。

内容がよくわからなくても、そのままコピー&ペーストで利用できるので、心配しないでください。

ステップ3:Googleフォームに貼り付けて実行

いよいよ、生成されたスクリプトを使ってGoogleフォームを作成します。

新しいGoogleフォームを作成

Googleドライブにアクセスし、「新規」ボタンから「Googleフォーム」を選択して新しいフォームを作成します。最初は何も設定されていない状態です。

スクリプトエディタを開く

フォームの右上にある縦に並んだ3点リーダーのアイコンをクリックし、メニューから「スクリプト エディタ」を選択します。

スクリプトを貼り付け

スクリプトエディタが開くと、最初から何かコードが入っている場合がありますが、それは全て削除して問題ありません。そこに、先ほどChatGPTからコピーしたGASスクリプトを貼り付けます。

貼り付けたら、忘れずにプロジェクトを保存します。名前を付けることも可能です。

スクリプトを実行

保存ボタンのすぐ右隣にある実行ボタン(▶のようなアイコン)をクリックします。

権限承認

スクリプトの初回実行時には、承認が必要だというダイアログが表示されます。「権限を承認」をクリックし、使用するGoogleアカウントを選択して「続行」を押します。

実行完了を待つ

スクリプトが実行されると、画面下部の実行ログに「お知らせ 実行開始」というメッセージが表示されます。その後、「お知らせ 実行完了」というメッセージが表示されるまで待ちます。

実行完了のメッセージが出たら、スクリプトの処理は成功です。

ステップ4:自動作成されたGoogleフォームを確認

スクリプトの実行が完了したら、Googleドライブに戻って確認してみましょう。

Googleドライブを見ると、先ほどはなかった新しいGoogleフォームファイルが増えているはずです。そのファイルをクリックして開いてください。

ファイル名は、ChatGPTが生成したスクリプトの中で自動的に付けられています。スクリプトの上部にその名前があるので、確認してください。

開いたフォームを見ると、ChatGPTが作成した問題が自動的に反映されていることが確認できます。

問題文、選択肢、そして解答形式(選択問題、短文解答問題)が設定されたクイズフォームが完成しています。

ただし、この段階で自動的に作成されたフォームは、回答ごとのフィードバック(正誤や解説など)が入っていない場合があります。回答を作成する設定にはなっていますが、中身は自分で入力する必要があります。

解答集とそのフィードバックも自動で入力したい場合、次の方法を取ることができます。

ステップ5:解答・フィードバックを自動で挿入する

回答ごとのフィードバックを含んだフォームを作成したい場合は、少し手順を追加します。

解答の形式を指定してChatGPTに依頼

再度ChatGPTに戻り、今度は選択問題それぞれの解答を、具体的なフィードバックとして記述するように依頼します。

プロンプト例

選択問題それぞれに、解答集もつけてください。
例1)D. 中断 ちゅうだん interruption

すると、ChatGPTは指定した形式で選択問題1から7までの解答リストを作成してくれるはずです。

解答を含んだ新しいスクリプトを依頼

次に、解答集を組み込んだスクリプトを出すように、ChatGPTに依頼します。

プロンプト例

上記の解答集を組み込んだGoogle forms のスクリプトを出してください

すると、ChatGPTは解答情報が含まれた新しいGASスクリプトを生成してくれます。

このスクリプトには、各問題のアンサーキー(回答)情報が含まれていることを確認してください。

新しいスクリプトでフォームを作成・実行

この新しいスクリプトをコピーし、再度Googleドライブで新しいGoogleフォームを作成します。

先ほどと同様に、フォームのスクリプトエディタを開き、既にあるコードを全て削除して、新しいスクリプトを貼り付けます。

保存→実行ボタンを押し、権限承認が必要な場合は同様に行います。

回答付きフォームを確認

実行が完了したら、Googleドライブに戻ります。

新しいフォームファイルを確認します (「語彙小テスト 解答付き」のような名前になっているはずです)。

このフォームを開き、問題を編集する画面で解答設定を確認してみてください。

すると、ChatGPTが生成した解答(フィードバック)が自動的に入力されていることが分かります。

これで、問題と解答・フィードバックが自動で設定されたクイズフォームが完成しました。

エラーが出た場合の対処法

ChatGPTが生成したスクリプトをそのまま貼り付けて実行した場合、エラーが発生することがあります。

エラーが出た場合は、表示されたエラーメッセージをコピーします。そして、ChatGPTに戻ってエラーメッセージをそのまま貼り付けて、修正をお願いしてみてください。

プロンプト例

TypeError: FormApp.createFeedback(…).setDisplayText is not a function
(匿名) @ コード.gs:68
createVocabularyQuizFormWithAnswerKey @ コード.gs:54 

このようなエラーが出るので、修正してください

ChatGPTは修正版のスクリプトを提示してくれます。ただし、修正したスクリプトをGoogleフォームに貼り直しても、再度エラーが出てしまうこともあります。

その場合も、エラーメッセージを再度ChatGPTに貼り付けて修正を依頼することを繰り返すと、正しいものを出してくれるはずです。

動画内では、2回修正を繰り返した後に最終的に成功しました。

エラーが何度も発生する場合は、ある程度まで自動でクイズを作ってもらい、残りを手動で修正した方が結果的に早く済む可能性もあります。

まとめ

この記事では、拡張機能を使わずに、ChatGPTで問題とGASスクリプトを作成し、Googleフォームに貼り付けて自動でクイズを作成する方法をご紹介しました。

問題作成からフォームへの反映、さらには解答・フィードバックの自動挿入まで、ほとんどの作業を自動化できて便利なので、ぜひご活用ください。

みなさまの準備・作業時間の短縮に役立つことを願っています!