小叽导读:阿里的商品知识图谱帮大家记下了众多商品相关的信息,默默地为高质量线上购物体验保驾护航!但是在商品知识图谱中许多商品的信息依然是缺失的,为了进一步补全图谱,阿里工程师和浙大的同学们提出了知识图谱补全模型 CrossE,能够更加准确地补全缺失的信息,同时还提供相应的解释。从此,商品知识图谱更完整了。
作者 | 张文、Bibek Paudel、张伟、Abraham Bernstein、陈华钧
会议 | WSDM-2019
----
摘要
知识图谱嵌入算法将实体和关系映射到连续向量空间中,尽管目前已有许多知识图谱嵌入算法提出并成功应用于知识图谱相关的任务,但是对于实体和关系间的交叉交互少有讨论。交叉交互(Crossover interaction)是指在关系推理过程中实体和关系之间的交互影响作用,即要预测的关系会影响对于实体信息的选择,而实体所拥有的信息会影响对要预测的关系进行推理的方式,交叉交互在人进行关系推理中的过程中普遍存在。
在本文中,我们提出了显式模拟实体和关系间交叉交互的知识图谱推理算法(CrossE)。CrossE 不仅为每个实体和关系学习了一个通用的嵌入表示,同时还为其学习了多个交互嵌入表示,使得模型更加充分地捕捉实体和关系之间的交互信息,从而达到更准确的关系推理效果。同时,在本文中我们还从提供解释的角度对知识图谱嵌入结果进行了分析。
研究背景
知识图谱将众多事实存储为三元组,即(头实体,关系,尾实体),并应用于许多人工智能任务,例如搜索、问答、推荐等。知识图谱嵌入方法为实体和关系学习向量空间的表示,称为实体嵌入和关系嵌入,通常以向量或矩阵的形式呈现。许多有效的图谱嵌入方法在近些年被提出,包括 RESCAL、TransE、NTN 以及 DistMult 等,它们被广泛用于知识图谱补全、问答以及关系抽取等任务。
交叉交互是指在关系推理过程中实体和关系的交互影响关系,可分为从关系到实体的交互和从实体到关系的交互。交叉交互是关系推理中广泛存在的现象,我们以下图为例说明什么是交叉交互:
假设已知上图所示的知识图谱来预测(X, isFatherOf, ?),实体 X 拥有6个与其相关的三元组,其中有4个(红色系)与当前的预测关系 isFatherOf 是相关的,而另外两个三元组(蓝色系)描述了 X 的职业信息与当前预测无关,这就是关系到实体的交互,即预测的关系会影响实体的信息筛选;关系 isFatherOf 在上图中有两种推理路径(分别以深红和浅红表示),对于实体X而言,只有其中一种推理路径是可用的,即含有 hasWife 和 hasChild 的推理路径,这就是实体到关系的交互,即实体所拥有的信息会影响关系的推理路径的选择。
考虑到交叉交互,在特定三元组下的实体和关系嵌入应该涵盖交叉交互的作用,应该因不同三元组而不同。但是此前提出的知识图谱嵌入方法都忽略了交叉交互的现象,因而多数都为实体和关系学习了一个通用的嵌入,这是不合理的。因此本文提出了一种新的显式模拟交叉交互的嵌入方法 CrossE。
算法描述
CrossE 不仅为实体和关系学习通用嵌入,还通过一个交互矩阵为它们生成因三元组环境不同而不同的交互嵌入。CrossE 的整体方法如下图所示:
其中 E 是实体矩阵,每一行为一个实体的嵌入表示,C 是交互矩阵,每一行与知识图谱中的一个关系相关,R 是关系嵌入矩阵,每一行为一个关系的嵌入表示,在预测尾实体的过程中,先从实体矩阵中找出当前头实体的嵌入表示h,从关系矩阵中找出当前关系的嵌入表示 r,从交互矩阵中找出和当前关系相关的交互向量 c_r, 计算过程中,h 和 c_r 交互得到 h 的交互嵌入,r 和 h 以及 c_r 交互得到 r 的交互表示,然后与偏置向量相加再经过一个激活函数得到预测的尾实体的嵌入,并与真实的尾实体t进行比较得到最终的三元组得分,具体公式如下:
我们采用了 log-likelihood 的损失函数作为训练目标。可以看出,我们虽然在模型中为实体和关系增加了很多交互嵌入,但均为计算得来,参数的增加仅来自于交互矩阵 C。
实验
在实验中我们从链接预测效果以及对于预测结果的解释两方面对嵌入效果进行评估。
链接预测的实验中,我们在三个标准数据集 WN18、FB15k、FB15k-237 上对 CrossE进行了测试,由于有效地捕捉了实体和关系之间的交叉交互,CrossE 在具有挑战的数据集 FB15k 以及 FB15k-237 上实现了较为明显的提升。实验结果如下:
我们还从为预测结果提供解释的角度对 CrossE 进行了评估。本文所指的解释是存在于头实体和尾实体之间的某种路径,在总结头尾实体两度范围内的所有可能路径和结构基础上,我们提出了6种类比结构,并通过在知识图谱中搜索类比结构的方式为预测结果提供解释。我们提出了两种评价模型提供解释的能力的指标,Recall 和 AvgSupport,其中 Recall 指的是通过类比结构能够提供解释的预测结果占总预测结果的比例,AvgSupport 是指能提供解释的预测结果的平均的支持度(support), 支持度是指知识图谱中存在的头尾实体之间的相似结构的实例个数。一般来说,具有较好的提供解释能力的嵌入模型,由于较好对实体进行了嵌入,通常具有更高的 Recall 和 AvgSupport。
得益于交互嵌入,综合 Recall 以及 AvgSupport 来看,CrossE 能够更好地为预测结果提供解释,具体结果如下:
我们还提供了6种类型的类比结构的解释实例,实例来自于 CrossE 在 FB15k-237 上的结果,具体如下:
上表的解释能够有效地帮助我们够理解模型的判断是否正确,这也是解释必要存在的理由之一。
结论
交叉交互作为一种普遍的存在的现象,应该在知识图谱推理过程中被捕捉,因而我们设计了一种显式模拟实体和关系交叉交互的嵌入模型 CrossE,实验表明捕捉交叉交互能够有效提升模型的推理能力,尤其是在复杂的更具有挑战的数据集上。本文我们还从一个新的视角对嵌入模型进行了评估,即为预测结果提供解释,并提出了两种评价指标,从实验结果来看,嵌入模型的预测能力和提供解释的能力并没有直接关联,具有较好预测能力的模型并不一定也具有较好的提供解释的能力,这是两个不同的评估维度。希望我们的研究能对其他研究者们带来启发。