Media > AI活用ユースケース > カスタマーサポート > 保険会社に郵送で届く手書きの住所・氏名の変更届を読み取り、証券番号・新しい住所・届出日を事務の入力項目にそろえて、記入漏れと印の欠けを拾う

保険会社に郵送で届く手書きの住所・氏名の変更届を読み取り、証券番号・新しい住所・届出日を事務の入力項目にそろえて、記入漏れと印の欠けを拾う

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

郵送で届く手書きの住所・氏名の変更届を読み取り、証券番号・変更の対象・新しい住所・届出日を契約管理の入力項目にそろえます。記入漏れ、印の欠け、郵便番号と住所の食い違いは、入力の前に印を付けて返します。

サマリー
生成AI
ChatGPT/Claude
AIサービス
Azure AI/Google Document AI
連携・自動化
Google Apps Script/Python
対象業界
保険/金融
対象部門
カスタマーサポート
対象業務
データ入力・転記/内容確認・チェック
主な課題
人手が足りない/入力作業が多い/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/対応スピード向上/工数削減
導入難易度
★★☆☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
条件付き
現在工数
120h/月
AI導入後
40h/月
想定削減
67%
年間削減
960h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 郵便で届いた届を開封し、受付日の印を押して複合機でスキャンする
  2. 担当者が届のPDFを開き、証券番号を契約管理システムで1件ずつ検索する
  3. 画面の契約者名・登録住所と、届の氏名・旧住所を見比べる
  4. 変更の対象のチェックを見て、契約者・被保険者・受取人のどの住所を変えるかを決める
  5. 新しい住所と郵便番号、電話番号を入力画面に打ち込む
  6. 記入漏れ、印の欠け、読めない字があれば入力を止め、返送の一覧に書き出す
  7. 返送のものは不備の箇所を書いた案内を付けて契約者に送り、届いたものは別の担当が入力内容を確かめる
導入後(After)
  1. 人届を開封し、受付日を記録して複合機でスキャンする(1枚の届を1つのPDFにする)
  2. 自動Python のプログラムが15分おきに共有フォルダを確かめ、新しいPDFを取り出す
  3. 自動Google Document AI の Form Parser が、欄のキーと値、チェック欄の状態、それぞれの信頼度と位置を返す
  4. 自動Claude API が、読み取り結果を「届の見出し」と「証券番号ごとの行」に、書かれたとおりに写す。印の欄の画像を見て、印があるかを答える
  5. 自動Python が、証券番号を契約管理システムの写しで引き当て、氏名と旧住所を照らし、郵便番号を日本郵便の郵便番号データで照らす
  6. 自動契約ごと・役割ごとの入力行を「入力待ち」の一覧に書き、印の付いた届は「確認待ち」の一覧に、届の画像のリンクとともに載せる
  7. 人担当者が、印の無い届を一覧で流し見て、契約管理システムの一括取込に回す
  8. 人担当者が、確認待ちの届を見て、返送するか、補って入力するか、上席に回すかを決める
各工程の詳しい説明を読む
  1. 郵便で届いた届を開封し、受付日の印を押して複合機でスキャンする
  2. 担当者が届のPDFを開き、証券番号を契約管理システムで1件ずつ検索する
  3. 画面の契約者名・登録住所と、届の氏名・旧住所を見比べる
  4. 変更の対象のチェックを見て、契約者・被保険者・受取人のどの住所を変えるかを決める
  5. 新しい住所と郵便番号、電話番号を入力画面に打ち込む
  6. 記入漏れ、印の欠け、読めない字があれば入力を止め、返送の一覧に書き出す
  7. 返送のものは不備の箇所を書いた案内を付けて契約者に送り、届いたものは別の担当が入力内容を確かめる

(a)打ち込みが多い。 1枚の届に証券番号が2〜3件書かれることは珍しくなく、新しい住所を契約の数だけ打ち込みます。 番地や建物名の長い住所は、1か所打つだけで1分近くかかります。

(b)役割の打ち漏れ。 変更の対象に「契約者」と「被保険者」の両方にチェックがあっても、契約者の住所だけを変えて次の届に進んでしまうことがあります。打ち漏れは画面の上では見えず、次の通知が旧住所に届いて初めて分かります。

