Page 196 - 《软件学报》2025年第12期
P. 196
吴信东 等: 华谱通: 基于知识推理的家谱问答大语言模型 5577
而言, 华谱通以 SPARQL 语句作为知识图谱的查询载体, 这要求家谱数据的存储必须遵循资源描述框架 (resource
description framework, RDF) 协议. 在 RDF 协议条件下, 家谱中的人物、属性和关系用唯一的统一资源标识符
(uniform resource identifier, URI) 确定, 进而通过关系和属性三元组构建符合 RDF 协议的家谱数据. 在如图 4 所示
的曾国藩属性和关系案例中, 一个关系三元组和属性三元组被分别定义为<起始人物 URI, 关系 URI, 目标人物
URI>和<人物 URI, 属性 URI, 属性值字段>.
曾 国 藩 三 子 。 字
栗 诚 。 生 于 1 8 4 8
年 。 卒 于 1 8 8 1 曾国藩 郭筠
年 。 性 别 : 男 。
排 行 : 3 。 妻 子 :
郭 筠 。 生 四 子 :
曾 广 钟 , 曾 广 铨 ,
曾 广 钧 , 曾 广 镕 。 儿子
生 一 女 : 曾 广 珊 。 丈夫
父亲 曾广钟
妻子
纪 简介 儿子 父亲
字辈
儿子 曾广铨
栗诚 字号
父亲
曾纪鸿
出生时间 儿子
1848 父亲
去世时间 曾广镕
父亲 儿子
1881 父亲
女儿
家庭排行 曾广钧
3
曾广珊
(a) 曾国藩家谱示例 (b) 华谱通人物知识结构
图 3 曾国藩家谱示例和华谱通人物知识结构
图 4 RDF 格式下的人物属性与关系案例
在此基础上, 本文定义了对人物基础关系和属性的 SPARQL 查询指令, 表 1 为一些查询指令的案例. 由于
SPARQL 查询语句以语义三元组“?头实体 : 关系 ?尾实体”或“?头实体 : 属性 ?尾实体”为查询条件, 且支持中文的
关系和属性描述, 因此, 华谱通可以将用户的查询问题通过三元组抽取的方式快速地转换为条件完整的查询语句
(具体过程详见第 2.3.1 节), 这相对于一般基于大模型的查询指令生成方法在时效性和完整性上有着显著优势.
表 1 华谱通基础 SPARQL 语句查询示例
查询问题 SPARQL核心语句
曾国藩的父亲是谁? SELECT ?name where{ ?n : 父亲 ?m. ?n : 姓名 曾国藩. ?m : 姓名 ?name.}
曾国藩的儿子是谁? SELECT ?father where{?n : 儿子 ?m. ?n : 姓名 曾国藩. ?m : 姓名 ?name.}
曾国藩的祖籍在哪? SELECT ?m where{?n : 祖籍 ?m. ?n : 姓名 曾国藩.}

