基于问句和知识图结构分析的自然语言问答方法及系统技术方案

技术编号:18007068 阅读:40 留言:0更新日期:2018-05-21 07:41
本发明专利技术公开了一种基于问句和知识图结构分析的自然语言问答方法及系统,属于图计算和自然语言问答领域。本发明专利技术方法针对现有的各种问答系统所存在的问题,提出了基于问句和知识图的结构构建、分析及匹配的自然语言问答方法,从而拓展可回答自然语言问题的种类,同时提升答案的准确率。本发明专利技术方法通过以实体节点为中心的遍历,以及设计抽取规则来采用图的结构来表示查询问句;基于查询图在知识图中映射查找覆盖所有答案的子图。通过构建路径和短语的语义向量,在实现对答案子图过滤筛选的同时,计算匹配的相似度,从而得出候选答案。本发明专利技术方法方案简洁,效果明显。

【技术实现步骤摘要】
基于问句和知识图结构分析的自然语言问答方法及系统
本专利技术属于图计算和自然语言问答领域,更具体地,涉及一种基于问句和知识图结构分析的自然语言问答方法及系统。
技术介绍
随着互联网的飞速发展,越来越多的大规模结构化的知识图被构建。知识图在整合信息,加强智能搜索方面发挥着越来越重要的作用。但是这种知识图中存储的都是结构化的信息,这使得它很难被一般用户所直接使用。基于查询语言和数据获取协议(SPARQLProtocolandRDFQueryLanguage,SPARQL)的查询,是一种针对资源描述框架(ResourceDescriptionFramework,RDF)数据的结构化的查询,虽然可以直接检索知识图,但是它需要用户自己根据需求来编写相应的查询语句,这就要求用户有一定的计算机基础,同时对知识图中信息的存储方式有一定的了解。基于关键字的查询,可以方便用户使用,但是由于查询信息的不完整使得答案的正确率太低。自然语言是一种非结构化的语句,而知识图中存储的是结构化的信息,所以现有的方法中首先考虑将自然语言查询转换成SPARQL结构化查询,但是需要首先构建结构化的查询模式,然后将自然语言的问句转换为特定的模式;由于存在歧义,近似匹配等问题,导致转换效果并不理想;另外,SPARQL查询只能处理边属性严格匹配的查询,所以就可能造成部分查询结果的缺失。知识图是基于图结构来构建的,所以可以采用图匹配的方式来实现问答,这就需要将自然语言问句转换成查询图,然后实现查询图的模式匹配。但是在构建查询图中会存在信息抽取不准确等问题;另外,在实现查询图的模式匹配中,特别是边的语义模式匹配中,存在匹配不准确的问题;针对这些问题现有的方法都不能很好的解决。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于问句和知识图结构分析的自然语言问答方法及系统,由此解决现有知识图查询方法存在的查询准确率较低的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种基于问句和知识图结构分析的自然语言问答方法,包括:(1)识别自然语言问句中的命名实体,并对所述自然语言问句进行解析以构建解析树;(2)在所述解析树中采用以所述命名实体中的元素为中心的方式进行遍历,在遍历过程中依据预设关系抽取规则从所述解析树中抽取目标信息,构建所述自然语言问句的查询图;(3)对于所述查询图中的每个节点,构建在预设知识图中与所述查询图中各节点相匹配的节点候选集;(4)在所述预设知识图中以所述节点候选集中的每一个节点为中心进行遍历,得到以所述节点候选集中的每一个节点为中心的覆盖所有答案的子图;(5)针对所述预设知识图中的路径构建路径语义向量,针对所述查询图中的边属性构建边属性语义向量;(6)根据所述边属性语义向量与所述路径语义向量来计算所述查询图中的边与该边在所述知识图中相匹配的路径之间的相似度,过滤掉不满足预设相似度要求的子图得到候选答案子图;(7)根据所述查询图中的边与该边在所述知识图中相匹配的路径之间的相似度得到各候选答案子图的整体相似度,确定出整体相似度较高的前k个答案。优选地,步骤(2)具体包括:(2.1)根据所述命名实体设置实体集合;(2.2)设置遍历过程关系提取集合,其中,所述遍历过程关系提取集合中的关系属性按照权重递减的顺序排列为:subj,obj,nsubj,iobj,dobj,pobj,nsubjpass,csubjpass,nmod:*,xsubj,prep:*,amod;(2.3)判断所述实体集合中是否存在未被访问过的元素,若存在未被访问过的元素,则执行步骤(2.4),否则结束;(2.4)以所述未被访问的元素为根节点,在所述解析树中进行遍历搜索;(2.5)在遍历过程中,判断所述解析树中表示关系的边的属性是否存在于所述遍历过程关系提取集合的关系属性中,若不存在,则执行步骤(2.4),若存在多个关系属性,则选择权重最高的关系属性所关联的边,然后执行步骤(2.6);(2.6)判断权重最高的关系属性所关联的边所连接的节点是表示关系,还是表示实体,若表示关系,则在所述查询图中相应节点插入一条边,若表示实体,则执行步骤(2.7);(2.7)将所述解析树中表示关系的边所连接的节点表示的实体插入到所述查询图中,并判断该插入的实体是否存在于所述实体集合中,若存在,则执行步骤(2.3),若不存在,则执行步骤(2.8);(2.8)将该插入的实体插入到所述实体集合中,返回执行步骤(2.3)。优选地,步骤(5)具体包括:(5.1)采用词向量技术训练得到预设词汇库中词汇的词向量;(5.2)若获取所述预设知识图中路径的向量表示,则执行步骤(5.3),若获取所述查询图中表示关系的短语的向量表示,则执行步骤(5.4);(5.3)求取所述知识图的路径中各个边的属性的向量表示,然后将所有边的向量叠加来获取所述知识图的路径的向量表示;(5.4)区分所述查询图中表示关系的短语的核心词和修饰词,将所述修饰词的词向量映射到所述核心词的词向量中,以得到所述查询图中表示关系的短语的向量表示。按照本专利技术的另一方面,提供了一种基于问句和知识图结构分析的自然语言问答系统,包括:解析树构建模块,用于识别自然语言问句中的命名实体,并对所述自然语言问句进行解析以构建解析树;查询图构建模块,用于在所述解析树中采用以所述命名实体中的元素为中心的方式进行遍历,在遍历过程中依据预设关系抽取规则从所述解析树中抽取目标信息,构建所述自然语言问句的查询图;节点候选集获取模块,用于对于所述查询图中的每个节点,构建在预设知识图中与所述查询图中各节点相匹配的节点候选集;子图获取模块,用于在所述预设知识图中以所述节点候选集中的每一个节点为中心进行遍历,得到以所述节点候选集中的每一个节点为中心的覆盖所有答案的子图;语义向量构建模块,用于针对所述预设知识图中的路径构建路径语义向量,针对所述查询图中的边属性构建边属性语义向量;候选答案子图获取模块,用于根据所述边属性语义向量与所述路径语义向量来计算所述查询图中的边与该边在所述知识图中相匹配的路径之间的相似度,过滤掉不满足预设相似度要求的子图得到候选答案子图;目标答案获取模块,用于根据所述查询图中的边与该边在所述知识图中相匹配的路径之间的相似度得到各候选答案子图的整体相似度,确定出整体相似度较高的前k个答案。优选地,所述查询图构建模块包括:实体集合构建模块,用于根据所述命名实体设置实体集合;关系提取集合构建模块,用于设置遍历过程关系提取集合,其中,所述遍历过程关系提取集合中的关系属性按照权重递减的顺序排列为:subj,obj,nsubj,iobj,dobj,pobj,nsubjpass,csubjpass,nmod:*,xsubj,prep:*,amod;第一判断模块,用于判断所述实体集合中是否存在未被访问过的元素,若不存在,则结束;遍历搜索模块,用于在所述实体集合中存在未被访问过的元素时,以所述未被访问的元素为根节点,在所述解析树中进行遍历搜索;第二判断模块,用于在遍历过程中,判断所述解析树中表示关系的边的属性是否存在于所述遍历过程关系提取集合的关系属性中,若不存在,则返回执行所述遍历搜索模块;第三判断模块,用于在所述解析树中表示关系的边的属性存在于所述遍历过本文档来自技高网
...
基于问句和知识图结构分析的自然语言问答方法及系统

