深度学习应用于语音识别领域后,词错率显着降低。然而,尽管您阅读了所有论文,但我们仍未实现人类水平的语音识别。语音识别器有许多故障模式。认识到这些问题并采取措施解决它们是语音识别取得进展的关键。这是将自动语音识别(ASR)从“大部分时间为某些人服务”转变为“始终为所有人服务”的唯一途径。上图:Switchboard会话语音识别基准的单词错误率改进。测试集于2000年收集,包含40段电话录音,每段对话都是随机选择的两个以英语为母语的人之间的对话。说基于Switchboard的对话语音识别结果达到人类水平的结果无异于说自动驾驶汽车在阳光明媚、交通顺畅的小镇上以人类水平行驶。虽然语音识别在会话语音上的进步是显而易见的。但说它是人类水平最终太宽泛了。以下是语音识别领域仍然需要改进的一些地方。口音和噪音语音识别最明显的缺点之一是对口音和背景噪音的处理。最直接的原因是绝大多数训练数据都是美式英语,信噪比很高。例如,Switchboard对话语音训练和测试集都是由以英语为母语的人(主要是美国人)在几乎无噪音的环境中录制的。然而,更多的训练数据本身并不能解决这个问题。许多语言都有方言和口音。为每种情况收集足够的标记数据是不可行的。仅开发美式英语的语音识别器就需要超过5,000小时的转录音频数据!上图:百度DeepSpeech2模型与人类听写不同类型语音数据的分词率对比。我们注意到人类听写在非美国口音上表现不佳。这可能是因为听写人员大多是美国人。我希望某个地区的地方独裁者的错误率更低。至于背景噪音,在行驶中的汽车内几乎不可能达到-5dB。人类可以很容易地在这种环境中理解彼此在说什么,但由于噪声的存在,语音识别器的性能会急剧下降。从上图我们可以看出,人类和模型的词错误率差距在低信噪比音频和高信噪比音频之间有着巨大的差距。语义错误一般来说,单词错误率不是语音识别系统的实际目标。我们关心的是语义错误率,即意思没有被正确理解的话语片段的比例。举个例子:如果有人说“let'smeetupTuesday”(星期二见),语音识别器将其理解为“let'smeetuptoday”(今天见)。在没有语义错误的情况下也会出现单词错误率。在此示例中,如果语音识别器放下“向上”并将语音识别为“让我们星期二见面”,则句子的语义不会改变。我们在使用单词错误率作为标准时必须谨慎。5%的单词错误率相当于每20个单词中大约有一个错误。如果一个句子一共有20个单词(一般的英文句子就是这个长度),那么这种情况下的句子错误率为100%。我们希望错误的词不会改变句子的意思,否则即使有5%的词错误率,语音识别器也可能把整个句子的意思弄错。将模型与人类进行比较时,重要的是要检查错误的性质,而不是仅仅关注单词错误率(WER)的决定性数字。根据我的经验,人类在转录时通常比识别器犯更少的错误,尤其是严重的语义错误。Microsoft的研究人员最近比较了人类和Microsoft人类级语音识别器[3]所犯的错误。他们发现的一个区别是,该模型比人类更容易将“呃”(um)与“嗯嗯”(huh)混淆。这两个词组的语义大不相同:“呃”只是语气填充词,而“嗯嗯”表示赞同、赞同。人类和模型都会犯很多类似的错误。单声道、多说话人的Switchboard对话语音识别任务更容易,因为每个说话人都是使用单独的麦克风录制的。同一音频流中多个扬声器的声音没有重叠。然而,即使多个说话者同时说话,人类也能够理解语音。一个好的会话语音识别器必须能够根据谁在说话(来源)来分割音频。它还应该理解多个说话者的声音重叠的音频(声源分离)。这应该是可能的,而无需将麦克风放在每个说话者的嘴边,这样会话语音识别就可以在任何地方工作。不同领域的口音和背景噪音只是语音识别器可以解决的两个问题。以下是一些其他因素:不同声学环境中的回声硬件缺陷音频编解码器和压缩缺陷采样率扬声器的使用年限大多数人甚至分不清mp3文件和wav文件之间的区别。在我们声称具有人类水平的性能之前,语音识别器需要对这些问题具有鲁棒性。上下文您会注意到,在像Switchboard这样的基准测试中,人为错误率实际上相当高。与朋友交谈时,如果他每20个单词中有一个单词被误解,那么您很难与他交流。这样做的原因是评估是在不考虑上下文的??情况下进行的。在现实生活中,还有许多其他线索可以帮助我们理解某人在说什么。人类使用但语音识别器不使用的上下文包括:对话的历史和正在讨论的主题。一个人说话时的面部表情和嘴唇运动等视觉线索。被采访者的知识。现在,Android的语音识别器可以访问您的联系人,因此它可以准确地识别您朋友的名字。地图产品中的语音搜索使用您的地理位置来缩小您想要导航的位置。借助此类信号,自动语音识别(ASR)系统的准确性确实有所提高。然而,在这里我们只是再次初步了解可以使用的上下文类型以及如何使用。用于部署和应用程序的会话语音识别的最新进展是不可部署的。在考虑是什么使新的语音识别算法可以部署时,测量它的延迟和所需的计算能力是很有帮助的。两者是相关的。一般来说,如果一个算法需要的计算能力增加,它带来的延迟也会增加。但为简单起见,我将分别讨论它们。延迟:“延迟”是指用户结束讲话与完成转录之间经过的时间。低延迟是ASR中常见的产品约束。它会显着影响用户体验。数十毫秒的延迟要求在ASR系统中很常见。虽然这听起来很极端,但请记住,生成转录通常是一系列昂贵计算的第一步。例如,在语音搜索中,实际的网络规模搜索必须在语音识别之后完成。双向循环层是消除延迟的改进示例。会话语音识别的所有最新成果都使用了它们。这就是问题所在:在用户说完之前,我们无法使用第一个双向层计算任何内容。所以潜伏期随着话语的长度而增加。左图:当发生前向循环时,我们可以立即开始转录。右图:在双向循环中,我们必须等待所有语音到达才能开始转录。将未来信息纳入语音识别的有效方法仍有待研究和发现。计算:转录话语所需的计算能力是一种经济约束。我们必须考虑语音识别器准确性改进的成本效益。如果一项改进未能达到经济门槛,则无法部署。未来五年语音识别领域仍然存在许多开放的挑战,包括:将语音识别能力扩展到新的领域、口音和远场、低信噪比语音。在语音识别过程中加入更多上下文信息。声源与声源分离。语音识别器的语义错误率和新评估方法超低延迟和超高效推理我预计语音识别在未来五年内会在这些领域取得进展。原文:https://awni.github.io/speech-recognition/【本文为机器之心专栏原文翻译,微信公众号“机器之心(id:almosthuman2014)”】点此查看作者更多好文
