关于同学们咨询的知识图谱中关系预测问题,大家可以用AmpliGraph实现。
AmpliGraph是埃森哲实验室开发的一个基于TensorFlow的开源库,用于预测知识图谱中概念之间的联系。它是一个神经机器学习模型的集合,用于统计关系学习(statistical relational learning)(SRL)(也称为关系机器学习)--这是AI/ML的一个子学科,涉及对知识图谱的监督学习。AmpliGraph有以下特征:(1)从现有知识图谱中发现新知识;(2)使用缺少的语句来完成大型知识图谱;(3)生成独立的知识图谱嵌入;(4)开发和评估新的关系模型。
AmpliGraph库提供的ML模型可以创建知识图谱嵌入(KGEs)。

图片来自AmpliGraph
在上面的知识图谱中,某些实体之间并没有通过某些关系直接联系起来,例如,没有显示 "Acme Inc "和 "Liverpool "如何通过 "basedIn "关系联系起来的信息。AmpliGraph将上述KGE与一些评分函数相结合,对新的链接进行预测。
例如,它预测Acme Inc在利物浦的概率为85%,可以表示为:

图片来自AmpliGraph
具体实施实现
比如在GoT知识图谱中发现新关系。
下载地址
https://ampligraph.s3-eu-west-1.amazonaws.com/datasets/GoT.csv
数据集如图


(1)安装Ampligraph库
!pip install ampligraph
(2)导入所需的库

(3)下载数据集

(4)获取数据集中存在的唯一实体

(5)获取实体之间唯一关系的名称

(6)从数据集中创建训练和测试集


(7)建模并训练


(8)拟合模型

(9)新的链接预测


通过应用嵌入模型对预测的三元组进行排名

预测链接

预测值转换为0-1范围内的概率

预测结果

(10)使用Tensorboard可视化知识图谱

参考:
AmpliGraph: a Library for Representation Learning on Knowledge Graphs(2019)
https://doi.org/10.5281/zenodo.2595043
https://docs.ampligraph.org/en/1.3.2/




