PolyAI 中文文档 下载 App

语音听不懂:ASR 转写错误导致实体提取失败

问题现象

用户在通话里说了正确的内容(比如"我的订单号是 A12345"),智能体却说"抱歉我没听清,请再说一遍"。看 Conversations 里的原始转写,发现 ASR 把订单号识别成了 "A123456"(多了一个数字)或 "B12345"(A 和 B 发音接近)。

排查步骤

第一步:看 Conversations 里的原始转写

在 Conversations 面板里,每通语音对话都有两层文字记录:

  1. ASR 原始转写(灰色背景,展示 ASR 引擎直接输出的结果)
  2. Agent 处理后看到的文字(正常背景,可能经过后处理或 ASR Biasing 纠正)

对比两层记录:如果灰色的 ASR 原始转写已经错了,那就是 ASR 的问题;如果原始转写是对的但处理后的文字错了,那是后续环节(实体提取、LLM)的问题。

第二步:高频 ASR 错误类型和修复

错误类型原因修复
数字串识别错"1" / "7" / "8" 发音在噪音下容易混淆ASR Biasing 配 "1"、"7"、"8" 高频出现
字母和数字混淆"A" 和 "8"、"B" 和 "P" 发音接近给特定实体类型(如账号号、确认码)配 ASR Biasing 列出合法前缀
发音相近的词中文"退款"和"退钱"、英文"right"和"write"示例问题里覆盖变体 + ASR Biasing
口音问题用户有方言口音或非母语口音在 Collect Step 里开启多语言 / 口音支持,或收集用户口音样本做 Biasing
专有名词产品型号、内部缩写、行业术语 ASR 字典里没有ASR Biasing 里列出所有专有名词变体

第三步:ASR Biasing 的配置位置

ASR Biasing 可以在三个层级配置,层级越近粒度越细:

层级配置位置适用
全局 ASR BiasingAgent Settings → Speech → ASR Biasing整个智能体的通用高频词
Flow 级 ASR BiasingFlow Settings → ASR Biasing某个特定 Flow 里的高频词(比如预订流程里的时间段名称)
Collect Step 级 ASR BiasingCollect Step 配置里某个特定实体收集步骤里的高频词(最精细)

推荐能用最细层级就用最细层级——比如只有预订 Flow 里的 Collect Time Step 里需要 Biasing "晚上八点"、"八点半",就不要配全局 Biasing。

第四步:无法解决的极端情况

如果用户口音特别重、或者环境噪音特别大:

ASR Biasing 不是万能药

ASR Biasing 本质上是"告诉 ASR 引擎在识别特定词时优先匹配某些发音"——它能解决高频、可预见的 ASR 错误,但解决不了随机的、极端的音频问题(比如用户在地铁里打电话、麦克风质量极差)。遇到这种情况,最稳妥的兜底是"重试 2 次后转人工"。