C7.10.1Streaming partial ASR results设计研究

部分结果在用户说话过程中逐步显示尚未最终确认的识别文本

别名: 中间结果 · interim results · 流式识别 · partial hypothesis

概念解释

流式识别在说话尚未结束时就向外吐词,这些词叫部分结果(partial / interim results)。它们是当前前缀上的最佳假设,还没有被终态确认。界面上逐步出现的字,来自这条尚未封口的假设,不是已经提交的文本。

机制

编码器按块消费音频,解码器在每个块上维护一个前缀搜索(往往是 RNN-T 或类似的流式模型)。每来一块,前缀假设更新,客户端就可以渲染。部分结果的时间分辨率取决于块大小和端到端模型的延迟约束:块越小,字出得越早,也越不稳定。它们存在是因为交互不能等整句端点才给第一眼反馈。与 n-best 列表不同,屏幕上通常只画一条当前最优路径。与终态结果不同,这条路径的词还可以被后面的音频改写。部分结果是识别状态的直播,不是文档状态。

怎么研究

记录从开口到每个词首次出现的时间、以及该词在终态是否仍在。自变量包括块大小、网络往返、是否本地解码。因变量包括首次出字延迟和部分结果抖动次数。让人在只看部分结果、只看终态两种界面上完成听写,比较打断说话去纠正的次数。不要用离线整句识别的 WER 代替流式前缀的行为。

边界

离线批识别没有部分结果。按键说话若等松开才解码,也可以选择不显示中间词。极短命令在部分结果还没画出时已经结束,这一层几乎看不见。网络断开时部分结果会停在某一前缀,看起来像终态,其实是流死了。

怎么落地

  • 说话过程中把当前前缀画在输入区,明确它是识别中的假设。
  • 测量并预算“开口到首字”的时间,而不是只报终态 WER。
  • 流中断时不要把最后一条部分结果当成已提交文本,直到端点或用户确认。

延伸

  • 同组C7.10.2 部分结果可能被后续内容修正甚至整体替换,与最终结果不保证一致 · C7.10.3 实时显示部分结果能缩短感知延迟,即使最终结果仍需等待处理完成 · C7.10.4 部分结果不应被用户当作可编辑的最终文本,需与终态区分样式
  • 相邻C7.02 端点检测 · C7.16 语音输入的可见反馈
  • 站内检索partial results · streaming ASR · interim hypothesis

同组卡片

快捷操作

分享

分享当前页面

ios_share

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