【技术保护点】
一种基于问句和知识图结构分析的自然语言问答方法,其特征在于,包括:(1)识别自然语言问句中的命名实体,并对所述自然语言问句进行解析以构建解析树;(2)在所述解析树中采用以所述命名实体中的元素为中心的方式进行遍历,在遍历过程中依据预设关系抽取规则从所述解析树中抽取目标信息,构建所述自然语言问句的查询图;(3)对于所述查询图中的每个节点,构建在预设知识图中与所述查询图中各节点相匹配的节点候选集;(4)在所述预设知识图中以所述节点候选集中的每一个节点为中心进行遍历,得到以所述节点候选集中的每一个节点为中心的覆盖所有答案的子图;(5)针对所述预设知识图中的路径构建路径语义向量,针对所述查询图中的边属性构建边属性语义向量;(6)根据所述边属性语义向量与所述路径语义向量来计算所述查询图中的边与该边在所述知识图中相匹配的路径之间的相似度,过滤掉不满足预设相似度要求的子图得到候选答案子图;(7)根据所述查询图中的边与该边在所述知识图中相匹配的路径之间的相似度得到各候选答案子图的整体相似度,确定出整体相似度较高的前k个答案。

【技术特征摘要】
1.一种基于问句和知识图结构分析的自然语言问答方法,其特征在于,包括:(1)识别自然语言问句中的命名实体,并对所述自然语言问句进行解析以构建解析树;(2)在所述解析树中采用以所述命名实体中的元素为中心的方式进行遍历,在遍历过程中依据预设关系抽取规则从所述解析树中抽取目标信息,构建所述自然语言问句的查询图;(3)对于所述查询图中的每个节点,构建在预设知识图中与所述查询图中各节点相匹配的节点候选集;(4)在所述预设知识图中以所述节点候选集中的每一个节点为中心进行遍历,得到以所述节点候选集中的每一个节点为中心的覆盖所有答案的子图;(5)针对所述预设知识图中的路径构建路径语义向量,针对所述查询图中的边属性构建边属性语义向量;(6)根据所述边属性语义向量与所述路径语义向量来计算所述查询图中的边与该边在所述知识图中相匹配的路径之间的相似度,过滤掉不满足预设相似度要求的子图得到候选答案子图;(7)根据所述查询图中的边与该边在所述知识图中相匹配的路径之间的相似度得到各候选答案子图的整体相似度,确定出整体相似度较高的前k个答案。2.根据权利要求1所述的方法,其特征在于,步骤(2)具体包括:(2.1)根据所述命名实体设置实体集合;(2.2)设置遍历过程关系提取集合,其中,所述遍历过程关系提取集合中的关系属性按照权重递减的顺序排列为:subj,obj,nsubj,iobj,dobj,pobj,nsubjpass,csubjpass,nmod:*,xsubj,prep:*,amod;(2.3)判断所述实体集合中是否存在未被访问过的元素,若存在未被访问过的元素,则执行步骤(2.4),否则结束;(2.4)以所述未被访问过的元素为根节点,在所述解析树中进行遍历搜索;(2.5)在遍历过程中,判断所述解析树中表示关系的边的属性是否存在于所述遍历过程关系提取集合的关系属性中,若不存在,则执行步骤(2.4),若存在多个关系属性,则选择权重最高的关系属性所关联的边,然后执行步骤(2.6);(2.6)判断权重最高的关系属性所关联的边所连接的节点是表示关系,还是表示实体:若表示关系,则在所述查询图中相应节点插入一条边;若表示实体,则执行步骤(2.7);(2.7)将所述解析树中表示关系的边所连接的节点表示的实体插入到所述查询图中,并判断该插入的实体是否存在于所述实体集合中,若存在,则执行步骤(2.3),若不存在,则执行步骤(2.8);(2.8)将该插入的实体插入到所述实体集合中,返回执行步骤(2.3)。3.根据权利要求1或2所述的方法,其特征在于,步骤(5)具体包括:(5.1)采用词向量技术训练得到预设词汇库中词汇的词向量;(5.2)若获取所述预设知识图中路径的向量表示,则执行步骤(5.3),若获取所述查询图中表示关系的短语的向量表示,则执行步骤(5.4);(5.3)求取所述知识图的路径中各个边的属性的向量表示,然后将所有边的向量叠加来获取所述知识图的路径的向量表示;(5.4)区分所述查询图中表示关系的短语的核心词和修饰词,将所述修饰词的词向量映射到所述核心词的词向量中,以得到所述查询图中表示关系的短语的向量表示。4.一种基于问句和知识图结构分析的自然语言问答系统,其特征在于,包括:解析树构建模块,用于识别自然语言问句中的命名实体,并对所述自然...

【专利技术属性】
技术研发人员:袁平鹏金海李高峰
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1