一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向知识图谱的问答推理方法与流程

2022-07-02 09:30:26 来源:中国专利 TAG:


1.本发明涉及自然语言处理和计算机信息处理技术领域,尤其涉及一种面向知识图谱的问答推理方法。


背景技术:

2.知识推理技术,顾名思义,是根据已有的知识推理出未知的知识,从而获取到新的知识。面向知识图谱的知识推理,则是通过利用已有的完整的三元组,来为实体或者关系的三元组进行补全。主要围绕关系的推理展开,基于图谱中已有的关系推断出未知关系,一般着重考察实体、关系和图谱结构三个方面的特征信息。这项技术的应用十分广泛,但在智能问答方面的应用在处于起步阶段。由于知识推理可丰富图谱中实体间千丝万缕的关系,在优化问答理解的方面能够起到重要的作用。
3.智能问答服务已经存在于生活中的方方面面,例如自动客服系统、语音对话机器人等等,随着计算机技术和自然语言处理技术的发展,人们对智能问答型产品中使用的技术有了更高的要求,传统的智能问答服务可以做到机器理解、智能学习、自动问答、人机交互,具体又可划分为以机器客服为代表的线上服务及以问答机器人为代表的线下服务,极大的方便了人们的日常生活。问答的关键技术主要涉及三个方面:检索技术、知识网络、深度学习。
4.问答系统可分为面向任务、面向知识和面向聊天三类,而面向知识的问答系统包括问答对知识库和知识图谱知识库,随着智能问答技术的发展,知识推理逐渐成为其内在驱动力之一,本发明重点研究两者之间的融合创新,采用面向知识图谱的知识推理方法,根据图谱中三元组知识库,构建一种问答推理新方法,应用于智能问答系统。且在初次搭建问答知识图谱库时,人工录入三元组数据容易出现构建不规范等问题,或是直接从网络上获取他人分享的一些不规范的三元组知识库,导致一部分实体属性缺失或者关系缺失,难以满足问答要求。并且图谱中可能存在错误的三元组数据,形成一种噪声信息,降低了问答功能的精准度。


技术实现要素:

