銀行の店頭・コールセンター・アプリに寄せられる「お客さまの声」を苦情・要望・称賛と商品・手続きの区分に分け、経営への月次報告の下書きにまとめる
銀行の店頭・コールセンター・アプリに寄せられるお客さまの声を1件ずつ読み、苦情・要望・称賛の種類と、商品・手続きの区分の候補を付けます。月末には、同じ事象の声を束ねたうえで、苦情の要旨と再発防止の論点を経営への月次報告の下書きにします。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Python
- 対象業界
- その他/金融
- 対象部門
- カスタマーサポート/経営企画
- 対象業務
- 分類・仕分け/集計・分析
- 主な課題
- データ分析に時間がかかる/属人化している/書類作成に時間がかかる
- AIで行う処理
- 分類
- 主な効果
- 判断支援/品質標準化/工数削減
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 毎月第1営業日に、苦情等管理システムから前月分の受付と対応の記録を書き出す
- アプリのご意見の受付画面から前月分を書き出し、同じ表計算ファイルに並べる
- お客さま相談室の3名で手分けして1件ずつ読み、声の種類と商品・手続きの区分を付ける
- 苦情については、要旨を1〜2行で書き出す
- 区分ごとに件数を数え、前月と比べる
- 経営企画部の担当が、件数の多い区分と目立った苦情から報告の論点を書く
- お客さま相談室長と経営企画部長が確かめ、経営会議に出す
- 自動毎朝、苦情等管理システムとアプリの受付画面から前日分の声を書き出す
- 自動Python が3つの経路の記録を同じ形にそろえ、氏名・口座番号・電話番号などを伏せる
- 自動Azure OpenAI が1件ずつ読み、声の種類・商品と手続きの区分・事象のまとまりの候補・根拠の文・重要案件の印を返す
- 自動重要案件の印が付いた声は、その日のうちにお客さま相談室長へ一覧で知らせる
- 人お客さま相談室の担当が、毎日、苦情の候補と確信の低いものを確かめて区分を確定する
- 自動毎月第1営業日、Python が確定した区分で件数を集計し、事象のまとまりごとに束ねる
- 自動Azure OpenAI が集計結果と苦情の要旨から、月次報告の下書きと再発防止の論点の候補を作る
- 自動Python が下書きの数字を集計結果と照らし、合わない箇所に印を付ける
- 人経営企画部の担当とお客さま相談室長が下書きを直し、論点を決める
- 人経営会議に出す
各工程の詳しい説明を読む
- 毎月第1営業日に、苦情等管理システムから前月分の受付と対応の記録を書き出す
- アプリのご意見の受付画面から前月分を書き出し、同じ表計算ファイルに並べる
- お客さま相談室の3名で手分けして1件ずつ読み、声の種類と商品・手続きの区分を付ける
- 苦情については、要旨を1〜2行で書き出す
- 区分ごとに件数を数え、前月と比べる
- 経営企画部の担当が、件数の多い区分と目立った苦情から報告の論点を書く
- お客さま相談室長と経営企画部長が確かめ、経営会議に出す
(a)経路ごとに書き方が違い、区分が揺れる。 店頭の受付票は「お客さまより、振込手数料の改定についてご不満のお申出」と職員が整えた文、アプリの声は「また手数料上がった、他行に移る」という短い文です。同じ不満でも、読んだ担当者によって「手数料」にも「為替・振込」にも入ります。
(b)同じ事象の声が件数を膨らませる。 アプリの障害、手数料の改定、通帳の切替えの案内。1つの出来事に対して数十件、数百件の声が届く月があります。 その月の苦情の件数は大きく跳ね、経営会議では「苦情が倍になった」と受け取られますが、中身はほぼ1つの事象です。 担当者は気づいて注記を書きますが、どこまでを同じ事象と見るかは人によって違います。
(c)苦情と要望の境目で迷う。 「窓口の待ち時間が長い。番号札をアプリで取れるようにしてほしい」は苦情か要望か。迷った声を要望に入れると、苦情の件数から消えます。 担当者ごとに倒す側が違うと、前月との比較が意味を持ちません。
(d)論点が担当者で変わる。 報告の論点は、経営企画部の担当がその月の件数と自分が読んだ範囲から書きます。1,200件を全部読んだ人はいないので、論点は読んだ人の手元の数百件に寄ります。
- 【自動】 毎朝、苦情等管理システムとアプリの受付画面から前日分の声を書き出す
- 【自動】 Python が3つの経路の記録を同じ形にそろえ、氏名・口座番号・電話番号などを伏せる
- 【自動】 Azure OpenAI が1件ずつ読み、声の種類・商品と手続きの区分・事象のまとまりの候補・根拠の文・重要案件の印を返す
- 【自動】 重要案件の印が付いた声は、その日のうちにお客さま相談室長へ一覧で知らせる
- 【人】 お客さま相談室の担当が、毎日、苦情の候補と確信の低いものを確かめて区分を確定する
- 【自動】 毎月第1営業日、Python が確定した区分で件数を集計し、事象のまとまりごとに束ねる
- 【自動】 Azure OpenAI が集計結果と苦情の要旨から、月次報告の下書きと再発防止の論点の候補を作る
- 【自動】 Python が下書きの数字を集計結果と照らし、合わない箇所に印を付ける
- 【人】 経営企画部の担当とお客さま相談室長が下書きを直し、論点を決める
- 【人】 経営会議に出す
分類を毎日に分けたのが、この構成の分かれ目です。 月初にまとめて1,200件を読むのをやめ、1日40〜60件を、その日のうちに確かめます。 月初の1週間に集中していた負荷がならされ、重要な苦情はその日のうちに上に届きます。
7番目でAIに数字を書かせないのも、意図してのことです。 件数はすべて Python の集計から差し込み、AIには要旨と論点の文だけを書かせます。8番目は、その約束が守られたかを確かめる工程です。
02今回想定するシステム構成
苦情等管理システム(店頭・コールセンター)/アプリのご意見の受付画面 │ 毎朝、前日分を書き出す ▼【トリガー】毎朝の定時実行 Python ── 3経路の記録を同じ形にそろえる/個人を特定する情報を伏せる ▼ Azure OpenAI(Microsoft Foundry)── 構造化出力 │ ① 声の種類 ② 商品・手続きの区分 │ ③ 事象のまとまり ④ 根拠の文と確信の度合い │ ⑤ 重要案件の印 ▼ 確認の一覧 ──【お客さま相談室が毎日確定】 ▼【トリガー】毎月第1営業日 Python ── 確定した区分で集計/事象ごとに束ねる/前月と比べる ▼ Azure OpenAI(Microsoft Foundry)── 月次報告の下書きと論点の候補 ▼ Python ── 下書きの数字を集計と照らす ▼ お客さま相談室長・経営企画部長 → 経営会議
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude、Gemini |
| 集計 | Python(記録の整形、伏字、集計、数字の照合) | 表計算のマクロ |
| 確認の置き場 | 社内のデータベースと確認画面 | SharePoint のリスト |
| 声の記録 | 既存の苦情等管理システムとアプリの受付画面 | 各システムの書き出し機能 |
苦情等管理システムとアプリの受付画面は、新しく足すものではありません。 前日分を書き出すだけで、この構成からは書き込みません。書き出し方は利用している製品によって違うので、この部分は利用環境に合わせた個別の実装になります。 確定した区分は、確認画面から苦情等管理システムの区分の欄へ担当者が登録します。
土台は、Microsoft Foundry で提供される Azure OpenAI のモデルです。 Azure が販売するモデルについて、入力と出力は他の顧客にもモデルの提供元にも提供されず、許可や指示なしに生成AIの基盤モデルの学習に使われないとされています。モデルは状態を持たず、入力と出力をモデルの中に保存しないとされています。お客さまの声は取引と不満の中身そのものなので、銀行の情報管理の規程に照らして、この点を最初に確かめます。
処理される場所も確かめます。 標準のデプロイでは指定した地域の中で処理されますが、「Global」や「DataZone」の種類では、処理の場所が広がるとされています。Batch の処理も Global の種類にあたるとされているため、この構成では月初の一括処理にも Batch を使わず、地域を指定した標準のデプロイで1件ずつ呼びます。 毎日に分けたのは、この点でも都合がよい形です。
03どうやって実装するのか
処理の起点を決める
動きは2つで、頻度を分けます。
| 動き | 頻度 | 中身 |
|---|---|---|
| 分類 | 毎朝の定時実行 | 前日に受け付けた声を書き出し、1件ずつ分類して確認の一覧に載せる |
| 月次報告 | 毎月第1営業日 | 前月分の確定した区分で集計し、報告の下書きを作る |
分類を毎朝にするのは、2つの理由からです。 1つは、月初の1週間に集中していた確認の負荷をならすためです。もう1つは、金融庁の監督指針が、苦情等とその対処結果を類型化のうえで内部管理部門や営業部門に報告し、重要案件は速やかに監査部門や経営陣に報告する態勢を求めているためです。月に1回まとめて読む作りでは、重要案件が上に届くのが最長で1か月遅れます。
月次報告は、前月の最終日の分まで確定してから動かします。 第1営業日の朝の時点で前月末の数日分が未確定なら、確定を待ってから集計します。未確定のまま集計すると、AIの候補の区分がそのまま件数に入ります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 店頭の声 | 受付日、営業店、職員が書いた受付の内容、対応の経過 | 苦情等管理システム |
| コールセンターの声 | 受付日、オペレーターの対応メモ、エスカレーションの有無 | 苦情等管理システム |
| アプリの声 | 投稿日、お客さまが書いた文、アプリのバージョン、画面の種類 | アプリのご意見の受付画面 |
| 区分の一覧 | 声の種類4つと、商品・手続きの区分10個の定義と例 | お客さま相談室が持つ一覧 |
| 事象の一覧 | その月に起きた障害・手数料改定・案内の発送などの出来事と日付 | システム部・商品部からの連絡 |
| 過去の確定例 | 迷いやすい声について、過去に人が確定した区分と理由 | 確認画面の記録 |
質を決めるのは、事象の一覧です。 AIは声を読んで「同じ事象らしい」とは言えますが、その日にアプリの障害があったことは知りません。 システム部や商品部から届く出来事の連絡を一覧にして渡すと、「10月3日のアプリの障害」という名前で束ねられます。 一覧に無い事象は、AIに名前を付けさせず「未登録の事象の候補」として返させます。
過去の確定例は、第3章の(c)への手当てです。 苦情と要望の境目の声について、人がどちらに倒したかを10〜20件、指示に添えます。境目の判断を毎月同じ側にそろえるための材料です。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 店頭とコールセンターの声 | 苦情等管理システム | 前日分の受付と対応の記録を書き出す機能で、ファイルに出す |
| アプリの声 | アプリのご意見の受付画面 | 前日分を書き出し、同じ置き場に置く |
| 事象の一覧 | システム部・商品部からの連絡 | お客さま相談室が一覧に追記する |
| 確定した区分 | 確認画面のデータベース | 月次報告のときに対象の月で絞って読む |
3つの経路の記録を、同じ形にそろえてから渡します。 共通の欄は、受付日、経路、営業店(店頭のみ)、本文、対応の経過です。アプリの声には営業店がなく、店頭の声にはアプリのバージョンがありません。 無い欄は空のまま渡し、AIに埋めさせません。
対応の経過は、苦情の候補を確かめるときに効きます。 「ご説明により納得された」と書かれている店頭の声と、「後日改めて連絡」と書かれている声では、同じ苦情でも報告での重みが違います。 経過は分類には使わず、長期未済の判定と要旨の材料にします。
AIへ渡す前に整形する
- 形式をそろえる … 3つの経路の記録を、共通の欄に並べ替えます
- 個人を特定する情報を伏せる … 氏名、口座番号、電話番号、住所、生年月日、カード番号を、Python の規則で
[氏名][口座番号]のような記号に置き換えます - 短すぎる声を分ける … アプリの声で「最悪」「使いにくい」だけのものは、分類には回しますが、要旨の材料からは外す印を付けます
- 重複を落とす … 同じお客さまが同じ日にアプリとコールセンターの両方で同じことを申し出た場合、受付番号を並べて1件にまとめる候補を付けます
- 事象の一覧の日付で絞る … その声の受付日の前後7日に起きた事象だけを、指示に添えます
- 長い対応メモを切る … コールセンターの対応メモが長いものは、最初の受付の内容と最後の経過だけを残します
2番目は、AIに渡す前に必ず済ませます。 声の本文には、お客さまが自分で口座番号や電話番号を書いていることがあります。伏せ忘れを見つける仕組みとして、伏字の後の本文に数字が8桁以上続く箇所があれば、その声を分類に回さず担当者に戻します。
4番目は、AIではなく規則で行います。 お客さまを特定できる番号は伏せた後なので、伏せる前の段階で同じお客さまかどうかの印だけを付けておき、その印で束ねます。 AIに同じお客さまかを推測させることはしません。
AIに処理させる
分類の段でさせるのは、5つの欄を埋めることです。
| 埋める欄 | 中身 | 判断できないときの扱い |
|---|---|---|
| 声の種類 | 苦情・要望・称賛・その他 | 不満の表明が少しでもあれば苦情の候補に倒す |
| 商品・手続きの区分 | 区分の一覧の10個から1つ、必要なら副の区分を1つ | どれにも当たらなければ「その他」と理由 |
| 事象のまとまり | 事象の一覧のどれに当たるか | 一覧に無ければ「未登録の事象の候補」 |
| 根拠の文 | 判定の根拠にした本文の一部を、そのまま写す | - |
| 重要案件の印 | 法令違反の疑い、反社会的勢力をうかがわせる言動、報道・SNSへの言及、同じ営業店での繰り返し | 迷ったら印を付ける |
1行目の「苦情の候補に倒す」が、第3章の(c)への答えです。 監督指針は、苦情と紛争の区別は相対的で相互に連続性を持つとし、申出を形式的に切り分けて対処しないことを求めています。 苦情と要望の境目も同じ扱いにし、AIは苦情から外す方向の判断をしません。 外すのは、確認する人です。
5行目の反社会的勢力の印は、AIには「付ける」ことしかさせません。 監督指針は、反社会的勢力による苦情等を装った圧力を通常の苦情等と区別し、関係部署に速やかに連絡する態勢を求めています。区別する判断そのものは人が行い、AIの印はその入口にすぎません。
月次報告の段でさせるのは、2つの文を書くことです。 苦情の上位の区分ごとの要旨と、再発防止の論点の候補です。件数・前月比・順位は、すべて Python の集計から差し込みます。
| させないこと | 理由 |
|---|---|
| 苦情から外す判断 | 外すと件数から消え、報告に二度と上がらない |
| 件数・比率・順位を書くこと | 数字は集計から差し込む。AIの計算は使わない |
| 原因の断定 | 対応の経過に書かれていない原因を作らない |
| 再発防止策の決定 | 経営陣が指揮して決めるもの。AIが出すのは論点の候補まで |
| お客さまの特定 | 伏字を戻す、同じお客さまかを推測することをしない |
指示内容を固定する
分類の段の指示(システムメッセージ):
あなたは地方銀行のお客さま相談室で、お客さまの声を分類する担当です。
渡された声を1件だけ読み、決められた欄を埋めてください。
【声の種類 voice_type】
- complaint ... 不満・不便・不信の表明が含まれる
- request ..... 改善や新しいサービスの希望だけで、不満の表明が無い
- praise ...... 職員の応対やサービスへの感謝・評価
- other ....... 問い合わせ・手続きの依頼など、上のどれにも当たらない
不満の表明が少しでも含まれていれば complaint を選んでください。
要望の形をとっていても、不満が書かれていれば complaint です。
complaint を request や other に倒す判断はしないでください。
【商品・手続きの区分 category】
{category_list}
main_category に1つ選び、必要なら sub_category に1つ選んでください。
どれにも当たらなければ other とし、category_note に理由を書いてください。
【事象のまとまり event】
次の一覧のどれかに当たれば、その event_id を入れてください。
{event_list}
当たらないが、同じ出来事への声が他にもありそうなら
event_id を unregistered とし、event_note に出来事を短く書いてください。
一覧に無い出来事に、名前や日付を作らないでください。
【重要案件の印 escalation_flags】
次に当たると読める記載があれば、該当するものをすべて入れてください。
- legal_concern ...... 法令違反・不正・説明義務違反の疑いの申出
- antisocial ......... 威圧的な要求・金品の要求・組織名を示した圧力
- media_mention ...... 報道機関・SNS・監督官庁・弁護士への言及
- repeated ........... 同じ営業店・同じ職員について繰り返し申し出ている旨
迷ったら入れてください。
【厳守事項】
- evidence には、判定の根拠にした本文の一部をそのまま写してください。
- 本文に書かれていない原因や事情を補わないでください。
- [氏名] [口座番号] などの伏字を推測で戻さないでください。
- confidence は high / medium / low で、迷った欄があれば low にしてください。
【過去の確定例】{precedents}
【声】{voice_record}
「要望の形をとっていても、不満が書かれていれば complaint」を書かないと、AIは文の末尾で判断します。 「〜してほしい」で終わる声は、前半に不満があっても要望になります。文の形ではなく中身で選ばせる一文です。
事象の段で「名前や日付を作らない」を明記するのは、AIが親切に事象名を付けるからです。 「10月上旬のアプリ障害」と書かれると、確認する人はそれが実際にあった障害だと読みます。一覧に無いものは、無いと返させます。
月次報告の段の指示(要点): 「次の集計表の数字は変えずに使い、数字を新しく書かないでください。苦情の上位5区分について、確定した要旨の一覧から共通する内容を2〜3文でまとめてください。事象ごとに束ねた件数と、事象に属さない苦情の件数を分けて書いてください。再発防止の論点は、要旨に書かれた事実から言えることだけを、候補として3つまで挙げてください。対策を決めた書き方をしないでください」
出力形式を固定する
分類の段は、次の形のJSONで受け取ります。
{
"voice_id": "",
"channel": "branch | call_center | app",
"voice_type": "complaint | request | praise | other",
"main_category": "",
"sub_category": "",
"category_note": "",
"event_id": "",
"event_note": "",
"escalation_flags": [""],
"evidence": "",
"confidence": "high | medium | low",
"use_for_summary": true
}
構造化出力で、このスキーマに沿わせます。 Chat Completions では response_format に json_schema と strict: true を指定します。すべての欄を必須にし、オブジェクトには additionalProperties: false を付ける決まりがあり、欄の数は全体で100まで、入れ子は5段までとされています。minItems や文字列の長さの指定は使えないので、evidence が空でないかなどの検査は Python の側で行います。
JSONで受ける理由は3つです。 1つ目は、voice_type と main_category を区分の一覧の値に限れることです。表記の揺れた区分名が集計に入りません。2つ目は、evidence を本文と照らせることです。evidence が本文にそのまま含まれていなければ、AIが言い換えたか作ったかなので、確認の一覧で上に出します。 3つ目は、escalation_flags を規則で読めることです。
| 規則 | 扱い |
|---|---|
escalation_flags が空でない | その日のうちにお客さま相談室長へ一覧で知らせる |
voice_type が complaint | 担当者が全件を確かめる |
confidence が low | 担当者が全件を確かめる |
evidence が本文に含まれない | 確認の一覧の先頭に出す |
| request・praise・other で confidence が high | 1割を抜き取って確かめる |
称賛は、営業店へ返します。 確定した称賛の声は、営業店ごとに束ねて月に1回送ります。苦情の分類の仕組みが、職員への励ましの経路にもなります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 苦情等管理システム | 既存の書き出し機能 | 前日分の店頭とコールセンターの声を出す |
| アプリのご意見の受付画面 | 既存の書き出し機能 | 前日分のアプリの声を出す |
| Azure OpenAI | API呼び出し(地域を指定した標準のデプロイ) | 1件ずつの分類と、月次報告の下書き |
| 確認画面 | 社内のデータベース | AIの候補を載せ、担当者が確定する |
| 月次報告 | 表計算ファイルへの書き出し | 集計表と下書きの文を差し込む |
苦情等管理システムへは自動で書き込みません。 確定した区分を登録するのは担当者です。AIの候補が、確認を経ずに正式な記録に入る経路を作りません。 監督指針は、苦情等の内容と対処結果を適切かつ正確に記録・保存することを求めており、正式な記録の区分は人が確定したものにします。
営業店への称賛の送付も、下書きまでです。 店長宛ての送付は、お客さま相談室が内容を確かめてから行います。
人が確認する
毎日の確認は、お客さま相談室の3名で行います。
- 重要案件の印の付いた声を最初に見る … 室長が、関係部署への連絡と、経営陣への報告が要るかを決めます
- 苦情の候補を全件見る … 種類と区分を確定します。要望やその他に変えるときは、理由を一言残します
- 確信の低いもの、根拠の文が本文に無いものを見る … 区分を確定し、必要なら事象の一覧に新しい事象を足します
- 要望・称賛・その他の抜き取りを見る … 1割を見て、AIの候補との食い違いを記録します
月次報告の確認は、経営企画部の担当とお客さま相談室長が行います。 下書きの数字に印が付いていないか、要旨が確定した区分の声から書かれているか、論点が事実から言える範囲かを見ます。論点を経営会議に出すかどうかは、ここで決めます。
2番目で「外すときは理由を残す」が効いてきます。 苦情から外した理由が残っていれば、翌月、同じ境目の声を過去の確定例として指示に添えられます。 確定例が積み上がるほど、AIの候補と人の確定が近づきます。
目標は、1,200件をならして1件2分です。 苦情の候補は全件を読むので数分かかり、確信の高い要望・称賛は数秒で流れます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 伏字の後の本文に長い数字が残っている | 分類に回さず、担当者に戻して伏字をやり直す |
| 1件の声に複数の商品・手続きの不満がある | main_category と sub_category に分け、3つ以上なら confidence を low にする |
| 外国語で書かれたアプリの声 | 分類はするが confidence を low にし、担当者が原文を確かめる |
| 事象の一覧に無い障害への声が急に増える | unregistered の件数が前日の3倍を超えたら、室長とシステム部に知らせる |
| Azure OpenAI がスキーマに沿わない・応答しない | 再実行し、それでも駄目なら未分類として確認の一覧の先頭に出す |
| 月初の時点で前月分の確定が終わっていない | 集計を止め、未確定の件数を室長に知らせる |
| 下書きの数字が集計と合わない | 該当箇所に印を付けて差し戻す。数字は集計表のほうを正とする |
| 同じお客さまが3つの経路で同じ申出をしている | 束ねる候補を出し、1件として数えるかを担当者が決める |
4行目は、この構成でいちばん早く役に立つ例外です。 システム部からの連絡より先に、お客さまの声のほうが障害を知らせることがあります。 未登録の事象の件数が跳ねたら、それ自体が知らせになります。
記録を残す
- 書き出した元の記録(3つの経路)と、伏字の後の本文
- Azure OpenAI に渡した指示と、返ってきたJSONの全文、呼び出した日時とデプロイの名前
- 人が確定した区分と、AIの候補との違い、変えた理由
- 重要案件の印に対して、室長が決めた扱い(関係部署への連絡、経営陣への報告)
- 月次報告の集計表と、下書きの文と、確定した報告の差分
- 事象の一覧の版(いつ、どの事象を足したか)
3つ目の「変えた理由」が、次の月の確定例になります。 理由が残っていないと、同じ境目で毎月同じ迷いが起きます。
5つ目の差分は、下書きがどれだけ使われたかを見るためです。 論点の候補がほとんど書き直されている月が続くなら、指示に添える材料(要旨の一覧、事象の一覧)のどちらかが足りていません。
04実装レベルの3段階
半自動化で、1件5分が3分程度になります。 区分を考える時間は減りますが、月次の集計と転記、要旨の書き出し、報告の論点づくりが残ります。本格構成で2分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化を2〜3か月回すと、人が確定した区分と変えた理由が積み上がり、境目の確定例がそろいます。 その確定例を指示に添えてから月次報告の下書きに進むほうが、論点の候補が使えるものになります。
05工数削減シミュレーション
導入後 1,200件 × 2分 ÷ 60 = 40 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 営業店の店頭、コールセンター、スマートフォンのアプリの3つ以上の経路でお客さまの声を受け付け、月に千件前後が集まる地方銀行・第二地方銀行・信用金庫。お客さま相談室や経営企画の部署が毎月それを読み直して区分を付け、経営会議や取締役会に出す報告を作っている場合。アプリの障害や手数料の改定のたびに同じ趣旨の声がまとまって届き、件数の読み方に迷っている場合。
- お客さまの声が月に数十件で、担当者が1人で全件を読める場合。声の種類や商品・手続きの区分の定義が社内で決まっておらず、区分の一覧そのものが無い場合(先に区分を決める作業が要ります)。受付の記録がすべて紙の受付票で、データとして書き出せない場合。なお、個々の申出を苦情として扱うか、どの再発防止策を採るかという判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の声から100件を選ぶ(店頭・コールセンター・アプリを3分の1ずつ、苦情と要望の境目で迷った声を必ず入れる)
- 氏名・口座番号・電話番号を、手で記号に置き換える
- 社内で利用が認められているAIサービスの画面に、区分の一覧と一緒に10件ずつ貼り付ける
- 「それぞれの声について、苦情・要望・称賛・その他のどれか、商品・手続きの区分のどれかを、根拠にした文を写して表にしてください。不満が少しでも書かれていれば苦情にしてください」と指示する
- 出てきた表を、先月に人が付けた区分と突き合わせる
100件で、2つのことを確かめます。 経路による書き方の違いを越えて同じ区分に入れられるか、境目の声を苦情の側に倒せるかです。
| 出てきた内容 | 判断 |
|---|---|
| 人の区分とおおむね一致し、境目の声が苦情に入った | 毎日の分類の仕組みづくりに進む |
| 境目の声が要望に入る | 指示と過去の確定例で直る。構成は有効 |
| 人の区分どうしが、担当者によって食い違っていた | 区分の定義を先に直す。 AIの問題ではない |
3行目が出ることは珍しくありません。 AIの結果と比べるために先月の付け方を並べると、担当者の間の揺れが初めて見えます。 それが第3章の(a)の正体で、区分の定義と例を書き直す材料になります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 境目の声が要望に入り、苦情の件数が減る | 苦情の側に倒す指示と、過去の確定例を添える |
| 1つの障害の声で苦情の上位が埋まる | 事象の一覧で束ね、事象の件数と声の件数を分けて報告する |
| AIが事象名や日付を作る | 一覧に無いものは unregistered と返させる |
| 下書きに計算した数字が入る | 数字は集計表から差し込み、下書きの数字を集計と照らす |
| 伏せ忘れた番号がAIに渡る | 伏字の後に長い数字が残っていないかを検査し、残れば止める |
| 月初に前月分の確定が終わっていない | 毎日の確認を担当者の仕事に組み込み、未確定の件数を毎週見る |
| 区分の定義が担当者で揺れる | 定義と例を書き直し、確定した理由を残して次の確定例にする |
| Global の種類で処理の場所が広がる | 地域を指定した標準のデプロイを使い、Batch も使わない |
| 再発防止の論点をAIが決めた書き方にする | 「候補として」「事実から言えることだけ」と指示し、決めるのは人にする |
| 反社会的勢力の印を自動で処理に回す | 印は入口にすぎない。区別の判断と連絡は室長が行う |
上の2行が、この構成の価値を決めます。 苦情の件数が減る失敗と、件数が膨らんで読めなくなる失敗は向きが逆ですが、どちらも経営会議に届く数字を歪めます。 倒す側と束ね方を、最初に決めておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: お客さまの声の本文、営業店、受付と対応の経過、そして本文に含まれうる氏名・口座番号・電話番号・取引の内容です。
- 個人を特定する情報を、渡す前に伏せる … 監督指針は、苦情等対処にあたり、個人情報保護法や金融分野のガイドライン等に沿った適切な取扱いを確保する態勢を求めています。伏字と伏せ忘れの検査を、AIに渡す前の工程に置きます
- 処理の場所を固定する … 標準のデプロイでは指定した地域の中で処理されるとされています。Global や DataZone の種類、Batch を使わない設定を、運用の手順書に書いておきます
- 入力と出力の扱いを確かめる … 入力と出力はモデルの提供元に提供されず、許可なく基盤モデルの学習に使われないとされています。一方で、不正利用の監視のために入力と出力が保存され、人が確認する場合があるとされています。監視のための保存を変える申請の要否は、銀行の情報管理の部署と決めます
- AIの候補を正式な記録にしない … 苦情等管理システムの区分は、人が確定したものだけを登録します
- 再発防止策を決めるのは経営陣 … 監督指針は、苦情等対処の結果を業務運営に反映させる際の判断について、経営陣が指揮する態勢を求めています。AIが出すのは論点の候補までです
- 反社会的勢力の印を人の判断の前に使わない … 印が付いた声への対応は、室長と関係部署が決めます
誤りが起きた場合のリスクは、苦情を苦情として数えないことと、件数の読み方を誤らせることの2つです。 前者は境目の倒し方から、後者は事象の束ね方から起きます。どちらも経営に上がる数字の問題なので、そこだけは規則と人の確認で守ります。
10まず何から始めるか
1週目:区分の定義と例を書き直す
声の種類4つと、商品・手続きの区分10個について、定義と例を1枚にまとめます。苦情と要望の境目の扱い(不満が少しでもあれば苦情)を、ここで文書にします。
2週目:100件で試す
先月の声から100件を選び、伏字にして、社内で利用が認められているAIサービスで分類させます。人が付けた区分と比べ、境目の声が苦情に入るか、担当者の間の揺れがどこにあるかを見ます。
3週目:事象の一覧の更新の仕方を決める
システム部と商品部から、障害・改定・案内の発送の連絡を誰がいつ受け、一覧に足すかを決めます。 社内の情報管理の部署と、Azure OpenAI の利用の承認とデプロイの種類を決めます。
4週目:毎朝の分類を動かす
3つの経路の書き出しをそろえ、伏字と検査を作り、Azure OpenAI で毎朝分類して確認の一覧に載せます。この時点では月次報告は従来どおり作り、AIの候補と人の確定の差だけを見ます。
2か月目: 重要案件の知らせと、事象の一覧での束ねを足します。確定例を指示に添えます。3か月目以降: 月次の集計と報告の下書き、数字の照合を足し、1件5分が何分になったかを実測します。経営会議に出す報告が、事象ごとの件数と事象に属さない苦情の要旨を並べた形で、毎月同じ基準で作れるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 苦情と紛争の区別は相対的で連続性を持ち、申出を形式的に切り分けず対処すること。社内規則で顧客の意見等を業務運営に反映する手続を定めること。苦情等とその対処結果を類型化のうえ内部管理部門や営業部門に報告し、重要案件は速やかに監査部門や経営陣に報告すること。内容と対処結果を記録・保存し、分析して再発防止策・未然防止策に活用すること。業務改善・再発防止の判断について経営陣が指揮する態勢。反社会的勢力による苦情等を装った圧力を通常の苦情等と区別すること。個人情報の適切な取扱いを確保すること(II-3-2-6) | 金融庁: 中小・地域金融機関向けの総合的な監督指針(II-3-2 利用者保護等) | 2026-10-13 |
Chat Completions では response_format に json_schema と strict: true を指定すること。すべての欄を必須にし additionalProperties: false を付けること。欄は全体で100まで、入れ子は5段まで。minItems・maxLength などは使えないこと | Microsoft Learn: Structured outputs(Azure OpenAI in Microsoft Foundry Models) | 2026-10-13 |
| 入力と出力が他の顧客やモデルの提供元に提供されず、許可なく基盤モデルの学習に使われないこと。モデルが状態を持たないこと。標準のデプロイは指定した地域で処理され、Global・DataZone では処理の場所が広がること。Batch が Global の種類にあたること。不正利用の監視のための保存と人による確認があり、変更を申請できること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-10-13 |
どの申出を苦情として扱うか、どの再発防止策を採るかは、自行の規程と経営陣の判断で決めてください。 本記事は監督指針と製品の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1423)についてのご相談はこちらから。
