Googleフォームの自由記述回答を、
人の目で読んで・考えて・分類する作業に時間を取られていませんか?
GAS(Google Apps Script)だけでも自動分類は可能ですが、
ルールが増えるほど if文が複雑になり、保守が大変 になります。
そこで活躍するのが ChatGPT(AI) です。
この記事では、Googleフォームの回答をChatGPTで自動分類する方法を、 初心者の方でも実装できるように、順を追って解説します。
目次
Contents
この記事でできること
- Googleフォームの自由記述回答を
- ChatGPTが内容を理解して
- あらかじめ決めたカテゴリに自動分類し
- スプレッドシートに結果を書き戻す
問い合わせ対応・アンケート分析・社内申請の仕分けなど、 実務でそのまま使える内容です。
全体の仕組み
今回の構成はとてもシンプルです。
- Googleフォームで回答を受け取る
- スプレッドシートに回答が保存される
- GASが回答内容を取得
- ChatGPT APIに送信
- 分類結果をシートに書き戻す
「フォーム × スプレッドシート × GAS × ChatGPT」
この4つが連携します。
STEP1:ChatGPT APIの準備
ChatGPTをGASから使うには OpenAIのAPIキー が必要です。
- OpenAIの公式サイトにアクセス
- APIキーを発行
- キーをメモ(※後でGASに設定します)
※ APIは従量課金制ですが、
フォーム分類程度であれば 少額(数十円〜) で十分です。
STEP2:スプレッドシートの準備
Googleフォームと連携したスプレッドシートを開き、
以下のような列を用意します。
- A列:タイムスタンプ
- B列:回答内容(自由記述)
- C列:ChatGPT分類結果(新規追加)
この C列 に、ChatGPTが判断したカテゴリを書き込みます。
STEP3:GASでChatGPTに送るコード
スプレッドシートから
拡張機能 → Apps Script を開いてください。
以下が基本コード例です。
function classifyByChatGPT(text) {
const apiKey = 'ここにAPIキー';
const url = 'https://api.openai.com/v1/chat/completions';
const payload = {
model: 'gpt-3.5-turbo',
messages: [
{
role: 'system',
content: 'あなたは問い合わせ内容を分類するアシスタントです。'
},
{
role: 'user',
content: `
次の文章を以下のカテゴリのいずれかに分類してください。
【カテゴリ】
・問い合わせ
・クレーム
・要望
・その他
文章:
${text}
カテゴリ名のみを返してください。
`
}
]
};
const options = {
method: 'post',
headers: {
'Authorization': 'Bearer ' + apiKey,
'Content-Type': 'application/json'
},
payload: JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(url, options);
const result = JSON.parse(response.getContentText());
return result.choices[0].message.content.trim();
}
STEP4:回答を自動分類して書き戻す
次に、シートの回答をループ処理し、
分類結果をC列に書き込みます。
function runClassification() {
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
for (let i = 2; i <= lastRow; i++) {
const text = sheet.getRange(i, 2).getValue();
const resultCell = sheet.getRange(i, 3);
if (text && !resultCell.getValue()) {
const category = classifyByChatGPT(text);
resultCell.setValue(category);
}
}
}
これで、
未分類の回答だけを自動でAI分類できます。
実務での活用例
- お問い合わせフォームの自動仕分け
- クレームのみを別シートに抽出
- アンケート結果の傾向分析
- 社内申請の一次振り分け
「読む → 判断する」作業を、
AIに任せるだけで業務が一気に軽くなります。
まとめ
GASだけのルールベース分類と比べて、
ChatGPTを使うと以下のメリットがあります。
- 表現の揺れに強い
- ルール追加が不要
- 実務に近い判断ができる
次の記事では、
分類した回答をChatGPTで自動要約・返信文生成する方法を解説予定です。
ぜひシリーズとして活用してみてください。
