Media > AI活用ユースケース > カスタマーサポート > 保険会社のコールセンターと代理店から上がる苦情の記録を、苦情の区分と原因で分類し、毎月の苦情報告と改善の検討資料の下書きを作る

保険会社のコールセンターと代理店から上がる苦情の記録を、苦情の区分と原因で分類し、毎月の苦情報告と改善の検討資料の下書きを作る

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

コールセンターと代理店から上がる苦情等の記録を1件ずつ読み、社内の苦情分類コードと原因区分の候補を根拠の文とともに付けます。月末には区分ごとの件数から、苦情報告と改善の検討資料の下書きを作ります。

サマリー
生成AI
Azure OpenAI Service/Claude/Gemini
連携・自動化
Make/n8n/Power Automate
対象業界
その他/保険/金融
対象部門
カスタマーサポート/品質管理
対象業務
分類・仕分け/集計・分析
主な課題
データ分析に時間がかかる/属人化している/書類作成に時間がかかる
AIで行う処理
分類
主な効果
判断支援/品質標準化/工数削減
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
必須
現在工数
60h/月
AI導入後
20h/月
想定削減
67%
年間削減
480h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 苦情管理のシステムから、前日に登録された苦情等の記録を一覧で開く
  2. 1件ずつ受付の記録と対応の記録を読み、苦情等に当たるか(相談・要望だけか)を判断する
  3. 苦情分類コード表を見ながら、大分類と中分類を付ける
  4. 対応の記録に原因が書かれていれば、原因区分を付ける。書かれていなければ空欄にする
  5. 保険金の支払に関するもの、代理店に関するもの、重大な申出は、別の一覧に書き写して課長に回す
  6. 月末に区分ごとの件数をスプレッドシートで集計し、前月・前年同月と並べる
  7. 増えた区分について記録を読み直し、理由と主な事例を報告の文章にまとめる
  8. 改善の検討資料として、原因区分の多い申出と関係する部署の案を書き出す
導入後(After)
  1. 自動毎朝、苦情管理のシステムから前日分の記録が書き出され、SharePoint のライブラリに置かれる
  2. 自動ファイルが置かれたことを起点にフローが動き、記録を1件ずつに分け、氏名・電話番号・証券番号を伏せる
  3. 自動Azure OpenAI が記録を読み、苦情等に当たる可能性、苦情分類コード(大分類・中分類)、原因区分、根拠の文、確信の度合いを返す
  4. 自動フローが規則で振り分ける。保険金の支払に関するもの、代理店に関するもの、重大の印が付いたものは、別の確認先にも回す
  5. 人お客さま相談室の担当者が、確認リストで候補を見て確定する。確信の度合いが低いものと、苦情等から外す候補だけを丁寧に読む
  6. 自動対応が終わった記録は、対応の記録を加えて原因区分だけを付け直す
  7. 自動月末に、確定した区分で件数を集計し、前月・前年同月と並べる
  8. 自動集計の数値と、増えた区分の代表的な記録から、苦情報告と改善の検討資料の下書きを作る
  9. 人担当者と課長が下書きを直し、品質管理部長へ出す
各工程の詳しい説明を読む
  1. 苦情管理のシステムから、前日に登録された苦情等の記録を一覧で開く
  2. 1件ずつ受付の記録と対応の記録を読み、苦情等に当たるか(相談・要望だけか)を判断する
  3. 苦情分類コード表を見ながら、大分類と中分類を付ける
  4. 対応の記録に原因が書かれていれば、原因区分を付ける。書かれていなければ空欄にする
  5. 保険金の支払に関するもの、代理店に関するもの、重大な申出は、別の一覧に書き写して課長に回す
  6. 月末に区分ごとの件数をスプレッドシートで集計し、前月・前年同月と並べる
  7. 増えた区分について記録を読み直し、理由と主な事例を報告の文章にまとめる
  8. 改善の検討資料として、原因区分の多い申出と関係する部署の案を書き出す

(a)区分の付け方が人によって違う。 中分類42のうち、境目があいまいなものがいくつもあります。新しく来た担当者は、前任者がどう付けていたかを過去の記録から探して合わせます。 その結果、同じ申出でも月によって区分が変わり、件数の増減が実態を表さなくなります。

