企業保険の引受で、海外の保険会社が発行した英文の損害履歴(Loss Run)を読み取り、年度ごとの事故件数・支払額・未決額を引受審査の入力表にそろえる
海外の保険会社が発行した英文の損害履歴(Loss Run)を読み取り、事故ごとの金額を保険年度ごとの事故件数・支払額・未決額・発生額に集計します。報告書の合計との一致、評価日の古さ、欠けている年度を確かめ、引受審査の入力表の案にします。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- AWS Textract/Azure AI/Google Document AI
- 連携・自動化
- Python
- 対象業界
- 保険
- 対象部門
- 営業
- 対象業務
- データ入力・転記/集計・分析
- 主な課題
- 入力作業が多い/判断に時間がかかる/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 仲立人や顧客から届いた損害履歴のPDFを、見積の依頼ごとのフォルダに保存する
- 損害履歴を1通ずつ開き、保険会社・種目・証券番号・保険期間・評価日を書き出す
- 事故ごとに発生日・状態・支払額・費用・未決額・発生額を表計算のファイルへ写す
- 保険会社ごとに、発生額に費用を含むか、免責金額を引いた後かを、報告書の注記から読み取る
- 保険年度ごとに件数と金額を足し、報告書の小計と合っているかを確かめる
- 欠けている年度、評価日の古い報告書、大きな事故を拾い、仲立人に追加の資料を英文のメールで頼む
- 引受審査の入力表に年度ごとの数字と大きな事故を入れ、引受の担当者に回す
- 人営業の担当者が、届いた損害履歴のPDFを見積の依頼ごとの受け取りの場所(Amazon S3)に保存する
- 自動保存をきっかけに、AWS Textract が表と問い合わせ(保険会社・証券番号・保険期間・評価日)の読み取りを非同期で始める
- 自動プログラムが表をセルから組み立て、列の見出しを保険会社ごとの設定と照らす
- 自動見出しが設定に無ければ、Claude API が自社の項目への対応づけの案を出し、担当者の承認を待つ
- 自動プログラムが保険会社ごとの設定で金額の意味をそろえ、保険年度ごとに件数と金額を集計し、報告書の小計と照らす
- 自動プログラムが、欠けている年度、評価日の古い報告書、大きな事故、再開(Reopened)の事故を拾う
- 自動Claude API が事故の説明の英文を原因の区分に分け、足りない資料を仲立人に頼む英文の下書きを作る
- 人営業の担当者が、入力表の案と拾われた事項を確かめ、依頼の下書きを直して送る
- 人引受の担当者が、入力表をもとに審査する(いまと同じ)
各工程の詳しい説明を読む
- 仲立人や顧客から届いた損害履歴のPDFを、見積の依頼ごとのフォルダに保存する
- 損害履歴を1通ずつ開き、保険会社・種目・証券番号・保険期間・評価日を書き出す
- 事故ごとに発生日・状態・支払額・費用・未決額・発生額を表計算のファイルへ写す
- 保険会社ごとに、発生額に費用を含むか、免責金額を引いた後かを、報告書の注記から読み取る
- 保険年度ごとに件数と金額を足し、報告書の小計と合っているかを確かめる
- 欠けている年度、評価日の古い報告書、大きな事故を拾い、仲立人に追加の資料を英文のメールで頼む
- 引受審査の入力表に年度ごとの数字と大きな事故を入れ、引受の担当者に回す
(a)写すだけで時間がかかる。 事故の多い種目(自動車や労災上乗せ)の損害履歴は、1年で数十件の事故が並び、5年で10ページを超えます。 写し間違いは、小計と合わないところで初めて分かります。
(b)数字の意味が保険会社ごとに違う。 費用を発生額に含むか、免責金額を引く前か後か、回収(求償・残存物)を差し引くか。注記は報告書の末尾の小さな文字で、読み飛ばすと年度の間で意味の違う数字が並びます。
(c)評価日の古さを見落とす。 半年前の評価日の損害履歴では、その後に動いた未決額が入っていません。見積の期限に追われると、評価日を見ずに数字だけを写してしまいます。
(d)欠けている年度に気づくのが遅れる。 5年分のはずが4年分しか無い、途中で保険会社が変わって前の会社の分が無い。入力表を作り終えてから気づき、仲立人に頼み直すと、回答の期限に間に合わなくなります。
- 【人】 営業の担当者が、届いた損害履歴のPDFを見積の依頼ごとの受け取りの場所(Amazon S3)に保存する
- 【自動】 保存をきっかけに、AWS Textract が表と問い合わせ(保険会社・証券番号・保険期間・評価日)の読み取りを非同期で始める
- 【自動】 プログラムが表をセルから組み立て、列の見出しを保険会社ごとの設定と照らす
- 【自動】 見出しが設定に無ければ、Claude API が自社の項目への対応づけの案を出し、担当者の承認を待つ
- 【自動】 プログラムが保険会社ごとの設定で金額の意味をそろえ、保険年度ごとに件数と金額を集計し、報告書の小計と照らす
- 【自動】 プログラムが、欠けている年度、評価日の古い報告書、大きな事故、再開(Reopened)の事故を拾う
- 【自動】 Claude API が事故の説明の英文を原因の区分に分け、足りない資料を仲立人に頼む英文の下書きを作る
- 【人】 営業の担当者が、入力表の案と拾われた事項を確かめ、依頼の下書きを直して送る
- 【人】 引受の担当者が、入力表をもとに審査する(いまと同じ)
5番目が、この設計の分かれ目です。 年度ごとの集計が報告書の小計と合わなければ、読み取りか表の組み立てに誤りがあります。合わない年度は入力表に入れず、人に回します。
金額の意味を保険会社ごとの設定で決めるのも、意図してのことです。 「Incurred に費用を含むか」は報告書の注記に書かれていますが、AIに注記を読ませて判断させると、報告書ごとに解釈が揺れます。 保険会社ごとに一度確かめて設定に書き、以後はその設定で読みます。
02今回想定するシステム構成
損害履歴(英文のPDF。保険会社ごと・種目ごと) │ 営業の担当者が見積の依頼ごとの場所へ保存 ▼【トリガー】Amazon S3 への保存 AWS Lambda ── StartDocumentAnalysis(FeatureTypes:TABLES、QUERIES) ▼ AWS Textract(非同期の文書分析)── 完了の通知(Amazon SNS) ▼ AWS Lambda ── GetDocumentAnalysis(NextToken でページを送る) ├──▶ Python:表の組み立て、見出しと保険会社の設定の照合 ├──▶ Claude API:設定に無い見出しの対応づけの案(承認待ち) ├──▶ Python:金額の意味をそろえ、年度ごとに集計、小計との照合 ├──▶ Python:欠けた年度・古い評価日・大きな事故・再開の事故 └──▶ Claude API:事故の原因の区分、追加資料の依頼の英文の下書き ▼ 引受審査の入力表の案(営業の担当者が確認) ▼ 引受審査の仕組みへ(担当者が登録)/仲立人への依頼(担当者が送る)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | AWS Textract(StartDocumentAnalysis/GetDocumentAnalysis。TABLES と QUERIES) | Azure AI Document Intelligence、Google Document AI |
| 生成AI | Claude API(見出しの対応づけの案、事故の原因の区分、依頼の英文の下書き) | OpenAI API、Gemini API |
| 集計 | Python(表の組み立て、金額の意味の調整、年度ごとの集計と照合) | 引受審査の仕組みの取り込みの機能 |
| 連携 | AWS Lambda(保存と完了の通知を起点に処理を動かす) | AWS Step Functions |
| 保管 | Amazon S3(損害履歴の原本、読み取り結果、入力表の案、確認の記録) | 社内のファイルサーバー |
土台は、AWS Textract の非同期の文書分析です。 損害履歴は複数ページのPDFなので、同期の処理(PDFは1ページまで)ではなく、非同期の StartDocumentAnalysis を使います。 非同期ではPDFが500MBと3,000ページまでとされています。
Textract を選べるのは、損害履歴が英文だからです。 公式の対応言語は英語・フランス語・ドイツ語・イタリア語・ポルトガル語・スペイン語です。表の読み取りでは、列の見出しや小計のセルに種類が付いて返るので、保険年度ごとの小計を取り出して照らす処理を組みやすくなります。
引受審査の仕組みには書き込みません。 入力表の案は営業の担当者が確かめてから登録します。
03どうやって実装するのか
処理の起点を決める
見積の依頼ごとの受け取りの場所(S3 のフォルダ)にPDFが保存されたことを起点にします。 フォルダは lossrun/<見積の依頼番号>/<保険会社の記号>/<種目>/ の形にし、どの依頼のどの保険会社のどの種目かを、保存した場所で決めます。 保険会社と種目を報告書から読み取って決めると、同じ保険会社の別の種目と取り違えます。
読み取りを始めるとき、ClientRequestToken に「依頼番号+保険会社の記号+種目+版」を入れます。 公式のページでは、同じトークンで StartDocumentAnalysis を呼ぶと同じ JobId が返り、同じジョブを誤って二度始めるのを防げるとされています。
完了は Amazon SNS の通知で受け、JobTag に入れた依頼番号でどの依頼かを知ります。 JobId は7日間だけ有効なので、結果は受け取ったその場で S3 に保存します。 集計は、担当者が「この依頼の損害履歴はそろった」と印を付けてから始めます。届いた分だけで集計すると、欠けた年度を「事故が無い年度」と取り違えます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 損害履歴 | 事故ごとの事故番号・発生日・状態・支払額・費用・未決額・発生額・回収額・説明。年度ごとの小計、合計、評価日、注記 | 仲立人や顧客から届くPDF |
| 事故が無い旨の書面 | 保険会社・証券番号・期間・「事故の報告なし」の記載・作成日 | 同上 |
| 読み取り結果 | 表・セル・列の見出し・小計の行、問い合わせの答え、各セルの信頼度 | AWS Textract |
| 保険会社ごとの設定 | 列の見出しと自社の項目の対応、発生額に費用を含むか、免責金額の前か後か、回収を差し引くか、日付の順 | 自社で用意する設定表 |
| 見積の依頼の情報 | 依頼番号、顧客名、種目、求める年数(通常5年)、大きな事故とみなす金額 | 引受審査の仕組み |
質を決めるのは、保険会社ごとの設定の「金額の意味」の列です。 発生額に費用を含むか、免責の前か後か、回収を差し引くか。この3つが決まっていれば、意味の違う数字を同じ列に並べずに済みます。 新しい保険会社の損害履歴が来たら、最初の1通で担当者が注記を読んで設定に書きます。
日付の順も設定に入れます。 米国の保険会社は月・日・年の順、欧州の保険会社は日・月・年の順で書くことが多く、「03/04/2024」が3月4日か4月3日かで、事故の保険年度が変わることがあります。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 表とセル | GetDocumentAnalysis の TABLE と CELL のブロック | 事故ごとの行と各列の金額 |
| 列の見出し | EntityTypes が COLUMN_HEADER のセル | 保険会社の設定の見出しと照らす |
| 小計と合計の行 | EntityTypes が TABLE_SUMMARY のセル、または TABLE_FOOTER | 年度ごとの集計と照らす |
| 年度の区切り | EntityTypes が TABLE_SECTION_TITLE のセル | 保険年度ごとに表が分かれている報告書の区切り |
| 保険会社・証券番号・保険期間・評価日 | QUERIES の QUERY_RESULT | 保存した場所の情報との照合、評価日の古さ |
| セルの信頼度 | CELL と WORD の Confidence | 低いセルを人に回す |
表は、CELL のブロックの RowIndex と ColumnIndex で組み立てます。 公式のページでは、表は TABLE のブロックとして返り、各セルは CELL のブロックで表の中の位置の情報を持つとされています。結合されたセルは MERGED_CELL で示されます。証券ごとに見出しの行が入る報告書は、TABLE_SECTION_TITLE のセルで区切りを知ります。
結果は1回に最大1,000ブロックずつ返ります。 NextToken が返る限り呼び続け、全ページ分をそろえてから表を組み立てます。 途中で組み立てると、ページの境目で事故の行が落ちます。
評価日と証券番号は、問い合わせで取ります。 問い合わせは英語の文書でだけ使え、非同期では1ページあたり30件までです。答えが見つからなければ空のまま返るので、評価日の書かれていない報告書を見分けられます。
| 問い合わせ(Text) | Alias |
|---|---|
| What is the valuation date or run date? | VALUATION_DATE |
| What is the insurance company name? | CARRIER |
| What is the policy number? | POLICY_NO |
| What is the policy period? | POLICY_PERIOD |
| Who is the named insured? | INSURED |
AIへ渡す前に整形する
- 形式の確認 … JPEG、PNG、PDF、TIFF のどれかであることを確かめます。XFA の形式のPDFは扱えないとされています
- パスワードの確認 … パスワードで保護されたPDFは扱えません。 解除して保存し直します
- 事故が無い旨の書面の判別 … 表が無く、問い合わせで保険期間が取れた書面は、事故の無い年度の証明として別に扱います
- ページをまたぐ表の連結 … 見出しが同じなら1つの表として続け、ページごとに繰り返される見出しの行は落とします
- 数と日付の整え … 括弧付きの金額(負の数)、通貨の記号、桁区切りを数値に直し、日付を設定の順で読みます
- 保険年度の付与 … 事故の発生日と証券の保険期間から、各事故に保険年度を付けます
- 小計の照合 … 年度ごとに足した額を、報告書の小計と比べます
5番目の括弧付きの金額を軽く見ないでください。 回収や備金の取崩しは「(12,500)」のように括弧で示されることが多く、括弧を落として正の数として足すと、支払額が実際より大きく見えます。
AIに処理させる
させるのは、言葉を扱う3つの仕事だけです。 数の読み取りは Textract、金額の意味の調整と集計はプログラムが行います。
| させること | 中身 | できないときの扱い |
|---|---|---|
| 列の見出しの対応づけの案 | 見出しが設定に無いときだけ、自社の項目(支払額・費用・未決額・発生額・回収額・状態・発生日)への対応の案を出す | 決められない見出しは「対応なし」 |
| 事故の原因の区分 | 事故の説明の英文を、火災/水濡れ/盗難/自然災害/製品の賠償/施設の賠償/自動車の対人/自動車の対物/労災/その他に分ける | 当たらなければ other と原文 |
| 追加資料の依頼の下書き | 欠けた年度・古い評価日・評価日の無い報告書ごとに、仲立人に頼む英文のメール | 理由ごとの定型の文に限る |
2行目は、引受の担当者が事故の傾向を見るための補助です。 同じ原因の事故が年度をまたいで続いていれば、防災や安全の対策を顧客に聞くきっかけになります。 区分そのものを審査の数字には使いません。
| させないこと | 理由 |
|---|---|
| 金額の読み替えと集計 | 括弧や桁区切りを推し量ると、符号と桁がずれる |
| 金額の意味(費用を含むか等)の判断 | 保険会社ごとの設定で決める。報告書ごとに解釈を揺らさない |
| 未決額の妥当性や将来の支払の見込み | 備金の見込みは引受と損害の担当が判断する |
| 引受の可否や保険料への意見 | 審査は引受の担当者の仕事 |
| 欠けた年度を「事故なし」とみなす | 事故が無い旨の書面が届くまで欠けとして扱う |
3行目を外すのは、未決額の評価が損害保険の専門の判断だからです。 AIに「この未決額は少なすぎないか」と聞くと、もっともらしい意見を返します。入力表には読み取った数字だけを入れ、評価は人が行います。
指示内容を固定する
事故の原因の区分の指示です。
あなたは損害保険会社の企業営業部で、海外の保険会社が発行した損害履歴の
事故の説明を原因の区分に分ける担当者を手伝います。
渡された事故の説明の一覧だけを見てください。氏名は伏せてあります。
【区分】
fire(火災)/water(水濡れ)/theft(盗難)/natural_catastrophe(自然災害)/
product_liability(製品の賠償)/premises_liability(施設の賠償)/
auto_bi(自動車の対人)/auto_pd(自動車の対物)/workers_comp(労災)/other
【厳守事項】
- 説明の言葉だけで判断してください。金額の大きさから推し量らないでください。
- 説明の原文を raw にそのまま残してください。
- 「litigation」「suit」「subrogation」「reopened」の語があれば、その語を flags に写してください。
- 2つの区分に当たりうる説明は other とし、note に理由を書いてください。
- 事故の重さ、支払の見込み、引受への影響を書かないでください。
追加資料の依頼の下書きの指示です。
あなたは損害保険会社の企業営業部で、保険仲立人に損害履歴の追加を頼む
英文のメールを下書きする担当者を手伝います。渡された不足の一覧だけを見てください。
【書き方】
- 不足ごとに、保険会社、種目、証券番号、保険期間、不足の理由を並べてください。
- 不足の理由は、missing_year(年度が無い)/stale_valuation(評価日が古い)/
no_valuation_date(評価日が無い)のどれかです。理由に合う依頼の一文を添えてください。
- stale_valuation には、渡された評価日をそのまま書いてください。
- 見積の可否や保険料に触れないでください。
- 回答の希望日は、渡された日付だけを書いてください。
「litigation」「subrogation」を写させるのは、引受の担当者がまず見る語だからです。 訴訟になっている事故は未決額が動きやすく、求償の事故は回収で支払額が減る見込みがあります。語を写させておけば、入力表の大きな事故の行に印を付けられます。
出力形式を固定する
入力表の案は、プログラムがJSONで出します。 生成AIの出力も、Claude API の構造化出力で形を決めて受けます。公式のページでは、output_config.format に JSON スキーマを渡すと、スキーマに合う JSON が返るとされ、正式提供の機能です。
{
"quote_request": "Q-2026-1042",
"line": "general_liability",
"currency": "USD",
"basis": { "incurred_includes_expense": true, "net_of_deductible": false, "net_of_recovery": true },
"years": [
{ "policy_year": "2023-2024", "carrier": "", "valuation_date": "2026-06-30",
"claim_count": 7, "open_count": 2,
"paid": 182400.00, "expense": 21300.00, "outstanding": 95000.00, "incurred": 298700.00,
"summary_check": "matched", "source": "loss_run | no_loss_letter" }
],
"large_losses": [
{ "claim_no": "", "date_of_loss": "2024-02-11", "status": "open",
"incurred": 150000.00, "cause": "product_liability", "flags": ["litigation"] }
],
"issues": [ { "type": "missing_year | stale_valuation | summary_mismatch | low_confidence | no_mapping",
"detail": "" } ]
}
1つ目の理由は、basis で数字の意味を入力表と一緒に渡せることです。 引受の担当者は、発生額に費用が入っているか、免責の前か後かを見てから数字を読みます。意味が違う保険会社の数字を同じ年度の表に並べないよう、basis が違う報告書は別の表に分けます。
2つ目は、source で事故が無い年度の根拠を示せることです。 件数0の年度が、損害履歴に0件と書かれていたのか、事故が無い旨の書面で示されたのかを区別します。
issues.type | 決め方(プログラム) |
|---|---|
| missing_year | 求める年数の保険年度のうち、損害履歴も事故が無い旨の書面も無い年度がある |
| stale_valuation | 評価日が、見積の依頼の受付日から設定の日数(例:90日)より前 |
| summary_mismatch | 年度ごとの集計が報告書の小計と合わない |
| low_confidence | 金額のセルの信頼度が設定の値を下回る |
| no_mapping | 見出しの対応が承認されていない |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Amazon S3 | 保存の通知で Lambda を動かす | 依頼・保険会社・種目をフォルダで決める |
| AWS Textract | StartDocumentAnalysis/GetDocumentAnalysis | 表・セル・見出し・小計・問い合わせの答え・信頼度 |
| Amazon SNS | 完了の通知 | JobTag で依頼を知る |
| 引受審査の仕組み | 見積の依頼の情報を書き出して読む | 読み取りだけ |
| Claude API | API呼び出し(構造化出力) | 見出しの対応の案、原因の区分、依頼の下書き |
| 営業の担当者 | 入力表の案を共有の場所に置き、チャットで知らせる | 確認、登録、仲立人への依頼 |
引受審査の仕組みには書き込みません。 入力表の案を確かめて登録するのは営業の担当者です。読み取りの誤りが審査の数字にそのまま入る経路を作らないためです。
Claude を Amazon Bedrock から使う場合は、構造化出力の対応を先に確かめます。 公式のページでは、Bedrock では構造化出力が旧来の連携でだけ使え、Claude in Amazon Bedrock では使えないとされています。
人が確認する
営業の担当者が全件の入力表の案を確かめます。 見る順を決めておきます。
summary_mismatchの年度を先に見る … 小計が合わない年度は入力表に入っていません。多くはページの境目の行落ちか、括弧付きの金額の符号ですbasisを確かめる … 新しい保険会社なら、注記を原本で読んで設定を確かめますmissing_yearとstale_valuationを確かめ、依頼を送る … 下書きを直して送ります。送信は担当者が行います- 大きな事故の行を原本で見る … 金額と状態、flags の語を原本で確かめます
- 入力表を登録して引受に回す … 不足の資料を待っていることを、入力表の備考に書きます
3番目は、受け取ったその日に行います。 欠けた年度の依頼は、早いほど見積の期限に間に合います。
例外に対処する
| 起きること | 対応 |
|---|---|
| パスワード付き・XFA のPDF | 読めない。担当者が解除して保存し直す |
| JobStatus が FAILED か PARTIAL_SUCCESS | Warnings のページを見て、そのページだけ人が写す |
| 小計の行が無い報告書 | summary_check を付けられない。全件を原本で照らす |
| 見出しが設定に無い | 対応づけの案を出し、承認まで集計を止める |
| 1通に複数の通貨が混ざる | 通貨ごとに分けて集計し、換算はしない |
| 発生日が保険期間の外 | 保険年度を付けずに人へ。請求事故の基準の契約かを確かめる |
| 同じ事故が2つの報告書に載る | 事故番号で照らし、評価日の新しいほうを採る |
下から2行目は、賠償の種目で起きます。 発生日ではなく請求の日で保険年度が決まる契約があり、発生日だけで年度を付けると年度がずれます。 契約の基準は保険会社ごとの設定に書きます。
記録を残す
- 損害履歴の原本と、保存した場所(依頼・保険会社・種目・版)
- Textract が返したブロックの全文と、組み立てた表
- 保険会社ごとの設定の、その時点の版
- 入力表の案(
years、large_losses、issues)と、集計に使った事故の行 - 担当者が直した箇所 … どのセルの数を、どう直したか
- 仲立人への依頼と、追加で届いた資料
- 保険会社ごとの
summary_mismatchと見出しの対応なしの件数
最後の行は、設定表の手入れに使います。 同じ保険会社で不一致が続くなら、その会社の書式が変わったか、設定に誤りがあります。
04実装レベルの3段階
半自動化で、1件90分が50分程度になります。 写しと集計は無くなりますが、金額の意味の確認と、欠けた年度・評価日の確認、依頼の英文が手作業のまま残ります。 本格構成で27分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化で3か月回すと、よく来る保険会社の見出しと金額の意味が設定表にそろいます。 そこを固めてから本格構成に進むほうが、意味の違う数字を並べる誤りが減ります。
05工数削減シミュレーション
導入後 40件 × 27分 ÷ 60 = 18 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 外資系企業の日本法人や、海外に拠点を持つ日本企業の企業保険(財物・賠償・労災上乗せ・自動車など)の見積を多く受ける損害保険会社の企業営業と引受の部署。前の保険会社が発行した英文の損害履歴が保険会社ごとに違う書式のPDFで届き、営業の担当者が事故ごとの金額を引受審査の入力表に手で写して年度ごとに足している場合。見積の回答の期限に追われて、評価日の古さや欠けている年度の確認が抜けがちな場合。
- 損害履歴がほぼ国内の保険会社の日本語の書式で届く場合(この構成で使う読み取りのサービスは英語など6言語に対応します)。損害履歴をデータ(表計算のファイルや仲立人の仕組み)で受け取れる場合(読み取りは要らず、そのまま集計すれば足ります)。見積の依頼が月に数件で、手で写せば足りる場合。なお、引受の可否、保険料、免責の条件の判断は引受の担当者が行います。この構成は損害の数字をそろえるまでで、リスクの評価はしません。
07最小構成で試す方法
- 先月の見積の依頼から、保険会社の違う3件の損害履歴を選ぶ(うち1件は、事故の多い自動車か労災上乗せの種目を入れる)
- AWS のコンソールで Textract の文書分析を開き、表の読み取りを試す
- 表を表計算のファイルとして書き出し、当時担当者が写したファイルと並べる
- 年度ごとに足して、報告書の小計と合うかを確かめる
- 手元のAIサービスに事故の説明の一覧(氏名を消したもの)を貼り、原因の区分に分けさせる
事故の多い種目は必ず入れてください。 ページの境目と括弧付きの金額がどこで問題になるかが、ここで分かります。
| 出てきた内容 | 判断 |
|---|---|
| 表がセル単位で取れ、小計も合った | 集計のプログラムに進む |
| ページの境目で行が落ちた | 表の連結の手順で直る。構成は有効 |
| 括弧付きの金額が正の数になった | 数の整えの手順で直る。構成は有効 |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 意味の違う「Incurred」を同じ列に並べる | 保険会社ごとの設定で basis を決め、違うものは別の表に分ける |
| 括弧付きの金額を正の数として足す | 数の整えで括弧を負の数に直し、小計と照らす |
| 「03/04/2024」の月と日を取り違える | 日付の順を保険会社ごとの設定で決める |
| ページの境目で事故の行が落ちる | 全ページのブロックをそろえてから連結する |
| 欠けた年度を事故なしと扱う | 事故が無い旨の書面が無ければ missing_year |
| 古い評価日の数字をそのまま使う | 評価日を問い合わせで取り、日数で stale_valuation を付ける |
| 請求の日で年度が決まる契約で年度がずれる | 契約の基準を設定に入れ、発生日だけで年度を付けない |
| Bedrock で構造化出力が使えない | Claude API を直接使うか、対応を先に確かめる |
上の3行が、この構成の失敗のほとんどです。 どれも、読み取りは正しいのに数字の意味を取り違える失敗です。意味を保険会社ごとの設定に置き、小計と照らす設計にしておけば、引受の担当者に誤った年度の数字を渡すことを防げます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 顧客企業の名前と証券番号、事故の日付と金額、事故の説明です。自動車の対人や労災の事故では、説明や請求者の欄に負傷した人の氏名や負傷の内容が書かれていることがあります。
- 生成AIに渡す前に氏名を伏せる … 請求者の列は渡さず、事故の説明からも請求者の欄にある氏名をプログラムで伏せてから渡します。原因の区分に氏名は要りません
- 受け取りの場所の権限を絞る … S3 のフォルダは担当の部署と処理のプログラムだけが読めるようにし、結果は KMSKeyId を指定した暗号化で保存します
- 見積に使う目的の範囲で扱う … 損害履歴は見積の依頼のために受け取った資料です。引受を見送った依頼の資料をいつまで残すかを、社内の規程に沿って決めます
- 入力表を自動で登録しない … 確かめてから登録します
- 依頼を自動で送らない … 下書きまでです
- 引受の判断に使わない … 原因の区分や大きな事故の印は補助で、引受の可否と条件は引受の担当者が決めます
誤りが起きた場合のリスクは、意味の違う数字や読み取りの誤りで引受の判断を誤ることと、事故の情報や負傷した人の情報を必要以上に広げることの2つです。 前者は設定と小計の照合で、後者は氏名を伏せることと権限を絞ることで防ぎます。
10まず何から始めるか
1週目:よく来る保険会社の設定表を作る
過去半年の損害履歴を見て、件数の多い保険会社から列の見出しの対応、発生額に費用を含むか、免責の前か後か、回収を差し引くか、日付の順を設定表に書きます。
2週目:3件で読み取りを試す
保険会社の違う3件をコンソールで読み取り、当時写したファイルと並べます。事故の多い種目で、ページの境目と括弧付きの金額が正しく扱えるかを最優先で見ます。
3週目:入力表の形を引受の担当者と決める
年度ごとに並べる項目、大きな事故とみなす金額、評価日の古さの日数を、引受の担当者と決めます。 ここが決まらないと、出てきた入力表を誰も使えません。
4週目:表の組み立てと集計をつなぐ
保存を起点に読み取り、表を組み立て、年度ごとに集計して小計と照らすところまで作ります。この時点では basis を全件人が確かめます。
2か月目: 欠けた年度・古い評価日・大きな事故の拾い出しを足し、issues の件数を毎週数えます。3か月目以降: 原因の区分と依頼の下書きを足し、1件90分が何分になったかを実測します。新しい保険会社が来ても設定を足すだけで回るようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 対応する形式が JPEG・PNG・PDF・TIFF で XFA の形式のPDFは扱えないこと。同期の処理はPDFが1ページまで、非同期の処理はPDFが500MB・3,000ページまでであること。パスワードで保護されたPDFは扱えないこと。対応言語が英語・フランス語・ドイツ語・イタリア語・ポルトガル語・スペイン語であること。問い合わせは英語の文書だけで、非同期で1ページ30件までであること | AWS: Set Quotas in Amazon Textract | 2026-10-14 |
| 表が TABLE のブロック、各セルが CELL のブロックとして返り、表の中の位置の情報を持つこと。結合されたセルが MERGED_CELL で示されること。セルの EntityTypes に TABLE_TITLE・TABLE_FOOTER・TABLE_SECTION_TITLE・COLUMN_HEADER・TABLE_SUMMARY があること | AWS: Tables(Amazon Textract) | 2026-10-14 |
| StartDocumentAnalysis の FeatureTypes に TABLES・FORMS・QUERIES・SIGNATURES・LAYOUT があること。文書を S3 に置くこと。完了の状態が SNS に通知されること。ClientRequestToken で同じジョブの二重の開始を防げること。JobTag が通知に含まれること。KMSKeyId で結果を暗号化できること。JobId が7日間だけ有効であること | AWS: StartDocumentAnalysis | 2026-10-14 |
| GetDocumentAnalysis が MaxResults 最大1,000で NextToken によりページを送ること。JobStatus が IN_PROGRESS・SUCCEEDED・FAILED・PARTIAL_SUCCESS であること。Warnings が返ること | AWS: GetDocumentAnalysis | 2026-10-14 |
| 問い合わせの答えが QUERY_RESULT として信頼度付きで返り、答えが見つからなければ空のまま返ること | AWS: Queries(Amazon Textract) | 2026-10-14 |
output_config.format に JSON スキーマを渡すとスキーマに合う JSON が返ること。正式提供の機能であること。Amazon Bedrock では旧来の連携でだけ使え、Claude in Amazon Bedrock では使えないこと | Claude Docs: Structured outputs | 2026-10-14 |
引受の可否、保険料、条件の判断は引受の担当者が行ってください。 本記事は公開されている製品の仕様で確認できた範囲だけを扱っています。損害履歴の書式と金額の定義は保険会社ごとに違います。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1431)についてのご相談はこちらから。
