车载导航人机语音交互系统的设计实现
引言
语音作为自然的人机接口,可以使车载导航系统实现更安全、更人性化的操作。通过国内外车载导航系统的功能对比可知,支持语音交互是车载导航系统的一个发展趋势。另外,市场信息服务公司J.DPowerandAssociates的调研数据也表明,56%的消费者更倾向于选择声控的导航系统。因此,开发车载语音导航系统是很有意义的。目前,国内已经具备开发车载语音导航系统的技术基础,特别是文语转换TTS技术和基于中小词汇量的语音命令识别技术已经达到比较实用的程度。本文在课题组的车载导航系统和国内两款语音引擎的基础上,开发了一套支持语音交互的车载导航系统。
车载语音导航系统结构
车载语音导航系统从功能上分为车载导航和导航语音交互两方面。其中车载导航功能包括GPS卫星导航定位、电子地图浏览查询、智能的路径规划、车辆地理位置和速度等导航信息的实时显示;导航语音交互功能分为语音操作和语音提示两部分。在系统的设计中,根据人机交互的需求,设计语音导航系统的硬件框架如图1所示。
语音导航系统和用户之间的人机交互接口由触摸屏、按钮、话筒、显示屏和扩音器等五个交互设备组成。该硬件框架可实现常规的手动交互方式,也可以实现语音交互方式。整个系统划分为三个子系统:导航子系统、语音识别子系统和语音合成子系统,各子系统间通过接口进行通信,协调完成语音导航任务。车载导航人机语音交互系统对话模式设计
导航系统的状态转换网络
整个导航系统是一个复杂的人机交互系统,为便于语音交互对话模式的设计,首先对系统作状态划分,然后从人机交互的角度描述整个系统的状态转换网络。将系统划分为地图浏览、功能选择等六个功能状态和一个退出状态。图2描述了这些状态之间的状态转换网络。
图中的节点代表系统的各个状态,带箭头的连线代表从源状态到目标状态的转换。状态转换网络接收用户的操作作为驱动事件,完成从一个状态到另一状态的转换,网络中的一条路径便代表着特定的交互过程。
导航系统各状态节点对话模式设计
为便于描述各状态节点内部的对话模式,将状态节点按图2所示编号为S1~S7,用Tmn表示状态节点Sm到状态节点Sn的转换。另外,借鉴状态流stateflow模型的表示方法,提出用于描述车载导航人机语音交互系统中的对话模型。重新定义转换的描述方式,用四个属性来描述状态节点内的一次转换:
T={P1,P2,P3,P4}(1)
其中,t用于表示一个转换,P1~P4为转换的属性:P1为语音事件;P2为语音输出;P3为附加条件;P4为转换动作。
这样,一个转换t便描述了一次对话中用户的语音输入、系统的语音输出、对话受到的限制条件以及系统执行的动作。
以地图浏览状态为例,说明对话模式设计的过程。地图浏览状态由两个互斥的子状态组成:地图漫游状态和车辆引导状态(参见图2)。这两种子状态的人机交互大部分相同,所以将二者统一划分在地图浏览状态下。对于区分对待这两个子状态的交互过程,可以通过附加条件来判断当前子状态,再作不同的处理。地图浏览状态节点的对话模式设计如图3所示。
人机语音交互系统的实现语音控制命令的实现
语音控制命令的实现方案如图4所示。图中左边方框代表整个语音导航系统对话模式的状态转换网络STN。根据对话模式的设计,将系统分为地图浏览状态、功能选择状态、路径规划状态等7个状态节点,每个状态节点内部均存在各自的语音对话模式,对话模式由若干内部转换组成。因此,整个语音导航系统是一个两层结构的状态转换网络,其内部转换由语音事件驱动。语音事件由导航子系统的接口模块根据语音识别子系统发送的用户意图而产生。
语音控制命令的实现过程分为以下四个步骤:
语音识别引擎根据当前命令词表识别用户语音,得到识别结果。
管理窗口获取到识别结果,通过查询“识别词-控制命令”映射,得到识别结果对应的控制命令,并将控制命令作为用户意图发送至导航子系统的接口模块。
接口模块响应用户意图,通过语音事件改变语音导航系统的状态。
接口模块根据语音导航系统的状态判断是否需要更改当前命令词表,若需要则通过管理窗口更改当前命令词表。
POI名称的识别方法
识别子系统除了要识别控制命令以外,还需要识别POI(兴趣点、标志点)名称。POI名称识别与控制命令识别最大的区别在于其候选集合在规模上的差异。在本系统中,进行控制命令识别时候选集合的规模最大约为30个,但进行POI名称识别时,以所用的北京电子地图为例,其POI点的个数为20,172个,此时其候选集合的规模比控制命令识别时大几个数量级。
利用命令词识别引擎进行识别时,必须为引擎提供一个当前词表,需要先将候选集合中的词条转化为词表,才能真正地进行识别。同时,基于中小词表的ASR识别引擎不能生成规模达2万多的词表,所以对于POI名称识别,采取了不同于控制命令识别的方案。在对控制命令进行识别时,因为候选集合可以用一个词表来表示,采取了在线识别的方法。而对POI名称进行识别时,单个词表无法容纳所有的POI名称,由此提出了利用识别引擎离线识别功能的离线遍历识别方案。该方案利用多个词表来描述整个候选集合。实现的具体流程如图5所示。
该方案将候选POI集合划分为n个子集,并生成各子集的词表,然后以各词表为当前词表进行离线识别,并将这些局部的识别结果汇总形成一个临时词表,最后在这个临时词表中进行识别,得出全局的最优识别结果。该过程遍历了各个子集,相当于在整个候选集合中匹配出最优识别结果,所以识别正确率得到了保证。同时由于识别次数的增加,导致识别时间相应地变长。
导航系统语音提示的实现方案
导航系统的语音提示由专门的语音合成子系统完成。将语音提示的实现过程分为提出请求和执行请求两步。请求的提出方和执行方构成客户/服务器(C/S)模型,其中,语音合成子系统充当服务器。由于语音合成引擎通常不能同时输出多线合成的语音,所以会遇到请求冲突的情况。发生请求冲突时,最直接的处理策略是:中止正在进行的合成转而进行下一个合成,或者维持正在进行的合成而忽略新的合成请求。为此在语音合成子系统中设计了管理模块用于决定发生合成冲突时的处理方式。
对于语音合成子系统,合成请求的提出是一个随机事件,将这类随机事件记为Qi。每个合成请求Qi都具有优先级的属性,其优先级的高低取决于请求的提示信息的重要程度,见表1。管理模块的处理流程见图6。如果下一请求Qi+1的优先级高于当前请求Qi,则优先合成Qi+1。
车载语音导航系统的试验验证图7为本文的车载语音导航系统的实物照片。对本系统进行了语音导航的验证试验,通过语音交互完成了表2中所示的车载导航功能。试验表明,系统的状态能够完全正确地按照设计的对话模式进行转换,并能正确完成各种导航功能的人机对话过程;同时,系统的语音提示也能正确工作。
另外测试了系统正确响应语音控制命令的能力。测试中,用清晰平稳的语音,对地图浏览状态所有语音控制命令的49个识别词进行了测试,共测试49×3=147次,成功132次,失败15次,成功率为89.8%。可见,系统语音控制命令的有效性较好。
在海量POI名称识别的试验中,对字数为2至10的POI名称进行了测试。对于每一长度的POI名称,分别取10个进行测试。其中每个POI名称最多做两次测试,当且仅当第一次测试失败才继续第二次测试。试验结果如表3所示。
可见,离线遍历识别方案的一次识别正确率为86.7%,二次识别正确率为93.3%。其正确识别的平均耗时为6.1s至10.4s之间,按POI名称的字数统计分布计算加权的平均耗时为8.3s。以上数据说明,该方案能够利用小词汇量的关键词识别引擎实现大词汇量POI名称的识别,并且获得了满意的识别正确率,但是耗时较长。结语
本文主要完成了车载导航人机语音交互系统的设计和实现,并在实验室环境中对系统进行了实验验证。
证明利用合成的语音,可以实现丰富灵活的语音提示,使用户可以在不分散过多精力的前提下使用导航系统。进一步的工作是提高识别正确率和降低正确识别的平均耗时。
参考文献:
1.丁捷.车载GPS自主导航方法的研究:[硕士学位论文].北京:清华大学汽车工程系,2003
2.孟祥旭,李学庆.人机交互技术—原理与应用.北京:清华大学出版社,2004.131~136
3.刘加,刘润生.语音识别技术.北京:清华大学电子工程系,2001
小鹏汽车的全场景语音交互系统,真的不可复制吗
“前挡风玻璃起雾了!”、“已打开吹前挡模式。”这是镁佳科技向我们展示的驾驶者与车载语音交互系统的典型对话。
进入人工智能时代,语音这种最自然、最简单的人类交流方式也很自然地成为人机交互的核心。实际上,人车交互对语音系统的需求更迫切,要求也更高。
行车安全始终是在第一位的,在人工智能时代来临之前,车辆设计者会充分考虑物理按键及仪表的位置、大小和排布方式,以确保用户能最大限度地专注于驾驶和路况,规避安全隐患。
差不多十年前,以特斯拉为代表的造车新势力将大屏幕与触控技术引入纯电动汽车,全新的操控体验令人耳目一新,传统车企也纷纷跟进这一趋势。
在语音交互技术发展的早期,语音助手类的车内应用更多的只是噱头。
首先,用户必须牢记语音交互的规则,用错词或者过度口语化都会导致交互失败;其次,由于语音助手无法实现对车控的全覆盖,用户还必须记住哪些操作可以用语音、哪些不能。
在新鲜感消退之后,语音助手常常沦为用户偶尔拿来向朋友或家中长辈展示的“高科技新玩意儿”,再无他用。
2020年成为汽车语音交互的重要拐点。小鹏汽车在10月下旬推送了车载系统XmartOS2.1.0版,这个看起来似乎只是一次常规小升级的版本号,却蕴含着一次大变革:搭载“全场景语音交互系统”。
小鹏汽车据此宣告了全场景语音交互元年的到来,并且在介绍这套系统时,用了很多个“全球第一”和“全球首创”,引起了从业者和消费者的高度关注。
按照镁佳科技的说法,小鹏汽车并不是唯一深耕这一领域的企业,早在此次新系统推送之前,该公司就已经发布了SmartMegaOS+整车分布式智能操作系统。
其中一个重要的组件就是SmartMegaVoiceOS全场景语音交互系统,并且镁佳科技具备从硬件到应用软件的全栈开发能力,小鹏汽车相应系统的底层技术则是由思必驰提供的。
小鹏汽车在之前的采访中曾经提出“全场景语音是智能汽车的最佳交互方式”,这其实是业内的共识,但能做到这一点并非易事。
那么,究竟什么是全场景语音交互呢?首先要做到的必须是“全”,如前文所述,如果不全,用户就需要记忆,那么语音交互的体验就大打折扣,难以培育用户习惯。
除此之外,镁佳科技与小鹏汽车的同类产品相比,又有哪些异同之处呢?接下来,我们就从四个方面进行分析。
一、音区锁定功能。车内空间狭小,声音环境复杂,包括车内外的环境噪声、司乘人员的对话干扰,播放音乐或视频的声音干扰等。小鹏和镁佳科技都可以通过锁定唤醒者音区的方式来排除这些干扰,不同的是,小鹏只支持主副驾驶双音区锁定,后排用户如果要使用语音交互需要通过后排按钮开启。
二、可见即可说。这意味着,只要在图形界面中可以找到的功能,无论它隐藏得多么深,一句话便可直达,交互扁平化,简单高效。小鹏和镁佳科技在这方面旗鼓相当。
三、细粒度语义理解与多指令并发。粒度是语言文本单位,汉语的基础单位是字,但字的多少并不能代表信息量的大小。
例如“篮球”只有两个字,但它即是球类名称,又是韩剧名字,还是代表了多部书籍,“篮”和“球”又可拆开代表不同的意思,因此这个词的文本粒度较大,如果转换成语音还要考虑到同音字、词的问题,粒度的判定就变得更加复杂。
因此,优秀的细粒度语义分析,是正确理解口语化长句的基础。这一点,小鹏和镁佳科技也同样支持。
在理解长句的基础上,如果长句中包含多个指令,也要求系统能一一执行。
值得注意的是,镁佳科技可以很好地拆分长句中的多个相反含义的任务及多个任务中的多个对象,并且对方位词也能准确识别。
比如,用户可以直接说:“把左前车窗关上,然后右后车窗打开三分之一。”这句话里包含了关上和打开两个相反的任务,还包含了左前和右后两个方位词,以及两个不同的车窗对象。
四、一次唤醒、连续对话。多轮连续对话能力一直被视为智能语音交互能力的重要指标,这项能力的挑战在于,语音系统必须能正确判断语句中的停顿甚至改口,能区分指令和闲聊内容,能屏蔽他人插话的干扰,以及联系上下文进行语义分析,这就要求交互系统具备完善的边听、边想、边调整的智能预测模型。
在这方面,小鹏和镁佳科技都有很好的表现,不过在对上下文的分析上,稍有差别。
小鹏主要通过省略主语和礼貌用语的方式来增加多轮对话的流畅度,也就是不会重复做“主人,你好。”“主人,在呢。”之类的无意义响应。
而镁佳科技可以更进一步,通过上下文联系很好地执行连续的,缺少主语或者宾语,甚至缺少明确谈话对象的任务语句。
我们可以假设这样一个场景,用户问:“今天天气怎么样?”镁佳科技播报时,用户与朋友闲聊,然后又问:“明天呢?”这次,用户会在自言自语后打断播报,追问:“那上海呢?”这种情况下,镁佳科技也可以正确无误地执行任务。
除了上述四个方面,镁佳科技还有一个优势,就是具备非常完善的离线交互能力,这一点在用户驾车出游时特别有用,就算远离市区,开进大山,在弱网甚至断网的情况下,也可以无缝切换至离线状态,而用户完全不知道这个切换过程,也感受不到使用差别。
谈了这么多全场景语音互动的能力,也只是冰山一角。
镁佳科技介绍,公司作为Tier1供应商,其SmartMegaVoiceOS系统可以为客户提供完全个性化的定制服务,不仅胜任被动执行用户指令,甚至还可以依据温度、油量(电量)、空气质量等传感器数据主动建议用户该做什么。
从用户角度出发,可以简单地将该系统的能力概括为:没有规则,和真人怎么说话,就和它怎么说话,只要是车内可见的功能,它都能帮你实现,甚至是主动实现。就这么简单。
用户端简单的背后是车企的“不简单”,很多新势力造车企业不具备这方面的全栈开发能力,即便是小鹏汽车,也会在底层技术上依靠思必驰。更多的传统车企同样不具备这个能力,虽然他们经验丰富,资金力量相对雄厚,但根深蒂固的传统组织架构和思维模式很难改变。
当年,特斯拉横空出世时,有人揶揄特斯拉不是在造车,而是在造带轮子的手机。现在看来,特斯拉的思路是正确的,消费者需要这样的产品。
未来,汽车行业的发展可能会比特斯拉更为激进。这是传统车企非常不适应的地方。比如,要实现最优化的语音交互,麦克风和扬声器的布局很重要;为了达到车控的100%覆盖及优秀的交互效果,CPU、GPU、DSP等计算力配置也很重要;更不要说适配不同车型的设计需求及操作系统。
无论对传统车企还是造车新势力,这都是一个庞大的系统工程。不仅如此,车企自研还要经历漫长的验证过程,考察系统的安全性、可靠性,最后还要进行调教和优化。那么,新老车企有没有必要全部亲历亲为?
当然没必要,抛开巨大的成本和人力物力投入不谈,单看时间成本就消耗不起。智能汽车市场的变化日新月异,一步赶不上,步步赶不上,坚持自研反而容易处于被动局面。
近些年围绕智能汽车的新供应链生态正在逐渐形成,新老汽车企业将语音交互系统完全外包或部分外包给Tier1供应商的做法将成为主流。
实际上,从小鹏汽车与思必驰的合作上也可以看出这一点。
车企将资源聚焦在自己最擅长的产品体验上,剩下的交付给镁佳科技这样的Tier1,可以更快获得具有自己品牌基因的、优秀的用户体验,并且在开发周期、开发成本以及水准上,都有可能超越同类产品。
回顾互联网发展初期,互联网公司都倾向于投巨资自建数据中心。时至今日,如B站或头条这样的互联网巨头也会大量采用公有云服务。在智能汽车领域,也存在类似的趋势。
当言及镁佳科技对自己的定位时,他们常常会把自己类比为公有云供应商——致力于为所有新老车企提供系统级的语音交互定制化服务,在后台默默支持车企的发展。