基于Tucker分解的时序知识图谱补全10.23

在这里插入图片描述

摘要

知识图谱已被证明是众多智能应用的有效工具。然而,大量有价值的知识仍然隐含在知识图谱中。为了丰富现有的知识图谱,近年来许多用于链接预测和知识图谱嵌入的算法被设计出来推断新的事实。但是,这些研究大多集中在静态知识图谱上,忽略了反映知识有效性的时间信息。开发适用于时间知识图谱补全的模型是一项日益重要的任务。

本文基于四阶张量的Tucker分解 启发,构建了一个新的用于时间知识图谱补全的张量分解模型。证明了所提出的模型具有完全表达能力,并在几个公共基准测试中报告了最先进的结果。此外,提出了几种正则化方案来改进策略,并研究它们对所提出模型的影响。对三个时间数据集(即ICEWS2014,ICEWS2005-15,GDELT)进行的实验研究验证了设计,并证明该模型在链接预测任务上明显优于基准模型。

四阶张量的Tucker分解是一种将一个四阶张量表示为核心张量与三个模式矩阵相乘的分解方法。假设有一个四阶张量X,其维度为(I, J, K, L)。Tucker分解将该张量表示为以下形式:
X ( i , j , k , l ) = ∑ r = 1 R ∑ s = 1 S ∑ t = 1 T ∑ u = 1 U G ( r , s , t , u ) × A ( i , r ) × B ( j , s ) × C ( k , t ) × D ( l , u ) X(i, j, k, l) = \sum_{r=1}^{R} \sum_{s=1}^{S} \sum_{t=1}^{T} \sum_{u=1}^{U} G(r, s, t, u) \times A(i, r) \times B(j, s) \times C(k, t) \times D(l, u) X(i,j,k,l)=r=1Rs=1St=1Tu=1UG(r,s,t,u)×A(i,r)×B(j,s)×C(k,t)×D(l,u)
其中,G是核心张量,具有维度(R, S, T, U),A、B、C、D是模式矩阵,分别具有维度(I, R)、(J, S)、(K, T)、(L, U)。模式矩阵中的每个元素表示张量的某个模式(维度)与对应模式的隐含特征之间的关系。

张量分解模型是一种用于对张量数据进行分解和表示的模型。它将一个高维张量分解为多个低维张量的乘积形式,从而提取出张量中的潜在结构和特征。

引言

知识图谱(KGs)是现实世界中知识和事实的图结构表示,以三元组(主体、谓词、客体)的形式表示。KGs已被证明可用于各种下游任务,如推荐系统、问答系统和信息检索。然而,KGs中仍然存在大量隐藏的知识,即KGs中的实体之间缺少许多连接。近年来,提出了许多用于丰富KGs的KGs补全算法。作为一种代表性方法,KGs嵌入是当前研究的热点,并在KGs补全上展现了其效率和有效性。这种方法的目标是在保留图结构和知识的前提下,对KGs中的节点和关系进行建模,并学习它们的低维隐藏表示,然后将每个三元组的表示输入到评分函数中进行验证。

值得注意的是,KGs中存在两种类型的知识,一种是静态知识,另一种是时序知识。静态知识的有效性随时间不变,例如(武汉,属于城市,中国)。而时序知识可能不是普遍真实的。换句话说,时序知识只在特定的时间段或某个时间点上才是真实的。例如,(巴拉克·奥巴马,担任总统,美国)只在2008年至2016年之间为真实的,(爱因斯坦,获得奖项,诺贝尔奖)只在1922年获得。然而,大多数现有研究都集中在静态KGs上,假设KGs中的每个三元组都是普遍真实的,并忽略了反映知识有效性的时间范围。

在这项工作中,本文研究了在时序KGs上的链接预测任务,这也被称为标准的补全任务。时序KGs中的事实以(主体,谓词,客体,时间戳)的形式呈现,任务是回答查询(主体,谓词,?,时间戳)和(?,谓词,客体,时间戳)。

最近,张量分解方法已成功应用于静态知识图谱的补全。有的将Canonical Polyadic(CP)分解 和Tucker分解应用于知识图谱的补全,并将其构建为三阶张量补全问题。受到四阶张量的CP分解的启发,TNTComplex将时间知识图谱的补全问题表达为四阶张量补全问题,并提出了ComplEx在时间知识图谱补全中的扩展。实质上,CP分解是Tucker分解的一种特殊情况,而具有核张量的Tucker分解比CP分解具有更强的表达能力。此外,对于CP分解来说,计算张量的秩是一个非常困难的问题,因此TNTComplex必须花费大量精力手动选择适当的张量秩来进行时间知识图谱的补全。