(b)原因が書かれていない記録が多い。 受付の時点では原因が分からないので、対応が終わるまで原因の欄は空きます。対応が終わった後に原因区分を付け直す運用になっていますが、締め日を過ぎた記録は直されないまま残ります。 報告の段階で「原因不明」が多すぎると、改善の検討に使えません。

(c)代理店の報告は読みにくい。 「お客様ご立腹。後日説明予定」のような一言の報告では区分が付けられず、経緯を長く書いた報告では申出の中心を探すのに時間がかかります。

(d)月末の報告づくりが集中する。 7番目と8番目は記録の読み直しで、事例を選んで文章にするのに毎月まる2日かかります。 その間、日々の分類が止まります。

  1. 【自動】 毎朝、苦情管理のシステムから前日分の記録が書き出され、SharePoint のライブラリに置かれる
  2. 【自動】 ファイルが置かれたことを起点にフローが動き、記録を1件ずつに分け、氏名・電話番号・証券番号を伏せる
  3. 【自動】 Azure OpenAI が記録を読み、苦情等に当たる可能性、苦情分類コード(大分類・中分類)、原因区分、根拠の文、確信の度合いを返す
  4. 【自動】 フローが規則で振り分ける。保険金の支払に関するもの、代理店に関するもの、重大の印が付いたものは、別の確認先にも回す
  5. 【人】 お客さま相談室の担当者が、確認リストで候補を見て確定する。確信の度合いが低いものと、苦情等から外す候補だけを丁寧に読む
  6. 【自動】 対応が終わった記録は、対応の記録を加えて原因区分だけを付け直す
  7. 【自動】 月末に、確定した区分で件数を集計し、前月・前年同月と並べる
  8. 【自動】 集計の数値と、増えた区分の代表的な記録から、苦情報告と改善の検討資料の下書きを作る
  9. 【人】 担当者と課長が下書きを直し、品質管理部長へ出す

5番目が、この設計の分かれ目です。 区分を確定させるのは人ですが、600件を同じ重さで読むと時間が減りません。確信が高く苦情等とされたものは流し見て確定し、迷いのあるものに時間を使います。

8番目で、AIに件数を数えさせないのも意図してのことです。 件数と増減率はフローが集計し、AIにはその数値を渡して文章にさせるだけにします。

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

構成図
苦情管理のシステム(受付と対応の記録)
   │  毎朝、前日分を書き出す
   ▼
SharePoint のライブラリ「苦情等記録_取込」
   ▼【トリガー】ファイルの作成時 (プロパティのみ)
Power Automate
   ├──▶ 1件ずつに分ける/氏名・電話番号・証券番号を伏せる
   ▼
Azure OpenAI(Microsoft Foundry)── 構造化出力
   │   ① 苦情等に当たる可能性   ② 苦情分類コード(大・中)
   │   ③ 原因区分(未確定を含む) ④ 根拠の文と確信の度合い
   ▼
Power Automate ── 規則で振り分け(支払/代理店/重大)
   ▼
SharePoint のリスト「分類確認」──【お客さま相談室が確定】
   ▼【トリガー】繰り返し(毎月1日)
Power Automate ── 確定した区分で件数を集計
   ▼
Azure OpenAI(Microsoft Foundry)── 苦情報告・検討資料の下書き
   ▼
Power Automate ── 下書きの数字を集計と照らす
   ▼
品質管理部長 → 経営会議
役割想定する製品代替候補
生成AIAzure OpenAI(Microsoft Foundry)Claude、Gemini
連携Power AutomateMake、n8n
記録と確認の置き場SharePoint のライブラリとリストDataverse
苦情等の記録既存の苦情管理のシステム各システムの書き出し機能

苦情管理のシステムは、新しく足すものではありません。 前日分の記録を毎朝書き出して SharePoint に置くだけです。書き出し方は利用している製品によって違うため、この部分は利用環境に合わせた個別の実装になります。 フローは書き出された記録を読むだけで、苦情管理のシステムには書き込みません。確定した区分は、担当者が苦情管理のシステムへ登録します。

土台になるのは、Microsoft Foundry で提供される Azure OpenAI のモデルです。 Azure が販売するモデルは Microsoft の Azure 環境でホストされ、モデルの提供元が運営するサービスとはやり取りしないとされています。入力と出力は他の顧客にもモデルの提供元にも提供されず、許可や指示なしに生成AIの基盤モデルの学習に使われないとされています。苦情等の記録は顧客の契約と不満の中身そのものなので、この点を最初に確かめます。

