让语音更好地控制汽车,科大讯飞是这么干的

  • 发表于: 2015/05/14 09:14:35 来源:车云网

汽车的人类属性正在被逐步激活,摄像头的看、传感器的神经系统、雷达的感知功能以及大脑的统筹分工,这一步,是叫醒它的耳朵。

车云按在给汽车装上大脑之后,摄像头变成了眼睛,传感器搭建起了神经系统,雷达赋予了感知的能力,但五官之中的耳朵却一直处于半睡不醒的状态。虽然说对于汽车而言,现在就熟练掌握语音识别技能有点“没学会走就开始跑”的嫌疑,天赋树上似乎触控也才点亮了一小半。但因为能够在驾驶途中提供极大的便利性,有必要研究一下叫醒耳朵的攻略了。本攻略由科大讯飞车载业务总监刘俊峰、平台与嵌入式事业部产品主管陈盛提供技术支持,车云菌结合实际体验及采访经历整理。

前两天车云菌在上海体验大众凌渡,顺便感受了下第二代MIB系统,不知道有没有人留意到车云菌的一句表扬,这套系统“语音输入的识别率非常之高,车云菌在车内环境音处于正常水平时使用,基本识别率能保证在80%以上”。

与一些国际比赛上或者实验里得到的90%多的数字相比,这个80%实在是太不尽如人意,不过在当下正在使用的车载系统上,尤其是对中文的识别,这个结果跻身一线是没有什么问题的,可以想见,现在汽车上的语音识别功能有多么糟糕。这个时候是不是想起一些不开心的经历了?自然也并不是不能改进的,但要如何改进呢?俺们至少要弄清两个问题。

问题一:如何让车辆明白语音命令的意思?

尽管受限于研发周期的问题,汽车上一些技术的更新慢得令人发指,但是条目式的语音命令也正在逐渐被自然语音识别所取代。这两个名字如果你还不熟悉,这里可以先科普一下。

所谓条目式的语音命令,那就是系统只能识别一些固定的词组和句子,要通过语音实现功能的控制,必须按照功能分级别实现,比如车云菌想给主页菌打电话,可能至少需要字正腔圆地说出“通讯录”、“主页菌”、“呼叫”或者“拨号”、“主页菌/1XXXXXXXX”的发音,如果不幸碰上一位南方人……

自然语音识别就要先进多了,你只要说“打给主页菌”就行了,基本上想要做的事情都可以一句话实现。但是,这是理论上,现在的自然语音识别功能上比条目式强大了不少,却也是有适用范围的。最明显的例子,一个车载系统能够听懂“我要去天安门”,却不一定能听得懂“天安门在哪”。

要想能做到这一步,必须解锁一项技能——语义理解。相对完美的语义理解,是不设定规则或者语法,因为对于现实生活中遇到的情况,很难通过这种设定来穷举出所有的情况。

刘俊峰表示,在科大讯飞的语音模型中,专门有一个模块是去判断一句语音命令里头的意图,在语句中寻找关键字,科大讯飞把这些关键字叫做“参数”。意图与参数,就构成了这条语音命令所要表达的信息。在这种模式下,你说“我要去天安门”或者“天安门在哪”对于系统来说,都是一样的,参数是“天安门”,“在哪”和“要去”是意图。

不过也有复杂的情况。车云菌需要在中午的时候给主页菌回复电话,当时正好出门采访的路上,“提醒俺给主页菌打电话”。如果系统足够聪明,会发现这里面其实有两个意图,“提醒”和“打电话”,要怎么去分别实现这两个意图,怎么分辨主要与次要,都是在建立模型的时候需要考虑的问题。

当然,这些模型并不需要人去手动一个个建立,而是通过大量的数据模型去训练机器。用陈盛的话说,“数据是语音识别的灵魂。”

在科大讯飞,有一个部门叫做语音资源部。资源部的工作是每天上街去采集数据,没有数据就找不同口音的人去录音,积累到了几十个T的数据之后,这些数据就会用于机器的教学之中。

