OpenKG开源系列 | 不确定性知识图谱推理工具unKR

7969a79487045b624a5c76c43d8937b0.png

OpenKG地址:http://data.openkg.cn/tool/unkr

GitHub地址:https://github.com/seucoin/unKR

论文地址:

https://dl.acm.org/doi/abs/10.1145/3626772.3657661

开放许可协议:Apache-2.0 license

贡献者:东南大学(吴天星、王靖婷、陈仕林、刘云畅、朱曙曈、李伟、许婧怡、漆桂林)

07b84ac679ec872ef984af4a99236e44.gif

1.摘要 

  近期,不确定性知识图谱(Uncertain Knowledge Graphs, UKGs)引起了一定的关注,图谱中每个三元组都被赋予置信度分数。与传统知识图谱相比,UKGs具有不确定性知识表达的能力,通过补全缺失的三元组与预测三元组置信度,实现更可靠、更精准的知识图谱推理。在本文中,我们发布了unKR(uncertain Knowledge graph Reasoning),这是一个利用表示学习技术进行不确定知识图谱推理的开源Python库。我们设计了一个统一的框架来实现两种类型的UKG推理表示学习模型,即普通模型和小样本模型。此外,我们对UKG推理的评估任务和指标进行了标准化以确保公平的比较,并在一致的测试设置下给出每个模型的详细结果。使用unKR,用户可以轻松使用现有模型,并有效地定制开发新模型。所有库、文档、演示、复现结果都在 https://github.com/ seucoin/unKR上公开发布。

2.研究介绍

知识图谱(Knowledge Graphs, KGs)作为结构化表示现实世界事实的重要工具,其核心构建单元为三元组形式(h,r,t),其中h代表头实体,r表示关系,t为尾实体。这种结构化的知识表示方式极大地促进了多个应用领域的发展,包括但不限于问答系统[11]、语义搜索[7]及决策支持系统[19]。近年来,随着对现实世界中不确定性认知的加深,不确定知识图谱逐渐受到学术界的关注,如Probase[17]、NELL[2]和ConceptNet[9,13]等。UKGs通过为每个三元组附加一个置信度评分ss∈[0,1]),即该事实为真的概率,从而将传统的三元组扩展为四元组(h,r,t,s)。例如,(Twitter,竞争,Facebook,0.85)表示Twitter与Facebook之间存在竞争关系的置信度为0.85。这一改进不仅增强了知识表示的能力,还提升了后续推理与决策的准确性。

UKG推理一般指置信度预测与链接预测,是UKG补全与错误检测任务的核心。置信度预测旨在评估三元组的真实性概率,而链接预测则是在给定头实体与关系的情况下,预测潜在的尾实体。当前的研究多聚焦于基于表示学习的方法,该方法通过将实体与关系嵌入至低维向量空间,同时保留其结构、语义及不确定性信息,以实现高效推理。UKG表示学习模型大致可分为两类:普通模型,注重于实体与关系的密集嵌入[3-5,10,12,14,18];以及小样本模型,针对UKG中关系长尾分布的特点,采用基于度量的学习框架[15,16,21],其中假设每类关系仅有少量参考事实。   

然而,当前UKG表示学习领域面临一个显著挑战:近半数现有模型未公开源代码,这不仅阻碍了学术成果的复现与验证,也限制了这些模型在UKG推理及其他下游任务中的实际应用。此外,即便有公开代码,也常因采用不同编程框架(如TensorFlow、PyTorch、Keras等)而增加了复现的复杂性和成本。同时,测试数据集与评估指标的非标准化也阻碍了模型性能之间的公平比较。

鉴于上述问题,受开源KG表示学习工具(如OpenKE[8]、Pykg2vec[20]、NeuralKG[22])的启发,我们开发了unKR—首个专注于UKG推理的开源Python库。unKR提供了一套统一的工作流程与五个独立模块,旨在促进模型复现、定制与性能评估的标准化。通过在三大基准数据集[4]上实施统一的评估框架,我们旨在推动UKG表示学习模型性能的可靠比较,并为UKG推理研究与应用提供坚实的基础。

综上所述,unKR的主要贡献如下:

• 开创性开源贡献:unKR是首个针对UKG推理的开源表示学习库,其核心优势在于其模块化架构设计。这种设计不仅极大地促进了不同UKG推理模型的快速复现,还为用户提供了高度的自定义功能,使得研究人员和开发者能够灵活地调整与优化模型,以适应特定的应用场景或研究需求。

