保険代理店で、顧客から受け取る自動車検査証の写しを読み取り、車名・型式・初度登録・車台番号を自動車保険の見積入力の項目にそろえ、読み取りに自信のない欄を拾う
顧客から受け取る自動車検査証(車検証)と記録事項の写しを読み取り、車名・型式・初度登録年月・車台番号を自動車保険の見積入力の項目にそろえます。読み取りに自信のない欄と、写しに載っていない項目は、見積を作る前に担当者へ返します。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- Azure AI/Google Document AI
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- 保険/小売
- 対象部門
- 営業
- 対象業務
- データ入力・転記/内容確認・チェック
- 主な課題
- 入力作業が多い/営業フォローが追いつかない/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 顧客からメールやメッセージで車検証の写真を受け取り、顧客のフォルダに保存する
- 担当者が写真を拡大し、車名・型式・初度登録年月・車台番号・登録番号を見積の画面に打ち込む
- 有効期間が必要な見積では、券面に無いので記録事項があるかを探す
- 無ければ顧客に記録事項の写しを頼むか、有効期間を聞く
- 写真がぼやけて読めない欄があれば、顧客に撮り直しを頼む
- 打ち込んだ値を写真と見比べ、見積を作って顧客に送る
- 人担当者が受け取った写しを、ファイル名に顧客番号を入れて取込フォルダに保存する
- 自動Apps Script の時間主導型トリガーが10分おきに取込フォルダを見て、新しいファイルを拾う
- 自動Document AI が写しを読み、項目名と値の組・全文のテキスト・信頼度を返す
- 自動Apps Script が所有者・使用者の住所の欄を伏せる
- 自動Claude API が、書類の種類(券面・記録事項・旧様式)を見分け、車の項目を見積の入力項目に写す
- 自動Apps Script が書類の種類ごとの「載っている項目」の表と照らし、欄ごとに状態を付ける
- 自動見積入力用の転記シートと、顧客への依頼の文案を書き出す
- 人担当者が転記シートで `ok` 以外の欄を写しと見比べ、見積の画面に打ち込む
- 人載っていない項目が要る見積は、顧客に記録事項の写しを頼む
各工程の詳しい説明を読む
- 顧客からメールやメッセージで車検証の写真を受け取り、顧客のフォルダに保存する
- 担当者が写真を拡大し、車名・型式・初度登録年月・車台番号・登録番号を見積の画面に打ち込む
- 有効期間が必要な見積では、券面に無いので記録事項があるかを探す
- 無ければ顧客に記録事項の写しを頼むか、有効期間を聞く
- 写真がぼやけて読めない欄があれば、顧客に撮り直しを頼む
- 打ち込んだ値を写真と見比べ、見積を作って顧客に送る
(a)写真を見ながらの打ち込みに時間がかかる。 写真は斜めで、光が反射し、文字が小さい。拡大と縮小をくり返しながら、1欄ずつ打ち込みます。
(b)車台番号の読み違いが後で見つかる。 英字と数字の混ざる十数文字を写真から写すと、1文字違いに気づかないまま見積が進みます。 契約の手続きの段階で保険会社から指摘され、顧客に連絡し直すことになります。
(c)券面に無い項目を何度も聞き直す。 電子車検証の券面には有効期間が載っていません。担当者が券面の写真だけを見て「有効期間が読めない」と思い、撮り直しを頼むことがあります。
(d)見積を返すのが遅れる。 打ち込みと聞き直しが重なる月末は、依頼から見積の返信まで数日かかり、その間に顧客が他の代理店で決めてしまうことがあります。
- 【人】 担当者が受け取った写しを、ファイル名に顧客番号を入れて取込フォルダに保存する
- 【自動】 Apps Script の時間主導型トリガーが10分おきに取込フォルダを見て、新しいファイルを拾う
- 【自動】 Document AI が写しを読み、項目名と値の組・全文のテキスト・信頼度を返す
- 【自動】 Apps Script が所有者・使用者の住所の欄を伏せる
- 【自動】 Claude API が、書類の種類(券面・記録事項・旧様式)を見分け、車の項目を見積の入力項目に写す
- 【自動】 Apps Script が書類の種類ごとの「載っている項目」の表と照らし、欄ごとに状態を付ける
- 【自動】 見積入力用の転記シートと、顧客への依頼の文案を書き出す
- 【人】 担当者が転記シートで
ok以外の欄を写しと見比べ、見積の画面に打ち込む - 【人】 載っていない項目が要る見積は、顧客に記録事項の写しを頼む
6番目が、この設計の分かれ目です。 書類の種類ごとに載っている項目を決めておけば、券面だけが届いたときに「有効期間は券面に載っていない」と最初から分かります。 撮り直しではなく、記録事項の写しを頼む連絡になります。
8番目で見積の画面への打ち込みを人に残すのは、画面に外から書き込む手段が無いからだけではありません。 見積の画面に入れた値が契約の内容になり、車台番号の1文字違いが、別の車の契約になりかねないためです。
02今回想定するシステム構成
車検証の写し(電子車検証の券面/自動車検査証記録事項/旧様式の車検証) │ メール・メッセージの添付を担当者が保存 ▼【トリガー】Apps Script の時間主導型トリガー(10分おき) Google Apps Script ── 形式・ページ数の確認 ▼ Google Document AI(Form Parser) │ 項目名と値の組・全文のテキスト・信頼度を返す ▼ Google Apps Script ── 所有者・使用者の住所を伏せる ▼ Claude API ── 書類の種類を見分け、車の項目を見積の入力項目に写す │ 車名/型式/初度登録年月/車台番号/登録番号/用途/有効期間 ▼ Google Apps Script ── 書類の種類ごとの項目表と照らし、欄ごとの状態を付ける │ ok/low_confidence/not_on_document/missing ├──▶ 見積入力用の転記シート └──▶ 顧客への依頼の文案(記録事項の写しが要るとき) ▼ 【人が ok 以外の欄を確かめ、見積の画面に打ち込む】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Google Document AI(Form Parser) | Azure AI Document Intelligence |
| 生成AI | Claude API(書類の種類の見分けと、見積の入力項目への対応付け) | Gemini API、OpenAI API |
| 差異計算 | Google Apps Script(書類の種類ごとの項目表との照合、欄ごとの状態の判定) | Python |
| 連携 | Google Apps Script(取込フォルダの監視、住所を伏せる処理、転記シートの書き出し) | Python |
| 保管 | Google ドライブ(顧客ごとのフォルダ)、Google スプレッドシート | 保険会社の代理店システムの添付機能 |
新しく作るのは、書類の種類ごとの「載っている項目」の表です。 電子車検証の券面、記録事項、旧様式の車検証のそれぞれについて、見積に使う項目が載っているかどうかを○×で並べます。 この表が、「読めなかった」と「載っていない」を分ける物差しになります。
表の中身は、国土交通省の電子車検証の特設サイトで確かめられます。 公式には、電子車検証の券面に記載されるのは変更登録等による記載事項の変更を伴わない基礎的情報で、車台番号、車名・型式、原動機の型式、初度登録年月/初度検査年月などが券面記載事項として挙げられています。一方で、自動車検査証の有効期間と所有者の氏名・住所は券面に表示されず、ICタグにだけ記録されるとされています。
記録事項は、ICタグの内容も含めたすべての車検証の情報が載った書面です。 公式には、車検証閲覧アプリから記録事項を PDF で出力でき、閲覧アプリで出力した PDF には電子署名が付与され、改ざんされていないことを確かめられるとされています。顧客にはこの PDF で送ってもらうのがいちばん確かです。
土台は Document AI の Form Parser です。 公式のプロセッサ一覧では、OCRのテキストに加えてキーと値のペア、表、一般的なエンティティを抽出するとされ、言語の一覧には日本語(ja)があります。車検証は「車台番号」「型式」のような項目名の横に値が並ぶ書類で、キーと値の組で読む形に向いています。
03どうやって実装するのか
処理の起点を決める
担当者が受け取った写しを取込フォルダに保存することを起点にします。 メールとメッセージの添付はそれぞれの画面から保存し、ファイル名は「顧客番号_受信日」にします。 Apps Script の時間主導型トリガーが10分おきに取込フォルダを見ます。
1回の実行で処理する件数に上限を置きます。 Apps Script の1回の実行は6分までなので、1回に10件までとし、残りは次の実行に回します。 処理済みのフォルダへ移すのは、転記シートへの書き込みまで成功したときだけにします。
顧客のメールから自動で添付を拾う形にはしません。 車検証以外の写真(車の外観、免許証、前の保険証券)が一緒に届くことが多く、どれを読むかを担当者が選ぶほうが、余計な個人の情報を流さずに済みます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 車検証の写し | 写真(JPEG・PNG)またはPDF。顧客番号、受信日 | 取込フォルダ |
| 読み取り結果 | 項目名と値の組、全文のテキスト、文字ごとの位置と信頼度 | Document AI(Form Parser) |
| 書類の種類ごとの項目表 | 券面・記録事項・旧様式のそれぞれに載っている項目 | 代理店で用意する表 |
| 見積の入力項目の一覧 | 保険会社ごとの見積の画面の項目名と入力の形式 | 代理店で用意する一覧 |
| 顧客台帳 | 顧客番号、契約者の氏名、既存の契約の車 | スプレッドシート |
質を決めるのは、書類の種類ごとの項目表です。 この表が無ければ、空の欄を見るたびに「読めなかったのか、載っていないのか」を担当者が考えることになります。表を一度作れば、判断は機械の照合になります。
見積の入力項目の一覧は、保険会社ごとに持ちます。 年月の書き方(和暦か西暦か)や、登録番号を1つの欄に入れるか分けるかが、保険会社の画面によって違います。転記シートはこの一覧の並びと形式で書き出し、担当者が上から順に打ち込めるようにします。
データの取得方法を決める
読み取りは、Apps Script から Document AI の処理の API を呼ぶだけです。ファイルを渡すと、Document という形の応答が返ります。
| 取るもの | 応答のどこから | 何に使うか |
|---|---|---|
| 項目名と値の組 | pages[].formFields[] の fieldName と fieldValue | 車名、型式、初度登録年月、車台番号、登録番号、用途 |
| 全文のテキスト | text と、各要素の textAnchor | 書類の種類の見分け、組で取れなかった欄の拾い直し |
| 信頼度 | 各要素の layout の confidence | 車台番号と型式の、文字ごとの読み取りが確かかの判定 |
| 位置 | 各要素の layout の boundingPoly | 写真の傾きの確認、欄の位置の照合 |
車台番号の信頼度は、欄全体ではなく文字ごとに見ます。 公式には、OCRはページの中のブロック・段落・トークン・シンボルの単位で文字を検出し(シンボルの単位は設定したときだけ出力)、どの要素にも位置と信頼度を持つ layout が付くとされています。車台番号の欄はシンボルの単位を出す設定にします。車台番号の欄の中で1つでも基準を下回る文字があれば、欄全体を low_confidence にします。 欄全体の平均で見ると、1文字の読み違いが平均に埋もれます。
所有者・使用者の住所の欄は、ここで Apps Script が伏せます。 見積に住所は要らず、生成AIに渡す理由がありません。
AIへ渡す前に整形する
- 形式の確認 … Document AI の対象は PDF、GIF、TIFF、JPEG、PNG、BMP、WebP などです。メッセージで届く HEIC 形式の写真は、JPEG に直してから渡します
- 解像度の確認 … 公式には、スキャンは最低200dpiが望ましく、300dpi以上が一般に最もよい結果になるとされています。写真は長い辺の画素数が少ないものを先に弾き、撮り直しを頼みます
- 圧縮の確認 … 非可逆の形式は画質と精度を落とすことがあるとされています。メッセージのアプリで圧縮された写真は、元の画質で送り直してもらう候補にします
- 向きと傾きの確認 … 横向き・逆さの写真は向きを直します
- 電子署名付きの PDF の見分け … 車検証閲覧アプリから出力した記録事項の PDF は、画像ではなくそのまま渡します
- 複数の書類の分け … 券面と記録事項が1枚の写真に並んでいるものは、そのまま渡し、書類の種類の見分けで両方を扱います
2番目と3番目を軽く見ないでください。 車台番号の1文字は、写真の画質でいちばん先に崩れます。画質の足りない写真を読ませて low_confidence が並ぶより、最初に撮り直しを頼むほうが顧客の手間も少なく済みます。
AIに処理させる
させるのは、書類の種類を見分けることと、車の項目を見積の入力項目に写すことだけです。 欄が載っているかどうかの判断と、値の正しさの判断はさせません。
| 写す項目 | 当たるものの例 | 判断できないときの扱い |
|---|---|---|
| 書類の種類 | 電子車検証の券面、自動車検査証記録事項、旧様式の車検証 | 決められなければ unknown |
| 車名 | 「車名」の欄の値 | 書かれたとおりに写す |
| 型式 | 「型式」の欄の値 | 記号と数字を書かれたとおりに。 原動機の型式と混ぜない |
| 初度登録年月 | 「初度登録年月」「初度検査年月」 | 書かれた表記のまま。西暦への変換はしない |
| 車台番号 | 「車台番号」の欄の値 | 1文字も直さない |
| 登録番号 | 「自動車登録番号」「車両番号」 | 書かれたとおりに写す |
| 用途・自家用の別 | 「用途」「自家用・事業用の別」 | 書かれていなければ空 |
| 有効期間の満了する日 | 「有効期間の満了する日」 | 書かれていなければ空 |
型式と原動機の型式を混ぜないことを、表に明記しています。 券面には「型式」と「原動機の型式」が並び、項目名の読み取りが崩れると、原動機の型式を車の型式として写すことがあります。 車の区分が別のものになります。
| させないこと | 理由 |
|---|---|
| 車台番号・型式の「修正」 | 似た文字に直すと、別の車の番号になる |
| 項目が載っているかの判断 | 書類の種類ごとの項目表で決める |
| 初度登録年月の西暦への変換 | 変換は規則で行い、元の表記を残す |
| 車名や型式からの車種・グレードの推定 | 見積の画面が型式から決める。AIの推定を入れない |
| 載っていない項目の補完 | 有効期間などを推し量らない |
1行目がいちばん起きやすい失敗です。 「O」と読まれた文字を、前後が数字だからと「0」に直すのは自然に見えます。それが正しくても、直したという事実が記録に残らなければ、人はその文字を確かめません。 直すのは人で、AIには読めた文字と、自信が無いという印を返させます。
指示内容を固定する
あなたは保険代理店で、顧客から届いた自動車検査証の写しを読み、
自動車保険の見積の入力項目に写す下書きを作る立場です。
OCRが返した読み取り結果だけを見てください。推測で埋めないでください。
【やること】
1. 書類の種類を、電子車検証の券面(card)、自動車検査証記録事項(record)、
旧様式の車検証(legacy)、それ以外(other)から選んでください。
2. 車名、型式、初度登録年月(または初度検査年月)、車台番号、
登録番号、用途、自家用・事業用の別、有効期間の満了する日を写してください。
3. 読み取り結果の中の [MASKED] は伏せた値です。そのままにしてください。
【厳守事項】
- 文字は書かれたものをそのまま入れてください。
車台番号と型式は、英字と数字を1文字も直さないでください。
「O」と「0」、「I」と「1」などで迷っても、読み取り結果の文字のまま写してください。
- 「型式」と「原動機の型式」を混同しないでください。
- 年月は書かれた表記のまま写し、西暦などへの変換をしないでください。
- 書かれていない項目は空にしてください。ほかの欄や車名から推し量らないでください。
- その項目がこの書類に載っているかどうかについて、判断を書かないでください。
- 車種、グレード、保険料、補償について書かないでください。
- evidence には、各値の根拠にした文字列をそのまま写してください。
【読み取り結果(キーと値の組、全文。住所は伏せてあります)】{ocr_result}
「載っているかどうかの判断を書かない」を入れるのは、AIが親切に説明するからです。 何も言わなければ、有効期間が空のときに「電子車検証のため記載がありません」と添えます。正しいことも多いのですが、旧様式の写しで端が切れていたときにも同じことを書きます。 判断は項目表に任せます。
「車種やグレードを書かない」も同じ理由です。 型式から車種を推し量った一言が転記シートにあると、担当者が見積の画面の車種の選択でその言葉に引っ張られます。
出力形式を固定する
Claude API の構造化出力で、次の形のJSONに固定して受け取ります。 公式には、output_config.format に json_schema の形でスキーマを渡すと、制約付きのデコードでスキーマに従う応答を返すとされ、enum と required を使え、オブジェクトの additionalProperties は false にする必要があります。
{
"doc_type": "card | record | legacy | other | unknown",
"vehicle": {
"name": { "value": "" },
"model_code": { "value": "" },
"first_registration": { "value": "" },
"chassis_no": { "value": "" },
"registration_no": { "value": "" },
"usage": { "value": "" },
"private_or_business": { "value": "" },
"expiry_date": { "value": "" }
},
"evidence": [{ "field": "", "text": "" }]
}
信頼度はこのJSONに入れません。 文字ごとの信頼度は Document AI の応答から Apps Script が直接取り、evidence の文字列の位置と突き合わせて欄に付けます。 AIに信頼度を書かせると、それらしい数字を書きます。
| 状態 | 付ける条件(Apps Script が決める) |
|---|---|
ok | 値があり、欄の中のすべての文字の信頼度が基準以上 |
low_confidence | 値はあるが、欄の中に信頼度が基準を下回る文字がある |
not_on_document | 書類の種類の項目表で、その項目が「載っていない」 |
missing | 項目表で「載っている」のに、値が無い |
format_error | 車台番号の文字数や、年月の形が想定と合わない |
この表が、出力を分けた理由です。 doc_type だけをAIが決め、その書類に何が載っているはずかは項目表、値が確かかは信頼度、という別々の物差しで状態を決めます。 not_on_document は撮り直しではなく記録事項の依頼に、missing と low_confidence は撮り直しか写しとの見比べにつながります。
doc_type が unknown のときは、すべての空の欄を missing として扱います。 書類の種類が分からないまま not_on_document にすると、本当は読めていない欄を「載っていない」と片付けることになります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 取込フォルダ | Apps Script の時間主導型トリガー | 新しい写しを拾う |
| Document AI | API呼び出し | 項目名と値の組・全文のテキスト・信頼度を返す |
| Claude API | API呼び出し(構造化出力) | 住所を伏せた読み取り結果から、書類の種類の見分けと項目への対応付け |
| 項目表・入力項目の一覧 | スプレッドシートの読み取り | 欄ごとの状態の判定と、転記シートの並び |
| 転記シート | スプレッドシートへの書き込み | 保険会社の画面の順に、値と状態と写しへのリンク |
| 顧客への依頼の文案 | スプレッドシートへの書き込み | 記録事項の写しや撮り直しの依頼の下書き |
| 保険会社の見積の画面 | 書き込まない | 打ち込みは担当者が行う |
転記シートは、保険会社の画面の項目の順に並べます。 担当者は左に写し、右に見積の画面を開き、上から順に値を写し、ok 以外の欄だけ写しと見比べます。 年月の変換や登録番号の分割は、入力項目の一覧の形式に合わせて Apps Script が規則で行い、元の表記も隣に残します。
顧客への依頼は自動で送りません。 文案は「記録事項の写しをお願いします(車検証閲覧アプリから出力した PDF でも結構です)」のような下書きにとどめ、送るのは担当者です。
人が確認する
人が見るのは、ok 以外の欄と、doc_type が unknown の写しだけです。 ok の欄は転記シートから見積の画面へ写すだけにします。全欄を写しと見比べる設計にすると、第10章の10.0時間には収まりません。
low_confidenceの欄を写しと見比べる … 車台番号は1文字ずつ見ます。読めなければ撮り直しを頼みますnot_on_documentの項目が見積に要るかを見る … 要るときだけ、記録事項の写しを頼みますmissingとformat_errorを確かめる … 写しの端が切れていないか、光の反射で消えていないかを見ます- 見積の画面に打ち込む … 打ち込んだ日時と担当者を転記シートに残します
1番目を省かないでください。 車台番号の1文字違いは、見積の段階では誰も気づかず、契約の手続きで保険会社から差し戻されてから分かります。 そのときには顧客に二度目の連絡をすることになります。
目標は、300件をならして1件2分です。 ok 以外の欄が出るのは2割前後という想定で、それより多い月は、写真の画質か、メッセージのアプリの圧縮を疑います。
例外に対処する
| 起きること | 対応 |
|---|---|
| 券面の写真だけで有効期間が要る | not_on_document。撮り直しではなく記録事項の写しを頼む |
| 写真の画質が足りない | 読ませる前に弾き、撮り直しを頼む |
| 光の反射で欄の一部が消えている | missing。角度を変えた撮り直しを頼む |
| 券面と記録事項で値が食い違う | 両方を転記シートに並べ、記録事項の値を採るかは人が決める |
| 車台番号の文字数が想定と合わない | format_error。写しと見比べる |
| 車検証でない書類(免許証、保険証券) | doc_type が other。読み取り結果を転記せず、担当者へ |
| APIが応答しない、6分を超える | 取込フォルダに残す。処理済みへ移すのは書き込み成功時だけ |
1行目が、この構成でいちばん多い例外です。 撮り直しを頼んでも同じ券面の写真が届くだけなので、最初から記録事項を頼む連絡になっていることが、顧客の手間をいちばん減らします。
記録を残す
- 元の写しのファイルと、顧客番号・受信日・取込の日時
- Document AI が返した
DocumentのJSONの全文 - Claude API に渡した伏せた後の読み取り結果と、返ってきたJSON
- Apps Script が付けた欄ごとの状態と、そのとき使った項目表の版
- 担当者が直した値と、見積の画面に打ち込んだ日時・担当者
- 顧客に撮り直しや記録事項を頼んだ記録
5つ目の「直した値」は、読み取りの弱い文字を知る材料になります。 「0」と「O」の直しが多いなら、信頼度の基準を上げるか、車台番号の欄だけは全件を人が見る運用に切り替える判断ができます。
04実装レベルの3段階
半自動化で、1件6分が4分程度になります。 打ち込む値は転記シートに並びますが、どの欄を見比べるべきかと、券面に無い項目の扱いが人の判断のまま残ります。本格構成で2分になり、この段階が本記事の想定です。 差が大きいのは、見比べる欄が low_confidence に絞られ、聞き直しの連絡が最初から正しい依頼になるからです。 段階を飛ばさないでください。 半自動化の転記シートを1か月見ると、どの書類の種類が多く届くかが分かります。券面だけが多ければ、見積の依頼の案内に「記録事項の写しも」と書き足すほうが先に効きます。
05工数削減シミュレーション
導入後 300件 × 2分 ÷ 60 = 10 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自動車保険の新規の見積や車両入替の依頼を毎月数百件受け、顧客から車検証の写真やコピーをメール・メッセージで受け取って、見積の画面へ手で打ち込んでいる保険代理店。自動車販売店の中で保険の代理店を兼ねている場合。電子車検証の券面だけが届き、有効期間などを顧客に聞き直す手間が出ている場合。Google Workspace を使っている場合。
- 見積の依頼が月に数十件で、手入力で足りる場合。顧客が保険会社の見積の画面に車の情報を自分で入れる仕組みが主になっている場合。電子車検証のICタグを店頭で読み取る運用がすでにあり、写しを読む必要がない場合。なお、補償の内容や保険料の案内、契約の引受の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月受け取った車検証の写しから、電子車検証の券面、記録事項、旧様式を混ぜて20件を選ぶ
- 所有者・使用者の氏名と住所を画像の上で塗りつぶす
- 1件ずつ、手元のAIサービスの画面に貼り付ける
- 「この自動車検査証から、車名、型式、初度登録年月、車台番号、登録番号、有効期間の満了する日を表にしてください。文字は書かれたとおりに写し、車台番号と型式の文字を直さないでください。書かれていない項目は空にしてください」と指示する
- 出てきた表を、見積の画面に打ち込み済みの値と1欄ずつ突き合わせる
| 出てきた内容 | 判断 |
|---|---|
| 車台番号と型式が一致し、券面で有効期間が空のままだった | OCRとワークフローの連携に進む |
| 車台番号の文字を直した、有効期間を推し量った | 指示の書き方で直る。構成は有効 |
| 写真の画質で読めない件数が多い | 写真の受け取り方が先。 AIの問題ではない |
2番目を省かないでください。 試す段階でも、見積に要らない個人の情報を外のサービスへ出さない習慣を最初から作ります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 車台番号の文字をAIが「修正」する | 1文字も直さないと明記し、直しは人が行う |
| 券面に無い項目を「読めない」と扱う | 書類の種類ごとの項目表で not_on_document を分ける |
| 型式に原動機の型式が入る | 指示で混同を禁じ、項目名の読み取りが崩れた写しは人へ |
| 1文字の読み違いが平均の信頼度に埋もれる | 文字ごとの信頼度で欄の状態を決める |
| メッセージのアプリで写真が圧縮される | 元の画質での送り直しを頼む |
| HEIC の写真が読めない | JPEG に直してから渡す |
| 年月の表記が保険会社の画面と違う | 変換は規則で行い、元の表記を隣に残す |
| 書類の種類が分からないのに空欄を「載っていない」とする | unknown のときは空欄をすべて missing に |
| 依頼のメッセージが自動で飛ぶ | 文案までにする。 送るのは担当者 |
上の2行が、この構成の失敗のほとんどです。 前者は契約の誤りに、後者は顧客への空振りの依頼につながり、どちらも「読めた値」と「載っている項目」を別の物差しで見ていないことから起きます。
4行目は、運用を始めてから気づくことが多い問題です。 欄の平均が高いと ok になり、1文字だけの読み違いがそのまま転記シートに並びます。 最初から文字ごとに見る設計にします。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 車の情報(車名、型式、車台番号、登録番号)と、記録事項や旧様式の写しに載っている所有者・使用者の氏名と住所です。車台番号と登録番号は、車と人を結びつける情報です。
- 生成AIに渡す範囲を絞る … 所有者・使用者の住所は伏せてから渡します。氏名も見積に要らなければ伏せる設計にできます
- 担当者が読む書類を選ぶ … 顧客のメールの添付を自動ですべて読み込まず、車検証の写しだけを取込フォルダに置きます。 免許証や保険証券を流さないためです
- AIに渡すのは写し1件分だけにする … 顧客台帳や既存の契約の一覧を生成AIへ渡しません
- 見積の画面へ自動で入力しない … 打ち込みは担当者です。見積の値が契約の内容になります
- フォルダの権限と保存の期間を決める … 顧客ごとのフォルダは営業部の担当者だけが見られるようにし、見積で終わった写しをいつ消すかを決めます
- 保険会社との取り決めを確かめる … 顧客の情報を外部のクラウドの API で扱うことが、委託元の保険会社との取り決めや代理店の規程で認められているかを先に確かめます
- この構成は見積と引受の判断を代替しない … どの補償を勧めるか、保険料をどう案内するかは、担当者と保険会社の判断です。 この構成が出すのは、写しに何が書かれていたかという事実と、その確かさだけです
誤りが起きた場合のリスクは、車台番号などの読み違いによる契約の誤りと、顧客への空振りの依頼の2つです。 前者は文字ごとの信頼度とAIに直させないことで、後者は項目表で not_on_document を分けることで防ぎます。
10まず何から始めるか
1週目:項目表を作る
国土交通省の電子車検証の特設サイトで、券面に記載される項目とICタグにだけ記録される項目を確かめ、電子車検証の券面、記録事項、旧様式の3つについて、見積に使う項目が載っているかを○×で並べます。
2週目:20件で試す
先月の写しから20件を選び、氏名と住所を塗りつぶしてから手元のAIサービスで表にさせます。車台番号の文字を直していないか、有効期間を推し量っていないかを最優先で見ます。
3週目:入力項目の一覧と受け取り方を決める
保険会社ごとの見積の画面の項目と形式を一覧にします。あわせて、見積の依頼の案内に「車検証は記録事項の写しか、車検証閲覧アプリから出力したPDFで」と書き足します。
4週目:取込フォルダから転記シートまでをつなぐ
Apps Script で取込フォルダを見張り、Document AI を呼び、住所を伏せて Claude API を呼び、転記シートに書き出すところまで作ります。この時点では状態を付けず、写した値と文字ごとの信頼度だけを見ます。
2か月目: 項目表との照合と状態の判定、依頼の文案を足します。3か月目以降: 1件6分が何分になったかを実測します。券面だけの写しに、撮り直しではなく記録事項の依頼が最初から出るようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Form Parser がOCRのテキストに加えてキーと値のペア、表、一般的なエンティティを抽出すること。言語の一覧に日本語(ja)があること | Google Cloud: Processor list | 2026-10-06 |
| Form Parser がキーと値のペア、表、チェックボックス、一般的なフィールドを抽出すること | Google Cloud: Form Parser | 2026-10-06 |
formFields が fieldName と fieldValue を持つこと。OCRがブロック・段落・トークン・シンボル(シンボルは設定時のみ)の単位で検出し、各要素の layout に textAnchor、boundingPoly、信頼度が付くこと | Google Cloud: Handle the processing response | 2026-10-06 |
| 対応形式が PDF、GIF、TIFF、JPEG、PNG、BMP、WebP などであること。スキャンは最低200dpiが望ましく300dpi以上が一般に最もよいこと。非可逆の形式で精度が落ちうること | Google Cloud: Supported files | 2026-10-06 |
| 電子車検証の券面には変更登録等を伴わない基礎的情報のみが記載され、券面記載事項に車台番号・車名・型式・原動機の型式・初度登録年月/初度検査年月があること。有効期間と所有者の氏名・住所は券面に表示されずICタグにのみ記録されること。二次元コードから有効期間は確認できないこと | 国土交通省 電子車検証特設サイト: 電子車検証について | 2026-10-06 |
| 自動車検査証記録事項が、ICタグに記録され券面で確認できない事項を確認できるよう補助的に渡される書面であること。車検証閲覧アプリから PDF で入手できること。券面のコピーは可能なこと | 国土交通省 電子車検証特設サイト: よくあるご質問 | 2026-10-06 |
| 車検証閲覧アプリから記録事項を PDF で出力でき、ICタグの内容も含めたすべての車検証情報が記載されること。出力した PDF に電子署名が付与され、改ざんされていないことを確認できること | 国土交通省 電子車検証特設サイト: 車検証閲覧アプリ | 2026-10-06 |
構造化出力が GA で、output_config.format に json_schema を渡すこと。制約付きのデコードでスキーマに従う応答を返すこと。enum と required を使え、オブジェクトの additionalProperties は false にする必要があること | Claude API: Structured outputs | 2026-10-06 |
見積と契約に必要な車の情報と、顧客の情報の扱いは、委託元の保険会社の定めと自社の規程に従ってください。 本記事は各製品と国土交通省の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0592)についてのご相談はこちらから。
