鉄道会社の駅で手書きされる遺失物の受付票を読み取り、品名・特徴・拾得場所・日時を遺失物の台帳に起こして、問い合わせとの照合に使う
駅の係員が手書きする遺失物の受付票を読み取り、品名・色・特徴・拾得の日時と場所を遺失物の台帳の項目に起こします。打ち直しを待たずに台帳へ載せ、お客さまからの問い合わせと照合できる状態にします。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- AIサービス
- AWS Textract/Azure AI/Google Document AI
- 対象業界
- その他/宿泊/小売
- 対象部門
- カスタマーサポート/総務
- 対象業務
- データ入力・転記/台帳・マスタ管理
- 主な課題
- 入力作業が多い/問い合わせが多い/情報が見つからない
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 対応スピード向上/工数削減/検索時間短縮
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 駅の係員が拾得物を受け付け、受付票に品名・色・特徴・拾得の日時と場所・拾得者の区分を手書きする
- 物に受付票の2枚目を付けて駅の保管庫に入れる
- 1日2回、駅で受付票の1枚目をまとめてスキャンし、遺失物センターの共有フォルダに送る
- センターの担当者が画像を1枚ずつ開き、遺失物管理システムに打ち込む
- 品名の分類と色を選び、特徴の欄に自由記述を写す。読めない字は駅に電話で照会する
- 警察署へ提出するか届け出るかの区分と、その期限を台帳に付ける
- 問い合わせが来たら、品名・色・なくした日・乗った区間で台帳を検索し、候補を案内する
- 人駅の係員が受付票を手書きし、受け付けたその場で駅の複合機でスキャンする
- 自動画像の保存をきっかけに処理が動き、受付票の書式(駅の版)と画像の状態を確かめる
- 自動OCRが受付票の欄・チェック・特徴の自由記述を、信頼度つきで返す
- 自動特徴の自由記述を、品名・色・ブランド・中身・照合用の特徴に分ける
- 自動駅名・列車番号・品名の分類をマスタに当て、届出の区分と期限の目安を付ける
- 自動信頼度と照合の結果から、`ready` / `check` / `police_first` の印を付けて台帳の下書きにする
- 人センターの担当者が `check` と `police_first` の下書きだけを開き、画像と見比べて直す
- 人担当者が確定すると、台帳に登録される。`ready` は一覧で流し見て確定する
- 自動問い合わせの内容(品名・色・日時・区間)で台帳を引き、照合の候補を出す
- 人担当者が候補を見て、お客さまに特徴を尋ね、保管している駅を案内する
各工程の詳しい説明を読む
- 駅の係員が拾得物を受け付け、受付票に品名・色・特徴・拾得の日時と場所・拾得者の区分を手書きする
- 物に受付票の2枚目を付けて駅の保管庫に入れる
- 1日2回、駅で受付票の1枚目をまとめてスキャンし、遺失物センターの共有フォルダに送る
- センターの担当者が画像を1枚ずつ開き、遺失物管理システムに打ち込む
- 品名の分類と色を選び、特徴の欄に自由記述を写す。読めない字は駅に電話で照会する
- 警察署へ提出するか届け出るかの区分と、その期限を台帳に付ける
- 問い合わせが来たら、品名・色・なくした日・乗った区間で台帳を検索し、候補を案内する
(a)台帳に載るまでに半日かかる。 受付票が駅を出るのは1日2回で、センターの入力はその後です。なくした人がいちばん早く問い合わせる時間帯に、物は駅の保管庫にあっても台帳にはありません。 担当者は「まだ届いていないかもしれません」と答え、同じ人から夕方にもう一度電話が来ます。
(b)特徴の書き方がばらばらで、検索で当たらない。 「黒の長財布」を、ある係員は「財布(黒・長)」、別の係員は「ロングウォレット 黒」と書きます。センターの担当者が写すときも、そのまま写す人と言い換える人がいます。台帳の文字列が書いた人に左右されるので、検索の語を変えて何度も引き直すことになります。
(c)読めない字の照会が、駅の手を止める。 走り書きを読めないとき、センターは駅に電話をかけ、駅は書いた係員を探します。照会が来るのは、駅が忙しい朝夕です。
(d)期限の管理が、打ち込んだ後に始まる。 遺失物法では、施設占有者は交付を受けた物件を遺失者に返還するか警察署長に提出し、一定の事業者は提出に代えて2週間以内に届け出ることができるとされています。台帳に載るのが遅れるほど、期限までの残り日数が減ります。
- 【人】 駅の係員が受付票を手書きし、受け付けたその場で駅の複合機でスキャンする
- 【自動】 画像の保存をきっかけに処理が動き、受付票の書式(駅の版)と画像の状態を確かめる
- 【自動】 OCRが受付票の欄・チェック・特徴の自由記述を、信頼度つきで返す
- 【自動】 特徴の自由記述を、品名・色・ブランド・中身・照合用の特徴に分ける
- 【自動】 駅名・列車番号・品名の分類をマスタに当て、届出の区分と期限の目安を付ける
- 【自動】 信頼度と照合の結果から、
ready/check/police_firstの印を付けて台帳の下書きにする - 【人】 センターの担当者が
checkとpolice_firstの下書きだけを開き、画像と見比べて直す - 【人】 担当者が確定すると、台帳に登録される。
readyは一覧で流し見て確定する - 【自動】 問い合わせの内容(品名・色・日時・区間)で台帳を引き、照合の候補を出す
- 【人】 担当者が候補を見て、お客さまに特徴を尋ね、保管している駅を案内する
1番目で、スキャンの時刻を受け付けた時刻に寄せます。 まとめてスキャンをやめるだけで、台帳に載るまでの時間が縮みます。
7番目が、この設計の分かれ目です。 担当者が開くのは全件ではありません。信頼度の低い欄があるもの、マスタに当たらないもの、警察署へすぐ出すべき品目の印が付いたものだけです。全件を開く設計にすると、1枚2分には収まりません。
02今回想定するシステム構成
受付票(手書き。品名・色はチェック、特徴は自由記述) │ 駅の複合機でスキャン(受け付けたその場で) ▼【トリガー】Azure Blob Storage への画像の保存 Azure Functions(取り込みの処理) ├──▶ 画像の寸法・解像度の確認、駅の版の判定 ▼ Azure AI Document Intelligence(カスタム テンプレート モデル) │ 欄の値・チェックの状態・自由記述の文字と、それぞれの信頼度 ▼ Azure OpenAI(構造化出力)── 特徴の自由記述を項目に分ける ▼ Azure Functions ── 駅・列車番号・品名分類のマスタ照合、届出の区分と期限の目安 ▼ 【センターの担当者が check と police_first だけ確かめる】 ▼ 遺失物管理システム(台帳)← 問い合わせの照合
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Azure AI Document Intelligence(カスタム テンプレート モデル) | Google Document AI(Form Parser)、AWS Textract(英文の書類に限る。日本語の受付票には使えない) |
| 生成AI | Azure OpenAI(Microsoft Foundry)(特徴の自由記述の項目分け。構造化出力) | Claude API、Gemini API |
| 連携 | Azure Functions(保存を起点に読み取りを呼び、マスタと照合して下書きを作る) | Azure Logic Apps |
| 保管 | Azure Blob Storage(受付票の画像と読み取りの結果) | 社内のファイルサーバー |
| 台帳 | 遺失物管理システム(いま使っているもの) | ─ |
遺失物管理システムは、新しく足すものではありません。 この構成は台帳の下書きを作り、担当者が確定したものを、システムが受け付ける取り込みの形で渡します。最初の準備は、受付票の書式を駅の版ごとに集めることと、品名の分類と色の一覧をそろえることです。
土台は Document Intelligence のカスタム テンプレート モデルです。 公式の説明では、ラベルを付けたキーと値、選択マーク、表、領域、署名を文書から取り出すモデルで、決まった見た目の書式から値を取るのに向くとされています。受付票の品名と色はチェック欄なので、選択マークとして読めます。言語の一覧では、カスタム テンプレート モデルの手書きの文字に日本語(ja)が含まれています。
書式が変わると精度が落ちる点に注意します。 公式の説明では、テンプレート モデルは決まった見た目に頼るため、書式が変わると精度が下がり、その場合は書式ごとに少なくとも5枚の見本で別々のモデルを学習し、1つのエンドポイントに組み合わせる(compose)よう案内されています。駅によって受付票の版が古いまま残っているなら、版ごとにモデルを作ります。
生成AIは、自由記述を項目に分けるところだけに使います。 Azure OpenAI の構造化出力は、渡した JSON Schema に沿って応答を返す機能で、Chat Completions では response_format、Responses では text.format にスキーマを書きます。台帳の項目の形を、スキーマで固定できます。
03どうやって実装するのか
処理の起点を決める
駅の複合機から Azure Blob Storage の受付フォルダに画像が保存されたことを起点にします。 保存のたびに1枚ずつ処理を動かし、1日2回のまとめた処理にはしません。問い合わせは、なくした直後の数時間に集中するからです。 まとめて処理すると、その数時間に台帳が空のままになります。
駅ごとに受付フォルダを分け、ファイル名に駅コードとスキャンの時刻を入れます。駅コードは、書式の版を選ぶ手がかりと、保管している駅の初期値の両方に使います。 受付票に駅名が書かれていなくても、どの駅から来たかは分かります。
処理が終わった画像は処理済みのフォルダへ移します。移すのは、下書きの作成まで成功したときだけです。 受付フォルダに残っている枚数が、そのまま未処理の枚数になります。
夜間は終電後にまとめて届く車両基地の受付票があります。夜間に届いたものも同じ流れで処理し、朝の始業時には check の一覧ができている状態にします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 受付票の画像 | 品名と色のチェック、拾得の日時、拾得の場所(駅・ホーム・列車番号・号車)、特徴の自由記述、拾得者の区分、保管場所、受付者 | 受付フォルダ |
| 読み取り結果 | 欄の値、選択マークの状態、自由記述の文字、欄ごと・文字ごと・選択マークごとの信頼度 | Document Intelligence |
| 駅と列車のマスタ | 駅コード、駅名と略称、ホームの番号、列車番号と運行区間 | 自社の運行のデータ |
| 品名の分類と色の一覧 | 台帳で使う品名の分類コード、色の名前と言い換え、ブランド名の表記の一覧 | 遺失物センターで用意する一覧 |
| 届出の区分の表 | 品名の分類ごとに、すぐ警察署へ出すもの・届け出で足りるもの・高額で提出が要るものの区分 | 遺失物センターと警察署で取り決めた表 |
質を決めるのは、下の2つです。 品名の分類と色の一覧が無ければ、生成AIは「黒」「ブラック」「濃紺っぽい黒」を別々の色として返し、検索で当たらない状態がそのまま台帳に残ります。 届出の区分の表が無ければ、期限の目安を付けられません。
拾得者の氏名と連絡先は、入力データに入れません。 受付票には、お客さまが届けた場合に権利を放棄するかどうかと、連絡先を書く欄があります。台帳の照合には要らない情報なので、読み取りの段階で領域ごと外し、生成AIへは渡しません。
データの取得方法を決める
読み取りは、取り込みの処理からカスタム テンプレート モデルを呼ぶだけです。モデルは、駅の版ごとに学習して組み合わせたものを1つのエンドポイントとして呼びます。 公式の説明では、テンプレート モデルの学習データは最大500ページ・50MBまでです。版ごとに数十枚あれば足ります。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 欄の値(日時・駅・列車番号・号車・保管場所) | ラベルを付けたフィールド | 台帳の項目にそのまま入れる |
| 品名・色のチェック | 選択マークのフィールド | 品名の分類と色の初期値 |
| 特徴の自由記述 | 領域として切り出した文字 | 生成AIで項目に分ける |
| 欄ごと・文字ごとの信頼度 | フィールドと単語の信頼度 | check にするかの判定 |
| 選択マークの信頼度 | ページの選択マークの配列 | チェックの読み違いの検出 |
| 文書の種類の信頼度 | 組み合わせたモデルの判定 | 版の取り違えの検出 |
信頼度は、欄の値だけでなく文字と選択マークの側も見ます。 公式の説明では、カスタムモデルの欄の信頼度は値の位置の確からしさを表すもので、文字の読み取りの信頼度や選択マークの信頼度と合わせて見るよう案内されています。位置は合っていても、走り書きで文字が読めていない欄があるからです。
文書の種類の信頼度が低いときは、版が違うことを疑います。 公式の説明では、文書の種類の信頼度が低いのは、学習した書式と構造が違うことを示すとされています。駅が古い受付票を使い始めたときに、最初に下がるのはこの値です。
AIへ渡す前に整形する
- 画像の寸法の確認 … 公式の入力要件では、画像は50×50ピクセルから10,000×10,000ピクセルの間である必要があります。範囲外はスキャンし直します
- 文字の大きさの確認 … 抽出する文字の最小の高さは、1024×768の画像で12ピクセル(150dpiで約8ポイント)とされています。複合機の既定の解像度が低い駅は、設定を見直します
- 書式の版の判定 … 駅コードから版の候補を選び、組み合わせたモデルの判定と食い違えば
checkにします - 拾得者の欄を外す … 拾得者の氏名・連絡先の領域は、読み取りの結果から削ってから後段へ渡します
- 複写の2枚目の混入の検知 … 2枚目は文字が薄く、同じ受付番号が二度届きます。受付番号の重複で検知します
- 受付番号の形式の確認 … 駅コード+連番の形になっているかを正規表現で確かめます
- 日時の正規化 … 「10/26 7:4?」のような読めない桁は埋めず、そのまま
checkにします
6番目を生成AI側の制約で済ませないでください。 Azure OpenAI の構造化出力は、文字列の pattern や format に対応していないとされています。形式の確認は、取り込みの処理の側で行います。
7番目の「埋めない」は、問い合わせの照合に直結します。 拾得の時刻を推測で埋めると、なくした時刻と合わない物が候補から外れます。
AIに処理させる
させるのは、特徴の自由記述を台帳の項目に分けることだけです。 欄の値とチェックは OCR が読んだものを使い、生成AIは触りません。
| 分ける項目 | 中身 | 決まらないときの扱い |
|---|---|---|
| 品名 | 品名の分類の一覧から1つ。チェックと食い違えば両方を残す | 一覧に無ければ other と原文 |
| 色 | 色の一覧から最大2つ | 書かれていなければ空 |
| ブランド・製品名 | 書かれている表記をそのまま | 「不明」と書かれていれば空 |
| 照合用の特徴 | 形・大きさ・素材・付いている物など、外から見て分かること | 書かれていなければ空 |
| 確認用の特徴 | 中身(現金・カード類・書類)、名前の書かれた物、番号 | 書かれていなければ空 |
| 要注意の品目 | 身分証・カード類・刃物など、届出の区分の表で印を付ける品目の語 | 該当しなければ空 |
照合用と確認用を分けるのが、この表の要点です。 問い合わせの画面に出すのは照合用の特徴までにします。確認用の特徴は、担当者がお客さまに中身を尋ね、答えと見比べるときにだけ開きます。
| させないこと | 理由 |
|---|---|
| 遺失者の推定 | 中身に名前があっても、本人かどうかは窓口で確かめる |
| 返還してよいかの判断 | 遺失物法に沿って係員が決める |
| 警察署への提出・届出の要否の決定 | 区分の表で目安を付け、決めるのは人 |
| 金額の推定 | 「現金あり」と書かれていても、額は書かれた数字だけを写す |
| 読めない字の補完 | 品名やブランドをそれらしい語に直さない |
最後の行がいちばん起きやすい失敗です。 走り書きの「コーチ」を、生成AIはよく知られたブランド名に寄せて書き直します。原文が読めていないなら、読めていないと記録させます。
指示内容を固定する
あなたは鉄道会社の遺失物センターで、駅の受付票を台帳に起こす担当です。
受付票の「特徴」の欄に手書きされた文字を、台帳の項目に分けてください。
渡すのは OCR が読み取った文字と、チェック欄の読み取り結果だけです。
【分ける項目】
- item_category …… 品名の分類の一覧から1つ選ぶ。当てはまらなければ other
- colors ………… 色の一覧から最大2つ。一覧の言い換え表に沿って直す
- brand ………… 書かれている表記をそのまま写す
- match_features …… 外から見て分かる特徴(形・大きさ・素材・付属品)
- verify_features …… 中身・名前・番号など、本人の確認に使う特徴
- caution_terms …… 届出の区分の表にある語が書かれていれば、その語
【厳守事項】
- 書かれていないことを書かないでください。推測で補わないでください。
- 読めない文字は「?」のまま残し、unreadable_parts に原文を写してください。
それらしい語やブランド名に直さないでください。
- チェック欄の品名と、特徴の欄の品名が食い違うときは、
どちらかに決めず、category_conflict を true にしてください。
- 中身・現金の額・カードの種類・人の名前は verify_features にだけ入れ、
match_features には入れないでください。
- 現金の額は、書かれた数字をそのまま写してください。計算や推定をしないでください。
- 遺失者が誰か、返還してよいか、警察署に出すべきかは書かないでください。
- 拾得者の氏名・連絡先が文字に含まれていても、どの項目にも入れないでください。
- evidence には、各項目の根拠にした原文の部分をそのまま写してください。
【品名の分類の一覧】{category_list}
【色の一覧と言い換え】{color_list}
【届出の区分の表にある語】{caution_terms}
【チェック欄の読み取り結果】{checkbox_result}
【特徴の欄の文字】{feature_text}
「読めない文字を直さない」を明記しないと、ブランド名や品名を整えて返します。 台帳の見た目はきれいになりますが、原文と違う語で検索されるので、照合で当たらなくなります。
拾得者の氏名を「どの項目にも入れない」と書くのは、前処理で外し損ねたときの備えです。 自由記述の欄に「〇〇様より」と書く係員がいるからです。
出力形式を固定する
次の形のJSONで受け取ります。 Azure OpenAI の構造化出力では、すべての項目を required にし、オブジェクトには additionalProperties: false を付けます。値が無い項目は空文字か空の配列で返させます。
{
"receipt_no": "",
"item_category": "",
"category_conflict": false,
"colors": [],
"brand": "",
"match_features": "",
"verify_features": "",
"caution_terms": [],
"unreadable_parts": [],
"evidence": [
{ "field": "", "source_text": "" }
]
}
取り込みの処理は、この JSON に OCR の欄の値と信頼度を足して、台帳の下書きを作ります。
{
"receipt_no": "S23-1026-0412",
"found_at": "2026-10-26T07:40",
"station_code": "S23",
"place": { "platform": "3", "train_no": "1234M", "car": "5" },
"item_category": "wallet",
"colors": ["black"],
"match_features": "長財布、角にすれ",
"verify_features": "現金あり、ICカード1枚、診察券1枚",
"report_class": "notify",
"report_due": "2026-11-09",
"low_confidence_fields": [],
"status": "ready | check | police_first"
}
1つ目の理由は、AIの出力と OCR の値を別の層に置けることです。 生成AIが触るのは特徴の欄だけで、日時や列車番号は OCR の値をそのまま使います。どちらで間違えたかが、後から分かります。
2つ目は、status を機械の規則で決められることです。
| 条件 | status |
|---|---|
信頼度の低い欄が無く、マスタに当たり、unreadable_parts と category_conflict が無い | ready |
| 信頼度の低い欄、マスタに当たらない駅・列車、読めない部分、品名の食い違いのいずれか | check |
caution_terms が届出の区分の表で「すぐ警察署へ」に当たる | police_first |
3つ目は、report_due を台帳に持てることです。 期限の目安は、届出の区分の表と拾得の日付から取り込みの処理が計算し、生成AIには計算させません。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 受付フォルダ | Azure Blob Storage への保存を起点に Azure Functions を動かす | 画像の受け取り |
| Azure AI Document Intelligence | API呼び出し | 欄・チェック・自由記述と信頼度 |
| Azure OpenAI | API呼び出し(構造化出力) | 特徴の自由記述の項目分け |
| 駅と列車のマスタ | 読み取り | 駅コード・列車番号の照合 |
| 遺失物管理システム | 取り込みの形式で渡す | 担当者が確定した下書きだけを登録 |
| 確認の画面 | 下書きの一覧 | check と police_first を担当者に出す |
遺失物管理システムへは、担当者の確定を経てから渡します。 返還や処分の記録は、いまと同じくシステムの画面で担当者が付けます。この構成からは書き込みません。
問い合わせの照合は、台帳の検索の側で行います。 品名の分類と色が一覧の語にそろっているので、検索の語を変えて引き直す回数が減ります。照合の画面に出すのは照合用の特徴までで、確認用の特徴は担当者の操作で開くようにします。
人が確認する
担当者が開くのは check と police_first だけです。 ready は一覧で受付番号・品名・駅を流し見て確定します。
police_firstを先に見る … 身分証や刃物など、すぐ警察署へ出す区分の品目です。駅に連絡し、物の扱いを先に決めますcheckの欄を画像で確かめる … 信頼度の低い欄だけを、画像の該当箇所と見比べて直します- 品名の食い違いを決める … チェック欄と特徴の欄のどちらが正しいかを画像で見ます
- 読めない部分を駅に照会する … 照会は
unreadable_partsがある票だけです - 直した内容を記録する … どの欄を、何から何に直したかを残します
4番目の照会は、いまより減りますが、無くなりません。 読めない字を推測で埋めない設計なので、読めないものは読めないまま担当者に届きます。 照会は駅の忙しくない時間帯にまとめます。
返還の場面は、この構成の外です。 遺失物法では、一定の事業者が保管物件を返還するときは、遺失者であることを確認し、受領書と引き換えに返還するとされています。確認用の特徴を使うのは、この窓口の確認です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 画像の寸法が範囲外・文字が小さすぎる | スキャンし直しを駅に依頼する。複合機の解像度の設定を見直す |
| 書式の版が判定できない | 文書の種類の信頼度が低い。check にして版を確かめ、新しい版なら見本を集めて学習し直す |
| 同じ受付番号が二度届く | 2枚目の混入か、再スキャン。新しい方を残し、古い方を処理済みへ |
| 拾得の日時が読めない | 埋めずに check。スキャンの時刻を参考として並べて出す |
| 駅・列車番号がマスタに無い | 臨時列車や表記ゆれ。check にして、マスタの追加は人が決める |
| 自由記述が空欄 | チェック欄の品名と色だけで下書きを作り、check にする |
| 生成AIが応答しない・形が崩れる | 受付フォルダに残し、時間を置いて再実行する。処理済みへ移すのは成功時だけ |
| 生成AIの安全方針で応答が止まる | 項目分けをせず、check として人へ回す |
上の2行が大半を占めます。 どちらも読み取りの精度の問題ではなく、スキャンの設定と受付票の版の管理の問題です。 直すほうが、プロンプトを工夫するより効きます。
記録を残す
- 受付票の画像と、駅コード・スキャンの時刻
- Document Intelligence が返した結果の全文(欄の値・選択マーク・信頼度)
- 生成AIに渡した文字(拾得者の欄を外した後のもの)と、返ってきたJSON
- 台帳の下書きと、担当者が直した欄・直す前と後の値
police_firstの票と、駅に連絡した日時・決めた扱い- 使ったモデルの版(駅の版ごとのテンプレート モデルと、組み合わせたモデル)
4つ目の「直した欄」は、学習し直しの材料になります。 特定の駅の特定の欄だけ直しが続くなら、その版の見本を足して学習し直します。
最後の行は、学習し直しの効き目を追うために残します。
04実装レベルの3段階
最小構成では枚数がさばけません。 1枚ずつ手で読み取らせるので、月2,400枚には使えません。読めるかどうかを確かめるための段階です。 半自動化で、1枚5分が3分程度になります。 読み取りと項目分けは自動になりますが、一覧から台帳への転記と、届出の区分の付与が残ります。本格構成で2分になり、この段階が本記事の想定です。 差が大きいのは、台帳への転記と、マスタ照合・期限の付与が、1枚ずつの手作業だからです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、check の多い駅と古い版を使う駅が分かります。
05工数削減シミュレーション
導入後 2,400件 × 2分 ÷ 60 = 80 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 駅や車内で拾得された物を、駅の係員が紙の受付票に手書きで受け付け、遺失物センターや駅の事務室でシステムや台帳に打ち直している鉄道会社・バス会社。月に千件を超える受付票があり、打ち直しが追いつかないために、お客さまからの問い合わせに「まだ台帳に載っていない」と答える場面がある場合。品名や特徴の書き方が係員ごとにばらばらで、台帳を検索しても当たらないことがある場合。商業施設やホテルで、同じ形の受付票を使っている場合。
- 拾得物の受付を、すでに駅の端末やタブレットで直接入力している事業者。受付票が月に数十件で、打ち直しの手間が小さい場合。なお、遺失者本人であることの確認、返還するかどうかの判断、警察署への提出・届出の要否の判断、保管物件の売却・処分の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の受付票から、駅と書いた係員がばらけるように50枚を選ぶ(走り書きで読みにくいものを10枚入れる)
- その50枚について、センターで台帳に入力された内容を書き出しておく
- 受付票の画像を Document Intelligence Studio で開き、版ごとに5枚以上の見本でテンプレート モデルを学習する
- 残りの受付票を読み取らせ、欄の値と信頼度を台帳の入力と突き合わせる
- 特徴の欄の文字を手元の生成AIに貼り、「品名・色・ブランド・外から見える特徴・中身に分け、読めない字は直さずに残す」と指示して、台帳の入力と比べる
50枚は必ずやってください。 ワークフローを組む前に、受付票の欄が位置で読めるのかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| チェック欄と日時がほぼ台帳どおりに読めた | 取り込みの処理と台帳の下書きに進む |
| 特徴の欄でブランド名を書き直した | 指示の書き方で直る。構成は有効 |
| 特定の駅の受付票だけ値がずれる | 版が違う。 その版の見本を集めて別のモデルにする |
| 文字が読めない票が多い | スキャンの設定が先。 AIの問題ではない |
3行目はよく出ます。 古い受付票の在庫を使い切るまで、複数の版が並んで使われるからです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 駅ごとに受付票の版が違い、値がずれる | 版ごとに5枚以上の見本で学習し、組み合わせて1つのエンドポイントにする |
| 欄の信頼度は高いのに文字が違う | 欄の信頼度は位置の確からしさ。文字の信頼度と合わせて見る |
| チェックの読み違い | 選択マークの信頼度を見る。薄いチェックは check にする |
| 生成AIがブランド名や品名を整えて返す | 読めない字を直さないと明記し、unreadable_parts に原文を残させる |
| 中身や現金の額が照合の画面に出る | 照合用と確認用の項目を分け、確認用は担当者の操作でだけ開く |
| 拾得者の氏名が自由記述に混ざる | 前処理で領域を外し、指示でも項目に入れないと書く |
| 受付番号の形式の誤りを生成AIで見ようとする | 構造化出力は pattern に非対応。形式は取り込みの処理で確かめる |
| 期限を生成AIに計算させる | 届出の区分の表と拾得の日付から、取り込みの処理が計算する |
| まとめてスキャンが残り、台帳に載るのが遅い | 受け付けたその場でスキャンする手順を駅に広げる |
| 複写の2枚目が混ざる | 受付番号の重複で検知する |
上の2行が、読み取りの失敗のほとんどです。 版を管理し、文字の信頼度まで見ているかどうかで、check の精度が決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 拾得物の品名・特徴・中身(現金の有無、カード類、診察券、身分証)、拾得の日時と場所、そして受付票に書かれる拾得者の氏名と連絡先です。
- 拾得者の情報を後段へ渡さない … 台帳の照合に拾得者の氏名は要りません。読み取りの段階で領域ごと外し、生成AIには特徴の欄の文字だけを渡します
- 確認用の特徴の閲覧を絞る … 中身や名前の書かれた物は、本人の確認に使う情報です。照合の画面に出さず、開いた記録を残します
- 身分証やカード類は扱いを分ける … 遺失物法では、個人の身分を証する文書や、個人の住所・連絡先が記録された文書などは、所有権を取得できない物件とされています。台帳の品名の分類でこれらに印を付け、扱いを人が決めます
- この構成は法令上の判断を代替しません … 返還するか、警察署へ提出するか届け出るか、保管物件を売却・処分するかは、遺失物法と所轄の警察署との取り決めに沿って、遺失物センターが決めることです
- 画像の保管期間を決める … 受付票の画像には拾得者の情報が残ります。台帳の保存の期間に合わせて、画像を消す時期を決めます
誤りが起きた場合のリスクは、読み違えた品名で台帳に載り、問い合わせで見つからないことと、確認用の情報を問い合わせてきた人に出してしまうことの2つです。 前者は読めない字を埋めると起き、後者は項目を分けないと起きます。
10まず何から始めるか
1週目:受付票の版と一覧を集める
60駅で使っている受付票の版を集め、版ごとに見本を5枚以上そろえます。あわせて、台帳の品名の分類と、色の名前と言い換えの一覧を作ります。ブランド名の表記の一覧は、問い合わせの多い品目から作ります。
2週目:50枚で試す
先月の受付票から50枚を選び、Document Intelligence Studio でテンプレート モデルを学習して読み取らせます。台帳の入力と突き合わせ、欄の値がどこまで合うかと、特徴の欄で生成AIが字を書き直していないかを最優先で見ます。
3週目:届出の区分の表を決める
品名の分類ごとに、すぐ警察署へ出すもの、届け出で足りるもの、高額で提出が要るものの区分を、所轄の警察署と確かめて表にします。 ここが決まらないうちに期限の目安を付けると、誰も使えない期限が台帳に並びます。
4週目:ターミナル駅1つから下書きまでをつなぐ
ターミナル駅の複合機から受付フォルダへ送り、読み取りと項目分けを経て、台帳の下書きを一覧に出すところまで作ります。この時点では台帳へは渡さず、担当者が下書きと手入力を並べて見ます。
2か月目: マスタ照合と status の付与を足し、確定したものを台帳へ渡します。check の割合を駅ごとに毎週数えます。3か月目以降: 受付票の多い駅から順に広げ、1枚5分が何分になったかを実測します。受け付けてから台帳に載るまでの時間を毎週測り、それが数十分に収まった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| カスタム テンプレート モデルがラベルを付けたキーと値・選択マーク・表・領域・署名を取り出し、決まった見た目の書式に向くこと。書式が変わると精度が下がり、書式ごとに少なくとも5枚の見本で別々に学習して組み合わせる(compose)よう案内されていること。入力が PDF と画像で、PDF・TIFF は最大2,000ページ(無料のレベルは最初の2ページ)、ファイルは S0 で500MB、画像は50×50〜10,000×10,000ピクセル、文字の最小の高さが1024×768で12ピクセル(150dpiで約8ポイント)であること。テンプレート モデルの学習データが最大500ページ・50MBであること | Microsoft Learn: Custom template document model | 2026-10-26 |
カスタム テンプレート モデルの手書きの文字の対応言語に日本語(ja)が含まれること | Microsoft Learn: Language support for custom models | 2026-10-26 |
| 欄の信頼度が値の位置の確からしさを表し、文字・選択マークの信頼度と合わせて見るよう案内されていること。文書の種類の信頼度が低いのは学習した書式との構造の違いを示すこと。重要な場面では信頼度で自動の受け入れと人の確認を分けるよう案内されていること | Microsoft Learn: Accuracy and confidence scores | 2026-10-26 |
Azure OpenAI の構造化出力が JSON Schema に沿って応答を返し、Chat Completions では response_format、Responses では text.format に書くこと。すべての項目を required にし additionalProperties: false を付けること。文字列の pattern・format などに対応していないこと | Microsoft Learn: Structured outputs | 2026-10-26 |
| 施設占有者が交付を受けた物件を遺失者に返還するか警察署長に提出すること(第13条)。不特定多数が利用する施設で物件の種類・特徴・拾得の日時・場所を掲示すること(第16条)。政令で定める特例施設占有者が2週間以内に届け出たときは提出をしないことができること(第17条)。返還時に遺失者であることを確認し受領書と引き換えに返還すること(第22条)。帳簿の備え付け(第23条)。個人の身分を証する文書などが所有権を取得できない物件であること(第35条) | e-Gov 法令API: 遺失物法 | 2026-10-26 |
返還・提出・届出・処分の判断は、遺失物法と所轄の警察署との取り決めに沿って、自社で決めてください。 本記事は上の公式の情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1838)についてのご相談はこちらから。