• 广泛模型集成与独立实现:在unKR的统一框架内,成功复现了9种广受认可的UKG表示学习模型,展现了其突出的兼容性和扩展性。尤为值得一提的是,其中5个模型是从零开始独立实现的,这一成果为领域内其他研究者提供了可靠代码实现,有助于减少重复劳动,加速研究进程。

• 标准化测试基准:为了促进不确定性知识图谱推理的发展,unKR对UKG推理的测试数据集和评估指标进行了全面的标准化处理。这一举措确保了不同模型之间的公平比较,为评估模型性能提供了统一的标尺。同时,unKR在一致的测试设置下,详细报告了所有复现模型的性能结果,这种高度的透明性和可重复性对于增强研究结论的可信度、推动领域知识的积累具有重要意义。

3.unKR

4f1fe4998a71a6655527a403a4d70708.png

图1 unKR库概述

图1展示了unKR库的框架结构,该库构建于PyTorch Lightning之上,旨在为不确定性知识图谱推理提供一套通用且高效的工作流程。unKR由五个核心模块构成,各模块间协同工作,共同促进UKG表示学习模型的训练与评估。

Data Processor模块是数据处理的核心,负责解析输入的UKG数据集,执行数据预处理任务,包括数据分析、统计信息生成、负采样策略实施,以及生成适用于训练和测试的数据批次。该模块由三个关键类组成:

UKGData:加载原始UKG事实数据,生成必要的统计信息(如实体与关系的唯一ID),并构建实体关系对字典,为后续处理奠定基础。

UKGSampler:继承自UKGData,专注于负采样过程,通过生成新的头实体或尾实体,并有效过滤已存在的负样本,增强模型的泛化能力。

UKGDataModule:作为PyTorch Lightning的LightningDataModule的扩展,负责将处理后的数据划分为训练、验证和测试所需的mini-batch,确保数据流的顺畅与高效。   

针对小样本学习场景,unKR进一步提供了FSUKGData、FSUKGSampler和FSUKGDataModule类,以支持基于度量学习的UKG表示学习模型,其设计思路与上述普通模型类相似,但更侧重于小样本数据的特性。

表1 unKR中的所有UKG表示学习模型

3fe54f6a4523a98b47eafeb3f197cbee.png

Model Hub模块是unKR的核心之一,它重新实现了两类UKG表示学习模型——普通模型与小样本模型,涵盖了近五年内发表的九个知名模型(详见表1)。每个模型均封装为一个独立的类(如PASSLEAF类),这些类继承自一个基础类BaseModel,后者定义了模型的核心功能,包括score_fun函数,该函数描述了模型如何将实体和关系编码至嵌入空间,并操作这些嵌入以表示事实。此外,每个模型还配备了一个专门的损失计算类(如PASSLEAF_Loss),用于优化过程中的参数调整。

Trainer模块负责引导模型的迭代训练与验证过程。针对每个模型,Trainer模块都提供了一个派生类(如PASSLEAFLitModel),这些类继承自BaseLitModel,并实现了关键的函数,如configure_optimizers(用于配置优化器和学习率调度器)、training_step(基于评分函数计算批次数据的损失)、validation_step和test_step(分别在训练和测试过程中评估模型性能)。

Evaluator模块专注于UKG推理性能的评估,主要通过两种子任务——置信度预测与链接预测来实现。置信度预测旨在估计给定三元组的置信度分数,采用均方误差(Mean Squared Error,MSE)和平均绝对误差(Mean Absolute Error,MAE)作为评估指标;链接预测则在给定头实体和关系对的情况下预测尾实体,报告平均倒数排名(Mean Reciprocal Rank,MRR)、平均排名(Mean Rank,MR)和Hits@𝑘 (𝑘=1, 3, 10)等指标,同时支持基于置信度过滤的测试数据评估,以应对UKG中的不确定性。   

Controller模块作为整个unKR框架的“指挥官”,负责实例化Data Processor、Model Hub和Trainer模块中的类,执行UKG表示学习模型的训练或测试任务,管理训练过程中的提前停止、模型检查点保存及训练日志输出。此外,Controller模块还提供了实时训练进度条显示功能,支持断点重训,并通过YAML文件配置模型超参数,配合可执行的Python脚本,使得unKR的使用更加灵活与便捷。

4.复现结果  