処理される場所も確かめます。 標準のデプロイでは指定した地域の中で処理されますが、「Global」や「DataZone」の種類では処理の場所が広がるとされています。

記録の受け取りは、Power Automate の SharePoint コネクタで行います。 ライブラリに書き出しが置かれたことは「ファイルの作成時 (プロパティのみ)」のトリガーで受け、中身は「ファイル コンテンツの取得」で取ります。確認リストへの書き込みは「項目を作成する」、確定後の読み出しは「アイテムを取得」で、OData のフィルター クエリで対象の月に絞って読みます。月次の集計は「繰り返し」のトリガーで動かします。頻度を月にすると、毎月同じ日に実行されます。

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

Step1

処理の起点を決める

起点は2つあります。日々の分類と、月次の報告です。

日々の分類は、SharePoint のライブラリに前日分の書き出しが置かれたことを起点にします。毎朝7時に書き出せば、出社時には候補が並んでいます。重大な申出は、課長に回るまでの時間がそのまま顧客を待たせる時間になります。

月次の報告は、Power Automate の「繰り返し」のトリガーで毎月1日の朝に動かします。タイムゾーンを日本の時刻に合わせて開始時刻を指定します。前月分の区分の確定が終わっていないと集計が狂うので、1日の時点で未確定の記録が残っていれば、集計を止めて担当者に知らせます。

原因区分の付け直しは、対応の記録が完了になったことを起点にします。毎朝の書き出しに「前日に対応が完了した記録」も含めてもらい、同じフローで原因区分だけを付け直します。

Step2

入力データを集める

データ中身取得元
受付の記録受付日時、経路(コールセンター/代理店)、申出の内容、顧客の言葉の要旨、商品の種類苦情管理のシステムの書き出し
対応の記録対応の経過、説明した内容、調べて分かった事実、対応の結果、完了日同上
苦情分類コード表大分類8・中分類42。中分類ごとの定義、含めるもの、含めないもの、紛らわしい中分類との違いSharePoint のリスト
原因区分の一覧9区分の定義と判定の目安。「未確定」の扱いSharePoint のリスト
判定例過去に区分の付け方を議論して決めた記録の例(中分類ごとに3件まで)SharePoint のリスト
前月までの集計区分ごとの件数(過去13か月分)集計結果のリスト

質を決めるのは、苦情分類コード表の書き方です。 中分類の名前だけを渡すと、AIは名前から想像して付けます。「含めないもの」と「紛らわしい中分類との違い」を1行ずつ持たせると、担当者が迷っていた境目でAIも同じ基準で選びます。 第3章の(a)を直す作業そのものなので、AIを入れるかどうかにかかわらず効きます。

判定例には、典型的な記録ではなく、課内で揉めた境目の記録と決めた理由を入れます。

Step3

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

取るものどこからどう取るか
前日分の記録ライブラリ「苦情等記録_取込」トリガーが返すファイル識別子で「ファイル コンテンツの取得」
苦情分類コード表・原因区分SharePoint のリスト「アイテムを取得」。有効な版だけをフィルター クエリで絞る
判定例SharePoint のリスト同上。中分類ごとに3件まで
確定した区分確認リスト「分類確認」月次のフローで「アイテムを取得」。対象の月で絞る
前月までの集計集計結果のリスト同上。過去13か月分

コード表には版を持たせます。 中分類を足したり分けたりすると、前年同月との比較の意味が変わります。各行に「有効開始月」と「有効終了月」を持たせ、分類したときの版を記録に残します。

「アイテムを取得」は上位カウントの既定値がすべてなので、600件程度なら一度に読めます。接続ごとに60秒あたり600回の呼び出しの上限があるため、書き込みはまとめて回す件数を絞ります。

Step4

AIへ渡す前に整形する

  1. 1件ずつに分ける … 書き出しのファイルを記録の番号で分け、受付と対応の記録を同じ単位にまとめます
  2. 個人を特定する情報を伏せる … 氏名、電話番号、住所、証券番号、事故の受付番号を、[氏名] [証券番号] のような記号に置き換えます。記録の番号との対応表はフローの側で持ちます
  3. 経路の印を付ける … コールセンターか代理店かを入力に含めます。代理店の場合は代理店の区分(専属・乗合)も付けます
  4. 短すぎる記録を分ける … 申出の内容が20字未満の記録は、AIに渡さず「情報不足」として確認リストに直接入れます
  5. 長すぎる記録を切る … 対応の記録が長いものは、直近の経過と結果の部分を残し、途中の電話のやり取りを要約せずに省きます
  6. 重複の確認 … 同じ顧客の同じ件が、コールセンターと代理店の両方から上がっていないかを、伏せる前の証券番号で照らします
  7. コード表の版を選ぶ … 受付日に有効な版の苦情分類コード表を選びます

