通話記録には、顧客の課題、症状、調査方法、例外処理、解決策、ベテランの判断などが含まれています。しかし、会話は文書と異なり、脱線、言い直し、曖昧表現、雑談が混在するため、文字起こしに加え、業務で再利用できる情報の整理が必要です。
本プロジェクトでは、文字起こし → 会話整理 → 重要情報抽出 → 再利用できる知識への整理 → 知識同士の関連付けという段階処理を設計・実装しました。
技術課題
- 会話ノイズが多い
相づち、重複発話、言い直し、雑談などを業務情報と分離する必要があります。 - 重要情報が会話全体に分散する
問い合わせ、原因、確認内容、解決策が離れた位置に現れるため、単一発話だけでは意味を再構成できません。 - 同じ事象でも表現が異なる
顧客ごとの表現差を吸収し、同じ問題や状態として整理する必要があります。 - ナレッジ同士の関係が必要
問題、原因、前提条件、解決策の関係を持たずに蓄積すると、件数が増えるほど検索しにくくなります。
実装したアプローチ
- 音声の文字起こしと正規化
話者、時間、発話単位を整理し、後続処理に適した形式へ変換します。 - 会話クリーニング
相づち、重複、言い直し、雑談、無関係な脱線などを識別します。 - 重要情報抽出
問い合わせ、症状、利用環境、発生条件、原因候補、確認内容、操作、解決方法、結果、例外条件を会話全体から抽出します。 - 再利用できる知識の生成
一件の通話をそのまま保存せず、問題・条件・原因・解決策などの再利用可能な単位へ分解します。 - 知識同士の関連付け
問題・条件・原因・解決策の関係を整理し、関連する事例や手順を探せる形にします。 - 継続更新
新しい通話からナレッジ候補を抽出し、既存ナレッジとの重複・関係を確認しながら更新します。
設計上のポイント
-
要約ではなく再利用単位へ分解する
短い要約だけでは前提条件や例外が失われるため、問題・条件・原因・確認操作・解決策を取り出す段階処理を実装しました。
-
表現の違いを整理する
同じ症状が異なる表現で語られるため、顧客の発言を業務上の用語と対応付け、関連する通話を比較できる形に整理しました。
-
関係を持たせる
問題と解決策を単独で保存せず、適用条件や原因との関係を保持する構成にしました。新しい通話から得た候補も、既存知識との関係を確認して扱います。
まとめ
価値があるのは文字起こしそのものではありません。何が問題で、なぜ起き、どう判断し、どう解決したかを再利用可能な構造へ変えることが技術的な中心です。
