Page 195 - 《软件学报》2025年第12期
P. 195
5576 软件学报 2025 年第 36 卷第 12 期
2 华谱通系统框架
本节将详细阐述华谱通的系统架构, 包括家谱图谱构建、家谱知识图谱推理、冗余信息筛选以及基于提示学
习的多轮问答框架. 此外, 为响应华谱系统“人人互联”的本质特征, 本节根据华谱通现有的技术框架, 对跨家谱知
识问答做了技术路线的分析. 华谱通的问答框架如图 2 所示.
张三和李四什么关系?
张三出生在北京
根据案例, 将问题中的三元组抽取出来: 根据历史问答记录和检索信息回答问题
问题: 李四的妻子是谁? 已知李四的父亲是李二 第一轮问答: 问题: xxxx; 回答: xxxx
三元组: (李四, 妻子, ?); (李四, 父亲, 李二) 问答大模型 第二轮问答: 问题: xxxx; 回答: xxxx
问题: 张三和李四什么关系? 张三出生在北京 问题: 张三和李四什么关系? 张三出生在北京
三元组: 检索信息: 张三的妻子是李娜, 李娜的父亲是李四
三元组抽取提示模板 (张三,关系,李四); (张三,出生地,北京) 多轮问答提示模板
(?a :父亲 ?b) (?c :父亲 ?b) (?c :性别 "男") (?a :出生日期 ?n) (?c :出生日期 ?m) notEqual(?a, ?c) lessThan(?m, ?n)→(?a :哥哥 ?c)
(?a :父亲 ?b) (?c :父亲 ?b) (?c :性别 "男") (?a :出生日期 ?n) (?c :出生日期 ?m) notEqual(?a, ?c) greaterThan(?m, ?n)→(?a :弟弟 ?c) 一般问题检索
(?a :父亲 ?b) (?c :父亲 ?b) (?c :性别 "女") (?a :出生日期 ?n) (?c :出生日期 ?m) notEqual(?a, ?c) lessThan(?m, ?n)→(?a :姐姐 ?c)
多条件匹配机制
(?a :父亲 ?b) (?c :父亲 ?b) (?c :性别 "女") (?a :出生日期 ?n) (?c :出生日期 ?m) notEqual(?a, ?c) greaterThan(?m, ?n)→(?a :妹妹 ?c)
…… Jena推理规则定义 路径排序
家谱图谱
家谱知识图谱推理 冗余信息筛选
图 2 华谱通问答框架
2.1 家谱图谱构建
华谱通依托华谱平台的知识库来构建问答系统, 该知识库目前共收录 1 900 多份家谱, 录入的人物信息超过
1 800 万条, 并采用 Neo4j 图数据库存储人物的属性和关系信息. 然而, 由于华谱知识库中的数据来源于众多独立
自治家谱文档, 其对人物之间的关系种类表述可能存在差异. 为了应对这一问题, 本文首先根据血缘和婚姻类型,
将常见的家族关系划分为如下所示的 3 类.
● 配偶关系: 指婚姻关系中的夫妻, 是其他亲属关系的基础.
● 血缘关系: 指有血缘关系的亲属, 包括直系血亲和旁系血亲. 直系血亲是与血缘直接相关的亲属. 一般来说,
直系血亲包括两类: 一方面, 它包括父母、祖父母、外祖父母和高世代的曾祖父母等. 另一方面, 它涉及子女、孙
辈和较低级的曾孙辈. 旁系血亲则是指有血缘关系的非直系血亲, 如兄弟姐妹和叔伯姑侄等.
● 婚姻关系: 指通过婚姻维系的关系, 它通常可以被分为 3 类: (1) 血亲的配偶, 如嫂嫂; (2) 配偶的血亲, 如岳
父; (3) 配偶血亲的配偶, 例如妻子兄弟的妻子等. 值得注意的是, 婚姻关系会随着家族成员的嫁娶关系而逐渐复杂.
如后文图 3 (a) 所示, 根据中华族谱的普遍规律, 本文规定“丈夫”“妻子”“父亲”“儿子”和“女儿”关系为华谱通
家谱图谱的基础关系, 用于串联整个家谱的人物. 此外, 为支持华谱通的人物生平信息问答功能, 华谱系统对家谱
人物分配了多个属性值, 包括生卒年月、字辈号、家庭排行、籍贯和住址等. 依照上述规则, 本文构造的家族图谱
局部样例如后文图 3 (b) 所示.
2.2 面向家谱的知识图谱推理
本节主要介绍华谱通中基于知识图谱推理的核心技术框架, 包括基础问题的 SPARQL 查询和基于 Jena 的完
备推理逻辑定义. 该推理框架能够保证华谱通从家谱知识图谱中推理出的结果与用户的问题高度匹配, 以便更有
效地提示大模型解答用户问题.
2.2.1 SPARQL 查询机制
为了更好地适应基于大模型的自然语言问答过程, 华谱通采用基于语义网络的知识图谱逻辑推理框架. 具体

