Media > AI活用ユースケース > カスタマーサポート > タクシーの配車センターの電話を通話中に文字にし、乗車地・時刻・人数・行き先を配車の入力欄の下書きにして聞き返しを減らす

タクシーの配車センターの電話を通話中に文字にし、乗車地・時刻・人数・行き先を配車の入力欄の下書きにして聞き返しを減らす

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

タクシーの配車センターにかかる電話を、通話しているうちに文字にし、乗車地・目印・時刻・人数・行き先を配車の入力欄の下書きにそろえます。オペレーターは下書きを見ながら復唱し、確かめた値だけを配車システムに入れます。

サマリー
生成AI
Azure OpenAI Service/Claude
AIサービス
Azure AI
対象業界
その他
対象部門
カスタマーサポート
対象業務
データ入力・転記/問い合わせ対応
主な課題
人手が足りない/入力作業が多い/確認ミスが多い
AIで行う処理
抽出
主な効果
入力漏れ削減/対応スピード向上/工数削減
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
条件付き
現在工数
300h/月
AI導入後
150h/月
想定削減
50%
年間削減
1,800h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 電話に出て、発信の番号から顧客台帳の登録を画面に出す
  2. 客の話を聞きながら、乗車地を配車システムの地図で探す
  3. 時刻、人数、行き先、車種の希望(大型・車いす対応)、支払いの方法(チケット・カード)を聞き、入力欄に打ち込む
  4. 乗車地が見つからない、聞き取れない場合は聞き返す
  5. 入力した内容を復唱し、通話を終える
  6. 通話の後に、備考欄(目印の詳細、迎えの場所の補足)を書き足す
  7. 配車システムで車両を割り当てる
導入後(After)
  1. 自動電話がつながると、通話の音声が Azure AI Speech に流れ始める
  2. 自動発信の番号から顧客台帳の登録を引き、よく使う乗車地を候補に出す
  3. 自動話した言葉が数秒遅れで画面に文字として出る
  4. 自動客の発話が区切れるたびに、下書きの欄(乗車地・目印・時刻・人数・行き先・車種・支払い)が埋まっていく
  5. 自動乗車地の下書きを、目印の一覧と顧客台帳のよく使う乗車地に当て、地図の候補を出す
  6. 人オペレーターは下書きを見ながら、空いている欄と自信の低い欄だけを聞き、下書きを読み上げて復唱する
  7. 人確かめた欄を、ボタンで配車システムの入力欄に写す
  8. 人車両を割り当てる
  9. 自動通話の文字と、下書き・確定した値の差を記録に残す
各工程の詳しい説明を読む
  1. 電話に出て、発信の番号から顧客台帳の登録を画面に出す
  2. 客の話を聞きながら、乗車地を配車システムの地図で探す
  3. 時刻、人数、行き先、車種の希望(大型・車いす対応)、支払いの方法(チケット・カード)を聞き、入力欄に打ち込む
  4. 乗車地が見つからない、聞き取れない場合は聞き返す
  5. 入力した内容を復唱し、通話を終える
  6. 通話の後に、備考欄(目印の詳細、迎えの場所の補足)を書き足す
  7. 配車システムで車両を割り当てる

(a)聞きながら打つと、どちらかが遅れる。 2番目と3番目は同時に起きます。客が乗車地を言い終える頃には時刻の話に移っていて、打ち込みが追いつかないと聞き返すことになります。

(b)目印の場所の聞き返しが多い。 「病院の玄関」が正面か救急の入口か、「スーパー」がどの店か。地図で探している間、客を待たせます。

(c)復唱しても誤りが残る。 5番目の復唱は、オペレーター自身が打ち込んだ内容を読み上げる作業です。打ち込みの時点で取り違えていれば、復唱しても客が気づかないことがあります。