Canonical Polyadic(CP),也被称为CANDECOMP/PARAFAC分解,是一种常用的张量分解模型。它用于将高阶张量分解为多个低秩矩阵的乘积形式。
CP分解的目标是将一个高阶张量X表示为一组低秩矩阵的叠加。对于一个三阶张量X,CP分解可以表示为以下形式:
X ≈ ∑_{r=1}^{R} A_{®} ⊗ B_{®} ⊗ C_{®}
其中,A_{®}、B_{®}、C_{®}是分解得到的低秩矩阵,⊗表示张量积运算。分解的结果是通过优化算法来确定每个低秩矩阵的值,使得分解的乘积逼近原始张量X。

在这项工作中,基于四阶张量的Tucker分解构建了一个TuckERT分解模型,用于时间知识图谱的补全。本质上,该工作旨在建立时间信息时间戳与三元组(主体,谓词,客体)之间的关系。具体而言,如果事实(主体,谓词,客体)成立,则支撑事实有效性的时间信息隐藏在实体或谓词中。因此,可以从三元组的实体或谓词中提取时间信息。相反,给定4元组事实,通过将时间信息与实体或谓词相关联,原本由4元组表示的时间事实现在由三元组隐式表示。然后,可以进行张量补全来实现时间知识图谱的补全任务。

与TNTComplex和Desimple 类似,在分解模型中采用了时态和非时态知识,以处理知识的多样性。
贡献如下:

  • 基于四阶张量的Tucker分解,开发了一种新的用于时间知识图谱补全的张量分解模型。
  • 提出了几种正则化方案来改进模型,并研究这些正则化对提出的模型的影响。
  • 对三个时间数据集进行实验研究,证明算法达到了最先进的性能水平。

相关工作

本节介绍了之前提出的静态和时间知识图谱补全方法,其中大多数方法都基于张量分解。

静态知识图谱补全

静态知识图谱补全方法可以广泛分为三种范式:

  1. 基于平移距离的模型,如TransE 和TransD ;
  2. 基于张量分解的方法;
  3. 基于神经网络的模型,包括ConvE和R-GCN。

特别是,由于其高效性和强大功能,张量分解在知识图谱补全中备受青睐。RESCAL是静态知识图谱补全的开创性张量分解方法,它在两个实体向量和谓词矩阵上施加了一个双线性积的得分函数。虽然该模型具有完全的表达能力,但由于谓词矩阵包含大量参数,往往容易出现过拟合问题。后来,DisMult意识到了上述缺陷,并通过对谓词矩阵进行对角化简化了RESCAL。然而,这也带来了一个问题,即对角谓词矩阵只能模拟对称关系而无法模拟非对称关系。为了解决这个问题,ComplEx将实体和谓词嵌入投影到复数空间中,以更好地建模非对称关系。从另一个角度来看,HoLE将循环相关操作应用于主体和客体实体向量,以获得一个组合向量,然后将其与谓词向量匹配以评分事实,从而使模型吸收了RESCAL和DisMult的优点。上述基于CP张量分解的方法独立地学习主体和客体实体的表示,这也是导致链接预测效果不佳的主要原因。鉴于此,SimplE提出了一种利用谓词的逆来解决这个障碍的新的CP方法。除了基于CP分解的方法外,基于Tucker分解的TuckER将知识图谱补全构建为一个三阶二值张量补全问题,并将已知事实的二值张量分解为核张量和三个正交矩阵。

时序知识图谱补全

大多数静态补全模型在学习知识图谱元素的嵌入时未考虑时间维度。时序知识图谱补全仍然是一个有价值但很少研究的问题,在近年来只有少数几个时间知识图谱补全模型被提出。
t-TransE: 为了模拟相邻事实的时间感知谓词之间的转换,t-TransE对嵌入空间的几何结构施加了时间顺序约束,以使嵌入在时间上保持一致且更准确。然后,t-TransE优化由时间顺序约束和TransE模型组成的联合模型,使嵌入空间与观察到的事实维度相兼容。
HyTE: 受到TransH的启发,HyTE通过将实体和谓词投影到由时间信息建模的超平面上,将时间信息与实体和谓词关联起来。然后,HyTE通过最小化平移距离来完成实体和谓词的嵌入学习,其中包含了时间信息。
TA-DistMult: 为了融入时间信息,TA-DistMult利用循环神经网络学习谓词的时间感知表示,然后在DistMult和TransE中利用该表示。
ConT: 为了模拟认知功能,该工作将几种静态知识图谱方法(包括Tucker和RESCAL)推广到时间/情节知识图谱。Tree和ConT是对RESCAL的情节张量的新颖泛化,而ConT通过引入时间的潜在表示来获得全面的性能,在稀疏的情节张量上表现出色。
DE-SimplE: 受到历时词嵌入的启发,DE-SimplE将历时实体嵌入函数与静态模型SimplE相结合,能够指导模型学习实体在任意时间点上的时间特征,用于时间知识图谱补全。
TNTComplEx: 受到四阶张量的规范分解的启发,TNTComplEx引入了ComplEx的扩展来进行时间知识图谱补全。虽然TNTComplEx取得了相当好的性能,但很难准确确定张量的秩。

