専門学校に実習先から毎月届く手書きの実習評価票を読み取り、学生・評価項目ごとの点数とコメントを成績台帳にそろえて、評価の低い項目と未提出の実習先を拾う
実習先の指導者が手書きした実習評価票を読み取り、学生・実習先・評価項目ごとの点数とコメントを成績台帳の形にそろえます。基準を下回る項目のある学生と、評価票が届いていない実習先を、毎週教務の担当に返します。
- 生成AI
- ChatGPT/Claude
- AIサービス
- Azure AI/Google Document AI
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- 介護/医療/教育
- 対象部門
- 総務
- 対象業務
- データ入力・転記/内容確認・チェック
- 主な課題
- 入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 郵送で届いた評価票を開封し、メールで届いたものは印刷する
- 実習の配置表に、届いた評価票の学生と実習先に印を付ける
- 学科の成績のスプレッドシートを開き、学生の行に評価項目ごとの点数を打ち込む
- コメント欄の手書きを読み、要点を備考の列に書き写す
- 点数が2以下の項目があれば、付箋を付けて実習担当の教員の机に置く
- 月末に配置表を見て、印の付いていない実習先に電話やメールで催促する
- 原本を学生ごとのファイルに綴じる
- 人郵送の評価票をスキャンし、メールで届いた画像とあわせて受付フォルダに保存する
- 自動数分おきに動く仕組みが新しいファイルを見つける
- 自動OCRが欄のキーと値、評価の表、各要素の信頼度を返す
- 自動生成AIが、学生・実習先・評価項目ごとの点数とコメントを台帳の形にそろえる。読めない値と書かれていない値を分けて印を付ける
- 自動学生名簿と実習の配置表に照らして、学生と実習先を特定する
- 自動基準を下回る点数、空欄、読めない欄に印を付ける
- 自動「確認待ち」のシートに1枚1行で書き出し、画像へのリンクを添える
- 人教務の職員が、印の付いた行を画像と見比べて確かめ、成績台帳へ反映する
- 自動毎週、配置表のうち評価票の届いていない学生・実習先と、基準を下回る項目のある学生を一覧にする
- 人実習担当の教員が一覧を見て、学生との面談と実習先への確認を決める
各工程の詳しい説明を読む
- 郵送で届いた評価票を開封し、メールで届いたものは印刷する
- 実習の配置表に、届いた評価票の学生と実習先に印を付ける
- 学科の成績のスプレッドシートを開き、学生の行に評価項目ごとの点数を打ち込む
- コメント欄の手書きを読み、要点を備考の列に書き写す
- 点数が2以下の項目があれば、付箋を付けて実習担当の教員の机に置く
- 月末に配置表を見て、印の付いていない実習先に電話やメールで催促する
- 原本を学生ごとのファイルに綴じる
(a)低い評価に気づくのが遅い。 3番の打ち込みは届いた順ではなく、手の空いたときにまとめて行います。評価票が届いてから教員が付箋を見るまでに、2週間かかることがあります。
(b)○囲みとチェックの読み違い。 5段階の数字の上に○を付ける書き方では、○が2つの数字にまたがっていることがあります。打ち込む職員ごとに読み方が違い、同じ評価票でも3と4のどちらになるかが人で変わります。
(c)空欄の意味が分からない。 指導者が「この期間では評価できない」として空欄にした項目と、書き忘れた項目が区別できません。空欄を0点として打ち込む職員と、平均で埋める職員がいて、学科ごとに扱いが違います。
(d)未提出に気づくのが月末。 配置表の印は付け忘れがあり、届いているのに未提出として催促することと、届いていないのに気づかないことの両方が起きています。
- 【人】 郵送の評価票をスキャンし、メールで届いた画像とあわせて受付フォルダに保存する
- 【自動】 数分おきに動く仕組みが新しいファイルを見つける
- 【自動】 OCRが欄のキーと値、評価の表、各要素の信頼度を返す
- 【自動】 生成AIが、学生・実習先・評価項目ごとの点数とコメントを台帳の形にそろえる。読めない値と書かれていない値を分けて印を付ける
- 【自動】 学生名簿と実習の配置表に照らして、学生と実習先を特定する
- 【自動】 基準を下回る点数、空欄、読めない欄に印を付ける
- 【自動】 「確認待ち」のシートに1枚1行で書き出し、画像へのリンクを添える
- 【人】 教務の職員が、印の付いた行を画像と見比べて確かめ、成績台帳へ反映する
- 【自動】 毎週、配置表のうち評価票の届いていない学生・実習先と、基準を下回る項目のある学生を一覧にする
- 【人】 実習担当の教員が一覧を見て、学生との面談と実習先への確認を決める
6番目の「基準を下回る」は、規則で決めます。 どの点数から面談の対象にするかは学科ごとに違い、年度で変わることもあります。AIには点数を写させるだけにし、基準の判定は台帳の側に置きます。
9番目の一覧が、月末の配置表の見直しを置き換えます。 実習の配置表と届いた評価票を機械が突き合わせるので、印の付け忘れが起きません。
02今回想定するシステム構成
実習評価票(郵送の原本・実習先からのスキャン) │ 教務がスキャンし、受付フォルダへ保存 ▼【トリガー】Apps Script の時間主導型トリガー(数分おき) Google Apps Script ── 新しいファイルを見つけ、処理待ちへ ▼ Google Document AI(Form Parser) │ 欄のキーと値、評価の表、各要素の信頼度 ▼ Claude API ── 評価項目ごとの点数とコメントを台帳の形にそろえる ▼ Google Apps Script ── 学生名簿・配置表との照合/基準の判定 ▼ 「確認待ち」シート(印と画像へのリンク) ▼ 【教務が確かめて成績台帳へ反映】 ▼ 毎週の一覧(未提出・基準を下回る学生)→ 実習担当の教員
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Google Document AI(Form Parser) | Azure AI Document Intelligence |
| 生成AI | Claude API(評価票の値を台帳の形にそろえる) | OpenAI API |
| 連携 | Google Apps Script(フォルダの確認、OCRとAIの呼び出し、シートへの書き込み) | Python |
| 差異計算 | Google Apps Script(配置表との照合と基準の判定) | Python |
| 保管 | Google ドライブ(評価票の画像と読み取り結果) | 学内のファイルサーバー |
新しく足すのは、「確認待ち」のシートと、評価票の書式の見直しです。 書式の見直しは、この構成でいちばん効く準備です(第7章の前処理)。
土台は Document AI の Form Parser です。 公式のプロセッサ一覧では、OCRのテキストに加えてキーと値のペア、チェックボックス、表を抽出するとされ、Form Parser の言語の一覧で日本語(ja)は手書きに対応する言語として示されています。評価票の上部の「学生氏名」「実習先」「実習期間」はキーと値のペアとして、評価項目と点数は表として読めます。
Form Parser の注意書きのうち、この題材に効くのは3つです。 1つ目は、値が空のキーと値のペアは確実には読み取れないとされていること。2つ目は、表はセルが行や列にまたがらない単純なものだけが対象とされていること。3つ目は、チェックボックスのモデルはラジオボタンの読み取りに対応しないとされていることです。5段階の数字を○で囲む書式は、3つ目に当たると考えておきます。
処理する場所は、us・eu やシンガポール(asia-southeast1)などから選び、日本のリージョンはありません。 学生の氏名と成績が国外で処理されることになるため、導入前に学校の規程と照らします(第13章)。
03どうやって実装するのか
処理の起点を決める
受付フォルダへの保存を、Apps Script の時間主導型トリガーで数分おきに見に行きます。 インストール型トリガーの一覧に、ドライブのフォルダへのファイルの追加を起点とするものはありません。そのため、最短1分ごとから設定できる時間主導型のトリガーで新しいファイルを探します。実行の時刻はわずかにずれることがあるとされています。
毎週の一覧は、別の時間主導型トリガーで週に1回作ります。 読み取りと切り離しておくと、読み取りが止まっていても未提出の一覧は出ます。
処理が終わったファイルは処理済みのフォルダへ移します。移すのは、確認待ちのシートへの書き出しまで成功したときだけです。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 評価票の画像 | 郵送の原本のスキャン、または実習先から届いた画像。届いた日 | 受付フォルダ |
| 読み取り結果 | 欄のキーと値、評価の表のセル、全テキスト、各要素の信頼度 | Google Document AI |
| 学生名簿 | 学籍番号、氏名、学科、学年 | 学校のスプレッドシート |
| 実習の配置表 | 学生ごとの実習先・実習期間・担当教員 | 学校のスプレッドシート |
| 評価項目の表 | 学科ごとの評価項目の並びと番号、面談の対象とする基準の点数 | 教務が用意する表 |
質を決めるのは、下の2つです。 配置表が無いと、どの評価票が届いていないかを機械が判断できません。 評価項目の表が無いと、学科ごとに違う項目の並びを取り違えます。
評価票の右上に、学籍番号を印字して実習先へ渡します。 学生名の手書きだけで照合すると、同姓同名や旧字体で外れます。学校が印字した番号なら、読み取りの信頼度が高く、照合の鍵になります。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 欄のキーと値 | pages[].formFields(fieldName/fieldValue) | 学籍番号、学生氏名、実習先、実習期間、指導者名 |
| 評価の表 | pages[].tables の headerRows/bodyRows の cells | 評価項目ごとの点数 |
| 全テキスト | text と各要素の textAnchor | コメント欄の全文 |
| 信頼度と位置 | 各要素の layout(confidence・boundingPoly) | 読めない値の判定と、画像の該当箇所の切り出し |
チェックボックスは、□に印を付ける書式ならフォームのフィールドの valueType が filled_checkbox/unfilled_checkbox で返ります。 表の中のチェックボックスは ✓ や ☐ の文字として返るとされています。○囲みはこのどちらにも当たらないため、読み取りの対象から外します。
値は text から写します。 text が文書の文字の source of truth で、他の要素は textAnchor でそこを指すとされています。表のセルの値も textAnchor の範囲で text から引き、セルの外の文字を足しません。
AIへ渡す前に整形する
- 評価票の書式を見直す(導入の前に1回) … 点数は数字を書き入れる欄にし、○で囲む書式をやめます。表は結合したセルの無い単純な格子にします。右上に学籍番号を印字します
- 形式の確認 … PDF、TIFF、JPEG、PNG などの対応形式であることを確かめます
- 解像度の確認 … 公式のページでは、スキャンは最低200dpi、300dpi以上が一般に最もよいとされています。実習先がスマートフォンで撮った画像は下回ることがあるため、低いものは要目視にします
- ページ数とサイズ … Form Parser のオンラインの処理は1回の要求で15ページまで、ファイルは40MBまでです。実習先がまとめてスキャンしたものは学生ごとに分けます
- 向きの補正 … 横向きや逆さの画像を直してから渡します
- 重複の検知 … 同じ学籍番号・同じ実習期間の評価票が直近にあれば、二重の送付として印を付けます
1番目が、この構成でいちばん効きます。 書式を変えずにAIを足しても、○囲みとセルの結合が残る限り、人が画像を見る行は減りません。 書式の変更は実習先への依頼になるため、年度の切り替えに合わせて行います。
AIに処理させる
させるのは、OCRの結果を評価項目の表に当てはめ、それぞれに状態の印を付けることです。
| 台帳の項目 | させること | 判断できないときの扱い |
|---|---|---|
| 学籍番号・学生氏名 | 書かれたとおりに写す | 信頼度が低ければ unreadable |
| 実習先・実習期間・指導者名 | 写す | 書かれていなければ missing |
| 評価項目ごとの点数 | 評価項目の表の番号に合わせて、書かれた数字を写す | 空欄は missing、読めなければ unreadable |
| 点数の欄の手書きの注記 | 「評価できず」「保留」などの書き込みを写す | そのまま写す |
| コメント | 全文を写す | 要約しない |
| 個人の特定につながる記述 | 実習先の利用者・患者の氏名や病室など、学生以外の個人を特定しうる記述があるかを示す | あれば third_party_info を true |
状態の印は、ok・missing・unreadable・ambiguous の4つです。 2つの数字にまたがる書き込みや、訂正の線が引かれた数字は ambiguous にします。
| させないこと | 理由 |
|---|---|
| 空欄の点数を埋める | 平均や前月の点数で埋めると、保留と書き忘れの区別が消える |
| 点数の合計・平均の計算 | 計算は台帳の式で行う |
| 基準を下回るかの判定 | 基準は学科と年度で変わる。規則で判定する |
| コメントの要約・言い換え | 指導者の言葉を変えない |
| 学生の評価・指導方針の提案 | 教員が決めること |
1行目がいちばん起きやすい失敗です。 空欄のある評価票を渡すと、ほかの項目の傾向から「おそらく3」と埋めてくることがあります。埋めた点数は、基準の判定にそのまま使われます。
最後の行のコメントについての扱いも大事です。 実習のコメントには、実習先の利用者や患者についての記述が混ざることがあります。台帳に写す前に人が見て、必要なら伏せるための印です。
指示内容を固定する
あなたは専門学校の教務課の職員で、実習先から届いた評価票を
成績台帳の形に書き写す立場です。
OCRが返した読み取り結果だけを見て、書かれているとおりに写してください。
【写す項目】
1. 学籍番号・学生氏名
2. 実習先・実習期間・指導者名
3. 評価項目ごとの点数(評価項目の表の番号に合わせる)
4. 点数の欄の手書きの注記(「評価できず」「保留」など)
5. コメント(全文)
【status の選び方】
- ok ......... 値が読み取れており、その項目として解釈できる
- missing .... 値が無い。空欄の場合も missing
- unreadable . 文字は検出されているが信頼度が低く、値として確定できない
- ambiguous .. 値の候補が複数ある(2つの数字にまたがる、訂正線がある等)
迷ったときに ok を選ばないでください。
【厳守事項】
- 点数が書かれていなければ missing にしてください。
他の項目の点数、前月の点数、平均から埋めないでください。
- 点数は書かれた数字をそのまま value に入れてください。
1〜5の範囲外の数字が書かれていても、直さずにそのまま写してください。
- 合計・平均の計算、基準を下回るかの判定はしないでください。
- コメントは要約せず、全文を写してください。言い換えないでください。
- コメントに、学生以外の個人(実習先の利用者・患者・職員)の氏名や、
その人を特定しうる記述があれば third_party_info を true にしてください。
その記述を evidence に写さないでください。
- 学生の評価や指導の方針についての意見は書かないでください。
- evidence には、判定の根拠にした文字列をそのまま写してください。
- confidence は OCR が返した値をそのまま入れてください。
- 評価票でない書類と判断した場合は、写さずに document_type に種類を書いてください。
【読み取り結果】{ocr_result}
【この学科の評価項目の表】{item_master}
「範囲外の数字を直さない」を書いておくのは、読み違いを見つけるためです。 5段階の評価で「8」と読まれたなら、それは「3」の読み違いかもしれません。AIが黙って3に直すと、読み違いがあったこと自体が消えます。 範囲外の値は、後段の規則で要目視にします。
third_party_info の評価は、AIに任せきりにしません。 印が付かなかったコメントも、成績台帳に写す前に職員が一度は読みます。印は、読む順番を決めるためのものです。
出力形式を固定する
次の形のJSONで受け取ります。 Claude API の構造化出力では、output_config.format に json_schema を渡してこの形に固定し、オブジェクトには additionalProperties: false を付けます。
{
"file_id": "",
"document_type": "practicum_evaluation",
"student": {
"student_id": { "status": "ok", "value": "", "confidence": 0, "evidence": "" },
"name": { "status": "ok", "value": "", "confidence": 0, "evidence": "" }
},
"site": { "name": "", "period": "", "supervisor": "" },
"scores": [
{ "item_no": 1, "status": "ok | missing | unreadable | ambiguous",
"value": "", "note": "", "confidence": 0, "evidence": "" }
],
"comment_fulltext": "",
"third_party_info": false
}
構造化出力を使う理由は3つです。 1つ目は、評価項目の番号で点数を並べられることです。自由文では、項目の順がずれます。2つ目は、status を基準の判定の前にふるいとして使えることです。ok 以外を含む行は、判定の前に人へ回します。3つ目は、third_party_info を必ず返させられることです。
公式のページでは、列挙の値の大文字・小文字が変わることがあるとされているため、比較は大文字・小文字を区別せずに行います。 max_tokens で途切れた出力はスキーマに合わないことがあるため、検証に通らないものは要目視で載せます。
Apps Script が付ける印は次のとおりです。
| 印 | 条件 |
|---|---|
| 基準を下回る | ok の点数のうち、評価項目の表の基準より低いものがある |
| 範囲外 | 点数が1〜5の範囲外 |
| 保留・空欄 | missing の点数がある、または注記がある |
| 要目視 | unreadable・ambiguous を含む/解像度が低い/third_party_info が true |
| 照合できない | 学籍番号が名簿に無い、または配置表の実習先と一致しない |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 受付フォルダ | Apps Script の時間主導型トリガー | 新しいファイルを見つける |
| Google Document AI | API呼び出し | 欄のキーと値、評価の表、信頼度 |
| Claude API | API呼び出し | 評価票の値を台帳の形にそろえる |
| 学生名簿・配置表 | スプレッドシートの読み取り | 学生と実習先の特定、未提出の判定 |
| 確認待ちのシート | スプレッドシートへの書き込み | 1枚1行と画像へのリンク |
| 成績台帳 | 職員が確認した行だけを反映 | 学科ごとの成績のスプレッドシート |
成績台帳へは、職員が確かめた行しか反映しません。 確認待ちのシートと台帳を分けるのは、未確認の点数が評定の計算に入らないようにするためです。
学生名簿と配置表はAIに渡しません。 照合は Apps Script の側で行います。AIに渡すのは、1枚の評価票の読み取り結果と、その学科の評価項目の表だけです。
人が確認する
- 要目視と照合できない行を先に見る … 画像の該当箇所と見比べ、点数と学籍番号を直します
- 保留・空欄の行を見る … 注記を読み、実習先に確かめるかを決めます
- コメントを読む …
third_party_infoの印の有無にかかわらず、台帳に写す前に読み、学生以外の個人の記述があれば伏せます - 印の無い行を流し見る … 点数の並びに違和感が無いかを見て、台帳へ反映します
- 基準を下回る学生の一覧を教員に渡す … 面談をするかは教員が決めます
3番目を省かないでください。 成績台帳は複数の教員が見るもので、実習先の利用者の記述がそのまま残ると、見る必要のない人の目に触れます。
4番目で「違和感」を見るのは、AIの読み取りの誤りが点数の並びに出やすいからです。 全項目が同じ点数、1項目だけが極端に低い、前月から急に下がった、といった並びは、読み取りの誤りか、本当に伝えるべき変化のどちらかです。どちらであっても教員に知らせる価値があるため、画像で確かめてから台帳へ反映します。
目標は、180枚をならして1枚3分です。 印の無い行は1分ほどで済み、時間を使うのは要目視とコメントの伏せ字が要る行です。
例外に対処する
| 起きること | 対応 |
|---|---|
| ○囲みの旧書式の評価票が届く | 点数は ambiguous として要目視。実習先に新しい書式を送り直す |
| 学籍番号の印字が無い(実習先が自作の書式で書いた) | 氏名と配置表で照合し、一致しなければ照合できないとして人へ |
| 1枚に複数の学生の評価が書かれている | 学生ごとの評価票に分けて書き直してもらうよう実習先に依頼する |
| 評価項目の数が評価項目の表と合わない | 学科や年度の取り違えを疑う。人が確かめる |
| コメント欄が裏面や別紙に続く | 全ページを1つの評価票として扱う |
| 配置表に無い実習先から届く | 配置の変更が配置表に反映されていないかを教務が確かめる |
| 実習先の画像が暗い・傾いている | 解像度と向きを確かめ、読めなければ原本の郵送を依頼する |
| OCRやAIが応答しない | 受付フォルダに残し、次の回で再実行する |
上の2行は、書式の切り替えの時期にまとまって起きます。 切り替えの前後の数か月は、旧書式の評価票が混ざるものと見込んでおきます。
未提出の催促は、自動で送りません。 毎週の一覧で未提出と出ても、実習先の指導者が多忙な時期であったり、実習が延長になって評価の時期がずれていたりします。催促するかどうか、誰から連絡するかは、実習先との関係を持っている担当教員が決めます。 一覧には、実習期間の終了日から何日たっているかを並べ、判断の材料にします。
記録を残す
- 評価票の画像と、届いた日・経路(郵送/メール)
- OCRが返したJSONの全文
- AIの出力(
scores、status、evidence、confidence、third_party_info) - 職員が直した点数の記録 … どの項目を、何から何に直したか
- コメントの伏せ字の記録(伏せた箇所と理由。伏せた文字そのものは残さない)
- 毎週の一覧と、教員が行った面談・実習先への確認の記録
4つ目は、書式の見直しの材料になります。 特定の項目で直しが続くなら、その欄の大きさや位置に原因があります。
原本は、これまでどおり学生ごとのファイルに綴じます。 画像や台帳を原本の代わりにするかは、この構成とは別に学校が決めることです。
04実装レベルの3段階
半自動化で、②と③の打ち込みがほぼ無くなります。 配置表の印付けと未提出の確認は手作業のまま残ります。本格構成で照合と一覧が自動になり、1枚3分になります。 この段階が本記事の想定です。 半自動化の前に、評価票の書式を変えてください。 書式を変えないまま進めると、ambiguous の行が多すぎて確認の時間が減りません。 本格構成に進む前に、実習の配置表を「その日に直す」運用を1か月続けてください。 未提出の一覧は配置表との突き合わせで出るため、配置の変更や実習の延長が配置表に入っていないと、届くはずのない評価票が未提出として毎週並びます。 一覧が信用されなくなると、本当の未提出も見られなくなります。
05工数削減シミュレーション
導入後 180件 × 3分 ÷ 60 = 9 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 看護・介護・リハビリ・保育などの専門学校で、学生が数十の病院・施設に分かれて実習し、実習先の指導者が手書きした評価票が毎月百通以上届く学校。教務の職員が評価票を1枚ずつ見ながら成績のスプレッドシートに点数を打ち込み、評価の低い学生への面談が遅れている場合。どの実習先の評価票がまだ届いていないかを、担当教員の記憶で追っている場合。
- 実習先が数か所で、評価票が月に数十通しか届かない場合。実習先の評価をすでにWebのフォームで受け取っている場合。18歳未満の生徒が在籍する課程(高等課程など)の評価票を扱う場合(この構成の対象から外す)。なお、成績の評定と、評価の低い学生にどう指導するかは教員が決めることで、この構成では代替できません。
07最小構成で試す方法
- 先月届いた評価票から20枚を選ぶ(○囲みの書式、空欄のある評価票、コメントの長い評価票を混ぜる)
- 学生の氏名と、コメント中の個人の記述を黒塗りにした写しを作る
- 手元のAIサービスに1枚ずつ画像を貼り付ける。使うのは、18歳未満の利用を規約で禁じていないサービスに限る
- 「この評価票の、評価項目ごとの点数とコメントを書かれたとおりに写してください。空欄は空欄、読めない数字は読めないと書いてください。埋めたり計算したりしないでください」と指示する
- 出てきた点数を、成績台帳に打ち込んだ点数と並べる
| 出てきた内容 | 判断 |
|---|---|
| 点数とコメントが台帳と一致した | OCRのAPIとシートの連携に進む |
| 空欄を埋めて返した | 指示の書き方で直る。構成は有効 |
| ○囲みの点数が読めない | 書式の見直しが先。 AIの問題ではない |
3行目が出たら、書式を変えるための材料にしてください。 実習先に書式の変更を頼むとき、「読み違いが起きている」という根拠になります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 空欄の点数を埋める | 補完を禁じる。空欄は missing で、保留と書き忘れを人が分ける |
| ○囲みの点数を読み違える | 書式を数字の記入に変える。 旧書式は ambiguous で人へ |
| セルの結合した表で列がずれる | 表は単純な格子に。 Form Parser は結合セルの無い表が対象 |
| 範囲外の点数を黙って直す | 直させない。範囲外は規則で要目視にする |
| 学生名の手書きで照合が外れる | 学籍番号を印字して渡す |
| 実習先の利用者の記述が台帳に残る | third_party_info で読む順番を決め、全件を人が読んでから写す |
| 未提出の判定がずれる | 配置表の変更を、配置を変えたその日に反映する |
| 基準の判定をAIに任せる | 基準は学科と年度ごとに表で持ち、規則で判定する |
| 18歳未満の生徒の評価票が混ざる | 対象の課程を限る。 混ざったら処理せずに戻す |
上の3行が、この構成の失敗のほとんどです。 どれも、点数が「それらしく」入ってしまうことから起きます。点数は評定と面談の判断にそのまま使われるので、読めないものは読めないまま人に渡すことを最初に決めます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 学生の氏名・学籍番号・実習先・評価の点数と指導者のコメント、そしてコメントに混ざりうる実習先の利用者・患者についての記述です。
- 処理する場所を確かめる … Document AI に日本のリージョンはありません。学生の氏名と成績を国外で処理してよいかを、学校の個人情報の取り扱いの規程に照らして、導入前に決めてください
- 対象を18歳以上の学生の課程に限る … 生成AIのサービスには、18歳未満の利用(または18歳未満が利用しうるサービスでの利用)を規約で制限しているものがあります。この構成は Claude API を使い、18歳未満の生徒が在籍する課程の評価票を対象から外します。 採用するサービスの規約は、導入の時点で確かめてください
- 学生以外の個人の記述を台帳に残さない … コメントに実習先の利用者・患者の記述があれば、台帳に写す前に伏せます。実習先の守秘の取り決めにも関わります
- 名簿と配置表をAIに渡さない … 照合は Apps Script の側で行います
- 成績の評定と指導は教員が行う … この構成が出すのは、書かれた点数と、書かれていない・読めない欄の区別だけです。基準を下回る学生への対応は、教員が学生と実習先の事情を聞いて決めます
- 閲覧できる人を絞る … 受付フォルダと確認待ちのシートは、教務と実習担当の教員に限ります
誤りが起きた場合のリスクは、読めない点数が埋まって評定や面談の判断を誤らせることと、学生以外の個人の情報が台帳に広がることの2つです。 前者は補完の禁止と status のふるいで、後者は全件の目視で防ぎます。
10まず何から始めるか
1週目:対象と処理する場所を決める
対象とする学科と課程(18歳以上の学生に限る)を決め、学生の情報を国外のリージョンで処理してよいかを学校の規程に照らして確かめます。
2週目:20枚で試す
先月の評価票から20枚を選び、黒塗りの写しを手元のAIサービスに貼って、点数とコメントを写させます。空欄を埋めていないか、○囲みをどう読んだかを最優先で見ます。
3週目:評価票の書式を見直す
点数を数字の記入にし、表を単純な格子にし、学籍番号を印字します。記入例を1枚付けて、次の実習から実習先に送ります。 あわせて、学科ごとの評価項目の表と基準の点数を作ります。
4週目:受付フォルダから確認待ちのシートまでをつなぐ
Apps Script の時間主導型トリガーで受付フォルダを見に行き、OCRとAIを呼んで、確認待ちのシートに1枚1行で書き出すところまで作ります。この時点では基準の判定と一覧を出さず、読み取りだけを回します。
2か月目: 名簿と配置表との照合、基準の判定、毎週の一覧を足します。3か月目以降: 1枚10分が何分になったかを実測します。低い評価の学生に、評価票が届いた週のうちに教員が気づけるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Form Parser がキーと値のペア、チェックボックス、表を抽出し、日本語(ja)が手書きに対応する言語として示されていること(原文を取得して確認) | Google Cloud: Processor list | 2026-10-12 |
| 値の入っていないキーと値のペアを確実には読み取れないこと。表はセルが行や列にまたがらない単純なものが対象であること。チェックボックスのモデルがラジオボタンの読み取りに対応しないこと | Google Cloud: Form Parser | 2026-10-12 |
text が文字の source of truth で、ほかの要素は textAnchor で指すこと。formFields、表の cells、layout の信頼度。フォームのチェックボックスが filled_checkbox/unfilled_checkbox で、表の中では ✓ や ☐ の文字で返ること | Google Cloud: Handle the processing response | 2026-10-12 |
| Form Parser のオンラインの処理が15ページまで、ファイルが40MBまでであること | Google Cloud: Document AI quotas and limits | 2026-10-12 |
| 対応形式に PDF、TIFF、JPEG、PNG などが含まれること。スキャンは最低200dpiが望ましく300dpi以上が一般に最もよいこと | Google Cloud: Supported files | 2026-10-12 |
マルチリージョンが us と eu で、日本のリージョンが一覧に無いこと | Google Cloud: Regional and multi-regional support | 2026-10-12 |
output_config.format に json_schema を渡すこと。additionalProperties: false が必要なこと。列挙の値の大文字・小文字が変わりうること。max_tokens で途切れた出力がスキーマに合わないことがあること | Claude API: Structured outputs | 2026-10-12 |
| 時間主導型のトリガーが最短1分ごとから月1回まで設定でき、実行の時刻がわずかにずれることがあること。インストール型トリガーの一覧にドライブのフォルダへのファイルの追加を起点とするものが無いこと | Apps Script: Installable triggers | 2026-10-12 |
成績の評定、評価の低い学生への指導、実習先との守秘の取り決めは、教員と学校の規程に沿って決めてください。 本記事は各製品の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1257)についてのご相談はこちらから。