(d)混雑の時間帯に電話が鳴りやまない。 朝の通院、夕方の帰宅、雨の日。電話が重なる時間帯ほど、6番目の備考の書き足しが省かれ、乗務員が迎えの場所で迷います。

  1. 【自動】 電話がつながると、通話の音声が Azure AI Speech に流れ始める
  2. 【自動】 発信の番号から顧客台帳の登録を引き、よく使う乗車地を候補に出す
  3. 【自動】 話した言葉が数秒遅れで画面に文字として出る
  4. 【自動】 客の発話が区切れるたびに、下書きの欄(乗車地・目印・時刻・人数・行き先・車種・支払い)が埋まっていく
  5. 【自動】 乗車地の下書きを、目印の一覧と顧客台帳のよく使う乗車地に当て、地図の候補を出す
  6. 【人】 オペレーターは下書きを見ながら、空いている欄と自信の低い欄だけを聞き、下書きを読み上げて復唱する
  7. 【人】 確かめた欄を、ボタンで配車システムの入力欄に写す
  8. 【人】 車両を割り当てる
  9. 【自動】 通話の文字と、下書き・確定した値の差を記録に残す

6番目が、この設計の分かれ目です。 復唱するのは、オペレーターが打った値ではなく、客の言葉から作った下書きです。客の言葉と復唱の間にオペレーターの打ち込みが挟まらないので、打ち込みの取り違えが復唱で見つかるようになります。

7番目を人のボタンにしているのも、意図してのことです。 下書きは通話の途中で何度も書き換わります。客が言い直した値を確かめないまま配車システムに入れると、車両が違う場所へ向かいます。 入力欄に写すのは、オペレーターが確かめた欄だけです。

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

構成図
客からの電話
   │
PBX/通話録音の装置 ── 通話の音声を取り出す(送話と受話を分けて)
   ▼【トリガー】通話の開始
Azure AI Speech(リアルタイムの文字起こし。日本語、フレーズリストに目印と地名)
   │   話した言葉を区切りごとに文字にして返す
   ▼
Azure Functions
   │   客の発話の確定のたびに、通話の文字・顧客台帳の登録・目印の一覧をまとめる
   ▼
Azure OpenAI(構造化出力)
   │   乗車地・目印・時刻・人数・行き先・車種・支払い を下書きにする
   ▼
オペレーターの画面(通話の文字+下書きの欄+地図の候補)
   ▼
【オペレーターが復唱し、確かめた欄だけを写す】
   ▼
配車システムの入力欄
役割想定する製品代替候補
処理Azure AI Speech(リアルタイムの文字起こし。Speech SDK)Google Cloud Speech-to-Text、Amazon Transcribe
生成AIAzure OpenAI(Microsoft Foundry)(配車の入力欄の下書き。構造化出力)Claude API
連携Azure Functions(音声の受け渡し、下書きの作成、画面への送信)Azure Logic Apps
電話PBX と通話録音の装置(通話の音声の取り出し)各社のクラウドPBX
台帳顧客台帳と目印の一覧―

配車システムと顧客台帳は、新しく足すものではありません。 配車システムには、オペレーターがボタンで写した値だけが入ります。写し方は配車システムの取り込みの口しだいで、入力欄へ値を渡す口が無ければ、下書きの欄から手でコピーする形から始めます。

いちばん環境に左右されるのは、通話の音声の取り出しです。 PBX や通話録音の装置から音声を外に流せるかは、機器ごとに違います。この部分は利用環境に応じた個別の実装が要ります。 取り出せることを、最初に機器の業者に確かめてください。

音声を受け取る側の条件ははっきりしています。 Speech SDK の音声の入力の流れは、公式の説明ではPCM(16ビット)、1チャンネル、8,000または16,000サンプル毎秒が対象です。電話の音声は8,000サンプル毎秒のことが多く、この条件に収まります。合わない形式は、送る前に変換します。

日本語の文字起こし(ja-JP)は公式の対応言語の一覧に載っています。

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

