Page 270 - 《软件学报》2025年第9期
P. 270
黄俏娟 等: 基于大语言模型的事件常识知识图谱扩展方法 4181
4.4.6 扩展后 ECKG 的推理应用
扩展后 ECKG 的事件三元组通过翻译和规则转换为常识知识库, 并使用 SWI-Prolog 逻辑编程语言实现单个
知识库的推理和多个知识库的推理. 推理过程主要包含 4 个关键部分: “事实” (从 ECKG 获取的事件三元组信息)、
“规则” (事件三元组翻译结果转换为 SWI-Prolog 形式的规则)、“table” (SWI-Prolog 内置谓词) 以及查询 (从知识
库中查询并获得推理结果). 下面将介绍推理过程.
(1) 单个知识库的推理
单知识库的推理是指在一个独立的知识库中进行推理. 例如, 在因果知识库中, 已知“张三因为工资低导致罢
工”的场景. 使用已知的因果事实、规则和内置谓词“table”, 通过输入“导致 (工资低, Y)”进行推理. 这个推理可以
确定 Y 的实体类型为“事件”, 具体的值为“罢工” (如图 13 所示).
事实:
导致(工资低,罢工).
规则:
是一个(X, 事件) :- 导致(X, Y).
结果:
是一个(Y, 事件) :- 导致(X, Y).
是一个(X, Z) :- 是一个(X, Y), 是一个(Y, Z). Y: (事件, 罢工)
:- table 是一个/2.
查询:
导致(工资低, Y)
图 13 因果知识库的推理
上下位知识库推理场景: 已知苹果是一种含维生素 C 的果类, 维生素 C 的果类属于水果, 那么可以得出什么
结论? 推理的结果如图 14 所示, 根据上下位知识的事实和推理规则, 最后可以推理得出苹果是一个实体、是一种
含维生素 C 的果类, 也是一种水果.
事实:
是一个(苹果, 含维生素 C 的果类).
是一个(含维生素 C 的果类, 苹果).
规则:
结果:
是一个(X, 实体) :- 是一个(X, Y).
Y: (实体, 含维生素 C
是一个(Y, 实体) :- 是一个(X, Y).
是一个(X, Z) :- 是一个(X, Y), 是一个(Y, Z). 的果类, 水果)
:- table 是一个/2.
查询:
是一个(苹果, Y)
图 14 上下位知识库的推理
(2) 多个知识库的推理
多知识库的推理通过整合不同的知识库进行协同推理, 有效解决了单一知识库因缺失信息无法完成的推理任
务, 从而支持更复杂的推理. 图 15 展示了上下位知识库与目标知识库的推理结果. 在该图中, 已知相关事实为“两
个主体是家人关系”, 但是主体的具体实体类型未知. 因此, 首先将场景信息提供给上下位知识库, 在这个知识库中
得出主体对应的实体类型是“人”. 接着, 目标知识库从上下位知识库获得实体类型后, 进一步推理出“李红希望张
姨能够康复”的结论. 这种通过不同知识库联合推理的方法, 极大地增强了推理的准确性和适用性.
通过上述常识知识库的推理结果说明, 扩展后 ECKG 的事件三元组通过知识翻译可以进行推理任务, 有效验
证了 ECKG 在实际应用中的实用性.

