微软小冰是一个自然语言对话系统,她接收用户发送的文字、图像或者语音等信息,识别并理解其内容,返回用户一个适当的回复。玩过微软小冰的朋友能感受到对于一些指示明确的对话,小冰能回复的很真实,但有的时候也充满了“尬聊”的气息。
微软小冰这个自然语言对话系统包含了三个层次,分别是聊天、问答和对话。所以其难度还是很大的,因为目前市面上一些其他的自然语言对话系统,都是专注于某一特定领域的某一层次的功能开发,而微软小冰因为功能广泛、其要求涵盖的技术就更多了,难度很大,所以目前能达到这个效果已经非常不错了。
第一层次:聊天,就是日常闲聊,主要目的就是“解闷”,一般没有什么太多实质性的内容。第二层次:问答,主要目的就是获取想要的信息,了解用户意图,这也是为对话做铺垫。第三层次:对话,也就是面对特定意图的对话,也是用户解决问题的核心部分。
近几年,Deep Learning逐渐占据主流的研究方向,自然语言处理也逐渐从基于规则、基于统计的思想转战到深度学习网络。其中循环神经网络(RNN)就是处理自然语言的主要利器,RNN是一种处理时序序列的神经网络,任何位置的输出跟前一位置的信息有关,我们说跟隐层状态相关,这样基于大量的训练语料,我们就能得到一个描述当前语料库的每个句子的RNN模型。
而在实际中,大体上有两种方式可以完成这三个层次的功能,一是基于搜索匹配的方式;二是基于生成模型的方式。基于搜索的方式就是将网上论坛、微博等一些社交网站的对话提取出来,当作训练语料库。当用户输入一个句子时,模型就从语料库中去搜索跟这个句子最相似的句子,将其对应的回复返还给用户即可,当然在实践并不是我所说的这么简单,其中还要涉及对面对多种可能回复的选择与匹配问题。而生成模型主要通过编码-解码完成对用户的回复。
无论是基于搜索的方法还是基于生成模型的方法,都需要配合一些辅助机制,像Attention model的注意力机制、以及结合知识图谱等来丰富解答。
目前自然语言对话系统的发展还有很多问题亟待解决,像如何完成多轮对话、如何给予个性化解答等,未来期待更多关键技术的创新与革命,达到更好的效果。
本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/phone/35690.html