一种结构优先的知识库问答实现方法及其系统

文档序号:29037622发布日期:2022-02-25 19:29阅读:74来源:国知局
一种结构优先的知识库问答实现方法及其系统

1.本发明属于计算机技术领域,涉及知识图谱技术及自然语言处理技术,为一种结构优先的知识库问答实现方法及其系统。
技术背景
2.在计算机领域中,问答是指机器回答自然语言问句,涉及了自然语言处理、信息抽取、知识表示等领域,旨在建立一个自动化的问答系统:输入的是自然语言问句,通过对结构化的知识表示或非结构化的信息采集的利用,得到问句答案并输出。其中,知识库问答是建立在知识库之上的问答系统,旨在回答基于知识库的自然语言问题。现如今,越来越多的结构化数据在网络上可供使用,包括dbpedia,freebase,yago等知识库,终端用户如何方便快捷地访问知识库成为了一个重要的话题。
3.资源描述框架(rdf)作为知识库的标准表示,由三元组构成《s,p,o》,其中s=subject,p=predicate,o=object,通常被表达为图结构。sparql语言(sparql protocol and rdf query language)是为rdf开发的一种查询语言和数据获取协议,sparql查询是访问rdf数据的标准查询方法,然而,sparql语法和rdf模式具有较高的复杂程度,掌握sparql语言需要专业的知识,非专业用户难以使用。对此,构建良好的知识库问答系统能让不了解sparql语法和知识库构建的非专业用户也能有效地使用和访问知识库,是如今受到诸多研究者关注的热门研究话题。知识库问答系统背后的思想是在知识库中查找用户使用自然语言请求的信息,这通常通过将自然问题转换为sparql查询来解决,sparql查询可用于检索所需的信息。
4.在知识库问答中,形式化查询的生成在回答复杂问题时尤其重要。给定实体和关系链接结果,形式化查询生成的目的是由自然语言问句生成正确的可执行查询,例如sparql查询。现有的方法包括:基于预先收集模板的方法,基于语义解析的方法和基于信息检索、神经网络的方法等。模板作为查询生成中一类重要的技术,它常用于简化自然语言描述的语义解析,并生成结构化的查询,已有方法通常将自然语言描述模板与查询模板配对,将描述组成部分映射到查询的组成部分,很多已有工作依赖于手工生成的模板,这会导致方法的局限性。基于语义解析的知识库问答系统通常使用组合范畴语法,将自然语言转换成查询图或逻辑表达形式。基于信息检索的问答系统并不对自然语言进行语义解析,而是通过关系抽取等方法选择一系列答案候选,然后用不同的方法进行评测打分。
5.现有知识库问答研究工作中,仍存在很多困难与挑战,主要包括:自然语言的理解与表示;自然语言与结构化知识的不一致性;问句复杂性等。
6.自然语言的理解与表示:自然语言的表述千变万化,同样含义句子的表述形式可能完全不同,如何正确地理解与表达自然语言是非常困难的。
7.自然语言与知识库结构化知识的不一致性:这是知识库问答最核心的困难所在,体现在语法组织结构和语义表述两方面。在语义表述上,自然语言单词与知识库的实体/关系名称可能不同;在语法结构上,从自然语言出发很难分析出其在知识库中的结构。
8.问句复杂性:现有知识库问答系统在复杂问句上的表现并不理想,这是由于当问句结构复杂、出现的事实数增多时,正确地找到并组合这些事实形成正确的结构远比处理简单问句困难;同时,一些特殊的问句模式,如比较句式、最高句式,往往需要更具有针对性的分析与处理。
9.本发明基于以上知识库问答挑战,提出了一种结构优先的知识库问答技术,为上述挑战给出了解决方案。


技术实现要素:

10.本发明要解决的问题是:现有知识库问答研究工作中仍存在很多困难与挑战,包括自然语言的理解与表示;自然语言与结构化知识的不一致性;问句复杂性等,需要对此进行研究,提出解决方案。
11.本发明的技术方案为:一种结构优先的知识库问答实现方法,包括问句结构分析和sparql查询结构图生成两部分,
12.问句结构分析由自然语言问句解析得到句法树,然后构建实体描述图和放松查询图;所述实体描述图是对问句中实体和对应描述的图结构表示,通过实体+描述构成的实体块对问句进行子问题嵌套划分,表达了问句的结构层次;放松查询图是自然语言在查询上图结构的体现;
13.sparql查询结构图生成包括查询结构映射库的构造和sparql查询结构图候选的构造,sparql查询结构图从放松查询结构图出发,学习问句的放松查询结构图和sparql查询结构图之间的映射关系,使用构建模板的方式,构建放松查询结构图和sparql查询结构图的查询结构映射库,然后对于待求问句,从映射库中提取可覆盖待求问句放松查询结构图的模板,通过规则拼接得到待求问句对应sparql查询结构图候选,基于知识图谱的实体和关系链接,对sparql查询结构图候选进行知识库实体和关系的填槽,得到sparql查询,并从知识库中查询返回答案。
14.本发明还提供一种结构优先的知识库问答系统,所述系统具有数据处理器和存储器并配置有计算机程序,计算机程序配置为问句结构分析模块和sparql查询结构图生成模块,sparql查询结构图生成模块又包括查询结构映射库构造模块和sparql查询结构图候选构造模块,所述计算机程序被执行时实现上述的知识库问答方法。
15.本发明可构建完整的基于知识库的问答系统,具体表现为:由sparql查询结构图生成技术得到待求问句对应sparql查询结构图候选,通过使用实体和关系的链接技术,对sparql查询结构图进行知识库实体和关系的填槽,得到sparql查询,并从知识库中查询返回答案。
16.本发明的有益效果为:本发明给出的实体描述图edg强调了自然语言问句的“回答目的性”,创新性地提出实体和对应描述的图表达形式,对问句进行了子问题嵌套划分,清晰明了地表达了问句的结构层次;放松查询图rqg是自然语言问句的查询图模型,与现有查询图不同,rqg独立于知识库,更具普适性。两种图模型同时能够在自然语言与形式化查询之间起到较好的桥接作用,具有较广泛的应用前景。
17.本发明给出的sparql查询结构图生成技术,通过构造模板的方式,能自动学习rqg与sparql查询的对应关系,并支持动态的模板拼接,能够显著提升方法的实用性和有效性。
relatives of anton oliver?”为例,图1和图2分别为该问句对应实体描述图和放松查询图。其中,图2的实体顶点中class和name分别为实体的类和名称属性。
39.图3描述了从问句生成实体描述图和放松查询图的流程。
40.步骤1:将问句中带名言等引用和长实体(token数大于3)的部分替换为标记《quote》,《entity》;如what jobs did the artist who recorded"the incredible"hold?替换为what jobs did the artist who recorded《quote1》hold?
41.步骤2:由句法树出发,对句法树中的所有非终止标签,如sq,np,pp等做处理,不同的标签对应使用不同的处理规则,递归生成实体描述图的顶点和边;具体处理规则为:对每种标签,根据当前标签和其子节点的标签名称,以及上层生成的实体描述图顶点,选择生成方式。如,sq标签会生成动词短语描述顶点,指向上层的实体顶点,若子节点包含np/vp/pp标签,则进入np/vp/pp对应程序进一步处理。又如,当前标签为np,当上层为实体顶点时,生成新非动词短语描述顶点指向实体顶点;而当上层为非动词短语描述顶点时,不生成新非动词短语描述顶点,而对子标签进行判断,若遇到从句或动词短语修饰情况,生成新实体块和实体顶点以及进一步生成可能的描述顶点。
42.步骤3:构建生成实体描述图后,回代引用和长实体标记,即将标记再替换为原来的引用及长实体内容,得到完整实体描述图。
43.步骤4:从实体描述图出发,对每个实体块中动词短语描述和非动词短语描述分别采用不同的方法识别处理:从非动词短语描述中,使用命名实体识别技术,识别出实体的名称和类name/class,放入放松查询图中实体内部,name/class作为实体顶点的内部属性;从动词短语描述中,根据短语句法树结构提取出动词/关系,新增实体顶点的出边,将动词/关系作为放松查询图边的属性,同时生成新的可能的实体顶点,新的实体顶点是根据句法树结构生成,如宾语位置应生成新实体顶点,识别该部分的描述是实体的class还是name,放入新生成的实体顶点内部作为属性。
44.步骤5:对从实体描述图的每个实体块出发得到的图结构进行实体顶点的合并,得到最终的放松查询图。
45.图4a-c分别为问句``what is the deathplace of the rugby player who is the relatives of anton oliver?”对应的放松查询结构图、sparql查询图和sparql查询结构图,本方法将放松查询图和上述三种图分别命名为rqg,rstruct,qg和qstruct。图4a是放松查询结构图rstruct,实体顶点内部属性hasclass和hasname分别表示实体顶点具有类和具有名称的属性。图4b是sparql查询图,dbr,dbp,dbo是dbpedia知识库的命名空间前缀,分别为“http://dbpedia.org/resource/”,“http://dbpedia.org/property/”,“http://dbpedia.org/ontology/”.图4c是sparql查询结构图。
46.sparql查询结构图的生成分为两个部分,分别为查询结构映射库的构造和sparql查询结构图候选的构造。
47.查询结构映射库由多问句类型的模板组成,问句类型分为:一般疑问句、询问数量的问句和询问实体本身的问句。模板如图5所示,每个模板由一个放松查询结构图,n个sparql查询结构图,以及这一个放松查询结构图到n个sparql查询结构图的映射关系函数map,以及n个sparql查询结构图对应打分构成。映射库的构建方法为:
48.步骤1:对问句数据集的问句进行分类,分为一般疑问句、询问数量的问句和询问
实体本身的问句三类。
49.步骤2:由问句数据集建立训练集,学习训练集中放松查询结构图和sparql查询结构图的映射关系,图6展示了一个问句得到的映射关系结果,左边是问句对应放松查询图rqg,右边是问句对应sparql查询结构图,中间虚线代表映射关系。
50.步骤3:提取问句放松查询图和sparql查询结构图的结构信息,得到放松查询结构图rstruct和sparql查询结构图qstruct。
51.步骤4:从(rstruct,qstruct,map)中提取一至多个原始模板(rstruct’,qstruct’,map’),其中rstruct’,qstruct’分别为rstruct,qstruct的子图,map’是对应的子图的关系函数,原始模板指未经过合并同构、统计归纳的模板。提取的原始模板可能有一个或多个。
52.步骤5:合并同问句类型原始模板中同构的rstruct’和qstruct’,得到最终模板,包括合并后的放松查询结构图rstructm和sparql查询结构图qstructm,每个模板包括一个放松查询结构图,n个sparql查询结构图,它们之间的映射关系,及sparql查询结构图对应打分,构建查询结构映射库。
53.sparql查询结构图候选的构造包括集合覆盖和模板拼接两部分。
54.集合覆盖是对待求问句的放松查询结构图rstruct
quest
进行图的覆盖。如图7所示,设两个模板模板1、模板2的放松查询结构图分别为rstruct1和rstruct2,rstruct1覆盖了rstruct
quest
的entity1,entity2构成的生成子图,rstruct1的entity1,entity2分别对应rstruct
quest
的entity1,entity2;rstruct2覆盖了rstruct
quest
的entity2,entity3和entity4构成的生成子图,rstruct2的entity1,entity2和entity3分别对应rstruct
quest
的entity2,entity3和entity4。具体方法为将rstruct
quest
的点集、边集、逻辑限定集合统一看作全集中的元素,使用改进的集合覆盖贪心算法,选取可覆盖待求问句的放松查询结构图的模板集合。传统的集合覆盖贪心算法为每次选取剩余集合中,使得总损失函数最小的集合放入结果中,直到能覆盖全集,这里,本发明的改进的集合覆盖贪心算法与传统的算法区别主要为:1)将rstruct
quest
的点集、边集、逻辑限定集合统一看作全集中的元素,模板中的rstructm中元素作为集合对rstruct
quest
中元素进行集合覆盖;2)目标改为选取排名前k的集合覆盖而非一个集合覆盖,对此,我们对集合进行排名,设具有n个集合,将传统的集合覆盖算法重复n次,第i次只选取从第i个集合开始的集合,i=1,