(c)記入漏れに気づくのが入力の途中。 届出日や印の欄の空きは、入力を半分進めたところで気づくことが多く、そこまでの入力を破棄して返送の一覧に書きます。届出日の空きを返送するか、受付日で補ってよいかは、担当者によって判断が分かれています。

(d)郵便番号と住所が合わない。 転居前の郵便番号を書いた届があります。どちらを正とするかを担当者がその場で決めて打ち込んでいるので、後から理由が分かりません。

  1. 【人】 届を開封し、受付日を記録して複合機でスキャンする(1枚の届を1つのPDFにする)
  2. 【自動】 Python のプログラムが15分おきに共有フォルダを確かめ、新しいPDFを取り出す
  3. 【自動】 Google Document AI の Form Parser が、欄のキーと値、チェック欄の状態、それぞれの信頼度と位置を返す
  4. 【自動】 Claude API が、読み取り結果を「届の見出し」と「証券番号ごとの行」に、書かれたとおりに写す。印の欄の画像を見て、印があるかを答える
  5. 【自動】 Python が、証券番号を契約管理システムの写しで引き当て、氏名と旧住所を照らし、郵便番号を日本郵便の郵便番号データで照らす
  6. 【自動】 契約ごと・役割ごとの入力行を「入力待ち」の一覧に書き、印の付いた届は「確認待ち」の一覧に、届の画像のリンクとともに載せる
  7. 【人】 担当者が、印の無い届を一覧で流し見て、契約管理システムの一括取込に回す
  8. 【人】 担当者が、確認待ちの届を見て、返送するか、補って入力するか、上席に回すかを決める

6番目が、この設計の分かれ目です。 1枚の届を、証券番号×役割の数だけの行に展開してから人に見せます。 3件×2役割の届なら6行が並び、担当者は行の数で打ち漏れが無いことを確かめられます。

契約管理システムへの反映は、人が一括取込に回した行だけです。 読み取った住所がそのまま登録住所になる経路は作りません。

02今回想定するシステム構成

構成図
住所・氏名の変更届(手書き、郵送)
   │  開封・受付日の記録・スキャン(1枚1PDF)
   ▼【トリガー】Python の定時実行(15分おき)
Python ── 新しいPDFを取り出す
   ▼
Google Document AI(Form Parser)
   │   欄のキーと値、チェック欄、信頼度、位置
   ▼
Claude API ── 見出しと証券番号ごとの行に、書かれたとおりに写す
   │          印の欄の切り出し画像を見て、印の有無を答える
   ▼
Python ── 証券番号の引き当て/氏名・旧住所の照合/郵便番号データとの照合
   ▼
「入力待ち」一覧 ──▶ 印の付いた届は「確認待ち」一覧へ(届の画像のリンク)
   ▼
【担当者が流し見て一括取込に回す/確認待ちを判断する】
   ▼
契約管理システムの一括取込(人の操作)
役割想定する製品代替候補
OCRGoogle Document AI(Form Parser)Azure AI Document Intelligence
生成AIClaude API(読み取り結果を入力項目に写す、印の欄の有無を答える)OpenAI API
連携Python(フォルダの確認、各APIの呼び出し、一覧への書き込み)Google Apps Script
差異計算Python(証券番号の引き当て、旧住所の照合、郵便番号の照合)Google Apps Script
保管社内のファイルサーバー(届のPDFと読み取り結果)社内の文書管理システム

新しく足すのは、日本郵便の郵便番号データと、契約管理システムから出す照合用の写しです。 照合用の写しは、証券番号、契約者・被保険者・受取人の氏名と登録住所、届出印の有無の区分だけに絞り、夜間に出して翌日の照合に使います。

土台は Document AI の Form Parser です。 公式のページでは、Form Parser はキーと値のペア、表、チェックボックスなどの選択マーク、一般的なエンティティ、テキストを取り出すとされ、プロセッサの一覧で日本語(ja)は手書きに対応する言語として示されています。「証券番号」「新しいご住所」のようなラベルの付いた空欄に書き込む様式は、Form Parser が得意とする形と書かれています。

