如何模拟WhatsApp对话
赢了柯洁的AlphaGo让很多人看到了AI太过强大的一面,然而我们大多数人在生活中感受到的AI却是十分“智障”的,不太有人工智能应该有的样子。
能让机器理解人类的语言,或者模仿人类的语言是大家对人工智能最初的幻想,所以在早先,图灵测试一度成为评判人工智能的标准。
对话和翻译应用的是人工智能众多学科分支里自然语言处理(Nature Language Processing,简称NLP)的部分,目的是要解决人和机器之间的沟通问题,是人工智能处理的发端,至今仍面临很多问题。
就拿对话系统来说,市面上各个巨头都推出自家智能语音助理,但鲜有一款能完全摆脱“智障”的嫌疑。
可以说在这条赛道上,大家跑的都不快。但尽管如此还是坚持在跑,就连长期困顿在手机里的Siri,也要推出自己的智能音箱。
“尽管目前形势不太乐观,但是一直跑下去,总会见到成效。”6月1日,微软亚洲研究院副院长周明表示,再坚持5-10年自然语言处理就会看到长足发展。
第二层是核心技术:词汇、短语、句子、篇章的表示。包括机器翻译、提问和回答、信息检索、信息抽取、聊天和对话、知识工程、语言生成、推荐系统。
第三层是“NLP+”:仿照“人工智能+”或“互联网+”的概念,实际上就是把自然语言处理技术深入到各个应用系统和垂直领域中。比较有名的是搜索引擎、智能客服、商业智能和语音助手,还有更多在垂直领域法律、医疗、教育等各个方面的应用。
关于第三层的“NLP+”,市面上大大小小的语音助手有不少,从微软毕业的有两个:小娜(Cortana)和小冰。虽然都是语音助手,但是两者还是有些区别。
小娜通过手机和智能设备介入,让人与电脑进行交流:用户发布命令,小娜理解并执行任务。同时,小娜能够记忆一些用户性格特点、喜好、习惯,然后主动给一些贴心提示。
比如,你过去经常路过某个地方买牛奶,在你下次路过的时候,她就会提醒你,问你要不要买。她从过去的被动到现在的主动,从原来的手机,到微软所有的产品,比如Xbox和Windows,都得到了应用。
“它是一种新的理念,很多人一开始不理解。人们跟小冰一起的这种闲聊有什么意思?其实闲聊也是人工智能的一部分,我们人与人见面的时候,寒喧、问候、甚至瞎扯,天南海北地聊,这个没有智能是完成不了的,实际上除了语言方面的智能,还得有知识智能,必须得懂某一个领域的知识才能聊起来。所以,小冰是试图把各个语言的知识融汇贯通,实现一个开放语言自由的聊天过程。”
首先将网上的论坛、微博或是网站里出现过的对话句子抽取出来,当成训练语料库。当用户输入一个句子时,系统会从语料库里找到一个跟这个句子最相像的句子,而这个句子对应的答复就可以直接输出作为电脑的回复。虽然看起来简单粗暴,但确实奏效。
有的时候,系统找到的句子可能对应了很多回复,它不知道哪个回复最适合当前的输入语句。这时就会再有一个匹配的过程,去判断输入语句跟语料库里的回复在语义上是相关的或者是一致的。
到目前,小冰已经覆盖了三种语言:中文、日文、英文,累积了上亿用户,平均聊天的回数23轮,平时聊天时长大概是25分钟左右。
微软在1998年11月5日成立微软亚洲研究院时就开创了自然语言处理的研究领域,除了200多篇顶级期刊的论文,还有大量的NLP人才。
2016年,微软首席执行官萨提亚在大会上提出了一个概念“对话即平台”(“Conversation as a Platform” ,他认为图形界面的下一代就是对话,它会对整个人工智能、计算机设备带来一场新的革命。
第一层:通用聊天,需要掌握沟通技巧、通用聊天数据、主题聊天数据,还要知道用户画像,投其所好。第二层:信息服务和问答,需要搜索的能力,问答的能力,还需要对常见问题表进行收集、整理和搜索,从知识图表、文档和图表中找出相应信息,并且回答问题,这些统称为Info Bot。第三层:面向特定任务的对话能力,例如订咖啡、订花、买火车票,任务是固定的,状态也是固定的,状态转移也是清晰的,就可以用Bot一个一个实现。通过一个调度系统,通过用户的意图调用相应的Bot 执行相应的任务。它用到的技术就是对用户意图的理解,对话的管理,领域知识,对话图谱等。
除了创造出小娜小冰,微软还要技术释放,让开发者能开发自己的Bot。如果开发者的机器不懂自然语言,这时就可以通过一个叫Bot Framework的工具来实现。
任何一个开发者只用几行代码,就可以通过Bot Framework完成自己所需要的Bot。比如,有人想做一个送披萨外卖的Bot,可以用Bot的框架填入相应的知识、相应的数据,就可以实现一个简单的Bot。很多没有开发能力的小业主,通过简单操作,就可以做一个小Bot吸引来很多客户。
在这个开源平台里有很多小冰的关键技术如何模拟WhatsApp对话。微软有一个叫做LUIS(Language Understanding Intelligent Service)的平台,提供了用户的意图理解能力、实体识别能力、对话的管理能力等等。
比如说这句话“read me the headlines”,识别的结果就是朗读,内容就是今天的头条新闻。再比如说“Pause for 5 minutes”,识别的结果是暂停,暂停多长时间?有一个参数:5分钟。通过LUIS,我以把意图和重要的信息抽取出来,让Bot来读取。
其次是感知智能,主要体现在听觉、视觉和触觉方面,也就是我们通常说的语音技术、图像技术。语音技术用的就多了,比如让Siri听懂你说的话,图像识别主要应用在人脸识别上,喜欢跟随科技潮流的公司一般会把门禁换成人脸识别。
认知智能是我们今天说的重点,主要包括语言、知识和推理。语言的重要性体现在什么地方呢?Siri不能只是识别出来你在说啥,它需要根据你说的话做出回应,这时候就需要理解你在说什么。
在运算和语音、图像识别上,机器已经能达到很高的准度,目前的主要缺口在认知智能上。过去认知智能主要集中在自然语言处理,它简单理解了句子、篇章,实现了帮助搜索引擎、仿照系统提供一些基本的功能、提供一些简单的对话翻译。
周明博士认为语言智能是人工智能皇冠上的明珠,如果语言智能能实现突破,跟它同属认知智能的知识和推理就会得到长足的发展,就能推动整个人工智能体系,有更多的场景可以落地。
第五,在会话方面,语音助手、物联网、智能硬件、智能家居等等,凡是用到人机交互的,基本上都可以得到应用。
最后,在很多场景下,比如说法律、医疗诊断、医疗咨询、法律顾问、投融资等等,这些方面自然语言会得到广泛的应用。
当然,现在的自然语言现在也面临许多困境。最关键的一点是如何通过无监督学习充分利用未标注数据。现在都依赖于带标注的数据,没有带标注的数据没有办法利用。但是很多场景下,标注数据不够,找人工标注代价又极大。
那么如何用这些没有标注的数据?这就要通过一个所谓无监督的学习过程,或者半监督的学习过程增强整体的学习过程。