人工智能时代前沿技术社区

首页 > 人工智能 > 热点

开放领域的聊天机器人

语音识别负责接收用户的语音输入,然后将语音转换成文字形式,交给自然语言理解模块。自然语言理解模块在理解了用户输入的语义之后,将计算出来的语义表达式输入到对话管理模块中。对话管理模块负责协调各个模块的调用和维护,并选择合适是回复方式,然后交给自认语言生成模块进行处理。自然语言生成模块生成回复的文本,并将语音输出给语音合成模块,最后将语音输出给用户。

作者:谭盼雨 | 2017-08-21 10:22:44 | 来源:飞马网

鉴于人工智能现在火的一塌糊涂,飞马网邀请了北京大学博士陈晨,在线为大家研究关于“开放领域的聊天机器人”。

1.png

陈晨

陈晨,博士,北京大学助理研究员。曾参与Google、百度、腾讯等互联网公司研发项目并负责落地实践,主要研究领域为自然语言处理、机器学习、深度学习,已发表多篇论文。 

聊天机器人的发展

一开始,陈老师就为我们先介绍了聊天机器人的发展历程。源于图灵在1950年发表的文章,文章提出了图灵测试,是指将测试者与被测试者分分开,测试者通过一些装置对被测试者进行提问,如果最后有30%的测试者无法分辨出对面的人还是机器,那么这台机器就可以通过测试,可以被认为具有人类智能。其中30%是图灵对2000年的机器思考能力的预测,但到目前为止,许多技术还是落后的。同时,也有人认为图灵测试是人工智能的终极目标。

2.png

近年来,随着深度学习技术的发展,围绕着聊天机器人的商业应用也是层出不穷,比如苹果的Siri、微软的Cnrtana和小冰、Google Now、百度的度秘、亚马逊的蓝牙音箱等,不管是大企业还是小公司,都将聊天机器人看成是下一代人机交互的服务渠道。

陈老师表示,聊天机器人不单单是提供了一种服务渠道,它还改变了服务本身,能够通过历史数据训练语言模型来取代人的作用。总得来说,聊天机器人技术是对信息的组织和处理能力在搜索引擎的基础上又往前迈了一大步。

对聊天机器人的系统进行总结可以看出他们的系统框架中分为语音识别和文字识别两大模块。

3.png

语音识别负责接收用户的语音输入,然后将语音转换成文字形式,交给自然语言理解模块。自然语言理解模块在理解了用户输入的语义之后,将计算出来的语义表达式输入到对话管理模块中。对话管理模块负责协调各个模块的调用和维护,并选择合适是回复方式,然后交给自认语言生成模块进行处理。自然语言生成模块生成回复的文本,并将语音输出给语音合成模块,最后将语音输出给用户。

陈老师为我们总结出了聊天机器人的发展有三代:

基于规则→基于检索→基于生成模型

聊天机器人的分类

其中聊天机器人的分类也是多种的:

按领域分类

从话题层面进行区分,在开放领域下,用户可以和机器人聊任何话题,在专业领域下,只能聊机器人设定的主题。

按场景分类

俺场景分为多轮对话和单轮对话。多轮对话是用户带着特定目的而来,希望得到满足特定限制条件的信息或服务。而单轮对话当前大量研究都是面向短对话的,如微软的小冰。

按技术路线分类

可以分为检索式对话聊天系统、生成式对话聊天系统、检索和生成相结合的方法。

检索式对话聊天系统:在已有的对话语料库中通过排序学习和匹配技术找到适合当前输入的最佳回复。

生成式对话聊天系统:通过一种类似机器翻译中常用的编码—解码的过程去逐字逐句地生成一个回复。

按形式分类

可以分为主动和被动。主动的对话,在人机对话的时候,机器人能引入新内容以打破对话僵滞的状态。被动的对话,一般认为,人类应该主导人机对话,所以传统方法中,机器人是被动的,只需回应就够了。

循环神经网络典型技术原理

在传统的神经网络模型中,从输入层到输出层,层与层之间的节点是互相连接的,对于序列数来说,前后句子并非是独立的,但传统神经模型是无法处理他们之间的关系的。而在循环神经网络模型是有记忆并将记忆内容输出,而他们之间节点也是有连接的。

但是RNN模型虽然有记忆功能,但是记忆非常短,不能学到长期的依赖关系。这种RNN叫做长短时记忆网络,在实践中记忆很好,相比基本的RNN模型,它可以学习长期的依赖信息,缓解梯度消失的问题。

生成式对话经典模型

开放领域聊天机器人的评价指标

评价指标:人工平均

BLEU(机器翻译)

ROUGE(机器翻译)

METEOR(文本摘要)

Perplexity(语言模型的评价指标)

在演讲最后,陈老师用一句话结束了本次演讲:

目前聊天机器人能够像人一样对话依然有很长的路要走......

最后,在回答在线网友们的问题时,陈老师告诉我们,要想了解关于人工智能方面的知识,可以到开源社区,学习一些深度学习框架,比如用深度学习框架tensorflow一步步实现下。

【责任编辑:谭盼雨】