Media > AI活用ユースケース > 営業 > 企業保険の引受で、海外の保険会社が発行した英文の損害履歴(Loss Run)を読み取り、年度ごとの事故件数・支払額・未決額を引受審査の入力表にそろえる

企業保険の引受で、海外の保険会社が発行した英文の損害履歴(Loss Run)を読み取り、年度ごとの事故件数・支払額・未決額を引受審査の入力表にそろえる

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

海外の保険会社が発行した英文の損害履歴(Loss Run)を読み取り、事故ごとの金額を保険年度ごとの事故件数・支払額・未決額・発生額に集計します。報告書の合計との一致、評価日の古さ、欠けている年度を確かめ、引受審査の入力表の案にします。

サマリー
生成AI
ChatGPT/Claude/Gemini
AIサービス
AWS Textract/Azure AI/Google Document AI
連携・自動化
Python
対象業界
保険
対象部門
営業
対象業務
データ入力・転記/集計・分析
主な課題
入力作業が多い/判断に時間がかかる/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/対応スピード向上/工数削減
導入難易度
★★★★☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
必須
現在工数
60h/月
AI導入後
18h/月
想定削減
70%
年間削減
504h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 仲立人や顧客から届いた損害履歴のPDFを、見積の依頼ごとのフォルダに保存する
  2. 損害履歴を1通ずつ開き、保険会社・種目・証券番号・保険期間・評価日を書き出す
  3. 事故ごとに発生日・状態・支払額・費用・未決額・発生額を表計算のファイルへ写す
  4. 保険会社ごとに、発生額に費用を含むか、免責金額を引いた後かを、報告書の注記から読み取る
  5. 保険年度ごとに件数と金額を足し、報告書の小計と合っているかを確かめる
  6. 欠けている年度、評価日の古い報告書、大きな事故を拾い、仲立人に追加の資料を英文のメールで頼む
  7. 引受審査の入力表に年度ごとの数字と大きな事故を入れ、引受の担当者に回す
導入後(After)
  1. 人営業の担当者が、届いた損害履歴のPDFを見積の依頼ごとの受け取りの場所(Amazon S3)に保存する
  2. 自動保存をきっかけに、AWS Textract が表と問い合わせ(保険会社・証券番号・保険期間・評価日)の読み取りを非同期で始める
  3. 自動プログラムが表をセルから組み立て、列の見出しを保険会社ごとの設定と照らす
  4. 自動見出しが設定に無ければ、Claude API が自社の項目への対応づけの案を出し、担当者の承認を待つ
  5. 自動プログラムが保険会社ごとの設定で金額の意味をそろえ、保険年度ごとに件数と金額を集計し、報告書の小計と照らす
  6. 自動プログラムが、欠けている年度、評価日の古い報告書、大きな事故、再開(Reopened)の事故を拾う
  7. 自動Claude API が事故の説明の英文を原因の区分に分け、足りない資料を仲立人に頼む英文の下書きを作る
  8. 人営業の担当者が、入力表の案と拾われた事項を確かめ、依頼の下書きを直して送る
  9. 人引受の担当者が、入力表をもとに審査する(いまと同じ)
各工程の詳しい説明を読む
  1. 仲立人や顧客から届いた損害履歴のPDFを、見積の依頼ごとのフォルダに保存する
  2. 損害履歴を1通ずつ開き、保険会社・種目・証券番号・保険期間・評価日を書き出す
  3. 事故ごとに発生日・状態・支払額・費用・未決額・発生額を表計算のファイルへ写す
  4. 保険会社ごとに、発生額に費用を含むか、免責金額を引いた後かを、報告書の注記から読み取る
  5. 保険年度ごとに件数と金額を足し、報告書の小計と合っているかを確かめる
  6. 欠けている年度、評価日の古い報告書、大きな事故を拾い、仲立人に追加の資料を英文のメールで頼む
  7. 引受審査の入力表に年度ごとの数字と大きな事故を入れ、引受の担当者に回す