チェック欄は、塗られているかどうかが値の種類として返ります。 公式のページでは、チェックボックスは近くの文字をキーとしたキーと値のペアとして返り、valueType が filled_checkbox か unfilled_checkbox になるとされています。変更の対象(契約者・被保険者・受取人)は、この値で決めます。

注意書きのうち効くのは3つです。 ラジオボタンは読めないこと、値が空のキーと値のペアは確実には読み取れないこと、一部の言語ではキーと値の質がラテン文字より低いことがあることです(第7章)。

処理する場所は、リージョンの一覧から選びます。 マルチリージョンの us と eu、単一リージョンのシンガポール(asia-southeast1)などがあり、日本のリージョンはありません。 届には契約者の氏名・住所・電話番号が書かれるので、国外で処理してよいかを導入前に社内の規程で確かめます(第13章)。

03どうやって実装するのか

Step1

処理の起点を決める

Python のプログラムを15分おきに動かし、複合機の保存先の共有フォルダに新しいPDFがあるかを確かめます。 動かすのは社内のサーバーの定時実行の仕組みで、事務センターの開いている時間だけにします。

15分おきにするのは、午前の郵便で届いた届の確認待ちを、その日のうちに片づけるためです。 夜間にまとめると、3月・4月の繁忙期には確認待ちが数日分たまります。

処理が終わったPDFは「処理済み」のフォルダに移します。 移すのは一覧への書き込みが終わったときだけで、保存先のフォルダに残っている数が、そのまま未処理の数になります。 スキャンは1枚の届を1つのPDFにし、2人分の届が1件にまとまらないようにします。

Step2

入力データを集める

データ中身取得元
変更届のPDFスキャンした届の画像、受付日、スキャンした日時複合機の保存先の共有フォルダ
読み取り結果欄のキーと値、チェック欄の状態、各要素の信頼度と位置Google Document AI
印の欄の切り出し画像様式で決まった位置の印の欄だけを切り出したものPython が届の画像から切り出す
照合用の写し証券番号、契約者・被保険者・受取人の氏名と登録住所、届出印の有無の区分契約管理システムから夜間に出したファイル
郵便番号データ郵便番号、都道府県、市区町村、町域日本郵便の郵便番号データ(CSV)
受付の決まり届出日の空きの扱い、返送の基準、上席に回す条件自社で用意する表

質を決めるのは、照合用の写しです。 写しに無い証券番号は引き当てられず、前日に別の手続きで住所が変わった契約は、写しの登録住所がすでに新しくなっています。

郵便番号データは、日本郵便が公開している1レコード1行・UTF-8形式のCSVを使います。 手元に置いて照合するので、届の住所を外部の検索サービスに送らずに済みます。

Step3

データの取得方法を決める

Python は、Document AI のクライアントライブラリで Form Parser のプロセッサに届のPDFを送ります。オンラインの処理は1回の要求で最大15ページなので、1枚の届は1回で足ります。

取るものどこから何に使うか
欄のキーと値各ページの formFields(fieldName/fieldValue)証券番号、旧住所、新しい住所、郵便番号、電話番号、新しい氏名、届出日、記入者
チェック欄の状態fieldValue の valueType(filled_checkbox/unfilled_checkbox)変更の対象(契約者・被保険者・受取人)
全文応答の text欄として取れなかった値を本文から拾う
信頼度各要素の layout の confidence読めた字とかすれた字の区別
位置layout の boundingPoly確認のとき届の該当箇所を示す

印の欄は、Form Parser のキーと値に頼りません。 公式のページでは、値の入っていないキーと値の組は確実には読み取れないとされています。印の欄はもともと文字の無い欄なので、押されていないのか、読み取りから落ちたのかを区別できません。 自社の様式で印の欄の位置は決まっているので、Python が届の画像からその範囲を切り出し、Claude API に画像として渡します。

公式のページでは、Claude API の画像は JPEG、PNG、GIF、WebP に対応し、最大8000×8000ピクセル、APIを直接使うときは1枚10MB(base64エンコード後)までとされています。切り出しはPNGにして小さく保ちます。証券番号と郵便番号は文字列のまま扱い、先頭の0を落としません。

