引言
在2016年3月23日阿里云年会上,2000余名同学们见证了一场人机大战的好戏--阿里云iDST团队的实时语音识别系统在现场演讲分享环节实时挑战世界速记比赛亚军, 马总御用金牌速录师姜毅先生。这位神一般的速录师, 拥有超人的短时记忆功能, 超级的打字速度和惊人的正确率.要PK这样的对手,必须解决哪些问题呢?
A. 数据! 数据!
data--> training --> testing --> tuning --> re-training --> more data --> loop again
虽然我们累计了一定的技术实力和大量的线上数据, 但是年会展示的讲演是Free Talking Style, 演讲者或激情澎湃, 或低声细语; 演讲语速、口齿清晰度、口音皆是不尽一致的…经过地毯式的搜集工作,完成了数据收集。但数据收集只是第一步, 还有数据清洗, 数据筛选, 数据标注等, 这里都按下不表. 不过所有做过machine learning dirty works的同学们心里都懂的.
最终我们使用了上万小时的基础数据+近百小时的领域数据进行声学模型的训练; 语言模型几乎用了全网数据进行训练. 在模型使用, 模型训练的快速迭代上, 多亏了语音识别pipeline建设 和 GPU多机多卡Machine Learning Middleware. 在这次的实验中, 我们可以同时做30组以上的并行训练, 每次模型迭代时间仅为2天.
B. 树懒变兔子, 快! 快! 快!
为了保证识别效果,这次任务中我们使用了大规模的、最先进的BLSTM(Bi-directional Long Short Term Memory )声学模型, 但是越大越好的模型, 计算代价就越高, 实时性就越差,我们之前仅在准实时的客服业务中使用了大模型BLSTM-DNN hybrid 语音识别声学模型. 其次, 为了追求极致,我们还使用了多达百亿文法的超大规模的语言模型(全网数据). 那如何在这样的巨大复杂的模型上保证识别的latency最短呢? 只能靠我们高性能的语音识别解码器和阿里云的高性能计算服务(HPC)的支持, 在以下这篇文章中还会有更细节的技术分享: 阿里云年会人机大战-技术大揭秘
C. 阿里人眼中只有更完美
以上工作都准备完毕后, 处女座星人们又开始研究如何把效果做的美观一点呢? 毕竟这是个高大上的年会展示, 我们可不想给在座的同学们展示个大白板, 上面密密麻麻的小黑字. 在这里, 我们设计了识别结果的流式返回, 也就是同学们看到的, 机器迅速的修改了识别错误; 字幕动态滚动效果; 压图技术: 绿幕底字幕+现场动态视频; 甚至在字体选择, 字体效果是否应该是白底黑框还是黑底白框上进行了艰难的选择. 想知道现场最终呈现的效果, 可以看下这个小视频:
神一样的对手
关于在现场和我们一起作战的世界速记比赛亚军的姜毅先生,这位神一样的对手是怎么样的一个存在呢? 就是在演讲者语速300字/分钟的情况下, 边听边打字, 话音落, 字体现. 换句话说,他每秒钟能敲5个字(还不包括标点符号回车删除注释等). 按照平均一个字敲4次键盘来说, 也就是每秒钟20次的敲击速度! 同时还能在各种干扰下保证九十几以上的正确率! (欢迎大家优酷搜索”高级速录师姜毅”欣赏他的工作状态)
研究了对手的工作状态, 我们发现自己并不能针对对手做任何的事情(不同于AlphaGo的人机博弈对决, TA需要去学习对手的棋谱). 反而我们开始做起了后勤工作, 如提供稳定的音源(现场嘈杂, 速记员也需要听清楚, 并且安静的工作), 舒适的工作环境(桌子), 速记结果投屏的优化……
万事俱备, 箭在弦上, 结果如何呢?
高手心中已无胜负
其实结果在当场就宣布了, 最终阿里云iDST的实时语音识别系统, 在双方PK的7分50秒的讲演片段上, 以微弱的0.67%的差异险胜姜毅先生. 对于这个结果, 现场同学估计感受有差异, 我们现场校对的同学也是反复re稿, 保证无误才敢将结果递给现场主持人. 大家心中都是大大的为什么? 在这里引用阿里云李津先生的话, 原子正确 和 信达雅 之间还是有差异的.
废话少说, 我们来举几个栗子:
演讲: 进入到整个巴巴的体系里面去了
机器 : 进入到整个爸爸的体系里面去了
速记 : 进入到整个阿里巴巴的体系里面去了
演讲:实现了统一营销统一管理
机器 :实现了同意营销统一管理
速记 :实现了统一营销统一管理
看出来了吗? 机器在处理同音不同字的文本上, 还是要欠缺一点智慧的. 而人类会根据自己对语义的理解, 把一些说话过程中表达模糊的词汇再进行加工.
演讲: 阿里云
机器 :零
速记 :阿里云
年会上, 细心的同学们会发现, 机器几乎经常会把”阿里云”听写成”零”, 这是为什么呢? 其实这和”神秘的电流”有关, 在文后的花絮中, 再做说明.
演讲: 是一个非常具备挑战的一个财年
机器 : 是一个非常具备挑战的一个财年
速记 : 是一个非常挑战的财年
演讲: 第一次实现了,三个季度的连续的增长
机器 : 第一次实现了,三个季度的连续的增长
速记 : 第一次实现了 三个季度的增长
演讲: 但我再次请所有的阿里云, 所有的同学们把掌声送给我们运营,管理团队
机器 : 但我在自己所有的阿里云, 所有的同学们把掌声送给我们运营,管理团队
速记 : 但是所有的阿里云,把掌声送给我们的运营管理团队
机器的目标是一字不差的记录讲话内容, 速记员会主动舍弃一些内容(重复、语气词等) 保证基本内容的正确性. 机器的错误容易造成语义上的错误, 速记员这类错误较少.从阅读的主观体验上, 人类的结果更加的信达雅; 而机器在原子正确的客观统计上, 险胜人类一筹.
速记工作是个需要保持精神高度集中的重脑力体力活. 在更长久的工作上来说, 人类很难持续的保持高强度脑力劳动, 但是机器可不会抱怨, 保持供电保障网络的情况下, 机器可以7×24的工作(资本家们发出了会心的微笑).
后续我们还会在口音,噪声和没有见过的数据的适应性上还需要进一步改进, 并希望在日后有更好的表现~
插播花絮
目前的各种产品, 其实都是一个"云"+"网"+"端"的形式存在的. 即用户手里只有一个客户端, 通过狭义的网络传输到云端, 再由云端提供数据服务. 从"端"部分的硬件连接, 到网络稳定, 云服务的稳定, 都影响着最终用户体验的结果.
3月23日凌晨, 距离年会开始只剩下10个小时.当PC客户端连接上视频老师的设备时(图像压制), 我们突然发现, 整个机器不work了...工程师们内心是崩溃, 但是打一剂鸡血, 与现场人员火速排查问题: 由于视频设备漏电, 异常大的电噪声几乎掩盖了全部语音信号. 后来在音响老师的建议下, 将所有设备接在同一个接线板上共享地线. 情况虽有所好转, 但始终会有一个持续的电噪声混杂在录音里面. 大会当天现场转写的有些明显错误就跟这个多出来的电噪声有关.