C7.02.3Premature endpoint truncation设计研究

过早截断导致内容丢失且无法恢复

别名: 过早截断 · early cutoff · 尾部丢失 · clipped utterance

概念解释

端点若在用户还没说完时触发,采集停止,尚未出口的音节永远进不了缓冲区。后面的内容不是识别错了,而是根本不存在于这次请求里。过早截断造成的丢失通常不可从同一段音频里恢复:没有录音,就没有重解码。用户要补上被切掉的部分,只能再开一轮。

机制

提交把环形缓冲封口。封口之后的麦克风采样若不再写入本次识别会话,尾部音素、从句和附加条件都不会到达声学模型。语言识别可以把已收到的前半句解成一个完整假设,界面看起来“已经出结果”,遮盖了后半句被丢掉的事实。删除错误和截断丢失容易被混为一谈:前者是引擎在已有音频里漏了词,后者是音频本身缺了一截。缺的那截无法靠提高模型精度补回来。部分结果可能还在滚动,但终点一宣布,后续帧就被丢弃或划入下一轮,本轮假设不再扩展。

怎么研究

构造已知包含句中停顿或尾部附加语的句子,强制不同阈值,对比完整转写与截断转写的对齐。标记丢失发生在缓冲(无音频)还是解码(有音频无词)。因变量包括被切掉的词数、信息单位(槽位、否定词、地址后半段)以及用户是否发现缺了内容。若只看字错误率,截断造成的整段缺失会被算成一次很大的删除,却分不清是模型还是端点的责任。

边界

用户主动按停止,截断是预期行为,丢失的是他们决定不说的部分。流式识别若在宣布终点后仍短暂保留尾缓冲(hangover),有机会捞回最后一个音节,但捞不回已经决定不说、或被当成新一轮的整句。网络断开导致会话被关,也表现为尾部丢失,根因不是端点阈值。把“无法恢复”理解成“界面不能提供重说”,并不准确:重说是新的一轮,不是从旧音频里救回内容。

怎么落地

  • 在宣布结束之前保留一小段尾缓冲,避免把最后一个音节切掉;但不要幻想缓冲能找回已经停止采集之后的整句。
  • 提交后立刻展示完整假设,并提供一键重说或追加,让用户发现后半句没了时不必从唤醒重来。
  • 评测把“缓冲里没有的词”单独计数,与解码删除分开,否则端点事故会被记成识别率问题。

延伸

  • 同组C7.02.1 系统需判断用户何时说完 · C7.02.2 静音时长阈值与思考停顿的冲突
  • 相邻C7.09 端点检测与说完判定 · C7.03 识别错误的类型
  • 站内检索early cutoff · truncated utterance · hangover

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C7.02.3