(a)写すだけで時間がかかる。 事故の多い種目(自動車や労災上乗せ)の損害履歴は、1年で数十件の事故が並び、5年で10ページを超えます。 写し間違いは、小計と合わないところで初めて分かります。

(b)数字の意味が保険会社ごとに違う。 費用を発生額に含むか、免責金額を引く前か後か、回収(求償・残存物)を差し引くか。注記は報告書の末尾の小さな文字で、読み飛ばすと年度の間で意味の違う数字が並びます。

(c)評価日の古さを見落とす。 半年前の評価日の損害履歴では、その後に動いた未決額が入っていません。見積の期限に追われると、評価日を見ずに数字だけを写してしまいます。

(d)欠けている年度に気づくのが遅れる。 5年分のはずが4年分しか無い、途中で保険会社が変わって前の会社の分が無い。入力表を作り終えてから気づき、仲立人に頼み直すと、回答の期限に間に合わなくなります。

  1. 【人】 営業の担当者が、届いた損害履歴のPDFを見積の依頼ごとの受け取りの場所(Amazon S3)に保存する
  2. 【自動】 保存をきっかけに、AWS Textract が表と問い合わせ(保険会社・証券番号・保険期間・評価日)の読み取りを非同期で始める
  3. 【自動】 プログラムが表をセルから組み立て、列の見出しを保険会社ごとの設定と照らす
  4. 【自動】 見出しが設定に無ければ、Claude API が自社の項目への対応づけの案を出し、担当者の承認を待つ
  5. 【自動】 プログラムが保険会社ごとの設定で金額の意味をそろえ、保険年度ごとに件数と金額を集計し、報告書の小計と照らす
  6. 【自動】 プログラムが、欠けている年度、評価日の古い報告書、大きな事故、再開(Reopened)の事故を拾う
  7. 【自動】 Claude API が事故の説明の英文を原因の区分に分け、足りない資料を仲立人に頼む英文の下書きを作る
  8. 【人】 営業の担当者が、入力表の案と拾われた事項を確かめ、依頼の下書きを直して送る
  9. 【人】 引受の担当者が、入力表をもとに審査する(いまと同じ)

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:事故の原因の区分、追加資料の依頼の英文の下書き
   ▼
引受審査の入力表の案(営業の担当者が確認)
   ▼
引受審査の仕組みへ(担当者が登録)/仲立人への依頼(担当者が送る)
役割想定する製品代替候補
OCRAWS Textract(StartDocumentAnalysis/GetDocumentAnalysis。TABLES と QUERIES)Azure AI Document Intelligence、Google Document AI
生成AIClaude 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どうやって実装するのか

Step1

処理の起点を決める

見積の依頼ごとの受け取りの場所(S3 のフォルダ)にPDFが保存されたことを起点にします。 フォルダは lossrun/<見積の依頼番号>/<保険会社の記号>/<種目>/ の形にし、どの依頼のどの保険会社のどの種目かを、保存した場所で決めます。 保険会社と種目を報告書から読み取って決めると、同じ保険会社の別の種目と取り違えます。

読み取りを始めるとき、ClientRequestToken に「依頼番号+保険会社の記号+種目+版」を入れます。 公式のページでは、同じトークンで StartDocumentAnalysis を呼ぶと同じ JobId が返り、同じジョブを誤って二度始めるのを防げるとされています。

完了は Amazon SNS の通知で受け、JobTag に入れた依頼番号でどの依頼かを知ります。 JobId は7日間だけ有効なので、結果は受け取ったその場で S3 に保存します。 集計は、担当者が「この依頼の損害履歴はそろった」と印を付けてから始めます。届いた分だけで集計すると、欠けた年度を「事故が無い年度」と取り違えます。

Step2

入力データを集める

