1 引言
1.1 问题
仅仅依赖于三元组的结构化信息有其局限性,因为它们往往忽略了知识图谱中丰富的语义信息以及由这些语义信息所代表的先验知识。语义信息是指实体和关系的含义,比如“北京”是“中国”的首都,“苹果”是一种水果。先验知识则包含了更广泛的概念层次和常识,如国家通常有首都,水果可以被吃等。
实体的表示形式:将每个实体表示为单个向量,不能捕捉实体的不确定语义。这是对丰富语义进行建模的关键限制。例如牛顿即使物理学家又是作家,导致向量表示困难。
后验概率估计:传统的最大似然估计方法只关注形成三元组的概率,而忽略了已知实体和关系对预测的影响。通过引入后验概率的概念,我们能够更准确地反映优化的目标,同时利用先验概率来指导预测过程,从而提高预测的准确性。这种方法在处理缺失值预测时,能够更加细致地考虑问题的条件性,避免了仅依赖于整体三元组概率所带来的局限性。
具体来说,之前的最大似然模型本质上最大化了概率p(h, r, t),即h, r, t形成一个三元组的概率p(h, r, t)。然而,在预测缺失的尾实体(h, r, ?)时,头实体h和关系r已经是已知的,它们可能会影响尾实体t的可能选择。因此,预测t的后验概率p(t | h, r)比p(h, r, t)更准确地表达了优化目标。换句话说,我们可以根据三元组中缺失元素的先验概率来削减可能的选择范围。
1.2 解决方案
提出了一种将结构化信息和描述实体类别的实体类型相结合的方法。
-
结合结构化信息与实体类型:通常,知识图谱由三元组构成,形式为(头实体,关系,尾实体)。这些实体和关系可以具有特定的类别或类型。此方法将这些实体的类型信息与它们在知识图谱中的结构化位置结合起来,以便更好地理解实体之间的潜在联系。
-
构造关系类型:从实体类型出发,自动推断出可能存在的关系类型。例如,如果实体A和B都是“人”类型,那么可能存在“朋友”、“同事”等关系类型。这一步骤有助于构建更丰富、更具体的关系集合,从而增强模型对知识图谱的理解。
-
基于类型的语义相似度:利用实体和关系的类型信息,计算它们之间的语义相似度。这种相似度可以帮助确定实体和关系的先验分布,即在没有具体实例的情况下,某种实体或关系出现的概率。
-
生成多上下文嵌入:对于每个实体,根据其在不同上下文中与其他实体的关系,生成多个嵌入表示。这意味着一个实体可能有多个向量表示,每个表示反映了它在一个特定上下文下的属性和角色。
-
估计后验概率:使用基于类型的先验分布和实际观测到的数据,估计实体和关系预测的后验概率。这使得模型能够根据现有知识做出更准确的预测,即使是在数据稀疏的情况下。
1.3 结合的信息
结构化信息+实体类型
2 方法
目标是获得实体和关系的向量表示,从而最大化所有现有三元组的预测概率。
当预测三元组(h,r,t)的尾部实体时,我们期望在给定三元组满足原则h+r≈t且头部实体和关系分别为h和r的条件下,最大化尾部实体t的概率。我们将这个条件概率记作p(t|h,r,true),其中true意味着三元组(h,r, *)是“真”的。“真”代表三元组满足h+r≈t的原则。“真”三元组在这篇论文中也被称为正确的三元组。最大化这个概率是尾部预测的目的。根据贝叶斯定理,p(t|h,r,true)可以被视为后验概率,它与先验概率的相关性如下式所示:
先验概率体现在分母部分的 𝑝(𝑡𝑟𝑢𝑒∣ℎ,𝑟)上,也就是在不考虑尾部实体的情况下,头部实体和关系形成的三元组是否真实的概率。这个概率就是先验概率的一部分,因为它是在未观察到尾部实体的情况下的概率。
2.1 基于类型的语义相似度
为了估计似然和先验概率,我们引入语义相似度来度量实体语义与类型信息的区别。
所有出现在头部(或尾部)具有相同关系的实体都有一些共同的类型。这些常见的类型决定了这种关系,T_r,head表示头部中的实体,T_r,tail表示尾部中的实体。我们从这些公共类型构造关系的类型集:
T_e是实体e的类型集,∩ρ是一个特殊的交集,它包含属于大多数类型集的元素。这个交集可以捕获比普通交集更多的实体类型信息。然而,更多的信息可能包含更多的噪音。因此,我们通过参数ρ来平衡影响,ρ是所有Te中类型的最低频率,即是一个阈值。
根据实体和关系的类型信息,我们将关系和实体的不对称语义相似度表示为受Jaccard索引启发的两组相似度:
三个式子分别是关系与头部之间的语义相似度,关系与尾部之间的语义相似度,头部与尾部之间的语义相似度。基于类型的语义相似度在后续估计特别是先验概率估计中起着重要的作用。
2.3 多嵌入表示
如上图TransE一个实体只有一个向量表示,了克服这个缺点,TransT将每个实体语义表示为一个向量,并将每个实体表示为一组语义向量。在我们的方法中,我们将每个语义嵌入到向量空间中。我们假设关系具有单一语义,实体具有多个语义。因此,每个关系都表示为单个向量。为了适应丰富的实体语义,我们将每个实体表示为一组语义向量,而不是单个向量。
可能性p(true | h, r, t)取决于随机变量h和t的所有可能语义组合的期望概率。这可以定义如下所示的三元组向量表示的可能性:
n_h和n_t为h和t的实体语义个数;W是随机变量h、t的分布(由于每个实体都有不同的语义组合,所以它们被视为随机变量。这里的随机并不是指真正的随机性,而是指不确定性)。p_true(v_h,i,v_r,v_t,j)是具有h的第i个语义向量V_h,i和t的第j个语义向量V_t,j的分量的似然。根据h + r≈t的原理,该似然由h + r与t的差值决定:
对于给定的关系r
,三元组(h, r, t)
的真实性概率p_true(v_{h,i}, v_r, v_{t,j})
由两部分组成:
- 距离函数
d
:该函数度量了h + r
与t
之间的差异。在这里,距离越小,说明h + r
与t
越接近,那么真实性概率就越大。 - 压缩函数
σ
:这是一个转换函数,将距离d
的值从0到正无穷转化为概率值从1到0。这是因为,语义向量的组合越接近,其对应的真实性概率应该越高。
距离函数d
采用了一范数(1-norm),也就是欧几里得空间中各坐标绝对值之和。压缩函数σ
采用了指数函数e^{-x}
,使得较大的距离d
得到较小的概率值。
如何利用随机过程来捕捉实体的语义信息?为了避免人为设置实体的语义数量(n_h
和 n_t
)带来的主观性,提出了一个基于中国餐馆过程 (Chinese Restaurant Process, CRP) 的随机生成过程来建模语义向量。CRP是一种常用的Dirichlet过程形式,它可以模拟新顾客进入餐厅并选择餐桌的过程,其中每张桌子代表一个类簇,顾客的选择概率会受到已知类簇大小的影响。在这个模型中,作者将尾部实体(或头部实体)在每个三元组中生成新的语义向量的概率(通过生成新的语义向量,模型能够更细致地理解和区分知识图谱中的复杂结构和语义细节,这对于提高模型的性能和泛化能力是非常重要的),定义如下:
2.3 先验概率估计
在三元组(h, r, t)中,三个元素(头实体 h、关系 r 和尾实体 t)的类型集之间存在明显的关系。因此,可以通过计算缺失元素与其它元素之间的语义相似性来估计其先验分布。当预测三元组中的 t 时,具有更多共同类型的实体更有可能出现。所以,使用 t 及其上下文(*,h,r)之间的语义相似性来估计 t 的先验概率:
其中 λ_relation, λ_head, λ_tail ∈ {0, 1} 是相似度权重,因为 h 和 r 对于 t 的先验概率有不同的影响。通过这些权重可以针对不同情况选择不同的相似度。同样地:
2.4 目标函数(损失函数)和负采样
目标函数定义为负采样的预测误差之和。当预测三元组的不同元素时,我们替换相应的元素来获得负三元组。预测误差表示为分段函数:
通过训练三元组与其负样本的概率差来衡量概率估计的性能。将目标函数定义为预测误差的总和:
Δ(h‘,r’,t‘)是负三元组集。预测的总后验概率通过目标函数(损失函数)的最小化来最大化。此外,采用随机梯度下降法优化目标函数,并对实体的语义向量进行归一化处理,避免了过拟合度的问题。