在本文中,我们详尽地列出了超参数配置的具体细节以及模型复现结果,旨在为开发者与研究人员提供一个全面且便捷的平台,以便能够对unKR框架中集成的不同UKG表示学习模型进行深入的横向比较与分析。特别地,表2集中展示了unKR在NL27K这一基准数据集上,针对普通模型与小样本模型所取得的评估结果,其中链接预测的评估严格遵循了置信度阈值设定为0.7的过滤策略,以确保评估结果的一致性与可靠性。

表2 NL27K上使用unKR的复现结果(CP:置信度预测,LP:链接预测)

f26b02f7168ab60c2d2714f5d08e8fdc.png

进一步地,为了直观展示unKR复现模型性能与原始研究的一致性,我们分别在表3(针对普通模型)与表4(针对小样本模型)中,并列呈现了使用unKR复现得到的实验结果与原始论文中报告的结果。值得注意的是,在表3中,我们采用了加权平均排名(Weighted Mean Rank, WMR)作为评估指标之一,以替代传统的MR。这一调整是基于原始论文中仅提供了WMR结果的考量,WMR通过考虑预测结果的置信度分数进行加权,能够更全面地反映模型在链接预测任务上的性能。   

通过对比分析,可以清晰地观察到,无论是普通模型还是小样本模型,unKR的复现结果均与原始论文中报告的性能指标高度一致,这不仅验证了unKR在模型复现方面的准确性与可靠性,也充分证明了其作为UKG表示学习研究与开发平台的有效性与实用性。

表3 PASSLEAF和UPGAT在CN15K上的置信度预测结果

c503a4b70c884e93fc3035d4fe51acac.png

表4 GMUC在NL27K上的复现结果(CP:置信度预测,LP:链接预测)

51110be29988aebff8aca889972092c0.png

5.使用说明

我们编制了以下详尽的分步指南,旨在助力用户迅速掌握并高效利用unKR工具包。该指南涵盖了从库的安装、数据格式的规范指定,到UKG表示学习模型的训练与测试,直至最后利用保存的模型参数评估性能,并详细说明了如何根据需求定制新模型的全过程。

库安装指南:用户可通过两种便捷方式安装unKR。一是直接从GitHub仓库下载源代码,并根据项目文档进行本地安装;二是利用Python的包管理工具pip,通过执行命令“pip install unKR”从PyPi官方源快速安装最新版本,此方式更加简便快捷,适合大多数用户。   

数据格式说明:普通模型要求提供三个标准的tsv格式文件(train.tsv, val.tsv, test.tsv),每个文件中每行代表一个由制表符('\t')分隔的四元组(h,r,t,s),以支持模型的训练、验证与测试。小样本模型除上述三个tsv文件外,还需额外提供四个文件:train_tasks.json、dev_tasks.json、test_tasks.json,分别用于存储训练、开发和测试任务的信息;以及path_graph文件,用于存储背景知识图谱,为模型提供必要的上下文信息。

db051c4cc0481b1ca66e0421ebb810fc.png

图2 unKR快速入门示例

模型训练与测试:图2直观展示了利用unKR训练PASSLEAF模型并评估其性能的完整流程。为便于用户理解,我们还配套提供了详细的演示视频,通过实际操作展示从数据准备到模型训练、再到性能测试的每一步操作,确保用户能够轻松上手。

模型定制:若用户需要在unKR框架中定制新的UKG表示学习模型,需遵循以下步骤:

1.创建Model类:实现自定义的评分函数和损失函数,这是模型的核心部分,决定了模型如何对实体和关系进行编码以及如何评估预测的准确性。

2.继承BaseLitModel:创建一个继承自BaseLitModel的新类,用于配置优化器、学习率调度器等训练参数,并实现训练步骤中的损失计算逻辑。这一步骤确保了模型能够无缝集成至unKR训练框架。    

通过上述指南,我们期望能够帮助用户充分利用unKR的各种功能,无论是进行标准的UKG表示学习研究,还是根据特定需求定制新模型,都能获得高效、便捷的支持。

6.相关工作

近年来,知识图谱(KG)技术的蓬勃发展催生了一系列旨在促进可重复科学研究的开源知识图谱表示学习工具包。其中,OpenKE[8]作为早期先驱,率先集成TensorFlow与PyTorch两大主流深度学习框架,为研究人员提供了灵活多样的开发环境。随后,AmpliGraph[6]与Pykg2vec[20]于2019年应运而生,它们不仅强化了工具包的易用性,还通过设计直观的用户接口(API)极大地推动了知识图谱表示学习效率的提升。