2番目を省かないでください。 区分を付けるのに顧客の氏名は要りません。伏せてから渡しても分類の結果は変わらず、外へ出す情報だけが減ります。

6番目の重複の候補は、1件にまとめず印を付けて人に見せます。 同じ顧客の別の申出であることもあるからです。

Step5

AIに処理させる

させるのは、記録1件ごとに次の5つを答え、それぞれの根拠にした文を記録からそのまま引くことです。

見るもの答え方判断できないときの扱い
苦情等に当たる可能性complaint / inquiry_only / unclear不満の表明が少しでもあれば complaint
苦情分類コード(大分類・中分類)コード表の中から1つ。次点も1つ当てはまるものが無ければ unmatched
原因区分原因区分の一覧から1つ対応の記録に原因が書かれていなければ undetermined
確認先の印保険金の支払/代理店/重大のうち当てはまるもの迷えば印を付ける
確信の度合いhigh / medium / low次点との差が小さければ low

いちばん大事なのは、1行目の右端です。 監督指針は、苦情と紛争の区別は相対的で相互に連続性を有するもので、顧客からの申出を形式的に切り分けるのではなく、相対性・連続性を勘案して対処することが重要としています。AIに求めるのは切り分けではなく、「外さない」ことです。 inquiry_only を付けてよいのは、不満の表明が記録のどこにも無いときだけです。

3行目の undetermined も同じくらい大事です。 受付の記録だけで原因を書かせると、「説明不足」がいちばん多くなります。どの申出も、説明が足りなかったと言えば言えてしまうからです。 原因区分は、対応の記録に調べた事実が書かれているときだけ埋めます。

4行目の印は、規則の側で使います。 監督指針は、保険金等の不払いに関する苦情等について、不払いを決定した支払担当部門のみで対処するのではなく、最終的にはコンプライアンス担当部門などの他の部門で適切に対処されたかを検証する態勢を求めています。代理店を含む外部委託先の苦情等は、漏れなく報告される態勢が求められています。印が付いたものは、確認先へも回します。

させないこと理由
苦情等から外す判断の確定外すのは人が行う。AIは unclear までにとどめる
原因の推測調べていない原因を書くと、改善の検討が誤った方向へ進む
件数の集計数えるのはフロー。AIは集計を受け取って文章にするだけ
顧客への回答案この構成の範囲外。回答は対応の担当者が行う
反社会的勢力かどうかの判定疑いの印を付けるまで。判定と対応は所管の部署が行う

最後の行は、監督指針が苦情等を装った圧力を通常の苦情等と区別して関係部署に速やかに連絡することを求めている点に対応します。 判定を誤れば顧客を不当に扱うので、印を付けて人に回すところまでにします。

Step6

指示内容を固定する

あなたは損害保険会社のお客さま相談室で、苦情等の記録を分類する担当者です。
記録に書かれていることだけを根拠にしてください。推測で埋めないでください。

【答えること】
1. 苦情等に当たる可能性(complaint / inquiry_only / unclear)
2. 苦情分類コード:大分類と中分類を1つずつ。次点の中分類も1つ
3. 原因区分:原因区分の一覧から1つ
4. 確認先の印:claim_payment / agency / serious のうち当てはまるもの(複数可)
5. 確信の度合い(high / medium / low)

【厳守事項】
- 顧客の不満・不服・怒り・困惑の表明が記録に少しでもあれば、
  complaint にしてください。「要望」「問い合わせ」と書かれていても、
  不満の表明があれば complaint です。
- inquiry_only は、不満の表明が記録のどこにも無いときだけ選んでください。
  迷ったときは unclear にしてください。
- 中分類は、コード表の「含めないもの」に当たらないかを確かめてから選んでください。
  当てはまるものが無ければ unmatched としてください。新しい区分を作らないでください。
- 原因区分は、対応の記録に調べた事実が書かれているときだけ選んでください。
  書かれていなければ undetermined にしてください。
  受付の記録だけから原因を推測しないでください。
