Page 425 - 《软件学报》2025年第12期
P. 425

5806                                                      软件学报  2025  年第  36  卷第  12  期


                    3)  ϕ O P(abstract) 为论文的摘要;
                    4)  ϕ O P(publication_date) 为论文发表的时间;
                    5)  ϕ O P(authors) 为论文的作者列表.
                    图  1  中的对象①、对象②和对象③分别为文献             [34]、文献  [35] 以及文献   [33] 对应的论文对象. 文献     [34] 提
                 出了  FB15k  数据集; 文献  [35] 提出了一种对于知识图谱中结点的嵌入算法               TransE, 并在  FB15k  数据集上进行测
                 试; 文献  [34] 基于  TransE  提出了另一种嵌入算法    TransR. 其中对象③的标识、属性集和数据实体展示在右侧. 其
                 属性集合包括     type 属性和上述   5  种必要属性.
                    定义  3 (代码对象). 对于   O ∈ O, 若   ϕ O C(type) = code, 则称   O  为代码对象. 代码对象的数据实体  π E (O ) 包括代
                                        C
                                                                                                 C
                                                                  C
                                                 C                     environment  表示代码的运行环境, 为一个
                 码的运行环境和代码自身, 可以表示为             E = (environment,code), 其中
                 Docker 镜像  (dockerimage),  code  表示代码文件, 为一个   zip  压缩包. 定义代码对象的必要属性集为            K code =
                                                   C
                 {description,authors}, 对于任意的代码对象  O , 都有  K code ⊂ K O C , 并且有:
                    1)  ϕ O C(description) 为对代码内容的自然语言描述,
                    2)  ϕ O C(authors) 为代码的贡献者列表.
                                                                                           C
                                                                                 C
                    设  π EE  为代码对象到其环境的映射,     π EC  为代码对象到其代码文件的映射. 即对于        O ∈O, 若  π E (O )=(environmnet,
                                              C
                            C
                                         ,
                 code), 则  π EE (O ) = environment π EC (O ) = code.
                    图  1  中的对象⑤为   TransR  算法的代码实现对应的代码对象, 此代码对象实现了论文对象③中的算法. 对象⑤
                 的运行环境为一个包括        Python  和相关依赖包的    Docker 镜像, 其代码文件为实现了       TransR  算法的一组   Python  程
                 序文件组成的压缩包.
                    定义   4 (数据集对象). 对于    O ∈ O, 若  ϕ O D(type) = dataset, 则称  O D  为数据集对象. 数据集对象的数据实体
                                            D
                 π E (O )  表示数据集内容, 为一个    zip  压缩包. 定义数据集对象的必要属性集            K dataset = {name,description,authors,
                     D
                                         D
                 date}, 对于任意的数据集对象      O , 都有  K dataset ⊂ K O D , 并且有:
                    1)  ϕ O D(name) 为数据集的名称;
                    2)  ϕ O D(description) 为对数据集内容的自然语言描述;
                    3)  ϕ O D(authors) 为数据集的作者列表;
                    4)  ϕ O D(date) 为数据集的发布日期.
                    图  1  中的对象④为   FB15k  数据集对应的数据集对象. 此数据集对象由论文对象①提出, 在论文对象②和论文
                 对象③中被使用. 对象⑧为算法         TransR  在  FB15k  数据集上进行测试的输出结果构成的数据集对象.
                    定义  5 (复现单元). 对于   O ∈ O, 若   ϕ O R(type) = reproduction, 则称  O  为复现单元. 复现单元是数据实体为空的
                                                                        R
                                        R
                                                                                          R
                 特殊科研数据对象. 定义复现单元的必要属性集                 K reproduction = {name}, 对于任意的复现单元  O , 都有  K reproduction ⊂
                    ,
                 K O R ϕ O R(name)  表示复现单元的名称.
                    图  1  中的对象⑥和对象⑦为复现单元, 分别表示论文③的复现过程中的训练阶段和测试阶段. 在对象⑥对应
                 的训练阶段中, TransR   代码对象    (对象⑤) 以  FB15k  数据集  (对象④) 的训练数据集为输入, 运行         TransR  训练算法,
                 并输出训练得到的模型参数; 在对象⑦对应的测试阶段中, TransR                 代码对象以    FB15k  数据集的测试数据集和训练
                 阶段输出的模型参数作为输入, 运行           TransR  测试算法, 并输出最终的测试结果.
                    前文对各类科研数据对象的内容进行了详细定义, 接下来将对这些科研数据对象之间的关系进行建模.
                 ReproLink  使用关系对象表示科研数据对象之间的关系.
                    定义  6 (关系对象). 关系对象     r = (u,v,t), 其中  u 为关系起点对象的标识,   为关系终点对象的标识,         u,v ∈ I t .   为
                                                                            v
                                                                        t u t v  别为起点类型和终点类型, 分别表示
                 关系对象的类型,     t = (t s ,t u ,t v ), 其中  t s  为语义类型, 表示这个关系的语义;  ,
                 起点对象和终点对象的类型, 其值分别为             ϕ π −1 (u) (type) 和  ϕ π −1 (v) (type).
                                                  I          I
                    表  1  列出了  ReproLink  中所有关系对象的类型及其含义. 设全体关系对象的集合为                R, 所有关系对象的类型
                 的集合为   T , 函数  π u : R → I,π v : R → I,π t : R → T  分别为关系对象到其起点、终点、类型的映射. 即对于关系对
                 象  r = (u,v,t) 满足  π u (r) = u, π v (r) = v, π t (r) = t.
   420   421   422   423   424   425   426   427   428   429   430