NeuralKG[22]及其变种NeuralKG-ind[23]更是进一步拓展了知识图谱表示学习的边界,它们广泛涵盖了从基于图神经网络(GNN)的复杂模型到基于规则的推理模型,乃至归纳式学习模型等多种技术路线,展现了突出的模型兼容性与扩展能力。

然而,值得注意的是,尽管上述工具包在确定性知识图谱的表示学习领域取得了显著成就,但它们普遍忽视了知识图谱中广泛存在的不确定性信息(如关系的置信度、事实的真实性概率等),这限制了它们在处理UKG时的应用潜力。具体而言,由于缺乏对UKG中不确定性因素的有效建模与表示,这些工具包难以直接支持UKG的推理任务及其他需要处理不确定性的高级应用场景。因此,开发能够全面支持UKG表示学习的工具包,成为了当前知识图谱领域需要解决的重要课题。

7.总结

在本项研究中,我们推出了unKR——首个专注于UKG推理的、基于表示学习方法的开源Python库。unKR构建了一个统一且高效的工作流程,旨在无缝支持普通UKG表示学习模型与小样本学习模型的实现与评估。我们重视评估流程的标准化,以确保不同模型间能够进行公平、可比的性能测试,为研究人员和开发者提供坚实的数据支持。   

为了促进unKR的广泛应用与深入理解,我们配套提供了详尽的文档资料、可复现的实验结果以及用户友好的操作指南,旨在降低使用门槛,加速创新步伐。unKR的模块化设计赋予了其极高的灵活性与可扩展性,使得用户能够轻松根据特定需求定制或集成新的模型组件,满足多样化的应用场景。

展望未来,我们致力将unKR打造为UKG领域的标杆工具。计划持续追踪并集成最新的UKG推理方法,并探索基于规则的UKG推理模型,以进一步丰富unKR的功能集,提升其在处理复杂、不确定知识表示与推理任务中的能力。

8.后续研究

我们设计用于置信度预测与链接预测的提示并在LLaMA-2-7B上做了参数高效微调。我们发现微调后的大模型具备在UKG上执行推理的能力,在特定数据集上能够获得最先进的效果,具体结果可见于:https://github.com/seucoin/ unKR/tree/main/unKR_LLaMA2。未来基于大模型技术进一步提升现实场景的UKG推理能力也是研究的重要方向。

参考文献

[1] Antoine Bordes, Nicolas Usunier, Alberto Garcia-Duran, Jason Weston, and Oksana Yakhnenko. 2013. Translating embeddings for modeling multi-relational data. Advances in neural information processing systems 26 (2013).

[2] Andrew Carlson, Justin Betteridge, Bryan Kisiel, Burr Settles, Estevam Hruschka, and Tom Mitchell. 2010. Toward an Architecture for Never-Ending Language Learning. In Proc. of AAAI, Vol. 24. 1306–1313.

[3] Xuelu Chen, Michael Boratko, Muhao Chen, Shib Sankar Dasgupta, Xiang Lorraine Li, and Andrew McCallum. 2021. Probabilistic Box Embeddings for Uncertain Knowledge Graph Reasoning. In Proc. of NAACL. 882–893.   

[4] Xuelu Chen, Muhao Chen, Weijia Shi, Yizhou Sun, and Carlo Zaniolo. 2019. Embedding uncertain knowledge graphs. In Proceedings of the AAAI conference on artificial intelligence, Vol. 33. 3363–3370.

[5] Zhu-Mu Chen, Mi-Yen Yeh, and Tei-Wei Kuo. 2021. PASSLEAF: A Pool-bAsed Semi-Supervised LEArning Framework for Uncertain Knowledge Graph Embedding. In Proc. of AAAI, Vol. 35. 4019–4026.

[6] Luca Costabello, Alberto Bernardi, Adrianna Janik, Sumit Pai, Chan Le Van, Rory McGrath, Nicholas McCarthy, and Pedro Tabacof. 2019. AmpliGraph: a Library for Representation Learning on Knowledge Graphs. https://doi.org/10.5281/ zenodo.2595043

[7] Sainyam Galhotra and Udayan Khurana. 2020. Semantic Search over Structured Data. In Proc. of CIKM. 3381–3384.