- 「説明不足」は、何の説明が足りなかったかが記録に書かれているときだけ選んでください。
- 保険金の支払・支払の遅れ・支払額に関わる申出には claim_payment を付けてください。
- 代理店の対応・説明・手続に関わる申出には agency を付けてください。
- 申出の中に、通常の苦情と違う圧力の文言(金銭の要求、脅しなど)があれば
  serious を付け、その文を evidence に写してください。判定はしないでください。
- evidence には、判断の根拠にした文を記録からそのまま写してください。言い換えないでください。
- 伏せ字([氏名] など)を元に戻そうとしないでください。

【記録】{record}
【経路】{channel}
【苦情分類コード表(有効な版)】{code_table}
【原因区分の一覧】{cause_list}
【判定例】{examples}

「要望と書かれていても、不満の表明があれば complaint」を明記しないと、記録の書き手の言葉に引きずられます。 代理店の報告には「ご要望」と書かれたものが多く、そのまま読めば inquiry_only が増えます。書き手がどう呼んだかではなく、顧客が何を言ったかで見るよう指示します。

「説明不足」の行を別に書いているのは、第7章「AIに何をさせるのか」の3行目の理由からです。 禁じないと、原因区分の半分近くが「説明不足」になります。

Step7

出力形式を固定する

次の形のJSONで受け取ります。 Azure OpenAI の構造化出力を使い、JSON Schema に沿った形で返させます。

{
  "record_id": "",
  "code_table_version": "",
  "complaint_status": "complaint | inquiry_only | unclear",
  "category": {
    "major": "",
    "minor": "",
    "minor_runner_up": "",
    "evidence": ""
  },
  "cause": {
    "code": "",
    "evidence": ""
  },
  "flags": ["claim_payment", "agency", "serious"],
  "flag_evidence": [""],
  "confidence": "high | medium | low",
  "note_for_reviewer": ""
}

1つ目の理由は、選べる値を enum で縛れることです。 構造化出力は enum に対応しているので、中分類42のコードを enum に並べれば、コード表に無い区分は返ってきません。 「その他」に逃げることも、新しい区分を作ることもできなくなります。unmatched と undetermined も enum に入れておきます。

2つ目は、すべての項目が必ず返ることです。 構造化出力ではすべての項目を必須にし、任意の項目は null との組み合わせの型で表します。原因区分が空のまま返ってくることが無くなり、undetermined という明示の値が返ります。 空欄と「未確定」を区別できるのは、月末の集計で効きます。

3つ目は、additionalProperties を false にするので、確認リストの列と1対1に対応させられることです。

月次の報告の下書きは、別の呼び出しで次の形を返させます。

{
  "month": "",
  "summary": "",
  "increased_categories": [
    { "minor": "", "count": 0, "prev_month": 0, "prev_year": 0,
      "explanation": "", "example_record_ids": [""] }
  ],
  "undetermined_cause_ratio_comment": "",
  "improvement_candidates": [
    { "cause": "", "related_department": "", "point": "", "record_ids": [""] }
  ],
  "numbers_used": [ { "label": "", "value": 0 } ]
}

numbers_used に、本文で使った数値をすべて書き出させます。 フローがこの値を集計と照らし、1つでも違えば下書きを差し戻します。構造化出力は文字列の長さや数値の範囲の指定には対応していないため、値が正しいかの確認はフローの側で行います。

Step8

システムへ連携する

つなぎ先方式内容
苦情管理のシステム既存の書き出し前日分の記録と、前日に完了した記録を書き出す
SharePoint のライブラリ「ファイルの作成時 (プロパティのみ)」のトリガー書き出しが置かれたことを受ける
Azure OpenAIAPI呼び出し(構造化出力)記録の分類と、月次の下書き
SharePoint のリスト「分類確認」「項目を作成する」「アイテムを取得」候補の書き込みと、確定した区分の読み出し
社内の通知(メール等)フローから送信serious と claim_payment の印が付いた記録を課長とコンプライアンス担当へ知らせる
集計結果のリスト「項目を作成する」月次の件数を残す

苦情管理のシステムには書き込みません。 確定した区分を登録するのは担当者です。分類の誤りが顧客対応の記録に直接入る経路を作らないためです。

通知は印が付いたものだけにし、serious は即時、ほかは午前中にまとめて知らせます。

Step9