Step4

AIへ渡す前に整形する

  1. 形式の確認 … 公式の対応形式は PDF、GIF、TIFF、JPEG、PNG、BMP、WebP などです。複合機の保存はPDFにそろえます
  2. 解像度の確認 … 公式のページでは、スキャンは最低200dpiが望ましく、300dpi以上が一般に最もよいとされています。複合機の既定の設定を300dpiにしておきます
  3. 様式の確認 … 1ページ目の様式番号の位置に、自社の様式番号が読めるかを見ます。読めなければ、他社の書類か古い様式として確認待ちに回します
  4. 印の欄の切り出し … 様式で決まった位置から、印の欄と記入者の氏名の欄を切り出します
  5. 重複の確認 … 同じ証券番号で、受付日の近い届がすでにあれば、再送か訂正かを確かめる印を付けます
  6. 同封物の確認 … 2ページ目以降の別の書類は読み取りから外し、確認待ちに添えます

3番目を先に行うのは、印の欄の切り出しが様式の位置に頼っているからです。 古い様式では位置が違い、別の欄を切り出して「印なし」と答えることになります。

Step5

AIに処理させる

させるのは、読み取り結果を契約管理の入力項目に書かれたとおりに写すことと、印の欄の画像に印があるかを答えることです。 証券番号の引き当ても、旧住所の照合も、郵便番号の照合も、Python の規則で行います。

させること中身判断できないときの扱い
見出しの写し届出日、記入者の氏名、電話番号、改姓のときの新しい氏名読めなければ unreadable、空欄なら blank
証券番号の写し書かれた証券番号をすべて、書かれた順に桁が欠けていれば unreadable
変更の対象契約者・被保険者・受取人のチェックの状態チェックが無ければ target_blank
住所の写し旧住所、新しい住所、郵便番号を書かれたとおりに読めない字があれば unreadable
住所の分け方新しい住所を、都道府県・市区町村・町域・番地・建物名に分ける分けられなければ split_failed
印の欄の判定切り出した画像に、印らしい朱色の跡があるかかすれて判断できなければ unclear

5行目が、AIを使う理由の1つです。 手書きの住所は「〇〇市△△町1-2-3 □□マンション405」と1行に続けて書かれることも、番地と建物名を2行に分けて書かれることもあります。どこまでが町域でどこからが番地かを決めるのは、決まった規則では書きにくい作業です。

6行目は、印があるかだけを答えさせます。 届出印との照合は既存の仕組みと担当者が行います。

させないこと理由
読めない証券番号の桁を補う別の人の契約を引き当てると、その人の住所が書き換わる
郵便番号を住所から補う、直す住所と郵便番号のどちらが正しいかは本人に確かめる
届出日の空きを受付日で埋める空きを補ってよいかは受付の決まりで決める
旧住所と登録住所の食い違いを判断する本人からの届と認めるかは担当者と上席が決める
印影が届出印と同じかを答える照合は既存の仕組みと人が行う

1行目が、この題材でいちばん重い失敗です。 補った番号がたまたま別の契約の番号だと、別の契約者への通知がすべて他人の住所に届きます。 読めない桁は読めないまま返させ、引き当てられなければ確認待ちにします。

Step6

指示内容を固定する

あなたは保険会社の契約サービスの事務担当で、郵送で届いた
住所・氏名の変更届の読み取り結果を、入力項目に写す立場です。
OCRが返した結果と、添付の印の欄の画像だけを見て答えてください。

【写す項目】
見出し:filing_date_text(届出日。書かれたとおり)、writer_name、
phone_text、new_name(改姓のときの新しい氏名)
証券番号:policy_numbers(書かれたものをすべて、書かれた順に)
変更の対象:target_policyholder、target_insured、target_beneficiary
(チェックの状態。checked/unchecked/unclear)
住所:old_address_text、new_address_text、new_postal_code_text
住所の分割:prefecture、city、town、block、building
印の欄:seal(present/absent/unclear)