Step1

処理の起点を決める

通話がつながったことを起点に、文字起こしを始めます。 PBX の着信の通知、または通話録音の装置が録音を始めたことをきっかけに、音声の流れを Azure Functions 経由で Speech SDK に渡します。通話が切れたら止めます。

下書きの作成は、客の発話が区切れるたびに動かします。 文字起こしは話しているうちに途中の結果を出し、区切りで確定した結果を出します。途中の結果は画面に文字を出すためだけに使い、下書きは確定した結果で作ります。 途中の結果で下書きを作ると、言い直しの途中の値が欄に入ります。

同じ通話の中で、下書きは何度も作り直します。 客は「駅…いや、やっぱり病院から」と言い直します。新しい発話が確定するたびに、通話の最初からの文字を渡して下書きを丸ごと作り直し、前の下書きとの差を画面で色を変えて示します。差分だけを渡す方式は、言い直しを取りこぼします。

Step2

入力データを集める

データ中身取得元
通話の文字発話ごとに、話した人(オペレーター/客)、文字、時刻Azure AI Speech の確定した結果
顧客台帳の登録発信の番号に結び付いた登録住所、よく使う乗車地、前回の乗車地と行き先、車種の希望顧客台帳
目印の一覧病院・駅・商業施設・団地などの名前、その別名、乗車の地点(正面・裏口・ロータリーなど)、地図の位置配車センターで整備する一覧
現在の日時通話の日付と時刻配車システム
配車の決まり予約を受ける期限、車種の種類、支払いの方法の種類配車センターの決まり

質を決めるのは、目印の一覧です。 「市民病院」に正面・救急・裏の3つの乗車の地点があるなら、3つを別の行にして、それぞれの言い方(「正面玄関」「救急の入口」「職員の駐車場の前」)を書きます。 一覧に無い目印は、下書きでも地図の候補にできません。

現在の日時は、時刻の解釈に必ず要ります。 「明日の9時半」「10分後」は、通話の日時が無いと何日の何時か決まりません。

Step3

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

通話の音声は、送話(オペレーター)と受話(客)を分けて取り出せるならそうします。 分けられれば、2つの音声の流れをそれぞれ別の認識器に渡すだけで、どちらが話したかが決まります。

取り出せる音声文字起こしの方法話した人の決め方
送話と受話が別々1チャンネルずつ、2つの認識器で連続して文字にする流れごとに決まる
混ざった1本だけ会話の文字起こし(ConversationTranscriber)の話者の分離を使うGuest-1・Guest-2 を、最初の名乗りからオペレーターと客に当てる

話者の分離を使う場合、公式の説明では、話者は Guest-1、Guest-2 のような汎用の識別子で返り、途中の結果にも話者を付けるには設定が要り、付けないと途中の結果の話者は Unknown になるとされています。オペレーターの最初の発話は「はい、〇〇タクシーです」と決まっているので、その発話の識別子をオペレーターとします。

目印と地名は、フレーズリストで認識を助けます。 公式の説明では、フレーズリストは名前や地名、業界や組織に固有の言葉を前もって渡して認識されやすくする仕組みで、リアルタイムの文字起こしで使え、2,000語句を超えないようにするとされ、0.0から2.0の重みを付けられます。目印の一覧から、よく出る名前を上位から2,000語句以内で選んで渡します。

顧客台帳は、発信の番号で引くだけです。番号が非通知や公衆電話の場合は、台帳を引かずに下書きを作ります。

Step4

