一种基于组队学习和层级推理的对话辅助系统的制作方法

文档序号:18544925发布日期:2019-08-27 21:34阅读:179来源:国知局
一种基于组队学习和层级推理的对话辅助系统的制作方法

本发明涉及一种基于组队学习和层级推理的对话辅助系统,属于人工智能中的人机交互领域。



背景技术:

传统的对话系统主要是基于知识工程构建知识树,在对话过程中利用检索和匹配知识树的方式获取已采编问题的答案,多轮交互过程主要基于一些话术和实体槽值的匹配。这种对话系统能在一定程度上满足垂直行业自助语音交互的需要,但是仍然存在几个方面的问题:第一点,这种对话系统的常识性问答能力比较薄弱,由于知识树是人工采编建立的,因此机器人能回答的问题仅限于人工预设的范围;第二点,在日常业务办理中,客户有时会提出一些需要推理过程的对话,比如根据风险偏好推荐理财产品、根据用户的情绪选择相应的话术,传统的对话系统无法进行这种推理性的对话;第三点,无法根据用户的情绪反馈、交互轮数、服务满意度等参数,自适应地学习多选答案的排序策略和对话策略;第四点,单台机器的对话日志记录较少,无法提供有效的学习样本。



技术实现要素:

本发明要解决的技术问题是提供一种基于组队学习和层级推理的对话辅助系统,无需重新搭建对话系统,只需将该系统与原对话系统配合使用,就可以实现精准流畅的业务对话、常识问答过程和原系统所不具备的知识推理与自适应排序能力。

为了解决所述技术问题,本发明采用的技术方案是:一种基于组队学习和层级推理的对话辅助系统,包括泛行业知识图谱、多级贝叶斯推理引擎、深度对话评估模型和对话策略学习网络,泛行业知识图谱和多级贝叶斯推理引擎用于进行常识性问答和推理性对话,将获取的涵盖多个行业的结构化知识通过图形数据库生成泛行业知识图谱,泛行业知识图谱用于支持常识性问答,然后通过多级贝叶斯推理引擎推理产生常识问答和推理性对话的答案;深度对话评估模型通过用户情感参数、交互轮数和用户满意度三个参数评估单话题下人机交互过程的对话质量,为排序策略学习提供数据,对话策略学习网络从各个机器人日志中获取由深度对话评估模型生成的各种评估参数,各个机器人的评估参数共享,然后分别使用各个机器人的实时对话日志依次对共享参数进行训练,实现从对话历史中学习最优排序策略。

进一步的,泛行业知识图谱的构建过程为:s01)、通过网络爬虫从通用百科网站和各行业百科网站爬取结构化和半结构化的文本内容,将其中的实体-属性和实体-实体关系转化为json格式的结构化知识,然后将其存储到数据库中;s02)、使用预先标注的少量数据训练bilstm-crf模型,识别在线爬取非结构化文本的实体和实体、属性关系,转化为json格式的结构化知识,将其存储到数据库中;s03)、根据实体之间的依赖和层次归属关系,为各个实体增加层级属性,标识其所属层级;s04)、使用图形数据库软件将结构化的知识生产泛行业的知识图谱,使用分布式云端存储模式对知识图谱进行存储,用以支持在线的常识性问答和知识推理。

进一步的,将非结构化文本转化成结构化文本的过程为:首先选取一部分具有代表性的样本,对这些样本进行手动标注,优先标注实体词和属性词的起止位置标签以及实体与属性关系的标签;然后构建一个基于序列标注任务的实体识别模型bilstm-crf,该模型使用双向长短时记忆网络后接条件随机给出词序列的标签分布概率,进而实现对成段文本的实体标注与识别,再对bilstm-crf模型进行训练,训练数据为手动标注数据;最后基于bilstm的分类器实现实体和属性之间关系的分类,关系类型包括归属关系、并列关系、递进关系、矛盾关系,之后利用训练好的模型对海量的非结构化文本中提取实体和属性以及各种相关关系,将其转化为标准的json格式数据。

进一步的,多级贝叶斯推理引擎推理产生常识性问答和推理性对话的答案的过程为:如果是常识性问答,首先对问答文本进行语义角色解析,提取出关注实体和属性,然后使用实体的语义编码表示去匹配知识图谱中的对应实体,提取出所需要的属性知识反馈给用户;如果是简单推理过程,直接使用单一的贝叶斯网络进行判定;如果是复杂推理过程,则使用多级贝叶斯网络进行推理决策,首先根据高等级的实体参数判别次一级的贝叶斯先验分布,然后利用次一级的先验概率结合实体的属性值递归地推断相应的决策。