【厳守事項】
- 証券番号と郵便番号は、書かれたとおりの文字列で写してください。
  読みにくい桁を、ありそうな数字に直さないでください。
  読めない桁があれば、その項目の status を unreadable にしてください。
- 郵便番号を住所から補ったり、住所に合わせて直したりしないでください。
- 届出日が空欄なら filing_date_text を空にし、status を blank に
  してください。他の日付(受付日の印など)で埋めないでください。
- 新しい住所を分けるときは、書かれた文字だけを使ってください。
  丁目・番地の書き方を「1-2-3」や「1丁目2番3号」にそろえないでください。
  分けられなければ split_failed を true にしてください。
- 旧住所と新しい住所が同じに見えても、そのまま写してください。
- 印の欄の画像は、朱色の印の跡があれば present、何も無ければ absent、
  かすれや汚れで判断できなければ unclear と答えてください。
  届出印と同じ印かどうかは答えないでください。
- 変更届でない書類と判断した場合は、document_type に種類を書いてください。

【読み取り結果】{ocr_result}
【印の欄の画像】(画像として添付)

照合用の写しをAIに渡していないことが、このプロンプトのいちばんの工夫です。 登録住所や契約者名を見せると、読みにくい字を登録されている住所に寄せて写します。寄せた瞬間に、旧住所が登録と合っているかという確かめが意味を失います。 番地の書き方をそろえさせないのも、元の書き方を残して、そろえ方の誤りを後から見つけるためです。

Step7

出力形式を固定する

次の形のJSONで受け取ります。 Claude API の構造化出力(リクエストの output_config.format に type: "json_schema" とスキーマを渡す方式)を使い、形を固定します。

{
  "document_type": "address_change",
  "header": [
    { "item": "filing_date_text | writer_name | phone_text | new_name",
      "value": "", "status": "read | blank | unreadable" }
  ],
  "policy_numbers": [
    { "value": "", "status": "read | unreadable" }
  ],
  "targets": {
    "policyholder": "checked | unchecked | unclear",
    "insured": "checked | unchecked | unclear",
    "beneficiary": "checked | unchecked | unclear"
  },
  "address": {
    "old_address_text": "", "new_address_text": "", "new_postal_code_text": "",
    "prefecture": "", "city": "", "town": "", "block": "", "building": "",
    "split_failed": false, "status": "read | unreadable"
  },
  "seal": "present | absent | unclear"
}

1つ目の理由は、届を「証券番号×変更の対象」の行に機械的に展開できることです。 Python は policy_numbers と targets の checked を掛け合わせて入力行を作り、照合用の写しから役割ごとの登録住所を引いて並べます。

2つ目は、確認待ちに回す理由を規則で持てることです。

条件印
証券番号が unreadable、または照合用の写しに無いpolicy_not_found
記入者の氏名が、その契約の契約者名と合わないname_mismatch
旧住所が、変更の対象の登録住所と合わないold_address_mismatch
郵便番号が郵便番号データに無い、または住所の市区町村・町域と合わないpostal_mismatch
届出日が blank か unreadable、または受付日より後・受付の決まりより古いdate_check
変更の対象のチェックが1つも無い、または uncleartarget_check
印の欄が absent か unclear(届出印のある契約に限る)seal_check
住所の分割に失敗した、または document_type が変更届でないcheck_image

policy_not_found と old_address_mismatch は、他の印より先に担当者に出します。 別の人の契約を引き当てている可能性と、本人以外からの届の可能性があるためです。

公式のページでは、minimum・maximum などの数値の制約や文字列の長さの制約は使えないとされています。証券番号の桁数は Python の照合で確かめます。 拒否は stop_reason が refusal、出力の上限で切れたときは max_tokens になり、スキーマに合わないことがあります。どちらも一覧に書かず、人に回すか呼び直します。

Step8

システムへ連携する

