ITADN
Accenture/AmpliGraph
Accenture/AmpliGraph · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

AmpliGraph

DOI

Documentation Status

CircleCI

在 Slack 上加入对话

基于 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 包含 TransEDistMultComplExHolE(更多即将推出!)
  • 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-237WN18RRYAGO3-10FB15kWN18
文献最佳0.35*0.48*0.49*0.84**0.95*
TransE0.310.220.500.620.66
DistMult0.300.470.480.710.82
ComplEx0.310.510.490.730.94
HolE0.300.470.470.730.94
RotatE0.310.510.430.700.95
ConvE (AmpliGraph v1.4)0.260.450.300.500.93
ConvE (1-N, AmpliGraph v1.4)0.320.480.400.800.95
ConvKB (AmpliGraph v1.4)0.230.390.300.650.80
* Timothee Lacroix, Nicolas Usunier, and Guillaume Obozinski. Canonical tensor decomposition for knowledge base completion. In International Conference on Machine Learning, 2869–2878. 2018.
** 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 上为该项目点个星呢!

GitHub stars

如果您在学术出版物中使用 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 许可证。