语音识别一览
- 诞生
- 语音识别诞生于 1952 年:贝尔实验室的 Audrey 系统能识别单一说话人念出的 0 到 9 十个数字。
- 首款消费级软件
- 1990 年上市的 Dragon Dictate 售价约 9,000 美元,是第一款面向公众销售的语音识别产品,用户每说一个词都得停顿一下。
- 首次听懂 1,000 个词
- 1976 年,卡内基梅隆大学的 Harpy 能听懂 1,011 个词,正是 DARPA 为其五年期语音理解研究计划定下的目标。
- 与人类持平
- 2017 年,Microsoft 在 Switchboard 电话语音基准上测得 5.1% 的词错误率,与转录同一批通话的专业转录员打成平手。
- 开放模型
- OpenAI 于 2022 年 9 月发布的 Whisper 以 680,000 小时音频训练而成,能转录近 100 种语言,模型权重公开。
- 今天
- Sonix 创立于 2017 年,支持 54+ 种语言,准确率达 99%,一小时的文件约 5 到 6 分钟即可转录完成。
语音识别诞生于 1952 年
第一台语音识别机 1952 年诞生于贝尔实验室,它只听得懂十个词:从零到九的数字。
Audrey:自动数字识别器
K. H. Davis、R. Biddulph 和 S. Balashek 用模拟电路搭建了 Audrey,整套设备装满了一个六英尺高的继电器机架。说话人对着电话听筒念出一个数字,机器测量元音的共振峰,听到哪个数字,旁边的指示灯就会亮起。按设计者本人的声音调校后,识别率可达 97% 到 99%;换成陌生人就基本失灵。Audrey 从未走出实验室,因为让接线员拨号更便宜,但它回答了一个根本问题:机器到底能不能听懂人说话。
IBM Shoebox 与 1960 年代
1962 年,IBM 在西雅图世界博览会上展示了 Shoebox。它能识别 16 个口述词,也就是十个数字和六个算术指令,并用它们驱动一台加法机。整个 1960 年代,美国、英国、日本和苏联的实验室陆续造出了识别元音、辅音和小词表的机器;1968 年,Taras Vintsyuk 提出了动态时间规整,这种对齐方法让机器可以比较语速不同的语音。到 1969 年,这个领域雄心有余而理论不足:贝尔实验室的 John Pierce 把它比作把水变成汽油那类把戏,贝尔实验室随后多年不再资助这项研究。
DARPA 的语音理解研究计划把词汇量推过了 1,000 词
1971 至 1976 年,DARPA 资助了当时规模最大的语音识别研究,卡内基梅隆大学的 Harpy 达成了 1,000 词的目标。
五年目标
语音理解研究计划要求做出这样一套系统:能听懂多位说话人的连续语音,词汇量 1,000 词,错误率低于 10%;DARPA 出资让卡内基梅隆大学、BBN、SRI 等机构同台竞争。三套系统跑到了终点:卡内基梅隆大学的 Hearsay-II 和 Harpy,以及 BBN 的 HWIM。1976 年完成的 Harpy 能听懂 1,011 个词,大致相当于三岁孩子的词汇量,也是唯一达标的系统。它的诀窍在于搜索时尽早剪掉不太可能的词序列,而不是逐一权衡所有可能,这个思路至今仍是每一个解码器的核心。
统计方法的转向
同一时期还诞生了此后 40 年间无人能敌的思路。在卡内基梅隆大学,James Baker 1975 年的博士论文描述了 DRAGON 系统,它把语音当作隐马尔可夫模型来处理,让概率而非手写规则来判断说了哪些词。在 IBM,Fred Jelinek 的团队把同样的方法做进了一套研究用听写系统,并加入 n-gram 语言模型,识别器因此可以根据前两个词猜测下一个词。与此同时,贝尔实验室从单一说话人转向多人,造出了能跨说话人工作的识别器,这正是电话应用所需要的。
1980 年代,隐马尔可夫模型让语音识别走向统计化
1980 年代用概率取代了模式匹配,词汇量在十年间从几百个词增长到 20,000 个。
隐马尔可夫模型如何“听”
隐马尔可夫模型并不试图把声音和模板逐一比对。它问的是:哪一串音素最有可能产生收到的这段音频,然后哪一串词最有可能产生这串音素。概率由录音语料训练得出,所以数据越多,识别器就越好,这一特性在互联网到来之后变得举足轻重。隐马尔可夫模型与 n-gram 语言模型结合,成为每一个研究实验室的标准架构,直到 2012 年被深度学习取代。
Tangora、Sphinx 与第一批产品
到 1980 年代中期,IBM 的 Tangora 已能识别 20,000 词的词汇量,不过它要求词与词之间停顿,还得针对每位说话人单独训练。1988 年,李开复 (Kai-Fu Lee) 在卡内基梅隆大学开发的 Sphinx 系统首次把大词汇量、连续语音和说话人无关三者集于一台识别器。James Baker 和 Janet Baker 于 1982 年创立的 Dragon Systems 开始销售面向个人电脑的识别软件。语音识别也第一次走进了消费者的生活:1987 年,Worlds of Wonder 的 Julie 玩偶能回应几句口语,电话公司也开始试用语音拨号。这些玩具很粗糙,却把“语音识别”这个说法带进了寻常人家。
1990 年代,语音识别登上个人电脑
更快的处理器让听写从实验室演示变成了盒装软件,一套共同的基准也让进展变得容易衡量。
Dragon Dictate 到 NaturallySpeaking
Dragon Dictate 于 1990 年上市,售价约 9,000 美元。它是第一款普通公众能买到的语音识别产品,但要求每说一个词就停顿一下。1997 年,Dragon NaturallySpeaking 去掉了这个停顿:它能在家用 PC 上识别连续语音,速度约为每分钟 100 词,同年 IBM 以 ViaVoice 应战。律师、医生或作家第一次可以对着电脑说话并得到可用的文字,前提是先训练它,再逐一纠错。
电话语音菜单与最早的基准
1996 年,BellSouth 推出了 VAL,一个能回答口头提问的拨入式语音门户,此后您与之周旋过的每一套自动电话系统都是它的后代。在幕后,DARPA 和美国国家标准与技术研究院每年在 Switchboard 电话语料库等共享录音上组织评测,词错误率成了每个实验室都要汇报的数字。从那时起,语音识别的历史很大程度上就是这个数字不断下降的历史。
2000 年代,语音识别搬上了云端
这十年的大部分时间里,准确率停在 80% 左右,直到 Google 把识别从设备搬到了自己的服务器上。
平台期
到 2001 年,最好的系统转录听写语音的准确率约为 80%,之后几年带来的是修修补补,而非飞跃。桌面听写始终是小众市场,电话语音菜单依旧让人恼火,研究经费也日渐减少。隐马尔可夫模型已接近天花板,而将要取代它的模型还没有等来所需的算力和数据。
Google Voice Search
Google 2007 年推出的 GOOG-411 号码查询服务,其实是一种收集数百万条口语查询的手段。2008 年 11 月,该公司以 iPhone 应用的形式发布了 Google Voice Search,语音识别的形态从此改变:手机只负责录音,识别则在 Google 的数据中心里运行,模型规模远超任何设备所能容纳。Google 的英语系统用 2300 亿词的搜索查询训练而成,因此能预测人们可能会说什么,而每一条新查询又都喂给了下一代模型。识别从一个程序变成了一项服务,至今仍是这个形态。
