留学生・海外からの出願で届く英文の推薦状を読み取り、推薦者の立場・評価の根拠・具体的なエピソードを審査用の要約票にそろえ、記載の薄いものを示す
留学生・海外からの出願で届く英文の推薦状を読み取り、推薦者の立場・評価の根拠・具体的なエピソードを出願者ごとの要約票にそろえます。記載の薄い推薦状は、その理由と一緒に審査担当に示します。
- 生成AI
- ChatGPT/Claude
- AIサービス
- AWS Textract/Azure AI/Google Document AI
- 連携・自動化
- Python
- 対象業界
- 教育
- 対象部門
- 総務
- 対象業務
- 書類作成/要約
- 主な課題
- 人手が足りない/判断に時間がかかる/書類作成に時間がかかる
- AIで行う処理
- 要約
- 主な効果
- 判断支援/品質標準化/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 出願システムから推薦状のPDFを出願者ごとに落とし、共有フォルダに置く
- 推薦状を開き、推薦者の名前・所属・肩書・出願者との関係を読む
- 本文を読み、評価の根拠と具体的なエピソードを探して、審査票に日本語で書き出す
- 推薦状が短い、具体性が無いと感じたものに、担当者の判断で「要確認」と書く
- 署名やレターヘッドが無いものを、出願者の一覧にメモする
- 審査票を研究科の審査担当に回す
- 自動出願システムから推薦状のPDFが毎晩書き出され、受付フォルダ(Amazon S3)に保存される
- 自動保存をきっかけに処理が動き、形式・ページ数・パスワードの有無を確かめる
- 自動OCRが全文、レイアウト(レターヘッド・段落)、署名の位置、質問への答え、信頼度を返す
- 自動生成AIが、推薦者の立場・関係・評価の根拠・エピソード・比較の記載を、原文の引用付きで要約票の項目にまとめる
- 自動プログラムが引用が推薦状に本当にあるかを確かめ、記載の薄さの印を規則で付ける
- 人入試課の担当者が、印の付いた推薦状を原文と見比べ、要約票を確定する
- 人審査担当の教員が、要約票と原文を読み、出願者を評価する
各工程の詳しい説明を読む
- 出願システムから推薦状のPDFを出願者ごとに落とし、共有フォルダに置く
- 推薦状を開き、推薦者の名前・所属・肩書・出願者との関係を読む
- 本文を読み、評価の根拠と具体的なエピソードを探して、審査票に日本語で書き出す
- 推薦状が短い、具体性が無いと感じたものに、担当者の判断で「要確認」と書く
- 署名やレターヘッドが無いものを、出願者の一覧にメモする
- 審査票を研究科の審査担当に回す
(a)書き出しに時間がかかる。 推薦状は1〜3ページの文章で、評価の根拠とエピソードがどこにあるかは読まないと分かりません。 3番目に時間の半分がかかります。
(b)書き出す人によって中身が変わる。 同じ推薦状でも、エピソードを2行で書く担当者と1行で書く担当者がいます。「要確認」を付ける基準は担当者の感覚で、 教員からは「どうしてこれが要確認なのか」と聞かれます。
(c)書き出しに評価が混ざる。 要点をまとめるうちに、「研究能力は高いと思われる」のような担当者の読みが書き出しに入ります。 教員はそれを推薦者の評価として読みます。
(d)締切の直後に集中する。 締切の後の1週間に推薦状がまとまって届き、審査の日程に間に合わせるために書き出しが雑になります。
- 【自動】 出願システムから推薦状のPDFが毎晩書き出され、受付フォルダ(Amazon S3)に保存される
- 【自動】 保存をきっかけに処理が動き、形式・ページ数・パスワードの有無を確かめる
- 【自動】 OCRが全文、レイアウト(レターヘッド・段落)、署名の位置、質問への答え、信頼度を返す
- 【自動】 生成AIが、推薦者の立場・関係・評価の根拠・エピソード・比較の記載を、原文の引用付きで要約票の項目にまとめる
- 【自動】 プログラムが引用が推薦状に本当にあるかを確かめ、記載の薄さの印を規則で付ける
- 【人】 入試課の担当者が、印の付いた推薦状を原文と見比べ、要約票を確定する
- 【人】 審査担当の教員が、要約票と原文を読み、出願者を評価する
6番目が、この設計の分かれ目です。 担当者は180通をすべて読み直すのではなく、引用が見つからなかった項目と、記載の薄さに印の付いた推薦状だけを原文で確かめます。 印の無い要約票は、引用と並べて流し見ます。
5番目をAIにさせないのも、意図してのことです。 引用の照合も薄さの印も、規則で決まる処理にしておけば、なぜ印が付いたかを教員に説明できます。
02今回想定するシステム構成
英文の推薦状(PDF。推薦者が出願システムに上げる) ▼【トリガー】受付フォルダ(Amazon S3)への毎晩の書き出し AWS Lambda ── 形式・ページ数・パスワードの確認 ▼ AWS Textract(StartDocumentAnalysis:LAYOUT/QUERIES/SIGNATURES) │ 全文、レターヘッドと段落、署名の位置、質問への答え、信頼度 ▼ Claude API ── 推薦状の要点を項目ごとに、原文の引用付きでまとめる │ ① 推薦者の立場と関係 ② 評価の根拠 ③ 具体的なエピソード │ ④ 比較の記載 ⑤ 懸念の記載 ⑥ 推薦の強さの表現(原文のまま) ▼ Python ── 引用の照合、記載の薄さの印、署名とレターヘッドの有無 ▼ 要約票(ok / thin_letter / relationship_unclear / quote_mismatch / unsigned / needs_human) ▼ 【入試課の担当者が印の付いた推薦状を確認】 └──▶ 審査担当の教員へ要約票と原文
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | AWS Textract(StartDocumentAnalysis/GetDocumentAnalysis) | Azure AI Document Intelligence、Google Document AI |
| 生成AI | Claude API(推薦状の要点の整理と、引用の書き出し) | OpenAI API |
| 差異計算 | Python(引用の照合、記載の薄さの印) | 出願システムの帳票の機能 |
| 連携 | AWS Lambda(保存と完了の通知を起点に処理を動かす) | Amazon EventBridge |
| 保管 | Amazon S3(推薦状、読み取り結果、要約票) | 学内のファイルサーバー |
出願システムと審査の共有フォルダは、新しく足すものではありません。 出願システムから推薦状を毎晩書き出す部分は、出願システムの書き出しの機能に応じた個別の実装が要ります。 最初の準備は、要約票の項目と、記載の薄さの規則を、研究科の審査担当と決めることです。
OCRに AWS Textract を選ぶのは、推薦状が英文だからです。 公式の上限の表で、対応言語は英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語とされ、日本語や中国語は読めません。 手書きの推薦状は英語なら読めます。手書きの認識は英語だけが対象です。
この題材で効くのは、レイアウト(LAYOUT)と署名(SIGNATURES)です。 レイアウトはページの上端の文字(LAYOUT_HEADER)と段落(LAYOUT_TEXT)を読む順に返すので、レターヘッドと本文と結びの署名欄を分けられます。 署名は位置と信頼度が返ります。署名があるかどうかは分かりますが、本物かどうかは分かりません。
03どうやって実装するのか
処理の起点を決める
起点は2つあります。毎晩の書き出しと、出願の締切の翌日です。
1つ目は、毎晩、出願システムから新しく上がった推薦状のPDFが受付フォルダ(Amazon S3)に書き出されることです。ファイル名に出願番号と推薦者の番号を付けます。保存の通知で AWS Lambda が動き、読み取りから要約票の下書きまでを済ませます。翌朝には、前日に届いた推薦状の要約票がそろっています。
2つ目は、出願の締切の翌日です。締切までに出願した出願者のうち、推薦状が規定の通数に届いていない出願者、要約票の確定が済んでいない推薦状を一覧にし、入試課の担当者に送ります。審査の日程から逆算して、確定の遅れを先に見つけます。
推薦者が推薦状を差し替えた場合も、同じ経路で入れます。 出願番号と推薦者の番号が同じものは、新しい版で要約票を作り直し、古い版の要約票を残します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 推薦状 | PDF。レターヘッド、推薦者の名前・所属・肩書、本文、署名、日付 | 受付フォルダ(Amazon S3) |
| 読み取り結果 | 全文、レイアウトの要素、署名の位置、質問への答え、それぞれの信頼度と、手書きか印字かの区別 | AWS Textract |
| 出願の情報 | 出願番号、出願者の氏名(推薦状の中の名前と照らすため)、志望の課程、推薦者として登録された名前と所属 | 出願システムの書き出し |
| 要約票の項目と規則 | 項目の一覧、記載の薄さの規則、研究科ごとに重視する項目 | 入試課と研究科で決める表 |
質を決めるのは、要約票の項目と規則の表です。 何を「具体的なエピソード」とするか、何通の推薦状のうち何通が薄ければ追加の資料を求めるか。ここが決まっていないと、AIがそろえた要約票も担当者ごとに違う読み方をされます。
出願の情報から生成AIに渡すのは、出願者の氏名と推薦者として登録された名前だけです。 推薦状が別の出願者のものでないか、登録された推薦者が書いたものかを照らすために使います。成績や他の書類は渡しません。 推薦状の要約が、他の書類の印象で引っ張られないためです。
データの取得方法を決める
読み取りは StartDocumentAnalysis にS3の場所と FeatureTypes を渡して始めます。完了は NotificationChannel に指定した Amazon SNS のトピックに通知され、状態が SUCCEEDED なら GetDocumentAnalysis で結果を取ります。
| 指定するもの | 値 | 理由 |
|---|---|---|
FeatureTypes | LAYOUT、QUERIES、SIGNATURES | レターヘッドと段落の区別、推薦者の情報、署名の有無 |
QueriesConfig | 質問の文と Alias の組 | 推薦者の情報を項目名で受け取る |
ClientRequestToken | ファイルのハッシュ | 同じ推薦状で二重に読み取りを始めない |
JobTag | 出願番号 | 完了の通知から出願を引く |
Alias | 質問の文 |
|---|---|
RECOMMENDER_NAME | Who wrote this letter? |
RECOMMENDER_TITLE | What is the title or position of the writer? |
INSTITUTION | What institution or organization is the writer affiliated with? |
RELATIONSHIP | How does the writer know the applicant? |
DURATION | How long has the writer known the applicant? |
LETTER_DATE | What is the date of the letter? |
質問の答えが見つからなければ空のまま返ります。 空の項目は、生成AIに全文から探させますが、全文にも無ければ空のまま残します。 推薦者との関係が書かれていないこと自体が、記載の薄さの材料になるためです。
結果は1回最大1,000ブロックで区切られ、NextToken が返る限り呼び直します。推薦状は1〜3ページですが、同期の処理はPDF1ページまでなので、そろえて非同期で読みます。
レターヘッドと署名は、レイアウトの要素から決めます。 1ページ目の LAYOUT_HEADER に所属の名前があればレターヘッドありとし、最後のページの結びの段落(Sincerely など)の近くに SIGNATURE のブロックがあれば署名ありとします。結びの段落から離れた位置の署名のブロックは数えず、位置で絞ります。 結果は letterhead と signature の有無と信頼度として要約票に載せます。
手書きの行は TextType が HANDWRITING で返ります。 手書きの推薦状は、行ごとの信頼度を見て、低い行が多いものは要約に回さず、担当者が原文で読む一覧に入れます。
AIへ渡す前に整形する
- 形式の確認 … JPEG、PNG、PDF、TIFF であることを確かめます。推薦者がWordの形式で上げたものは、出願システムの側でPDFにします
- パスワードの確認 … PDFはパスワードで保護されていてはいけないとされています。保護されたものは推薦者に解除したものを頼みます
- 言語の確認 … 英語以外の推薦状は、英訳が添えられていても原文と訳の対応を人が確かめる必要があるため、要約に回さず担当者の一覧に入れます
- 出願者の名前の確認 … 本文に出願者の氏名(綴りの揺れを含む)があるかを確かめます。無ければ取り違えを疑います
- 文の区切り … 読み取った本文を文ごとに番号を付けて分けます。引用の照合をこの番号で行います
AIに処理させる
させるのは、決まった項目ごとに推薦状の要点をまとめ、それぞれに根拠の文の番号と原文を付けることです。 出願者の評価と、薄いかどうかの判断はさせません。
| 見るもの | まとめ方 | 書かれていないときの扱い |
|---|---|---|
| 推薦者の立場 | 名前、肩書、所属を原文のまま | 空 |
| 出願者との関係 | どの立場で、どれくらいの期間、何を通じて知っているか | 空。relationship を not_stated に |
| 評価の根拠 | 推薦者が挙げた評価と、その根拠として書かれた事実を組で | 根拠の無い評価は、評価だけを記録し根拠を空に |
| 具体的なエピソード | いつ、何をして、どうなったかが書かれた出来事を1つずつ | 0件なら空の配列 |
| 比較の記載 | 「上位5%」のような他の学生との比較を原文のまま | 空 |
| 懸念の記載 | 弱みや留保として書かれたことを原文のまま | 空 |
評価と根拠を組で記録させるのは、推薦状の多くが評価だけを並べるためです。 「勤勉で、独創的で、協調性がある」と書かれていても、その根拠となる出来事が書かれているかどうかで、審査の材料としての重さが変わります。
| させないこと | 理由 |
|---|---|
| 出願者の評価・点数付け | 審査担当の教員が行う |
| 記載が薄いかどうかの判断 | 項目の数と有無から規則で印を付ける |
| 書かれていない評価の補い | 一般的な褒め言葉から具体的な能力を作らない |
| 出願者どうしの比較 | 推薦状は1通ずつ扱う |
| 推薦状が本物かの判断 | 必要なら入試課が推薦者に確かめる |
3行目がいちばん起きやすい失敗です。 「彼女は私の授業で最も優れた学生の1人でした」から、「学業成績が優秀」「研究への意欲が高い」と要約し、後者は推薦状のどこにも書かれていません。 引用の照合は、この失敗を見つけるためにあります。
指示内容を固定する
あなたは大学の入試課で、留学生の出願に付いた英文の推薦状を、
審査担当の教員のために整理する担当です。
OCRの読み取り結果だけを使ってください。推測で補わないでください。
【まとめる項目】
recommender(name、title、institution)、
relationship(capacity、duration、context)、
evaluations(評価と、その根拠として書かれた事実の組)、
episodes(いつ、何をして、どうなったかが書かれた出来事)、
comparisons(他の学生との比較の記載)、
concerns(弱みや留保の記載)、
strength_phrases(推薦の強さを表す言い回しを原文のまま)
【厳守事項】
- すべての項目に、根拠にした文の番号(sentence_ids)と、
その文の原文(quote)を付けてください。原文は一字も変えずに
写してください。根拠の文が無い項目は書かないでください。
- 推薦状に書かれていない評価や能力を書き足さないでください。
一般的な褒め言葉を、具体的な能力に言い換えないでください。
- 評価に根拠の事実が書かれていなければ、根拠を空にしてください。
他の文から根拠を探して当てはめないでください。
- エピソードは、出来事として書かれているものだけにしてください。
「いつも熱心だった」のような性質の記述はエピソードにしないでください。
- 要約の日本語は、推薦者の言葉の強さを変えずに訳してください。
強めたり弱めたりしないでください。
- 出願者を評価しないでください。推薦状の強さ、合否の見込み、
他の出願者との比較を書かないでください。
- 推薦状でない書類と判断した場合は、要約せず document_type に
種類を書いてください。
【読み取り結果(文ごとに番号付き)】{numbered_sentences}
【出願者の氏名】{applicant_name}
【登録された推薦者】{registered_recommender}
「言葉の強さを変えずに訳す」を明記しないと、強めます。 英文の推薦状の控えめな言い方は、日本語の要約にすると平板になるか、逆に褒め言葉が重なって強くなります。strength_phrases に原文の言い回しを残すのは、教員が原文の強さで読めるようにするためです。
出力形式を固定する
Claude API の構造化出力(output_config.format に json_schema を指定)で、次の形のJSONを受け取ります。
{
"file": "",
"document_type": "recommendation_letter",
"application_id": "GA-2026-10-0417",
"recommender": { "name": "", "title": "", "institution": "", "sentence_ids": [1, 2] },
"relationship": {
"capacity": "研究室の指導教員",
"duration": "2年",
"context": "卒業研究の指導",
"sentence_ids": [4],
"quote": ""
},
"evaluations": [
{ "claim_ja": "", "evidence_ja": "", "sentence_ids": [7, 8], "quote": "" }
],
"episodes": [
{ "summary_ja": "", "sentence_ids": [9], "quote": "" }
],
"comparisons": [],
"concerns": [],
"strength_phrases": ["without reservation"]
}
1つ目の理由は、引用の照合をプログラムで行えることです。 Python が sentence_ids の文と quote を照らし、一致しない項目は要約票に出さず、quote_mismatch の印を付けます。
2つ目は、記載の薄さを規則で決められることです。
| 印 | 付ける条件 |
|---|---|
ok | 関係が書かれ、根拠のある評価が1つ以上、エピソードが1つ以上あり、引用がすべて一致し、署名がある |
thin_letter | エピソードが0件、または根拠のある評価が0件 |
relationship_unclear | 出願者との関係か期間が書かれていない |
quote_mismatch | 引用が推薦状の文と一致しない項目がある |
unsigned | 署名が検出されない、またはレターヘッドが無い |
needs_human | 出願者の名前が本文に無い、推薦者が登録と違う、手書きで信頼度の低い行が多い |
thin_letter は、出願者に不利な印として扱わない決まりにします。 推薦状の書き方は国や分野の慣行で大きく違い、短く形式的な推薦状が普通の地域もあります。 印は「追加の資料を求めるかを検討する」材料で、評価を下げる理由ではありません。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 受付フォルダ(Amazon S3) | 毎晩の書き出しと保存の通知 | 推薦状の保存を検知して AWS Lambda を動かす |
| AWS Textract | API呼び出し(非同期) | 読み取りを始め、完了の通知で結果を取る |
| Claude API | API呼び出し | 項目ごとの要点の整理と引用 |
| 出願システム | 出願の情報の書き出しの読み取り | 出願者の氏名と登録された推薦者を引く |
| 審査の共有フォルダ | 確定した要約票の書き込み | 担当者が確定したものだけを置く |
出願システムへの書き込みは行いません。 要約票は審査の共有フォルダに置くだけで、出願の状態や合否に関わるデータには触れません。
要約票は、出願者ごとのフォルダに推薦状の原文と並べて置きます。教員が要約票の引用を読んで気になったら、同じフォルダの原文をすぐに開けるようにするためです。 要約票には文の番号とページを載せ、原文のどこを読めばよいかが分かるようにします。
人が確認する
入試課の担当者が開くのは、ok 以外の印が付いた推薦状です。 ok の要約票は、引用と並べて流し見ます。
needs_humanを先に見る … 出願者の名前が無い、推薦者が登録と違うものは、取り違えか、推薦者の交代かを確かめてから先に進みますquote_mismatchの項目を原文で確かめる … 引用が一致しなかった項目は、原文を読んで直すか削りますthin_letterとrelationship_unclearに理由を書き添える … 印の理由をそのまま要約票に載せ、担当者の感想は書きません- 要約票を確定して審査に回す … 確定した人の名前を残します
3番目の決まりを崩さないでください。 担当者が「薄い」の理由に自分の読みを書き足すと、第3章の(c)がそのまま戻ってきます。
例外に対処する
| 起きること | 対応 |
|---|---|
| パスワードで保護されたPDF | 読めない。推薦者に解除したものを頼む |
| 英語以外の推薦状 | 要約に回さず、担当者が原文と訳を確かめる |
| 出願者の名前が本文に無い | needs_human。別の出願者の推薦状が上がっていないかを確かめる |
| 推薦者が登録と違う | needs_human。出願者か推薦者に確かめる |
| 手書きで読み取りの信頼度が低い | 要約に回さず、担当者が原文で読む |
| 推薦状が差し替えられる | 新しい版で作り直し、古い版の要約票も残す |
| 1つのPDFに複数の推薦状が綴じられている | 推薦者ごとに分けられなければ needs_human |
| 推薦状ではなく推薦者の評価フォームだけが上がる | document_type を見て、要約せず担当者へ |
ジョブが FAILED または PARTIAL_SUCCESS | StatusMessage と Warnings のページ番号を記録し、そのページを人へ |
上から3行目が、見落とすと取り返しのつかない失敗です。 別の出願者の推薦状で要約票を作ると、教員は違う人の評価を読んで審査します。
記録を残す
- 元の推薦状と、受け取った日時、出願番号、推薦者の番号
- AWS Textract が返したJSONの全文と、文ごとの番号の対応
- Claude API が返したJSON
- 引用の照合の結果と、そのとき使った要約票の項目と薄さの規則の版
- 担当者が要約票を直した記録 … どの項目を、どう変えたか、誰が確定したか
- 推薦者への問い合わせと、差し替えの記録
保存の期間と閲覧できる人を、入試の書類の扱いの決まりに合わせます。 推薦状と要約票は審査の終了後も問い合わせに備えて残しますが、残す期間を過ぎたら、読み取り結果と要約票もあわせて消します。
04実装レベルの3段階
本記事の想定は半自動化です。 読み取りと要約票の下書きが自動になり、担当者は印の付いた推薦状を確かめて確定します。1通15分が6分になるのはこの段階です。 本格構成で足すのは、出願者ごとのまとめです。 ただし、複数の推薦状を並べても出願者を評価する文は作りません。 段階を飛ばさず、半自動化の間に薄さの規則を教員と見直しておきます。
05工数削減シミュレーション
導入後 180件 × 6分 ÷ 60 = 18 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 英語で学位を取れる課程や大学院を持ち、留学生・海外からの出願を年に複数回の入学時期に分けて受け付けている大学・大学院。出願1件に英文の推薦状が2〜3通付き、入試課の職員が審査担当の教員のために推薦状の要点を手で書き出している場合。推薦状の読み方が審査担当ごとに違い、記載の薄い推薦状を誰がどう扱うかが決まっていない場合。
- 推薦状が日本語・中国語・韓国語などで届く出願が中心の場合(この構成のOCRは英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語しか読めず、質問(Queries)は英語の文書だけが対象です)。出願が年に1回の入試の時期に集中し、毎月の業務にならない場合。推薦状を審査の対象にしていない課程。なお、出願者を評価すること、合否を決めること、推薦状が本物かを確かめることは、この構成では代替できません。
07最小構成で試す方法
- 前の入学時期の推薦状から20通を選ぶ(エピソードの多いもの、短く形式的なもの、手書きのもの、比較の記載があるものを必ず入れる)
- 出願者と推薦者の氏名を伏せたうえで、学内で利用が認められた生成AIの画面に1通ずつ渡し、「この推薦状について、推薦者の立場と出願者との関係、評価とその根拠、具体的なエピソードを、それぞれ根拠にした文を原文のまま引用して表にしてください。書かれていない評価を書き足さないでください。出願者を評価しないでください」と指示する
- 出てきた表を、当時の担当者の書き出しと見比べる
- 表の引用が、推薦状に一字一句そのまま存在するかを1つずつ確かめる
20通は必ずやってください。 仕組みを組む前に、書かれていない評価を書き足さないか、引用を言い換えないかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 項目ごとに原文どおりの引用が付いた | OCRのAPIと照合の処理に進む |
| 書かれていない能力を要約に足した | 指示で禁じ、引用の照合で落とす。直るまで先に進まない |
| 引用を少し言い換えた | 原文を変えない指示を足す。構成は有効 |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 書かれていない評価が要約に混ざる | 引用を必須にし、照合できない項目は出さない |
| 引用が原文と少しずつ違う | 文の番号で照合し、原文を変えない指示を明記する |
| 控えめな表現が日本語で強くなる | strength_phrases に原文の言い回しを残す |
| 短い推薦状に不利な印が付く | thin_letter は評価を下げる理由にしない決まりを先に作る |
| 別の出願者の推薦状が混ざる | 本文の出願者の名前を確かめ、無ければ人へ |
| 手書きの推薦状を誤って要約する | 信頼度の低い行が多ければ原文で読む |
| 英訳付きの推薦状を訳だけで要約する | 英語以外の原文があるものは人へ |
| 担当者が印の理由に感想を書き足す | 印の理由だけを載せる決まりにする |
| 本文の途中の書き込みを署名として数える | 結びの段落の近くの署名だけを数える |
| 差し替え前の要約票が審査に回る | 版を出願番号と推薦者の番号で管理し、最新だけを置く |
上の2行が、この構成の失敗のほとんどです。 どちらも、推薦者が書いていないことを要約票に載せてしまう失敗です。根拠の文を原文のまま写させ、プログラムで照らす設計で守ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 出願者の氏名と学業・研究に関する評価、推薦者の氏名と所属、推薦者が書いた出願者の人柄や家庭の事情に関する記載です。出願者本人が見られない前提で書かれた、非常に機微な個人情報です。
- 外部へ渡す範囲を、整理に必要なものに限る … 生成AIに渡すのは推薦状の読み取り結果と、出願者の氏名、登録された推薦者の名前だけです。成績、他の書類、出願者の国籍や年齢は渡しません
- 出願者を評価させない … 点数・順位・合否の見込みを出さない設計にし、要約票にもその欄を作りません
- 薄さの印を不利な扱いに使わない … 推薦状の書き方は国と分野の慣行で違います。印は追加の資料を求めるかの材料で、評価の材料ではないことを審査担当に伝えておきます
- 出願者への説明を用意する … 出願書類の処理に外部のサービスを使うことを、募集要項や個人情報の取扱いの案内で示しておきます。 未成年の出願者がいる課程では、扱いを大学の個人情報の担当と決めます
- 見られる人を限る … 推薦状と要約票を開けるのは入試課の担当者と、その出願を審査する教員だけにします
誤りが起きた場合のリスクは、推薦者が書いていない評価で審査されることと、別の人の推薦状で審査されることの2つです。 前者は引用の無い要約から、後者は取り違えから起きるので、引用の照合と名前の確認の2つを外さないでください。
10まず何から始めるか
1週目:要約票の項目と薄さの規則を決める
研究科の審査担当の教員と、要約票の項目、エピソードとして数えるものの基準、薄さの印の規則を決めます。あわせて、thin_letter を評価を下げる理由にしないことを確かめます。
2週目:20通で試す
前の入学時期の推薦状から20通を選び、氏名を伏せて生成AIの画面で表にさせます。引用が原文と一字一句一致するか、書かれていない評価を足さないかを最優先で見ます。
3週目:個人情報の扱いを決める
外部のサービスに渡す範囲、残す期間、閲覧できる人を、大学の個人情報の担当と決め、募集要項の案内の文言を見直します。
4週目:受付フォルダから要約票までをつなぐ
S3、Lambda、Textract、Claude API、Python の照合をつなぎ、要約票の下書きを作るところまで作ります。この時点では、大学院の研究科1つの推薦状だけを対象にします。
2か月目: 対象を英語の課程のすべてに広げ、quote_mismatch と thin_letter の件数を毎週数えて、指示と規則を直します。3か月目以降: 出願者ごとのまとめを足し、1通15分が何分になったかを実測します。教員から「この要約はどこに書いてあるのか」と聞かれなくなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 対応する形式がJPEG、PNG、PDF、TIFFであること。同期はPDF1ページ・10MB、非同期はPDFとTIFFで500MB・3,000ページであること。PDFはパスワードで保護できないこと。対応言語が英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語で、質問の検出は英語の文書だけであること。手書きの認識は英語のみであること | AWS: Set Quotas in Amazon Textract | 2026-10-08 |
StartDocumentAnalysis の FeatureTypes(TABLES/FORMS/QUERIES/SIGNATURES/LAYOUT)、QueriesConfig、ClientRequestToken、JobTag、NotificationChannel で Amazon SNS に完了を通知すること | AWS: StartDocumentAnalysis | 2026-10-08 |
GetDocumentAnalysis の JobStatus(SUCCEEDED/FAILED/PARTIAL_SUCCESS ほか)、MaxResults(最大1,000)と NextToken、StatusMessage、Warnings | AWS: GetDocumentAnalysis | 2026-10-08 |
SIGNATURE ブロックが署名の位置と信頼度を返すこと。TextType が HANDWRITING/PRINTED であること。LAYOUT_HEADER・LAYOUT_TEXT などのレイアウトの種類 | AWS: Block | 2026-10-08 |
| レイアウトがページ上端の文字、本文などの要素を読む順に並べて返すこと | AWS: Layout Response Objects | 2026-10-08 |
| 質問の応答が QUERY と QUERY_RESULT のブロックで返り、別名(Alias)と信頼度を持つこと。答えが見つからなければ空のまま返ること | AWS: Queries | 2026-10-08 |
構造化出力を output_config.format に json_schema を指定して受け取れること | Claude Docs: Structured outputs | 2026-10-08 |
出願者の評価と合否は、審査担当の教員が判断してください。 本記事は公開仕様で確認できた範囲だけを扱っています。推薦状と要約票の個人情報の扱いは、大学の規程と個人情報の担当の判断に従ってください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0869)についてのご相談はこちらから。