人が確認する

人が確定するのは全件ですが、読む深さを3段階に分けます。

  1. unclear と inquiry_only を先に見る … 苦情等から外す候補です。ここだけは記録の全文を読み、外してよいかを決めます
  2. 確信の度合いが low のものを見る … 中分類の候補と次点を見比べ、どちらかを選びます。判定例に足すべき記録なら印を付けます
  3. high で complaint のものは一覧で流し見る … 中分類と根拠の文が合っていれば、まとめて確定します
  4. 区分を覆したら理由を残す … どの区分からどの区分へ、なぜ変えたかを一言書きます

1番目を先にするのは、外した記録が分析と再発防止の対象から消えるからです。

月次の下書きは、担当者と課長の2人が見ます。 担当者は事例の選び方と説明が記録と合っているかを、課長は経営会議に出す言葉として適切かを見ます。数字の確認はフローが済ませているので、人は数字を検算しません。

目標は、600件をならして1件2分です。 1番目と2番目に回るのが全体の2割前後という想定で、それより多い月は、コード表の定義が足りていないか、判定例が古くなっています。

Step10

例外に対処する

起きること対応
書き出しのファイルが朝までに置かれない9時に件数0件を検知して担当者へ知らせる。前日分が抜けたまま月次に進まない
記録が20字未満AIに渡さず「情報不足」として確認リストへ。代理店へ追記を依頼する
unmatched が返るコード表に無い申出。担当者が区分を決め、同じものが続けばコード表の見直し候補にする
構造化出力が拒否(refusal)を返す記録の文言が安全性の判定に触れた場合。担当者が手で分類する
同じ申出が2つの経路から上がる重複の候補として並べて見せる。1件にまとめるかは人が決める
コード表の版が変わる月受付日に有効な版で分類する。月次の比較表には版の切り替えを注記する
月初に未確定の記録が残る集計を止めて知らせる。未確定のまま数えない
下書きの数字が集計と合わない下書きを差し戻し、もう一度作らせる。2回続けば担当者が書く
Azure OpenAI が応答しない記録をライブラリに残し、時間を置いて再実行。処理済みの印は成功したときだけ付ける

上から2行目と3行目は、仕組みではなく記録とコード表の問題です。 直すほうが、指示を工夫するより効きます。

Step11

記録を残す

  • 書き出しの元のファイルと、伏せる前と後の記録の対応(対応表はアクセスを絞った場所に置く)
  • AIに渡した入力の全文(伏せた後のもの)と、返ってきたJSONの全文
  • 分類したときのコード表の版と、渡した判定例の一覧
  • 人が確定した区分と、AIの候補との違い。覆した場合の理由
  • 月次の集計の値と、下書きの numbers_used、照合の結果
  • 経営会議に出した最終版の報告と、下書きとの差分

3つ目を残すのは、区分の比較を後から説明するためです。 前年同月より件数が増えたとき、申出が増えたのか、コード表の版が変わったのか、判定例が変わったのかを切り分けられるようにします。

4つ目は毎月数えます。 覆す件数の多い中分類は、定義か判定例を直します。

04実装レベルの3段階

最小構成:チャット画面にコード表と記録を貼り、区分の候補を出させる / 1件ごとの区分の候補
半自動化:上記+毎朝の書き出しをフローで読み、候補を確認リストに並べる / 日々の分類の候補づくりと一覧化
本格構成:上記+確認先への振り分け、原因区分の付け直し、月次の集計と報告の下書き、数字の照合 / 分類から月次の報告の下書きまで

最小構成では件数がさばけません。 1件ずつ貼るので、600件には使えません。コード表で区分が決まるかを確かめるための段階です。 半自動化で、1件6分が3分程度になります。 区分の候補は並びますが、月次の集計と報告づくり、原因区分の付け直しが手作業のまま残ります。本格構成で2分になり、この段階が本記事の想定です。 差が大きいのは、月末の2日間の読み直しが、下書きの確認に置き換わるからです。 段階を飛ばさないでください。 半自動化を2か月回すと、覆す件数の多い中分類と unmatched が続く申出が見えます。コード表を直してから月次に進みます。

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

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

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

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

AI活用について相談する

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

