基于深度学习的自动应答研究

    |     2016年6月8日   |   2016年   |     评论已关闭   |    3260

一、引言

随着数据时代的发展,企业的业务类型也日益电子化与复杂化,如何让用户在繁杂的业务数据中想要找到他们需要的信息正在变得越来越困难。在这样的情形下,搜索引擎(Google,Bing,百度等等)并不能完全满足用户对信息发现的需求,此时用户倾向于通过客服等应答系统快速找到目标信息。随着人工智能技术的不断发展,一些企业已经推出了智能化的自动应答服务,如Siri,Contana,以及华为,淘宝的智能客服,在应用上都取得巨大的成功。这也进一步的说明了,在当前环境下,在面对海量的数据,用户需要这种更加智能的,更加了解他们需求,口味和喜好的信息发现机制。

自动应答服务作为一种基础服务与客服的有效补充,出现由来已久,但一直以来存在信息抽取效率低,或者部分系统仅仅做了模糊匹配,而没有实现对抽象概念的理解。在2006年深度学习被提出以来,图灵实验似乎也不再那么可望而不可及,一些企业开始利用深度学习来建立和优化深度学习在人工智能领域的种种应用,例如2013年的Google Brain项目,以及京东的Jimi机器人。这些前人的实践让我们看到了深度学习在自动应答服务上的应用可行性。

银行作为一个客服密集型的行业,具有领域知识相对集中,服务用户群体相对较为广大等特点。这些特点使得银行在实践自己的智能化自动应答系统时,天然具有一定优势。本文以银行客服为例,介绍基于深度学习的自动应答系统的设计思路与架构。

二、自动应答与深度学习

1、自动应答系统

应答系统(Question Answering System, QA)是信息发现的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题,是目前人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。因为在很多情况下,用户其实并不明确自己的需要,或者他们的需求很难用简单的关键字来表述。随着自动化应答的出现,用户获取信息的方式从简单的目标明确的数据的搜索转换到更高级更符合人们使用习惯的信息发现。

自动应答系统给某个提问提供简单而精确回答,与信息检索任务有很大的差别。目前的信息检索系统能让我们对与提问切题的相关文献进行定位,把从文本的关键字匹配中抽取到的答案的呈现给用户。在信息检索中,相关文本的识别是使用将提问与文献集匹配的方法来实现的,信息检索系统并不负责回答用户的问题。信息发现与信息检索不同,信息发现需要理解用户的语意,并找到正确的答案–答案和提问之间通常并不存在关键词上的直接匹配。以百度提问为例,一个典型的自动应答的答案应该如图1所示


百度提问并没有简单检索提问的关键词,并把所有符合关键词的结果筛选出来供用户自行选择,而是理解了这个问题,并直接给出了回答。以百度知道为例,一个自动应答系统的架构如图2所示

 
一个自动应答系统包括问题分析、答案抽取、知识库这三个主要模块。用户的问题依次经过问题分析、答案抽取这两个模块的处理。问题分析模块对用户的提问进行分析,确定问题的语义类型,预测答案的类型,例如答案是回答人物、时间、地点或者还是回答人物的年龄、商品的价格等;判断用户的提问是否为确定性问题,对于有明确具体答案的确定性问题,分析问题的结构并直接定位用户的所求。答案抽取模块从知识库中检索问题的答案并返回给用户。对于确定性问题,根据问题的要点直接检索Ontology并返回答案;对于非确定性问题或者未找到答案的确定性问题,通过检索优质问答资源获取答案,即计算用户的提问与优质问答资源中的问题的相似度,获取相同问题或同义问题,直接返回满足提问的答案。

可以看出,自动应答系统所使用的技术有很多,如自然语言处理,分词,语言理解,知识图谱,命名实体识别,意图识别,问答匹配,等等,在任何一个部分/环节进行改进都会提高整体的效果。但最主要的影响自动问答的准确率的方面有两个:一是对问题的理解,先对用户输入的文本进行识别,在对识别后的命名实体进行抽取,对应到人名、地名、商品名、机构名等不同类别,更好地理解用户的语言。二匹配正确的答案,通过抽取和排序候选答案,给用户反馈最佳答案和建议。这种情况下,需要引入深度学习技术,以提高答案的准确率。

2、深度学习

深度学习(Deep Learning)是机器学习的一个分支,它基于试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的一系列算法。2006年,加拿大多伦多大学教授Geoffrey Hinton提出了深度学习这一概念,该概念主要包含有两个主要观点:1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wise pre-training)来有效克服,在深度学习中,逐层初始化是通过无监督学习实现的。当前多数分类、回归等学习方法为浅层结构算法,其局限性在于有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定制约。深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,并展现了强大的从少数样本集中学习数据集本质特征的能力如图3)。

深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的不同在于:1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点;2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息如图4 )。


至今已有多种深度学习框架,如深度神经网络、卷积神经网络和深度信念网络和递归神经网络已被应用于计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并取得了极好的效果。在自动应答领域,深度学习主要有如下一些优势:1)深度神经网络有更强的学习能力。特别在数据量很大的时候,对特征的学习能够对数据有更本质的刻画,深度学习会随着数据量的增加,效果也会持续提升;2)更少的人工干预,它会自动从特征中学习出最好的特征,不需要做更多的人工特征的抽取;3)更懂用户,它可以通过对用户数据的学习,从而更理解用户,更懂用户;4)更精准,深度学习目前在很多的应用场景上的准确性都远远超过其他的算法;5)更智能,相比普通的机器学习有更强的数据处理能力和自学习能力,因此它更加智能。根据京东客服机器人Jimi之前的反馈报告,可以看出使用深度学习主要在命名实体识别,用户意图识别,问答匹配环节上都有不同程度的提高,整体的效果也随之提升如图5)。


