市役所に電話で届く道路・公園の損傷や危険の通報を音声から文字にして、場所・状況・連絡先を受付票に分け、担当課へ回す
住民から電話で寄せられる道路の穴、側溝のふたのずれ、街路灯の消灯、倒木、公園の遊具の破損などの通報を、録音から文字にして受付票の下書きにします。場所・状況・危険の手がかり・通報者の連絡先を項目に分け、聞き漏れた項目を示して、担当課へ回せる形にします。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- AIサービス
- Azure AI
- 対象業界
- 自治体
- 対象部門
- 総務
- 対象業務
- 問い合わせ対応/記録・議事録作成
- 主な課題
- 入力作業が多い/引き継ぎができていない/期限・対応漏れが起きる
- AIで行う処理
- 要約
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 職員が通報の電話を受け、メモ用紙に場所・状況・名前・電話番号を書きながら聞く
- 通話のあと、地図の画面で場所を探し、町名と番地、近くの目印を確かめる
- 受付台帳に、受付日時・場所・状況・通報者・連絡先・担当課を書く
- 道路なら市道か国道・県道かを確かめ、担当課か国・県の事務所を決める
- 担当課へメールで送る。急ぐものは電話も入れる
- 担当課から「場所が分からない」と問い合わせが来たら、通報者に電話で聞き直す
- 人職員が通報の電話を受ける。手元の聞き取りの型(場所・状況・危険・連絡先)に沿って聞く
- 自動通話が終わると、電話の録音が保管場所に書き出される
- 自動書き出しをきっかけに処理が動き、録音を文字にする
- 自動生成AIが、場所の言い方と目印、状況、危険の手がかり、通報者の連絡先と希望を受付票の項目に分ける
- 自動聞き取りの型のうち、通話の中で触れられなかった項目を「聞き漏れ」として示す
- 自動受付票の下書きを受付台帳に「確認待ち」で入れ、受けた職員に知らせる
- 人職員が下書きを読み、地図で場所を決め、緊急度と担当課(国・県を含む)を決めて確定する
- 人聞き漏れがあれば、通報者に電話で聞く
- 自動確定した受付票を、担当課へメールで送る。緊急とした受付票は担当課の電話にも知らせる
各工程の詳しい説明を読む
- 職員が通報の電話を受け、メモ用紙に場所・状況・名前・電話番号を書きながら聞く
- 通話のあと、地図の画面で場所を探し、町名と番地、近くの目印を確かめる
- 受付台帳に、受付日時・場所・状況・通報者・連絡先・担当課を書く
- 道路なら市道か国道・県道かを確かめ、担当課か国・県の事務所を決める
- 担当課へメールで送る。急ぐものは電話も入れる
- 担当課から「場所が分からない」と問い合わせが来たら、通報者に電話で聞き直す
(a)場所が縮む。 通話中のメモには「〇〇小裏 坂 カーブ手前 左」のように書き、台帳には「〇〇町2丁目」と書きます。担当課が現地に行くと、2丁目には坂が3本あります。 6番目の聞き直しは、通報者が出ないこともあり、そのまま数日たちます。
(b)危険の手がかりが落ちる。 住民は「昨日ここで自転車の人が転んでいた」「夕方から暗くて見えない」と話しますが、メモに書くのは「穴 30cmくらい」です。緊急度を決める手がかりほど、メモから落ちます。 担当課は「穴あり」の1行だけを見て、ほかの通報と同じ順で回ります。
(c)連絡先の扱いがそろわない。 「名前は言いたくない」「結果を知らせてほしい」「知らせなくてよい」。通報者の希望は通話の中で言われますが、受付票に欄がありません。 対応したあとに連絡してよいのか分からず、担当課がまた窓口に聞いてきます。
(d)通報の受付の時刻があいまいになる。 通話のあとでまとめて台帳に書くと、受付日時に書いた時刻が入ることがあります。市がいつその危険を知ったかは、後で問われることがある記録です(第13章)。
- 【人】 職員が通報の電話を受ける。手元の聞き取りの型(場所・状況・危険・連絡先)に沿って聞く
- 【自動】 通話が終わると、電話の録音が保管場所に書き出される
- 【自動】 書き出しをきっかけに処理が動き、録音を文字にする
- 【自動】 生成AIが、場所の言い方と目印、状況、危険の手がかり、通報者の連絡先と希望を受付票の項目に分ける
- 【自動】 聞き取りの型のうち、通話の中で触れられなかった項目を「聞き漏れ」として示す
- 【自動】 受付票の下書きを受付台帳に「確認待ち」で入れ、受けた職員に知らせる
- 【人】 職員が下書きを読み、地図で場所を決め、緊急度と担当課(国・県を含む)を決めて確定する
- 【人】 聞き漏れがあれば、通報者に電話で聞く
- 【自動】 確定した受付票を、担当課へメールで送る。緊急とした受付票は担当課の電話にも知らせる
7番目が、この設計の分かれ目です。 下書きにあるのは住民の言い方と目印までで、場所を地図の上の1点に決めるのは職員です。 ここを自動にすると、(a)の縮みがAIの推測という形で残ります。
1番目の聞き取りの型は、AIのための準備ではありません。 型に沿って聞けば、録音にその答えが入り、下書きにそのまま載ります。型があるから、5番目で「聞いていない項目」を示せます。
02今回想定するシステム構成
住民からの通報の電話(庁内の電話で録音) │ 通話の終了時に録音を書き出し ▼【トリガー】保管場所への録音の保存 Azure Functions ── 通話の記録の取得、地名のフレーズリストの用意 ▼ Azure AI Speech(高速文字起こし) │ 話者の分離(職員/通報者)、発話の時刻と信頼度 ▼ Azure OpenAI ── 場所の言い方と目印/状況/危険の手がかり/連絡先と希望 に分ける │ 聞き取りの型のうち、触れていない項目を示す ▼ Azure Functions ── 受付台帳に「確認待ち」で登録、受けた職員へ通知 ▼ 【職員が地図で場所を決め、緊急度と担当課を決めて確定】 ▼ 担当課へメール(緊急は電話も)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Azure AI Speech(高速文字起こし、話者の分離、フレーズリスト) | Google Cloud Speech-to-Text、Amazon Transcribe |
| 生成AI | Azure OpenAI(Microsoft Foundry)(構造化出力で受付票の項目に分ける) | Claude API、Gemini API |
| 連携 | Azure Functions(録音の受け取り、台帳への登録、通知) | Azure Logic Apps |
| 保管 | Azure Blob Storage(録音と文字起こしの控え) | 庁内のファイルサーバー |
| 台帳 | 既存の通報の受付台帳 | 通報の管理システム |
受付台帳と地図の画面は、新しく足すものではありません。 足すのは、録音を受け取って文字にし、下書きを台帳に入れる中継の処理です。庁内の電話から録音を取り出す方法と、録音を庁外のクラウドへ送る経路は、自治体ごとの電話の設備と庁内のネットワークの区分によって違います。 この部分は利用環境に応じた個別の設計になります。
文字起こしには、Azure AI Speech の高速文字起こしを使います。 音声ファイルを渡すと同期で結果を返す仕組みで、対象は5時間未満・500MB未満の音声です。WAV、MP3、OPUS/OGG、FLAC、WMA、AAC、AMR、WebM などを受け付けます。日本語(ja-JP)は、言語の一覧で高速文字起こしの対応が示されています。
職員と通報者の声は、話者の分離で分けます。 公式の説明では、話者の分離は1つのチャンネルの中で複数の話者を聞き分ける仕組みで、"diarization": {"maxSpeakers": 2, "enabled": true} のように指定すると、発話ごとに speaker の番号が付きます。庁内の電話の録音は1チャンネルで残る設備が多いので、チャンネルではなく話者の分離を使います。
ただし、番号は人と結び付いていません。 speaker の0が職員か通報者かは、録音ごとに変わりえます。この構成では「最初に話した人を職員とする」と決めます(第7章の前処理)。かかってきた電話では、受けた側が先に名乗るからです。
場所の聞き取りに効くのが、フレーズリストです。 公式の説明では、フレーズリストは認識の直前に渡す語の一覧で、モデルの学習を要さず、人名や地名、業界に固有の語を認識させやすくします。市内の町名と字名、公園名、学校名、路線名、橋の名前は、一般の辞書では別の漢字に化けやすい語です。
03どうやって実装するのか
処理の起点を決める
電話の録音が保管場所に書き出されたことを起点にします。 対象は、市民の声の窓口の内線で受けた通話と、代表電話から回されてきた通話です。通話が終わってから数分で下書きが届けば、職員は通報者の声を覚えているうちに確認できます。
夜間や休日の通報は、宿直や委託の受付が受けることがあります。 その録音も同じ保管場所に入るようにし、翌朝の始業時に、夜間分の下書きがまとめて台帳に並ぶようにします。夜間に緊急の通報を受けた場合の連絡は、これまでどおり宿直の手順で行い、この構成の下書きはそのあとの記録の整理に使います。
通話が30秒未満のものは対象から外します。「担当につないでください」だけの通話に下書きを作っても、台帳が埋まるだけです。 処理が終わった録音には「処理済み」の印を付け、印の無い録音の数が未処理の数になるようにします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 通話の録音 | 1チャンネルの音声。通話の開始時刻、長さ、受けた内線 | 庁内の電話 |
| 文字起こし | 発話ごとの文字、話者の番号、時刻、信頼度 | Azure AI Speech |
| 聞き取りの型 | 場所・目印・状況・危険・通報者・連絡先・連絡の希望の7項目 | 窓口で決めた一覧 |
| 地名の一覧 | 町名、字名、公園名、学校名、路線名、橋の名前 | 市で用意する一覧 |
| 施設の種類の一覧 | 道路の穴、側溝のふた、街路灯、カーブミラー、倒木、遊具などと担当課の候補 | 窓口で決めた一覧 |
質を決めるのは、地名の一覧です。 住民の言う「〇〇台」「〇〇の坂」が文字起こしで別の字になると、職員が地図で探せません。町名と字名は市の住所の一覧から、公園名と学校名は施設の一覧から作ります。 公式の目安では、フレーズリストは2,000語句を超えないようにします。
施設の種類の一覧は、担当課の「候補」を出すためのものです。 街路灯でも、道路の照明は道路課、公園の照明は公園緑地課、防犯灯は別の課ということがあります。候補は出しますが、決めるのは職員です。
データの取得方法を決める
文字起こしは、Azure Functions から高速文字起こしの API を呼ぶだけです。
| 指定するもの | 値 | 何のためか |
|---|---|---|
locales | ja-JP | 言語の判定を省き、認識を安定させる |
diarization | {"maxSpeakers": 2, "enabled": true} | 職員と通報者を分ける |
phraseList | 地名の一覧と施設の種類の語 | 地名と施設名を認識させやすくする |
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 発話ごとの文字 | 応答の phrases の text | 下書きの材料 |
| 話者の番号 | phrases の speaker | 職員の発言か通報者の発言かの区別 |
| 発話の時刻 | offsetMilliseconds/durationMilliseconds | 受付票の各項目から録音の該当箇所へ戻る |
| 信頼度 | phrases の confidence | 聞き取りの怪しい発話の印 |
| 全文 | combinedPhrases の text | 受付票に添える通話の全文 |
受付日時は、録音の開始時刻から取ります。 職員が台帳に書いた時刻ではありません。(d)で書いた「市がいつ知ったか」を、通話の記録そのものから残すためです。
AIへ渡す前に整形する
- 通話の選別 … 30秒未満の通話と、内線どうしの通話を外します
- 話者の割り当て … 最初に発話した話者を職員とします。職員が先に名乗る受け方を、窓口の決まりにします
- 話者の割り当ての確かめ … 職員とした話者の発話に、名乗りの言葉(「市役所」「〇〇課」)が含まれているかを確かめます。含まれていなければ、割り当てを「不確か」として下書きに示します
- 転送の区間の扱い … 代表電話から回された通話は、転送の前の交換手の発話を外します
- 保留と無音の区間を外す … 地図を確かめるあいだの保留の区間を外します
- フレーズリストの用意 … 地名の一覧と施設の種類の語をまとめて渡します
2番目と3番目を省くと、受付票の「状況」に職員の言葉が入ります。 職員が「穴の大きさはどれくらいですか。30センチくらいですか」と聞き、通報者が「そうですね」と答えた通話では、「30センチ」を言ったのは職員です。 誰が言ったかを分けておかないと、職員の例示が住民の証言として受付票に残ります。
3番目で「不確か」と出た通話は、職員の確認を重くします。 話者の分離は、声の似た2人や、電話口の雑音で入れ替わることがあります。
AIに処理させる
させるのは、話者で分かれた文字起こしを、受付票の項目に分けて写すことです。 場所を住所に直すこと、緊急度を決めること、担当課を決めることはさせません。
| 項目 | 何を書くか | 判断できないときの扱い |
|---|---|---|
| 場所の言い方 | 通報者が場所を説明した言葉を、そのまま写す | 説明が無ければ空にし、聞き漏れに入れる |
| 目印 | 学校、店、交差点、電柱、バス停などの目印を並べる | 無ければ空 |
| 状況 | 何がどうなっているか(大きさ、深さ、いつから) | 通報者の言葉だけから書く |
| 危険の手がかり | けが、転倒、通れない、夜は見えない、子どもが通る、などの言葉と、その発話の時刻 | 評価をせずに写す |
| 施設の種類 | 施設の種類の一覧から候補を選ぶ | 選べなければ other |
| 通報者 | 名前、電話番号、匿名の希望 | 言われていなければ空 |
| 連絡の希望 | 対応の結果を知らせてほしいか | 言われていなければ unknown |
危険の手がかりは、言葉と時刻だけを写させます。 「危険度:高」のような評価は書かせません。職員が受付票を開いたとき、通報者がどう言ったかを読めば、評価は職員が自分でできます。 AIの評価が先に書かれていると、職員はそれを追認しがちです。
場所の言い方は、要約させずにそのまま写させます。 「坂の途中の、カーブの手前の、山側」という言い方には、どちらから見た「手前」か、どちらが「山側」かという情報が入っています。要約で「坂のカーブ付近」になると、その情報が消えます。
| させないこと | 理由 |
|---|---|
| 住所・番地・座標の推定 | それらしい番地が書かれると、誤りに誰も気づかない |
| 緊急度の判定 | 市の基準に照らして職員が決める |
| 道路の管理者(市・県・国)の判定 | 地図と道路の台帳で職員が確かめる |
| 職員の発言を状況に入れる | 職員の例示が住民の証言になる |
| 通報者の言い方の言い換え | 「ちょっと深い」を「深さ10cm」にしない |
3行目が、間違えたときにいちばん遠回りになる失敗です。 住民は道路が市道か県道かを知りませんし、知っていても間違えます。「県道沿いの」と言われた穴が、市道の側の歩道ということもあります。 管理者が違えば対応する役所が変わるので、AIの推測で回すと、県の事務所から市へ戻ってくるまでの日数がそのまま失われます。
指示内容を固定する
あなたは市役所の市民の声の窓口の職員の補助として、
道路・公園などの損傷や危険の通報の電話の文字起こしから、
受付票の下書きを作る立場です。文字起こしに書かれていることだけを使ってください。
【話者】
- staff は市の職員の発言、caller は通報者の発言です。
【書く項目】
- location_words ... 通報者が場所を説明した言葉。要約せず、そのまま写す
- landmarks ........ 場所の説明に出てきた目印(学校、店、交差点、電柱、バス停など)
- situation ........ 何がどうなっているか。caller の発言だけから書く
- hazard_quotes .... けが、転倒、通れない、見えない、子ども、高齢者、
などの危険に関わる caller の言葉と、その offset_ms
- facility_type .... 施設の種類の一覧から1つ選ぶ。選べなければ other
- caller ........... 名前、電話番号、匿名の希望
- notify_result .... 対応の結果の連絡を希望するか(yes/no/unknown)
- not_asked ........ 聞き取りの型の7項目のうち、通話の中で触れていない項目
【厳守事項】
- 場所を住所、番地、座標に直さないでください。
- 緊急度や危険の大きさを評価しないでください。危険に関わる言葉を写すだけにしてください。
- 道路が市道か、県道か、国道かを判断しないでください。
- staff の発言を、situation や hazard_quotes に入れないでください。
staff が「30センチくらいですか」と聞き、caller が「はい」と答えた場合は、
situation に「職員の問いに同意(約30cm)」と書き、confirmed_by_question を true にしてください。
- 大きさや深さが言われていないときに、数値を補わないでください。
- 電話番号は、聞き取れた数字だけを写してください。桁を補わないでください。
- 信頼度の低い発話(low_confidence が true)を根拠にした項目は、needs_listen を true にしてください。
- 1回の通話で複数の場所の通報があるときは、reports を場所ごとに分けてください。
【聞き取りの型】{intake_items}
【施設の種類の一覧】{facility_types}
【文字起こし(speaker、offset_ms、text、low_confidence)】{transcript}
「職員の問いに同意」を分けて書かせるのは、窓口の聞き方の癖が受付票に出るからです。 「30センチくらいですか」と聞けば、通報者はたいてい「そうですね」と答えます。住民が自分で言った30センチと、職員の問いに頷いた30センチは、現地での探し方が違います。 後者には confirmed_by_question の印が付き、担当課はその数値を目安として読みます。
1回の通話で複数の通報を分けさせるのは、雨のあとの通報に多いからです。 「家の前の側溝があふれていて、ついでに言うと公園の木の枝も折れている」という通報は、担当課が2つに分かれます。
出力形式を固定する
次の形のJSONで受け取ります。 Azure OpenAI の構造化出力(response_format に json_schema を strict: true で渡す方式)を使い、形を固定します。
{
"call_id": "",
"received_at": "",
"speaker_assignment": "confirmed | uncertain",
"reports": [
{
"location_words": "",
"landmarks": [""],
"situation": "",
"confirmed_by_question": false,
"hazard_quotes": [ { "text": "", "offset_ms": 0 } ],
"facility_type": "",
"needs_listen": false
}
],
"caller": { "name": "", "phone": "", "anonymous": false },
"notify_result": "yes | no | unknown",
"not_asked": [""]
}
公式の説明では、構造化出力ではすべての項目を必須にし、additionalProperties を false にします。 言われなかった項目も空の値で必ず返る形にし、「聞いていない」と「AIが返さなかった」を取り違えないようにします。
1つ目の理由は、not_asked で聞き漏れを機械的に示せることです。 受付台帳の確認の画面で、聞き漏れのある受付票の先頭に印を出します。とくに location_words が空、または landmarks が空の受付票は、確定の前に通報者へ電話する扱いにします。 場所の分からない受付票を担当課に回しても、(a)の問い合わせが戻ってくるだけです。
2つ目は、hazard_quotes を時刻付きで残せることです。 職員は受付票の言葉を押すと、録音のその時刻から再生できます。緊急度を決める前に、通報者の口調まで確かめられます。
3つ目は、speaker_assignment で下書きの確かさを示せることです。
| 条件 | 受付台帳での扱い |
|---|---|
speaker_assignment が uncertain | 「話者の確認が必要」と表示し、全文を読む扱い |
not_asked に場所か目印を含む | 確定の前に通報者へ電話 |
hazard_quotes が1つ以上 | 一覧の上に並べ、先に確認する |
needs_listen が true | 該当の項目を録音で聞く |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 庁内の電話 | 録音の書き出し | 通話ごとの音声と、通話の開始時刻・長さ・内線 |
| Azure AI Speech | API呼び出し | 話者を分けた文字起こし |
| Azure OpenAI | API呼び出し | 受付票の項目への分割 |
| 受付台帳 | 表への追記 | 下書きを「確認待ち」で登録 |
| 地図の画面 | 職員が操作 | 場所を決め、地図の位置の情報を受付票に貼る |
| 庁内のメール | 送信 | 確定した受付票を担当課へ |
受付台帳への登録は「確認待ち」の行として足すだけで、確定は職員が行います。 担当課へのメールも、確定した受付票だけを送ります。下書きの段階で担当課へ流すと、場所の決まっていない通報が担当課に届きます。
通報者へは何も送りません。 対応の結果を知らせるかどうかは、notify_result を手がかりに担当課が決め、知らせる場合も担当課の職員が行います。
人が確認する
受けた職員が、通話の当日のうちに下書きを確定します。 確定の手順は次のとおりです。
- 危険の手がかりのある受付票から開く …
hazard_quotesを読み、必要なら録音で聞いて、緊急度を市の基準で決めます - 場所を地図で決める …
location_wordsとlandmarksから地図で探し、位置を受付票に貼ります - 管理者と担当課を決める … 地図と道路の台帳で、市道か国道・県道かを確かめ、担当課か国・県の事務所を決めます
- 聞き漏れを補う … 場所が決まらないものは通報者に電話して聞きます
- 確定する … 直した箇所は、直す前の下書きと一緒に残ります
2番目が、確認の時間の大半です。 目印が具体的なら地図ですぐ見つかり、目印が無ければ通報者に電話することになります。1番目の聞き取りの型で目印を必ず聞くようにすると、この時間が短くなります。
目標は、600件をならして1件4分です。 危険の手がかりのある受付票と、場所の聞き漏れのある受付票が長くなります。場所の聞き漏れが多い月は、聞き取りの型が守られていないか、フレーズリストの地名が足りていません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 話者の割り当てが不確か | uncertain と表示し、全文を読む扱いにする |
| 1回の通話で複数の場所 | 場所ごとに受付票を分ける。担当課が分かれることがある |
| 同じ場所の通報が別の住民から重ねて届く | 新しい受付票は作るが、地図で同じ位置なら「既報あり」として先の受付票に紐付ける |
| 道路の損傷ではない通報(騒音、不法投棄など) | facility_type を other にし、職員が担当課を決める |
| 通報者が名前を言わない | anonymous を true にし、連絡先の欄を空のまま確定してよい |
| 文字起こしの信頼度が全体に低い | 下書きの冒頭に「聞き返しが必要」と出し、全文を聞く扱いにする |
| 夜間の緊急の通報 | 宿直の手順で先に連絡し、この構成の下書きはあとの記録に使う |
| 文字起こしの API が応答しない | 録音を未処理のまま残し、次の回にやり直す |
3行目の重ねての通報は、雨や台風のあとに多く出ます。 同じ倒木について10人から電話が来ることもあります。10件の受付票を担当課に回すと、担当課は同じ現場を10件として数えます。 紐付けは地図で位置を決めた職員が行います。
記録を残す
- 通話の録音と、通話の開始時刻・長さ・受けた内線
- 文字起こしの結果の全文(話者、時刻、信頼度)
- AIが返した下書きと、そのとき渡したフレーズリストの版
- 職員が直した箇所(直す前、直した後、直した職員、日時)と、決めた緊急度・担当課
- 担当課へ送った日時と、担当課の対応の結果
not_askedに場所か目印が入った件数
受付日時を録音の開始時刻で残すことと、担当課へ送った日時を残すことが、この記録のいちばん大事なところです。 市がいつ知り、いつ担当課へ伝えたかが、受付票ごとに分かります。
最後の行は、聞き取りの型が守られているかの見張りです。 職員ごとに数えるのではなく、窓口全体の数として毎月見ます。
04実装レベルの3段階
最小構成は、確かめるための段階です。 1本ずつ文字にして貼るので、雨のあとの通報の多い日には使えません。 半自動化で、1件10分が6分程度になります。 下書きはできますが、台帳への貼り付けと担当課へのメールが手で残ります。本格構成で4分になり、この段階が本記事の想定です。 差が大きいのは、台帳の行を作る作業と、担当課ごとにメールを書く作業が、1件ずつの手作業だからです。 段階を飛ばさないでください。 半自動化を1か月回すと、フレーズリストに足りない地名と、聞き取りの型で聞き漏れやすい項目が分かります。そこを直してから台帳に直接入れるほうが、確認の時間が短くなります。
05工数削減シミュレーション
導入後 600件 × 4分 ÷ 60 = 40 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 道路・公園・街路灯などの損傷や危険の通報を、市民の声の窓口や総務の担当が電話で受け、受付票を書いて担当課へ回している市町村。通話のあとに手書きのメモから受付票を書き直しており、場所の聞き取りが足りずに担当課から問い合わせが戻ってくる場合。電話の録音の仕組みがあり、録音を音声ファイルとして取り出せる場合。
- 通報が月に数十件で、受けた職員がその場で担当課へ電話で伝えれば足りる町村。通報の大半がすでにWebやアプリの投稿に移っており、電話がほとんど無い場合。通話の録音を庁外のクラウドで処理する経路を、庁内のネットワークの規程上作れない場合。なお、どの通報を緊急として扱うか、道路の管理者がどこかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の通報の録音から、内容の違う5本を選ぶ(うち1本は、担当課から場所を問い合わせられたもの)
- その5本について、実際に書いた受付票を用意する
- 手元の音声の文字起こしの機能で文字にし、話者ごとに分かれた形で書き出す
- 生成AIの画面に貼り、「通報者の言葉だけから、場所の言い方と目印をそのまま写し、状況と危険に関わる言葉を書き出してください。住所に直さず、危険の評価もしないでください」と指示する
- 出てきた下書きを、実際の受付票と突き合わせる
5本は必ずやってください。 仕組みを組む前に、「受付票から落ちていた情報が、録音には入っていたのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 受付票より詳しい場所と危険の手がかりが出た | 録音の書き出しと文字起こしの連携に進む |
| 場所を番地に直した、危険を評価した | 指示の書き方で直る。構成は有効 |
| 録音にも場所の説明がほとんど無い | 聞き取りの型が先。 AIの問題ではない |
3行目が出たら、通報の受け方から見直してください。 録音に無いことは、どの仕組みでも受付票に載りません。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 場所が番地に直されて受付票に載る | 住所への変換を禁じ、言い方と目印をそのまま写させる |
| 職員の例示が住民の証言になる | 話者を分け、confirmed_by_question で区別する |
| 話者の番号が入れ替わる | 最初に話した人を職員とし、名乗りの言葉で確かめる |
| 危険の評価が先に書かれ、職員が追認する | 評価を禁じ、危険に関わる言葉と時刻だけを写させる |
| 道路の管理者を推測して回す | 管理者は地図と道路の台帳で職員が決める |
| 地名が別の字に化ける | 町名・字名・施設名のフレーズリストを渡す |
| 同じ倒木の通報が10件の受付票になる | 地図で同じ位置なら「既報あり」として紐付ける |
| 受付日時が台帳に書いた時刻になる | 録音の開始時刻を受付日時にする |
| 下書きが担当課へそのまま流れる | 確定した受付票だけを送る |
| 聞き取りの型が守られない | not_asked の件数を毎月見る |
上の5行が、この構成の失敗のほとんどです。 どれも「住民が言っていないことが受付票に載る」という同じ問題です。言い方をそのまま写させ、判断を職員に残すことで、ほぼ防げます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 通報者の名前と電話番号、匿名の希望、そして通報者が話した自宅の場所や家族の様子です。
- 市がいつ知ったかを記録で示せるようにする … 道路法第42条は、道路管理者が道路を常時良好な状態に保つように維持し、修繕し、一般交通に支障を及ぼさないように努めなければならないと定め、国家賠償法第2条は、道路その他の公の営造物の設置又は管理に瑕疵があったために他人に損害を生じたとき、国又は公共団体が賠償の責に任ずると定めています。通報の受付日時と担当課へ伝えた日時は、録音と通話の記録から残します
- 録音を送る経路を規程に沿って設計する … 庁内の電話の録音を庁外のクラウドへ送る経路は、自治体の情報セキュリティの規程とネットワークの区分に沿って決めます
- データが残る場所を把握する … 高速文字起こしでは、Microsoft は渡されたデータを保持・保存しないとされています。話者の分離で使う声の特徴も、処理が終われば破棄されるとされています。録音と文字起こしの控えは、市が用意した保管場所にだけ置きます
- 匿名の希望を守る …
anonymousが true の受付票は、担当課へ送る際に通報者の欄を外します - 緊急度と管理者の判断を職員に残す … AIには評価も推測もさせず、受付票に載るのは住民の言葉と、職員が決めた内容だけにします
- 通報者へ録音を伝える … 通話の録音と、その記録への音声認識の利用を、電話の案内や市のページで知らせます
誤りが起きた場合のリスクは、場所の取り違えで危険な箇所が直らないことと、危険の手がかりが受付票から落ちることの2つです。 前者は場所を推測させると起き、後者は要約させると起きます。どちらも、住民の言葉をそのまま写すことで防ぎます。
10まず何から始めるか
1週目:聞き取りの型を決める
場所・目印・状況・危険・通報者・連絡先・連絡の希望の7項目を、窓口の聞き取りの型として決め、職員が先に名乗る受け方とあわせて使い始めます。 道路課と公園緑地課に、受付票に欲しい項目を聞いておきます。
2週目:録音の取り出しと経路を確かめる
庁内の電話から録音を音声ファイルとして取り出せるか、庁外のクラウドへ送る経路を作れるかを、情報システムの担当と確かめます。ここが決まらないと先に進めません。
3週目:5本で試す
録音を5本選び、手元の文字起こしと生成AIで下書きを作らせます。場所を番地に直していないか、職員の言葉が状況に入っていないかを最優先で見ます。
4週目:地名の一覧を作る
市の住所の一覧と施設の一覧から、町名・字名・公園名・学校名・路線名・橋の名前の一覧を作ります。2,000語句を超えないように、通報の多い地域の語を優先します。
2か月目: 録音の書き出しから下書きまでをつなぎ、受けた職員にメールで送ります。3か月目以降: 受付台帳への登録と担当課へのメールを足し、1件10分が何分になったかを実測します。担当課から場所の問い合わせが戻ってこない月が続いた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
高速文字起こしの対象が5時間未満・500MB未満の音声で、WAV、MP3、OPUS/OGG、FLAC、WMA、AAC、AMR、WebM などを受け付けること。話者の分離が1つのチャンネルの中で複数の話者を分ける仕組みで、"diarization": {"maxSpeakers": 2, "enabled": true} のように指定すると発話ごとに speaker が付くこと。応答の phrases に offsetMilliseconds、durationMilliseconds、confidence が、combinedPhrases に全文が入ること。phraseList を指定できること | Microsoft Learn: Use the fast transcription API | 2026-10-08 |
| フレーズリストが認識の前に渡す仕組みでモデルの学習を要さず、人名・地名・業界に固有の語などに使えること。2,000語句を超えないことが目安とされていること | Microsoft Learn: Improve recognition accuracy with phrase list | 2026-10-08 |
日本語(ja-JP)が高速文字起こしの対応言語に含まれていること | Microsoft Learn: Language and voice support for the Speech service | 2026-10-08 |
| 高速文字起こしでは顧客が渡したデータを Microsoft が保持・保存しないとされていること。話者の分離で使う声の特徴の信号が、処理の完了後に破棄されること | Microsoft Learn: Data, privacy, and security for speech to text | 2026-10-08 |
response_format に json_schema を strict: true で渡して応答の形を固定できること。すべての項目を必須にし、additionalProperties を false にすること | Microsoft Learn: 構造化出力 | 2026-10-08 |
| 道路管理者が道路を常時良好な状態に保つように維持し、修繕し、一般交通に支障を及ぼさないように努めなければならないこと(第42条) | e-Gov 法令API: 道路法 | 2026-10-08 |
| 道路、河川その他の公の営造物の設置又は管理に瑕疵があったために他人に損害を生じたときは、国又は公共団体が賠償する責に任ずること(第2条) | e-Gov 法令API: 国家賠償法 | 2026-10-08 |
どの通報を緊急として扱うか、道路の管理者がどこかは、市の基準と道路の台帳に従って職員が決めてください。 本記事は各製品の公式ページと法令の条文で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1060)についてのご相談はこちらから。
