语音识别尚未解决

935 阅读5分钟
原文链接: zhuanlan.zhihu.com
简评:语音识别近年来已经达到了和人类相似的水准,简单说能用了,不过还有很大的提升空间,有些问题依旧尚未解决。

自深度学习以来,语音识别错误率急剧下降,但尽管如此,距离人文水平的语音识别还相去甚远。语音识别还有许多故障的模式,承认这些错误并且采取措施来解决对于语音识别的进步至关重要。

语音识别错误率年下降

语音识别对于人类的进程是有意义的,这两年语音识别的改进令人惊讶,但还是有些值得改进的方面。

口音和噪音

语音识别中最明显的缺陷就是处理口音[1]和背景噪音。最直接的原因是,大多数训练数据由具有高信噪比的英文口音组成。但训练数据不会自行解决这个问题,有很多语言都是有各种方言和口音的,为所有不同的情况来注释数据是难以实现的。构建一个高质量的语音识别器来解决重音英语就需要 5000 个小时的训练音频。

红色是人类识别的误字率,蓝色是百度 Deep Speech 2 系统[2]的误字率,有些口音,机器识别还是不行。

在背景噪音方面,处于一辆移动的车内,SNR(信噪比,越高越安静)低至 -5dB 并不罕见。人们很容易在这种情况下互相理解语音内容。而语音识别器,也会更快的识别,从上图可以看到,在高信噪比的情况下,机器的识别能力和人一样强,而低 SNR(噪音情况下)机器识别就不行了。

语义错误

单词错误率通常不是语音识别系统中的实际目标。我们关心的是语义错误率。一句话能否听懂语义很重要。

举个例子,我们说「let’s meet up Tuesday」但机器可能识别为「let’s meet up today」,有时候我们会用错词但是句意通顺,如果机器能够把「up」放弃,就会成功预测为「let’s meet Tuesday」,句意正确。

5% 以上的 WER(word error rate 误字率)无法被接受,举个例子,平稳平均一句话大约 20 个单词,如果 5% 的误字率,那么相当于 20 个词就有一个识别错误,相当于每句话都会错。如果机器的语音识别能够做到就算个别单词错了,但句意不变,那也是可以接受的。

微软最近的研究人员对比了人类和人类同级别的语音识别器常犯的错误[3]:他们发现机器更容易混淆「uh」和「uh huh」,这两种有完全不同的意义,「uh」语气词,「uh huh」是反问用的。

单信道,多音源

一个好的会话语音识别器必须能够根据谁在说话,能够摘取需要的音频。它也应该能够理解音频,就算各种音源重叠。人们不需要嘴对着麦克风就能够准确的采集音频,语音识别器应该在任何位置都可以发挥功效。

Domain 变化

口音和背景噪音只是需要注意的两个方面,还有很多其他要注意的变化:

  • 环境变化导致的混音。
  • 从硬件的产生的差异。
  • 用于音频和压缩的解码器。
  • 采样率。
  • 演讲者的年龄。

大多数人甚至不会注意到一个mp3和一个普通 wav文件之间的区别,但这些在语音识别中是很重要的。

上下文

你会注意到,基准测试的人机交互错误率实际上相当高,想一下,如果你和一个朋友交流,20 个词中有一个错词,你可能还能继续沟通下去,但是机器就不行了。

究其原因,因为语句是要依托上下文,在特定的语境中才能够更好的展现其意义。机器识别和人类在语音识别上的一些明显差异:

  • 正在讨论的话题以及前言。
  • 说话人的视觉线索,包括面部表情和嘴唇运动。
  • 关于所说的话题的预先预习。

目前,Google Android(原生)的语音识别器可以通过你的联系人列表,获取你联系人的识别信息(他们的名字)[4]。Google Map 可以根据地理位置来缩小活动范围,更精准抓取你的目的地信息[5]。

当结合了不同信息之后,语音识别会更加精准,不过联系上下文的语音识别也才刚刚起步。

未来五年

言语识别中还存在许多开放性和挑战性的问题。这些包括:

  • 扩大新领域,口音和远场,低 SNR(噪音状态)语音能力。
  • 语音识别融入语境,联系上下文。
  • 音源分离。
  • 语义错误率和创新的评估方法。
  • 超低延迟和高效推理。

我期待着五年内能解决以上的语音识别问题。

注释:

原文:Speech Recognition Is Not Solved

日报延伸阅读:苹果的手写汉字识别如何实现的?

欢迎关注:

  • 专栏「极光日报」,每天导读三篇英文,价值、思考、共鸣。
  • 网易云音乐的电台「极光日报」,每周两期,听园长瞎白话。