所有上述的时间方法都将时间信息与实体和/或谓词相关联,以获得时间嵌入,然后将嵌入与静态模型结合用于时间知识图谱补全。与此一致,本文提出了一个用于时序知识图谱补全的四阶张量的Tucker分解,并从不同方面引入了几种正则化约束来协调所提出的分解。
实验证明,该算法达到了最先进的性能水平。

背景

CP分解将一个张量分解为一组分量秩为一的张量之和。而Tucker分解是高阶PCA的一种形式,它将一个张量分解为一个核心张量乘以沿每个模式的矩阵。具体而言,给定一个张量X ∈ Rn1×n2×n3,Tucker分解可以沿着三个模式对X进行分解,得到核心张量G和三个矩阵A,B,C:
在这里插入图片描述
其中◦表示向量外积。核心张量G ∈ Rr1×r2×r3可以捕捉不同组件之间的交互信息。每个模式中的矩阵A ∈ Rn1×r1,B ∈ Rn2×r2,C ∈ Rn3×r3彼此正交。×n表示沿第n个模式的张量乘积。此外,如果核心张量是超对角的且满足r1 = r2 = r3,则Tucker分解等价于CP分解。

后来,TuckER采用这种类型的分解进行知识图谱补全,将矩阵A和C视为实体嵌入E,E = A = C ∈ Rne×de,其中ne表示实体数量,de表示实体嵌入的维度。将B视为谓词嵌入R,R = B ∈ Rnr×dr,其中nr和dr分别表示谓词数量和谓词嵌入的维度。评分函数表示如下:
在这里插入图片描述
其中W ∈ Rde×dr×de也是核心张量,W中的参数数量仅取决于实体和谓词的嵌入维度,而不取决于实体或谓词的数量。同时,TuckER还证明基于CP分解的ComplEx是TuckER的一种特殊情况。

提出的模型

时态事实(s,r,o,t)给三元组(s,r,o)赋予一个时态标签t,以确保其准确性。时态信息隐含在正确三元组事实的实体或谓词中。例如,如果事实(Barack Obama,PresidentOf,America)是普遍真实的,那么4元组的时态元素[2008, 2016]隐含在Barack Obama的主体实体、PresidentOf的谓词或America的客体实体中。可以将上述三种情况表示为以下形式:
• (Barack Obama&[2008, 2016],PresidentOf,America):从2008年到2016年的那个时期,Barack Obama是美国总统。也就是说,三元组中的Barack Obama实体指的是2008年到2016年的那个时期的Barack Obama。
• (Barack Obama,PresidentOf&[2008, 2016],America):Barack Obama是2008年到2016年期间的美国总统。
• (Barack Obama,PresidentOf,America&[2008, 2016]):Barack Obama是2008年到2016年期间的那个美国的总统。

尽管时间戳信息强调了不同对象以分别表达它们的时态性质,但这三个事实准确地表达了相同的含义。因此,我们可以从三元组中提取时间信息T,以4元组的形式表达时间事实。同时,时间戳的嵌入维度与谓词或实体的嵌入维度相同。因此,通过添加时间信息T,TuckER分解可以自然地扩展为以下形式:
在这里插入图片描述
其中M ∈ Rde×dr×de×dt是核心张量。我们称这种分解为TuckERT,其中E表示实体,R表示谓词,T表示时间信息。给定时间事实(es,er,eo,et),TuckERT分解可以表示为以下内积形式:
在这里插入图片描述
如上面的例子所述,时间信息可以与主语、谓词或客体相关联,以获得时间相关的嵌入。此外,获得时间相关的嵌入可以视为TuckERT分解的逆过程:
在这里插入图片描述
这里,⊙表示点积,W ∈ Rde×dr×de是在维度2和4上进行折叠的版本。然后,将时态知识图谱补全视为静态方法。此外,值得注意的是,有些事实可能随时间维度而变化,而有些事实则与时间无关。如上所述,事实(Barack Obama,PresidentOf,America)只在2008年到2016年期间成立,(Einstein,WonPrize,NobelPrize)只在1922年成立。而事实(武汉,CityOf,China)的正确性随时间不变。为了建模这两种知识,时态事实和非时态事实,根据在这里插入图片描述
[7,8]提出了TuckERTNT模型,它是TuckERT的一种变体:
在这里插入图片描述
类似地,给定时间事实(es,er,eo,et),TuckERTNT分解的具体形式可以描述如下:
在这里插入图片描述
其中NT是非时态的缩写。与TNTComplEx相比,我们的模型不需要手动选择张量的秩。我们将时间信息与谓词相关联,基于Tucker分解学习时间相关的嵌入,并利用核心张量的参数来增加实体和时间相关谓词之间每个维度的交互水平,从而获得最先进的性能。此外,[6]证明了在对核心张量施加一定约束的前提下,ComplEx等价于TuckER,或者说ComplEx是TuckER的一种特殊情况。我们给出了类似的结果,即在一定约束条件下,TComplEx可以视为与TuckERT等价。

