知识图谱的处理和规则集合的获取
基于反绎学习和基因知识库的基因表达预测 部分三 知识图谱的处理和规则集合的获取
Last updated
基于反绎学习和基因知识库的基因表达预测 部分三 知识图谱的处理和规则集合的获取
Last updated
由于GO知识本体的规模较大,且由三个子集构成,包含所有物种的基因参与的生物过程、构成的细胞组分和分子功能等相关知识。直接基于完整的GO进行模型训练几乎不可实现,且造成计算资源的大量浪费。因此,我们需选取GO知识本体中与EGOAL模型的预测任务直接相关的子集。
本项目中,采取如下方式提取子图:选定数据集和希瓦氏菌的GO标注(即GO知识本体在希瓦氏菌基因组上的Individual Assertion)中出现的所有类名称作为初始集合。给定参数d,在知识图谱中选取与初始集合的距离不大于d的所有结点,并入初始集合作为子图的结点集。子图的边集取为原知识图谱在上述结点之间的所有边。
反绎学习基于一阶逻辑规则进行训练。因此,为了在反绎学习的过程中应用知识图谱中的RDF三元组,需要将其转换成一阶逻辑表达式。在本项目实现中,我们为了规范形式,以合取-析取范式的形式表示整个规则集合。因此对于知识图谱中的每个RDF三元组,按照其谓词的自然语义,统一将其转换为一个析取子式。
由Huang等人提出的remembering算法[14]基于对规则传递性的假设,处理一个给定的一阶逻辑规则集合,使其保留原规则集合的信息同时,只包含目标类名称(Concept Names)集合中的符号,使得反绎学习的训练更加高效。
Remember是一个迭代的算法。每一轮迭代中,会将上一轮规则集中,两条仅有一项在目标类中的规则合并为一条规则,并抛弃不在目标类中的项。直到达到设定迭代上限,或所有满足条件的规则均已被合并。
在本项目实现中,针对希瓦氏菌基因组中的每个基因,训练一个反绎学习模型(详见4.2节)。因此对每个基因,将GO标注中该基因属于的所有类作为目标类集合,分别通过remembering算法获得一个规则集合,供反绎学习训练。通过remembering算法,规则集合的规模显著减小,可大幅提升训练效率。