兰州市做网站的,赣州人事人才网,怎么写app程序,免费h5页面制作软件工具作者 | 张文#xff0c;浙江大学博士#xff0c;研究兴趣为知识图谱表示与推理陈名杨#xff0c;浙江大学在读博士生#xff0c;研究兴趣为知识图谱表示与推理本文将介绍近两年4篇关于知识图谱中的复杂查询问答(Complex Query Answering, CQA)的研究工作。复杂查询问答的目… 作者 | 张文浙江大学博士研究兴趣为知识图谱表示与推理 陈名杨浙江大学在读博士生研究兴趣为知识图谱表示与推理本文将介绍近两年4篇关于知识图谱中的复杂查询问答(Complex Query Answering, CQA)的研究工作。复杂查询问答的目标是回答针对知识图谱的逻辑查询例如查询语句由逻辑符号组成包括存在量词( )、逻辑合取( )、逻辑析取( )、逻辑否定( )等。复杂查询问答的两个重要挑战是1知识图谱往往是不全的因此查询语句中的原子可能涉及不存在在知识图谱中的但是正确的三元组因此依靠纯符号匹配的方法无法保证查询结果的完整性2知识图谱中包含实体之间错综复杂的关系因此知识图谱中可能有很多满足查询的子图当知识图谱规模较大时查询效率较低。因此本文介绍的研究寻求在通过计算来解决复杂查询问答任务将查询问答从符号匹配的范式迁移到基于计算的范式上。Embedding Logical Queries on Knowledge Graphs发表会议NeurlPS 2018这篇文章是首先提出复杂查询问答的研究工作其重点解决了由存在量词( )和逻辑合取( )组成的合取查询问答合取查询可以定义为如下即合取查询语句是由一系列逻辑合取( )连接的原子( )组成每个原子由一个锚点实体( )和实体变量( )组成或是由两个实体变量组成。其中锚点实体指的是在查询语句中给定的实体。查询语句举例如下这篇文章提出的基本思路是将查询语句表示为向量通过计算查询语句向量和实体向量之间的相似度完成回答。在进行查询计算前首先会将查询语句表示为一个查询图(Graph Query)然后根据查询图的结构进行查询计算因此这篇文章将提出的方法命名为GQE(Graph Query Embedding), 给定一个查询其计算流程下图所示为了将查询语句表示为向量这篇文章提出了两种算子一个是映射算子用于将一个头实体的向量表示映射到通过某个关系连接后的尾实体表示文中采用了线性映射假设一个是合取算子用于计算两个表示实体集合的向量的交集可以得到查询语句中两个逻辑合取连接的原子的结果文中采用如下计算方式其中 是需要进行合取计算的原子表示 是一个顺序无关的计算函数 是一个线性变换矩阵。在训练时采用融合负采样的基于间隔的损失函数并提出了两种不同难度的负样本采样方法。作者在两个构造的CQA数据集验证了GQE的有效性部分实验结果如下Query2Box: Reasoning Over Knowledge Graphs In Vector Space Using Box Embeddings发表会议ICLR 2019作者认为先前的方法存在两个问题第一是先前的方法将查询嵌入到向量空间中一个单一的点上但是在实际的逻辑查询中往往需要建模一个实体的集合然而这种集合用点来表示会造成困扰第二点是之前的工作只考虑了逻辑合取仅仅是一阶逻辑中的一小部分没有考虑析取。这篇文章提出Query2Box的方法Q2B将查询过程中的实体建模成Box Embeddings其中一个box是由中心Center和偏移Offset表示的一个在 中的box表示为 如下将查询中的操作建模成在box之间的操作如下projection operation把每个关系表示成 对于给定的box embedding 和关系 映射操作通过 完成也就是分别相加中心和偏移interp operationinterp的操作是在一个box embedding的集合上进行计算具体操作如下除此之外box之间的距离计算方式是由两部分相加得到外部距离和内部距离其中两部分的具体计算方法如下上面所述的projectioninterp和计算距离的图示如下图模型的训练采用的依然是常见的负采样的loss如下本篇文章对于析取的处理方式是将包含析取的逻辑查询转换成析取范式DNF也就是多个合取式的析取这样只需要在最后一步处理析取的操作计算一个候选实体和一个包含析取范式的查询 之间的距离如下作者在如下前五种的查询形式下进行训练并在所有九种形式上测试最终的实验结果如下Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs发表会议NeurlPS 2020这篇文章在之前介绍的两篇文章的基础上将逻辑析取( )、逻辑否定( )考虑进了查询语句中。GQE和Q2B方法均不能直接应用于逻辑否定( )因为他们将实体表示为一个向量或Box而向量或Box表示进行否定后均不是闭合空间会导致整个CQA问题的计算发生在不可控的非闭合空间中。为了解决这个问题这篇文章提出了将实体表示为Beta分布因此将方法命名为BetaE。Beta分布有两个重要的参数 , 其概率密度函数如下 每个实体/子查询的表示用以下符号表示BetaE中包含三种算子用于查询图上的计算包括前文提到的映射算子和合取算子以及一个新提出的否定算子1映射算子通过与关系相关的多个全连接层神经网络将输入的实体Beta分布映射为尾实体的Beta分布。2合取算子通过attention机制将多个输入的Beta分布融合为一个新的Beta分布 一个合取算子的例子如下(3) 否定算子否定算子的目的是将原来概率较高的区域变成较低的同时原来概率较低的区域变成较高的因此设计为原分布和取否定之后的分布可视化如下 在训练过程中通过计算查询语句的Beta分布和目标实体的Beta分布之间的KL散度估计两者的相似度并采用了如下基于负采样的损失函数对于逻辑析取( )的处理这篇文章提出了两种方法一种是通过De Morgan’s laws (DM) 将包含逻辑析取( )的查询语句转换为只包含逻辑合取( )和逻辑否定( )的查询语句一种是将其转换为析取范式(Disjunction Normal Form DNF)。实验过程中作者将BetaE在如下形式的查询语句上进行了验证实验结果如下Complex Query Answering With Neural Link Prediction发表会议ICLR 2021先前的文章都把重点放在如何对带有逻辑的查询进行嵌入表示并且训练的过程中需要上百万的不同种类的逻辑查询的训练数据。本篇文章试图提出利用一种更高效的神经链接预测器Neural Link Predictor仅仅在单跳1-hop的逻辑查询e问答上进行训练学习后进而泛化到更多的种类的复杂查询问答。本篇文章针对的问题和前面的文章类似针对带有存在量词( )、逻辑合取( )、逻辑析取( )的复杂逻辑查询但并未考虑逻辑否定( )。首先介绍方法中的两个重要概念Neural Link Prediction指的是可以将一个三元组这里也叫做原子atom的组成部分映射到向量空间然后对该三元组计算分数。本质上就是一个score function对三元组计算真值。这里使用的是ComplEx的方法。T-Normst-norm如 是逻辑合取的一种拓展允许将离散的逻辑操作拓展到数值上的计算有多种不同的t-nrom例如product t-norm 。t-conorms是t-norms的对偶形式用于逻辑析取。接下来对于一个复杂逻辑查询表达为析取范式如下我们将其利用上面提到的neural link predictor和t-norms将其转换为一个可以优化的问题为其中 和 表示t-nrom和t-conorm 代表通过用neural link predictor计算出来的对原子 计算出来的分数。对于上面这个优化问题文章提出两种优化方法Continuous Optimization简单来说就是找到能够让上面这个优化问题最优的 的表示然后然后把候选的实体表示替代 的位置找出能让查询最终分数最大化的实体最为最终的查询答案。Combination Optimization利用贪婪搜索的方法对每个位置进行实体替换从而找到能让优化问题最优的答案类似于beam search的操作。在实验的过程中因为该模型只需要训练一个neural link predictor所以只需要在原子上也就是1-hop的逻辑查询上进行训练进而拓展到以下形式的查询最终的实验结果如下并且利用Combination Optimization的方法进行查询的话还可以得到查询的中间答案对最终的结果进行解释示例如下 浙江大学知识引擎实验室 OpenKG开放知识图谱简称 OpenKG旨在促进中文知识图谱数据的开放与互联促进知识图谱和语义技术的普及和广泛应用。点击阅读原文进入 OpenKG 网站。