5.为解决上述技术问题,本发明的目的是提供一种面向知识图谱的问答推理方法该方法获得更高质量的答案,经过用户反馈或审核后入库,逐步自我迭代完善。
6.本发明的目的通过以下的技术方案来实现:
7.一种面向知识图谱的问答推理方法,包括:
8.a、设计图谱数据概念,创建实体及实体属性三元组,并将每个图谱构建实体关系三元组;
9.b、将所有的三元组数据进行数据规范化处理;
10.c、将实体与实体属性三元组中的实体、属性值与属性编号于实体表或关系表内作为其中一个待训练数据集,将每个图谱构建的实体关系三元组中的头实体和尾实体标号于
一个实体表内,作为另一个待训练数据集;
11.d、训练“关系-属性二分类模型”;
12.e、依次训练创建实体-关系数据集和实体-属性数据集,并生成两个知识表示模型;
13.f、设定允许输入三种格式待求解的三元组,将实体和关系分别计算与知识库中已有的文本相似度,链接到知识表示模型中,并进入对应的核心知识表示模型求出结果;
14.g、接收用户对答案的反馈,并将推理正确但模型中不存在的内容存入或将推理错误后用户输入正确答案的内容存入。
15.与现有技术相比,本发明的一个或多个实施例可以具有如下优点:
16.该方法可以获得更高质量的答案,经过用户反馈或审核后入库,实现逐步自我迭代完善。
附图说明
17.图1是面向知识图谱的问答推理方法流程图;
18.图2是完整的问答推理模型图;
19.图3是问答推理方法的迭代更新流程展示图。
具体实施方式
20.为使本发明的目的、技术方案和优点更加清楚,下面将结合实施例及附图对本发明作进一步详细的描述。
21.如图1所示,为面向知识图谱的问答推理方法流程,包括以下步骤:
22.步骤10设计图谱数据概念,首先将通用实验数据中的实体按照[实体(entity)-属性(attribute)-属性值(value)]的形式创建多个实体及实体属性三元组,即[e,a,v]。然后每个图谱按照[头实体(head),关系(relation),尾实体(tail)]格式构建实体关系三元组,即[h,r,t]。实体的属性是实体自身的特征,与其他实体不存在关联关系,例如:人物姓名、年龄和籍贯等。实体的关系主要定义实体与实体之间的关联关系,例如:人物与人物之间的关联关系,人物与机构之间的从属关系等。
[0023]
步骤20数据规范化处理。包括三元组数据的补全、矫正以及实体消岐。三元组补全矫正需要人工审核矫正,可通过查阅资料等方式,实体消歧主要解决自然语言存在的一词多义和多词一义的现象。实体消歧分为两步,第一步在实体识别和关系识别之前上进行深度学习的消歧;第二主要采用关系词典和主题词典进行匹配消歧。将三元组中的实体,关系和属性进行消歧。
[0024]
步骤30将[e,a,v]中的e和v都看作实体,编号在一个实体表内,将a看做是关系,编号在关系表内,鉴于[e,a,v]和[h,r,t]在模型训练逻辑上具有相似性,[e,a,v]之后统称为[h,r,t],作为第一待训练数据集。将[h,r,t]中的h和t编号在一个实体表内,将r编号在关系表内,作为第二待训练数据集。
[0025]
步骤40使用r训练“关系-属性二分类模型”。
[0026]
步骤50使用dgl-ke命令行工具创建嵌入,模型可选择多个,例如transe,transr,rescal,distmult,complex以及rotate,依次训练两份数据集生成两个模型,最终选取使模
型损失最小的算法。
[0027]
步骤60设定允许输入三种格式待求解的三元组[h,r,?],[?,r,h],[h,?,t],“?”表示待求解的值。针对第一种格式,将r通过“关系-属性二分类模型”判断是属性还是关系,将h和r分别计算与知识库中已有的文本相似度,链接到知识表示模型中,最终进入对应的核心知识表示模型求出结果。第二三种格式亦然。
[0028]
步骤70接收用户对于答案的反馈,将推理正确但模型中不存在的内容存入,或将推理错误后用户输入正确答案的内容存入,不定时进行模型的更新。
[0029]
上述图谱数据概念设计,定义实体属性类别,实体关系类别。定义的通用数据集中实体内属性表如表1:
[0030]
表1
[0031][0032]
可以被定义为属性的内容,其属性值不可以再具备成为一个独立实体的条件,例如:[李白,性别,男],根据当前业务条件,“男”是一个属性而不是一个实体。
[0033]
本实施例定义的通用数据集中实体间关系表如表2:
[0034]
表2
[0035][0036]
本实施例定义的通用数据集中实体表如表3:
[0037]
表3
[0038][0039]
[0040]
本实施例定义的通用数据集中三元组表如表4:
[0041]
表4
[0042][0043]
上次数据规范化处理:将所有的属性、属性值、实体、关系,去除错误的或不需要的字符。在准备测试数据集的阶段,将缺失的内容中能够补充的人工补充好,无法补充的数据放到待预测数据集中,待知识表示模型训练好后进行预测补充,并人工二次审核。数据处理阶段需要做初步的实体消歧,解决一词多义和多词一义的现象,拆分不同实体,合并相同实体、属性、关系。
[0044]
上述数据存储及训练数据集的生成:根据表格1,将实体(包含属性值)、实体间的关系、实体内的属性进行编号,并生成实体内属性三元组id文件和实体间关系三元组id文件,以及训练数据集,共4份文件如表5所示:
[0045]
表5
[0046][0047]
其中,entities.dict为实体与属性值混合的词典、relation.dict为关系与属性的混合词典、train_att.tsv、train_rel.tsv都是存储为utf-8编码的文件,格式如表中所示,entities.dict和relation.dict中的具体格式为:词汇 空格 编码,后面两个三元组训练集的具体格式为:头编码 空格 关系编码 尾编码。
[0048]
问答推理模型训练:问答推理模型是一套包含了分类模型、知识表示模型及结果整合的完整模型。本实施例中的知识表示模型使用改进后的dgl-ke工具进行训练,加快训练速度,扩充训练模式,具体改进方式如下,可选模型有transe,transr,rescal,distmult,complex以及rotate共6种。
[0049]
transe的基本想法是头实体的向量表示h与关系的向量表示r之和与尾实体的向量表示t越接近越好,即h r≈t。这里的“接近”可以使用l1或l2范数进行衡量。其损失函数为l(h,r,t)=max(0,d
pos-d
neg
margin),其中d=||h r-t||。transr模型是在transe模型的基础上对不同的关系建立各自的关系空间,在计算时先将实体映射到关系空间进行计算。hr=hmr,tr=tmr,再在关系空间通过训练使得hr r≈tr。rescal模型是在transe模型的基础上将关系表示为方阵mr,通过头尾实体和关系的双线性匹配判断关系成立的可能性,每一个head和tail实体之间的关系r是用一个矩阵表示,其中得分函数表示为d=hmrt。distmult是rescal的简化,用一个向量表示两个实体间的关系。
[0050]
面对各种表示学习算法,不同的数据集有不同的表现,可以根据迭代次数及损失选取最优模型,由于本实施例数据集较大,综合训练、预测时间及结果准确度等多种指标,择优考虑后采用的模型是transe。
[0051]
dgl-ke相较于目前广泛应用的清华开源库openke框架,训练速度更快,拥有多种不同训练模式。可以根据数据集及训练要求,从中选择cpu、gpu、cpu-gpu混合模式以及分布式训练。在本实施例的用例中,使用混合模式生成嵌入。如果能够将所有数据包含在gpu内存中,则gpu的训练性能最好。由于本实施例是基于大型kg来训练,因此选择了混合模式以获得更大的cpu与gpu内存池,且同时可以从gpu强大的训练加速能力中获益。
[0052]
但由于dgl-ke给出的封装后的接口无法直接接入程序,本实施例将原生的dglke_train,dglke_predict,dglke_emb_sim命令行接口改写为web接口以供调用,将原生的输入格式(仅支持文档)改写为支持web参数输入。
[0053]
知识表示模型训练并测试完毕后,选取最优模型,放入问答推理模型中。
[0054]
属性-关系二分类模型使用纯bert预训练模型训练,在本实施例的分类实验中,bert模型的分类效果更佳,但模型太重,后通过模型蒸馏的方法,训练出轻量级分类模型。最终将分类模型放入问答推理模型中。
[0055]
模型整合阶段,将一个或多个预测结果取得分最高的结果并输出。图2为完整得问答推理模型。
[0056]
待补全三元组共分为3种情况:
[0057]
情况1,输入[h,r,?],缺少tail实体。首先判断是否有r,在存在关系r的基础上,通过“属性-关系二分类模型”,判断r是实体属性还是实体关系。如果r是实体属性,则输入的待补全三元组[h,r,?]进入属性知识表示模型,在此模型中,首先通过dglke_emb_sim接口对h和r进行实体链接,然后通过dglke_predict接口进行模型预测,最终输入结果。
[0058]
情况2,输入[?,r,t],缺少head实体。首先判断是否有r,在存在关系r的基础上,通过“属性-关系二分类模型”,判断r是实体属性还是实体关系。如果r是实体属性,则输入的待补全三元组[?,r,t]进入属性知识表示模型,在此模型中,首先通过dglke_emb_sim接口对t和r进行实体链接,然后通过dglke_predict接口进行模型预测,最终输入结果。
[0059]
情况3,输入[h,?,t],缺少relation关系。首先判断是否有r,在不存在关系r的基础上,无法确认是预测实体属性还是实体关系,则分别进入属性知识表示模型和关系知识表示模型,在这两个模型中,仍然是首先通过dglke_emb_sim接口对h和t进行实体链接,然后通过dglke_predict接口进行模型预测,选出准确度最大的预测结果,最终输入结果。
[0060]
如图3所示为问答推理方法的迭代更新流程展示,通过问答推理模型对待补全三元组进行知识补全后,采集用户对于推理结果的校正结果或人工审核结果,将结果再次更新到存储三元组的数据库中,并定时更新现有模型,从而形成知识推理的更新迭代模型。
[0061]
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献