对话机器人怎样才能更好地理解人说的话
人工智能当前几个比较火的应用方向包括:语音识别,自然语言处理,计算机视觉。在特定的测试场景下,机器做语音识别和人脸识别的准确率都已经超过人类。于是很多人就有疑问了,为什么自然语言处理依然离人们的预期差了很远,很多聊天机器人或者智能客服,依然显得很笨。
说到这个问题,我们先把机器智能做个简单的分类。第一类为计算智能,第二类为感知智能(比如视觉CV,听觉ASR等),第三类为认知智能(比如语言理解和表达能力,知识推理能力),最后一类为创新智能。
很显然,语音识别和人脸识别等数据认知智能,而自然语言处理属于认知智能,从感知到认知,是当前人工智能发展的一个趋势。
今天我们从人类之间对话的角度来聊聊机器人应该怎样才能更好地理解人说的话。
1.理解能力
第一个例子,老师在课堂上讲一个新知识,一个班级里面有些同学能听懂,有些听不懂。这就体现了一个人的理解能力。
在人工智能领域,当前主要还是用统计的方法来做自然语言处理。理解能力更多体现在是否能够精准地识别意图,是否能够准确地提取命名实体,能否覆盖足够多的句式和对话领域。这就需要长期的对模型的持续调优了,当然,现在还主要是局限在一些相对封闭的对话领域。
第二个例子,体育课上,老师教大家投篮,有的人每次投完不进的话会刻意地调整力度和方向,投进的话会记住大致的感觉,练了一天就能有比较高的命中率,这是强化学习的能力。
人工智能也一样,有些领域没有足够的数据的时候,需要机器自己根据目标去尝试和调整,逐渐在这一领域变得精通。
第三个例子,当你学会了开手动挡汽车,你再去学开自动挡的车,虽然操作略有不同,但是你能够经过很短的练习就掌握这个技能,而不需要从头来学,这就是迁移学习。
对于人工智能来说,如果具备了迁移学习的能力,则能够很快的扩展对话机器人覆盖的领域,同时减少很多繁琐的数据处理的工作。
2.知识背景
在对话的过程中,双方的知识背景也是很关键的因素。
老师在幼儿园讲微积分和在大学里面讲微积分,讲台下的同学接受起来的难度肯定是不一样的。这主要是基于知识背景的影响。当然知识背景和理解能力是相互依存的,这又是一个“鸡生蛋,蛋生鸡”的问题。有足够的知识,就会有较高的理解能力。与此同时,又需要有足够的理解能力去获取更多的知识。
对于人工智能来说同样是这样,我们一方面要努力优化对话的模型,同时也要建立相应的足够丰富的知识库。比如现在比较火的知识图谱,语义网络等,这些基础知识体系的建立也会对机器理解能力的提高起到很好的作用。
3.用户画像
对话过程中,双方的用户画像也会对对话的理解有一定的作用。当你对对话的人有一定了解的时候,你自然更容易理解对方说的话。比如同样一句话:我想买个苹果。如果对方是一个喜欢吃水果的,注重身体健康的人,可能他表达的就是要买真正的水果苹果。而对方昨天刚刚丢了手机,那他很可能指的就是苹果手机。
而对对话机器人来说,理解用户对话的过程中结合用户的历史对话,用户的行为数据等信息,将会更好地理解对方的说话,而不会显得太傻。
4.情感计算
情感计算在对话中也有着举足轻重的地位。根据梅拉比安的沟通模型,人们正常的沟通内容=说话内容(7%)+语气语调(38%)+肢体语言及表情(55%)。虽然这个公式有一定的适用范围,仅适用于一个人想表达自己的感受或者感觉。但是依然说明了情感的重要性。
想象一下,小红很不开心,跟小明抱怨公司的同事和领导。这时候如果小明很理性地去分析对错,那可能小红的心情会更糟。而如果小明在对话的过程中,从小红的语音语调,表情和说话的内容能够感知到小红的愤怒情绪,于是先安抚小红然后跟小红一起骂她的同事和领导。这样很明显会有更好的对话效果。
机器人和人对话,未来一定会是多模态的对话,从声音+文字+图像多方位来计算用户的情绪。当用户情绪有波动的时候,机器人可能需要不同的策略。比如,如果用户一上来就很愤怒,那很可能需要先安抚,稳定用户情绪,然后再去协助用户解决问题。如果用户表现出了厌恶,那你可能要更换当前推荐的产品了。或者哪怕当机器人不理解用户说的话,但是监测到了用户的伤心情绪,那适时地送上温馨的话,也许会有意想不到的效果。
NLP是人工智能皇冠上最亮的一颗宝石。但是当前的发展离人类的预期还是有些差距的,现在大多数机器人还在第一阶段,以基础的理解能力为主,还没有知识背景,用户画像和情感计算方面的能力。希望我们可以努力地让对话机器人不再显得那么笨,当然这一切都不是一蹴而就的,需要整个行业的共同努力。