海外子会社から届く英文の保険証券を読み取り、保険期間・てん補限度額・免責金額をグループの付保台帳に転記して、方針との不足と更新の近いものを拾う
海外子会社から届く英文の保険証券を読み取り、保険期間・てん補限度額・免責金額をグループの付保台帳に転記します。グループの付保方針に届いていない契約と、更新の近い契約を拾って本社の担当者に回します。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- AWS Textract/Azure AI/Google Document AI
- 連携・自動化
- Python
- 対象業界
- 商社/物流/製造
- 対象部門
- 総務/財務
- 対象業務
- データ入力・転記/台帳・マスタ管理
- 主な課題
- 入力作業が多い/情報が見つからない/期限・対応漏れが起きる
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/工数削減/機会損失防止
- 導入難易度
- ★★★☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 子会社が共有フォルダに証券のPDFを入れ、本社の担当者にメールで知らせる
- 担当者がPDFを開き、明細のページを探して、保険会社・被保険者・保険期間・限度額・免責金額・保険料を読む
- 裏書を1枚ずつめくり、限度額や免責金額を変えるもの、補償を外すものが無いかを見る
- 付保台帳の子会社と保険の種類の行に写す。通貨は現地通貨のまま書く
- 付保方針の文書を開き、限度額と免責金額を見比べる。通貨が違うものは換算する
- 届いていないもの、気になるものを子会社にメールで問い合わせる
- 人子会社が共有フォルダ(Amazon S3 に同期)に証券のPDFを入れる
- 自動保存をきっかけに処理が動き、形式・ページ数・パスワードの有無を確かめる
- 自動OCRが全文、表、キーと値、質問への答え、信頼度を返す
- 自動生成AIが、保険の種類ごとに保険会社・被保険者・保険期間・限度額(何についての限度額か)・免責金額を取り出し、裏書が変えている条件を拾う
- 自動プログラムが通貨を換算し、付保方針と照らし、更新までの日数を数える
- 自動付保台帳の下書きの行を作り、印の付いたものを担当者の一覧に入れる
- 人本社の担当者が、印の付いた契約を証券の該当ページと見比べ、台帳の行を確定する
- 人方針に届いていない契約と、更新の近い契約について、子会社と相談する
各工程の詳しい説明を読む
- 子会社が共有フォルダに証券のPDFを入れ、本社の担当者にメールで知らせる
- 担当者がPDFを開き、明細のページを探して、保険会社・被保険者・保険期間・限度額・免責金額・保険料を読む
- 裏書を1枚ずつめくり、限度額や免責金額を変えるもの、補償を外すものが無いかを見る
- 付保台帳の子会社と保険の種類の行に写す。通貨は現地通貨のまま書く
- 付保方針の文書を開き、限度額と免責金額を見比べる。通貨が違うものは換算する
- 届いていないもの、気になるものを子会社にメールで問い合わせる
(a)明細を探すだけで時間がかかる。 明細のページの位置も呼び方も保険会社ごとに違い、複数の保険が1冊に綴じられたパッケージの証券では、どの明細がどの保険かを見分けるところから始まります。
(b)裏書を読み切れない。 3番目は数十ページになることがあり、急いでいる月は明細だけを写して終わります。 サブリミットや免責金額の引き上げが裏書にあると、台帳には残りません。
(c)更新に気づかない。 台帳には保険期間の列がありますが、更新が近いものを毎月抜き出す作業はしていません。 子会社から更新の証券が届かないまま期間が切れていても、本社が気づくのは次の問い合わせのときです。
(d)方針との照合が抜ける。 5番目は通貨の換算を伴うので、為替の変動で方針の境目に近い契約ほど判断が分かれます。
- 【人】 子会社が共有フォルダ(Amazon S3 に同期)に証券のPDFを入れる
- 【自動】 保存をきっかけに処理が動き、形式・ページ数・パスワードの有無を確かめる
- 【自動】 OCRが全文、表、キーと値、質問への答え、信頼度を返す
- 【自動】 生成AIが、保険の種類ごとに保険会社・被保険者・保険期間・限度額(何についての限度額か)・免責金額を取り出し、裏書が変えている条件を拾う
- 【自動】 プログラムが通貨を換算し、付保方針と照らし、更新までの日数を数える
- 【自動】 付保台帳の下書きの行を作り、印の付いたものを担当者の一覧に入れる
- 【人】 本社の担当者が、印の付いた契約を証券の該当ページと見比べ、台帳の行を確定する
- 【人】 方針に届いていない契約と、更新の近い契約について、子会社と相談する
7番目が、この設計の分かれ目です。 担当者は証券を最初から読み直すのではなく、印の付いた項目と、裏書で条件が変わった箇所だけを開きます。 印の無い契約は、取り出した値と出どころの一覧で流し見ます。
5番目をAIにさせないのも、意図してのことです。 通貨の換算、方針の値との比較、日数の計算。どれも規則で決まる処理で、生成AIには証券から値を写すところまでをさせます。
02今回想定するシステム構成
英文の保険証券(PDF。子会社が共有フォルダに入れる) ▼【トリガー】受付フォルダ(Amazon S3)への保存 AWS Lambda ── 形式・ページ数・パスワードの確認 ▼ AWS Textract(StartDocumentAnalysis:FORMS/TABLES/QUERIES) │ 全文、キーと値、表、質問への答え、信頼度 ▼ Claude API ── 保険の種類ごとに明細と裏書の条件を取り出す │ ① 保険会社・証券番号 ② 被保険者 ③ 保険期間 │ ④ 限度額(1事故・合計・サブリミット) ⑤ 免責金額 ⑥ 裏書による変更 ▼ Python ── 通貨の換算、付保方針との照合、更新までの日数 ▼ 付保台帳の下書き(ok / below_minimum / deductible_over / expiring_soon / endorsement_change / needs_human) ▼ 【本社の担当者が印の付いた契約を確認】 └──▶ 子会社と相談(追加・変更・更新の確認)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | AWS Textract(StartDocumentAnalysis/GetDocumentAnalysis) | Azure AI Document Intelligence、Google Document AI |
| 生成AI | Claude API(明細と裏書の条件の取り出し) | OpenAI API、Gemini API |
| 差異計算 | Python(通貨の換算、付保方針との照合、更新までの日数) | 付保台帳の関数 |
| 連携 | AWS Lambda(保存と完了の通知を起点に処理を動かす) | Amazon EventBridge |
| 保管 | Amazon S3(証券、読み取り結果、照合の結果) | 社内のファイルサーバー |
付保台帳と付保方針は、新しく足すものではありません。 最初の準備は、付保方針を「保険の種類・限度額の種類・最低の金額・免責金額の上限・通貨」の表に書き直すことと、換算に使う為替の基準(月初の社内レートなど)を決めることです。
OCRに AWS Textract を選ぶのは、証券が英文だからです。 公式の上限の表で、対応言語は英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語とされ、日本語や中国語は読めません。 質問の検出は英語の文書だけなので、この構成は英文の証券に限ります。 欧州や南米の子会社の現地語の証券は、文字は読めても質問が使えないため、担当者が目で見る一覧に入れます。
この題材で効くのは、質問(QUERIES)とページの指定です。 明細は証券の最初の数ページにあることが多く、Pages で質問を明細のページに絞ると、約款の本文に出てくる例示の金額を答えとして拾わずに済みます。 質問は1ページあたり非同期で30個までです。
03どうやって実装するのか
処理の起点を決める
起点は2つあります。証券が受付フォルダに入ったときと、毎月1日の定時です。
1つ目は、受付フォルダ(Amazon S3)に証券のPDFが保存されたことです。子会社ごとに共有フォルダを分け、子会社名と保険の種類が分かるように置いてもらいます。保存の通知で AWS Lambda が動き、読み取りから台帳の下書きまでを済ませます。子会社の担当者が本社にメールで知らせる手順は残しますが、処理はメールを待たずに始まります。
2つ目は、毎月1日の定時です。付保台帳の全契約について、保険期間の終わりまで90日を切ったもの、60日を切っても更新の証券が届いていないもの、期間が過ぎたのに新しい証券が無いものを一覧にし、本社の担当者に送ります。更新の管理を、担当者の記憶ではなく台帳の側に置きます。
期中に届く変更の裏書も、同じ経路で入れます。 証券番号が同じものは、台帳の同じ行の履歴に足します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 保険証券 | PDF。明細(保険会社、証券番号、被保険者、保険期間、限度額、免責金額、保険料)、約款、裏書 | 受付フォルダ(Amazon S3) |
| 読み取り結果 | 全文、キーと値、表とセル、質問への答え、それぞれの信頼度 | AWS Textract |
| 付保方針の表 | 保険の種類ごと・限度額の種類ごとの最低の金額、免責金額の上限、通貨 | 本社財務部で作る表 |
| 為替の基準 | 換算に使う月ごとの社内レート | 本社財務部 |
| 付保台帳 | 子会社と保険の種類ごとの契約、前の期の条件、更新の履歴 | 付保台帳 |
| 子会社の一覧 | 子会社の正式名称と、証券に書かれうる名称の揺れ | 本社総務部 |
質を決めるのは、付保方針の表です。 今の方針の文書は「賠償責任は十分な限度額を付けること」のような書き方も混ざっており、1事故あたりか合計かが書かれていない項目があります。 照合の前に、限度額の種類ごとの金額に書き直します。
子会社の名称の揺れの一覧は、被保険者の確認に使います。 証券の被保険者が親会社の名前だけになっている、旧社名のままになっている、という契約があります。被保険者に子会社が含まれていなければ、限度額が足りていても意味がありません。
データの取得方法を決める
読み取りは StartDocumentAnalysis にS3の場所と FeatureTypes を渡して始めます。完了は NotificationChannel に指定した Amazon SNS のトピックに通知され、状態が SUCCEEDED なら GetDocumentAnalysis で結果を取ります。
| 指定するもの | 値 | 理由 |
|---|---|---|
FeatureTypes | FORMS、TABLES、QUERIES | 明細のキーと値、限度額の表、文章の中の条件 |
QueriesConfig | 質問の文と Alias、Pages の組 | 明細のページに絞って項目名で受け取る |
ClientRequestToken | ファイルのハッシュ | 同じ証券で二重に読み取りを始めない |
JobTag | 子会社のコード | 完了の通知から子会社を引く |
Alias | 質問の文 |
|---|---|
INSURER | What is the name of the insurance company? |
POLICY_NO | What is the policy number? |
NAMED_INSURED | Who is the named insured? |
POLICY_PERIOD | What is the policy period? |
LIMIT_OCCURRENCE | What is the limit of liability each occurrence? |
LIMIT_AGGREGATE | What is the aggregate limit? |
DEDUCTIBLE | What is the deductible or retention amount? |
質問の答えが見つからなければ空のまま返ります。 空なら、明細のページの表とキーと値から探します。財物の保険のように限度額が建物・在庫・設備ごとに表で並ぶものは、質問より表のほうが確実です。
結果は1回最大1,000ブロックで区切られ、NextToken が返る限り呼び直します。同期の処理はPDF1ページまでで、証券は数十ページあるので非同期で読みます。 JobId は7日間しか有効でないため、取った結果はその場でS3に保存します。
裏書は、明細とは別に、ページごとの見出しで拾います。 Endorsement、Amendment、It is hereby agreed のような言い方で始まるページを裏書として集め、生成AIに渡します。
AIへ渡す前に整形する
- 形式の確認 … JPEG、PNG、PDF、TIFF であることを確かめます
- パスワードの確認 … PDFはパスワードで保護されていてはいけないとされています。保護されたものは子会社に解除したものを頼みます
- サイズとページ数の確認 … 非同期の処理で、PDFとTIFFは500MB・3,000ページまでです
- 言語の確認 … 英語以外の証券は質問が使えないため、読み取りに回さず担当者の一覧に入れます
- 明細のページの特定 … 1ページ目から順に、
Declarations、Scheduleのような見出しのあるページを探し、質問のPagesに入れます。パッケージの証券では、保険の種類ごとの明細の範囲を分けます - 重複の確認 … 同じ証券番号・同じ保険期間の証券が台帳にあれば、差し替えか重複かを確かめる印を付けます
AIに処理させる
させるのは、保険の種類ごとに明細の値を原文のまま写し、限度額の種類を区別し、裏書が変えている条件を拾うことです。 方針との照合と補償の評価はさせません。
| 見るもの | 取り出し方 | 判断できないときの扱い |
|---|---|---|
| 保険会社・証券番号 | 原文のまま | 複数あれば保険の種類ごとに分ける |
| 被保険者 | 記名被保険者と追加の被保険者を原文のまま | 子会社の名前が見つからなければ、その旨を記録 |
| 保険期間 | 始まりと終わりの日付と、時刻・地域の記載を原文のまま | 日と月の順序が決まらなければ ambiguous |
| 限度額 | 1事故あたり・合計・サブリミットを分け、金額と通貨を原文のまま | 何についての限度額か決まらなければ ambiguous |
| 免責金額 | 金額と、1事故あたりか合計かの別を原文のまま | 書かれていなければ空 |
| 裏書による変更 | 限度額・免責金額・被保険者・補償の範囲を変える裏書を、変更の内容とページで | 何を変えるか決まらなければ needs_human |
限度額の種類を分けさせるのは、方針がそれぞれに金額を決めているためです。 1事故あたりと合計を取り違えると、同じ金額でも方針に届いているかの結論が逆になります。
| させないこと | 理由 |
|---|---|
| 補償の範囲が十分かの評価 | 本社の担当者と保険の仲介者が決める |
| 方針との照合 | 換算と比較は Python が行う |
| 通貨の換算 | 社内レートで Python が行う |
| 約款の解釈 | 免責事由や補償の範囲の意味は人が読む |
| 書かれていない限度額の推測 | 前の期の値や一般的な水準で埋めない |
5行目がいちばん起きやすい失敗です。 更新の証券に限度額が見つからないと、前の期の台帳の値や、よくある金額を答えにしがちで、その瞬間に「方針に届いている」という誤った結論が台帳に入ります。
指示内容を固定する
あなたは商社の本社財務部で、海外子会社から届いた英文の保険証券の
条件をグループの付保台帳に記録する担当です。
OCRの読み取り結果だけを使ってください。推測で埋めないでください。
【取り出す項目(保険の種類ごと)】
coverage_line、insurer_raw、policy_no、named_insured_raw、
additional_insured_raw、period_start_raw、period_end_raw、
limits(kind:each_occurrence/aggregate/sublimit、amount_raw、currency_raw、
対象の説明)、deductible(amount_raw、currency_raw、basis)、
endorsements(変更の内容、ページ)、各項目の status とページ
【status の選び方】
- ok ........... 値が読み取れており、その項目として解釈できる
- missing ...... 書かれていない
- unreadable ... 文字は検出されているが値として確定できない
- ambiguous .... 候補が複数ある、または限度額の種類が決まらない
【厳守事項】
- 限度額は、1事故あたり(each occurrence など)、期間中の合計
(aggregate など)、特定の損害だけの限度額(sublimit)を分けて
ください。どれか決まらなければ kind を空にし、status を ambiguous
にしてください。
- 金額と通貨は書かれたとおりに入れてください。換算しないでください。
- 書かれていない限度額や免責金額を、前の期の値や一般的な水準で
埋めないでください。
- 裏書が限度額・免責金額・被保険者・補償の範囲を変えている場合は、
変更の内容を原文のまま短く写し、ページを書いてください。
- 約款の本文に出てくる例示の金額を、この契約の値として使わないで
ください。値は明細のページと裏書からだけ取ってください。
- 補償が十分か、方針を満たすかを書かないでください。
- 保険証券でない書類(請求書、見積書、証明書など)と判断した場合は、
項目を取り出さず document_type に種類を書いてください。
【読み取り結果】{textract_forms_tables_queries}
【明細のページの範囲】{declaration_pages}
【裏書のページ】{endorsement_pages}
「前の期の値で埋めない」を明記しないと、埋めます。 台帳の情報を渡していなくても、よくある限度額を「一般的な」値として書き添えることがあります。台帳の前の期の値は、そもそも生成AIに渡しません。
出力形式を固定する
Claude API の構造化出力(output_config.format に json_schema を指定)で、次の形のJSONを受け取ります。
{
"file": "",
"document_type": "insurance_policy",
"subsidiary_code": "US02",
"coverages": [
{
"coverage_line": "general_liability",
"insurer_raw": "",
"policy_no": "GL-2026-55821",
"named_insured_raw": "",
"period_start_raw": "10/01/2026",
"period_end_raw": "10/01/2027",
"limits": [
{ "kind": "each_occurrence", "amount_raw": "1,000,000", "currency_raw": "USD" },
{ "kind": "aggregate", "amount_raw": "2,000,000", "currency_raw": "USD" }
],
"deductible": { "amount_raw": "25,000", "currency_raw": "USD", "basis": "each occurrence" },
"endorsements": [ { "change_raw": "", "page": 34 } ],
"items": [ { "item": "limits", "status": "ok", "confidence": 0, "page": 2 } ]
}
]
}
1つ目の理由は、照合をプログラムの側に置けることです。 Python が金額を数値に直し、社内レートで換算して、付保方針の表と比べて印を付けます。
| 印 | 付ける条件 |
|---|---|
ok | 限度額の種類ごとに方針の最低の金額以上、免責金額が上限以下、被保険者に子会社が含まれ、更新まで90日以上 |
below_minimum | 限度額のいずれかが方針の最低の金額に届かない |
deductible_over | 免責金額が方針の上限を超える |
expiring_soon | 保険期間の終わりまで90日を切った |
endorsement_change | 裏書が限度額・免責金額・被保険者・補償の範囲を変えている |
needs_human | ambiguous か unreadable がある、被保険者に子会社が見つからない、または証券でない書類 |
2つ目は、通貨の換算を記録として残せることです。 原文の金額と通貨、使った社内レート、換算後の金額を並べて台帳に残すので、為替が動いて方針の境目を越えたときに、どの契約から見直すかがすぐに分かります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 受付フォルダ(Amazon S3) | 保存の通知 | 証券の保存を検知して AWS Lambda を動かす |
| AWS Textract | API呼び出し(非同期) | 読み取りを始め、完了の通知で結果を取る |
| Claude API | API呼び出し | 明細と裏書の条件の取り出し |
| 付保方針の表・社内レート | 読み取り | 照合と換算に使う |
| 付保台帳 | 下書きの行の書き込み | 契約ごとの値・出どころ・印。確定は担当者 |
付保台帳の確定は、担当者が行います。 この構成が書くのは下書きの行までです。台帳は保険の仲介者や監査に出す資料の元になるため、確定した値と確かめた人を分けて残します。
人が確認する
本社の担当者が開くのは、ok 以外の印が付いた契約です。 ok の契約は、取り出した値と出どころの一覧で流し見ます。
needs_humanを先に見る … 被保険者に子会社が見つからないものは、限度額の確認より先に子会社に確かめますendorsement_changeの裏書を読む … 該当ページを開き、変わった条件を台帳に反映しますbelow_minimumとdeductible_overを確かめる … 証券の該当ページで値と限度額の種類を確かめてから、子会社と相談しますexpiring_soonの更新の予定を子会社に聞く … 更新の手配が進んでいるか、条件を変える予定があるかを確かめます
3番目の順序を崩さないでください。 読み取りの誤りによる不足を子会社に伝えると、子会社は仲介者に追加の見積を頼み始めます。 確かめてから相談します。
例外に対処する
| 起きること | 対応 |
|---|---|
| パスワードで保護されたPDF | 読めない。子会社に解除したものを頼む |
| 英語以外の証券 | 質問が使えない。担当者が目で見る |
| 明細のページが見つからない | needs_human。証明書や見積書が入れられていないかを確かめる |
| パッケージの証券で保険の種類が分かれない | 種類ごとに分けられなければ needs_human |
| 限度額の通貨が書かれていない | ambiguous。子会社に確かめる |
| 更新の証券が届かないまま期間が過ぎる | 毎月1日の一覧に載せ、子会社に問い合わせる |
ジョブが FAILED または PARTIAL_SUCCESS | StatusMessage と Warnings のページ番号を記録し、そのページを人へ |
上から3行目が、運用の初めに多く出ます。 保険証券ではなく保険証明書や仲介者の見積書が入れられていることがあり、どれを入れてほしいかを子会社に伝えると減ります。
記録を残す
- 元の証券と、受け取った日時、子会社、保険の種類
- AWS Textract が返したJSONの全文と、使った質問とページの指定
- Claude API が返したJSON
- 照合の結果と、そのとき参照した付保方針の表と社内レート
- 担当者が値や限度額の種類を直した記録 … どの項目を、どう変えたか、誰が確かめたか
- 子会社との相談の記録と、追加・変更の結果
付保方針の表の版を残すのは、方針が見直されるためです。 最低の金額を引き上げると、過去に ok だった契約が不足になります。 当時の方針が残っていれば、どの契約から見直すかがすぐに決まります。
04実装レベルの3段階
本記事の想定は半自動化です。 読み取りと照合と更新の管理が自動になり、担当者は印の付いた契約を確かめて台帳を確定します。1件60分が16分になるのはこの段階です。 本格構成で足すのは、子会社とのやり取りの準備です。 ただし問い合わせを送るのは、引き続き本社の担当者です。段階を飛ばさず、半自動化の間に付保方針の表の書き方を固めておきます。
05工数削減シミュレーション
導入後 30件 × 16分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 海外に十数社以上の子会社を持ち、子会社がそれぞれ現地の保険会社や代理店で財物・賠償・役員賠償責任(D&O)などの保険を手配している商社・製造業・物流業。本社の財務部や総務部が英文の保険証券や更新の証券をPDFで受け取り、グループの付保台帳に手で写している場合。グループとしての付保方針(保険の種類ごとの最低の限度額、免責金額の上限)を決めていて、子会社の契約がそれに届いているかを更新のたびに確かめたい場合。
- 海外子会社の保険をグループ一括の保険計画(本社が手配する保険と現地の保険の組み合わせ)で本社がすべて手配しており、子会社から証券を集める工程が無い場合。証券が英語以外(中国語・タイ語・日本語など)で届く子会社が中心の場合(この構成のOCRは英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語しか読めず、質問(Queries)は英語の文書だけが対象です)。子会社が数社で、証券も年に数件しか届かない場合。なお、補償の範囲が十分かの評価、約款の解釈、保険を追加・変更するかの判断は、この構成では代替できません。
07最小構成で試す方法
- 去年届いた証券から10件を選ぶ(パッケージの証券、裏書で条件が変わっているもの、限度額が1事故あたりと合計で並ぶものを必ず入れる)
- 手元の生成AIの画面に1件ずつ渡し、「この証券の保険の種類ごとに、保険会社、被保険者、保険期間、1事故あたりの限度額、合計の限度額、サブリミット、免責金額を、金額と通貨を書かれたとおりに表にしてください。裏書で変わっている条件があれば、ページと一緒に書いてください。書かれていない値は空欄にしてください」と指示する
- 出てきた表を、当時の付保台帳と見比べる
- 当時の台帳に、裏書の変更が反映されていなかった件数を数える
10件は必ずやってください。 仕組みを組む前に、限度額の種類を取り違えないか、書かれていない値を埋めないかを確かめます。件数が少ないのは、1件のページ数が多く、1件ごとに当時の台帳と突き合わせる時間がかかるためです。
| 出てきた内容 | 判断 |
|---|---|
| 限度額を種類ごとに分けて原文どおりに取り出した | OCRのAPIと照合の処理に進む |
| 合計の限度額を1事故あたりとして返した | 指示で禁じる。直るまで先に進まない |
| 約款の例示の金額を拾った | 明細のページに絞る。構成は有効 |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 合計の限度額を1事故あたりとして台帳に入れる | 限度額の種類を分けて取り出させ、決まらなければ人へ |
| 書かれていない限度額を前の期の値で埋める | 前の期の値を生成AIに渡さない。空のまま返させる |
| 約款の例示の金額を拾う | 質問を明細のページに絞る |
| 裏書の変更が台帳に反映されない | 条件を変える裏書を拾い、endorsement_change で人へ |
| 被保険者に子会社が含まれていない | 名称の揺れの一覧で照らし、見つからなければ人へ |
| 通貨の換算で方針の境目を行き来する | 社内レートの基準日を決め、換算の記録を残す |
| 証明書や見積書が証券として入れられる | 入れてほしい書類を子会社に伝える |
| 更新の証券が届かないことに気づかない | 毎月1日に更新の一覧を出す |
| 保険期間の日付の日と月を取り違える | 原文を残し、順序が決まらなければ人へ |
| 免責金額が1事故あたりか合計かを取り違える | basis を原文のまま写させ、方針の表にも区別を持たせる |
上の2行が、この構成の失敗のほとんどです。 どちらも、方針に届いていない契約を届いているように見せる失敗です。限度額の種類を分け、書かれていない値は空のまま残す設計で守ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 子会社の保険の条件と保険料、保険会社と仲介者の名前、被保険者の名称、D&Oの証券では役員の範囲に関する記載です。事業上の秘密に当たり、D&Oの証券には個人に関する記載が含まれることがあります。
- 外部へ渡す範囲を、取り出しに必要なものに限る … 生成AIに渡すのは明細と裏書のページの読み取り結果だけです。付保方針の表、前の期の台帳、社内レートは渡しません。 照合は社内の Python で行います
- 補償の評価をさせない … この構成が出すのは値と照合の印までで、補償の範囲が十分か、追加の保険が要るかは、本社の担当者と保険の仲介者が決めます
- 約款の解釈を台帳に書かない … 免責事由や補償の範囲の意味を要約させると、台帳に「補償される」という解釈が残り、事故のときの判断を誤らせます
- 現地の規制を本社の方針より先に確かめる … 子会社がどの保険会社と契約できるか、加入が義務の保険は何かは国ごとに違います。方針との不足を見つけても、現地の仲介者に確かめてから相談します
誤りが起きた場合のリスクは、不足している契約を見逃すことと、更新の切れ目を作ることの2つです。 前者は限度額の種類の取り違えから、後者は更新の一覧の漏れから起きるので、値を種類と原文の通貨と一緒に残し、更新の管理を台帳の側に置く設計を崩さないでください。
10まず何から始めるか
1週目:付保方針を表に書き直す
付保方針の文書を、保険の種類・限度額の種類(1事故あたり・合計)・最低の金額・免責金額の上限・通貨の表に書き直します。種類が書かれていない項目は、財務部の責任者に決めてもらいます。
2週目:10件で試す
去年の証券から10件を選び、手元の生成AIの画面で条件を表にさせます。限度額の種類を取り違えないか、書かれていない値を埋めないかを最優先で見ます。
3週目:受け取り方を子会社にそろえてもらう
子会社ごとの共有フォルダを作り、証券の全ページ(明細・約款・裏書)を1つのPDFで入れてもらうように依頼します。あわせて、子会社の名称の揺れの一覧を作ります。
4週目:受付フォルダから台帳の下書きまでをつなぐ
S3、Lambda、Textract、Claude API、Python の照合をつなぎ、台帳の下書きの行を書くところまで作ります。この時点では、北米の子会社の証券だけを対象にします。
2か月目: 対象を英文の証券を出すすべての子会社に広げ、needs_human と endorsement_change の件数を毎週数えて、明細のページの探し方と質問を直します。3か月目以降: 毎月1日の更新の一覧を足し、1件60分が何分になったかを実測します。更新の切れ目が台帳の上で前もって見えるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 対応する形式がJPEG、PNG、PDF、TIFFであること。同期はPDF1ページ・10MB、非同期はPDFとTIFFで500MB・3,000ページであること。PDFはパスワードで保護できないこと。対応言語が英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語で、質問の検出は英語の文書だけであること。質問は同期で1ページ15個、非同期で30個までであること | AWS: Set Quotas in Amazon Textract | 2026-10-08 |
StartDocumentAnalysis の FeatureTypes(TABLES/FORMS/QUERIES/SIGNATURES/LAYOUT)、QueriesConfig(Alias、Pages、Text)、ClientRequestToken、JobTag、NotificationChannel で Amazon SNS に完了を通知すること。JobId が7日間だけ有効なこと | AWS: StartDocumentAnalysis | 2026-10-08 |
GetDocumentAnalysis の JobStatus(SUCCEEDED/FAILED/PARTIAL_SUCCESS ほか)、MaxResults(最大1,000)と NextToken、StatusMessage、Warnings。質問のページ数の上限を超えると INVALID_REQUEST_PARAMETERS が出ること | AWS: GetDocumentAnalysis | 2026-10-08 |
| 質問の応答が QUERY と QUERY_RESULT のブロックで返り、別名(Alias)と信頼度を持つこと。答えが見つからなければ空のまま返ること | AWS: Queries | 2026-10-08 |
| KEY_VALUE_SET、TABLE、CELL、QUERY_RESULT などのブロックの種類と、信頼度が0〜100で返ること | AWS: Block | 2026-10-08 |
構造化出力を output_config.format に json_schema を指定して受け取れること | Claude Docs: Structured outputs | 2026-10-08 |
補償の範囲が十分か、保険を追加・変更するかは、本社の担当者と保険の仲介者が判断してください。 本記事は公開仕様で確認できた範囲だけを扱っています。現地で加入が義務の保険や契約できる保険会社は、子会社のある国の規制を確かめてください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0868)についてのご相談はこちらから。