,n;3)损失函数与放松查询结构图的近似度相关,即集合对应rstructm与rstruct
quest
的相似度与损失函数成反比。
55.图7中rstruct1和rstruct2所在模板就构成了一个满足要求的模板集合。
56.模板拼接是对所有满足要求的模板集合分别进行模板的拼接,具体步骤为:
57.步骤1:对每个模板集合分别进行如步骤2的操作。
58.步骤2:对模板集合中每个模板,依次尝试选取每个模板中的放松查询结构图进行拼接,去除矛盾的情况,其中剪枝操作为记录所有产生矛盾的((模板1,qstruct1),(模版2,qstruct2))对,qstruct1和qstruct2分别为模板1、2中的sparql查询结构图。
59.步骤3:对由所有模板集合得到的sparql查询结构图进行打分,选取top k个作为待求问句的sparql查询结构图候选。
60.图8展示了一种模板拼接的情况。rstruct1和rstruct2分别为模板1和模板2的放松查询结构图rstruct,qstruct
i1
和qstruct
i2
分别为模板1和模板2选取的sparql查询结构
图,rstruct
quest
是待求问句的放松查询结构图,qstruct是由模板1,2选取qstruct
i1
和qstruct
i2
后拼接得到的待求问句sparql查询结构图。由映射关系,如图中虚线框所示,rstruct1中实体顶点2和rstruct2中实体顶点1都映射到rstruct
quest
中实体顶点2,且分别对应qstruct
i1
中变量1和qstruct
i2
中变量1,重合部分不矛盾,所以合并qstruct
i1
和qstruct
i2
对应变量顶点,构成了新的sparql查询结构图,即待求问句的qstruct。
61.图9是本发明方法及所对应系统的流程示意图。查询结构映射库构造模块和sparql查询结构图构造模块分别如上所述。sparql查询构造模块是对待求问句的sparql查询结构图候选进行知识库实体、关系链接,并进一步搜索知识库试错以及打分得到最终sparql查询,通过查询知识库返回答案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1