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 , 总
   282   283   284   285   286   287   288   289   290   291   292