模型
知识图谱嵌入模型能够计算表示三元组\((h,r,t) \in \mathbb{K}\)合理性的实值分数,其中较大的分数表示较高的合理性。分数的解释依赖于模型,通常不能直接解释为概率。
在 PyKEEN 中,模型的 API 定义在 Model 中,其中评分函数通过 Model.score_hrt() 暴露,可用于计算(一批)三元组的合理性分数。此外,Model 类还提供了额外的评分方法,可用于(高效地)计算共享某些部分的大量三元组的分数,例如,计算给定 \((h, r)\) 对和所有可用实体 \(e \in \mathcal{E}\) 的三元组 \((h, r, e)\) 的分数。
注意
这里提供的知识图谱嵌入模型的实现都基于实体/关系索引,而不是字符串表示,参见这里。
在这些评分方法之上,还有相应的预测方法,例如,
Model.predict_hrt()。这些方法通过确保模型处于评估模式来扩展评分方法,参见 torch.nn.Module.eval(),并可选地在分数上应用sigmoid激活以确保值范围在 \([0, 1]\) 之间。
警告
根据手头的模型,直接应用sigmoid可能并不总是合理的。例如,基于距离的交互函数,如pykeen.nn.modules.TransEInteraction,会产生非正分数(因为它们使用负距离作为评分函数),因此sigmoid的输出仅覆盖区间\([0.5, 1]\)。
大多数模型都源自ERModel,这是一个知识图谱嵌入模型的通用实现。
它结合了实体和关系的可变数量的表示,参见
pykeen.nn.representation.Representation,以及一个交互函数,参见
pykeen.nn.modules.Interaction。表示模块将整数实体或关系索引转换为
数字表示,例如向量。交互函数将头实体、关系和尾实体的表示作为输入,并计算三元组的标量合理性分数。
注意
关于表示模块的深入讨论可以在 相应的教程中找到。
函数
|
从交互类提示(名称或类)构建模型。 |
|
从交互类提示(名称或类)构建模型类。 |
类
|
KGE模型的基础模块。 |
|
使用嵌入和交互模块的KGEMs的一个常用且有用的基础。 |
|
归纳模型的一个基类。 |
|
使用来自 |
|
一个仅实现用于评估的方法的模型。 |
|
来自[zhang2020]的AutoSF实现。 |
|
BoxE的实现来自[abboud2020]。 |
|
来自[vashishth2020]的CompGCN实现。 |
|
ComplEx 的一个实现 [trouillon2016]。 |
|
一个实现了LiteralE模型的实现,使用了来自[kristiadi2018]的ComplEx交互。 |
|
ConvE 的实现来自 [dettmers2018]。 |
|
ConvKB的实现来自[nguyen2018]。 |
|
CP的实现如[lacroix2018]中所述,基于[hitchcock1927]。 |
|
CrossE 的实现来自 [zhang2019b]。 |
|
来自[shi2019]的DistMA实现。 |
|
来自[yang2014]的DistMult实现。 |
|
一个实现了LiteralE模型的实现,使用了来自[kristiadi2018]的DistMult交互。 |
|
使用来自[kristiadi2018]的Gated DistMult交互实现的LiteralE模型。 |
|
ERMLP的实现来自[dong2014]。 |
|
|
|
HolE 的实现来自 [nickel2016]。 |
|
KG2E的实现来自[he2015]。 |
|
一个返回固定分数的模拟模型。 |
|
MuRE 的实现来自 [balazevic2019b]。 |
|
一个包装器,它将交互函数与来自[galkin2021]的NodePiece实体表示结合起来。 |
|
NTN的实现来自[socher2013]。 |
|
来自[chao2020]的PairRE实现。 |
|
ProjE 的实现来自 [shi2017]。 |
|
QuatE 的实现来自 [zhang2019]。 |
|
来自[nickel2011]的RESCAL实现。 |
|
R-GCN 的实现来自 [schlichtkrull2018]。 |
|
RotatE的一个实现来自[sun2019]。 |
|
SimplE 的一个实现 [kazemi2018]。 |
|
由[bordes2011]发布的结构化嵌入(SE)的实现。 |
|
来自[ebisu2018]的TorusE实现。 |
|
TransD的实现来自[ji2015]。 |
|
TransE 的一个实现 [bordes2013]。 |
|
TransF的实现来自[feng2016]。 |
|
TransH 的一个实现 [wang2014]。 |
|
TransR 的实现来自 [lin2015]。 |
|
来自[balazevic2019]的TuckEr实现。 |
|
由[bordes2014]发布的无结构模型(UM)的实现。 |
|
一个包装器,它将交互函数与来自[galkin2021]的NodePiece实体表示结合起来。 |
|
在GNN编码器之上的归纳式NodePiece。 |
|
基于关系相似性的评分。 |
|
基于边际分布的评分。 |
|
一个通过共现过滤预测的模型。 |
变量
知识图谱嵌入模型的解析器 |
类继承图