向いている
  1. コールセンターと代理店の両方から苦情等の記録が上がり、お客さま相談室や品質管理の部署が毎月それを読み直して苦情分類コードと原因区分を付け、経営会議や取締役会に出す苦情報告を作っている損害保険会社・生命保険会社・少額短期保険業者。担当者によって区分の付け方が違い、前年と比べた増減の説明に毎月時間がかかっている場合。苦情等の記録が苦情管理のシステムから毎日書き出せる場合。
向いていない
  1. 苦情等の件数が月に数十件で、担当者が1人で読み切れる場合。苦情分類コードと原因区分の定義が社内で決まっておらず、区分の一覧そのものが無い場合(先に区分を決める作業が要ります)。苦情等の記録が紙の受付票だけで、文字のデータになっていない場合。なお、申出を苦情として扱うかどうか、どの改善策を採るかの判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の苦情等の記録から50件を選ぶ(うち10件は、課内で区分を議論したことのある記録を入れる)
  2. 氏名・電話番号・証券番号を手で伏せる
  3. 苦情分類コード表と原因区分の一覧を、定義と「含めないもの」を付けた文書にする
  4. 社内で利用が認められている Azure OpenAI のチャット画面に、コード表と記録を1件ずつ貼り付ける
  5. 「この記録に苦情分類コードの中分類を1つ付け、根拠の文をそのまま引いてください。原因は対応の記録に書かれていなければ未確定としてください」と指示する
  6. 出てきた区分を、当時担当者が付けた区分と突き合わせる

50件は必ずやってください。 フローを組む前に、コード表の定義だけで区分が決まるのかを確かめます。

出てきた内容判断
当時の区分と大半が一致し、違ったものは境目の記録だったフローの構築に進む
受付の記録だけで原因区分が埋まった指示の書き方で直る。構成は有効
区分がばらばらで、当時の区分とも一致しないコード表の定義が先。 AIの問題ではない

3行目は失敗ではなく、担当者ごとに付け方が違っていた理由が見えたということです。 一致しなかった記録をもとにコード表を書き足し、同じ50件で試し直してください。

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

問題対策
「要望」と書かれた記録が inquiry_only になる書き手の言葉ではなく顧客の言葉で見るよう指示する。外す判断は人が行う
原因区分に「説明不足」が並ぶ対応の記録に調べた事実が無ければ undetermined。受付だけで原因を書かせない
中分類の候補が名前だけで選ばれるコード表に「含めないもの」と「紛らわしい中分類との違い」を持たせる
代理店の一言の報告で区分が付かない「情報不足」として分け、代理店向けの画面に必須の欄を足す
同じ申出が2件に数えられる伏せる前の証券番号で重複の候補を出し、人がまとめる
コード表の版が変わって前年と比べられない版を記録に残し、月次の比較表に切り替えを注記する
下書きの件数が集計と違うAIに数えさせない。numbers_used で照合し、違えば差し戻す
月初に未確定の記録が残ったまま集計する未確定が残れば集計を止める
氏名や証券番号がそのまま渡る伏せる処理を前処理の2番目に固定し、伏せた後の入力をログで抜き取り確認する
serious の印を判定として扱う印は「人が見るべき」という意味だけ。判定と対応は所管の部署が行う

上の2行が、この構成の失敗のほとんどです。 どちらも報告に上がる件数と原因の分布を静かにゆがめます。 下の2行は、監督指針が苦情等の対処の態勢として求めている事項です。

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

この構成で扱うデータ: 顧客の契約の内容、事故や保険金の支払の経過、顧客が述べた不満の中身、代理店の名前と対応の経過です。氏名や証券番号を伏せても、申出の中身から顧客が分かることがあります。

  1. 個人を特定する情報を伏せてから渡す … 区分を付けるのに氏名は要りません。監督指針も、苦情等対処にあたって個人情報の保護に関する法律や金融分野のガイドライン等に沿った適切な取扱いを確保する態勢を求めています。伏せる処理は前処理で必ず通す設計にします
  2. データの扱いの条件を確かめる … Azure OpenAI の入力と出力は、モデルの提供元に提供されず、許可や指示なしに基盤モデルの学習に使われないとされています。不正利用の監視で、検知された入力と出力が権限のある担当者に確認されうることも、社内の規程と照らしておきます
  3. 苦情等から外す判断をAIに確定させない … 外した記録は分析と報告から消えます。外す方向の判断は、必ず人が全文を読んで行います
  4. 区分の候補を確定と扱わない … 確信の度合いが高くても、確定させるのは担当者です。確定した区分だけが報告に使われるようにします
  5. 月次の報告の数字は機械で照らす … 経営会議に出す数字です。AIが書いた数字を人が検算する運用にせず、集計と機械的に照らします

