来源:2020 ICLR
摘要
对大规模不完整知识图进行复杂的逻辑查询是一项基本而又具有挑战性的任务。最近,解决这个问题的一种很有前景的方法是将KG实体和查询嵌入到向量空间中,这样回答查询的实体就嵌入到查询附近。然而,之前的工作将查询建模为向量空间中的单个点,这是有问题的,因为一个复杂的查询表示它的答案实体是一个潜在的大集合,但将这个集合表示为单个点是不太清楚的。此外,之前的工作只能处理使用合取(∧)和存在量词(∃)的查询。用析取(∨)处理查询仍然是一个问题。这里我们提出QUERY2BOX, 将基于嵌入的框架推理使用在在任意查询∧,∨,∃不完整的知识图谱上。我们的主要观点是,查询可以嵌入盒子(即hyper-rectangles),在盒子里面一个点集对应于一组回答查询的实体。我们表明,连词可以自然地表示为盒的交集,并证明了一个负面结果,即处理析取将需要嵌入与KG实体数量成比例的维度。然而,我们证明,通过将查询转换为析取范式,QUERY2BOX能够以可扩展的方式处理任意∧,∨,∃逻辑查询。我们演示了query2box的有效性,并显示query2box比目前的技术水平有高达25%的相对改进。
模型方法
图1
为了有效地建模向量空间中的一系列实体,我们使用BOXES(与坐标轴平行的超矩形)。它的好处是不像单个点,盒子是有内部的。因此,如果一个实体在一个集合中,很自然地就可以将嵌入的实体建模为box中的一个点。我们通常在 Rd 上进行操作。通过将:
定义为:
其中,Cen(p)∈Rd 是盒子的中心, Off(p)∈R≥0d 是盒子的正偏移,建模了盒子的尺寸大小。每个KG中的实体都被分配了一个简单的向量 v∈Rd (没有偏移,尺寸为0的盒子)。
图2
我们从源节点的初始box嵌入开始,并且根据逻辑操作符持续更新嵌入。接下来,我们将描述如何为原始节点建立初始box嵌入,以及投影和合取操作符,最后,描述了点到盒子的距离函数和全局的目标函数。
源节点的初始box
每个源节点我们都可以表示为只包含单个实体的集合。这样一个单元素集合能被自然地建模为一个以v为中心,0为偏移量的box嵌入。表示为:(v,0)其中v是d维的锚实体,0是d维全0向量。
几何投影算子
每个关系嵌入为r=(Cen(r),Off(r))是2d维的。给定一个输入box嵌入p,建模投影关系为p+r,即将center相加,再把offset相加。如图1A。
几何合取算子
对于一系列的box嵌入的集合 {p1,…,pn} ,先计算合取后的box中心Cen(pinter):
Cen(pinter )=∑iai⊙Cen(pi),ai=exp(MLP(pi))∑jexp(MLP(pj)),
其中MLP()是把嵌入从2d维转换为d维的多层感知机。(上式相当于引入了注意力机制)
再计算合取后的Off(pinter):
Off(pinter )=Min({Off(p1),…,Off(pn)})⊙σ(DeepSets({p1,…,pn}))
其中:
从几何上,直觉是在一组盒子中生成一个更小的盒子。
实体到box的距离定义
给定一个查询box q (2d维) ,和一个实体向量v(d维),定义它们的距离为:
其中:
解释如图1C。即outside距离与这个实体和box的最近的角落有关,inside距离取决于box的中心和这个实体的位置本身(如果实体在盒子里的话)。
训练目标
给定查询的训练集和它们的答案,我们优化了一个负采样损失去高效地优化我们的基于距离的模型:
析取逻辑运算的处理方法
一种直接的方法是,为析取定义另一个组合操作符,并且像之前那样嵌入查询。一个直接挑战是boxes可以位于向量空间的任何位置,所以它们的析取将不再是一个简单的框。也就是说,析取操作不是闭包的。
解决方案是:转换为DNF(主析取范式)。
任何一阶逻辑谓词可以被转换为相等的DNF。我们在计算图的空间中直接执行这样的变换。
图3。本质上其实是图4中的运算
图4
编辑于 2022-01-05 15:48