聊天机器人的核心技术之探讨

聊天机器人的技术主要包含三部分内容:单轮聊天、多轮聊天以及个性化聊天。单轮聊天研究的是如何针对当前输入信息给出回复。这是聊天机器人研究中最基本的问题,也是构建聊天机器人首先要解决的问题。多轮聊天是研究如何在回复过程中考虑上下文信息。这个问题不仅在聊天机器人中,在任何对话系统的研究中都是本质问题。由于对话上下文每一句都很短,而且不同上下文语境间没有明显的边界,也没有大规模的标注语料,上下文分析,特别是聊天机器人中针对开放域对话的上下文分析,一直是个难点。个性化聊天是要让聊天机器人可以根据用户的喜好以及当前的情绪等给出不同的回复。这是聊天机器人对话中独有的问题,目的是提高用户对于聊天机器人“陪伴”角色的认可度,从而增加用户黏性。

目前聊天机器人的实现方式包括检索式和生成式两类。检索式聊天机器人是利用社交网络中已有的大量对话语料来构建索引,当机器人接收到用户消息后,从索引中查找可能的候选回复,并通过对候选进行排序找到相关回复返回。而生成式聊天机器人则直接从大量的人与人的对话中学习对话模型,然后利用对话模型为收到的用户信息“创作”回复。


检索式聊天机器人的本质是对已有的人类回复进行筛选重用来回复新的信息。一方面,这是一个优势,因为人类的回复不仅通顺流畅,而且往往还包含了网友的“智慧”,所以检索式聊天机器人只要能够找到与输入信息语义相关并且和上下文逻辑一致的回复,就可以和用户顺畅地进行对话,而且还可以时不时爆出“金句”。另一方面,这也是检索式聊天机器人的局限,回复的好坏很大程度上依赖于索引的质量和是否能够检索到合适的候选。前者很难控制,后者则在很多时候很难实现。尤其在多轮聊天中,要考虑上下文信息,如何检索到能和上下文逻辑一致的回复候选是检索系统无法控制的。而在个性化聊天中,机器人只能被动地从已有的回复候选中挑选和当前用户画像相匹配的回复。一旦候选中没有合适的回复,后面的排序过程就无法发挥任何作用,机器人也不可能给出合适的回复。正因如此,很多时候聊天机器人的回复不好并非没有做好匹配和排序,而是根本就找不到合适的回复而这种情况在多轮聊天和个性化聊天中表现得尤为突出。

生成式聊天机器人模型借鉴了机器翻译中的编码-解码模型,是该模型在回复生成中的应用。其原理比较简单:(1)在编码阶段,利用一个神经网络(如循环神经网络)将输入信息编码成向量;(2)在解码阶段,以编码向量为条件的语言模型生成可能的回复。这个语言模型通常也通过循环神经网络实现。一般的循环神经网络无法很好地捕捉到词与词之间长距离的依赖关短期记忆单元(Long-Short Term Memory Unit)或者门限循环单元(Gated Recurrent Unit)作为循环神经网络的实现。在实际应用中,这个看似简单的模型被验证可以生成自然流畅的回复语句,而且整个过程完全由数据驱动:模型从大量的训练语料中学习到回复的模板,并存储到循环神经网络的记忆单元中,然后利用学习到的模板为新的输入信息组合出可能的回复。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();