刚才周老师介绍了深度学习在NLP应用的方法和挑战,刘教授介绍了终身学习,黄教授讲的内容,让我想起一句话是“谣言止于智者”,我想谈一下在自然语言处理的应用中碰到的一些挑战,特别是人机对话中怎么提升用户的体验。
我先简单介绍什么是人机对话系统,再给大家介绍一下我们通过四五年的实践之后,总结出来的对于体验至关重要的三点。第一是全双工的交互,而且是要把语音和自然语言技术融合在一起。第二是从语义到语用不能仅仅看一句话的字面含义,要结合上下文去理解真实的会话含义。第三是闲聊到知性,不能只是闲聊,我们聊天时除了打发时间之外还希望获取知识、获取收益。
我们现在处在一个很变革的时代,人工智能技术这两年飞速发展,在物联网时代,最主要的交互形式是什么?现在很多认为人和机器的对话系统,可能会成为未来主要的交互方式。人机对话系统吸引了大众的注意,是在2000年左右,SIRI还只是在iPhone手机上的一个APP,通过手机、通过语音去找电影票或者订餐。2014年完全的硬件化了,Amazon提出了智能音箱的概念,从交互上差别非常大,在手机上我们的语音这块都是近讲的方式,语音识别准确率比较高,也不容易受噪音和环境的影响。但是对智能音箱,说话的距离可能离音箱有3~5米,对语音识别、自然语言处理会提出新的挑战。我们在一些科幻电影里还能看到更拟人的人机交互的场景,比如3D全息投影,目前还是在智能硬件主导的时代。
我们有一个简单的视频,大家可以感受一下什么是人机交互。
这就是一个简单的对话系统的例子,这个设备会装在车内的后视镜,让司机可以通过语音去打电话,或者导航,可以找餐厅,可以听歌。从技术上来讲,它是经典的人机对话系统,这个对话系统由几部分组成,第一就是语音识别,就是要听清用户的话;然后是口语理解,就是要听懂用户的话;再通过对话管理策略生成应答;再用自然语言的方式表达出来;最后再通过语音合成技术把它播报出来。有距离的情况下,由于不能直接去摸这个设备,需要语音唤醒。在唤醒之前还要对远讲的做一些回声消除等技术。再通过语音和声纹识别,我们知道这个话的内容,说话人的性别、年龄,甚至是心情。我们拿到文字以后,去做口语理解,不能仅仅是看文字,要通过看语境,还要结合用户的属性,结合一些知识,把这些整合在一起以后,再生成一个应答,这个应答以语音合成的方式给表达出来。生成应答的过程中,我们通过推荐,需要把第三方的内容和服务整合在一起,这是比较完整的人机对话的系统和架构。
在人机对话系统里面,比如通过语音控制空调,最开始是摇控器的替代版本。但我们希望设备更像是一个专家。专家跟助手的区别,助手是用户说什么就做什么,而专家应该是有知识的,可以回答问题,用户只需要表达浅层的需求,具体怎么做由专家帮着去执行。比如用户说睡觉,空调可以根据用户的习惯进行设置。
如果我们去做对话系统,如儿童教育的机器人,或者在车里通过语音去做控制、去做交互,或者家里通过语音来控制电视、控制空调等。怎么提高用户体验?从公司成立到现在一直在做这方面工作,而且致力于做产业化。我们提炼出三个要点,第一是全双工交互,基于语音和自然语言的理解,紧密耦合。不能让语音识别只是输出一串文字,然后在文字基础上去做理解。因为文字有可能出错,要识别这个话是谁说的、这个话里面有没有停顿、停顿多长时间、重音在什么地方。
我们说语音唤醒,这是非常重要的技术,如果有很多设备,通过语音唤醒去区分,我们很多设备说指令之前先说唤醒,其实会屏蔽一些无关的对语音的影响。比如旁边放着电视,这时通过语音唤醒就可以进行屏蔽。语音识别不是百分之百可靠,语音唤醒也不是百分之百可靠,这时一些误唤醒、误识别对用户体验的影响非常大。我们在空调这块,可以做到48小时播放电视,或者新闻联播的情况下,只会误唤醒一次。市面上有一些智能音箱,8小时误唤醒7次,那边放着,会莫名其妙的说“您好,有什么可以帮助您的?”晚上会觉得挺吓人的。
语音打断。比如在播放TTS时,可能很长,不想听了;或者哪一首歌,这个歌并不是想听的,想换一首歌,这时就要打断。此时麦克风接收两个信号,一个是设备发出的声音;还有就是人的指令。这时要把设备发出的信号引到收音口,去做信号层的减法,这是需要硬件去做支持的。我们目前是两种方式,一种是说唤醒词;还有一种是用语音指令打断,直接说我的指令。这就是我们说的全双工的交互,设备接受指令,人也可以同时去打断它。
最重要的困难在什么地方?比如用户说“导航到.....东单......公园......嗯啊......”说话过程中中间会有一些停顿,还要识别出来噪音,客户端不需要做任何处理。我们希望把前端的语音信号信息传递到后端,再综合自然语言理解结果,去做最终的判断。语言的信息包括停顿时长,还有声音的能量值,还有上下文的信息,如果电视放一些声音,或者旁边人说话的声音,不可避免地被设备采集到,然后转成文字。我们通过这些特征,可以做全双工的,最接近人跟人对话的体验。
第二是从语义到语用。语义往往是字面上的含义;而语用主要是研究人和人对话过程中话语的含义。比如,你说一句话,你的意思绝对不是文字表面上的意思,就像今天的天气,如果女生说好冷,你会怎么理解这个话?你会说是挺冷的,还是说她希望你握着她的手?比如我们开会时,领导说一个字“灯”,到底是开灯的意思还是关灯的意思?从文字上理解不出来,要结合语境,还要看这个灯现在是开着还是关着,还要看房间的亮度。语用是存在在人和人的对话过程中。当我们做到人和设备对话时,我们最终目的是想让这个设备像一个人一样可以对话,这时语用也是非常关键。目前,语用在学术界,特别是在计算语言学上,研究得不是很多,而做纯语言学的研究得比较多一点。
如果我们把语用放到人和设备交互的环境下,到底有哪些语境?说话的时间、地点还有场所,场所可能是在车上、家里,甚至是户外。比如对于空调来说,室内的温度,室外的温度,这也是非常关键的物理语境信息。空调控制里面制冷模式,或者制热模式,如果口音不是太准,很有可能会识别错误,识别错了对于用户体验是非常不好的。如果我们结合一些语境信息,说这句话时看天气是什么样的,是高温还是低温,还有设备是在南方还是在北方,这时就很容易判断用户的意图是想制热还是制冷。还有设备上的显示,因为我们设备带屏幕,屏幕也是很重要的语境,比如我们跟电视交互时,你说“要看《甄嬛传 》”,会显示出来各种版本的。如果下了指令,设备执行不了,错误信息也是一个上下文。最难的上下文是知识,这是目前最大的挑战。用户画像也是种知识,用户的性别、年龄。还有机器画像,把设备当成一个人,肯定会有属性,有虚拟化的属性;有性别、年龄、喜好;有各种信息,甚至大学时有没有谈过恋爱,都是设备属性。另外,如果我们做中控,最重要的语境是中控关联的设备,每个设备的状态,每个设备的能力,如果对中控说“我要睡觉”,中控要决定是不是关窗帘,是不是要关灯,是不是要把空调设成睡眠模式,不需要你一个一个去说,只要表达出你的意图就可以。
第三,我们一再强调知识,强调知识的重要性,我们通过知识去聊天、去做问答、去做推荐。具有知识性的聊天,有两个非常重要的技术,一个是微软亚洲研究院做的DocChat,可以从文档里面去抽取聊天应答;第二是华为李航老师团队做的GenQA,可以在通过深度学习模型生成聊天应答时,去访问知识库中的知识。此外,基于知识库,还可以做自动问答,以及个性化推荐。
最后,介绍下我们对人机对话系统做产业化的尝试。从产品形态来讲,我们提供云端芯的形式,我们在端这一块会提供完整的解决方案,最后在芯片这一级提供语音识别能力。因为语音识别是依赖信号这一层的,通过完整的云端芯方案可以有非常好的体验。
我们还提供语义云服务,支持的领域非常多,基本上覆盖了各种设备上的语义需求。我们也支持在各个设备上的解决方案,包括在电视、车机、音箱、家居,我们做了非常多的优化,也有很多客户。重点讲一下智能家居,在语音空调这方面,我们是世面上唯一量产出货的供应商,格力、美的、长虹、海尔都在用。在车联网方面,除了车的车内后视镜之外,还有在大屏中控,也可以通过语音去交互。我们跟合作伙伴已经有超过800万的后装市场出货量,占了70%左右的市场份额。
(本报告根据速记整理)