AIへ渡す前に整形する

  1. 音声の形式をそろえる … PCM(16ビット)、1チャンネル、8,000または16,000サンプル毎秒にします。2チャンネルで録られている場合は、チャンネルごとに分けます
  2. フレーズリストを作る … 目印の一覧の名前と別名、市内の町名、病院・駅の名前を、よく出る順に2,000語句以内で選びます
  3. 顧客台帳を引く … 発信の番号で登録を引き、よく使う乗車地を候補として下書きの材料にします
  4. 通話の文字を整える … 確定した結果を時刻順に並べ、発話ごとに番号を振ります
  5. 数字の書き方をそろえる … 「くじはん」「9時半」「九時三十分」を、原文のまま残したうえで時刻の候補を作る材料にします
  6. 渡す情報を絞る … 下書きの作成に渡すのは、通話の文字、台帳の乗車地の候補、目印の一覧の該当しそうな行までです。台帳の全件は渡しません

2番目は、毎月見直します。 新しい商業施設が開く、病院の入口が変わる。一覧の更新が止まると、その場所の聞き返しが元に戻ります。

Step5

AIに処理させる

Azure AI Speech にさせるのは、話した言葉を文字にすることだけです。 発話が確定するたびに、Azure OpenAI に通話の文字を渡し、次の欄を埋めさせます。

欄中身判断できないときの扱い
乗車地目印の一覧の行、または台帳のよく使う乗車地、または住所の文字一覧に当たらなければ free_text で原文のまま
乗車の地点正面・裏口・ロータリーなど言われていなければ not_said
時刻今すぐか予約か、予約なら日付と時刻午前か午後か決められなければ ambiguous
人数乗る人数言われていなければ not_said
行き先目印か住所か言われていなければ not_said(行き先は必須でない)
車種普通車・大型・車いす対応など言われていなければ not_said
支払い現金・カード・チケットなど言われていなければ not_said
補足迎えの場所の目印、荷物、杖・車いすなど無ければ空
根拠それぞれの欄に使った発話の番号番号の無い欄は出さない

乗車地は「目印の一覧の行」を選ばせ、住所を作らせません。 目印の一覧に当たれば、地図の位置は一覧の側にあります。生成AIに住所や位置を考えさせると、それらしい住所が欄に入ります。 当たらないときは客の言葉を原文のまま残し、地図での確定をオペレーターに任せます。

させないこと理由
住所や地図の位置を作ること位置は目印の一覧と地図で決める。それらしい住所を入れない
「午後」「午前」を推し量って決めること決められなければ ambiguous で、オペレーターが聞く
台帳の前回の乗車地で空欄を埋めること候補として示すだけ。客が言っていない値を入れない
到着の時刻や運賃を答えること車両の状況で決まる。オペレーターが答える
客を特定すること発信の番号で台帳を引くのはプログラム。下書きは名前を扱わない

3行目がいちばん起きやすい失敗です。 常連の客の前回の乗車地が自宅なら、客が乗車地を言う前から欄が埋まっているように見えます。 今日は病院からかもしれません。候補と、客が言った値を、画面で分けて見せます。

Step6

指示内容を固定する

あなたはタクシーの配車センターで、電話の内容から配車の入力欄の下書きを作る係です。
渡した通話の文字だけを見て欄を埋めてください。推測で埋めないでください。

【やること】
通話の最初から最新の発話までを読み、次の欄を埋める。
乗車地/乗車の地点/時刻/人数/行き先/車種/支払い/補足

【厳守事項】
- 客の発話(speaker が caller のもの)を根拠にすること。
  オペレーターの発話は、客が「はい」と答えて認めた場合だけ根拠にしてよい。
- 乗車地は【目印の一覧】の landmark_id を選ぶこと。
  一覧に当たらなければ status を free_text とし、客の言葉を原文のまま写すこと。
  住所や地図の位置を作らないこと。
- 【台帳の候補】は客が言っていない値の根拠にしないこと。
  客が「いつものところ」「家から」と言った場合だけ、候補の番号を選んでよい。
- 時刻は、客の言葉を value_original に原文のまま写すこと。
  【通話の日時】をもとに解釈した日付と時刻を value に入れること。
  午前か午後か決められない場合は ambiguous とし、どちらかに決めないこと。
  「会計が終わったら」のように時刻にできないものは condition とし、原文を写すこと。