つなぎ先方式内容
複合機の保存先の共有フォルダPython のファイル操作新しいPDFを取り出し、処理済みに移す
Google Document AIクライアントライブラリでの呼び出し欄、チェック欄、信頼度、位置を返す
Claude APIMessages API の呼び出し入力項目への写しと、印の欄の有無
照合用の写し・郵便番号データPython での読み込み証券番号の引き当て、旧住所と郵便番号の照合
入力待ち・確認待ちの一覧書き込み入力行、印、届の画像のリンク
契約管理システム既存の一括取込(人の操作)担当者が回した行だけを取り込む

契約管理システムには、この構成から直接は書き込みません。 一括取込に回すのは担当者で、回すのは印の無い届の行と、確認が済んだ行だけです。読み取りの誤りが、そのまま登録住所になることはありません。

返送の案内も送りません。 不備の箇所を差し込んだ下書きまでにし、送るかは担当者が決めます。

Step9

人が確認する

担当者が見るのは、印の無い届の流し見と、確認待ちの届です。 印の無い届は、展開された行の数と、新しい住所・郵便番号を一覧で見て、一括取込に回します。

  1. policy_not_found と old_address_mismatch を先に見る … 画像で確かめ、旧住所が登録と合わない届は上席に回します
  2. name_mismatch を見る … 改姓の届か、家族が代わりに書いたのかを確かめます
  3. postal_mismatch を見る … どちらが正しいかは推測で決めず、本人に確かめるか返送します
  4. date_check・target_check・seal_check を見る … 受付の決まりに照らして決めます
  5. 決めた結果と理由を記録する

目標は、1,200件をならして1件2分です。

Step10

例外に対処する

起きること対応
スキャンが薄く、読めない字が多いunreadable が並ぶ。スキャンし直し、直らなければ確認待ちへ
古い様式や他社の書類が届く様式番号が読めないものは check_image。印の欄を切り出さない
変更の対象が「○で囲む」形で書かれているチェック欄として返らない。target_check で人へ
新しい住所が海外郵便番号データで照合できない。postal_mismatch にせず、海外住所の印で人へ
新しい町名で郵便番号データに無いpostal_mismatch。日本郵便の変更案内と最新のデータで確かめる
本人確認書類の写しが同封されている届の読み取りから外し、確認待ちに添える
AIが拒否の応答を返すcheck_image で人に回す。一覧には書かない
OCR・AIが応答しないPDFを処理済みに移さずに残す。次の実行で拾い直す

上の3行が大半を占めます。 どれもスキャンの設定と様式の問題です。公式のページでもラジオボタンには対応しないとされており、「○で囲む」欄が多ければ様式の改定の材料になります。

Step11

記録を残す

  • 元の届のPDFと、受付日・スキャンした日時
  • OCRが返したJSONの全文と、Claude API の応答の全文
  • 印の欄の切り出し画像
  • 照合に使った照合用の写しの出力日時と、郵便番号データの版
  • 付いた印と、担当者が決めた結果(返送・補って入力・上席へ)と理由
  • 一括取込に回した行と、回した担当者・日時
  • 様式ごとの unreadable と check_image の件数

4つ目を残すのは、登録住所が日々変わるためです。 どの時点の写しで判断したかが無いと、届の誤りか写しの古さかを区別できません。

04実装レベルの3段階

最小構成:届を手でAIの画面に貼り、項目を写させる / 1枚ごとの読み取り
半自動化:上記+OCRのAPIを呼び、写した値を一覧に書き出す / 読み取りと一覧への書き出し
本格構成:上記+フォルダの確認を自動で回し、証券番号の引き当て・旧住所と郵便番号の照合・印の欄の判定で印を付け、契約ごと・役割ごとの行に展開する / 受付の全体と、確認待ちの振り分け