データ中身取得元
損害履歴事故ごとの事故番号・発生日・状態・支払額・費用・未決額・発生額・回収額・説明。年度ごとの小計、合計、評価日、注記仲立人や顧客から届くPDF
事故が無い旨の書面保険会社・証券番号・期間・「事故の報告なし」の記載・作成日同上
読み取り結果表・セル・列の見出し・小計の行、問い合わせの答え、各セルの信頼度AWS Textract
保険会社ごとの設定列の見出しと自社の項目の対応、発生額に費用を含むか、免責金額の前か後か、回収を差し引くか、日付の順自社で用意する設定表
見積の依頼の情報依頼番号、顧客名、種目、求める年数(通常5年)、大きな事故とみなす金額引受審査の仕組み

質を決めるのは、保険会社ごとの設定の「金額の意味」の列です。 発生額に費用を含むか、免責の前か後か、回収を差し引くか。この3つが決まっていれば、意味の違う数字を同じ列に並べずに済みます。 新しい保険会社の損害履歴が来たら、最初の1通で担当者が注記を読んで設定に書きます。

日付の順も設定に入れます。 米国の保険会社は月・日・年の順、欧州の保険会社は日・月・年の順で書くことが多く、「03/04/2024」が3月4日か4月3日かで、事故の保険年度が変わることがあります。

Step3

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

取るものどこから何に使うか
表とセル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
Step4

AIへ渡す前に整形する

  1. 形式の確認 … JPEG、PNG、PDF、TIFF のどれかであることを確かめます。XFA の形式のPDFは扱えないとされています
  2. パスワードの確認 … パスワードで保護されたPDFは扱えません。 解除して保存し直します
  3. 事故が無い旨の書面の判別 … 表が無く、問い合わせで保険期間が取れた書面は、事故の無い年度の証明として別に扱います
  4. ページをまたぐ表の連結 … 見出しが同じなら1つの表として続け、ページごとに繰り返される見出しの行は落とします
  5. 数と日付の整え … 括弧付きの金額(負の数)、通貨の記号、桁区切りを数値に直し、日付を設定の順で読みます
  6. 保険年度の付与 … 事故の発生日と証券の保険期間から、各事故に保険年度を付けます
  7. 小計の照合 … 年度ごとに足した額を、報告書の小計と比べます

5番目の括弧付きの金額を軽く見ないでください。 回収や備金の取崩しは「(12,500)」のように括弧で示されることが多く、括弧を落として正の数として足すと、支払額が実際より大きく見えます。

Step5

AIに処理させる

させるのは、言葉を扱う3つの仕事だけです。 数の読み取りは Textract、金額の意味の調整と集計はプログラムが行います。

させること中身できないときの扱い
列の見出しの対応づけの案見出しが設定に無いときだけ、自社の項目(支払額・費用・未決額・発生額・回収額・状態・発生日)への対応の案を出す決められない見出しは「対応なし」
事故の原因の区分事故の説明の英文を、火災/水濡れ/盗難/自然災害/製品の賠償/施設の賠償/自動車の対人/自動車の対物/労災/その他に分ける当たらなければ other と原文
追加資料の依頼の下書き欠けた年度・古い評価日・評価日の無い報告書ごとに、仲立人に頼む英文のメール理由ごとの定型の文に限る

2行目は、引受の担当者が事故の傾向を見るための補助です。 同じ原因の事故が年度をまたいで続いていれば、防災や安全の対策を顧客に聞くきっかけになります。 区分そのものを審査の数字には使いません。

させないこと理由
金額の読み替えと集計括弧や桁区切りを推し量ると、符号と桁がずれる
金額の意味(費用を含むか等)の判断保険会社ごとの設定で決める。報告書ごとに解釈を揺らさない
未決額の妥当性や将来の支払の見込み備金の見込みは引受と損害の担当が判断する
引受の可否や保険料への意見審査は引受の担当者の仕事
欠けた年度を「事故なし」とみなす事故が無い旨の書面が届くまで欠けとして扱う

3行目を外すのは、未決額の評価が損害保険の専門の判断だからです。 AIに「この未決額は少なすぎないか」と聞くと、もっともらしい意見を返します。入力表には読み取った数字だけを入れ、評価は人が行います。

