自動車保険の事故で修理工場から届く修理見積書を読み取り、部品・工賃・塗装の明細を損害調査の入力項目にそろえ、事故の内容と合わない明細を調査担当へ挙げる
整備工場から届く修理見積書を読み取り、明細の1行ずつを部位・作業の区分・部品・工賃・塗装にそろえて、損害調査システムの入力の下書きにします。事故の受付で記録した損傷の部位と合わない明細と、合計の食い違いを調査担当に挙げます。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- Azure AI/Google Document AI
- 連携・自動化
- Python
- 対象業界
- 保険
- 対象部門
- カスタマーサポート
- 対象業務
- データ入力・転記/内容確認・チェック
- 主な課題
- 入力作業が多い/判断に時間がかかる/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/判断支援/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 整備工場から見積書と損傷の写真が届いたことを、損害調査システムの通知で知る
- 見積書を開き、車名・型式・登録番号から事故の受付記録の車両と同じかを確かめる
- 明細を1行ずつ読み、部品の名称、修理の方法(取替・脱着・板金・塗装)、部品価格、工賃を損害調査システムに入力する
- 受付記録の事故の状況と損傷の部位(「前部を電柱に接触」など)を読み、明細の部品がその部位にあるかを確かめる
- 合わない明細や、同じ部品に取替と板金が重なっている行があれば、写真で確かめるか整備工場に問い合わせる
- 明細の合計と見積書の合計金額が合うかを確かめる
- 入力を終え、調査の判断に進む
- 人整備工場が見積書と損傷の写真を、画像伝送の仕組みにアップロードする
- 自動15分おきに新しく届いた見積書を取り、事故の受付番号と組にする
- 自動OCRが全ページの文字、画像の品質、表、欄の名前と値を返す
- 自動生成AIが車両の情報と、明細の1行ずつ(名称・部品番号・修理の方法・指数・部品価格・工賃)を書かれたとおり取り出し、部位を対応表から選ぶ
- 自動スクリプトが受付記録の車両と照合し、明細の合計と合計金額を比べ、受付記録の損傷の部位と明細の部位を照らす
- 自動同じ部品に取替と板金が重なる行、部位が合わない行、読めない行に印を付ける
- 自動`ready` / `flagged` / `needs_retake` / `needs_human` を付け、損害調査システムの入力の下書きを作る
- 人担当者が下書きと印の付いた明細を、見積書の画像と写真で確かめ、入力を確定する
- 人印の付いた明細について、整備工場への問い合わせか、技術アジャスターへの相談を決める
各工程の詳しい説明を読む
- 整備工場から見積書と損傷の写真が届いたことを、損害調査システムの通知で知る
- 見積書を開き、車名・型式・登録番号から事故の受付記録の車両と同じかを確かめる
- 明細を1行ずつ読み、部品の名称、修理の方法(取替・脱着・板金・塗装)、部品価格、工賃を損害調査システムに入力する
- 受付記録の事故の状況と損傷の部位(「前部を電柱に接触」など)を読み、明細の部品がその部位にあるかを確かめる
- 合わない明細や、同じ部品に取替と板金が重なっている行があれば、写真で確かめるか整備工場に問い合わせる
- 明細の合計と見積書の合計金額が合うかを確かめる
- 入力を終え、調査の判断に進む
(a)入力が1行ずつの手作業。 見積書の明細は30行を超えることがあり、3番目の入力が1件の時間の半分近くを占めます。 判断の前に、写す作業で時間がなくなります。
(b)部品の名称から部位が分かりにくい。 「Frバンパカバー」「RrコンビランプLH」「Qtrパネル」のような略し方は、慣れた担当者には読めても、異動してきた担当者には読めません。 4番目の確認が担当者の経験に依存しています。
(c)事故の内容と合わない明細の見落とし。 前部の事故の見積書に後部の部品が1行混ざっていても、明細が多いと目に留まりません。 気づかないまま入力が終わり、調査の判断に進みます。
(d)合計の食い違い。 手書きの見積書では、明細の足し算と合計金額が合わないことがあります。6番目を省いて入力した金額で調査を進め、後で整備工場とのやり取りが増えます。
- 【人】 整備工場が見積書と損傷の写真を、画像伝送の仕組みにアップロードする
- 【自動】 15分おきに新しく届いた見積書を取り、事故の受付番号と組にする
- 【自動】 OCRが全ページの文字、画像の品質、表、欄の名前と値を返す
- 【自動】 生成AIが車両の情報と、明細の1行ずつ(名称・部品番号・修理の方法・指数・部品価格・工賃)を書かれたとおり取り出し、部位を対応表から選ぶ
- 【自動】 スクリプトが受付記録の車両と照合し、明細の合計と合計金額を比べ、受付記録の損傷の部位と明細の部位を照らす
- 【自動】 同じ部品に取替と板金が重なる行、部位が合わない行、読めない行に印を付ける
- 【自動】
ready/flagged/needs_retake/needs_humanを付け、損害調査システムの入力の下書きを作る - 【人】 担当者が下書きと印の付いた明細を、見積書の画像と写真で確かめ、入力を確定する
- 【人】 印の付いた明細について、整備工場への問い合わせか、技術アジャスターへの相談を決める
8番目で人が見るのは、印の付いた明細と、その根拠です。 30行の明細を1行ずつ入力するのではなく、下書きと見積書の画像を並べて、印の付いた行を中心に確かめます。
9番目は、この構成が触れない判断です。 部位が合わない明細が、事故で一緒に壊れたものか、別の損傷かは、写真と事故の状況を知る人が決めます。
02今回想定するシステム構成
修理見積書(見積システムの出力・手書きの様式・写真)+損傷の写真 │【トリガー】15分おきの定時実行 ▼ Python ── 新しい見積書を受付番号と組にする、HEIC → JPEG ▼ Google Document AI(Enterprise Document OCR) │ 全ページの文字、画像の品質スコアと検出された不具合 ▼ Google Document AI(Form Parser) │ 明細の表、車両の欄の名前と値、信頼度 ▼ Gemini API ── 車両の情報と明細の1行ずつの取り出し、部位の選択(構造化出力) ▼ Python ── 車両の照合、合計の足し算、受付記録の損傷部位との照らし合わせ、重なりの検出 ▼ 判定(ready / flagged / needs_retake / needs_human) ▼ 【人が下書きと印の付いた明細を確認】 ├──▶ 損害調査システムへの入力の確定 └──▶ 整備工場への問い合わせ・技術アジャスターへの相談
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Google Document AI(Enterprise Document OCR、Form Parser) | Azure AI Document Intelligence |
| 生成AI | Gemini API(明細の取り出し、部品名称から部位の選択) | Claude API、OpenAI API |
| 差異計算 | Python(明細の合計の照合、受付記録の損傷部位との照らし合わせ、取替と板金の重なりの検出) | 損害調査システムの確認の規則 |
| 連携 | Python(画像伝送の仕組みからの取得、入力の下書きの書き出し) | 既存の連携の仕組み |
| 保管 | 画像伝送の仕組み(見積書と写真の原本) | 文書管理システム |
損害調査システムと画像伝送の仕組みは、今のものを使います。 この構成は見積書を読み、入力の下書きと印を作るところまでです。入力の確定は担当者が行います。
OCRに Google Document AI を選ぶのは、日本語で使える2つのプロセッサがそろうからです。 Enterprise Document OCR と Form Parser は、どちらも一般提供(GA)で、対応言語に日本語が含まれます。 手書きの検出にも対応し、整備工場が手で書き込んだ見積書も対象にできます。
Enterprise Document OCR は、画像の品質スコアを0から1で返します。 0.5を下回ると、ぼけ、ノイズ、暗さ、薄さ、文字が小さすぎる、書類の切れ、文字の切れ、反射の8種類から理由が返ります。工場の作業場で撮った見積書の写真は、反射と書類の切れが起きやすく、このスコアで撮り直しの候補を分けます。
Form Parser は、表と欄の名前と値の組を取り出します。 見積書の明細は、コード、修理項目・部品名称、修理の方法、部品番号、指数、部品価格、工賃の列が並ぶ表です。ただし Form Parser の表は、行や列をまたぐセルの無い単純な表が対象です。 見出しが2段になった様式や、手書きで罫線の崩れた明細は表として取れないことがあり、そのページはOCRの全文を生成AIに渡します。
03どうやって実装するのか
処理の起点を決める
15分おきの定時実行にします。 整備工場は見積書と写真を何回かに分けてアップロードし、見積書が後から差し替えられることもあります。 受付番号ごとに最後のアップロードから15分以上たったものを対象にし、処理の後に見積書が差し替えられたら、前の下書きを「差し替え前」として残したうえで、もう一度処理します。
差し替えの検知は、ファイルの内容の要約値で行います。 ファイル名が同じでも中身が違えば、別の見積書として扱います。処理済みの印は、入力の下書きまで作れたときだけ付けます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 見積書のファイル | PDF、写真、スキャン。受付番号、整備工場、アップロードの日時 | 画像伝送の仕組み |
| 事故の受付記録 | 車名・型式・登録番号、事故の状況、損傷の部位(前部・後部・左側面・右側面・屋根・下回り・室内) | 損害調査システム |
| 読み取り結果 | 全ページの文字、品質スコアと不具合、表、欄の名前と値、信頼度 | Google Document AI |
| 部品名称と部位の対応表 | 部品の名称と略し方の一覧、それぞれの部位、左右と前後の表し方(LH・RH・Fr・Rr) | 自社の損害調査の部署が作る表 |
| 重なりの規則 | 同じ部品に取替と板金、取替と塗装が並んだときに印を付ける組み合わせ | 自社の損害調査の規程 |
質を決めるのは、受付記録の損傷の部位が決まった値になっているかです。 事故の状況が自由文だけで記録されていると、スクリプトは部位を照らせません。受付の段階で、損傷の部位を選択式で記録する運用が前提です。
部品名称と部位の対応表は、略し方の一覧を育てるものです。 最初は主な外装の部品と、Fr・Rr・LH・RH の付け方だけで始め、生成AIが unknown を返した名称を毎週足していきます。
データの取得方法を決める
Enterprise Document OCR には、次の2つを指定して送ります。
| 指定 | 設定 | 理由 |
|---|---|---|
enableImageQualityScores | true | ページごとの品質スコアと不具合を受け取る |
hints.languageHints | ["ja"] | 推定させず、日本語として読ませる |
Form Parser からは、次の2つを取ります。
| 取るもの | 場所 | 使い方 |
|---|---|---|
| 表 | pages[].tables の headerRows と bodyRows、セルの rowSpan と colSpan | 明細の1行ずつ |
| 欄の名前と値 | pages[].formFields の fieldName と fieldValue、confidence | 車名・型式・登録番号・合計金額・作成日 |
表がページをまたぐときは、ページの順に行をつなぎます。 2ページ目以降に見出しの行が繰り返されている様式では、headerRows の中身が1ページ目と同じことを確かめてからつなぎます。見出しが違うページは、別の表として扱い、人に回します。
セルの rowSpan と colSpan が1でないセルがあるページ、または表が返らないページは、表として取れなかったとみなし、OCRの全文を生成AIに渡します。
AIへ渡す前に整形する
- 形式をそろえる … Document AI が受け付ける画像は PDF、GIF、TIFF、JPEG、PNG、BMP、WebP などで、HEIC は対応形式に含まれていません。 スマートフォンの写真は JPEG に変えます
- むやみに圧縮しない … 非可逆の形式で小さくすると、読み取りの精度が落ちるとされています。明細の小さな数字が読めなくなるため、変換は1回だけにします
- ページ数で分ける … 同期の処理は1回に15ページまでです。超える見積書は分けて送ります
- 見積書と写真を分ける … 同じアップロードに損傷の写真が混ざっています。OCRの文字の量で見積書のページを選び、写真は後段に送りません
- 品質の足りないページを分ける …
qualityScoreが0.5を下回ったページは、不具合の種類とともにneeds_retakeの候補にします - 個人の情報を覆う … 見積書の宛名欄の氏名と住所は、生成AIに渡す全文と画像からは塗りつぶします。 照合は登録番号と受付番号で行います
4番目で写真を送らないのは、この構成が損傷の画像を判断しないためです。 写真は担当者が見るもので、生成AIに写真を見せると、損傷の程度について書き始めます。
AIに処理させる
生成AIにさせるのは、明細の取り出しと、部位の選択だけです。
| 取り出すもの | 取り出し方 | 取り出せないとき |
|---|---|---|
| 車両の情報 | 車名・型式・登録番号・初度登録年月を書かれたとおり | missing |
| 明細の名称と部品番号 | 書かれたとおり。略し方を直さない | 読めなければ unreadable |
| 修理の方法 | 取替・脱着・板金・塗装・その他から、書かれた言葉に当たるもの | 書かれていなければ missing |
| 指数・部品価格・工賃 | 書かれた数字のとおり | 空欄は空。読めなければ unreadable |
| 部位 | 対応表の部位の一覧から1つを選ぶ。左右・前後は名称の Fr・Rr・LH・RH から | 対応表に無い名称は unknown |
| 合計金額 | 見積書の合計金額の欄の数字 | missing |
5行目だけが、選ぶ作業です。 選べる値は対応表の一覧に限り、一覧に無い名称は unknown にさせます。 名称から推測して近い部位を選ぶと、照らし合わせの結果が信用できなくなります。
| させないこと | 理由 |
|---|---|
| 部品の名称の言い換え | 書かれた名称が判断の材料。分かりやすい名前に直さない |
| 合計や小計の計算 | スクリプトが足し算する |
| 指数から工賃を計算する | 書かれた工賃だけを使う |
| 事故と関係のある損傷かの判断 | 担当者と技術アジャスターが写真で判断する |
| 修理費が妥当かの判断 | 調査の判断そのもの |
| 不正の疑いの記載 | 印は部位の照合の結果だけを表す |
いちばん起きやすい失敗は、表の1行目です。 「RrコンビランプLH」を生成AIは「左リアコンビネーションランプ」と直し、さらに「テールランプ」と言い換えることがあります。直した名前は、見積書と損害調査システムの照合を壊します。
指示内容を固定する
あなたは損害保険会社の損害サービスで、整備工場から届いた修理見積書を
読む担当です。渡された読み取り結果だけを見て、明細を取り出してください。
判断や計算はしないでください。
【取り出す項目】
車両 ……… 車名、型式、登録番号、初度登録年月
明細 ……… 行ごとに、コード、修理項目・部品名称、部品番号、修理の方法、
指数、部品価格、工賃、そのページの番号
合計 ……… 見積書の合計金額
【修理の方法の選び方】
replace(取替)/ remove_install(脱着)/ sheet_metal(板金)/
paint(塗装)/ other(それ以外)
書かれた言葉に当たるものを選び、書かれた言葉は method_text に残してください。
【部位の選び方】
次の一覧から1つ選んでください。一覧に無い名称は unknown にしてください。
{part_location_table}
左右と前後は、名称の Fr・Rr・LH・RH などの書き方だけから決めてください。
【厳守事項】
- 部品の名称と部品番号は、書かれた文字列をそのまま写してください。
略された名前を、分かりやすい名前や一般的な呼び方に直さないでください。
- 金額を足したり、指数から工賃を計算したりしないでください。
空欄の金額は空のままにしてください。
- 記載がなければ status を missing にしてください。推測で埋めないでください。
- 名称から部位を推測しないでください。一覧に無ければ unknown です。
- 事故と関係があるか、修理費が妥当か、不正の疑いがあるかを書かないでください。
- 宛名の欄は塗りつぶされています。補わないでください。
- evidence には、その行の根拠にした文字列をそのまま写してください。
【読み取り結果(ページごと、品質不足のページには印)】{pages}
部位の一覧をプロンプトに入れるのは、選べる値を表の側で決めるためです。 一覧を渡さずに「部位を答えて」とすると、生成AIは「フロントフェンダー付近」のような自由な言葉で返し、スクリプトが受付記録と照らせません。
「不正の疑いを書かない」も外せません。 部位が合わない明細を見せると、生成AIは理由を推し量って書き足します。担当者がその文を先に読むと、写真を見る前に印象が決まります。
出力形式を固定する
Gemini API の構造化出力で、次の形のJSONを受け取ります。 要求の response_format に、mime_type を application/json、schema にJSONスキーマを指定します。
{
"claim_no": "",
"vehicle": { "name": "", "model_code": "", "reg_no": "", "first_reg": "",
"status": "ok | missing | unreadable" },
"lines": [
{ "page": 1, "code": "", "name": "", "part_no": "",
"method": "replace | remove_install | sheet_metal | paint | other",
"method_text": "", "index": "", "part_price": 0, "labor": 0,
"location": "front | rear | left | right | roof | under | interior | unknown",
"status": "ok | unreadable", "evidence": "" }
],
"total_written": 0
}
スキーマでは method と location と status を enum で固定し、金額は integer にします。 location の一覧は、対応表の部位と同じ値にします。ただし、構文として正しいJSONが返っても、値はアプリケーションの側で確かめるよう案内されています。 スクリプトは、金額が負でないか、page が実在するか、部品番号の書式が崩れていないかを確かめます。
受け取ったあと、スクリプトが照合の結果を足します。
{
"claim_no": "",
"vehicle_match": "matched | reg_only | mismatch",
"total_calc": 0,
"total_gap": 0,
"reported_locations": ["front"],
"flags": [
{ "line": 0, "type": "location_mismatch | overlap_replace_repair | unknown_part | unreadable" }
],
"verdict": "ready | flagged | needs_retake | needs_human"
}
verdict | 条件 |
|---|---|
needs_retake | 明細のあるページが品質不足 |
needs_human | vehicle_match が mismatch、表をつなげなかった、total_gap が0でない |
flagged | flags に location_mismatch か overlap_replace_repair がある |
ready | 上のどれにも当たらない(unknown_part だけのものを含む) |
flagged は「調べる必要がある」という意味ではありません。 受付記録の部位と明細の部位が違う、という照合の結果だけです。前部の事故で室内の部品を取り替えることも、事故の状況によっては起こりえます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 画像伝送の仕組み | 新しい見積書の取得 | 受付番号ごとに見積書のファイルを受け取る |
| Google Document AI | API呼び出し(同期の処理) | Enterprise Document OCR、Form Parser の順に送る |
| Gemini API | API呼び出し | 車両の情報と明細の取り出し(構造化出力) |
| 損害調査システム | 受付記録の読み取りと、入力の下書きの書き出し | 損傷の部位を読み、明細の下書きと印を書き出す |
損害調査システムには、下書きとして書き出します。 明細の行、作業の区分、部位、金額、印を入れた状態にし、担当者が確かめて確定するまで、調査の入力として扱いません。
整備工場への問い合わせは、この構成からは送りません。 印の付いた明細を工場に確かめるか、技術アジャスターに相談するかは担当者が決め、連絡は今までどおり担当者が行います。
人が確認する
needs_humanを先に見る … 車両が受付記録と合わないもの、合計が合わないもの。整備工場に見積書の確認を頼みますflaggedの明細を写真で見る … 印の付いた行の部品が、写真の損傷の範囲に写っているかを確かめますunknown_partの名称を見る … 部位を選び直し、対応表に足すかを週に1回まとめて決めます- 下書きを確定する … 直した行は記録します
- 調査の判断に進む … 修理費と損傷の関係の判断は、今までどおり担当者と技術アジャスターが行います
2番目を省かないでください。 印は受付記録との照合の結果で、受付記録の部位そのものが聞き取りの段階で不十分なこともあります。 写真で損傷の範囲を見て初めて、印の意味が分かります。
ready の見積書も、明細の行数と合計だけは目で見ます。 1行ずつ読み直す運用にすると、第10章の5分には収まりません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 品質スコアが0.5を下回る | needs_retake。不具合の種類を添えて、整備工場に撮り直しを頼む |
| 明細の表が取れない | 結合したセル、崩れた罫線。OCRの全文を生成AIに渡す |
| 表がページをまたいで見出しが違う | 別の表として扱い、needs_human |
| 車両が受付記録と合わない | 別の事故の見積書の可能性。mismatch で人へ |
| 明細の合計と合計金額が合わない | total_gap を示して needs_human。どちらが正しいかは決めない |
| 部品の名称が対応表に無い | unknown。部位の照合から外して印を付ける |
| 見積書が差し替えられる | 前の下書きを差し替え前として残し、もう一度処理する |
| Document AI や Gemini API が応答しない | 処理済みの印を付けず、次の回にやり直す |
運用の最初に多いのは、6行目です。 部品の略し方は工場ごとに癖があり、最初の1〜2か月は unknown が多く出ます。 対応表に足すほど減り、照合の結果が使えるものになっていきます。
記録を残す
- 見積書の原本と、受付番号、整備工場、アップロードの日時、差し替えの履歴
- Document AI が返した結果の全文と、Gemini API に渡した全文(宛名を覆ったもの)と返ったJSON
- スクリプトが足した照合の結果と、そのとき使った部品名称と部位の対応表、重なりの規則の版
- 担当者が直した行と、直す前と後の値
flaggedの明細について、担当者が写真で確かめた結果(損傷の範囲にあった/なかった)- 整備工場ごとの撮り直しと
unknownの件数
5つ目の記録は、受付の聞き取りを直す材料になります。 印が付いたのに写真では損傷の範囲にあった、という結果が続く事故の型は、受付の段階で部位の聞き取りが足りていません。
04実装レベルの3段階
最小構成は、指示と対応表を固める段階です。 1件ずつ貼り付けるので、月1,200件には使えません。 半自動化で、1件12分が8分程度になります。 入力の手間は減りますが、部位の照らし合わせと損害調査システムへの転記が手作業で残ります。本格構成で5分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、対応表に足りない略し方と、表として取れない工場の様式が先に分かります。 そこを直してから部位の照合を足すほうが、意味のない印が減ります。
05工数削減シミュレーション
導入後 1,200件 × 5分 ÷ 60 = 100 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自動車保険の車両・対物の事故で、整備工場から修理見積書と損傷の写真を画像やPDFで受け取り、少額の損害を写真と見積書で調査している損害保険会社・共済。見積書の書式が整備工場や見積システムごとに違い、損害調査の担当者が明細を1行ずつ損害調査システムに入力しながら、事故の内容と合っているかを目で見ている場合。毎月千件以上の見積書が届く場合。
- 見積書の大半が電子データで届き、明細がすでに損害調査システムに取り込まれている場合。技術アジャスターが立会調査で全件を見ている場合。修理費が妥当か、事故と関係のある損傷か、支払うかといった損害調査の判断そのものを自動化したい場合、この構成では代替できません。
07最小構成で試す方法
- 先月の写真調査の事故から30件を選ぶ(手書きの見積書、ページをまたぐ見積書、部位が合わない明細があったものを数件ずつ入れる)
- 宛名の欄を隠してから見積書を手元のAIサービスの画面に1件ずつ貼り付ける
- 「この見積書の明細を、名称・部品番号・修理の方法・指数・部品価格・工賃の表にしてください。名称は書かれたとおりに写し、言い換えないでください。金額を計算しないでください」と指示する
- 出てきた表を、当時の損害調査システムの入力と1行ずつ比べる
- 主な部品の名称と部位の対応表を手で作り、受付記録の部位と照らしたときに、当時担当者が気づいた明細と同じものに印が付くかを見る
| 出てきた内容 | 判断 |
|---|---|
| 当時の入力と明細が一致した | OCRとスクリプトの連携に進む |
| 部品の名称を言い換えた | 指示の書き方で直る。構成は有効 |
| 損傷との関係や妥当性まで書いた | 指示に「判断しない」を足す |
| 手書きの見積書の数字が読めない | 撮り方と様式の問題。 工場に見積システムの出力を頼めるかを見る |
2行目はほぼ必ず出ます。 失敗ではなく、名称をそのまま残す指示が要る理由が見えたということです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 部品の名称を言い換える | 書かれたとおりに写す。 指示で禁じる |
| 名称から部位を推測する | 対応表の一覧から選ばせ、無ければ unknown |
| 指数から工賃を計算して埋める | 書かれた工賃だけを使う |
| ページをまたぐ表の行が抜ける | 見出しが同じかを確かめてつなぐ。違えば人へ |
| 写真に損傷の程度を書く | 写真を後段に送らない |
| 受付記録の部位が自由文 | 照らせない。受付で選択式にする |
| 印が不正の疑いに見える | 印は照合の結果だけ。理由を生成AIに書かせない |
| 合計の食い違いをどちらかに寄せる | どちらが正しいかは決めず、人へ |
| 見積書の差し替えで下書きが上書きされる | 差し替え前を残す |
上の2行が、この構成の失敗のほとんどです。 どちらも、生成AIが見積書を「分かりやすく」しようとすることから起きます。書かれた名称と対応表の一覧の外に出ないことで、照合の結果が意味を持ちます。
7行目は、運用の文化に関わります。 印の付いた見積書が疑いの目で見られるようになると、整備工場との関係が悪くなり、見積書の出し方まで変わります。 印の意味を、担当者全員に最初に伝えてください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 事故の受付番号、車両の登録番号と型式、修理の明細と金額、そして見積書の宛名にある契約者や相手方の氏名と住所です。
- 宛名の個人情報を生成AIに渡さない … 照合は登録番号と受付番号で行い、宛名の欄は塗りつぶしてから渡します
- 処理する地域を先に決める … Document AI は
us、eu、asia-southeast1などで処理できます。事故と契約の情報をどこで処理してよいかを、社内の規程と合わせて決めます - この構成は損害調査の判断をしない … 日本損害保険協会の資料では、損害調査で事故との整合性と損傷状態を調べるのは技術アジャスターなどの調査の実施者とされています。この構成が出すのは、受付記録と明細の部位の照合の結果だけです
- 印を自動で整備工場に伝えない … 問い合わせは担当者が判断して行います
- 写真を生成AIに渡さない … 損傷の程度の判断が文章で返ると、担当者の判断より先に印象を作ります
誤りが起きた場合のリスクは、明細の入力の誤りがそのまま損害額に入ることと、印が整備工場への不当な疑いとして扱われることの2つです。 前者は名称と金額を書き換えさせると起き、後者は印に理由を書かせると起きます。どちらも、生成AIに書き換えと判断をさせないことで防ぎます。
10まず何から始めるか
1週目:受付記録の損傷の部位を確かめる
事故の受付で、損傷の部位がどう記録されているかを確かめます。自由文だけなら、前部・後部・左側面・右側面・屋根・下回り・室内の選択式を受付の画面に足すことを、受付の部署と決めます。
2週目:30件で試す
先月の写真調査の事故から30件を選び、宛名を隠してから手元のAIサービスで明細の表を作らせます。当時の入力と1行ずつ比べ、名称を言い換えていないかを最優先で見ます。
3週目:部品名称と部位の対応表を作る
30件の明細に出てきた名称を集め、部位と略し方の一覧にします。Fr・Rr・LH・RH の付け方も、表の最初に書きます。 取替と板金が重なったときに印を付ける組み合わせも決めます。
4週目:画像伝送の仕組みから一覧までをつなぐ
OCR、取り出し、合計の照合を一覧に書き出すところまで作ります。この時点では損害調査システムに書き出さず、一覧だけを担当者が見ます。
2か月目: 部位の照合と重なりの検出を足し、unknown の名称を毎週対応表に足します。3か月目以降: 損害調査システムへの下書きの書き出しを足し、1件12分が何分になったかを実測します。unknown が明細の数パーセントまで減った時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Enterprise Document OCR と Form Parser が一般提供(GA)で、対応言語に日本語が含まれること。同期の処理のページの上限が15であること | Google Cloud: Processor list | 2026-10-06 |
画像の品質スコアが enableImageQualityScores で有効になり、0から1で返ること。0.5を下回ると8種類の不具合(ぼけ・ノイズ・暗さ・薄さ・文字が小さすぎる・書類の切れ・文字の切れ・反射)が検出されること。languageHints を指定できること。手書きの検出に対応すること | Google Cloud: Enterprise Document OCR | 2026-10-06 |
| Form Parser がキーと値のペア、表、選択マークを取り出すこと。表は行や列をまたぐセルの無い単純な表が対象であること | Google Cloud: Form Parser | 2026-10-06 |
欄が formFields の fieldName と fieldValue で返り、confidence が付くこと。表が headerRows と bodyRows で返り、セルに rowSpan と colSpan が付くこと | Google Cloud: Handle the processing response | 2026-10-06 |
| 対応する画像の形式が PDF、GIF、TIFF、JPEG、PNG、BMP、WebP などで、HEIC が含まれないこと。非可逆の形式でファイルを小さくすると結果の精度が落ちうること | Google Cloud: Supported files | 2026-10-06 |
Gemini API の構造化出力が response_format に mime_type(application/json)とJSONスキーマを指定して使い、enum、required、integer などをサポートすること。値はアプリケーションの側で確かめるよう案内されていること | Google AI for Developers: Structured output | 2026-10-06 |
| 損害調査の流れが事故報告受付・損害調査・損害額の決定・保険金支払であり、損害調査で事故との整合性と損傷状態を調査すること。実施者が損保会社の技術アジャスターまたは社外技術アジャスターであること。方法が立会調査・画像伝送調査・写真調査の3種類で、写真調査は整備工場から写真と見積書を送ってもらう方法で少損のケースが多いこと。見積書の明細にコード、修理項目・部品名称、修理方法・部品番号・指数、部品価格、工賃の欄があること | 日本損害保険協会: 自動車事故における損害調査業務(査定)等について(2014年12月、環境省 審議会資料) | 2026-10-06 |
損害調査の方法、修理費の妥当性、事故と損傷の関係の判断は、自社の損害調査の規程と、担当者・技術アジャスターの判断に従ってください。 本記事は Google Cloud、Google AI for Developers、日本損害保険協会の資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0452)についてのご相談はこちらから。
