Page 287 - 《软件学报》2025年第12期
P. 287
5668 软件学报 2025 年第 36 卷第 12 期
信息, 将类的信息与实例的信息进行单独处理, 但又通过类实例视图与其他视图一起通过进阶训练和多任务表示
学习将两者信息给联系起来, 加强类与实例之间的语义联系程度. Histidine 在 OWL2Vec*方法中显示较为聚集, 这
是由于其实例文本信息与 Histidine 类的文本信息几乎完全一样, 例如 Histidine_000, 而其他 3 个类与其实例有些
许区别, 例如 RECIPEFOOD-FOOD-018-12.5 是 Recipe Food 的实例. 图 5 中, 由于 CCF (codex alimentarius food
additive functional class) 的子类数量较少, 且其子类的标注属性包含其标注属性中的部分内容, 因此在 OWL2Vec*
与 MSV-KRL 中都表现的比较聚集, 没有表现出较大差距. 针对 SFP (spice or flavor-producing plant), 由于 Biomed-
BERT 采用生物医学领域数据进行预训练, 而 SFP 属于一种植物, 因此其表现相较于其他几个类别较差, 这也与
第 3.3.3 节中 BiomedBERT 在 FoodOn 与 HeLis 两个本体上的结果一致. Obsolete class 在 BiomedBERT 上的表现
也是同理, 而 FSC (27920-firm/semi-hard cheese (gouda and edam type) (efsa foodex2)) 由于属于食物, 因此在
BiomedBERT 表现良好. 然而, 由于 OWL2Vec*针对完整的 RDF 图进行处理, 难以针对类之间子类关系以外的其
他关系进行有效处理, 导致 Obsolete class 与 FSC 的子类并非如 MSV-KRL 那样聚集. 而 MSV-KRL 通过多语义视
图划分和多任务联合表示学习, 使其不仅可以处理子类关系, 还可以处理类属性关系, 增强语义联系. LLaMA-2-7B
在此处虽然较为集中, 但离散点数量较多.
3.3.6 时间复杂度分析
为了能够综合分析 MSV-KRL 的时间复杂度, 将在本节中针对其各个模块的时间消耗做出针对性的实验分
析. 首先本节的实验所采用的显卡为 A6000, CPU 为 Intel(R) Xeon(R) Gold 6338 CPU @ 2.00 GHz, 内存大小为 256
GB. 针对多语义视图划分模块采用直接计算其运行时间的方法, 将其结果作为时间复杂度, 同时对第 2.3 节中的
算法 1 和算法 2 做理论性分析. 多任务联合表示学习针对经过进阶训练的语言模型获取嵌入的方法的时间复杂
度, 采用与第 1 个模块相同的方法, 然后取平均值作为其时间消耗. 而针对具体的多任务推理, 本文选择统计同一
本体不同任务的平均推理时间消耗作为该方法在某一数据集上的时间复杂度, 同时为了增加测试效率和减少不必
要的消耗, 本文从测试集中选择 100 条数据在 MSV-KRL 和各基线方法上进行测试, 然后计算单个样本所花时间.
2
为了能够和 MSV-KRL 的时间复杂度实验结果有效地进行对比, 本文选择的基线方法为 Box EL 和 OWL2Vec*,
这是由于这两种方法能够与 MSV-KRL 一样同时处理 HeLis、FoodOn 和 GO 这 3 个本体, 且代表着不同类型的
方法.
MSV-KRL 与 OWL2Vec*的本体映射时间消耗, 与 MSV-KRL 的多语义视图划分时间消耗, 以及 HeLis、
FoodOn 和 GO 的实体数量以及公理数量都在表 18 中列出. 首先, 从表中可以发现 MSV-KRL 与 OWL2Vec*的本
体映射时间相差无几, 甚至在 GO 上还要略低于 OWL2Vec*, 表明本体映射时间在合理范围内. 其次, 可以发现多
语义视图划分时间花费最多的是 GO, 其次是 HeLis, 最后是 FoodOn. 这主要是由于 FoodOn 的规模只略大于
HeLis, 且 FoodOn 只具有类层次关系和类属性关系两个视图, 而 GO 在实体数量以及公理数量上都要远超 HeLis
与 FoodOn. 同时, MSV-KRL 各模块之间的耦合度较低, 可以预先进行处理从而降低整体框架的时间消耗.
表 18 多语义视图划分阶段时间复杂度
数据集 方法 本体映射时间 (s) 视图划分时间 (s) 实体数量 公理数量
MSV-KRL 65.7 19.6
HeLis 20 595 4 984
OWL2Vec* 60.9 -
MSV-KRL 3 300.7 9.3
FoodOn 28 182 142 536
OWL2Vec* 3 318.6 -
MSV-KRL 28 350.1 35.5
GO 44 244 452 028
OWL2Vec* 28 476.5 -
针对第 2.3.1 节中的算法 1、算法 2, 本文在此理论上对其进行时间复杂度分析. 首先假设算法 1 中对象属性
|R o | = n, 那么算法 1 O(1), 然后
集合 R o 的大小为 n, 即 外层循环应该执行 n 次. 初始化一个空集合的时间复杂度为
分别执行 SPARQL 查询语句获取对象属性 r o 的复杂定义域和复杂值域概念语义声明, 假设每次 SPARQL 查询需
要时间 T s , 而因为一次循环中进行了两次 SPARQL 查询 (分别查询定义域和值域), 每次循环的查询时间为 2T s , 总