Step6

指示内容を固定する

事故の原因の区分の指示です。

あなたは損害保険会社の企業営業部で、海外の保険会社が発行した損害履歴の
事故の説明を原因の区分に分ける担当者を手伝います。
渡された事故の説明の一覧だけを見てください。氏名は伏せてあります。

【区分】
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」を写させるのは、引受の担当者がまず見る語だからです。 訴訟になっている事故は未決額が動きやすく、求償の事故は回収で支払額が減る見込みがあります。語を写させておけば、入力表の大きな事故の行に印を付けられます。

Step7

出力形式を固定する

入力表の案は、プログラムが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見出しの対応が承認されていない
Step8

システムへ連携する

つなぎ先方式内容
Amazon S3保存の通知で Lambda を動かす依頼・保険会社・種目をフォルダで決める
AWS TextractStartDocumentAnalysis/GetDocumentAnalysis表・セル・見出し・小計・問い合わせの答え・信頼度
Amazon SNS完了の通知JobTag で依頼を知る
引受審査の仕組み見積の依頼の情報を書き出して読む読み取りだけ
Claude APIAPI呼び出し(構造化出力)見出しの対応の案、原因の区分、依頼の下書き
営業の担当者入力表の案を共有の場所に置き、チャットで知らせる確認、登録、仲立人への依頼

引受審査の仕組みには書き込みません。 入力表の案を確かめて登録するのは営業の担当者です。読み取りの誤りが審査の数字にそのまま入る経路を作らないためです。

Claude を Amazon Bedrock から使う場合は、構造化出力の対応を先に確かめます。 公式のページでは、Bedrock では構造化出力が旧来の連携でだけ使え、Claude in Amazon Bedrock では使えないとされています。

Step9

人が確認する

営業の担当者が全件の入力表の案を確かめます。 見る順を決めておきます。

  1. summary_mismatch の年度を先に見る … 小計が合わない年度は入力表に入っていません。多くはページの境目の行落ちか、括弧付きの金額の符号です
  2. basis を確かめる … 新しい保険会社なら、注記を原本で読んで設定を確かめます
  3. missing_year と stale_valuation を確かめ、依頼を送る … 下書きを直して送ります。送信は担当者が行います
  4. 大きな事故の行を原本で見る … 金額と状態、flags の語を原本で確かめます
  5. 入力表を登録して引受に回す … 不足の資料を待っていることを、入力表の備考に書きます

3番目は、受け取ったその日に行います。 欠けた年度の依頼は、早いほど見積の期限に間に合います。

Step10

例外に対処する

起きること対応
パスワード付き・XFA のPDF読めない。担当者が解除して保存し直す
JobStatus が FAILED か PARTIAL_SUCCESSWarnings のページを見て、そのページだけ人が写す
小計の行が無い報告書summary_check を付けられない。全件を原本で照らす
見出しが設定に無い対応づけの案を出し、承認まで集計を止める
1通に複数の通貨が混ざる通貨ごとに分けて集計し、換算はしない
発生日が保険期間の外保険年度を付けずに人へ。請求事故の基準の契約かを確かめる
同じ事故が2つの報告書に載る事故番号で照らし、評価日の新しいほうを採る

下から2行目は、賠償の種目で起きます。 発生日ではなく請求の日で保険年度が決まる契約があり、発生日だけで年度を付けると年度がずれます。 契約の基準は保険会社ごとの設定に書きます。

Step11

記録を残す

  • 損害履歴の原本と、保存した場所(依頼・保険会社・種目・版)
  • Textract が返したブロックの全文と、組み立てた表
  • 保険会社ごとの設定の、その時点の版
  • 入力表の案(years、large_losses、issues)と、集計に使った事故の行
  • 担当者が直した箇所 … どのセルの数を、どう直したか
  • 仲立人への依頼と、追加で届いた資料
  • 保険会社ごとの summary_mismatch と見出しの対応なしの件数