学习

采用数据增强技术,将互为谓词(对象,谓词-1,主语,时间戳)加入训练集。模型参数通过小批量随机梯度下降进行学习。然后,希望最小化瞬时多类损失来训练模型:
在这里插入图片描述
在这里,(s,r,o,t)是一个正样本,(s,r,o’,t)表示通过将真实对象替换为错误对象获得的负样本。需要注意的是,损失函数只能用于训练模型以回答这种形式的查询(主语,谓词,?,时间戳)。由于存在逆样本(对象,谓词-1,主语,时间戳),回答类型为(对象,谓词-1,?,时间戳)的查询已经包含了回答(?,谓词,对象,时间戳)的情况。

此外,期望对从张量因子化得到的矩阵施加正则化约束,以融入时态模式的先验知识并避免过拟合。根据无向图的一个先验假设,即相似节点具有接近的低维表示,我们希望时间戳嵌入满足平滑约束,即相邻时间戳具有接近的表示。时间约束的形式如下:
在这里插入图片描述
为了防止模型过拟合,对主语、时态和非时态谓词、对象以及核心张量施加嵌入正则化约束。此外,出于研究不同嵌入正则化影响的动机,引入了以下两种嵌入正则化方案。由于核心张量包含大量参数,故认为对核心张量施加约束非常重要,可能对模型产生重大影响。因此,基于每种嵌入正则化方案,分别研究对核心张量施加约束和不施加约束的影响。

在这里插入图片描述
其中,||●||F表示 Frobenius范式,||●||k是k次幂的张量范数。
在这里插入图片描述
其中,||●||p l p l_p lp范数,而||●||q表示张量的 q 次幂的张量范数。考虑到瞬时多类损失和上述两类正则化项,我们通过最小化以下损失函数来训练我们的模型:
在这里插入图片描述
其中,R*(E,·)表示以上四种嵌入正则化的其中之一。

时间复杂度和参数增长

在这里插入图片描述

表1列出了所提出的模型TuckERT、TuckERTNT以及基准模型De-SimplE、TComplEx和其变种TNTComplEx的参数数量。基准模型的参数数量与实体数量、谓词数量或嵌入维度d成线性增长关系。而我们的模型的参数数量随着嵌入维度d的增长而增长三倍,因为三维核心张量仅取决于嵌入维度。因此,所提出的模型TuckERT和TuckERTNT的时间复杂度为O(d3)。至于De-SimplE、TComplEx和TNTComplEx,它们的时间复杂度为O(d)。可以看出,在实体数量、谓词数量和嵌入维度固定的前提下,我们的模型包含更多的参数。然而,有人认为,具有许多参数的模型往往容易出现过拟合和可扩展性问题,从而导致性能不佳。表3表明,与基准模型相比,所提出的模型可以通过使用更多可控参数更好地适应大规模离散时间数据。因此,在设计用于时间知识补全的张量分解模型时,一个重要的挑战是在模型参数和数据之间以及表达能力和模型复杂性之间进行权衡。

表达能力分析

对于知识图谱补全模型来说,完全的表达能力是一个非常重要的特性,它指的是模型通过学习能够正确区分正面事实和负面事实的能力。关于我们模型的完全表达能力的证明如下所述。TuckERT对于时间知识图谱补全是完全具备表达能力的。给定一个四元组(es, er, eo, et),其中es、eo ∈ Rne×de 是主语和客体的二进制独热向量表示,er ∈ Rnr×dr, et ∈ Rnt×dr 是谓词和时间戳的二进制独热向量表示。这里,嵌入维度满足de = ne, dr = nr。我们将二进制向量es的第p个元素,er的第k个元素,eo的第q个元素,et的第r个元素设置为1,其他元素设置为0。此外,我们将张量M ∈ Rde×dr×de×dr的第pkqr个元素设置为1,如果时间事实(es, er, eo, et)成立则设置为1,否则设置为-1。根据TuckERT 分解过程:
在这里插入图片描述
实体嵌入、谓词嵌入和时间嵌入与核心张量的内积能够准确地表示原始的时间张量。通过调节核心张量中的参数,模型能够完全区分正样本和负样本。从另一个角度来看,我们可以将核心张量M视为高维空间中的线性分类器,通过学习在低维空间中区分正样本和负样本的能力。

实验

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值