进一步的,多级贝叶斯网络采用三层的网络架构,以默认的正态先验分布从自变量进行最大后验估计,得到该级实体的后验分布,然后将该后验分布作为次一级实体的先验分布,通过次级贝叶斯网络得到次级实体的后验分布,递归地进行此过程,直到得到目标实体地后验分布为止。

深度对话评估模型评估对话质量的过程为:在对话过程中,每次回复答案之后会得到用户的下一句话,将这句话使用bigru网络模型进行情感分类,得到用户的情感参数,最终的情感参数使用多轮的情感参数均值代替;在某一话题下的交互对话结束之后,询问用户的满意度,同时统计完成此话题所需要的交互轮数;基于部分对话样本的测试经验设定回归参数w1、w2和w3,使用回归参数对情感参数、用户满意度、交互轮数做线性回归,然后进行归一化,得到对话质量的打分值,然后将此分值传导后台日志记录中。

进一步的,询问用户满意度时,按照五个档次让用户进行满意度评价,

进一步的,对话策略学习网络进行学习的过程为:首先从各个机器人日志中获取由对话质量评估模型获取的各种评估参数,将不同机器人的后台数据集中起来形成数据集,然后根据该数据集构建奖励函数,该奖励函数作为对话环境对排序策略的一种奖励指标;按照时间序列的次序依次将奖励函数的奖励值输入到深度神经网络中,该神经网络即代表强化学习的决策主体,神经网络首先使用两层卷积网络cnn获取轮廓和高级特征,然后将特征传入下一级的双向循环网络bilstm,最后使用一个全联接层得到经过学习的排序策略分布概率;将新的排序策略反馈到层级贝叶斯推理引擎和原对话系统当中,使多选答案的排序方式得到改善。

进一步的,对于不同的机器人,使用同一套网络参数训练其排序策略。

进一步的,通过多级贝叶斯推理引擎的多级推理实现对话策略的选择。

本发明的有益效果:本发明的泛行业知识图谱广泛包含了在行业之外的通用实体和属性条目,可以方便地满足用户通用性知识查询的需要,同时也有利于实现行业间知识库的快速迁移;其次,本发明提出的多级推理网络可以实现复杂的语义推理能力,能够实现基于推理过程的人机对话,同时能够通过推理网络进行精准的业务推荐和产品营销;最后,基于强化学习的策略学习网络可以利用积累的历史交互经验学习排序策略,持续地提升用户体验。通过部署该系统可以实现原有对话系统的功能扩展和效果升级,提升用户体验。

附图说明

图1是泛行业知识图谱构建的具体过程的步骤流程图;

图2是层级贝叶斯推理引擎具体实现的步骤流程图;

图3是对话质量评估模型的模型结构图;

图4是对话策略学习网络具体实现的网络架构图;

图5是基于本发明实现的新式对话系统实际问答过程的交互流程图。

具体实施方式

为了更加有效地展示本发明的结构组成和实现方法,下面结合附图以及各个子级模块的具体实施流程或模型架构对本发明的功能作进一步的解释说明。

实施例1

本实施例公开一种基于组队学习和层级推理的对话辅助系统,其包括泛行业知识图谱、多级贝叶斯推理引擎、深度对话评估模型和对话策略学习网络,泛行业知识图谱和多级贝叶斯推理引擎用于进行常识性问答和推理性对话,将获取的涵盖多个行业的结构化知识通过图形数据库生成泛行业知识图谱,泛行业知识图谱用于支持常识性问答,然后通过多级贝叶斯推理引擎推理产生常识问答和推理性对话的答案;深度对话评估模型通过用户情感参数、交互轮数和用户满意度三个参数评估单话题下人机交互过程的对话质量,为排序策略学习提供数据,对话策略学习网络从各个机器人日志中获取由深度对话评估模型生成的各种评估参数,然后基于深度强化学习技术从对话历史中学习最优排序策略。对话策略学习网络学习最优排序策略时,将多台机器人的数据后台相连接实现参数共享,分别使用各个机器人的实时对话日志依次对共享参数进行训练,称之为组队强化学习,通过短期的对话样本递归地训练网络参数,可以实现长期目标的渐进式优化。

如图1所示,示出了本发明中包含的泛行业知识图谱模块的构建过程,知识图谱主要用来支持常识性问答,该过程包括以下几个关键步骤:

s01)、以维基百科、百度百科为代表的通用百科网站和电力、医学、计算机等各种行业百科网站包含了大量的结构化和非结构化知识,使用python网络爬虫获取这些网站的全部文本资料作为构建知识图谱的数据来源;

