阿里智能对话交互实践及范式思考
纵观传统互联网时代,如果用一个词来总结和概括的话,"连接"这词再合适不过了,传统互联网时代主要建立了三种连接:第一,人和信息的连接;第二,人和人的连接;第三,人与商品服务的连接。第一种连接成就了Google和百度这样的互联网巨头;人和人的连接成就了Facebook和腾讯这样的互联网公司,人和商品服务的连接,成就了Amazon、阿里巴巴、京东这样的巨头。从这个意义上看,传统互联网最典型的特征就是连接。
过去3-4年,我们可以看到,互联网其实发生很大变化,交互的设备已经从PC和智能手机延伸到更广泛的智能设备。智能设备的快速发展正在改变着人类和设备的交互方式。不难看出,无论是智能设备的发展和普及,还是用户的接受度都在快速增长,都促使人和设备之间交互方式的巨大改变,我们已经进入"交互时代"。
正在发生的变化
那么,交互时代,人和设备究竟如何通过自然语言对话展开对话交互的呢?首先,对话交互的特点,我认为主要有以下四点:
1、人和智能设备的交互一定是自然语言。因为对于人来说,自然语言是最自然的方式,也是门槛最低的方式。
2、人和设备的对话交互应该是双向的。
3、人和设备的对话交互是多轮的。为了完成一个任务,比如定机票,这里会涉及多轮交互。
4、上下文的理解。这是对话交互和传统的搜索引擎最大的不同之处,传统搜索是关键词,前后的关键词是没有任何关系的。对话交互实际上是要考虑到上下文,在当前的上下文理解这句话什么意思。
从连接到对话交互,一个本质的改变是什么?举个例子,比如淘宝网首页,抛开内容,其本质就是链接和按钮。对于用户来说,无论是点击链接还是按钮,他的行为完全是由产品经理定义好的和是完全确定的,所以它是一种受控、受限的行为,这种方式并不能确保好的用户体验。
而对话交互,用户可以说任何内容,天文、地理,包罗万象。我认为这背后的本质改变就是从"确定性"转变为"不确定性"。实际上,后面无论是算法还是交互设计,基本上都想办法提高语言理解的确定性或者是降低交互设计的不确定性。
阿里巴巴在智能对话交互方向上的进展和实践
下面介绍下阿里巴巴在智能对话交互方向的进展和实践。先看对话交互逻辑的概况,传统的对话交互大概会分以下几个模块,从云识别把语言转成文字,语言理解是把用户说的文字转化成一种结构化的表示,对话管理是根据刚才那些结果来决定采取什么样的合作。在语言设置这一块就是根据acTIon生成一句话,通过一种比较自然的方式把它读出来。
我认为现在人机交互和传统的人机交互一个主要不同点就在于数据和服务。随着互联网的发展,数据和服务越来越丰富,那人机交互的目的是什么?归根到底还是想获取互联网的信息和各种各样的服务。
语言理解简单来说就是把用户说的话,转换为一种结构化的语义表示,从方法上会分成两个模块:意图的判定和属性的抽取。
比如用户说:"我要买一张下周去上海的飞机票,国航的"。第一个模块就要返回理解,用户的意图是要买飞机票,第二,使用抽取模块,要把这些关键的信息出处理出来,出发时间、目的地、航空公司,从而得到一个比较完整的结构化的表示。
那么,人机对话中的语言理解面临哪些挑战呢?我总结为四类:
表达的多样性。同样一个意图,不同的用户有不同的表达方式。那对于机器来说,虽然表达方式不一样,但是意图是一样的,机器要能够理解这件事情。
语言的歧义性。比如说,"我要去拉萨",它是一首歌的名字。当用户说:"我要去拉萨"的时候,他也可能是听歌,也可能是买一张去拉萨的机票,也可能是买火车票,或者旅游。
语言理解的混乱性,因为用户说话过程当中,比较自然随意,语言理解要能够捕获住或者理解用户的意图。
上下文的理解。这是人机对话交互一个非常大的不同,它的理解要基于上下文。
在语言理解这一块,我们把用户语言的意图理解抽象为一个分类问题,之后,就有一套相对标准的方法解决,比如CNN神经网络、SVM分类器等等。阿里巴巴现在就是采用CNN神经网络方法,并在词的表示层面做了针对性的改进。机器要理解用户的话的意思,背后一定要依赖于大量的知识。比如说,"大王叫我来巡山"是一首歌的名字,"爱探险的朵拉"是一个视频,互联网上百万量级这样开放领域的实体知识,并且每天都会有新的歌曲/视频出现,如果没有这样大量的知识,机器是很难真的理解用户的意图的。那么,在词的语义表示这块,除了word embedding,还引入了基于知识的语义表示向
- 机器学习算法盘点:人工神经网络、深度学习(07-02)
- 2016年人工智能与深度学习领域的十大收购(07-26)
- AI/机器学习/深度学习三者的区别是什么?(09-10)
- 深度学习的硬件架构解析(10-18)
- 麻省理工科技评论评选的14大医疗领域突破科技(上)(10-14)
- 探秘机器人是如何进行深度学习的(09-18)