一种局部可达关系与路径约束知识图谱工业问答的检索方法
本发明涉及一种知识图谱问答形式工业技术检索方法,特别是涉及一种局部可达关系与路径约束知识图谱问答的工业检索方法。
背景技术:
1、知识图谱问答旨在根据用户提出的自然语言问题,从结构化知识图谱中检索相关实体、关系和事实三元组,并生成或返回相应答案。随着大语言模型和检索增强生成技术的发展,基于知识图谱的问答系统逐渐被应用于工程数据智能检索以及企业数据库检索等场景。知识图谱能够提供明确的实体关系和事实依据,有助于缓解大语言模型在开放式生成中可能出现的幻觉问题。
2、现有知识图谱增强问答方法通常先从问题中的种子实体出发,在知识图谱中扩展一跳或多跳候选子图,再利用语义检索模型、大语言模型或排序模型从候选事实中选择答案。然而,在多跳问答场景中,直接扩展 n-hop 候选子图会产生大量无关候选事实,候选空间随跳数快速扩大,不仅降低检索效率,还容易使答案选择过程受到噪声干扰。同时,部分方法依赖人工定义的领域 schema、关系别名表、问题模板或特定数据集标签,这会导致方法在不同知识图谱、不同领域和不同关系命名方式下的迁移能力下降。
3、另有一些方法使用大语言模型对问题进行判断、验证或修正,以提高推理链的合理性。但此类方法一方面会增加调用成本和推理延迟,另一方面会形成“llm 判断 llm 输出”的流程,最终答案仍可能缺少可验证的知识图谱证据路径。尤其是在多跳问答中,即使某条关系链能够在知识图谱中走通,也并不意味着该关系链与原始问题语义一致。例如,问题询问“某导演导演的电影的语言”,错误关系链可能变成“某编剧创作的电影的语言”,该路径仍可能在知识图谱中存在,但其语义已经偏离问题目标。
4、因此,在知识图谱增强多跳问答中,亟需一种能够围绕知识图谱局部可达关系对候选关系链进行逐跳语义验证,并进一步利用连续证据路径约束最终答案的技术方案。该方案应当解决“路径可达但语义错误”的问题,使最终答案不仅能够在知识图谱中被检索到,而且能够由一条关系连续、方向明确、语义一致的证据路径支撑。
技术实现思路
1、本发明的目的在于提供一种局部可达关系与路径约束知识图谱问答的工业检索方法。该方法通过大语言模型获得子问题和候选关系链,随后以知识图谱中当前实体邻域内真实可达的关系作为约束,对候选关系链进行逐跳语义验证;在此基础上,通过答案方向推断、候选边评分、部分路径维护和最终证据路径校验,确保最终答案来源于知识图谱中真实存在、关系连续、方向明确且语义一致的路径。本发明的核心在于:利用知识图谱局部可达关系约束候选关系链,并利用路径证据约束最终答案,从而降低多跳问答中“路径可达但语义错误”的风险。
2、本发明的目的是通过以下技术方案实现的:
3、一种局部可达关系与路径约束知识图谱问答的工业检索方法,所述方法包括以下过程:
4、s1.获取用户输入的自然语言问题、问题中识别得到的种子实体以及知识图谱三元组数据,并将知识图谱三元组统一表示为头实体、关系和尾实体的结构化形式;
5、s2.对知识图谱进行预处理,建立三元组集合、实体集合、关系集合、实体大小写匹配索引以及实体到三元组的双向邻接索引;
6、s3.根据知识图谱中关系对应的头尾实体和字面值分布,构建辅助粗粒度schema,用于标识明显的实体类型或字面值类型冲突;
7、s4.调用大语言模型对自然语言问题进行分解,得到若干子问题、子问题依赖关系以及候选关系链;所述大语言模型可以为本地部署模型、云端模型或通过 api 调用的语言模型;
8、s5.对大语言模型输出的分解结果进行格式校验、关系合法性校验、依赖结构校验和关系链一致性校验;
9、s6.以当前实体邻域中真实存在的局部可达关系作为候选范围,基于关系文本化、原始问题、当前子问题和语义相似度,对候选关系链进行逐跳语义检验;
10、s7.当候选关系不存在于知识图谱关系集合,或候选关系存在轻微文本不一致、关系名称不规范、语义支持不足时,基于局部可达关系、语义支持分数和预设分数间隔进行有限修复;当无法高置信修复时,输出未知状态;
11、s8.根据校验后的关系链,从种子实体开始在知识图谱中逐跳检索候选三元组,并根据当前实体位于三元组头部或尾部的位置推断答案方向;
12、s9.对候选三元组和部分路径进行结构分、语义分和路径分综合评分,并在候选规模过大时采用 top-k 和 beam 机制控制检索规模;
13、s10.对最终候选答案执行知识图谱证据校验,确认其对应路径真实存在、路径连续、关系一致、答案方向正确且类型不冲突,最终输出答案、证据路径、关系链、路径分数和状态信息。
14、所述 s1 中,知识图谱三元组可表示为:head | relation | tail
15、其中,head 表示头实体,relation 表示知识图谱关系,tail 表示尾实体。所述自然语言问题中至少包含一个可链接到知识图谱实体集合的种子实体。
16、所述 s2 中,实体到三元组的双向邻接索引用于同时记录实体作为头实体和尾实体时所连接的三元组。若实体出现在三元组头部,则该三元组被挂载至该实体;若实体出现在三元组尾部,也将该三元组挂载至该实体。通过该索引,系统既可以沿头实体到尾实体方向进行正向检索,也可以沿尾实体到头实体方向进行反向检索,从而支持多跳问答中的双向路径构建。
17、所述 s2 中,实体大小写匹配索引用于将实体的小写形式映射到知识图谱中的原始实体名称,以缓解自然语言问题中实体大小写不一致造成的实体匹配失败。该索引不依赖人工别名表,也不对实体语义进行额外扩展。
18、所述 s3 中,辅助粗粒度 schema 的构建不依赖人工领域先验、固定数据集schema 或关系类型提示表。对于每一种关系,默认将头部类型标记为实体类型;对于尾部类型,若尾部取值主要表现为四位年份,则标记为年份类型;若尾部取值主要表现为数值,则标记为数值类型;若尾部取值表现为评分等小范围数值,则标记为评分类型;否则标记为实体类型。该粗粒度 schema 用于辅助检测明显类型冲突,不作为本发明的核心判别依据。
19、所述 s3 中,辅助粗粒度 schema 可表示为:relation ->head_type, tail_type。例如,若知识图谱中存在关系 release_year,且其尾部对象主要为四位年份,则可得到:release_year ->entity, year。
20、若关系 directed_by 的头尾两侧均为知识图谱实体,则可得到:directed_by ->entity, entity
21、该辅助粗粒度 schema 仅用于检测明显的字面值类型冲突和辅助答案方向验证,不强制要求特定领域中的精细类型划分。
22、所述 s4 中,大语言模型用于输出问题分解结果,不用于最终答案生成和答案正确性判断。所述大语言模型可以为本地部署模型、云端模型或通过 api 调用的语言模型,其输出结果包括子问题序列、子问题依赖关系、种子实体位置、每个子问题对应的知识图谱关系以及关系链。所述子问题中使用掩码符号表示当前待替换实体,所述关系优先限定为知识图谱中真实存在的关系集合;若输出关系不属于该集合,则进入 s7 所述有限修复或未知状态判断。
23、所述 s5 中,分解结果校验包括:检查输出是否为可解析结构;检查每个子问题是否包含标识符、问题文本、依赖项和关系字段;检查第一跳是否从种子实体开始;检查依赖关系是否成环;检查每个关系是否属于知识图谱关系集合;检查关系链是否与子问题中给出的关系序列一致。若依赖结构、字段结构或关系链一致性校验失败,则系统进入未知状态;若仅存在关系名称不属于知识图谱关系集合或语义支持不足的情况,则进入 s7 所述有限修复流程。
24、所述 s6 中,关系语义检验通过关系文本化和语义相似度计算实现。对于知识图谱关系,将关系名称中的连接符替换为空格,得到自动文本化表示。例如:directed_by ->directed by;in_language ->in language
25、在具有粗粒度 schema 的情况下,可将关系文本扩展为:head_type + relation_text + tail_type。例如:entity directed by entity;entity release year year
26、所述 s6 中,对于第 i 跳候选关系 r,计算其语义支持分数。语义支持分数由原始问题与关系文本之间的相似度、当前子问题与关系文本之间的相似度共同确定,可表示为:
27、support_i(r) = beta * sim(q, text(r)) + (1 - beta) * sim(subq_i, text(r))
28、其中,q 表示原始问题,subq_i 表示第 i 个子问题,text(r) 表示关系 r 的文本化表示,beta 为权重系数,sim 表示两个文本之间的语义相似度。所述 sim 可采用句向量余弦相似度实现,即先通过句向量模型将两个文本分别编码为向量 x 和 y,再计算二者夹角余弦值:
29、
30、其中,x · y 表示向量内积,||x|| 和 ||y|| 分别表示向量 x 和向量 y 的模长。
31、所述 s6 中,候选关系的比较范围不是整个知识图谱关系集合,而是当前实体邻域中真实出现过的局部可达关系。通过局部可达关系约束,可避免无关关系参与竞争,降低错误修复概率并提高检索效率。该局部可达关系集合可表示为 r_local(e_i),其中 e_i表示第 i 跳的当前实体。
32、所述 s7 中,有限修复依据如下规则执行。设大语言模型输出的原关系为 r_llm,当前实体 e_i 的局部可达关系集合为 r_local(e_i),保留阈值为 t_keep,修复阈值为t_repair,分数间隔阈值为 delta。
33、其中,t_keep 用于判断大语言模型输出的原始候选关系是否具有足够语义支持。当 support_i(r_llm) 不小于 t_keep 时,系统保留该候选关系,并继续执行后续逐跳检索过程。
34、t_repair 用于判断局部可达关系集合中的候选替代关系是否具备修复资格。当r_llm 不属于知识图谱关系集合,或者 support_i(r_llm) 小于 t_keep 时,系统在 r_local(e_i) 中选取语义支持分数最高的候选关系 r_best。若 support_i(r_best) 不小于 t_repair,则认为 r_best 满足修复的基本条件。
35、delta用于避免在多个候选关系语义支持分数接近时进行不确定修复。只有当support_i(r_best) 与 support_i(r_llm) 的差值不小于 delta 时,系统才将 r_llm 修复为 r_best;否则返回关系不在知识图谱中或关系语义不确定的未知状态。
36、所述 s8 中,逐跳检索以当前实体集合为输入,从实体到三元组双向邻接索引中取出包含当前实体的候选三元组,并保留关系与当前跳关系一致的三元组。若当前实体位于三元组头部,则下一跳实体取三元组尾部;若当前实体位于三元组尾部,则下一跳实体取三元组头部。由此可自动推断 answer_side,避免人工指定关系方向。
37、所述 s9 中,对第 i 跳候选三元组计算结构分和语义分。结构分包括关系匹配、答案方向有效性、实体连续性、粗粒度类型一致性和路径非重复性;语义分表示当前子问题与候选三元组文本之间的相似度。候选三元组文本可由头实体、关系文本和尾实体拼接得到。
38、所述 s9 中,第 i 跳候选边分可表示为:
39、edge_score_i = alpha * struct_score_i + (1 - alpha) * sem_score_i
40、其中,struct_score_i 表示第 i 跳结构分,用于度量候选三元组在知识图谱结构上的合法性和连续性。结构分可由关系匹配、答案方向有效性、实体连续性、类型兼容性和路径非重复性等子项加权得到。其中,关系匹配用于判断候选三元组的关系是否与当前跳目标关系一致;答案方向有效性用于判断当前实体位于候选三元组头部或尾部时是否能够确定下一跳实体;实体连续性用于判断候选三元组是否与当前路径末端实体相连接;类型兼容性用于判断候选三元组是否与辅助粗粒度 schema 存在明显类型冲突;路径非重复性用于降低明显回环路径的优先级。
41、sem_score_i 表示第 i 跳语义分,用于度量当前子问题与候选三元组文本之间的语义匹配程度。候选三元组文本可由头实体、关系文本化表示和尾实体拼接得到,系统可采用句向量余弦相似度计算当前子问题与候选三元组文本之间的相似度。
42、alpha 表示结构分与语义分之间的权重。完整路径分数由该路径中各跳候选边分数edge_score 的平均值计算得到,用于衡量整条证据路径的整体可信度,可表示为:
43、path_score = mean(edge_score_1, edge_score_2, ..., edge_score_n)
44、当某一实体对应候选三元组数量超过预设上限时,系统按照候选边分保留前 k个候选;当部分路径数量超过预设路径宽度时,系统按照路径分数保留前若干条部分路径。top-k 和 beam 机制仅用于控制候选规模,不代表未保留候选必然错误。
45、所述 s10 中,最终答案必须满足以下条件:答案来源于最后一跳候选三元组;完整证据路径中的每条三元组真实存在于知识图谱;路径中相邻跳之间实体连续;路径关系序列与校验后的关系链一致;每一跳答案方向可确定;粗粒度 schema 不存在明显类型冲突。若无法满足上述条件,则系统输出未知状态及对应原因,不由大语言模型生成不可验证答案。
46、本发明还可包括未知状态机,所述未知状态机用于记录问答失败或拒答原因。未知状态包括但不限于实体未匹配、关系不在知识图谱中、关系语义不确定、无候选三元组、路径中断、类型不兼容和最终答案为空。通过显式未知状态,系统能够区分“知识图谱中没有足够证据”和“模型生成失败”,从而增强问答结果的可解释性。
47、本发明的优点与效果是:
48、第一,本发明以知识图谱局部可达关系约束候选关系链,并通过连续证据路径约束最终答案,使系统不仅判断路径是否可达,还进一步判断路径语义是否与原始问题一致,从而降低“路径可达但语义错误”的多跳问答风险。
49、第二,本发明采用逐跳检索而不是直接扩展共享 n-hop 候选池,能够减少无关候选事实对答案选择的干扰,并使每一个答案均对应一条可追溯的知识图谱证据路径。
50、第三,本发明通过关系语义检验和知识图谱局部支持共同判断候选关系是否与原问题语义一致,可在关系名称相近、路径均可走通或候选事实较多的情况下减少错误关系链带来的答案偏移。
51、第四,本发明引入 answer_side 推断和路径分数机制,使系统能够处理正向与反向路径检索,并在候选较多时保持较好的检索效率。
52、第五,本发明采用辅助粗粒度 schema 检测明显字面值类型冲突,能够在不依赖固定领域 schema 的情况下提供基本类型约束,从而辅助提高路径校验的可靠性。
53、第六,本发明在证据不足时输出未知状态,而不是强制生成答案,有助于降低不可验证答案和幻觉风险,提高问答系统在实际应用中的可信度。
54、第七,本发明应用于工程数据智能检索以及企业数据库检索等场景的问题分解结果,经由知识图谱局部可达关系和路径证据约束进行后续校验,因此不必依赖额外训练的专用分解模型或反复调用大语言模型进行答案验证,有利于降低部署成本和推理延迟,提高系统稳定性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com