半自動化で、1件6分が4分程度になります。 打ち込みは無くなりますが、証券番号で契約を開いて見比べる作業と、郵便番号の確かめは、目で行う作業として残ります。 本格構成で2分になり、この段階が本記事の想定です。 差が大きいのは、照合が規則に移り、担当者が見るのが印の無い届の流し見と確認待ちだけになるためです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、読めない字の多い欄が分かります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
6 名
月間件数
1,200 件
1件あたり現在時間
6 分
1件あたり導入後時間
2 分
現在  1,200件 × 6分 ÷ 60 = 120 時間/月
導入後 1,200件 × 2分 ÷ 60 = 40 時間/月
月間削減時間
80h
削減率
67%
年間削減時間
960h
年間金額換算(時間単価3,000円)
288万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 生命保険・損害保険・共済などで、契約者から郵送で届く手書きの住所・氏名の変更届を、契約サービスの事務担当が契約管理システムに打ち込んでいる場合。1枚の届で複数の証券番号や、契約者・被保険者・受取人の住所をまとめて変えることが多い場合。記入漏れや印の欠けに気づくのが入力の途中で、返送の判断が担当者ごとにばらついている場合。届の様式を自社で決めており、印の欄やチェック欄の位置が決まっている場合。
向いていない
  1. 住所変更の大半をすでにWebやアプリの手続きで受けていて、紙の届が月に数十枚しか無い場合。契約者の個人情報を国外のリージョンで処理することを、社内の規程や委託先の管理の決まりで認めていない場合。代理店が書式を独自に作っていて、届の様式がそろっていない場合。なお、届を受け付けるかどうか、本人の届出と認めるかどうか、印影が届出印と一致するかの判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の届から30枚を選ぶ(証券番号が複数の届、変更の対象が2つ以上の届、返送になった届を必ず入れる)
  2. その30枚について、当時の入力内容と、返送の理由を用意する
  3. 届のPDFを手元のAIサービスの画面に1枚ずつ貼り付ける
  4. 「この住所変更届の証券番号、変更の対象、旧住所、新しい住所、郵便番号、届出日、印の有無を、書かれたとおりに写してください。数字を補ったり直したりしないでください。空欄は空欄、読めない字は『読めない』としてください」と指示する
  5. 写された値を、当時の入力内容と返送の理由と比べる
出てきた内容判断
当時と同じ値が写せ、返送になった届の空欄が blank で出たOCRと Python の連携に進む
読めない証券番号をそれらしく決めた指示の書き方で直る。構成は有効
住所の分け方が届ごとにずれる分け方の例を指示に足す。直らない書き方は split_failed として人に回す
読めない字が多いスキャンの設定が先。 300dpiで取り直して比べる

1行目の後半が、この構成の価値を確かめるところです。

08実装時につまずきやすいポイント

問題対策
読めない証券番号の桁をAIが補う書かれたとおりに写させ、読めない桁は unreadable。 引き当てられなければ人へ
読みにくい字が登録住所に寄せられる照合用の写しをAIに見せない。 照合は Python で行う
1枚の届を1件として入力してしまう証券番号×変更の対象の行に展開してから見せる
印の欄が空なのか読み落としなのか分からないキーと値に頼らず、様式の位置で切り出して画像で判定する
郵便番号を住所に合わせて直す補わせない。 郵便番号データとの食い違いは印にして人へ
「○で囲む」欄が読めないラジオボタンは対象外。target_check で人へ回し、様式の改定を検討する
証券番号の先頭の0が落ちる文字列のまま読み書きする
国外での処理を確かめていない日本のリージョンが無い。社内の規程を先に確かめる

上の3行が、この構成の失敗のほとんどです。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 契約者・被保険者・受取人の氏名、旧住所と新しい住所、電話番号、証券番号、改姓のときの新しい氏名、印影です。すべて個人の情報で、転居や改姓という生活の変化が読み取れる情報です。

  1. 国外で処理することを確かめる … Document AI のリージョンの一覧に日本はありません。社内の規程と委託先の管理の決まりで、届を国外のリージョンで処理してよいかを確かめます。認められない場合は、日本のリージョンで処理できる製品を検討します
  2. 生成AIに渡す範囲を絞る … 渡すのは届の読み取り結果と印の欄の切り出し画像だけです。照合用の写しや他の契約の情報は渡さず、照合は Python の側で行います
  3. 登録住所を自動で書き換えない … 契約管理システムへの反映は、担当者が一括取込に回した行だけです
  4. 本人からの届かどうかを機械に決めさせない … 旧住所の食い違いや氏名の食い違いは印にするだけで、受け付けるかどうかは担当者と上席が決めます
  5. 印影を照合に使わない … 生成AIに答えさせるのは印の有無だけです。届出印との照合は既存の仕組みと人が行います
  6. 照合用の写しの持ち方を決める … 写しは照合に要る列だけに絞り、保存先と消す時期を決めておきます

