自从深度学习被引入语音识别后,单词错误率迅速下降。然而,尽管您可能已经阅读过相关内容,但语音识别仍未达到人类水平。语音识别有许多失败模式。将ASR(自动语音识别)从大部分时间为某些人工作转变为始终为所有人工作的唯一方法是承认这些失败并采取措施解决这些问题。交换机会话语音识别标准测试中单词错误率的进展。该数据集于2000年收集,包含两个随机的以英语为母语的人之间的40次电话交谈。仅仅根据总机呼叫的结果就声称已经实现了人类水平的语音识别,就像在一个天气晴朗、没有交通的小镇上成功测试了一辆自动驾驶汽车,声称已经实现了人类水平的驾驶。语音识别领域的最新发展确实令人震惊。但是关于那些自称是人类水平的人的说法过于宽泛。以下是一些可以改进的地方。口音和噪音语音识别中最明显的缺陷之一是对口音[1]和背景噪音的处理。最直接的原因是大部分训练数据都是高信噪比和美国口音的英语。例如,总机呼叫的训练和测试数据集只有以英语为母语的呼叫者(主要是美国人)和非常小的背景噪音。然而,单靠训练数据并不能解决这个问题。这么多语言有这么多方言和口音,我们不可能为所有情况收集足够的注释数据。仅针对带有美国口音的英语构建高质量语音识别器就需要5,000多个小时的转录音频。人类转录与百度DeepSpeech2模型在各类语音中的对比[2]。请注意,人类在转录非美国口音时的表现始终较差,这可能是由于转录者群体中存在美国偏见。我更愿意为每个地区安排当地的转录员,这样地区口音的错误率会更低。关于背景噪声,信噪比(SRN)低至-5dB的情况并不少见,就像在行驶的汽车中一样。人们在这样的环境中交流并不困难,但另一方面,在嘈杂的环境中识别语音的能力迅速下降。在上图中可以看出,从高信噪比到低信噪比,人类看到的错误率与模型之间的差距急剧扩大。语义错误语音识别系统的实际目标通常不是单词错误率。我们更关心语义错误率,即被误解的话语部分。语义错误的一个例子是有人说“让我们星期二见面”,但语音识别预测“让我们今天见面”。我们也可以在错误词的情况下保持语义正确,例如语音识别器遗漏了“up”并预测“let'smeetTuesday”,因此话语的语义没有改变。使用单词错误率作为度量时必须小心。举个最坏的例子,5%的打字错误率大致相当于20个单词中漏掉1个。每句话20个单词(大约是普通英文句子),句子错误率可高达100%。希望错误的单词不会改变句子的语义,否则即使是5%的错字率也可能导致每个句子都被错误发音。将模型与人类进行比较的重点是找出错误的性质,而不仅仅是将错字率作为决定性数字。根据我的经验,人类转录产生的极端语义错误比语音识别要少。最近,Microsoft的研究人员将他们的人工级语音识别器的错误与人类进行了比较[3]。他们发现的一个区别是,该模型比人们更容易将“呃”与“嗯嗯”混淆。而且这两个词的语义也大不相同:“呃”只是一个填充词,而“嗯嗯”是一个反向确认。该模型会犯许多与人相同类型的错误。单通道和多人对话总机呼叫任务也变得更容易,因为每个呼叫者都由单独的麦克风记录。同一音频流中没有多个说话者的重叠。另一方面,人类有时可以理解多个说话者同时说话。一个好的会话语音识别器必须能够根据谁在说话(Diarisation)来划分音频,并且它还应该能够找出重叠的会话(SoundSourceSeparation)。当每个谈话者嘴边都有一个麦克风时,这不仅是可行的,而且也适用于任何地方发生的谈话。领域变化口音和背景噪音只是语音识别需要增强的两个领域。以下是其他一些内容:声学环境变化引起的混响硬件造成的伪影音频编解码器和压缩伪影采样率对话年代大多数人甚至没有注意到mp3和wav文件之间的区别。但是语音识别需要进一步增强以处理不同的文档源,然后才能声称具有人类水平的性能。对于上下文,您会注意到像Switchboard这样的人为错误率基准实际上非常高。如果您正在与朋友交谈,而他每20个词中就有一个会误解,那么沟通就会很困难。原因之一是此类评估是上下文无关的。在现实生活中,我们使用许多其他线索来帮助理解他人在说什么。举几个人类使用语音识别器不使用的上下文的情况:历史对话和讨论的话题说话者的视觉线索,包括面部表情和唇部动作关于说话者的先验知识到目前为止,Android的语音识别器有你的联系人列表,它识别你朋友的名字[4]。地图产品的语音搜索使用地理定位来缩小您想要导航的兴趣点范围[5]。当这些信号加入后,ASR系统肯定会有所改善。不过,我们只是触及了哪些上下文类型可用以及如何使用它们的皮毛。对话语音的最新进展尚未准备好部署。如果要解决新语音算法的部署,需要考虑延迟和计算两个方面。两者之间是有关系的,算法计算量的增加通常会导致延迟的增加。但为简单起见,我将它们分开讨论。延迟:这里所说的延迟是指用户说完话到转录完成之间的时间。低延迟是ASR中常见的产品约束,它明显影响用户体验。10毫秒的延迟要求对于ASR系统来说并不少见。这听起来可能很极端,但请记住,转录通常只是一系列复杂计算的第一步。例如在语音搜索中,实际的网络搜索只能在语音识别之后进行。延迟难以改善的一个例子是双向循环层。当前所有最先进的对话语音识别都使用它。这样做的问题是我们不能在第一级计算任何东西,必须等到用户说完。所以这里的延迟跟讲话的时长有关。上图:只有一个前向循环,可以在转录时计算。底部:在双向循环的情况下,在计算转录之前必须等待整个话语被说出。如何在语音识别中有效地结合未来信息仍然是一个悬而未决的问题。计算:转录语音所需的计算能力是一种经济约束。我们必须考虑语音识别器每一次精度改进的成本效益。如果改进不符合经济门槛,则无法部署。一个从未部署的持续改进的典型例子是集成。减少1%或2%的错误很少值得计算量增加2-8倍。新一代的RNN语言模型也属于这一类,因为它们与beamsearch一起使用的成本很高,但这种情况有望在未来发生变化。需要明确的是,我不认为研究如何以巨大的计算成本来提高准确性是没有用的。我们已经看到了“先慢后快,再快”模式的成功。需要提及的一件事是,在它改进得足够快之前,它是无法使用的。未来五年语音识别领域仍然存在许多开放和具有挑战性的问题:新区域、口音、远场和低信噪比语音的能力扩展引入更多的上下文二值化和声源分离评估识别过程语义错误率和语音识别的创新方法超低延迟和高效推理我期待未来5年在这些和其他方面取得进展。