第一步是将单个字或者词摘取出来让机器学会,了解不同的人在发音上的差异;然后是在一定的语境中去理解这些词,哪些属于意图的范畴,哪些属于参数的范畴,哪些在意图会在特定的情况下成为参数,哪些参数又有可能成为意图。在这个过程中,对于数据的分析能力是关键。因为数据的基数太大,必须能依靠机器做到正确地剔除无用的数据,将有用的数据分门别类进行处理。

这还只是普通话的,如果是要识别方言,因为同一个字完全是不同的发音,就需要为其独立建议一套识别模型,与汉语和英语的关系一样,区别对待。再去收集相关的数据给系统学习,作为收集所有数据的语音云平台,则需要有能够对这些不同数据类型进行筛选的能力。截止目前,科大讯飞投资了上亿元,建立了16种常见方言的识别。

当然,现在科大讯飞的语音数据库不再依赖于人工收集,在建立语音平台之后,科大讯飞每天能从不同的合作伙伴处获得大量的数据,识别效果的迭代能做到一周一次。不过,虽然有语音平台,科大讯飞每天依然有两三部车子在外面进行专门负责采集一些很难通过云端传回的使用场景的数据。

问题二:能够听懂就够了么?

答案自然是不够的。

首先是车辆上存在很多非平稳噪声。所谓非平稳,即是难以预测的。在汽车的环境下,来自于发动机、车辆在路面上行驶产生的噪音都是可预测的噪音,很容易在实验中进行模拟并进行剔除,但更多的各种意外状况下出现的噪声:路过一家大声放着音乐的CD店、旁边的卡车突然按了下喇叭……

科大讯飞拿出的解决方案是麦克风阵列,这个阵列由对着不同方向的数个麦克风组成。当你在车内开始说话时,第一个捕捉到你声音的麦克风会对声音进行定向,然后只识别这个特定方向传来的声音,这个麦克风也会成为这次语音命令的输入源,如果这个时候,隔壁的麦克风听到了副驾驶的说话声,并不会对此次输入造成影响。当阵列中的麦克风数量越多,其所定位的方位越狭窄,那么所受到的干扰就会越小。

另外一个问题是对识别出命令的执行。在汽车上,语音识别系统的功能不仅在于识别,更在于将识别出的命令准确地下达到对应的模块之上,这种命令的下达需要把语音识别系统与车载系统的应用之间的路打通,听音乐就需要打通音乐的应用,导航就需要打通地图和导航应用。

科大讯飞研发出的语音识别系统其实只是一个半成品,其中有语义理解的模块,有与其他应用的接口,用在汽车上,需要把这些接口与车载系统进行对接。说来简单,但在实际应用中,需要解决的问题就很多。

一是目前车机的平台并不是一个开放的平台,既不是安卓的开源,也不是苹果的封闭生态,很难在既定构架上简单地进行功能的增减删改。很多时候,一个更新换代,可能要做的工作是从头再来。

二是两者之间需要很多配合。如果车企已经有一套完成的车载系统,那么需要对语音识别的应用打开接口,打开接口之后可能会发现接口无法直接对接,需要进行更改,而这个更改是否能被执行,要看汽车制造商的集成能力,以及对这套车载系统有多少期待;即便车企没有这套系统,或者要开发一套新的系统,双方在产品理念需求的定义上,也需要深度磨合。

现在的很多功能不能被实装,并非是技术不到家,而是受限于成本、产品定位、研发周期等等一系列因素。就说麦克风阵列,麦克风的数量是越多越好,刘俊峰认为最好是能够在车上装成一个球形,360°检测,但是在实际的应用中就只有两个,一个对着驾驶席,一个对着副驾驶。

车云小结:

现在的问题是,即便不考虑方言的存在,对标准或不标准的普通话的识别率,在实际应用中还需要进一步提高,这可能要用到的是更大体量的数据集以及更好的语音模型。大多数汽车制造商们要改变对交互方式的看法,不再只把这当作一个人有我有的功能选项。

虽然要花费的时间很多,但值得期待的是,语音识别叫醒耳朵只是第一步,当机器人慢慢能够听懂人类的话,下一步必定是能够亲口说出“Hello World”,开启真正的语音交互时代。

相关标签:
人机交互
智能汽车
语音识别
  • 车云星
  • 空间站
  • 福特星球
  • 虫洞

加料 /

人评论 | 人参与 登录
查看更多评论