保険のコールセンターの通話の文字起こしを、説明すべき事項の漏れと不適切な言い回しで点検し、指導の材料にする
保険のコールセンターの通話を文字に起こし、通話の種類ごとに決めた説明事項が説明されたか、禁止される言い回しが無いかを点検します。聞き直す箇所を時刻付きで示し、スーパーバイザーの指導の材料にします。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Power Automate
- 対象業界
- 保険/金融
- 対象部門
- カスタマーサポート/品質管理/法務
- 対象業務
- 内容確認・チェック
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 品質標準化/工数削減/教育コスト削減
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 応対履歴のシステムから、オペレーターごとに点検する通話を選ぶ
- 通話録音システムで録音を再生し、通話の種類に合った点検の一覧を開く
- 録音を聞きながら、説明事項ごとに「説明あり/なし」を付ける。聞き逃したところは巻き戻す
- 気になる言い回しがあれば、その時刻と発言をメモする
- 点検の一覧に結果を書き、指導の要点をまとめる
- オペレーターとの面談で結果を伝える。重いものは法務部に相談する
- 自動通話録音システムから、前日の通話の録音と応対履歴(通話の種類、オペレーター)を夜間に書き出す
- 自動Azure AI Speech のバッチ文字起こしで、オペレーターと顧客のチャネルを分けて文字に起こす
- 自動Azure Functions が、発話に時刻を付けて並べ、カード番号などを伏せ字にする
- 自動通話の種類から点検の一覧を選び、Azure OpenAI に説明事項ごとの判定と、不適切な言い回しの拾い出しをさせる
- 自動Azure Functions が、判定の引用が文字起こしにあるかを照合し、規則で点検の結果をまとめる
- 人スーパーバイザーが、「説明なし」「判断できない」「言い回しの指摘」の箇所だけ、示された時刻の録音を聞いて決める
- 人確定した結果から、発言を引用した指導の要点を書き、面談で伝える
- 人法令に関わる重い指摘は、法務部に相談する
各工程の詳しい説明を読む
- 応対履歴のシステムから、オペレーターごとに点検する通話を選ぶ
- 通話録音システムで録音を再生し、通話の種類に合った点検の一覧を開く
- 録音を聞きながら、説明事項ごとに「説明あり/なし」を付ける。聞き逃したところは巻き戻す
- 気になる言い回しがあれば、その時刻と発言をメモする
- 点検の一覧に結果を書き、指導の要点をまとめる
- オペレーターとの面談で結果を伝える。重いものは法務部に相談する
(a)聞くのに時間がかかる。 新規の申込みの通話は15分を超えることも珍しくありません。点検のために丸ごと聞き、聞き逃したところを巻き戻すと、通話の長さ以上の時間がかかります。 8名で月450件を聞くと、スーパーバイザーの仕事の多くが聴取になり、面談の時間が削られます。
(b)点検の目が違う。 「解約すると補償がなくなります」を、あるスーパーバイザーは言葉どおりに言ったかで見て、別のスーパーバイザーは趣旨が伝わればよいとします。同じ通話を2人が聞くと、結果が違うことがあります。オペレーターからすれば、誰に聞かれたかで指摘が変わります。
(c)指導が「気をつけて」で終わる。 メモに時刻を書き忘れると、面談で「どこが悪かったのか」を示せません。具体的な発言を示せない指導は、オペレーターに伝わりません。
(d)抜き取りの外は見えない。 1人あたり月4件では、ある説明事項を毎回飛ばしているオペレーターがいても、抜き取った通話に当たらなければ気づけません。
- 【自動】 通話録音システムから、前日の通話の録音と応対履歴(通話の種類、オペレーター)を夜間に書き出す
- 【自動】 Azure AI Speech のバッチ文字起こしで、オペレーターと顧客のチャネルを分けて文字に起こす
- 【自動】 Azure Functions が、発話に時刻を付けて並べ、カード番号などを伏せ字にする
- 【自動】 通話の種類から点検の一覧を選び、Azure OpenAI に説明事項ごとの判定と、不適切な言い回しの拾い出しをさせる
- 【自動】 Azure Functions が、判定の引用が文字起こしにあるかを照合し、規則で点検の結果をまとめる
- 【人】 スーパーバイザーが、「説明なし」「判断できない」「言い回しの指摘」の箇所だけ、示された時刻の録音を聞いて決める
- 【人】 確定した結果から、発言を引用した指導の要点を書き、面談で伝える
- 【人】 法令に関わる重い指摘は、法務部に相談する
6番目が、この設計の分かれ目です。 スーパーバイザーは通話を頭から聞きません。AIが示した時刻の前後だけを聞きます。 ただし、「説明あり」と判定された項目も、点検の一覧で根拠の引用を流し読みします。
判定の結果をそのまま確定させないのも、意図してのことです。 文字起こしの誤りで「説明なし」になった項目を確かめずに伝えると、オペレーターは点検の仕組みそのものを信じなくなります。
02今回想定するシステム構成
通話録音システム(オペレーター/顧客の2チャネル)+応対履歴 │ 前日分の録音と通話の種類を書き出し ▼【トリガー】毎晩の定時(Azure Functions のタイマー) Azure Blob Storage(録音の置き場) ▼ Azure AI Speech ── バッチ文字起こし(チャネル0・1を別々に) ▼ Azure Functions ── 発話の時刻付きの整形、伏せ字、点検の一覧の選択 ▼ Azure OpenAI(構造化出力)── 説明事項ごとの判定、言い回しの拾い出し、引用 ▼ Azure Functions ── 引用の照合、規則での集計 ▼ 点検の一覧(スーパーバイザーの画面) ▼ 【スーパーバイザーが示された時刻だけ聞いて確定】 ├──▶ 指導の要点 → 面談 └──▶ 重い指摘 → 法務部
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude API、Gemini API |
| 連携 | Azure Functions(書き出し、整形、伏せ字、引用の照合、集計) | Power Automate |
| 文字起こし | Azure AI Speech(バッチ文字起こし) | 通話録音システムの文字起こし機能 |
| 保管 | Azure Blob Storage(録音、文字起こし、判定の記録) | SharePoint |
通話録音システムと応対履歴のシステムには、書き込みません。 この構成は、録音を書き出して点検の一覧を作るだけです。点検の結果の確定と面談は、いまと同じくスーパーバイザーが行います。
Azure OpenAI を選ぶ理由は、構造化出力で JSON スキーマに沿った出力を受けられることです。 公式の説明では、構造化出力は指定した JSON スキーマに従うもので、Chat Completions API と Responses API の両方で使えるとされています。説明事項ごとの判定を決まった形で受けられるので、後段で引用を照合し、規則で集計できます。 録音と文字起こしを Azure の中で扱い、契約と権限の管理を一つにまとめられることも理由です。
処理の場所も確かめておきます。 公式の説明では、プロンプトと応答は顧客が指定した地域の中で処理されるとされ、ただし Global や DataZone のデプロイの種類では、それぞれの範囲の地域で処理されうるとされています。通話の内容を扱うので、日本の地域の標準のデプロイを選ぶ前提にします。
03どうやって実装するのか
処理の起点を決める
毎晩の定時に、前日の通話をまとめて処理します。 点検は面談の材料なので、通話の直後に結果が出る必要はありません。夜間にまとめると、バッチ文字起こしの待ち時間も気になりません。 公式の説明では、バッチ文字起こしの完了には、音声の量やサービスの負荷によって数分から数時間かかることがあるとされています。
点検する通話は、いまの抜き取りの基準で選びます。 オペレーター1人あたり月4件前後、新人と苦情の入ったオペレーターは多めに、という基準を、応対履歴から機械的に選ぶ条件にします。選び方を変えずに始めれば、導入前と後の点検の結果を比べられます。
文字起こしが終わったら、バッチの完了を待って次の処理に進みます。公式の説明では、状態を問い合わせる代わりに、完了したときに通知を受ける Web フックを登録できるとされています。Web フックを使う場合は、受け口の側で検証の手順に正しく応える必要があります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 通話の録音 | 2チャネルの音声(チャネル0:オペレーター、チャネル1:顧客) | 通話録音システムの書き出し |
| 応対履歴 | 通話の番号、日時、通話の種類(新規・変更・解約)、商品、オペレーター | 応対履歴のシステム |
| 点検の一覧 | 通話の種類ごとの説明事項(番号、説明すべき内容、言い換えとして認める表現の例) | 法務部と品質管理チームで管理 |
| 禁止される言い回しの一覧 | 区分(断定的な判断、誤解させる比較、告知の妨げ、高圧的な言葉など)と例 | 同上 |
質を決めるのは、点検の一覧の書き方です。 「重要事項を説明したか」という1項目では、AIもスーパーバイザーと同じだけ迷います。「解約日以降に起きた事故は補償されないことを伝えたか」のように、1項目に1つの内容を書きます。 言い換えとして認める表現の例を添えておくと、第3章の(b)のぶれが減ります。
禁止される言い回しの一覧は、保険業法の禁止行為を下敷きにします。 保険業法第300条は、保険募集に関して、重要な事項を告げない行為、重要な事実を告げないことを勧める行為、不利益となる事実を告げずに乗り換えさせる行為、誤解させるおそれのある比較、将来の金額が不確実な事項について断定的な判断を示す行為などを禁じています。社内の一覧は、これを通話の言葉の例に落としたものにします。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 前日の録音 | 通話録音システム | 書き出し機能で Blob Storage へ置く(方式は録音システムの仕様による) |
| 応対履歴 | 応対履歴のシステム | 前日分を CSV で書き出す |
| 文字起こし | Azure AI Speech | バッチ文字起こしの結果を、指定した保存先のコンテナーから読む |
| 点検の一覧 | 管理用の保管場所 | 版の番号付きで読む |
録音の書き出しの方式は、通話録音システムによって違います。 API で取れる製品もあれば、管理画面からの書き出ししかない製品もあります。この部分は利用している録音システムに応じた個別の実装になります。
バッチ文字起こしには、いくつかの設定が要ります。 公式の説明では、locale は必須で後から変えられず、timeToLiveHours も必須で、6時間から31日の範囲で、完了後にその時間が過ぎると自動で消されるとされています。結果を自社のコンテナーに残すには destinationContainerUrl を properties の中に置く必要があり、ルートに置くと無視されて、Microsoft が管理するコンテナーに書かれるとされています。
チャネルの扱いが、この構成の前提です。 公式の説明では、チャネル0と1が既定で文字起こしされ、話者分離(diarization)は単一チャネルの録音を前提とし、ステレオの録音では使えないとされています。オペレーターと顧客を別のチャネルで録音していれば、話者分離に頼らずに「誰が言ったか」が分かります。 単一チャネルの録音しか無いコールセンターでは、話者分離を使い、誤りを前提に点検します。
AIへ渡す前に整形する
- 言い回しを伏せない設定 … 公式の説明では、
profanityFilterModeの既定はMasked(アスタリスクに置き換える)です。不適切な言葉を点検したいのでNoneにします - 時刻の付与 …
wordLevelTimestampsEnabledを有効にし、発話ごとに開始の時刻を付けます。スーパーバイザーが聞き直す位置になります - 発話の並べ替え … 2チャネルの結果を時刻順に1本にし、「OP」「客」の印を付けます
- 伏せ字 … クレジットカードの番号、口座番号、電話番号を、桁の並びで検出して伏せます
- 通話の種類の確認 … 応対履歴の種類と、点検の一覧を対応させます。種類が空の通話は「種類不明」にします
- 長さの確認 … 極端に短い通話(切断、転送)は点検から外します
- 版の記録 … 使った点検の一覧の版の番号を、通話ごとに記録します
1番目を忘れないでください。 既定のままでは、点検したい言葉そのものがアスタリスクになって消えます。 一方で、伏せ字の対象(4番目)は自社で決めて確実に伏せます。伏せない設定と伏せる処理を、目的に合わせて使い分けます。
AIに処理させる
させるのは、点検の一覧の説明事項ごとに説明の有無を判定し、根拠の発話を引用すること、禁止される言い回しを引用付きで拾うことです。
| 見るもの | 判定の仕方 | 判断できないときの扱い |
|---|---|---|
| 説明事項ごとの説明 | オペレーターの発話に、その内容が含まれるか。言い換えの例も認める | 文字起こしが崩れていれば unclear |
| お客さまの意向の確認 | 意向を尋ね、提案が意向に合うかを確かめる発話があるか | 同上 |
| 禁止される言い回し | 一覧の区分に当たる発話を引用して拾う | 区分が決められなければ other として拾う |
| 説明の順序 | 申込みの意思を確かめる前に、必要な説明が済んでいるか | 時刻が取れなければ判定しない |
一番上の行の右端が、この構成でいちばん大事な区別です。 not_explained は文字起こしを読んでも説明が見つからないということ、unclear は文字起こしが崩れていて判断できないということです。前者はオペレーターへの指導の材料、後者は録音を聞くべき箇所です。
| させないこと | 理由 |
|---|---|
| 法令違反に当たるかの結論 | 法務部が判断する。AIは事実の拾い出しまで |
| オペレーターの点数付け、順位付け | 点検は指導の材料で、人事評価ではない |
| 文字起こしの誤りを推測で直す | 直した文で判定すると、根拠が消える |
| 顧客の発言の評価 | 点検の対象はオペレーターの発話 |
| 引用を要約して書く | 引用は照合できる形のまま写す |
3行目がいちばん起きやすい失敗です。 「解約日以降のジコは補償されません」のような聞き取りの誤りを、AIは気を利かせて直し、「説明あり」と判定します。今回は合っていても、直した文は文字起こしに存在しないので、引用の照合で落ちます。 誤りは誤りのまま引用させ、判定を unclear にさせます。
指示内容を固定する
あなたは損害保険会社のコールセンターで、通話の文字起こしを点検する担当です。
渡された文字起こしと点検の一覧だけを見て判定してください。推測で補わないでください。
【文字起こしの形式】
各行は「[開始時刻] 話者: 発話」です。話者は OP(オペレーター)か 客(お客さま)です。
文字起こしには聞き取りの誤りが含まれることがあります。
【説明事項ごとの status】
- explained ...... OP の発話に、その内容が含まれている(言い換えの例に当たる表現を含む)
- not_explained .. 文字起こし全体を読んでも、その内容の発話が見つからない
- unclear ........ それらしい発話はあるが、聞き取りの誤りで内容を確定できない
- not_applicable . 通話の流れから、その説明事項の場面に至っていない(例:申込みに進まなかった)
【厳守事項】
- evidence には、根拠にした OP の発話を、文字起こしのとおりに一字一句写してください。
要約、言い換え、聞き取りの誤りの修正をしないでください。
- evidence の発話の開始時刻を timestamp に入れてください。
- not_explained のときは evidence を空にしてください。
- 聞き取りの誤りがあると思われる箇所を、正しい言葉に直して判定しないでください。
直さなければ判定できないときは unclear にしてください。
- 迷ったときに explained を選ばないでください。
- 禁止される言い回しは、一覧の区分のどれに当たるかを category に入れ、発話を写してください。
区分に当てはまらないが気になる発話は category を other にしてください。
- 法令違反かどうか、オペレーターの評価、点数は書かないでください。
- お客さまの発言を評価しないでください。
【通話の種類】{call_type}
【点検の一覧(版:{checklist_version})】{checklist}
【禁止される言い回しの一覧】{ng_list}
【文字起こし】{transcript}
「聞き取りの誤りを直さない」を2か所に書いているのは、直すのがAIの得意なことだからです。 1か所だけだと、明らかな誤りは直してよいと解釈します。直した瞬間に引用の照合が通らなくなり、判定の根拠が消えます。
「迷ったときに explained を選ばない」を入れているのは、見逃しのほうが重いからです。 説明していないのに説明したと判定すると、その通話は誰にも聞かれずに終わります。迷ったものは unclear にして、人が聞く側に倒します。
出力形式を固定する
次の形のJSONを、構造化出力のスキーマで受け取ります。
{
"call_id": "",
"call_type": "new_application | change | cancellation | unknown",
"checklist_version": "",
"items": [
{ "item_no": "", "status": "explained | not_explained | unclear | not_applicable",
"evidence": "", "timestamp": "" }
],
"phrases": [
{ "category": "assertive | misleading_comparison | discouraging_disclosure | rude | other",
"quote": "", "timestamp": "", "note": "" }
]
}
公式の説明では、構造化出力ではすべてのフィールドを必須にし、オブジェクトには additionalProperties: false を設定する必要があり、スキーマには最大100個のオブジェクトのプロパティと最大5段の入れ子が持てるとされています。新規の申込みの30項目は items の配列の要素として並べるので、この上限には当たりません。
1つ目の理由は、引用をプログラムで照合できることです。 Azure Functions が evidence と quote を文字起こしの該当の時刻の行と突き合わせ、一致しないものは unverified として点検の一覧に赤で出します。
2つ目は、AIの判定と点検の結果を別の層に置けることです。 AIは items を埋め、通話の結果は規則で決めます。
| 通話の結果 | 条件 |
|---|---|
clear | 該当する説明事項がすべて explained か not_applicable で、phrases が無い |
review | unclear か unverified が1つでもある |
coaching | not_explained が1つ以上、または phrases が1つ以上 |
escalate | 法務部が「重い」と指定した説明事項が not_explained、または phrases に misleading_comparison か discouraging_disclosure がある |
3つ目は、timestamp で聞き直す位置が分かることです。 スーパーバイザーの画面で時刻を押すと、その位置から録音が再生されるようにしておけば、通話を頭から聞く必要がなくなります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 通話録音システム | 書き出し(製品の仕様による) | 前日の録音を Blob Storage に置く |
| 応対履歴のシステム | CSV の書き出し | 通話の種類とオペレーター |
| Azure AI Speech | バッチ文字起こしの REST API | 2チャネルの文字起こしと時刻 |
| Azure OpenAI | Chat Completions API(構造化出力) | 説明事項の判定と言い回しの拾い出し |
| 点検の一覧の画面 | Azure Functions が書き込む | 通話の結果、項目ごとの判定、聞き直す時刻 |
通話録音システムと応対履歴のシステムには、書き込みません。 点検の結果を応対履歴に戻すと、確かめる前の判定がオペレーターの記録として残ります。 戻すのは、スーパーバイザーが確定させた結果だけにします。
面談の記録も、この構成の外に置きます。 指導の要点はスーパーバイザーが書き、いまの面談の記録の様式に残します。
人が確認する
escalateを最初に見る … 示された時刻の録音を聞き、事実を確かめてから法務部に相談しますreviewを聞く …unclearとunverifiedの箇所の録音を聞いて、explainedかnot_explainedに決めますcoachingの根拠を確かめる …not_explainedの項目は、その説明が入るはずの場面の前後を聞きます。言い換えで説明していれば、explainedに直しますclearは一覧で流し見る … 根拠の引用を読み、違和感のあるものだけ聞きます- 判定を直したら記録する … どの項目を、何から何に変えたかを残します
3番目を省かないでください。 点検の一覧の言い換えの例に無い言い方で説明しているオペレーターは、いつも not_explained になります。確かめずに指導すると、正しく説明しているのに注意されることになります。 直した記録が増えた項目は、言い換えの例を一覧に足します。
目標は、450件をならして1件6分です。 clear は1件1分足らず、coaching と review は示された時刻の前後を数か所聞いて数分かかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 録音が単一チャネル | 話者分離を使う。話者の取り違えを前提に、OP の発話かを人が確かめる |
| 通話が240分を超える(話者分離を使う場合) | 公式の説明では話者分離を使うと1ファイル240分が上限。分割する |
| 文字起こしが失敗した | 翌晩に再投入。2回失敗したら点検から外し、スーパーバイザーが聞く |
| 通話の種類が空 | 「種類不明」として、全種類の共通項目だけを判定する |
| 途中で転送された通話 | 転送の前後で点検の一覧を分ける。分けられなければ review |
| お客さまが高齢などで、説明を繰り返している | 判定は変えない。面談で、伝わったかの確認の仕方を扱う |
| 引用が文字起こしに見つからない | unverified。判定を採用しない |
| 点検の一覧が改定された | 改定日以降の通話から新しい版を使う。版の番号を記録する |
上の2行は、録音の仕方の問題です。 2チャネルで録音していれば、どちらもほとんど起きません。録音システムの設定を見直すほうが、点検の精度を上げるより効きます。
記録を残す
- 録音のファイル名と、文字起こしの結果(時刻付き)
- 使った点検の一覧と禁止される言い回しの一覧の版
- Azure OpenAI に渡した入力と、返ってきたJSONの全文
- 引用の照合の結果(
unverifiedになったもの) - スーパーバイザーが判定を直した記録 … どの項目を、何から何に変えたか
- 法務部への相談の記録と、その結論
5つ目は、点検の一覧を直すための材料になります。 特定の項目で not_explained を explained に直す件数が多ければ、その項目の言い換えの例が足りていません。
バッチ文字起こしの結果の消し方も決めておきます。 公式の説明では、timeToLiveHours の時間が過ぎると自動で消え、自社の保存先を指定しなければ結果は Microsoft が管理するコンテナーに置かれ、ジョブを消すと結果も消えるとされています。自社のコンテナーに書いた文字起こしは、社内の録音の保存期間に合わせて消します。
04実装レベルの3段階
半自動化で、1件20分が10分程度になります。 文字起こしと判定は自動になりますが、引用の確かめと、聞き直す位置を探す作業が残ります。本格構成で6分になり、この段階が本記事の想定です。 本格構成の先には、抜き取りを広げる選択肢があります。 文字起こしと判定の費用は通話の数に比例しますが、スーパーバイザーが聞くのは coaching と review だけです。第3章の(d)の「抜き取りの外は見えない」を直せますが、人の確認の量も増えるので、工数のモデルには含めていません。
05工数削減シミュレーション
導入後 450件 × 6分 ÷ 60 = 45 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 電話で保険の募集・契約内容の変更・解約の受付を行い、スーパーバイザーが通話を抜き取りで聞いて説明事項の漏れと言い回しを点検している損害保険会社・生命保険会社・少額短期保険業者・保険代理店のコールセンター。通話を2チャネル(オペレーターと顧客)で録音しており、録音のファイルを書き出せる場合。通話の種類ごとの点検の一覧を社内で持っている場合。Azure を使っている場合。
- 通話の録音を書き出せない、または録音そのものを持たない場合。点検の一覧が無く、何を説明すべきかが通話の種類ごとに決まっていない場合。点検の結果をそのままオペレーターの人事評価に使う運用を考えている場合。なお、説明が法令や社内規程を満たしているかの最終的な判断はこの構成では代替できません。
07最小構成で試す方法
- 先月スーパーバイザーが点検した通話から20件を選ぶ(うち数件は、説明の漏れが見つかった通話を入れる)
- その20件の録音を Azure AI Speech の画面や API で文字に起こす
- 第7章の指示と、新規の申込みの点検の一覧を使い、Azure OpenAI の画面で1件ずつ判定させる
- 出てきた判定を、当時のスーパーバイザーの点検の結果と1項目ずつ突き合わせる
- 食い違った項目について、録音を聞いてどちらが正しいかを確かめる
20件は必ずやってください。 文字起こしの精度と、点検の一覧の書き方のどちらに問題があるかが、ここで分かります。
| 出てきた内容 | 判断 |
|---|---|
当時見つかった漏れが not_explained で出た | 自動の処理に進む |
言い換えで説明しているのに not_explained になった | 点検の一覧に言い換えの例を足す。構成は有効 |
文字起こしが崩れて unclear が並んだ | 録音の仕方が先。 チャネルと音質を見直す |
2行目は必ず出ます。 失敗ではなく、スーパーバイザーが頭の中で認めていた言い換えが、一覧に書かれていなかったということです。 書き足すことで、第3章の(b)のぶれも減ります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
聞き取りの誤りをAIが直して explained にする | 直させない。 誤りのまま引用させ、引用を照合する |
言い換えで説明しているのに not_explained になる | 点検の一覧に言い換えの例を足す |
| 不適切な言葉がアスタリスクになって消える | profanityFilterMode を None にする |
| 結果が自社のコンテナーに残らない | destinationContainerUrl を properties の中に置く |
| ステレオの録音で話者分離が動かない | ステレオではチャネルで話者を分ける |
| 文字起こしの結果がいつの間にか消える | timeToLiveHours の時間で消える。自社のコンテナーに書く |
| カード番号が判定の入力に入る | 前処理で桁の並びを伏せる |
unverified が多い | 引用の照合で、空白と句読点の違いを許すようにする |
| 点検の結果が人事評価に使われる | 点検は指導の材料と決め、運用の規程に書く |
| 法令違反かどうかをAIの判定で決めてしまう | escalate は法務部へ。AIは事実の拾い出しまで |
上の2行が、この構成の失敗のほとんどです。 どちらも、文字起こしの言葉と、スーパーバイザーの頭の中の基準のずれから起きます。引用の照合と言い換えの例の書き足しを回せるかどうかで、運用に乗るかが決まります。
下の2行は、AIの問題ではありません。 点検の結果が数字で出ると、オペレーターの評価に使いたくなります。評価に使われると分かった時点で、オペレーターは点検の一覧の言葉を棒読みするようになり、お客さまに伝わる説明から遠ざかります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 通話の録音と文字起こし(お客さまの氏名・住所・生年月日・電話番号、車や建物の情報、事故の経緯、支払いの情報)、オペレーターの発話です。生命保険や傷害保険の通話では、健康状態などの機微な情報も含まれます。
- 伏せ字を前処理で確実に行う … カード番号、口座番号は判定に要りません。Azure OpenAI に渡す前に伏せます
- 処理の地域を決める … 公式の説明では、プロンプトと応答は顧客が指定した地域の中で処理され、Global や DataZone のデプロイの種類ではそれぞれの範囲で処理されうるとされています。日本の地域の標準のデプロイを選びます
- 学習への利用と不正利用の監視を確かめる … 公式の説明では、プロンプトと応答は他の顧客や OpenAI に提供されず、基盤モデルの学習に使われないとされています。一方で、不正利用の監視の仕組みがあり、兆候が検知されると、プロンプトと応答の一部が人による確認の対象になりうるとされています。通話の内容を扱うので、監視の扱いの変更を申請できる条件に当たるかを確かめます
- 点検の結果を人事評価に使わない … 点検は指導の材料です。AIの判定を確かめずに評価に使うと、文字起こしの誤りがオペレーターの処遇に響きます
- 法令の判断をAIに任せない … 保険業法第294条は保険契約の内容などの情報の提供を、第294条の2は顧客の意向の把握と、意向と契約の内容が合っていることを確かめる機会の提供を求めています。通話の説明がこれらを満たしているかの判断は、法務部が行います
- 録音と文字起こしの保存期間をそろえる … 文字起こしは録音と同じ情報です。録音より長く残さないようにします
誤りが起きた場合のリスクは、説明の漏れを見逃すことと、説明していたオペレーターに誤った指導をすることの2つです。 前者は explained に倒すことで、後者は unclear を確かめずに伝えることで起きます。どちらも、迷ったら人が聞く側に倒し、引用を照合することで防ぎます。
10まず何から始めるか
1週目:点検の一覧を書き直す
新規の申込みの点検の一覧を、1項目1内容に分け、言い換えとして認める表現の例を添えます。 法務部と、escalate に当たる説明事項と言い回しを決めます。
2週目:20件で試す
先月点検した通話から20件を選び、文字に起こして判定させます。当時の点検の結果と突き合わせ、食い違った項目は録音を聞いて確かめます。
3週目:録音の書き出しを確かめる
通話録音システムから、2チャネルの録音を書き出せるか、書き出しの方式(API か管理画面か)を確かめます。 Azure の処理の地域と、不正利用の監視の扱いを決めます。
4週目:毎晩の処理をつなぐ
前日の通話を書き出し、文字に起こし、判定を一覧に書き出すところまで作ります。この時点では通話の結果(clear など)を出さず、項目ごとの判定だけをスーパーバイザーが見ます。
2か月目: 引用の照合と規則での集計を足し、通話の結果を出します。スーパーバイザーが判定を直した件数を毎週数えます。3か月目以降: 聞き直す時刻から再生する画面を足し、1件20分が何分になったかを実測します。直した記録が点検の一覧の言い換えの例に戻り、直す件数が減ってきた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 保険業法第294条が保険契約の内容などの情報の提供を求めていること。第294条の2が顧客の意向の把握、意向に沿った提案と説明、意向と契約の内容が合致していることを確かめる機会の提供を求めていること。第300条が、重要な事項を告げない行為、重要な事実を告げないことを勧める行為、不利益となる事実を告げずに乗り換えさせる行為、誤解させるおそれのある比較、将来の金額が不確実な事項についての断定的な判断の提示などを禁じていること | e-Gov 法令API: 保険業法 | 2026-10-14 |
バッチ文字起こしの完了に数分から数時間かかりうること。locale と timeToLiveHours(6時間〜31日)が必須なこと。destinationContainerUrl は properties の中に置き、ルートに置くと無視されること。チャネル0と1が既定で文字起こしされること。話者分離が単一チャネルを前提とし、ステレオでは使えず、使うと1ファイル240分が上限なこと。profanityFilterMode の既定が Masked で None にできること。単語の時刻を有効にできること。Web フックで完了の通知を受けられること | Microsoft Learn: Create a batch transcription | 2026-10-14 |
構造化出力が指定した JSON スキーマに従い、Chat Completions API と Responses API の両方で使えること。すべてのフィールドを必須にし additionalProperties: false を設定すること。最大100個のオブジェクトのプロパティと最大5段の入れ子 | Microsoft Learn: Azure OpenAI で構造化出力を使用する方法 | 2026-10-14 |
| プロンプトと応答が他の顧客や OpenAI に提供されず、基盤モデルの学習に使われないこと。プロンプトと応答は顧客が指定した地域で処理され、Global と DataZone のデプロイではそれぞれの範囲で処理されうること。不正利用の監視で、兆候が検知されるとプロンプトと応答の一部が確認の対象になり、必要に応じて人が確認すること。監視の扱いの変更を申請できること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-10-14 |
通話の説明が保険業法や監督上の要請、社内規程を満たしているかは、法務部と確かめてください。 本記事は、上記の公開情報で確認できた範囲だけを扱っています。説明事項の具体的な中身は、商品と社内規程によって異なります。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1500)についてのご相談はこちらから。