- 客が言い直した場合は、最後に言った値を採ること。
  言い直す前の値は previous に残すこと。
- 言われていない欄は not_said とすること。空欄を埋めないこと。
- 到着の時刻、運賃、車両の手配について書かないこと。
- それぞれの欄に、根拠の発話の番号を必ず付けること。

【通話の日時】{call_datetime}
【目印の一覧(該当しそうな行)】{landmarks}
【台帳の候補】{customer_candidates}
【通話の文字】{utterances}

「言い直したら最後の値、前の値は残す」を書かないと、最初に言った値が残ります。 電話の客は、話しながら考えを変えます。前の値を残すのは、オペレーターが「駅ではなく病院からですね」と確かめるためです。

時刻を「解釈した値」と「原文」の両方で持つのも同じ理由です。 復唱で「明日の午前9時半ですね」と読み上げるには解釈した値が要り、取り違えに気づくには原文が要ります。

Step7

出力形式を固定する

Azure OpenAI の構造化出力で、次の形のJSONを受け取ります。

{
  "call_id": "C-20261014-1123",
  "pickup": { "status": "landmark | customer_candidate | free_text | not_said",
              "landmark_id": "LM-0412", "point": "正面玄関",
              "original": "市民病院の正面のとこ", "previous": "", "evidence": [3, 5] },
  "time": { "status": "now | reserved | ambiguous | condition | not_said",
            "value": "2026-10-15T09:30", "value_original": "あしたのくじはん",
            "evidence": [7] },
  "passengers": { "status": "said | not_said", "value": "2", "evidence": [9] },
  "destination": { "status": "landmark | free_text | not_said", "landmark_id": "",
                   "original": "", "evidence": [] },
  "vehicle_type": { "status": "said | not_said", "value": "", "evidence": [] },
  "payment": { "status": "said | not_said", "value": "", "evidence": [] },
  "notes": [ { "text": "杖をついている", "evidence": [11] } ]
}

構造化出力を使うのは、欄の名前と状態の語を固定するためです。 公式の説明では、構造化出力は渡した JSON Schema にモデルを従わせる仕組みで、すべての項目を必須にし、additionalProperties を false にする必要があるとされています。人数のような数値の最小・最大の指定には対応していないため、人数を文字で受け取り、範囲はプログラムで確かめます。

status を欄ごとに持つのは、画面の色を決めるためです。

status画面での見せ方オペレーターの扱い
landmark・said・now・reserved通常の色復唱して確かめる
customer_candidate候補の色「いつものご自宅ですね」と確かめる
free_text・ambiguous・condition注意の色必ず聞き直す
not_said空欄必要な欄なら聞く

previous が空でない欄は、言い直しがあった欄です。 画面で線を引いて前の値を残し、復唱のときに言い直した後の値を読み上げます。

Step8

システムへ連携する

つなぎ先方式内容
PBX/通話録音の装置機器の音声の取り出し(利用環境に応じた個別の実装)通話の音声を流す
Azure AI SpeechSpeech SDK(音声の入力の流れ)話した言葉を文字にする
Azure OpenAIAPI呼び出し(構造化出力)入力欄の下書きを作る
顧客台帳発信の番号での読み取り乗車地の候補を引く
オペレーターの画面Azure Functions からの送信通話の文字と下書きを出す
配車システムボタンで写す(取り込みの口がある場合)確かめた欄だけを入れる

配車システムへは、オペレーターのボタンを経由してしか入りません。 車両の割り当ては下書きから自動で行わず、確かめた値で人が割り当てます。

顧客台帳は読み取りだけです。 新しい乗車地が出ても、台帳には書き足しません。書き足すかは、配車センターの担当が通話の記録を見て決めます。

Step9