[8] Xu Han, Shulin Cao, Xin Lv, Yankai Lin, Zhiyuan Liu, Maosong Sun, and Juanzi Li. 2018. Openke: An open toolkit for knowledge embedding. In Proceedings of the 2018 conference on empirical methods in natural language processing: system demonstrations. 139–144.

[9] Lei Ji, Yujing Wang, Botian Shi, Dawei Zhang, Zhongyuan Wang, and Jun Yan. 2019. Microsoft Concept Graph: Mining Semantic Concepts for Short Text Understanding. Data Intelligence 1, 3 (2019), 238–270.

[10] Natthawut Kertkeidkachorn, Xin Liu, and Ryutaro Ichise. 2020. GTransE: Generalizing Translation-Based Model on Uncertain Knowledge Graph Embedding. In Proc. of JSAI. 170–178.

[11] Yunshi Lan, Gaole He, Jinhao Jiang, Jing Jiang, Wayne Xin Zhao, and Ji-Rong Wen. 2021. A Survey on Complex Knowledge Base Question Answering: Methods, Challenges and Solutions. In Proc. of IJCAI. 4483–4491.

[12] Sumit Pai and Luca Costabello. 2021. Learning embeddings from knowledge graphs with numeric edge attributes. arXiv preprint arXiv:2105.08683 (2021).

[13] Robyn Speer, Joshua Chin, and Catherine Havasi. 2017. ConceptNet 5.5: An Open Multilingual Graph of General Knowledge. In Proc. of AAAI, Vol. 31.

[14] Yen-Ching Tseng, Zu-Mu Chen, Mi-Yen Yeh, and Shou-De Lin. 2023. UPGAT: Uncertainty-Aware Pseudo-neighbor Augmented Knowledge Graph Attention Network. In Pacific-Asia Conference on Knowledge Discovery and Data Mining. Springer, 53–65.

[15] Oriol Vinyals, Charles Blundell, Timothy Lillicrap, Daan Wierstra, et al. 2016. Matching networks for one shot learning. Advances in neural information processing systems 29 (2016).

[16] Jingting Wang, Tianxing Wu, and Jiatao Zhang. 2022. Incorporating Uncertainty of Entities and Relations into Few-Shot Uncertain Knowledge Graph Embedding. In Proc. of CCKS. 16–28.

[17] Wentao Wu, Hongsong Li, Haixun Wang, and Kenny Q Zhu. 2012. Probase: A Probabilistic Taxonomy for Text Understanding. In Proceedings of the 2012 ACM SIGMOD international conference on management of data. 481–492.

[18] Shihan Yang, Weiya Zhang, Rui Tang, Mingkai Zhang, and Zhensheng Huang. 2022. Approximate inferring with confidence predicting based on uncertain knowledge graph embedding. Information Sciences 609 (2022), 679–690.

[19] Mingshan You, Jiao Yin, Hua Wang, Jinli Cao, Kate Wang, Yuan Miao, and Elisa Bertino. 2023. A knowledge graph empowered online learning framework for access control decision-making. World Wide Web 26, 2 (2023), 827–848.  

[20] Shih-Yuan Yu, Sujit Rokka Chhetri, Arquimedes Canedo, Palash Goyal, and Mohammad Abdullah Al Faruque. 2021. Pykg2vec: A python library for knowledge graph embedding. The Journal of Machine Learning Research 22, 1 (2021), 754–759.

[21] Jiatao Zhang, Tianxing Wu, and Guilin Qi. 2021. Gaussian Metric Learning for Few-Shot Uncertain Knowledge Graph Completion. In Proc. of DASFAA. 256–271.

[22] Wen Zhang, Xiangnan Chen, Zhen Yao, Mingyang Chen, Yushan Zhu, Hongtao Yu, Yufeng Huang, Yajing Xu, Ningyu Zhang, Zezhong Xu, et al. 2022. NeuralKG: an open source library for diverse representation learning of knowledge graphs. In Proceedings of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval. 3323–3328.

[23] Wen Zhang, Zhen Yao, Mingyang Chen, Zhiwei Huang, and Huajun Chen. 2023. NeuralKG-ind: A Python Library for Inductive Knowledge Graph Representation Learning. arXiv preprint arXiv:2304.14678 (2023).


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

a6d570beaff47ef4fd9534e4db204d44.png

点击阅读原文,进入 OpenKG 网站。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值