ICLR2020 Query2Box:基于BOX嵌入的向量空间知识推理8.15+8.16+8.17+8.18

Query2Box:基于BOX嵌入的向量空间知识推理

  • 摘要
  • 介绍
  • 相关工作
  • Query2Box:向量空间中KG的逻辑推理
    • 知识图谱与合取查询
    • 基于box嵌入的实体集推理
      • Box嵌入
      • 源节点的初始box
      • 集合投影运算符
      • 几何相交运算符
      • 实体到box的距离
      • 训练目标
      • 使用析取范式处理析取
      • 向DNF转换
      • 聚合
      • 计算复杂度
  • 实验
    • 知识图谱与查询的生成
    • 评估协议
    • 基准和模型变体
    • 主要结果
      • 1. 注意力机制的重要性
      • 2. 对复杂查询进行培训的必要性
      • 3. 适用于不同查询的自适应框大小
  • 总结

在这里插入图片描述

摘要

在大规模不完全知识图谱上回答复杂的逻辑查询是一项基础性但具有挑战性的任务。最近,一种解决这个问题的很有前途的方法是将KG实体和查询嵌入到向量空间中,这样回答查询的实体紧密嵌入在查询附近。然而,先前的工作 将查询建模为向量空间中的单点 ,这是有问题的,因为复杂的查询表示其答案实体的潜在大集合,但尚不清楚如何将这样的集合表示为单点。此外先前工作只能处理使用连词(∧)和存在量词( ∃ )的查询。处理具有逻辑或(∨)的查询仍然是一个悬而未决的问题。

将查询建模为向量空间中的单点意味着将查询表示为向量空间中的一个点。在信息检索和自然语言处理中,常常使用向量空间模型(Vector Space Model)来表示文本和查询。向量空间模型将文本表示为多维向量,其中每个维度代表一个特征或属性。这些特征可以是词语、短语、关键词的存在与否,或者其他统计信息。通过将文本映射到向量空间,可以方便地进行计算和相似性比较。

在这里,我们提出了QUERY2Box,这是一个基于嵌入的框架,用于在大量和不完整的KGs中用∧、∨和 ∃运算符推理的任意查询。

主要观点是,查询可以嵌入为box——超矩形(Hyper-rectangle) ,其中矩阵内的一组点对应于查询的一组答案实体。我们证明了连接可以自然地表示为box的交集,并证明了一个否定的结果——处理“或∨”需要 与KG实体的数量成比例的维数 。然而,通过将查询转换为 合取范式(Disjunctive Normal Form(DNF)) ,QUERY2BOx能够以可扩展的方式处理具有∧、∨和 ∃的任意逻辑查询。