人が確認する

  1. 注意の色の欄を聞き直す … free_text、ambiguous、condition の欄です
  2. 下書きを読み上げて復唱する … 乗車地・乗車の地点・時刻・人数を、下書きの言葉で読み上げます
  3. 確かめた欄を写す … ボタンで配車システムに入れます
  4. 乗車地を地図で確定する … 目印の一覧に当たった場合は地図の位置が出ます。free_text の場合は地図で探します

2番目を省かないでください。 下書きは客の言葉から作っていますが、認識の誤りも下書きの誤りも、客の耳でしか見つかりません。 下書きの言葉で読み上げるから、取り違えに客が気づけます。

目標は、聞き返しと入力を1件1.5分に収めることです。 目印の一覧に当たる依頼なら、復唱して写すだけで済みます。1.5分を超える依頼が多いなら、目印の一覧に足りない場所があります。

Step10

例外に対処する

起きること対応
音声が取り出せない・切れる下書きは出ない。いつもの入力に戻る。 画面に「文字起こし停止」を出す
認識できない区切りが続く電話の音質か周りの音。下書きを頼らず聞き直す
目印が一覧に無いfree_text で原文を残す。通話の後に一覧への追加を検討する
非通知・公衆電話台帳を引かずに下書きを作る
同じ電話で2台の依頼下書きは1台分しか持たない。2台目は新しい下書きを手で始める
客が途中で別の人に代わる話者の分離では別の Guest になる。送話と受話が別なら影響しない
急病・事故・救急車の要請らしい内容この構成の外。 119番の案内など、決めた手順に従う
下書きが遅れて届く混雑の時間帯に起きうる。下書きを待たずに聞き取る

1行目と最後の行を、最初から決めておいてください。 下書きは助けで、無くても配車ができる運用を崩さないことが前提です。

Step11

記録を残す

  • 通話の文字(発話ごとの話者・文字・時刻)と、作り直した下書きの各版
  • オペレーターが写した値と、下書きの値の差
  • 聞き直しの回数と、注意の色の欄の数
  • free_text になった乗車地の原文の一覧
  • 通話の音声は、既存の通話録音の保存の決まりに従う(この構成で新たに残さない)

2つ目の差が、改善の材料のすべてです。 下書きとオペレーターの値が違った欄は、認識の誤りか、下書きの誤りか、言い直しの取りこぼしのどれかです。どれが多いかで、直すのがフレーズリストか、指示か、目印の一覧かが決まります。

free_text の乗車地の一覧は、目印の一覧に足す候補です。 毎月数えて、上位から一覧とフレーズリストに入れます。

04実装レベルの3段階

最小構成:録音を Speech Studio で文字にし、手で生成AIに貼って下書きを作る / 文字起こしと下書きの試行
半自動化:上記+通話中にリアルタイムで文字を画面に出す / 聞き取りの補助
本格構成:上記+発話の確定のたびに下書きを作り、目印の一覧と台帳に当て、ボタンで配車システムに写す / 聞き取り・入力欄の下書き・乗車地の候補

最小構成は、確かめるための段階です。 半自動化で、1件3分が2.5分程度になります。 文字が画面に出るだけでも聞き返しは減りますが、入力は手のままです。本格構成で1.5分になり、この段階が本記事の想定です。 差が大きいのは、目印を地図で探す作業と、聞きながら打つ作業が下書きに置き換わるからです。 段階を飛ばさないでください。 半自動化の1か月で、文字にならない地名と、オペレーターが聞き返している場所が分かります。目印の一覧とフレーズリストを整えてから下書きを足すほうが、注意の色の欄が減ります。

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

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

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

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

AI活用について相談する

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

向いている
  1. 配車センターで1日に百件以上の電話の配車を受け、オペレーターが聞き取りながら配車システムに乗車地と時刻を打ち込んでいるタクシー会社。病院・駅・商業施設などの目印で乗車地を言う客が多く、住所の検索と聞き返しに時間がかかっている場合。高齢の利用者が多く、電話での配車がアプリに置き換わらない地域。通話の音声を PBX や通話録音の装置から取り出せる会社。