银行自动应答系统的设计与应用

1、 自动应答系统整体设计


对银行而言,银行的领域知识是一个垂直领域,知识相对单一和集中,这为银行的知识库构建提供了一定程度的方便。最外层为接入渠道,中间层为服务层,底层为知识库。渠道可以为当前网银的在线咨询,电话、微信或手机银行的自助服务,或者可以接入其它渠道如合作伙伴甚至是多媒体机。从渠道接受的用户提问转为文本后进行分词,使用深度学习进行命名实体识别,以明确客户所关心的主题,然后发送到下一步进行客户意图识别,明确其所需要的答案类型,最后通过问题匹配来匹配正确度或者相关度最高的答案。这一设计的基本思路是:对于一个垂直领域知识库而言,知识,也就是需要回答的答案是有限的,但是针对这些答案的问题可能会以千奇百怪的方式被提出来,深度学习则是为各种问题提供了一种分类和拟合的方法,以使最终提取的知识准确率较高如图6)


下文中将对命名实体识别、客户意图识别、问答匹配这三个关键部分进行进一步说明。

2、 命名实体识别

命名实体识别是对用户的输入进行识别,主要针对时间,地点,产品,机构,卡号等关键维度进行识别和提取,以明确问答匹配时的关键词,同时也为更好地理解用户语言和意图建立基础如图7)


3、 用户意图识别

意图识别是自动应答系统里面非常重要的一部分,首先要通过用户的提问,进行文本分词,以判断用户的意图。只有意图识别对了,才能在相应的类别里面反馈用户的答案。通常将用户的意图分为:产品推荐:如理财产品的咨询;信息查询,如网点营业时间,当前汇率利率等;投诉反馈,如遭遇不公正待遇;问题咨询,如K宝不能使用等问题要求解决;闲聊,诸如今天天气如何之类的聊天内容。在这一步,需要通过深度学习对用户的输入文本进行意图分类,以决定下一步问答匹配的分类如图8)

 

4、问答匹配

根据用户的意图分类,以及关键词,使用深度学习进行答案匹配,整个匹配过程是一个分类过程,返回按正确度或匹配度倒序排序的答案列表,将匹配度最高的答案呈现给用户。如果不存在匹配的答案,则将问题切换至人工客服。比较关键的一点是在使用关键词进行匹配时需要同时考虑语义相同的词语,例如客户在提问“收益最高的理财产品”,匹配的需要是“本利丰”等具体的产品

5银行客服应用

对于银行客服而言,这种基于深度学习的自动应答系统的应用主要体现在如下几个场景:

问题反馈(Problem Feedback)如用户问:我在美国亚马逊购物,使用银联通道刷信用卡失败了,是什么没开通?这时自动应答就进入“客服”模式,准确定位问题,快速反馈用户。

产品推荐(Product Recommender) 如用户说:我买的理财产品在哪一天到期,到期后有什么其它产品推荐?这时自动应答就进入“客户经理”模式,首先查询客户当前的理财状态,然后根据当前推荐的理财产品为其进行推荐。

生活伴侣(Life Partner),如用户问:离我最近的网点几点下班?这时自动应答会去找答案,甚至可以聊聊天气和人生。

相对于人工客服,这种基于深度学习的自动应答系统的应用主要有如下一些优势:

7*24小时在线。

可以线性扩展的性能,深度学习框架如Caffe,支持硬件上的线性扩展,通过服务器增加GPU等计算资源可以显著提高系统的性能表现,在硬件资源充足时可以同时接待所有的用户,对用户而言不必等待或者忍受漫长的排队。

响应迅速。按现有硬件水平和一些企业发布的产品,如siri之类的表现,客户的输入,即使是语音输入,也会在秒级得到响应,这种自动应答的速度是远远超过人工客服的,将给会用户带来良好的使用体验。

答案统一。人工客服由于培训或其他问题,可能会出现多个客服答案不唯一的情况,对于客户而言体验比较糟糕,甚至会引发质疑。自动应答的培训就是深度学习的训练过程,在训练完成后,甚至可以对历史上的错误回答进行纠错处理。

成本更低。自动应答客服的成本仅需要硬件投入和软件开发成本,以及后期运维成本,但可以为人工客服带来相当多的分流。根据京东发布的数据,其自动应答机器人1天的接待量超过了整个美国Walmart在45天内的人流量,占整体客服服务占比30%多,在相当程度上降低了运营成本。

存在的问题与未来的展望

尽管以深度学习为代表的人工智能在2006-2013年间得到了极大的发展,以Siri为代表的一些自动应答系统也取得了世人瞩目的成功,但智能化自动应答之路依然任重而道远。对于一些问题,尤其是需要复杂上下文推理的问题,自动应答的表现还远远不尽如人意。如这样一个提问:富兰克林是怎么死的?那很难得到满意的回答,此时很难判断这指的是本杰明·富兰克林,还是富兰克林·罗斯福。需要更多的语境帮助理解的情况下,才可能得出一个比较合理的回答。所幸的是,银行的业务知识相对单纯和独立,有理由期待,在银行的应用会有更好的效果。

此外,自动应答并不能完全取代人工客服,人工客服仍然是最为重要的客服手段。本文所讨论的内容,主要是将繁杂、相对简单和有统一答案的问题交由自动应答系统处理,为人工客服分流,解放客服处理简单重复劳动的无谓压力,将精力集中在更为高端,更需要专注的领域。

本文刊载于《客户世界》2016年4月刊,版权作品,欢迎转载并标明出处;作者吴凡,臧其事作者单位为中国农业银行客服中心(上海)运营一部

转载请注明来源:基于深度学习的自动应答研究

相关文章

噢!评论已关闭。