最後の行は、設定表の手入れに使います。 同じ保険会社で不一致が続くなら、その会社の書式が変わったか、設定に誤りがあります。

04実装レベルの3段階

最小構成:コンソールで損害履歴を読み取り、表を書き出して手で集計する / 事故ごとの金額を写す手作業
半自動化:上記+表の組み立てと数の整え、年度ごとの集計と小計の照合をプログラムで行う / 写しと集計
本格構成:上記+保存を起点に自動で動かし、保険会社ごとの設定で金額の意味をそろえ、欠けた年度・古い評価日・大きな事故と依頼の下書きまで出す / 入力表の案づくりの全体と、追加資料の依頼の洗い出し

半自動化で、1件90分が50分程度になります。 写しと集計は無くなりますが、金額の意味の確認と、欠けた年度・評価日の確認、依頼の英文が手作業のまま残ります。 本格構成で27分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化で3か月回すと、よく来る保険会社の見出しと金額の意味が設定表にそろいます。 そこを固めてから本格構成に進むほうが、意味の違う数字を並べる誤りが減ります。

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

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

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

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

AI活用について相談する

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

向いている
  1. 外資系企業の日本法人や、海外に拠点を持つ日本企業の企業保険(財物・賠償・労災上乗せ・自動車など)の見積を多く受ける損害保険会社の企業営業と引受の部署。前の保険会社が発行した英文の損害履歴が保険会社ごとに違う書式のPDFで届き、営業の担当者が事故ごとの金額を引受審査の入力表に手で写して年度ごとに足している場合。見積の回答の期限に追われて、評価日の古さや欠けている年度の確認が抜けがちな場合。
向いていない
  1. 損害履歴がほぼ国内の保険会社の日本語の書式で届く場合(この構成で使う読み取りのサービスは英語など6言語に対応します)。損害履歴をデータ(表計算のファイルや仲立人の仕組み)で受け取れる場合(読み取りは要らず、そのまま集計すれば足ります)。見積の依頼が月に数件で、手で写せば足りる場合。なお、引受の可否、保険料、免責の条件の判断は引受の担当者が行います。この構成は損害の数字をそろえるまでで、リスクの評価はしません。

07最小構成で試す方法

  1. 先月の見積の依頼から、保険会社の違う3件の損害履歴を選ぶ(うち1件は、事故の多い自動車か労災上乗せの種目を入れる)
  2. AWS のコンソールで Textract の文書分析を開き、表の読み取りを試す
  3. 表を表計算のファイルとして書き出し、当時担当者が写したファイルと並べる
  4. 年度ごとに足して、報告書の小計と合うかを確かめる
  5. 手元のAIサービスに事故の説明の一覧(氏名を消したもの)を貼り、原因の区分に分けさせる

事故の多い種目は必ず入れてください。 ページの境目と括弧付きの金額がどこで問題になるかが、ここで分かります。

出てきた内容判断
表がセル単位で取れ、小計も合った集計のプログラムに進む
ページの境目で行が落ちた表の連結の手順で直る。構成は有効
括弧付きの金額が正の数になった数の整えの手順で直る。構成は有効

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

問題対策
意味の違う「Incurred」を同じ列に並べる保険会社ごとの設定で basis を決め、違うものは別の表に分ける
括弧付きの金額を正の数として足す数の整えで括弧を負の数に直し、小計と照らす
「03/04/2024」の月と日を取り違える日付の順を保険会社ごとの設定で決める
ページの境目で事故の行が落ちる全ページのブロックをそろえてから連結する
欠けた年度を事故なしと扱う事故が無い旨の書面が無ければ missing_year
古い評価日の数字をそのまま使う評価日を問い合わせで取り、日数で stale_valuation を付ける
請求の日で年度が決まる契約で年度がずれる契約の基準を設定に入れ、発生日だけで年度を付けない
Bedrock で構造化出力が使えないClaude API を直接使うか、対応を先に確かめる