誤りが起きた場合のリスクは、別の契約者の住所を書き換えることと、本人以外からの届を受け付けてしまうことの2つです。 桁を補わせないことと、食い違いを人に回すことで防ぎます。

10まず何から始めるか

1週目:受付の決まりを表にする

届出日の空き、印の欠け、旧住所の食い違い、郵便番号の食い違いを、それぞれ返送するか、補って入力するか、上席に回すかを表にします。担当者ごとにばらついている判断を、ここで一度そろえます。

2週目:30枚で試す

先月の届30枚を、個人情報を伏せた見本にして手元のAIサービスに貼り付け、項目を写させます。読めない証券番号を補っていないか、郵便番号を直していないかを最優先で見ます。

3週目:社内の規程の確認と、照合用の写しの準備

届を外部のサービスで、国外のリージョンで処理してよいかを、社内の規程と委託先の管理の決まりで確かめます。 あわせて、契約管理システムから照合用の写しを夜間に出す手順を決めます。

4週目:フォルダから一覧までをつなぐ

Python で共有フォルダを確かめ、OCRを呼び、写した値を一覧に書き出すところまで作ります。この時点では印を出さず、担当者がこれまでどおり入力しながら、一覧の値が合っているかを見ます。

2か月目: 証券番号の引き当て、旧住所と郵便番号の照合、印の欄の判定と、契約ごと・役割ごとの展開を足し、確認待ちの振り分けを始めます。3か月目以降: 1件6分が何分になったかを実測します。役割の打ち漏れが無くなり、確認待ちが受付の決まりで判断できるものだけになった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-14/最終更新:2026-10-14
確認した内容情報源確認日
Form Parser がキーと値のペア、チェックボックス、表、一般的なエンティティを抽出すること。言語の一覧で日本語(ja)が手書きに対応する言語として示されていること。オンラインの処理が最大15ページであることGoogle Cloud: Processor list2026-10-14
ラベルの付いた空欄に書き込む様式を得意とすること。チェックボックスが valueType で塗られているかを返すこと。ラジオボタンに対応しないこと。値の入っていないキーと値の組を確実には読み取れないこと。一部の言語でキーと値の質がラテン文字より低いことがあることGoogle Cloud: Form Parser2026-10-14
formFields の fieldName/fieldValue、valueType の filled_checkbox/unfilled_checkbox、layout の confidence・boundingPolyGoogle Cloud: Handle the processing response2026-10-14
対応形式が PDF、GIF、TIFF、JPEG、PNG、BMP、WebP などであること。スキャンは最低200dpiが望ましく、300dpi以上が一般に最もよいことGoogle Cloud: Supported files2026-10-14
マルチリージョンが us と eu で、単一リージョンにシンガポール(asia-southeast1)などがあり、日本のリージョンが一覧に無いことGoogle Cloud: Regional and multi-regional support2026-10-14
output_config.format に type: "json_schema" を指定して構造化出力を使えること。数値の minimum・maximum や文字列の長さの制約に対応しないこと。拒否は stop_reason: "refusal"、出力の上限は max_tokens となりスキーマに合わないことがあることClaude Platform Docs: Structured outputs2026-10-14
画像の対応形式が JPEG、PNG、GIF、WebP であること。1枚の最大が8000×8000ピクセル、APIを直接使うとき1枚10MB(base64エンコード後)であることClaude Platform Docs: Vision2026-10-14
住所の郵便番号のCSVと、2023年6月の更新から公表された1レコード1行・UTF-8形式のCSVがダウンロードできること日本郵便: 郵便番号データダウンロード2026-10-14

届を受け付けるかどうか、本人からの届と認めるかどうか、届を外部のサービスで処理してよいかは、自社の受付の決まりと社内の規程に沿って決めてください。 本記事は各製品の公式ページで確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1506)についてのご相談はこちらから。

AI活用について相談する
目次