誤りが起きた場合のリスクは、苦情等を外して報告から消すことと、原因を誤って改善の方向を誤ることの2つです。 「迷ったら残す、書かれていなければ埋めない」という方針で両方を防ぎます。

10まず何から始めるか

1週目:コード表に「含めないもの」を書き足す

苦情分類コード表のうち、件数の多い中分類10個について、定義、含めるもの、含めないもの、紛らわしい中分類との違いを1行ずつ書きます。課内で揉めたことのある記録を思い出しながら書くと進みます。

2週目:50件で試す

先月の記録から50件を選び、伏せたうえでチャット画面に貼り、区分の候補を出させます。当時の区分と突き合わせ、苦情等から外した記録と、原因を推測で埋めた記録が無いかを最優先で見ます。

3週目:伏せる処理と書き出しを決める

毎朝書き出す項目と伏せる項目を、情報管理の担当部署と一緒に決めます。

4週目:毎朝の候補づくりをつなぐ

Power Automate で書き出しを受け、Azure OpenAI で候補を付け、確認リストに並べるところまで作ります。この時点では月次の下書きを作らず、日々の候補だけを見ます。

2か月目: 確認先への振り分けと原因区分の付け直しを足し、覆した件数を中分類ごとに数えます。3か月目以降: 月次の集計と報告の下書き、数字の照合を足し、1件6分が何分になったかを実測します。覆す件数が落ち着き、月次の下書きが2人の確認で経営会議に出せるようになった時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-06/最終更新:2026-10-06
確認した内容情報源確認日
保険会社の業務に関する申出として、相談のほか苦情・紛争などの顧客からの不満の表明など様々な態様のものがありうること。苦情・紛争の区別は相対的で連続性を有し、形式的に切り分けず対処することが重要とされること。保険金等の不払いに関する苦情等を支払担当部門のみで対処せず他の部門で検証する態勢、代理店を含む外部委託先の業務に関する苦情等が漏れなく報告される態勢、反社会的勢力による苦情等を装った圧力を通常の苦情等と区別する態勢、個人情報の適切な取扱いの態勢が求められること。苦情等の内容と対処結果を記録・保存し、分析して再発防止策・未然防止策に活用する態勢、類型化して報告し重要案件を経営陣に報告する態勢が求められること金融庁: 保険会社向けの総合的な監督指針 II-4-32026-10-06
Azure が販売するモデル(Azure OpenAI を含む)の入力と出力が、他の顧客やモデルの提供元に提供されず、許可や指示なしに基盤モデルの学習に使われないこと。Microsoft の Azure 環境でホストされ、モデルの提供元のサービスとやり取りしないこと。標準のデプロイでは指定した地域で処理され、Global と DataZone では処理の場所が広がること。不正利用の監視で、検知された入力と出力が権限のある担当者に確認されうることMicrosoft Learn: Data, privacy, and security for Foundry Models sold by Azure2026-10-06
構造化出力が JSON Schema への準拠をさせる機能であること。enum に対応すること。すべての項目を必須にし、任意の項目は null との組み合わせの型で表すこと。additionalProperties を false にすること。文字列の maxLength や数値の minimum などに対応しないことMicrosoft Learn: How to use structured outputs with Azure OpenAI2026-10-06
「ファイルの作成時 (プロパティのみ)」のトリガーと「ファイル コンテンツの取得」で中身を取れること。「アイテムを取得」で OData のフィルター クエリを指定でき、上位カウントの既定値がすべてであること。「項目を作成する」のアクションがあること。接続ごとに60秒あたり600回の呼び出しの上限Microsoft Learn: SharePoint コネクタ2026-10-06
「繰り返し」のトリガーでスケジュール済みクラウドフローを作れること。頻度を月にすると毎月同じ日に実行されること。タイムゾーンと開始時刻を指定できることMicrosoft Learn: スケジュールに従ってクラウド フローを実行する2026-10-06

苦情等の範囲、苦情分類コード、報告の様式は、各社の社内規則と監督当局への報告の定めによります。 本記事は金融庁の監督指針で確認できた範囲だけを扱っています。苦情管理のシステムからの書き出しは、利用している製品によって方法が異なります。

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

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

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

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