向いていない
  1. 配車の大半がアプリ経由で、電話の件数が1日に数十件の場合。通話の音声を外に取り出す口が PBX に無く、入れ替えの予定も無い場合。乗車地の確定を地図の上でしかできない運用で、文字の下書きを使う場面が無い場合。なお、どの車両を向かわせるかの判断、到着の時刻の約束、運賃の見積りは、この構成では行いません。

07最小構成で試す方法

  1. 通話録音の装置から、配車の依頼の録音を30件選ぶ(目印で乗車地を言っているもの、言い直しのあるものを混ぜる)
  2. Speech Studio のリアルタイムの文字起こしの画面で、30件を文字にする
  3. 病院・駅・団地などの名前が正しく文字になるかを見る。外れたものはフレーズリストに入れてもう一度試す
  4. 出てきた文字を手元の生成AIの画面に貼り、第7章の指示で下書きを作らせる
  5. 下書きを、当時オペレーターが配車システムに入れた値と突き合わせる

30件は必ずやってください。 音声の取り出しや画面を作る前に、「この地域の地名と、電話の音質で、文字になるか」を確かめます。

出てきた内容判断
地名も含めて文字になり、下書きが当時の入力と合った音声の取り出しと画面の作成に進む
目印の名前だけを取り違えたフレーズリストで補う。構成は有効
電話の音質で文字にならない音声の取り出し方が先。 送話と受話を分けられるか確かめる

3行目が出たら、通話録音の装置の業者に、音声の取り出し方を相談してください。 録音の形式によって、文字になるかどうかが大きく変わります。

試すのに使う録音は、社内の決まりに沿って選んでください。 録音を文字にして外部のサービスに渡すことが、会社の個人情報の取扱いの決まりで認められているかを、最初に確かめます。試すときも、氏名や電話番号が話されている部分は外して貼ります。

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

問題対策
通話の音声が取り出せない最初に機器の業者に確かめる。 取り出せなければ構成が成り立たない
音声の形式が合わないPCM・1チャンネル・8,000か16,000サンプル毎秒に変換する
オペレーターと客の発話が混ざる送話と受話を分ける。分けられなければ話者の分離と最初の名乗りで当てる
目印の名前を取り違えるフレーズリストに入れる。2,000語句以内で、よく出る順に
前回の乗車地が欄に入る台帳は候補として分けて見せる。客が言っていない値を入れない
午前と午後を取り違える決められなければ ambiguous。原文を残して聞き直す
言い直しの前の値が残る最後の値を採り、前の値は previous に残す
途中の結果で下書きが揺れる下書きは確定した結果だけで作る
下書きがそのまま配車される写すのはオペレーターのボタンだけ。 割り当ても人
目印の一覧が古くなるfree_text の一覧から毎月足す
長電話で下書きの費用がかさむ通話の長さか発話の数で、下書きの作成を止める
オペレーターが下書きを見なくなる注意の色の欄の数を毎週見せ、下書きが当たっていることを示す

上の3行が、この構成の失敗のほとんどです。 どれも音声をどう取り出すかという同じところから出ています。AIの精度を上げる前に、ここを固めてください。

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

