一种基于关键词模板的时序知识图谱问答匹配方法与流程
本发明涉及知识图谱问答,具体为一种基于关键词模板的时序知识图谱问答匹配方法。
背景技术:
1、知识图谱以结构化形式描述客观世界中的实体及其相互关系,已被广泛应用于智能搜索、个性化推荐和问答系统等领域。基于知识图谱的问答利用知识图谱中的事实来回答自然语言问题,通过信息检索、语义解析等方式在知识图谱中寻找最符合的答案,实现对问题的高效解答。静态知识图谱使用资源描述框架(resource description framework,rdf),以三元组(源节点,关系,目标节点)的形式对实体以及实体之间的关系进行建模,如(中国,首都,北京)。图谱中的节点表示一个实体,边表示一种关系,不同三元组相互关联,形成更加复杂的拓扑关系,基于知识图谱结构为检索、查询以及问答等任务提供数据支撑。
2、然而,常规的知识图谱问答使用静态知识图谱作为知识库回答自然语言问题,其中的知识与信息是一成不变的,而在时序条件约束的问答场景中,数据是带有时序信息标签的,进行问答匹配时需要从时间维度进行考虑。常规的基于静态知识图谱的问答匹配方法无法对带有时序条件的数据进行组织分析,难以利用时间信息进行有效推理和解答。
3、具体而言,现有技术在解决上述问题时,主要存在以下缺陷:一方面,现有方法多采用固定模板匹配或规则匹配的方式,对问句的语义理解能力有限,难以准确识别用户问句中的时间约束条件和多跳逻辑关系;另一方面,当面对包含多项时序约束的复杂问句时,现有方法通常需要借助复杂的语义解析模型或多跳推理模型,计算复杂度高、推理效率低,且难以兼顾问答的精准率和效率。
技术实现思路
1、针对现有技术的不足,本发明提供了一种基于关键词模板的时序知识图谱问答匹配方法,解决了现有静态知识图谱问答方法无法有效利用时序信息进行多跳问题推理、难以同时兼顾问答精准率和推理效率的技术问题。
2、为实现以上目的,本发明通过以下技术方案予以实现:一种基于关键词模板的时序知识图谱问答匹配方法,包括以下步骤:
3、获取用户输入的自然语言问句,对自然语言问句进行分词处理和词向量映射,得到词语序列的向量表示;
4、将词语序列的向量表示通过双向长短期记忆网络进行编码,得到融合上下文信息的语义向量;
5、根据预定义的多个槽位对所述语义向量进行分类识别,从词语序列中提取各槽位对应的填充内容,多个槽位至少包括对应于时序知识图谱中实体、关系和时间约束的多类槽位,将自然语言问句的语义解析转化为槽位填充任务;
6、基于各槽位对应的填充内容,将自然语言问句转化为数据库查询语句;
7、执行数据库查询语句,获得结构化数据结果,并将结构化数据结果转化为自然语言回答反馈给用户。
8、作为本发明进一步的方案:所述多个槽位包括:源节点槽位、目标节点槽位、关系边槽位、比较客体槽位、时间戳槽位、在……之后槽位、在……之前槽位、首先槽位、最后槽位和在……中槽位;
9、所述源节点槽位对应时序知识图谱四元组中的head节点,所述目标节点槽位对应时序知识图谱四元组中的tail节点,所述关系边槽位对应时序知识图谱四元组中的edge,所述时间戳槽位对应时序知识图谱四元组中的time,所述比较客体槽位用于提取与在……之后或在……之前约束条件相关的客体对象。
10、作为本发明进一步的方案:所述根据预定义的多个槽位对语义向量进行分类识别,包括:对词语序列中的每一个词语,通过线性层加sigmoid激活函数的组合计算该词语属于各槽位的概率分数,计算公式为:
11、
12、其中,为语义向量中第个词的向量表示,为槽位类型索引,和为第个分类器的权重矩阵和偏置,为sigmoid激活函数,为第个词属于第类槽位的概率分数;
13、每个槽位选取概率分数最高的词语进行填充。
14、作为本发明进一步的方案:提取各槽位对应的填充内容之后,还包括:对填充内容中的实体词语进行语义扩展匹配,将槽位识别阶段的概率分数作为软注意力权重,对语义向量进行加权平均生成实体向量:
15、
16、计算实体向量与知识库中候选实体词汇嵌入向量之间的余弦相似度:
17、
18、其中,为知识库中候选实体词汇的嵌入向量;
19、按照相似度高低排序,返回相似度排序靠前的预设数量的匹配结果。
20、作为本发明进一步的方案:所述数据库查询语句基于预定义的sql模板生成,所述sql模板中包含与所述时序知识图谱查询对应的数据库操作;
21、所述自然语言问句包含多项时序约束时,所述数据库查询语句为嵌套查询语句。
22、作为本发明进一步的方案:所述多项时序约束包括第一时序约束和第二时序约束,生成所述嵌套查询语句时,首先生成用于获取第一时序约束对应时间戳信息的子查询语句,再将子查询语句的查询结果作为外部查询语句的过滤条件生成外部查询语句,获得完整的时间约束条件后通过二次查询获取问句答案。
23、作为本发明进一步的方案:所述按照相似度高低排序,返回相似度排序靠前的预设数量的匹配结果之后,还包括:分别根据各槽位对应的各匹配结果生成对应的数据库查询语句,一并提交数据库执行,合并所有查询结果,去重处理后再返回用户。
24、作为本发明进一步的方案:所述在……之后槽位、在……之前槽位、首先槽位、最后槽位和在……中槽位均为时序约束条件槽位,各时序约束条件槽位通过二分类判定当前问句是否包含对应类型的时序约束,输出是或否,不填充具体词语。
25、作为本发明进一步的方案:所述词向量映射通过预训练的词嵌入矩阵将词语序列中的每个词语映射为稠密数字向量,所述词嵌入矩阵中的词库通过对时序知识图谱中的中文语料进行分词和统计后生成。
26、作为本发明进一步的方案:该方法通过以下功能单元执行:
27、问句预处理单元,用于对用户输入的自然语言问句进行分词处理及词向量映射,输出分词后的词语序列及对应的词向量表示;
28、问句预处理单元,用于对用户输入的自然语言问句进行分词处理及词向量映射,输出分词后的词语序列及对应的词向量表示;
29、语义表征抽取单元,用于接收所述词语序列的词向量表示并通过深度学习模型进行编码转换,输出融合上下文的语义向量;
30、槽位识别单元,用于接收所述语义向量并通过线性层加sigmoid函数的组合对问句上下文信息进行槽位判定,输出各槽位的识别与填充结果;
31、实体匹配单元,用于接收所述槽位填充结果中的实体词语并通过平均池化加余弦相似度的匹配方法进行相近实体词语的匹配,输出扩展匹配后的实体候选集;
32、答案生成单元,分别连接所述槽位识别单元和所述实体匹配单元,用于接收所述槽位填充结果和所述实体匹配结果并填充sql语句模板,输出sql查询语句及对应的问答答案。
33、本发明提供了一种基于关键词模板的时序知识图谱问答匹配方法。与现有技术相比具备以下有益效果:
34、(1)本发明通过设计固定的关键词槽位,将多跳问题退化为模板填充问题,对问题的主干和时序关键词进行识别和提取,填充到预定义的sql语句模板中,将自然语言问句的识别解析问题转化为模板填充问题,避免了传统方法中复杂的语义解析和多跳推理过程,在提高问答精准率的同时提升了推理效率;
35、(2)本发明包含10个槽位的模板体系,其中源节点、目标节点、关系边和比较客体构成问句实体类槽位,在……之后、在……之前、首先、最后和在……中构成时序约束条件类槽位,时间戳单独作为一类;该槽位体系与时序知识图谱四元组结构对应,能够捕获问句中的时序约束条件,克服了现有静态知识图谱问答方法无法有效利用时间信息的缺陷;
36、(3)本发明在槽位识别过程中,通过线性层加sigmoid函数的组合对问句上下文信息进行槽位判定,能够识别问句中的实体词语和时序约束关键词;在实体匹配过程中,通过平均池化加余弦相似度的匹配方法进行相近实体词语的匹配,解决了近义词带来的匹配准确性问题,进一步提高了问答的召回率和精准率;
37、(4)本发明根据约束条件的数量和类型自动生成相应的sql查询语句,一跳问题生成单层查询语句,多跳问题生成嵌套查询语句,实现了对不同复杂度问句的统一化处理,具有良好的可扩展性和通用性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com