智能聊天机器人

xiaozhu12371237 2016-09-28 08:59:47

目前市场上有各种类型的聊天机器人,比如有京东JIMI客服机器人,儿童教育机器人,小冰娱乐聊天机器人,Alexa家居控制、车载控制机器人,Viv全方位服务类型机器人等。这是从应用方向对聊天机器人的一种划分。

如果对应用目的或者技术手段进行抽象,聊天机器人可以有以下两种划分方法。

目标驱动(Goal Driven) VS. 无目标驱动(Non-Goal Driven)聊天机器人

目标驱动的聊天机器人指的是聊天机器人有明确的服务目标或者服务对象,比如客服机器人、儿童教育机器人、类似Viv的提供天气/订票/订餐等服务的服务机器人等,这种目标驱动的聊天机器人也可以称作特定领域的聊天机器人。

无目标驱动聊天机器人指的是聊天机器人并非为特定领域服务目的而开发,比如纯粹聊天或者出于娱乐聊天目的以及计算机游戏中的虚拟人物聊天机器人都属于此类。这种无明确任务目标的聊天机器人也可以称作为开放领域的聊天机器人。

检索式 VS. 生成式聊天机器人

检索式聊天机器人指的是事先存在一个对话库,聊天系统接收到用户输入句子后,通过在对话库中以搜索匹配的方式进行应答内容提取。很明显,这种方式对对话库要求很高,需要对话库足够大,能够尽量多地匹配用户问句,否则会经常出现找不到合适回答内容的情形(因为在真实场景下用户说什么都是可能的),但它的好处是回答质量高,因为对话库中的内容都是真实的对话数据,表达比较自然。

生成式聊天机器人则采取不同的技术思路,在接收到用户输入句子后,采用一定技术手段自动生成一句话作为应答,这个路线机器人的好处是可能覆盖任意话题的用户问句,但是缺点是生成应答句子质量很可能会存在问题,比如语句不通顺、句法错误等看上去比较低级的错误。

本文重点介绍开放领域、生成式的聊天机器人如何通过深度学习技术来构建,很明显这是最难处理的一种情况。

好聊天机器人应该具备的特点

一般而言,一个优秀的开放领域聊天机器人应该具备如下特点:

首先,针对用户的回答或者聊天内容,机器人产生的应答句应该和用户的问句语义一致并逻辑正确,如果聊天机器人答非所问或者不知所云,或者总是回答说“对不起,我不理解您的意思”,无疑是毁灭性的用户体验。

其次,回答应该语法正确。这个看似是基本要求,但是对于采用生成式对话技术的机器人来说其实有一定困难,因为机器人的回答是一个字一个字生成,要保证这种生成的若干个字句法正确,并不容易做得那么完美。

再次,应答应该是有趣、多样而非沉闷无聊的。尽管有些应答看上去语义没什么问题,但目前技术训练出的聊天机器人很容易产生“安全回答”的问题,就是说,不论用户输入什么句子,聊天机器人总是回答“好啊”、“是吗”等诸如此类,看上去语义说得过去,但是这给人很无聊的感觉。此外,聊天机器人应该给人“个性表达一致”的
感觉。因为人们和聊天机器人交流,从内心习惯还是将沟通对象想象成一个人,而一个人应该有相对一致的个性特征,如果用户连续问两次“你多大了”,而聊天机器人分别给出不同的岁数,那么会给人交流对象精神分裂的印象,这即是典型的个性表达不一致。而好的聊天机器人应该对外体现出各种基本背景信息以及爱好、语言风格等
方面一致的回答。

几种主流技术思路

当前聊天机器人的几种主流技术包括:基于人工模板、基于检索、基于机器翻译技术,以及基于深度学习的聊天机器人。

基于人工模板的技术通过人工设定对话场景,并对每个场景编写针对性的对话模板,模板描述了用户可能的问题以及对应的答案。这个技术路线的好处是精准,缺点是需要大量人工工作,而且可扩展性差,需要一个场景一个场景去扩展。目前市场上各种类似于Siri的对话机器人中都大量使用了人工模板的技术,但其精准性是其他方法还无法比拟的。

基于检索技术的聊天机器人则走的是类似搜索引擎的路线,事先存储好对话库并建立索引,根据用户问句,在对话库中进行模糊匹配找到最合适的应答内容。

基于机器翻译技术的聊天机器人把聊天过程比拟成机器翻译过程,就是说将用户输入聊天信息Message,翻译成聊天机器人应答Response的过程类似于把英语翻译成汉语。基于这种假设,就完全可以将统计机器翻译领域相对成熟的技术直接应用到聊天机器人开发中来。

基于深度学习的聊天机器人技术是本文后续内容主要介绍的技术路线,总体而言,绝大多数技术都是在Encoder-Decoder(或者称作Sequence to Sequence)深度学习技术框架下改进的。使用深度学习技术来开发聊天机器人相对传统方法来说,整体思路非常简单并可扩展。

利用深度学习构建聊天机器人

如上所述,目前对于开放领域生成式聊天机器人技术而言,多数采用了Encoder-Decoder框架,所以这里首先描述Encoder-Decoder框架技术原理。然后分别针对聊天机器人研究领域需要特殊考虑的主要问题及其对应的解决方案进行讲解,这些主要问题分别是:多轮会话中的上下文机制、“安全回答”以及个性信息一致性问题。

Encoder-Decoder框架

Encoder-Decoder框架可以看作一种文本处理领域的研究模式,应用场景异常广泛,不仅可用在对话机器人领域,还可以应用在机器翻译、文本摘要、句法分析等各种场合。图1是文本处理领域里常用的Encoder-Decoder框架最抽象的一种表示。Encoder-Decoder框架可以直观地理解为适合处理由一个句子(或篇章)生成另外一个句子(或篇章)的通用处理模型。对于句子对(X,Y),我们的目标是给定输入句子X,期待通过Encoder-Decoder框架来生成目标句子Y。X和Y可以是同一种语言,也可以是两种不同的语言。而X和Y分别由各自的单词序列构成:
...全文
866 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
一夜了 2020-01-20
  • 打赏
  • 举报
回复
可以看一下:https://blog.csdn.net/yiyele/article/details/103589258,挺不错的
zekelove 2016-09-29
  • 打赏
  • 举报
回复
智能机器人,未来的发展趋势

949

社区成员

发帖
与我相关
我的任务
社区描述
为开发者提供高通丰富的解决方案及全面技术下载内容。本版以AI人工智能、WoS移动笔记本、XR、IoT 物联网、Auto 汽车、生成式AI等核心板块组成,为开发者提供一个便捷及高效的学习交流平台。
人工智能物联网机器学习 企业社区 北京·东城区
社区管理员
  • Qualcomm开发
  • csdnsqst0050
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