この構成で扱うデータ: 客の声と電話番号、登録住所、乗車の時刻と行き先(いつ家を空けるか、どの病院に通っているか)、杖や車いすなどの体の状態に関わる補足です。

  1. 通話の文字の保存期間を決める … 通話の録音と同じく、決めた期間で消します。 病院への送迎の記録は、通院の記録でもあります
  2. 音声を新たに残さない … 公式の説明では、リアルタイムの文字起こしで音声はサーバーのメモリ上だけで処理され、Microsoft は顧客のデータを保持・保存しないとされています。この構成で新しい録音の置き場は作りません
  3. 通話を文字にすることを知らせる … 公式の説明は、音声と文字の記録が個人のデータや機微なデータにあたりうり、必要な許可を得るのは利用者の責任であることを述べています。通話の冒頭の案内や会社の案内に書きます
  4. 生成AIに渡す範囲を絞る … 台帳の全件や氏名は渡しません。通話の文字と、該当しそうな候補の行までにします
  5. 配車の判断を自動にしない … 下書きは入力の助けで、車両の割り当てと到着の約束はオペレーターが行います
  6. 救急や事故らしい通話を、この構成で扱わない … 決めた手順で人が対応します

誤りが起きた場合のリスクは、車両が違う場所や違う時刻に向かうことです。客は待ち続け、乗務員は空車で走ります。下書きを人が復唱して確かめ、確かめた欄だけを写すことで防ぎます。

10まず何から始めるか

1週目:通話の音声が取り出せるかを確かめる

PBX と通話録音の装置の業者に、通話中の音声を外に流せるか、送話と受話を分けられるかを確かめます。ここで取り出せないと分かれば、機器の入れ替えの計画と合わせて考えます。

2週目:30件の録音で試す

Speech Studio で録音を文字にし、生成AIで下書きを作らせます。地名の取り違えと、午前・午後の取り違えを最優先で見ます。

3週目:目印の一覧を作る

よく出る病院・駅・商業施設・団地を、乗車の地点ごとに一覧にします。 別名と、地図の位置を書きます。ここからフレーズリストを作ります。

4週目:通話中に文字を画面に出す

音声の取り出しと Speech SDK をつなぎ、オペレーターの画面に文字を出すところまで作ります。この時点では下書きを作らず、文字を見るだけにします。

2か月目: 発話の確定のたびに下書きを作る処理と、注意の色の表示を足します。下書きとオペレーターの値の差を毎週数えます。3か月目以降: 配車システムへの写しのボタンを足し、1件3分が何分になったかを実測します。free_text の乗車地を目印の一覧に足し、注意の色の欄が減ってきた時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-14/最終更新:2026-10-15
確認した内容情報源確認日
Speech SDK の音声の入力の流れが、PCM(16ビット符号付き)、1チャンネル、8,000または16,000サンプル毎秒を対象とし、合わない形式は変換が要ることMicrosoft Learn: Speech SDK audio input stream concepts2026-10-14
リアルタイムの話者の分離で、話者が Guest-1・Guest-2 のような汎用の識別子で返ること。途中の結果に話者を付けるには設定が要り、付けないと Unknown になること。transcribing・transcribed のイベントMicrosoft Learn: Real-time diarization quickstart2026-10-14
フレーズリストが名前・地名・固有の言葉の認識を助け、リアルタイムの文字起こしで使えること。2,000語句を超えないようにすべきこと。重みを0.0から2.0で付けられることMicrosoft Learn: Improve recognition accuracy with phrase list2026-10-14
音声の認識で ja-JP(日本語)が対応していることMicrosoft Learn: Language and voice support2026-10-14
リアルタイムの文字起こしで音声がサーバーのメモリ上だけで処理され保存されず、Microsoft が顧客のデータを保持・保存しないこと。音声と文字の記録が個人のデータにあたりうり、必要な許可を得るのは利用者の責任であることMicrosoft Learn: Data, privacy, and security for Speech to text2026-10-14
構造化出力が渡した JSON Schema にモデルを従わせること。すべての項目を必須にし additionalProperties を false にする必要があること。数値の minimum・maximum などに対応していないことMicrosoft Learn: How to use structured outputs with Azure OpenAI in Microsoft Foundry Models2026-10-14

通話の音声の取り出し方は PBX と通話録音の装置ごとに違います。機器の業者に確かめてください。 本記事は上記の公開情報で確認できた範囲だけを扱っています。

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

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

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

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