基于 TensorFlow 的开源库,用于预测知识图谱中概念之间的链接。
AmpliGraph 是一套用于关系学习(relational Learning)的神经机器学习模型,关系学习是机器学习的一个分支, 专门处理知识图谱上的监督学习。
如果您需要以下功能,请使用 AmpliGraph:
- 从现有知识图谱中发现新知识。
- 补全大型知识图谱中缺失的陈述。
- 生成独立的知识图谱嵌入。
- 开发并评估新的关系模型。
AmpliGraph 的机器学习模型生成知识图谱嵌入,即概念在度量空间中的向量表示:

随后,它将嵌入与特定于模型的评分函数相结合,以预测未见过的和新颖的链接:

AmpliGraph 2.0.0 现已发布!
新版本引入了 TensorFlow 2 后端和 Keras 风格的 API,使其运行更快、使用更便捷,并扩展了对多种功能的支持。此外,数据输入/输出管道已发生变更,并且停止了对某些过时模型的支持。
请参阅 Changelog 以获取更详尽的变更列表。
主要特性
- 直观的 API:AmpliGraph API 旨在减少学习预测知识图谱中链接的模型所需的代码量。新版 AmpliGraph 2 API 采用 Keras 风格,使用户体验更加流畅。
- 支持 GPU:AmpliGraph 2 基于 TensorFlow 2,旨在无缝运行于 CPU 和 GPU 设备上——以加速训练。
- 可扩展性:通过扩展 AmpliGraph 基础估计器,构建您自己的知识图谱嵌入模型。
模块
AmpliGraph 包含以下子模块:
- Datasets:用于加载数据集(知识图谱)的辅助函数。
- Models:知识图谱嵌入模型。AmpliGraph 2 包含 TransE、DistMult、ComplEx、HolE(更多即将推出!)
- Evaluation:用于评估模型预测能力的指标和评估协议。
- Discovery:用于知识发现(发现新事实、聚类实体、预测近似重复项)的高级便捷 API。
- Compat:一个子模块,将 AmpliGraph 2 API 的兼容性扩展到 AmpliGraph 1.x,供已熟悉后者的用户使用。
安装
先决条件
- Linux、macOS、Windows
- Python 3.9 – 3.11
安装 AmpliGraph
要从 pip 安装最新稳定版:
pip install ampligraph
为验证安装,请运行以下命令:
>>> import ampligraph
>>> ampligraph.__version__
'2.2.0'
如果您想要最新的开发版本,您可以从
GitHub 克隆仓库,从源代码安装 AmpliGraph 并检出 develop
分支。这样,您的本地工作副本将位于 develop 分支的最新提交上。
git clone https://github.com/Accenture/AmpliGraph.git
cd AmpliGraph
git checkout develop
uv sync
为验证安装,请运行以下命令:
>>> import ampligraph
>>> ampligraph.__version__
'2.2-dev'
预测能力评估(MRR 过滤后)
AmpliGraph 包含 TransE、DistMult、ComplEx、HolE 和 RotatE 的实现。2.0 之前的版本还包含 ConvE 和 ConvKB。 其预测能力如下所示,并与文献中的最先进结果进行了比较。 更多详情见此处。
| FB15K-237 | WN18RR | YAGO3-10 | FB15k | WN18 | |
|---|---|---|---|---|---|
| 文献最佳 | 0.35* | 0.48* | 0.49* | 0.84** | 0.95* |
| TransE | 0.31 | 0.22 | 0.50 | 0.62 | 0.66 |
| DistMult | 0.30 | 0.47 | 0.48 | 0.71 | 0.82 |
| ComplEx | 0.31 | 0.51 | 0.49 | 0.73 | 0.94 |
| HolE | 0.30 | 0.47 | 0.47 | 0.73 | 0.94 |
| RotatE | 0.31 | 0.51 | 0.43 | 0.70 | 0.95 |
| ConvE (AmpliGraph v1.4) | 0.26 | 0.45 | 0.30 | 0.50 | 0.93 |
| ConvE (1-N, AmpliGraph v1.4) | 0.32 | 0.48 | 0.40 | 0.80 | 0.95 |
| ConvKB (AmpliGraph v1.4) | 0.23 | 0.39 | 0.30 | 0.65 | 0.80 |
** Kadlec, Rudolf, Ondrej Bajgar, and Jan Kleindienst. "Knowledge base completion: Baselines strike back. " arXiv preprint arXiv:1705.10744 (2017). 上述结果是在平局时将正样本分配最差排名的情况下计算的。 尽管这是最保守的方法,但一些已发表的文献可能采用分配最佳排名的评估协议。
文档
项目文档可以通过以下命令从本地工作副本构建:
cd docs
make clean autogen html
如何贡献
请参阅 AmpliGraph 文档中的指南。
如何引用
如果您喜欢 AmpliGraph 并在您的项目中使用它,为什么不在 GitHub 上为该项目点个星呢!
如果您在学术出版物中使用 AmpliGraph,请引用为:
@misc{ampligraph,
author= {Luca Costabello and
Alberto Bernardi and
Adrianna Janik and
Aldan Creo and
Sumit Pai and
Chan Le Van and
Rory McGrath and
Nicholas McCarthy and
Pedro Tabacof},
title = {{AmpliGraph: a Library for Representation Learning on Knowledge Graphs}},
month = mar,
year = 2019,
doi = {10.5281/zenodo.2595043},
url = {https://doi.org/10.5281/zenodo.2595043}
}
许可证
AmpliGraph 采用 Apache 2.0 许可证。