上の3行が、この構成の失敗のほとんどです。 どれも、読み取りは正しいのに数字の意味を取り違える失敗です。意味を保険会社ごとの設定に置き、小計と照らす設計にしておけば、引受の担当者に誤った年度の数字を渡すことを防げます。

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

この構成で扱うデータ: 顧客企業の名前と証券番号、事故の日付と金額、事故の説明です。自動車の対人や労災の事故では、説明や請求者の欄に負傷した人の氏名や負傷の内容が書かれていることがあります。

  1. 生成AIに渡す前に氏名を伏せる … 請求者の列は渡さず、事故の説明からも請求者の欄にある氏名をプログラムで伏せてから渡します。原因の区分に氏名は要りません
  2. 受け取りの場所の権限を絞る … S3 のフォルダは担当の部署と処理のプログラムだけが読めるようにし、結果は KMSKeyId を指定した暗号化で保存します
  3. 見積に使う目的の範囲で扱う … 損害履歴は見積の依頼のために受け取った資料です。引受を見送った依頼の資料をいつまで残すかを、社内の規程に沿って決めます
  4. 入力表を自動で登録しない … 確かめてから登録します
  5. 依頼を自動で送らない … 下書きまでです
  6. 引受の判断に使わない … 原因の区分や大きな事故の印は補助で、引受の可否と条件は引受の担当者が決めます

誤りが起きた場合のリスクは、意味の違う数字や読み取りの誤りで引受の判断を誤ることと、事故の情報や負傷した人の情報を必要以上に広げることの2つです。 前者は設定と小計の照合で、後者は氏名を伏せることと権限を絞ることで防ぎます。

10まず何から始めるか

1週目:よく来る保険会社の設定表を作る

過去半年の損害履歴を見て、件数の多い保険会社から列の見出しの対応、発生額に費用を含むか、免責の前か後か、回収を差し引くか、日付の順を設定表に書きます。

2週目:3件で読み取りを試す

保険会社の違う3件をコンソールで読み取り、当時写したファイルと並べます。事故の多い種目で、ページの境目と括弧付きの金額が正しく扱えるかを最優先で見ます。

3週目:入力表の形を引受の担当者と決める

年度ごとに並べる項目、大きな事故とみなす金額、評価日の古さの日数を、引受の担当者と決めます。 ここが決まらないと、出てきた入力表を誰も使えません。

4週目:表の組み立てと集計をつなぐ

保存を起点に読み取り、表を組み立て、年度ごとに集計して小計と照らすところまで作ります。この時点では basis を全件人が確かめます。

2か月目: 欠けた年度・古い評価日・大きな事故の拾い出しを足し、issues の件数を毎週数えます。3か月目以降: 原因の区分と依頼の下書きを足し、1件90分が何分になったかを実測します。新しい保険会社が来ても設定を足すだけで回るようになった時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-14/最終更新:2026-10-14
確認した内容情報源確認日
対応する形式が JPEG・PNG・PDF・TIFF で XFA の形式のPDFは扱えないこと。同期の処理はPDFが1ページまで、非同期の処理はPDFが500MB・3,000ページまでであること。パスワードで保護されたPDFは扱えないこと。対応言語が英語・フランス語・ドイツ語・イタリア語・ポルトガル語・スペイン語であること。問い合わせは英語の文書だけで、非同期で1ページ30件までであることAWS: Set Quotas in Amazon Textract2026-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: StartDocumentAnalysis2026-10-14
GetDocumentAnalysis が MaxResults 最大1,000で NextToken によりページを送ること。JobStatus が IN_PROGRESS・SUCCEEDED・FAILED・PARTIAL_SUCCESS であること。Warnings が返ることAWS: GetDocumentAnalysis2026-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 outputs2026-10-14

引受の可否、保険料、条件の判断は引受の担当者が行ってください。 本記事は公開されている製品の仕様で確認できた範囲だけを扱っています。損害履歴の書式と金額の定義は保険会社ごとに違います。

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

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

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

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