一种电网任务型对话系统的制作方法

文档序号:19155649发布日期:2019-11-16 00:43阅读:132来源:国知局
一种电网任务型对话系统的制作方法
本发明涉及客服系统领域,尤其涉及一种电网任务型对话系统。
背景技术
:对于客服机器人的发展阶段而言,大致有四类:基于关键词匹配的检索式机器人、第二阶段是运用一定的模板,支持多个词匹配,并具有模糊查询能力、第三阶段是在关键词匹配的基础上引入了搜索技术,根据文本相关性进行排序,第四阶段是以神经网络为基础,应用深度学习理解意图的智能客服技术。中国的智能客服产业也非常发达,尤其是在2017年的ai风潮后,相关机构称在2020年中国智能客服市场将达到万亿级别。目前,在中国智能客服市场已经涌现了一大批提供第三方智能客服服务的企业和智能客服产品。当前,对话系统在各个领域越来越引起人们的重视,深度学习技术的不断进步极大地推动了对话系统的发展。具体来说,对话系统大致可分为两种:任务导向型(task-oriented)对话系统和非任务导向型(non-task-oriented)对话系统(也称为聊天机器人)。面向任务的对话系统旨在帮助用户完成实际具体的任务,例如帮助用户找寻商品,预订酒店餐厅等。深度学习已成为对话系统的一项基本技术。研究人员将神经网络应用于传统任务导向型对话系统的不同组成部分,包括自然语言理解、自然语言生成、对话状态跟踪。近年来,端到端的框架不仅在非面向任务的聊天对话系统中流行,而且在面向任务的对话系统中逐步流行起来。随着社会的不断发展,很多服务平台都设立了服务热线。95598供电服务热线是社会众多热线中的一种,一般以人工服务为主。但这一热线也存在一些效率慢、服务素质低下、工单派发不及时等问题,例如全国有很多城市,每个城市每个家庭的供电系统都有所差异,而且同一时间接听到的问题不能及时聆听和解决,导致滞后性甚至会有更严重的问题出现,除此之外,在拨打热线过程中,接线员没有做到认真耐心的聆听群众的问题,在不耐烦或者无所谓的状态下进行和群众的沟通,导致顾客满意程度下降。技术实现要素:本发明要解决的技术问题和提出的技术任务是对现有技术方案进行完善与改进,提供一种电网任务型对话系统,以实现高效的电网任务型对话系统,解决95598服务热线效率慢、服务素质低下、工单派发不及时等问题为目的。为此,本发明采取以下技术方案。一种电网任务型对话系统,包括命令解析服务模块,对话管理模块dialogpolicy,模型训练服务模块,前端服务模块;所述的命令解析服务模块包括意图识别子模块nlu和语义槽填充子模块statetracker,意图识别子模块nlu和语义槽填充子模块statetracker与标签体系配合完成命令解析,意图识别子模块nlu识别用户输入的自然语言语句的意图,语义槽填充子模块statetracker识别用户输入的自然语言语句中与意图相关的语义槽信息;命令解析服务模块提供开发者完成系统开发、模型训练管理和命令解析接口三个阶段的功能;对话管理模块dialogpolicy包括意图内对话控制子模块和意图间对话控制子模块,为开发者提供调用任务型对话机器人系统的服务接口;模型训练服务模块包括消息代理子模块,由消费者用来训练命令解析的算法模型;前端服务模块通过在前端页面中的交互方式,为待创建的任务型对话系统定义支持的意图、添加词表、定义语义槽参数、标注语料以及管理模型训练任务。通过自然语言处理构建电子渠道智能应答系统,并在此基础上与现有的标签成果融合应用特定场景规划,提供预设问题,缩小检索范围,提高服务效率,同时也可以给予相关的业务推荐和后续服务跟踪,以实现高效的电网任务型对话系统,解决95598服务热线效率慢、服务素质低下、工单派发不及时等问题,可以实现7×24小时全天在线服务,大幅提高客服人员生产力。作为对上述技术方案的进一步完善和补充,本发明还包括以下附加技术特征。基于用户标签的意图场景识别方法为:步骤1:对用户输入信息进行自然语言进行处理转化为结构化数据;步骤2:根据转化的数据进行意图识别,并对得出的每一个意图进行打分;步骤3:将用户标签体系生成的向量和每一个候选意图的向量进行相似度计算;步骤4:将上述步骤3计算的相似度作为另一个分数,与传统方式得出的分数进行加权相加、重排,并将得分最高的候选意图作为最终的用户意图。基于用户标签的意图场景识别方法及系统,加入标签体系与意图识别的融合,通过用户标签的方式来实现意图识别,能满足个性化的功能,并提高了准确率,能够有效提升用户体验。所述的语义槽填充子模块statetracker,基于「有限状态」,考虑电力停电数据场景,定义必填槽位:是否欠费、居住地、电话号码、根据槽位设计具体问题,按预设顺序发给用户收集槽位值。实现简单,可用于非常标准化的简单场景。所述的语义槽填充子模块statetracker,基于frame,frame由一组slots构成,某一时刻的frame相当于槽位状态当时的快照每个slot关联一个问题,用户回复某个问题后,系统抽取回复的消息,填充任何可填槽位,若槽位完整,则发起api调用,若用户一次提供多个槽位值,则填充所有槽位,不应重复询问,故需做状态迁移管理rule-based或statistical-based。能够有效提升填槽效果。对话状态控制流程为:1)当用户输入一句话后,对话管理模块dialogpolicy首先根据当前用户对话上下文的信息判断是否处于一个意图对话的轮次中:缓存服务器中存储没有该对话的上下文,则返回“否”;缓存服务器中有该对话话上下文,但是超时,则返回“是”;缓存服务器中有存储该对话的上下文,没有超时,并且“结束标志位”是“假”时,返回“是”,否则返回“否”;2)如果当前对话处在一个意图对话的轮次中,则交给意图内对话控制子模块进行后续处理,否则交给意图间对话控制子模块进行后续处理。有效实现对话总体控制流程。意图内对话控制子模块的对话管理通过白然语言交互的方式,向用户询问并填充那些完成当前意图需要的语义槽参数,直到所有需要的语义槽参数获取完毕,才能结束一个意图内的会话;语义槽合并的任务是将当前输入的命令解析识别得到的语义槽,与上下文中存储的当前意图中的语义槽集合进行合并。上下文中存储的语义槽通常是在之前的会话轮次中获取得到的语义槽,但是由于当前意图必要的语义槽还未获取完毕,所以存储在对话上下文中。实现意图内对话控制子流程意图间对话控制子模块的对话控制由两部分组成,一部分是意图间的上下文共享,在每个意图对话轮次开始时,通过对话状态中的输入上下文共享语义槽参数,在每轮意图对话完成后,更新每个上下文的生命周期(lifespan),并生成输出上下文;另一部分是基于输入输出上下文的在意图分类中体现的对话控制。实现意图间对话控制子流程。命令解析服务模块在训练阶段首先生成训练语料并初始化训练任务,接着向模型训练服务模块发送模型训练的任务请求,模型训练任务模块中的消息代理模块接受到训练任务后,存储于任务队列中,模型训练服务模块从消息队列中取出训练任务,提交给celery的消费者,由消费者训练并保存模型到数据库中;模型训练服务模块会跟踪训练任务的不同状态,并记录到数据库中,命令解析服务模块能够根据任务的训练状态,获取到最新的可以模型。实现模型训练。开发者在前端页面中,通过交互方式,为待创建的任务型对话系统定义支持的意图、添加词表、定义语义槽参数、标注语料以及管理模型训练任务。实现前端服务。有益效果:通过构建电子渠道智能应答系统,并通过现有的标签成果融合应用特定场景规划,提供预设问题,缩小检索范围,提高服务效率,同时也可以给予相关的业务推荐和后续服务跟踪,以实现高效的电网任务型对话系统,解决95598服务热线效率慢、服务素质低下、工单派发不及时等问题,可以实现7×24小时全天在线服务,大幅提高客服人员生产力。附图说明图1是本发明系统逻辑架构示意图。图2是本发明命令解析模块架构示意图。图3是本发明电力用户标签设计过程示意图。图4是本发明基于用户标签的意图场景识别方法示意图。图5是本发明对话控制总体流程图。图6是本发明判断是否在意图内对话轮次中的流程示意图。图7是本发明意图内对话控制流程图。图8是本发明意图间对话控制模块流程图。图9是本发明基于celery和redis的模型训练服务示意图。图10是本发明react前端框架示意图。图11是本发明应用架构示意图。图12是本发明智能客服系统与客户交流机制示意图。图13是本发明关键词提取法流程示意图。图14是本发明问题匹配正确的答案流程示意图。图15是本发明bp神经网络示意图。图16是本发明bp神经网络模型提取关键词流程示意图。图17是本发明的对话状态类型图。具体实施方式以下结合说明书附图对本发明的技术方案做进一步的详细说明。如图1-2所示,一种电网任务型对话系统,包括命令解析服务模块,对话管理模块dialogpolicy,模型训练服务模块,前端服务模块;命令解析服务模块包括意图识别子模块nlu和语义槽填充子模块statetracker,意图识别子模块nlu和语义槽填充子模块statetracker与用户标签体系配合完成命令解析,意图识别子模块nlu识别用户输入的自然语言语句的意图,语义槽填充子模块statetracker识别用户输入的自然语言语句中与意图相关的语义槽信息;命令解析服务模块提供开发者完成系统开发、模型训练管理和命令解析接口三个阶段的功能;对话管理模块dialogpolicy包括意图内对话控制子模块和意图间对话控制子模块,为开发者提供调用任务型对话机器人系统的服务接口;模型训练服务模块包括消息代理子模块,由消费者用来训练命令解析的算法模型;前端服务模块通过在前端页面中的交互方式,为待创建的任务型对话系统定义支持的意图、添加词表、定义语义槽参数、标注语料以及管理模型训练任务。如图3所示,标签体系中,电力客户标签库遵循“相互独立,完全穷尽”的设计原则,按照“发现特征、提炼标签、构建目录”的步骤,通过迭代方式逐步实现:(1)发现特征:归纳总结、分析挖掘数据记录,发现客户业务办理行为、渠道偏好等业务特征。(2)提炼标签:提炼业务特征,或组合多个业务特征,以简洁精确的方式表达出来,形成客户标签。(3)构建目录:从行业特点、业务流程、专业领域理念等多个维度组织、管理标签,构建客户标签目录。以系统现有的数据为基础,结合其他渠道的数据,从原始数据及业务经验中梳理出一批客户标签,利用数据分析挖掘方法构建更多、更完善的标签,形成客户标签库雏形。如图4所示,基于用户标签的意图场景识别方法为:步骤1:对用户输入信息进行自然语言进行处理转化为结构化数据;步骤2:根据转化的数据进行意图识别,并对得出的每一个意图进行打分;步骤3:将用户标签体系生成的向量和每一个候选意图的向量进行相似度计算;步骤4:将上述步骤3计算的相似度作为另一个分数,与传统方式得出的分数进行加权相加、重排,并将得分最高的候选意图作为最终的用户意图。基于用户标签的意图场景识别方法及系统,加入标签体系与意图识别的融合,通过用户标签的方式来实现意图识别,能满足个性化的功能,并提高了准确率,能够有效提升用户体验。语义槽填充子模块statetracker,基于「有限状态」,考虑电力停电数据场景,定义必填槽位:是否欠费、居住地、电话号码、根据槽位设计具体问题,按预设顺序发给用户收集槽位值。实现简单,应用于非常标准化的简单场景。语义槽填充子模块statetracker,基于frame,frame由一组slots构成,某一时刻的frame相当于槽位状态当时的快照每个slot关联一个问题,用户回复某个问题后,系统抽取回复的消息,填充任何可填槽位,若槽位完整,则发起api调用,若用户一次提供多个槽位值,则填充所有槽位,不应重复询问,故需做状态迁移管理rule-based或statistical-based。能够有效提升填槽效果。例如:用户提出『我家在xxx,怎么停电了?』,其中,分别将『xxx』、『停电』填入名为『地点』、『问题』的词槽中,而通过标签体系的基本属性,手机号码,个人帐户是否欠费,则填入到了名为『联系方式』和『是否欠费』的词槽中,最终达到提升填槽效果。在对话状态中,最重要的元素是对话状态,我们的对话状态类型定义为如图17所示:在对话管理服务中,每个对话都由唯一id标示,存储在基于redis的缓存服务器中。如图5-6所示,对话状态控制流程为:1)当用户输入一句话后,对话管理模块dialogpolicy首先根据当前用户对话上下文的信息判断是否处于一个意图对话的轮次中:缓存服务器中存储没有该对话的上下文,则返回“否”;缓存服务器中有该对话话上下文,但是超时,则返回“是”;缓存服务器中有存储该对话的上下文,没有超时,并且“结束标志位”是“假”时,返回“是”,否则返回“否”;2)如果当前对话处在一个意图对话的轮次中,则交给意图内对话控制子模块进行后续处理,否则交给意图间对话控制子模块进行后续处理。有效实现对话总体控制流程。如图7所示,意图内对话控制子模块的对话管理通过白然语言交互的方式,向用户询问并填充那些完成当前意图需要的语义槽参数,直到所有需要的语义槽参数获取完毕,才能结束一个意图内的会话;语义槽合并的任务是将当前输入的命令解析识别得到的语义槽,与上下文中存储的当前意图中的语义槽集合进行合并。上下文中存储的语义槽通常是在之前的会话轮次中获取得到的语义槽,但是由于当前意图必要的语义槽还未获取完毕,所以存储在对话上下文中。实现意图内对话控制子流程如图8所示,意图间对话控制子模块的对话控制由两部分组成,一部分是意图间的上下文共享,在每个意图对话轮次开始时,通过对话状态中的输入上下文共享语义槽参数,在每轮意图对话完成后,更新每个上下文的生命周期(lifespan),并生成输出上下文;另一部分是基于输入输出上下文的在意图分类中体现的对话控制。实现意图间对话控制子流程。如图9所示,命令解析服务模块在训练阶段首先生成训练语料并初始化训练任务,接着向模型训练服务模块发送模型训练的任务请求,模型训练任务模块中的消息代理模块接受到训练任务后,存储于任务队列中,模型训练服务模块从消息队列中取出训练任务,提交给celery的消费者,由消费者训练并保存模型到数据库中;模型训练服务模块会跟踪训练任务的不同状态,如“初始化”、“训练中”和“完成”等状态,并记录到数据库中,命令解析服务模块能够根据任务的训练状态,获取到最新的可以模型。实现模型训练。由于模型训练时间较长,所以本文采用了基于消息机制的异步训练架构。开发者在前端页面中,通过交互方式,为待创建的任务型对话系统定义支持的意图、添加词表、定义语义槽参数、标注语料以及管理模型训练任务。实现前端服务。如图10所示,本实例采用react前端框架,该框架数据和视图采用双向绑定机制,适合与服务数据交互和展示的业务形态。如图11所示,任务型对话系统的典型架构包括若干服务器,与服务器连接的数据库服务器,与数据库服务器连接的若干数据仓库,客户端与服务器之间设有负载均衡设备。如图12所示,智能客服系统与客户交流机制为:客户进入智能客服系统,对客服提出问题,智能机器人对客户提出的问题进行关键字提取、语义理解等自然语言处理操作,进入知识库中对客户问题进行匹配,将最佳匹配结果输出得到答案。因此,智能客服则能够以极快的速度理解客户的问题,并将已经预设好的答案直接输出给客户,节省了客户的时间,并增加了客户的体验感。自然语言处理即为对文本的处理,将文本化为计算机能够识别的语言。当拿到一个自然语言文本时,需要对其进行分词处理。分词是指将大量的非结构化的文本数据切分为一个个独立且具有语义的词语。分词结束后对词语进行词性标注,名称、动词、形容词等。将分好、标注好的词语进行向量化,向量化的方法有很多,基于向量空间模型的独热法、基于分布表示的word2vec,最后就成为了人工智能领域能够处理的高维向量。一个句子中有多个词语组成,那么就有多个词语向量,通过卷积神经网络、循环神经网络等机器学习方法,就可以将多个词语向量变成一个固定维数的向量,而这一个向量就是上文所提到的语义向量。还有一种方法是以关键词提取法,提取客户问题的关键词,以此代表客户询问的问题,其中的流程如图13所示。对客户提出的问题进行答案匹配目前有多种方法,下面将介绍较多使用的两种方法。第一种是基于关键词检索技术。该技术应用于对客户问题的关键字检索,先对智能客服知识库的知识点进行关键词提取,并对提取出来的关键词进行保存,当客户提问时,对客户提出的问题进行关键词检索,输出与客户问题匹配的知识点。第二种方法则是利用语义理解技术。当客户提问时,对客户进行语义理解化为一个固定维数的语义向量,并与知识库中的知识点进行匹配,返回匹配度最高的知识点作为答案输出给客户。流程图如图14所示。客户与在线客服的交流其实是通过自然语言的交流,由客户发出提问,再由在线客服回答。所以在线客服问答机器人的关键就是怎样将客户的问题转化为机器可以识别的形式,再基于机器的识别选择合适的回答推送给客户,由此可见自然语言的语义识别显得尤为重要。在自然语言处理中,常用到的语义识别有:关键词提取、词语相似度计算、神经网络等。关键词提取方法是客户在与问答系统交流的时候,对客户的问题进行关键词扫描,将出的关键词来确定客户想要询问的对象。目前,关键词方法得到了一定的发展,其相关技术不仅可以用到语义识别领域,还可以用到文本挖掘、文本分类、文本分词等。以下为两个关键字提取方法:tfidf方法是基于统计法的典型代表。统计方法的语义识别认为:那些在某一个文档出现的高频词语,且他们在别的文档低频出现,那它认为这些词语能够代表着该文档的语义识别。但那些在每个文档中都高频出现的词语都将会被忽略,且往往一些重要信息并非会频繁出现在文档中,由此造成了语义识别上的偏差。tfidf方法正是用这种思想,该方法通过计算文档中每个词语的tfidf值来获取值较高的前几个词作为该文档的语义识别。其计算公式如下所示:设文档集合为q,n表示q的全部文档的数量。在其中一个文档a,利用tfidf的计算方法计算给定的字符串t的权重公式为:tf表示字符串t在文档a中出现的频率,其中,k为t在a问答出现的次数,m为a文档词语总数。idf则表示该文档的反转概率,n为文档集合q中包含字符串t的文档数量。由此可知,当字符串t在文档a中出现的频率高,并且在整个文档集合q中出现的频率较低,则字符串的tfidf权重较高,故能反映出字符串在该文档能够用来表达该文档的内容。单纯以"词频"衡量一个词的重要性,但若重要的词出现次数并不多,则会出现错误关键词提取。而且无法体现词的位置信息,出现位置靠前的词与出现位置靠后的词,都被视为重要性相同,这不太全面。问答系统接收客户的问题有多种类型,其处理的自然语言信息也各种各样,相似度计算似乎是解决客户不同方式提问的好方法。词语相似度计算假设是:凡是语义相近的词语,他们的上下文也应是相似的。因此该方法对于两个词的相似度计算建立在他们相关词向量相似度基础上。首先需要选一组特征词,计算该特征词语每一个词的相关性,于是每一个词都可以得到一个相关性特征词向量,然后在计算这些词向量之间的相似度,相似度的计算一般使用向量余弦的计算结果为这两个词的相似度。由此可以看到,词语相似度计算的基础在于词语向量化,一个好的词语向量能够以较小的维度很好地表达词语所代表的意思,避免维灾难的同时又能够方便后面的语义理解。目前较为常用的词向量化有:向量空间模型、词分布表示。分布表示指的是对于一个客观对象的多维度向量表示,通常具有低维、连续、稠密的特性。该方法基于语义分布假设:上下文相似的词,其语义也相似。该假设指出,一个词的意义是由与其共现的上下文决定的。由此假设发展而来的分布表示有三种:基于矩阵的分布表示、基于聚类的分布表示、基于神经网络的分布表示。1、矩阵的分布表示的主要思路是构建一个共现矩阵,矩阵中的每行对应一个词,每列表示一种上下文,每个元素的值为对应词与上下文在语料库中共现的次数。故每个单词可由矩阵中对应的行向量表示,任意两个词的相似性可由他们向量的相似性来度量。将共现矩阵记作f,大小为w*c,其中w为词典大小,c为上下文集大小。行向量fw记为单词w的特征表示。基于共现矩阵的词向量表示fw一般具有很高的维度,且非常稀疏,可使用降维技术可将其转换为相对低维、稠密的向量,并减少噪音影响。常用的降维技术有奇异值分解,典型关联分析和主成分分析等。进而得到单词的低维向量表示。2、该算法是一种层级聚类方法,词由聚类结果产生多层类别表示,因此当两个词的相似度可根据他们的公共类别判断。布朗聚类的中心思想是:当前词的类别会受其前驱词的类别影响,且语义相似的词拥有类别相近的前驱词。给定一条语句(w1,w2,…,wn),函数c表示词与类别的映射关系,布朗聚类需要最大化的似然估计:布朗聚类只考虑了前驱词的语义影响,即他仅使用前驱词作为上下文信息。bp神经网络是一种按误差逆向传播算法训练的三层前馈神经网络。由下图所示,它由一层输入层、一层隐含层、一层输出层组成,同层的神经元互不影响,相互两层之间没有反馈作用。数据从输入层进入网络,经过各层的隐含层进行处理,最终达到输出层。若计算的输出不在设定的范围内,则会进入误差的反向传递,反向传递的过程是先到达隐藏层将各个神经元的权值与阈值经行调整,最后到达输入层,从而使bp神经网络的计算输出在设定的范围内。如图15所示,x1,x2,…,xn为输入层的输入值,wnj为输入层各个神经元的权重,wij为隐含层的权重,y1,y2,…,ym为输出层的输出值。f(x)为激活函数,它的作用为使得输出值保持在一个范围之内。对于不同的问题,所运用的激活函数是不同的,通常bp神经网络的激活函数有以下三种:(1)阶跃型:输出值为0或1;(2)线性型:f(x)=kx输出值任意,但当神经网络复杂时,该函数不适合作为激活函数;(3)sigmod型:该函数具有非线性、单调且无限可微,故一般常用此函数作为激活函数。bp神经网络算法可以分为以下三个步骤:(1)正向传播:从输入层输入数据,数据经过隐含层传播到输出层,计算输出层的输出值。(2)反向传播:由第一步的输出值与真实值所产生的误差反向传播,将误差逐步从输出层向输入层传播,期间逐层不断的调整权值,最终到达输入层。(3)以上两个步骤重复进行,直到输出层的误差达到设定的理想误差则停止。正向传播时(1)初始化权系数:对于各层中的权系数wnj、wij与偏置θj采用较小的随机数的方法,该随机数在(-1,1)之间。(2)隐含层第j个神经元输入:隐含层第j个神经元输出:(3)输出层第k个神经元输入:输出层第k个神经元输出:反向传播时计算误差反向传播并调整各层权值与阈值所使用的方法为梯度下降法,其计算方法如下所示:对于一次训练的输出pk与真实值tk的误差为:当训练样本为h个使,则总误差为:每一层权值与阈值的表达式为:wt=wt-1+δwt-1其中,γt=γt-1+δγt-1其中,λ为学习效率,一般取(0.01,0.1)之间,若学习效率过大,会导致该模型无法收敛,若学习效率太小,则会导致该模型拟合太慢,一个合适的学习效率对于构建神经网络至关重要。将上述两个过程重复进行,直到输出层的输出达到设定的输出范围则停止,若未达到,则会一直重复这两个过程。本实例选取国家电网智能互动网站中的两个例子结合tfidf算法说明知识库与关键字提取的应用。例一:什么是居民分户电采暖客户?居民分户电采暖客户是指不具备集中供暖,采用以下分户独立供暖设备,由北京市电力公司对其分户计量,且以电能为唯一采暖能源或以电及新能源混合能源采暖的居民客户:电锅炉、蓄能式电热器、电热膜、电地热、中央空调、以电及新能源混合的分户采暖设备。将上例运用自然语言处理中的分词技术,将上例分词的同时剔除停用词,得到如下的结果:居民、分户、电采暖、客户、不具备、集中、供暖……例二:窃电违约用电处罚供电企业对查获的窃电者,应予制止,并可当场中止供电。窃电者应按所窃电量补交电费,并承担补交电费三倍的违约使用费。拒绝承担窃电责任的,由供电企业报请电力管理部门依法处理。构成违反治安管理行为的,由公安机关依照《治安管理处罚条例》的有关规定予以处罚,构成犯罪的,依照刑法第一百五十一条或者第一百五十二条的规定追究刑事责任。将例二以例一同样的方法处理,得到:供电、企业、查获、窃电者、制止……等词语。将以上分出来的每一个词语都统计该词语在文档中出现的次数及tf值,将得到的结果代入下式中:k为关键字在关键字所在例子中出现的次数,m为关键字所在例子词语总数。n为文档的数量,本例中n=2;n为文档集合q中包含字符串a的文档数量。经过计算,得出了以下的tfidf值,选取前三个值作为文档的语义识别。例一:能源、采暖、供暖例二:窃电、窃电者、补交对这两个知识点的关键字提取完成,当客户提问时,对客户的问题进行关键字的识别匹配,涉及知识点的关键字时,知识库系统自动输出相关的知识点到客户的对话框中,辅助座席人员回答客户的提问。本实例采用神经网络对客户语句进行关键字提取,bp神经网络是一种按误差逆向传播算法训练的三层前馈神经网络,及输入层、输出层、隐含层。利用bp神经网络对客户语句关键字提取实际上是对客户语句分词并去除停用词后,得到的t=[t1,t2,…,tn]的关键词提取。对词语集合t的关键词提取将从其词语的语义、词语自身属性、词语的位置展开。语义信息:(1)词性:客户语句中不同的词语词性成为关键字的概率不同,对不同词性的词语赋予数值,建立如下表格,旨在考虑词性作为神经网络输入层的一个参考因素。词性注解值词性注解值n名词0.9vg动词性语素0.7nr人名0.9a形容词0.7nr1汉语姓氏0.9ad副形词0.7nr2汉语名宇0.9an名形词0.7nrj日语人名0.9ag形容词性语素0.7nrf音译人名0.9al形容词性惯用语0.7ns地名0.9r代词0.7nsf音译地名0.9rr人称代词0.5nt机构团体名0.9rz指示代词0.7nz其它专名0.9rzt时间指示代词0.7nl名词性惯用语0.9rzs处所指示代词0.7ng名词性语素0.9rzv谓词性指示代词0.7t时间词0.7ry疑问代词0.7tg时间词性语素0.7ryt时间疑间代词0.7s处所词07rys处所疑问代词0.7v动词0.7ryv谓词性疑问代词0.7vd副动词0.7rg代词性语素0.7vn名动词0.7m数词0.7vshi动词“是”0.7mq数量词0.7ryou动词“有”0.7q量词0.7vf趋向动词0.7qv动量词0.7vx形式动词0.7qt时量词0.7vi不及物动词(内动词)0.7mq数量0.7vl动词性惯用语0.7qt时量0.7(2)词语关联度:词语与词语之间存在着一定的关联关系,因为话语中的词语之间是相互依存的。本文利用word2vec来将词语向量化,并利用余弦公式计算词语间的关联度。(3)命名实体识别:命名实体指在语句中出现的人名、地名等实体信息,这些信息往往具有特殊的意义。本文采取nlpir汉语分词系统中的命名实体识别功能,用于客户话语中出现的命名实体进行标注,属于则取1,否则取0。自身信息:(1)词频:用户在话语中多次提到的词语,对于成为关键词的可能性会很大。(2)词语长度:越长的词语表示的信息就越丰富,其成为关键词的可能性很大。位置信息:词语在句中出现的第一次的位置信息。其中li为首次出现的位置信息,l为句子的句长。若该词语出现两次及两次以上时,则需要加上词跨度来度量该词在句中的位置信息。词跨度其中li2为该词最后出现的位置,li1为第一次出现的位置。将上述3个维度中的7个指标作为神经网络的输入向量,构建bp神经网络,该神经网络是一个输入层里包含7个输入神经元,若干个隐含层和一个输出层包含一个输出神经元。对于每一个词语获取出来的结果,对他设定一个阀值。当该词经过bp神经网络模型后的输出结果大于阀值时,便认为该词语是该句子的关键词。主要流程如图16所示。以下为故障报修一次办结语料数据运用bp神经网络模型提取各个句子的关键词实例。先人工的对这200条数据进行人工提取关键词,是关键词的标记为1,不是关键词的标记为0。如:哎你好麻烦帮我查一下那个停电信息啦我户号报给你吧。以上的这条预料关键字结果为:停电、信息、户号。将这三个词标记为1,其余的标记为0,这样就得到了一批结果数据。你好(0)麻烦(0)帮我(0)查(0)一下(0)那个(0)停电(1)信息(1)啦(0)我(0)户号(1)报(0)给你(0)吧(0)。由于考虑7个评价关键词的指标,那么输入层的神经元个数就是7个,且最终输出是是否是关键词,为二分类问题,则输出层的神经元个数为2。现在只要确定隐含层有多少个神经元、激活函数与学习效率就可以把bp神经网络组建完成。由于bp神经网络是单层隐含层,故只需考虑该隐含层神经元个数即可。本文将应用经验公式与模型调试来确定隐含层神经元个数,其经验公式如下:其中,i为输入层神经元个数,j为隐含层神经元个数,o为输出层神经元个数,k为一个(0,10)之间的常数。由此可知,隐含层的神经元个数范围在(3,13),经过一个一个的不断调试,最后确定的隐含层神经元个数为10个较为合适。学习效率的取值一直都是构建神经网络的关键点,并且也是难点,过小的学习效率会使得训练速度过慢,过大的学习效率会使得模型难以收敛。本文将通过经验函数与实际的模型调试来确定学习效率,其经验函数为:其中j为隐含层的神经元个数。本文中,经过不断的调试,最终拟合的学习效率为0.035。最后为激活函数的选取,主要的激活函数有三种,分别为:阶跃型、线性型、sigmod型。本文主要使用的是sigmod型,在不断试验对比中,发现sigmod型较为合适。将训练好的bp神经网络模型应用于测试,发现得到了不错的效果。由于训练数据为同一业务类型的数据,其差异并没有很大,所以在模型训练结果上达到了82.3%的关键字提取准确率,取得了较好的效果,可以运用于实际场景。场景一:当客户提问:电价按用电性质分哪几类?此时对客户的问题进行关键字提取,得到:电价、用电、性质、类这些关键字信息。在知识库系统上,将这些关键字与知识库系统中的关键字匹配。将相关知识点输出。知识库:目前电价按用电性质主要分为:居民生活、一般工商业(非居民照明、商业、非工业、普通工业)、大工业、农业生产四大类。场景二:当客户提问:我老是断电,我要报修!此时对客户的问题进行关键字提取,得到:断电、报修这两个关键字。与知识库中的知识点关键字相匹配,输出关于报修相关方法与链接,为客户办理报修业务。自然语言处理采用序列标注模型,对自然语言序列进行分词(wordsegmentation)、词性标注(part-of-speechtagging)、命名实体识别(ner)等工作,得到标签序列后生成结构化的数据便于对整个句子进行理解。与传统的方法相比,深度学习中常用的长短期记忆网络(lstm)模型也能取得相近的效果;另外,将神经网络模型自动提取特征的优点与机器学习模型计算联合概率的方式结合在一起,得到了lstm+crf模型。通过自然语言处理构建电子渠道智能应答系统,对比与传统的在线客服系统相比,智能客服系统有着快速便捷的特点,当遇到较急的客户时,可以快速帮客户处理问题,提升客户的服务感受。同时,智能客服可以为在线客服分担一部分流量,减少国网客服中心的人力成本,提升国网客服中心的服务能力,可以实现7×24小时全天在线服务。本实例中,所述意图识别模块、用户标签相似度计算模块、和意图输出模块位于服务器上。以上图1-16所示的一种电网任务型对话系统是本发明的具体实施例,已经体现出本发明突出的实质性特点和显著进步,可根据实际的使用需要,在本发明的启示下,对其进行形状、结构等方面的等同修改,均在本方案的保护范围之列。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1