s02)、这些文本资料中包含了一部分结构化的实体和对应的属性知识,这部分知识直接采集然后转化为json格式的结构化知识存储即可;

s03)、除了部分结构化的知识以外,百科中大部分是成段的文本描述,是非结构化的知识,必须构建一个模型从非结构化文本中提取结构化的知识,本实施例中提取结构化知识的步骤分为3小步:

首先选取一部分有代表性的样本,对这些样本进行手动标注,主要标注实体词和属性词的起止位置标签以及实体与属性关系的标签。

然后构建一个基于序列标注任务的实体识别模型bilstm-crf,该模型使用双向长短时记忆网络后接条件随机场给出词序列的标签分布概率,进而实现对成段文本的实体标注与识别,训练数据为手动标注数据。

最后利用基于bilstm的分类器实现实体和属性之间关系的分类,关系类型包括归属关系、并列关系、递进关系、矛盾关系等等,模型的训练数据来源于手动标注的轻量级样本数据。之后利用训练好的模型在海量的非结构化文本中提取实体和属性以及各种相关关系,将其转化为json格式的结构化知识。

s04)、在我们的结构化知识库中各个实体之间都有相应的归属和层级关系。比如,“科学技术”包含“计算机技术”,而“计算机技术”又包含了“数据库”。从任一实体出发,按照实体之间的依赖和层次归属关系对各个实体添加整数等级标签,高一级则加1,低一级则减1,最后做整体平移处理,使最低等级为0级。

s05)、使用neo4j等图形数据库软件将json格式的实体关系数据绘制成一张知识图谱,由于知识图谱规模较大,使用分布式存储模式在云端进行存储,然后在平台界面中将其可视化。

s06)、参照图2,示出了本发明中层级推理引擎的结构和使用过程,该引擎的主要功能是辅助原对话系统与用户顺利交互,对原对话系统无法进行回答的问题提供一种候选的方案,具体构建过程如下:

s07)、判别器在图5中进行详细论述,此处假设根据判别器已经判定该问句属于常识性或推理性提问。在这种情况下,首先使用text-cnn构建一个子级的判别器,用来判断用户的提问是否属于常识性问答。

s08)、如果用户的提问是常识性问答,使用pyltp文本分析工具将问句进行语义角色解析,得到用户想要查询的施事实体和受事属性,例如“钱钟书的夫人”,经过解析后得到实体“钱钟书”和属性“夫人”,然后使用word2vec词嵌入对属性进行编码,将编码后的向量与知识图谱中的实体编码向量进行比较,例如获取“夫人”与“爱人”的词向量进行匹配,得到该属性下的值“杨绛”,然后将答案返回给用户。

s09)、如果用户的提问是推理性的问答,如果是简单的推理过程,比如根据客户年龄推断客户的风险偏好以进行理财建议,直接使用单一的贝叶斯网络进行判定;

如果是复杂的推理过程,例如用户提问“请推荐理财产品”,首先解析并识别用户的意图和实体,即“推荐”和“理财产品”,然后获取用户的个人资料,这其中就包含了用户的年龄、性别、家乡、理财记录等信息。然后使用多级贝叶斯引擎进行推理得到相应的答案。层级贝叶斯推理引擎的架构如下:

s10)、首先根据实体参数所属等级获取高一级的贝叶斯网络,贝叶斯网络统一采用三层的网络架构,以默认的正态先验分布从自变量进行最大后验估计,得到该级实体的后验分布,然后将该后验分布作为次一级实体的先验分布,通过次级贝叶斯网络得到次级实体的后验分布,递归地进行此过程,直到得到目标实体地后验分布为止。

例如,在上面的案例中,从用户的年龄和家乡等信息无法直接得到合理的理财产品推荐,在知识图谱中查找两者相联系的路径,可以发现用户的年龄和家乡与用户的风险承受能力这一实体有关,而风险承受能力这一指标又与理财产品有关。假设用户的个人信息为k级实体,“风险承受水平”为k+1级实体,而“理财产品”为k+2级实体。首先使用k级贝叶斯网络从用户的个人信息经过最大后验估计得到用户的“风险承受水平”的后验分布,然后将其作为先验分布经过k+1级贝叶斯网络得到相应的“理财产品”分布概率,假设概率最大为“余额宝”,则以“余额宝”为理财产品的答案向用户反馈。

