论文:Complex Query Answering With Neural Link Predictors

0. Abstract

神经链路预测对识别大规模知识图谱中的缺失边缘十分重要,但利用这种模型来回答复杂查询问题仍然很难实现。例如,如何处理带 conjunctions (∧), disjunctions (∨), existential quantifiers (∃) 之类连词的联合查询,同时还要处理缺失边缘。类似的工作有 Q2B, GQE 等等。

本文提出的框架,将每个查询转换为一个端到端的可微目标,其中每个原子的真值由预训练的神经链路预测因子实现计算。随后,分析了如何进行优化,采用基于梯度的方法优化和组合搜索方式优化。

本文提出的框架使用更少的数据,更简单的训练,产生了更准确的效果。同时,框架也能对复杂查询结果提供证据。本文代码开源。

1. Introduction

介绍了知识图谱和神经链接预测因子 Neural link predictor

本文重点关注带 conjunctions (∧), disjunctions (∨), existential quantifiers (∃) 连词的一阶逻辑查询。

image-20210405102101360

  • 图1:一阶逻辑查询。

一阶逻辑查询的主要问题是,无法捕获实体和关系之间的语义相似性,也无法处理知识图谱中缺失的事实。

本文提出的框架是,用端到端可微函数实现查询,模拟原子之间的相互作用,每个原子的真值由神经链接预测因子计算。

2. Existential Positive First-order Logical Queries

存在正一阶查询 EPFO 是包含 conjunctions (∧), existential quantifiers (∃), disjunctions (∨) 连词的查询。

连接查询 CQ:包含 conjunctions (∧), existential quantifiers (∃) 连词。

image-20210405102806940

分离正常形式查询 DNF:在 CQ 基础上,新包含了 disjunctions (∨) 连词。能实现 EPFO。

image-20210405102911702

3. Complex Query Answering Via Optimization

本文提出的框架,对给定的 DNF,对其每个子查询,通过神经链接预测因子为所有实体生成一个分数,表示它们回答该子查询的可能性。最后,用 t-norms逻辑分离的连续松弛函数 t-conorm聚合这些分数。

框架采用了两种神经链接预测因子 ComplEx 和 DistMult,效果而言,ComplEx 更好。使用张量核 p 范数的变分近似进行正则化。使用 t-norms逻辑分离的连续松弛函数 t-conorm聚合这些分数。

image-20210405103927595

image-20210405104104321

image-20210405104330079

通过上述定义,将问题转换为了复杂查询的分数最大化的连续优化问题,框架可以直接优化变量的嵌入表示,而不用探索变量到实体空间映射的组合空间。

image-20210405105403378

  • 公式4:复杂查询的分数最大化的连续优化问题。

上述优化问题有两种解决方法。一种是基于梯度的优化方法,例如 Adam。另一种是贪婪地搜索一组变量,类似于 beam search,使复杂查询的分数最大化。可以通过遍历查询的依赖关系图来实现。

image-20210405110249801

4. Related Work

相关工作有:

  • Q2B:查询通过框嵌入表示。该方法的训练需要有百万级别的生成查询数据集。
  • 神经链接预测因子模型:通过链接预测学习知识图谱中实体和关系的嵌入。效果由嵌入表示能力而定。

5. Experiments

本文提出了一种将查询分解为连续公式,来回答查询的方法,称为连续查询分解 CQD。两种优化方法分别称为 CQD-CO, CQD-beam

image-20210405110716134

  • 图2:实验考虑的查询结构。p 是投影,i 是交叉点,u 是结合。

image-20210405110752118

  • 表1:数据集内容。

image-20210405110942448

  • 表2:实验结果。CQD 结果比 GQE 和 Q2B 更准确,使用的训练数据集也更少。同时,能处理多跳查询如 2p, 3p。

image-20210405111058238

  • 图3:模型可以提供推理证据。

6. Conclusions

本文提出的框架复杂查询分解 CQD通过对嵌入空间中的实体集进行推理来回答 EPFO。复杂查询被分解为子查询,通过训练神经链接预测因子模型进行能否回答问题打分,并通过 t-normst-conorms 对分数进行聚合,获取最终结果。该方法只用在原子查询上训练一个神经链路预测模型就可以使用框架回答复杂查询,而不用像 Q2B 一样通过百万级别的复杂查询进行训练。同时,模型具有更好的可解释性。