Hyper-rectangle(超矩形)是一个在多维空间中表示的几何形状。也被称为"axis-aligned rectangle"(轴对齐矩形)或"axis-aligned bounding box"(轴对齐边界框)。
在二维空间中,矩形由四条边组成,且所有边都与坐标轴平行。类似地,在多维空间中,超矩形由多个轴对齐的边界构成,边界与每个维度的坐标轴平行。`
例如,在二维空间中,一个超矩形可以由左下角和右上角两个点定义。这两个点的坐标分别表示矩形的最小和最大边界值。在三维空间中,超矩形则由一个底部前角和一个顶部后角来定义。

与KG实体的数量成比例的维数
在知识图谱中,实体代表现实世界中的具体事物、概念或实体对象,而维度则表示对实体进行描述和分类的属性或特征。例如,在一个电影知识图谱中,实体可以是具体的电影作品,而维度可以包括电影的标题、导演、演员、上映日期等属性。"数量成比例的维数"意味着知识图谱中的实体数量与维度数量之间存在一种比例关系。换句话说,随着实体数量的增加,维度数量也相应地增加,而且它们之间的增长趋势是相似的。

合取范式 Disjunctive Normal Form(DNF)
是一种逻辑表达式的标准化形式,其中逻辑表达式由多个逻辑项(terms)通过逻辑或(disjunction)连接而成。
DNF 是一种将逻辑表达式表示为逻辑项的集合的方法,其中每个逻辑项都是由多个逻辑变量或它们的否定组成,并通过逻辑与(conjunction)连接。每个逻辑项代表了一个满足整个逻辑表达式的特定条件。
在 DNF 中,逻辑或连接符表示为"∨"(或者用"+“表示),逻辑与连接符表示为"∧”(或者用"·"表示)。举个例子,考虑逻辑表达式 (A ∧ B) ∨ (¬C ∧ D),它包含了两个逻辑项:(A ∧ B) 和 (¬C ∧ D)。这个表达式在 DNF 中的表示就是这两个逻辑项的逻辑或连接:(A ∧ B) ∨ (¬C ∧ D)。
DNF 的一个重要特点是,它能够完全表示逻辑表达式的真值表。也就是说,通过将逻辑表达式转换为 DNF,可以清晰地表示逻辑表达式的所有可能真值情况。

最后演示了QUERY2BOx在三个大型KG上的有效性,并表明QUERY 2BOx比现有技术实现了高达25%的相对改进。

介绍

知识图谱捕获实体之间不同类型的关系。在KG上回答任意的逻辑问题在基于知识推理、已经更广泛的人工智能的一项基本任务。

在这里插入图片描述
一阶逻辑查询可以表示为有向非循环图(DAG)(图1 A),并根据DAG进行推理以获得一组答案(图1 C)。这种方法虽然简单直观,但也有很多缺点:
(1)子图匹配的计算复杂度是查询大小的指数,因此无法扩展到现代KGs;
(2) 子图匹配非常敏感,因为它不能正确回答缺少关系的查询。

为了补救(2),可以 填补缺失关系,但这只会使KG密度更大,这将进一步加剧问题(1)。

“Impute missing relations”(填补缺失关系)
指在数据分析和机器学习任务中,通过使用已有数据的模式和特征来推断或估计缺失的关系信息。
在现实世界的数据集中,可能存在一些缺失的关系数据。这些缺失的关系可能是由于数据收集过程中的错误、不完整的记录或其他原因导致的。然而,缺失的关系数据对于分析和建模任务可能是重要的,因为它们可能包含有关数据之间关系的有价值信息。
因此,"impute missing relations"的目标是通过利用已有的数据和模型来填补这些缺失的关系。填补缺失的关系数据可以提高数据的完整性和可用性,使得后续的分析和建模任务更加准确和全面。

最近,出现了一种很有前景的替代方法——将逻辑查询和KG实体嵌入到低维向量空间中,从而 将回答查询的实体嵌入到查询附近。这种方法稳健地处理缺失的关系,并且也是快一个数量级 ,因为回答任意逻辑查询被简化为简单地识别向量空间中最接近查询嵌入的实体。

将逻辑查询和知识图谱(KG)实体嵌入到低维向量空间中的目标是将查询和相关实体表示为向量,并通过计算它们之间的相似度来回答查询并找到与查询相关的实体。
一旦逻辑查询和KG实体都被映射为向量表示,就可以使用向量之间的相似度度量(如余弦相似度)来计算查询向量与实体向量之间的相似性。通过找到与查询向量最相似的实体向量,可以将回答查询的实体嵌入到查询附近。

然而,先前的工作将查询嵌入到向量空间中的单个点中,这是有问题的,因为回答逻辑查询需要在遍历KG时对一组活动实体进行建模(图1 C),且如何有效地对具有单点的集合进行建模尚不清楚。此外,在向量空间中定义两点的逻辑运算符(例如,集合交集)也是不自然的。先前工作的另一个基本限制是,它只能处理 合取查询(conjunctive queries) ,这是一个一阶逻辑的子集,只涉及连词(∧)和存在量词(∃),而不是逻辑或(∨)。如何在向量空间中有效地处理或关系(∨)仍然是一个悬而未决的问题。

Conjunctive queries(合取查询,∧)
在合取查询中,查询条件由多个子条件(谓词条件)通过逻辑与(合取)连接而成。每个子条件由一个谓词和对应的参数组成,用于描述所需的数据或关系。在知识图谱中,合取查询也常用于从图结构中获取满足特定关系和属性条件的实体和关系。它可以用于查询图谱中的实体间的关系、实体属性的限制等。

本文提出了QUERY2Box,这是一个基于嵌入的KG推理框架,能够以可扩展的方式处理任意 存在性正向一阶逻辑(EPFO) 逻辑查询(即包括∧、∨和∃的集合的查询)。

Existential Positive First-order(EPFO,存在性正向一阶逻辑)是一种子集逻辑,属于一阶逻辑的变种。在EPFO中,只允许存在量词(存在量词)和正向的原子命题(正向谓词)。
EPFO限制了逻辑表达式的形式,以便更简化和限定推理过程。它不允许否定(否定量词和否定谓词)的使用,只允许存在量词和正向谓词的组合。
在EPFO中,常见的逻辑表达式形式如下:
1.原子命题:P(x, y, z),表示一个具有参数 x、y、z 的正向谓词。
2.存在量化:∃x P(x),表示存在一个 x,使得谓词 P 成立。
EPFO的一个重要特点是它的计算复杂性较低。由于限制了逻辑表达式的形式,EPFO的推理过程相对较简单和高效,使得它适用于某些特定的推理任务。

首先,为了准确地对一组实体进行建模,我们的关键思想是使用 闭合区域(closed region),而不是向量空间中的单个点。
具体来说,我们使用一个方box(轴对齐的超矩形)来表示查询(图1 D)。这提供了三个重要的好处:
(1)box自然地对它们所包含的实体集进行建模;
(2)逻辑运算符(例如,集合交集)可以自然地在方框上定义,类似于Venn图;
(3)在框上执行逻辑计算器会产生新的框,这意味着操作已关闭;

因此,通过根据查询计算图迭代更新框,可以在QUERY2框中有效地执行逻辑搜索(图1 B、D)。

“closed region”(闭合区域)
知识图谱中是指一个由实体和关系构成的子图,其中所有的路径都是闭合的,即从一个实体出发,沿着关系边遍历若干步后最终回到同一实体。这个闭合路径可以是简单的环(环状路径),也可以是更复杂的图形结构(包含多个环的区域)。闭合区域在知识图谱中的应用主要是用于表示实体之间的密切关联和相互作用。当一个区域内的实体之间存在多个路径时,这些实体往往具有较高的相关性或相似性。
通过识别和分析闭合区域,可以揭示实体之间的隐藏关系、发现新的关联模式,并支持知识图谱的查询和推理。

我们展示了QUERY2Box可以自然地处理关系与(∧)的查询。首先证明了一个否定的结果——仅将EPFO查询嵌入到单个点或框是难以处理的,因为它需要嵌入与KG实体数量成比例的维数。然而,我们提供了一个的解决方案——将给定的EPFO逻辑查询转换为合取范式(DNF),即 合取查询的析取

“disjunction of conjunctive queries”(合取查询的析取)
指的是通过逻辑或(disjunction)将多个合取查询(conjunctive queries)进行组合的查询形式。
合取查询是一种查询形式,其中多个条件通过逻辑与(合取)进行连接。每个条件通常由谓词和参数组成,以描述实体和它们的属性或关系。而析取查询则是将多个查询通过逻辑或进行连接,以获取满足任一查询的结果。在知识图谱中,可以将多个合取查询形式的条件通过逻辑或操作符进行组合,以构建一个析取查询。这个析取查询将多个查询条件同时考虑,返回满足任一查询条件的结果集。
例如,假设有以下合取查询条件:
查询1:Person(x), Age(x) > 30
查询2:Employee(y), Salary(y) > 50000
这两个合取查询分别表示找到年龄大于30的人和薪水高于50000的雇员。通过将这两个查询进行析取操作,可以得到一个析取查询,形式如下:
查询3:(Person(x), Age(x) > 30) OR (Employee(y), Salary(y) > 50000)
查询3表示找到满足年龄大于30的人或薪水高于50000的雇员。执行这个析取查询将返回同时满足任一条件的结果。

相关工作

我们的工作与在KG上进行多跳推理的嵌入方法密切相关。
关键的区别在于,我们提供了易于处理的一阶逻辑的更大子集(EPFO查询与联合查询),并且我们将查询嵌入为box,这提供了更好的准确性和泛化能力。

第二条相关工作是 结构化嵌入 ,它将将图像、单词、句子或知识库概念与区域、密度和排序等几何对象相关联。上述工作使用几何对象来建模单个实体及其成对关系,我们使用几何对象对实体的集合进行建模,并对这些集合进行推理。从这个意义上说,我们的工作也与经典的 维恩图(Venn Diagram) 有关,其中box本质上是维恩图变换器空间,但我们的盒子和实体嵌入是联合学习的,这使我们能够推理不完全的KG。

结构化嵌入(Structured Embeddings)
是一种用于表示结构化数据的向量化方法。它的目标是将结构化数据(如图形、关系数据、实体关联等)映射到低维向量空间中,以便进行计算和推理。
结构化嵌入的主要思想是通过学习将结构化数据中的实体、关系和属性等元素编码成连续、稠密的向量表示。这些向量表示可以在低维向量空间中捕捉到结构化数据的语义和关联性。通常,结构化嵌入的学习过程会利用神经网络或其他机器学习技术进行。

维恩图(Venn Diagram)是一种用于可视化集合之间关系的图表。它由命名的集合以及它们之间的交集和并集组成。维恩图通常由一组相互重叠的圆形或椭圆形表示集合,每个圆表示一个集合,圆之间的重叠区域表示集合之间的交集。图表的整体形状取决于涉及的集合数量和它们之间的关系。
假设我们有三个集合:A、B和C,分别代表以下内容:
A:动物
B:哺乳动物
C:鸟类
在维恩图中,我们可以画三个相互重叠的圆形来表示这些集合。圆A代表所有动物,圆B代表所有哺乳动物,圆C代表所有鸟类。
维恩图可以显示集合之间的交集和并集。

box嵌入也被用于在具有不确定性的本体中对概念的层次性进行建模。虽然我们的工作也基于box嵌入,但是将它们用于大规模异构知识图中的逻辑推理的。

Query2Box:向量空间中KG的逻辑推理

在这里,我们介绍了QUERY2BOX,我们将定义一个目标函数,该函数允许在KG中学习实体的嵌入,同时还学习box上的参数化几何运算符。然后给定一个任意的EPFO查询q(图1 A)),我们将识别其计算图(图1 B)),并通过执行一组几何运算符覆盖框来嵌入查询(图1 D)。最终box嵌入中包含的实体将作为查询的答案返回(图1 D)。

为了训练我们的系统,我们在训练时生成一组查询及其答案,然后学习实体嵌入和几何运算符,这样查询就可以被准确地表示出来。我们在以下几节中展示了我们的方法能够推广到训练中从未见过的查询和逻辑结构。此外,正如我们在实验中所展示的,我们的方法能够隐式地估算缺失关系,并回答传统图遍历方法无法回答的查询。

在下文中,我们首先只考虑合取查询(连接和存在操作),然后我们将我们的方法扩展到也包括析取。

知识图谱与合取查询

将知识图谱表示为G={V,R},v∈V代表一个一个实体,r∈R是一个二元函数,r:V×V—>{true,false},指关系r在一对实体之间是否成立。在KG中,这种二进制输出表示对实体之间存在有向边,即在这里插入图片描述

合取查询是一阶逻辑查询的子类,它使用存在(∃)和合取操(∧)作。遵循以下定义:
在这里插入图片描述
其中, v a v_a va表示不可变的锚实体,V1,…,Vk存在量化的有界变量 ,V?是目标变量,回答逻辑查询q的目标是找到一组实体[q]属于V,使得满足 v ∈ [ q ] 当且仅当 q [ v ] = T r u e v∈[q]当且仅当q[v]=True v[q]当且仅当q[v]=True。我们将[q]称为查询q的 指称集合(即答案集合)。

存在量化的有界变量
是指在某个范围内经过离散化或量化的变量。这种变量具有上下界限,并且取值只能在这个范围内的离散值或特定的量化级别上变化。
存在量化的有界变量可以用于将连续的数据转化为离散的表示形式,以便更方便地进行处理和分析。
例如,考虑一个温度传感器,它测量环境温度并输出一个离散的值。如果我们将温度范围从-10°C到40°C进行量化,并将每个度数划分为一个单位,那么这个温度变量就成为一个存在量化的有界变量。它的取值可以是-10、-9、-8,以及一直到40。

“Denotation set”(指称集合)是一个语义学概念,特别是在形式语言和逻辑的研究中使用。它表示一个词语、短语或表达式在给定语境中所指称或指代的实体或对象的集合。
举个例子,考虑词语 “cat”(猫)。“cat” 的指称集合将包括世界上所有实际存在的猫。同样地,短语 “red apple”(红苹果)的指称集合将包括特定语境中的所有红色苹果。

如图1(A)所示,依赖图是合取查询q的图形表示,其中节点对应于q中的变量或非变量实体,边对应于q中的关系。为了使查询有效,相应的依赖图需要是有向无环图(DAG),锚实体作为DAG的源节点,查询目标V作为唯一的汇聚节点。

从查询q的依赖图也可以导出 计算图 ,它由两种类型的有向边组成,表示实体集上的运算符:

在这里插入图片描述
对于给定的查询q,计算图指定了获得一组响应实体的推理过程,即从一组锚节点开始,迭代应用上述两个运算符,直到到达唯一的汇聚目标节点。整个过程类似于沿着计算图遍历KG。

Computation graph(计算图)是一种图形表示方法,用于描述计算过程中的操作和数据依赖关系。它是一种有向无环图(DAG)的变种,用于表示计算任务的流程和数据流。
在计算图中,节点表示计算操作或函数,边表示数据的流动或依赖关系。每个节点执行某种计算或操作,并且接收来自其他节点的输入数据,并产生输出数据,这些输出数据又可以作为其他节点的输入。这种数据流动的方式反映了计算过程中的数据依赖关系。

基于box嵌入的实体集推理

到目前为止,我们已经将合取查询定义为可以直接在KG中的节点和边上执行的计算图。现在,我们在向量空间中定义逻辑推理。我们的直觉如图1:给定一个复杂的查询,我们将把它分解成一系列逻辑运算,然后在向量空间中执行这些运算。通过这种方式,我们将获得查询的嵌入,查询的答案将是包含在最终查询嵌入box中的实体。在下文中,我们详细介绍了我们的两个方法学进展:
(1)使用box嵌入来有效地对向量空间中的实体集进行建模和推理;
(2)如何在可处理的范围内有效地处理或操作逻辑中的"或"(disjunction)操作,扩展可以在向量空间中建模的一阶逻辑类。

Box嵌入

为了在向量空间中有效地建模一组实体,我们使用box(即,轴对称的超矩阵)。好处是,与单个点不同,box有内部,因此,如果一个实体在一个集合中,那么很自然地将实体嵌入建模为box内的一个点。形式上,我们对Rd进行运算,并通过在这里插入图片描述在Rd中定义一个Box:
在这里插入图片描述
其中在这里插入图片描述元素不等式,Cen( p)∈Rd是box的中心,Off( p)∈Rd≥0是box的 正偏移 ,对box的大小进行建模。KG中每一个实体v∈V都会被分配一个单一向量v∈Rd(即一个大小为0的box),并且box嵌入p模型在这里插入图片描述,即向量在box中的一组实体。本文中我们使用粗体表示嵌入,例如 v v v的嵌入被表示为v

“元素不等式”(Element-wise inequality)是指在数学和统计学中,对于两个相同维度的向量、矩阵或其他类型的数组,逐个元素进行比较的不等式关系。
元素不等式可以用来描述每个元素之间的大小关系,而不是整个向量或矩阵的比较。它对两个数组中对应位置的元素进行逐个比较,并返回一个布尔值(True 或 False),指示比较结果是否满足不等式关系。
例如,对于两个向量 A = [1, 2, 3] 和 B = [4, 2, 1],元素不等式可以表示为:
A < B: [True, False, False]
A <= B: [True, True, False]
A > B: [False, False, True]
A >= B: [False, True, True]
A != B: [True, False, True]

“Positive offset”(正偏移)
常用于描述在计算机科学和数据结构中,相对于某个参考位置或索引,向正方向移动的位移量或偏移量。
在计算机编程中,通常使用索引来访问数组、列表、字符串等数据结构中的元素。正偏移表示从参考位置(通常是零或其他基准位置)向正方向移动的距离或步数。这意味着正偏移将索引值增加,使我们可以访问位于参考位置之后的元素。
例如,如果有一个数组 A = [10, 20, 30, 40, 50],参考位置为 0,那么正偏移为 1 表示向右移动一个位置,正偏移为 2 表示向右移动两个位置,以此类推。
通过正偏移,我们可以在数组中访问位于参考位置之后的元素。例如,使用正偏移 1,我们可以访问数组 A 中的第二个元素,即 A[1],它的值为 20。

我们的框架在查询的计算图之后的向量空间中对KG进行推理,如图1 D:我们从源节点(锚实体)的初始框box入开始,并根据逻辑运算符依次更新嵌入。下面,我们描述了我们如何设置源节点的初始盒嵌入,以及我们如何将投影和交集运算符建模为在盒上操作的几何运算符。然后,我们描述了我们的实体到box的距离函数、学习嵌入的总体目标以及几何运算符。

源节点的初始box

每个源节点代表一个锚实体v∈V,我们可以将其视为只包含单个实体的集合。这样的单元素集合可以通过以v为中心的大小(或偏移量)为零的box上自然地建模。形式上,我们将初始box嵌入设置为 (v,0),其中v∈Rd是锚实体向量,0是d维的全零向量。

集合投影运算符

我们将关系r∈R和关系嵌入r=在这里插入图片描述联系起来。给出一个输入box嵌入p,我们通过p+r对投影进行建模,中心的和和偏移量的和。这给了我们一个带有转换中心和大偏移量的新box,因为在这里插入图片描述,说明见图2 A。
在这里插入图片描述自适应box的大小有效地对集合中的不同数量的实体/向量进行建模。

几何投影运算符是在几何学和计算机图形学中使用的一种操作,用于将一个三维空间中的点或对象投影到一个二维平面上。
在三维空间中,几何对象通常由点、线、面或体表示。几何投影运算符可以将这些对象投影到一个较低维度的平面上,通常是二维平面,以在屏幕或图像上显示或处理。

几何相交运算符

我们对一组box嵌入的交集进行建模在这里插入图片描述这是在box中心通过进行注意力和使用 sigmoid函数 缩小方框偏移计算得出的:
在这里插入图片描述
在这里插入图片描述
其中两个MLP的所有隐藏维度与输入维度相同。我们的几何交集背后的思想是生成一个位于一组box内的较小box,如图2(B)。与对交集建模的一般深集不同,我们的几何相交运算符有效地约束了中心位置,并对收缩集大小建模。

Sigmoid函数(Sigmoid function)是一种常用的数学函数,也被称为S型函数(S-shaped function),它的输出值位于0到1之间。
通常,sigmoid函数指的是逻辑函数(Logistic function),其数学形式为:
f(x) = 1 / (1 + e(-x))
其中,e 是自然对数的底数,x 是输入变量。
Sigmoid函数的特点是在输入趋近正无穷大时,输出趋近于1;在输入趋近负无穷大时,输出趋近于0。函数的中心点位于 x = 0,输出值为 0.5。

1.Dimension-wise product(按维度相乘):这是一种对两个或多个张量(向量、矩阵、张量)按元素进行逐个维度相乘的操作。它表示对应维度上的元素相乘,生成一个具有相同维度的新张量。例如,在两个向量 A = [1, 2, 3] 和 B = [4, 5, 6] 上进行按维度相乘操作,将得到新的向量 C = [1 * 4, 2 * 5, 3 * 6] = [4, 10, 18]。
2.Multi-Layer Perceptron(多层感知机):它是一种基本的人工神经网络模型,通常用于监督学习任务,如分类和回归。多层感知机由多个神经网络层组成,每个层由多个神经元组成。输入通过多个隐藏层传递,并通过激活函数进行非线性变换。最后,输出层生成预测结果。多层感知机具有良好的表示能力,可以学习复杂的非线性函数关系。
3.Permutation-invariant deep architecture(置换不变的深度结构):这是指一种深度学习网络结构或模型,具有置换不变性的特性。置换不变性意味着对于输入的不同排列(置换),模型的输出保持不变。这对于处理集合、图像中的无序像素或其他无序数据的任务很有用。通过设计具有置换不变性的结构,可以更好地处理这些类型的数据。
4.Dimension-wise manner(按维度方式):这是指按照数据的各个维度进行操作或处理的方式。在机器学习和数据处理中,按维度方式可以表示对数据的逐个维度进行操作,如逐个维度计算统计量、逐个维度进行归一化或标准化等。这种方式可以帮助我们在保留数据的结构信息的同时,对不同维度进行个别的处理或分析。

实体到box的距离

给出一个查询box q∈R2d和一个实体向量v∈Rd,我们定义它们的距离:
在这里插入图片描述在这里插入图片描述
说明见图2 C。distoutside对应实体和box的角落/侧面最近的距离。distinside对应box中心与其侧面/角落之间的距离(如果实体在box内,则对应于实体本身)。

这里的关键是使用0<α<1来降低box的内部的距离。这意味着,只要实体向量在box内,我们就认为它们离查询中心“足够近”(即distoutside为0,distincide按α缩放)。当α=1时,distbox减少为普通L1的距离,即在这里插入图片描述,使用了常规的TransE和先前查询嵌入方法。

训练目标

我们的下一个目标是学习实体嵌入以及几何投影和交集运算符。

给定一组查询及其答案的训练,我们优化 负采样损失 ,以有效优化我们基于距离的模型:
在这里插入图片描述
其中 γ γ γ表示固定标量间隔 v v v∈[q]是正实体(即对查询q的回答), v i ′ v'_i vi∉[q]是第i个负实体(即非查询q的答案),k是负实体的数量。

Negative sampling loss(负采样损失)是一种用于训练词嵌入模型的损失函数。
负采样损失函数的基本思想是通过最大化目标单词与正样本之间的相似度,并最小化目标单词与负样本之间的相似度。这样可以使得目标单词的向量在向量空间中更接近正样本,而与负样本区分开来。

在基于距离的模型中,“fixed scalar margin”(固定标量间隔)是指通过设置一个固定的标量值作为距离的间隔要求,用于确定分类模型的决策边界。
基于距离的模型通常使用距离度量来衡量样本之间的相似性或差异性。这些模型根据样本与类别之间的距离来进行分类决策。固定标量间隔用于定义决策边界与样本之间的最小距离。
具体来说,假设我们有一个基于距离的分类模型,目标是将样本分为两个不同的类别。固定标量间隔是通过设置一个固定的标量值作为距离的间隔要求来确定决策边界。
在训练过程中,模型的目标是找到一个决策边界,使得每个样本点到决策边界的距离至少是固定标量间隔的倍数。如果某个样本点与决策边界之间的距离小于固定标量间隔,那么该样本点将被分类为错误的类别。
固定标量间隔可以帮助模型具有更好的鲁棒性和泛化能力。通过设置一个固定的间隔要求,模型可以更好地适应训练数据并提高对新样本的分类准确性。较大的间隔要求可以增加模型的鲁棒性,减少对噪声和异常数据的敏感性。

使用析取范式处理析取

到目前为止,我们专注于合取查询,我们的目标是在向量空间中处理更广泛的一类逻辑查询,称为持久正一阶(EPFO)查询。我们特别关注那些计算图是一个DAG的EPFO查询,与合取查询类似,除了具有一种附加类型的定向边,称为并集,定义:
在这里插入图片描述

这里的一个直接的方法是为并集定义另一个几何运算符,并嵌入查询,就像我们在前几节中所做的那样。我们的box嵌入面临的一个直接挑战是:box可以位于向量空间中的任何位置,因此它们的并集将不再是一个简单的盒子。换句话说,box上的 并集运算是不闭合的。

“Union operator is not closed”(并集运算不是封闭的)是指在某个特定的集合或代数结构中,对于两个子集进行并集操作后,结果可能不再属于原始集合或结构。

理论上,我们证明了一个普遍的负结果,适用于任何基于嵌入的方法,该方法将查询q嵌入到q中,并使用一些距离函数来检索实体,即在这里插入图片描述当且仅当v∈[q]。这里,在这里插入图片描述是实体和查询嵌入之间的距离,例如,distboxv;q)或||v-q||1,β是固定阈值。
在这里插入图片描述
对于真实世界的KG,存在具有 非重叠答案的M≈|V|联合查询 。例如,在常用的FB15k数据集,源自Freebase,我们发现当|V|=14,951时,M=13,365。

具有非重叠答案的M≈|V|联合查询是指一种查询操作,通过联合多个知识图谱中的查询条件,得到的查询结果具有非重叠的答案,并且查询的规模 M 大致等于知识图谱中的实体数量 |V|。
假设我们有两个知识图谱:一个是关于电影的知识图谱,包含电影实体、演员实体和导演实体,以及它们之间的关系;另一个是关于音乐的知识图谱,包含音乐家实体、乐器实体和作曲家实体,以及它们之间的关系。
现在我们希望进行一个具有非重叠答案的M≈|V|联合查询,查询同时涉及电影和音乐领域。
查询条件:我们想要找到同时与电影《Inception》和乐器"钢琴"相关联的实体。
具体操作如下:
在电影知识图谱中,我们根据查询条件找到电影实体"《Inception》“。
在音乐知识图谱中,我们根据查询条件找到乐器实体"钢琴”。
接下来,我们根据两个知识图谱中的关系,联合查询与电影"《Inception》“相关联的演员和导演实体,以及与乐器"钢琴"相关联的音乐家和作曲家实体。
最后,我们得到具有非重叠答案的联合查询结果,例如:电影”《Inception》“的演员"Leonardo DiCaprio"和导演"Christopher Nolan”,以及乐器"钢琴"的音乐家"Ludwig van Beethoven"和作曲家"Frédéric Chopin"。

定理1表明,为了用现有框架对任何EPFO查询进行准确建模,用VC维测量的距离函数的复杂性需要与KG实体的数量一样大。这对于我们感兴趣的真实KG来说是在这里插入图片描述,逻辑查询嵌入的维数需要是在这里插入图片描述,它不是低维的;因此不能扩展到大的KG,并且在存在未观察到的KG边的情况下不能推广。

为了纠正这个问题,我们的关键思想是将给定的EPFO查询转换为析取范式(DNF),即合取查询的析取,因此只有联合操作才能出现在最后一步中。然后,每个连接查询都可以在低维空间中进行推理,之后我们可以通过简单直观的过程来聚合结果。
在下文中,我们将描述向DNF的转换和聚合过程。

向DNF转换

在这里插入图片描述

任何一阶逻辑都可以转化为等价的DNF。我们直接在计算图的空间中进行这种变换,即将“union”类型的所有边移动到计算图的最后一步。让Gq=(Vq,Eq)成为给定EPFO查询q的计算图,并且让在这里插入图片描述成为一组入边类型为“并集”的节点。对于每一个v∈V,定义Pv⊂Vq作为它的一组父节点。首先产生在这里插入图片描述不同于计算图在这里插入图片描述,在第一步中,每个都有与vparent不用的选择。

  1. 对于每一个v∈Vunion,选择一个父节点vparent∈Pv
  2. 删除所有“并集”类型的边
  3. 合并v和vparent,同时保留所有其他边的连接

然后我们将获得的计算图在这里插入图片描述按照下述操作给出最终的等价计算图。

  1. 将得到的所有计算图的目标汇聚节点转换为存在量化的有界变量节点。
  2. 创建一个新的目标汇聚节点V,并绘制从上面所有变量节点到新目标节点的类型为“并集”的定向边。

整个转换过程的一个例子如图3所示。通过并集运算的定义,我们的过程给出了与原始计算图等价的计算图。此外,由于所有并集运算符都从在这里插入图片描述中删去,所有这些计算图都代表了合取查询。我们将其表示为在这里插入图片描述
然后,我们可以应用现有的框架来获得这些连接查询的嵌入集在这里插入图片描述

聚合

我们定义在给出的EPFO查询q和一个实体v∈V之间的距离函数。因为q在逻辑上与在这里插入图片描述等价,所以自然而然可以使用box距离distbox定义聚合的距离函数:
在这里插入图片描述
其中,distagg是用EPFO查询q参数化的。当q是一个合取查询(即N=1)时,在这里插入图片描述。N>1时,distagg让距离最近的box的最小距离为到一个实体的距离。这种建模与并集操作非常地一致;只要实体在其中一个集合中,实体就在集合的集合中。注意,我们的DNF查询重写方案是通用的,能够扩展任何适用于合取查询的方法,以处理更通用的EPFO查询。

计算复杂度

用我们的框架回答一个EPFO查询的计算复杂度等于回答N个合取查询的计算复杂度。在实践中,N可能不是很大,并且所有N个计算都可以并行化。此外,回答每个合取问题非常快,因为它需要我们执行一系列简单的box操作(每一个都需要恒定的时间),然后在嵌入空间中执行范围搜索。

实验

我们在实验部分的目标是评估QUERY2Box在发现和回答复杂逻辑查询方面的性能,这些查询无法通过遍历不完整的KG来获得。这意味着,我们将专注于回答那些必须成功预测KG中一个或多个缺失边才能获得额外答案的查询。

知识图谱与查询的生成

我们在三个标准KG的基准上进行了实验,FB15k,FB15k-237,NELL995。

我们遵循KG文献中的标准评估协议:给定边缘到训练集、测试集和验证集的标准划分,我们首先将KG扩充为还包括逆关系,并有效地将图中的边缘数量增加一倍。
然后我们创建了三个图:Gtrain:它只包含训练边,我们使用这个图来训练节点嵌入和box运算符;还生成了两个更大的图:Gvalid:它包含Gtrain和验证边;Gtest:它包括Gvalid和测试边。

我们考虑了图4中显示和命名的9种不同的查询结构。我们使用5种查询结构进行训练,然后对所有9种查询结构求值。参阅附录D中查询生成的全部详细信息,以及附录E中表6中生成的逻辑查询的统计信息。
给定一个查询q,设[q]train、[q]val和[q]test分别表示通过在Gtrain、Gvalid、Gtest上运行q的子图匹配而获得的一组答案实体。
在训练时,我们使用[q]train作为查询的正示例,使用其他随机实体作为负示例。然而,在测试/验证时,我们会采取不同的做法。注意,我们专注于回答泛化性能至关重要的查询,并且至少需要估算一条边才能回答查询。因此,我们不是在答案的完整验证(或测试)集[q]val(或[q]test)上评估给定的查询,而是仅在包含缺失关系的答案上验证该方法。给出我们构建的在这里插入图片描述,我们有在这里插入图片描述,因此我们在在这里插入图片描述训练上评估了调整超参数的方法,然后报告了结果,以确定在这里插入图片描述中的答案。这意味着我们总是对不属于训练集的查询/实体进行评估,而该方法以前从未见过这些查询/实体。此外,对于这些查询,传统的图遍历技术将无法找到答案(由于缺少关系)。

在这里插入图片描述
在这里插入图片描述

评估协议

给定一个测试查询q,对于它的每个非平凡答案 v v v∈[q]test[q]val,我们使用distbox在V \ [q]test来对 v v v进行排序。用 “Rank(v)” 来表示元素 v v v的排名,然后为回答查询q计算评估指标,如平均倒数排名(MRR)和命中率K(H@K):
在这里插入图片描述
在这里插入图片描述
然后,我们对同一查询结构中的所有查询进行平均,并分别报告不同查询结构的结果。相同的评估协议应用于验证阶段,只是我们评估的是[q]val \ [q]train,而不是[q]test \ [q]val

基准和模型变体

我们将我们的框架QUERY2BOX与最先进的GQE进行了比较。GQE将查询嵌入到单个向量中,并将模型投影和交集运算符视为翻译(Translation) 和 深度集合(Deep Sets) 。L1 距离用作查询向量和实体向量之间的距离。为了进行公平的比较,还将其与GQE-DOUBLE(具有双倍嵌入维度的GQE)进行比较,使得QUERY2BOx和GQE-DOUBLE具有相同数量的参数。关于我们实验中使用的模型超参数,请参阅附录G。尽管最初的GQE无法处理EPFO查询,但我们应用了DNF查询重写策略,并在评估中将GQE扩展为处理一般的EPFO查询。此外,我们通过考虑QUERY2Box(缩写为Q2B)的几种变体进行了广泛的消融研究。我们在下面列出了我们的方法及其变体。
•Q2B(我们的方法):框嵌入用于对查询进行建模,注意力机制用于交集算子。
•Q2B平均值:交叉点的注意力机制被平均值取代。
•Q2B-DEEPSETS:交叉的注意力机制被深层集合所取代。
•Q2B-AVG-1P:Q2B-AVG的变体,仅使用ip查询进行训练(见图4);因此,逻辑运算符没有经过明确的训练。
•Q2B-SHAREDOFFSET,框偏移量在所有查询中共享(每个查询由具有相同可训练大小的框表示)。

“Deep Sets”(深度集合)
是一种基于深度学习的算法或模型。它是从集合理论的角度出发,用于处理集合数据的神经网络模型。传统的神经网络模型在处理集合数据时,对于输入集合中元素的排列顺序是敏感的,但在某些情况下,我们只关心集合的属性而不关心元素的排列。Deep Sets 模型通过使用对称函数(symmetric function)来实现对集合的属性进行建模,从而使得模型对于输入集合中元素的排列顺序是不敏感的。这种模型在处理无序集合数据、图像集合、语言集合等领域具有广泛的应用。它可以用于聚合集合中的元素信息、实现集合的分类和生成等任务。

主要结果

在这里插入图片描述
我们首先将我们的Q2B与最先进的查询嵌入方法GQE在FB15k、FB15k-237和NELL995上进行了比较。如表2所示,我们的方法在所有查询结构中都显著且一致地优于最先进的基线,包括在训练期间没有看到的查询结构以及使用联合操作的查询结构。
平均而言,我们在FB15k、FB15k-237和NELL995上获得的H@3分别比最佳基线高9.8%(25%相对)、3.8%(15%相对)和5.9%(24%相对)。注意,在GQE中单纯增加嵌入维度会带来有限的性能改进。我们的Q2B能够通过使用框嵌入对大量实体进行有效建模,并且与将查询表示为点向量的GQE-DOUBLE(具有相同数量的参数)相比,实现了显著的性能提升。还要注意Q2B在具有与训练查询相同的结构的新查询上以及在训练期间从未见过的新查询结构上表现良好,这表明Q2B在查询结构内部和外部都能很好地推广。

还进行了广泛的消融实验,如表3所示,结果总结如下:
在这里插入图片描述

1. 注意力机制的重要性

首先,我们展示了使用注意力机制对交集进行建模的重要性。
给定一组box嵌入{p1,…,pn),Q2B-AVG是计算得到的box嵌入Pinter的中心的最有效方法,而Q2B-DEEPSETS过于灵活,忽略了中心应该是Cen(p1),…,Cen(pn)的加权平均值这一事实。
与这两种方法相比,Q2B在回答涉及交集运算的查询(如2i、3i、pi、ip)方面取得了更好的性能。具体来说,在FB15k-237上,Q2B在H@3分别与Q2B-AVG和Q2B-DEEPSET进行比较。

2. 对复杂查询进行培训的必要性

其次,我们观察到,在一跳路径查询之外的复杂查询上进行显式训练(图4中的1p)提高了推理性能。尽管Q2B-AVG-1p能够在1p和2u上实现强大的性能,其中回答2u本质上是用额外的最小运算来回答两个1p查询,Q2B-AVG-1P在回答涉及逻辑运算符的其他类型的查询时失败得很惨。

另一方面,在逻辑查询上明确训练的其他方法(Q2B、Q2B-AVG和Q2B-DEEPSET)实现了更高的准确性,绝对平均改进率高达10%ofH@3FB15k上。

3. 适用于不同查询的自适应框大小

第三,我们研究了学习自适应偏移量(box的大小)对不同查询的重要性。Q2B-SHAREDOFFSET是我们Q2B的一个变体,其中所有的box嵌入共享相同的可学习偏移。Q2B-SHAREDOFFSET不能很好地处理所有类型的查询。这很可能是因为不同的查询有不同数量的答案,自适应框大小使我们能够更好地对其进行建模。事实上,我们发现不同关系的框偏移量差异很大,一对多关系的偏移量往往更大(详细信息请参阅附录H)。

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/45687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建 NodeJS 影院微服务并使用 docker 部署它(02/4)

一、说明 构建一个微服务的电影网站&#xff0c;需要Docker、NodeJS、MongoDB&#xff0c;这样的案例您见过吗&#xff1f;如果对此有兴趣&#xff0c;您就继续往下看吧。 图片取自网络 — 封面由我制作 这是✌️“构建 NodeJS 影院微服务”系列的第二篇文章。 二、对第一部分的…

商城-学习整理-高级-商城业务-异步线程池(十三)

目录 一、线程1、初始化线程的 4 种方式2、线程池的七大参数3、线程池的运行流程&#xff1a;4、例子5、常见的 4 种线程池6、开发中为什么使用线程池 二、CompletableFuture 异步编排0、业务场景&#xff1a;1、创建异步对象2、计算完成时回调方法3、handle 方法4、线程串行化…

CSS 字体修饰属性

前言 字体修饰属性 属性说明font-family指定文本显示字体font-size设置字体的大小font-weight设置字体的粗细程度font-style设置字体的倾斜样式text-decoration给文本添加装饰线text-indent设置文本的缩进text-align设置文本的对齐方式line-height设置行高color设置文本的颜色…

Docker 的基本概念和优势,在应用程序开发中的实际应用。

Docker是一个开源的容器化平台&#xff0c;让开发者能够轻松地打包、运输和运行应用程序。其基本概念包括&#xff1a; 镜像(Image)&#xff1a;一个镜像是一个只读的软件包&#xff0c;它包含了运行应用所需的所有代码、库文件、环境变量和配置文件等。 容器(Container)&…

Nginx转发请求到后端服务报400 Bad Request

问题描述 系统部署好后&#xff0c;进行测试时发现有部分接口出错&#xff0c;项目采用Nginx作为后端代理服务器&#xff0c;有Nginx统一将请求转发到后端的网关服务&#xff0c;再由网关服务路由到具体的服务上&#xff0c;发布好后&#xff0c;大部分接口都是正常的&#xff…

Linux 线程并发运行

一、并发与并行 并行&#xff1a;两个线程在同一时刻同时执行&#xff0c;需要有两个处理器。 并发&#xff1a;两个线程在同一时刻交替执行&#xff0c;只有一个处理器。 并行是一种特殊的并发。 二、线程并发运行 代码如下&#xff1a; 代码分析&#xff1a; 主函数中第…

第 111 场LeetCode 双周赛题解

A 统计和小于目标的下标对数目 数据量小&#xff0c;直接枚举数对 class Solution { public:int countPairs(vector<int> &nums, int target) {int n nums.size();int res 0;for (int i 0; i < n; i)for (int j 0; j < i; j)if (nums[i] nums[j] < tar…

[Go版]算法通关村第十二关青铜——不简单的字符串转换问题

目录 题目&#xff1a;转换成小写字母思路分析&#xff1a;大写字母ASCII码 32 小写字母ASCII码Go代码Go代码-优化: 大写字母ASCII码 | 32 小写字母ASCII码 题目&#xff1a;字符串转换整数&#xff08;atoi&#xff09;思路分析&#xff1a;去除首部空格 明确正负 读取数…

【Spring Boot】详解条件注解以及条件拓展注解@Conditional与@ConditionOnXxx

Spring Conditional Spring 4.0提供的注解。作用是给需要装载的Bean增加一个条件判断。只有满足条件才会装在到IoC容器中。而这个条件可以由自己去完成的&#xff0c;可以通过重写Condition接口重写matches()方法去实现自定义的逻辑。所以说这个注解增加了对Bean装载的灵活性。…

STM32 CubeMX (第四步Freertos内存管理和CPU使用率)

STM32 CubeMX STM32 CubeMX &#xff08;第四步Freertos内存管理和CPU使用率&#xff09; STM32 CubeMX一、STM32 CubeMX设置时钟配置HAL时基选择TIM1&#xff08;不要选择滴答定时器&#xff1b;滴答定时器留给OS系统做时基&#xff09;使用STM32 CubeMX 库&#xff0c;配置Fr…

通过安全日志读取WFP防火墙放行日志

前言 之前的文档中&#xff0c;描写了如何对WFP防火墙进行操作以及如何在防火墙日志中读取被防火墙拦截网络通讯的日志。这边文档&#xff0c;着重描述如何读取操作系统中所有被放行的网络通信行为。 读取系统中放行的网络通信行为日志&#xff0c;在win10之后的操作系统上&am…

高阶数据结构-图

高阶数据结构-图 图的表示 图由顶点和边构成&#xff0c;可分为有向图和无向图 邻接表法 图的表示方法有邻接表法和邻接矩阵法&#xff0c;以上图中的有向图为例&#xff0c;邻接表法可以表示为 A->[(B,5),(C,10)] B->[(D,100)] C->[(B,3)] D->[(E,7)] E->[…

FPGA原理与结构——ROM IP的使用与测试

一、前言 本文介绍Block Memory Generator v8.4 IP核 实现ROM&#xff0c;在学习一个IP核的使用之前&#xff0c;首先需要对于IP核的具体参数和原理有一个基本的了解&#xff0c;具体可以参考&#xff1a; FPGA原理与结构——块RAM&#xff08;Block RAM,BRAM&#xff09;http…

供应链安全和第三方风险管理:讨论如何应对供应链中的安全风险,以及评估和管理第三方合作伙伴可能带来的威胁

第一章&#xff1a;引言 在当今数字化时代&#xff0c;供应链的安全性越来越受到重视。企业的成功不仅仅依赖于产品和服务的质量&#xff0c;还取决于供应链中的安全性。然而&#xff0c;随着供应链越来越复杂&#xff0c;第三方合作伙伴的参与也带来了一系列安全风险。本文将…

C#中的委托

目录 概述&#xff1a; 举例&#xff1a;​ 总结: 概述&#xff1a; 中文的角度来说:指的是把事情托付给别人或别的机构(办理)&#xff0c;造个句子&#xff1a;别人委托的事情&#xff0c;我们一定要尽力而为&#xff0c;不遗余力的去办成。 在C#中&#xff0c;委托是一种…

回归预测 | MATLAB实现GA-RBF遗传算法优化径向基函数神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GA-RBF遗传算法优化径向基函数神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现GA-RBF遗传算法优化径向基函数神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果…

CoordAtt注意力网络结构

源码&#xff1a; import torch import torch.nn as nn import math import torch.nn.functional as Fclass h_sigmoid(nn.Module):def __init__(self, inplaceTrue):super(h_sigmoid, self).__init__()self.relu nn.ReLU6(inplaceinplace)def forward(self, x):return self.…

VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点

近期利用VSCode\PyCharmPyQGIS进行插件开发&#xff0c;现将要点总结一下&#xff1a; 一、VSCode&#xff0c;我没有配置成功&#xff0c;主要是最后一个阶段调试的时候老是不成功。以后会持续关注。但是有几个要点&#xff1a; 1、VSCodePyQIS开发&#xff0c;智能提示的设…

jmeter模拟多用户并发

一、100个真实的用户 1、一个账号模拟100虚拟用户同时登录和100账号同时登录 区别 &#xff08;1&#xff09;1个账号100个人用&#xff0c;同时登录&#xff1b; &#xff08;2&#xff09;100个人100个账号&#xff0c;同时登录。 相同 &#xff08;1&#xff09;两个都…

机器学习之概率论

最近&#xff0c;在了解机器学习相关的数学知识&#xff0c;包括线性代数和概率论的知识&#xff0c;今天&#xff0c;回顾了概率论的知识&#xff0c;贴上几张其他博客的关于概率论的图片&#xff0c;记录学习过程。