s11)、参照图3,示出了本发明中对话质量评估模型的模型结构图,该模型主要用于评估单话题下人机交互过程的对话质量,为排序策略学习提供数据,模型详细构成如下:

s12)、在对话过程中,每次回复答案之后会得到用户的下一句话,将这句话使用bigru网络模型进行情感分类,得到用户的情感参数,最终的情感参数使用多轮的情感参数均值代替。

s13)、在某一话题下的交互对话结束之后,询问用户的满意度,按照五个档次让用户进行满意度评价,同时统计完成此话题所需要的交互轮次。

s14)、基于部分对话样本的测试经验设定回归参数w1、w2和w3,使用回归参数对情感参数、用户满意度、交互轮数做线性回归,然后进行归一化,得到对话质量的打分值,然后将此打分值传到后台日志记录中。

s15)、参照图4,示出了本发明中对话策略学习网络的网络架构图,该模块基于深度强化学习技术从对话历史中学习最优排序策略,能够提高人机交互的效率和用户体验,具体构成如下:

s16)、首先从各个机器人日志中获取由对话质量评估模型获取的各种评估参数,将不同机器人的后台数据集中起来形成数据集,然后根据该数据集构建奖励函数,该奖励函数作为对话环境对排序策略的一种奖励指标。

s17)、按照时间序列的次序依次将奖励函数的奖励值输入到深度神经网络中,该神经网络即代表强化学习的agent,神经网络首先使用两层卷积网络cnn获取轮廓和高级特征,然后将特征传入下一级的双向循环网络bilstm,最后使用一个全联接层得到经过学习的排序策略分布概率。

s18)、将新的排序策略反馈到层级贝叶斯推理引擎和原对话系统当中,使多选答案的排序方式得到改善,对于不同的对话机器人,使用同一套网络参数训练其排序策略,以实现最优模型的共享。

本实施例中,通过多级贝叶斯推理引擎的多级推理也实现对话策略的选择。例如,张三和李四的性格可以判定需要详细或是简练的对话,根据他们的家乡又可以判定需要粗犷或细腻的用词,甚至是方言。

图5示出了根据本发明构建的对话系统作为服务器与用户进行交互时的数据流图和整体架构,该部分整合了前述各个组成部分的功能,代表了本发明的一个完整图示,具体说明如下:

该服务器是一个完整的闭环链路,表明本发明具有在长期交互中递归式地进行学习优化的能力。

对话过程的起始是用户的语音输入引擎,通过该部分获取用户的语音输入,然后将其转化为自然语言文本。接下来经过基于jieba等文本预处理工具的预处理模块,把原始文本转化为经过分词、实体识别后的词汇序列。

使用预训练的词嵌入表示,如word2vec或elmo嵌入表示,将词汇序列转化为固定大小的嵌入矩阵,不足长度的序列使用0元素填充,过长序列从前往后或从后往前进行截断,将实体词根据词典转化为词汇索引。

嵌入矩阵和实体词索引同时导入到判别器中,判别器使用核函数为多项式函数的svm模型,使用少量标注的样本数据对支持向量机进行训练,对svm的核函数参数和分类器系数进行优化。该判别器能够判别出用户的问题是否属于基础的行业问答。

按照是否属于基础的行业问答分别将嵌入矩阵和实体词索引传入到原对话系统或者是层级bayes引擎中,进行单轮交互后使用情感分类器获取该轮交互的情感参数,判断是否结束本话题,如果不结束的话转回到判别器,将下一句的用户语句传入到判别器中继续进行判定分析。

话题结束时给出调查问卷,统计用户的满意度和交互的轮数,同时获取平均后的用户情感参数,将三者一起传入到对话质量评估模型当中,对该话题的对话质量进行评估,得到归一化的评估奖励值。

最后将全部机器人的所有历史评估值和历史排序策略作为二维序列传入到对话策略学习网络当中,对当前的答案排序策略进行优化,优化后的对话策略同步更新到所有当前服务的机器人实例中,用以改善其对话引擎,进而使之更加贴合用户的偏好与习惯。

本发明的应用场景包括但不限于语音查询软件、答案排序软件、对话系统升级、娱乐问答软件等人工智能业务或产品。本说明书中详细给出了有关产品中常识性问答和推理性对话的步骤流程以及排序学习模型的网络架构,这些流程与架构仅仅作为示例用以阐明本发明的功能、原理和实现,本领域技术人员在参考此说明书时应能想到同本发明具有类似功能和原理的其他变种方案。说明书所示案例仅为展示本发明的优势和长处,并不用以限制本发明,凡是与本发明具有类似功能和原理的任何修正方案,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1