知识图谱与异构图神经网络(7)--1

news2024/11/15 23:53:09

        知识图谱是由实体(节点)和关系( 不同类型的边) 组成的多关系图。作为一种非常重要又特殊的图结构数据,知识图谱被广泛应用在人工智能和自然语言处理领域,从语义解析、命名实体消歧到问答系统、推荐系统中都可以看到来自知识图谱的技术推动。本质上,可以将知识图谱看作一种异构网络图,因此很多异构图神经网络可以直接应用在知识图谱上作为表示学习的方法。由于知识图谱的特殊性,它又有很多原创的嵌入方法,并且这些知识图谱的嵌入方法又反过来推动了新的图神经网络结构的研究。本章将探讨知识图谱上的经典嵌入方法及图神经网络在知识图谱上的应用和改进。

1 .知识图谱嵌入

        一般来讲,知识图谱由一系列三元组的事实(h,r,t)构成,每个事实中包含两个实体 h,t和它们之间的关系r。这些三元组合在一起,就构成了一个图 KG=(h,r,t)。 在这个图中,实体表示节点,实体间的关系表示边。

        知识图谱的表示学习,或者说知识图谱嵌入,是将实体和关系映射到一个低维连续空间上。也就是说,类似于普通的图嵌入,知识图谱嵌入旨在学习实体和关系的向量化表示。知识图谱嵌入的关键是合理定义知识图谱中关于事实(三元组(h,r,t))的打分函数fr(h,t)  通常,当事实(h,r,t) 成立时们期望最大fr(h,t)  我们可通过最大化 

来学习所有实体及关系的向量化表示,其中O表示知识图谱中所有三元组的集合。

        知识图谱并不能覆盖所有的知识,因此其核心任务之一就是利用已有的知识对未知的部分进行推理和补全KGC。这些都可以通过知识图谱嵌入的方法来解决。当我们得到了所有实体和关系的嵌入表示后,可以用定义的打分函数评价每个可能的三元组,以得到缺失的实体或者关系。假设在一个知识图谱上有一些缺失的关系,如在实体Forest GumpEnglish之间存在某种联系,但在构建知识图谱时我们并没有把它囊括进来,这时可以通过知识图谱嵌入的方法对所有已知的实体和关系进行表示学习,然后用它们预测 Forest Gump 和 English之间未知的关系。除了补全关系,知识图谱补全也包含对缺失实体的预测,如上例中,如果我们已知Forest GumpLanguage, 以推测出缺失的实体应该是 English

        传统的知识图谱推理一般只推测已经出现过的实体之间的关系,称之为转导推理或者直推式学习,而Teru等人提出了另一种推理任务,他们想将推理一般化到未见过的实体,这种新任务叫作归纳推理

除了知识图谱的推理和补全,在知识图谱上我们还可以:

(1)对三元组分类,判断三元组事实(h,r,t)   是否为真。

(2)对实体分类,将实体归类为不同的语义类别。

(3)实体判别,判断两个实体是否为同一个目标。

知识图谱嵌入还可以辅助完成很多下游任务,包括关系抽取、问答 系统、推荐系统等。

        随着对知识图谱相关研究的深入,出现了基于不同思路的知识图谱嵌入方法,这些方法定义了不同的嵌入空间或者不同的损失函数。将它们分为距离变换模型、语义匹配模型和知识图谱上的图神经网络模型。

2.距离变换模型
2.1 TransE

        Mikolov 等人发现,利用该模型后,词向量空间存在平移不变现  象。受到该平移不变现象的启发,Border 等人提出了TransE模型,将知识库中的关系看作实体间的某种平移向量。对于每个事实三元组(h,r,t),假设它们分别有向量表示h,r,t TransE模型将实体和关系表示在同一空间中,把关系向量r 看作头实体向量h 和尾实体向量t 之间的平移,即h+r≈t。我们也可以将r 看作从h  t 的翻译,因此TransE模型也被称为翻译模型。它的打分函数可以定义为h+rt距离的负, 

fr(h,t)=-||h+r-t||L1/L2   

2.2TransH模型

        虽然TransE 模型简单高效,计算复杂度低,在大规模稀疏知识库上具有 较好的性能与可扩展性,但是它不能解决多对一和一对多关系的问题。以多对一关系为例,固定r t,TransE模型为了满足三角闭包关系,训练出来的头节点的向量会很相似,但实体在涉及不同关系时应该具有不同的表示形式。为了解决TransE模型在处理一对多、多对一、多对多复杂关系时的局限性 ,TransH模型提出让一个实体在不同的关系下拥有不同的表示。对于关系r,  TransH模型同时使用平移向量r 和超平面的法向量 wr 来表示它。对于一个 三元组(h,r,t),TransH模型先将头实体向量h和尾实体向量t 投影到关系r对应的超平面上,分别得到h\perp t\perp,   再对投影用的TransE模型进行训练和学习。

        其中,h\perp=h-{_W{R}}^{T}hwr需要注意的是,关系r 可能存在无限个超平面(在二维空间中,超平面是一个直线;在三维空间中,超平面是一个平面;而在更高维度的空间中,超平面则是一个更高维度的“平面”,它将空间分割成两个部分)TransH 模型简单地令rwr近似正交,来选取某一个超平面。

2.3TransR模型

        TransR模型与TransH模型的思想类似,它引入的是关系特定的语义空间, 而不是超平面。虽然TransH 模型使每个实体在不同关系下拥有了不同的表示, 但是它仍然假设实体和关系处于相同的语义空间中,这在一定程度上限制了TransH模型的表示能力。TransR 模型则将一个实体看作多种属性的综合体,不同的关系拥有不同的语义空间并关注实体的不同属性。对于每一个关系r,TransR模型定义投影矩阵Mr, 将实体向量h和t从实体空间投影到关系r 对应的子空间:

h=Mrht⊥=Mrt,然 TransR模型利用和TransH模型相同的翻译关系h1+r≈t1三元组的评分函数:

2.4TransD

        虽然 TransR模型较TransE模型和TransH模型有显著的改进,但它仍然有如下缺点。

(1)在同一个关系下,头实体和尾实体共享相同的投影矩阵。然而,一个关系的头实体和尾实体的类型或属性可能差异巨大。例如,对于三元组(姜文, 出演,让子弹飞),“姜文”和“让子弹飞”的类型完全不同,一个是人物, 一个是电影。

(2)从实体空间到关系空间的投影是实体和关系之间的交互过程,因此TransR模型让投影矩阵仅与关系有关是不合理的。

( 3 ) 与TransE模型和TransH模型相比,TransR型引入了空间投影,使得TransR模型的参数量急剧增加,计算复杂度大大提高。

为了解决这些问题,TransD模型设置了两个分别将头实体h和尾实体t影到关系空间的投影矩阵Mr1  Mr2

h=Mr1ht⊥=Mr2t

其中,Mr₁由一个对应关系的向量wr 和一个对应头实的向量wh组成, Mr₂ 则由wr 和一个对应尾实体的向量wt组成:Mr₁=wr{W_{h}}^{T}+I,Mr2={w_{t}}^{T}+I  这样投影矩阵就不仅和关系有关,还和被投影的实体有关系。另外, 通过两个向量外积的定义方式,TransD模型可以使投影矩阵的参数变少,从而降低模型的复杂度。

3 .语义匹配模型

        语义匹配模型利用基于相似性的评分函数,通过匹配实体的潜在语义和向量空间表示中包含的关系来度量事实的可信性。

3.1RESCAL模型

        RESCAL模型又称双线性模型,它将每个关系r都表示为一个矩Mr,  矩阵对潜在因素之间的成对交互作用进行了建模。所谓双线性模型,指的是它的得分函数是一个双线性函数:

这个得分函数的值描述了ht的所有分量之间的成对相互作用。

3.2 DistMult模型

        DistMult模型是RESCAL模型的简化版本,它通过将Mr限制为对角矩阵来减少参数的数量。对于每一个关系r,它要求Mr=diag(r), 其中r是对应关系r的一个向量。它的评分函数与RESCAL相同,不同的是,由于Mr是一个对角阵,它只捕获h和t在相同维度上的分量之间的交互作用。也就是说,在RESCAL中的双线性函数式中,i≠j 的分量消失了,评分函数可以重写为

这样,DistMult模型可以将每一个关系的参数数量减少至O(d)。然而,DistMult 模型只能处理对称的关系,因为对于任意的h和t ,h^{T}diag(r)t=t^{T}diag(r)h都是成立的。显然,在一般的知识图谱上,关系并不总是对称的,所以DistMult模型有很大的局限性。

3.3HolE模型

        HolE模型将RESCAL模型的表达能力与DistMult模型的效率和简单性进行了结合。它把实体和关系都表示为同一个向量空间中的向量。给定一个事实 (h,r,t),先使用循环相关操作*将实体对(h,t)表示成:

然后将实体对的表示与关系的表示进行匹配,得到一个得分函数:

fr(h,t)=r^{T}(h*t) ,循环相关运算压缩了h 和t 之间的相互作用,减少模型参数(每个关系只要 O(d) 个参数)。另外,循环相关运算符是不可交换的。因此,HolE 模型可以像RESCAL模型一样对非对称关系建模。

3.4 语义匹配能量模型

        语义匹配能量模型也是对事实中的实体和关系进行语义匹配。不同的是,它使用一个更复杂的神经网络架构来实现。 首先,在输入层,将三元组(h,r,t)的每个元素映射为嵌入向量h,r,t;然后, 在隐含层,将关系向量r 和头实体向量h 组合,得到一个分数 gu(r,h)同时,将关系向量r 和尾实体向量t组合,得到gv(r,t)。最终,将这两个分数组合, 得到最终的匹配分数,如

3.5神经张量网络模型

        神经张量网络模型是另一种经典的神经网络语义匹配模型。在这个模型里,r不再仅用一个向量或矩阵来表示,而是引入了一个对应的张量Sr及对应的矩阵{M_{r}}^{1},{_M{r}}^{2}, 分别表示两种匹配关系:线性和双线性。它的得分函数是:

其中 b表示一个偏差的向量参数。神经张量网络模型是一个最具表达力的模 型,几乎涵盖了所有的匹配关系,但是它的参数过多,导致不能有效地处理大 型的知识图谱。

3.6 ConvE 模型

        ConvE模型采用一个2D卷积得到实体和关系的匹配分数:

它先把头实体h和关系r 重塑成二维矩阵Mh和Mr,   然后利用卷积(*为卷积操作,\omega为卷积核)和全连接层(参数为W)获取交互信息,最后与尾实体向量t相乘。它不像神经张量网络模型那样复杂,又可以叠加多层以增强表达力,在复杂度和表达力之间取得了很好的平衡。它很容易训练,可以被应用在大规模的知识图谱中。

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

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

相关文章

树和二叉树基本术语、性质

目录 树的相关知识 常见考点1:结点数总度数+1 常见考点2: 度为m的树和m叉树 常见考点3:度为m的树第i层至多有结点数 常见考点4:高度为h的m叉树至多有结点 ​编辑 常见考点5:高度为h的m叉树,高…

可靠性:MSTP 和 VRRP 配置实验

一、拓扑: 说明: 1、交换机 SW1、2、3 分别起 vlan 10、20,都以 trunk 方式连接 2、 PC1、2 分别属于 vlan 10、20 3、SW1、2 起 vlan 100 做为管理段,网关地址分别以 100.1.1.1/24 和 200.1.1.2/24 和 AR1相连 …

监控易监测对象及指标之:全面监控InterSystems Cache数据库

随着企业数字化转型的深入,数据库作为核心的信息资产,其性能和稳定性对于保障业务连续性至关重要。InterSystems Cache作为一款高性能、可扩展的数据库管理系统,广泛应用于医疗、金融、制造等行业。为了确保Cache数据库的高效运行和稳定性能&…

Oracle 启动动态采样 自适应执行计划

为了解决因为统计信息缺失或者统计不够准确而引起的问题,从9iR2的版本开始Oracle推出了动态采样(Dynamic Sampling)功能,使SQL文在硬解析过程中动态地收集统计信息。 该功能在以后的版本上得到更进一步的增强,从11.2.0…

创建一个Java项目并在项目中新建文件,最后实现程序简单的输出

目录 前言 一、建立项目及新建Java类 二、输入简单代码实现输出 前言 1.本文所讲的是java程序设计语言,其内容是如何在id中新建一个项目,并新建一个Java文件,在其内输入相关代码并对其输出; 2.Java文件的编写以收入到我的专栏…

Docker torchserve 部署模型流程

1.拉取官方镜像 地址: https://hub.docker.com/r/pytorch/torchserve/tags docker pull pytorch/torchserve:0.7.1-gpu2. docker启动指令 CPU docker run --rm -it -d -p 8380:8080 -p 8381:8081 --name torch-server -v /path/model-server/extra-files:/home/model-serve…

计算机毕业设计选题推荐-4S店试驾平台-小程序/App

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

js 如何代码识别Selenium+Webdriver

Python 的 Selenium 可以模拟用户操作打开浏览器,前端如何去识别是人机还是真人: window.navigator.webdriver Selenium 人机下是这样的: 正常使用:

Makefile语法详解

目录 1 Makefile基本常识1.1 基本格式1.2 makefile规则1.3 伪目标1.4 变量的使用1.5 赋值方式1.6 常用函数 2 Makefile整体编译2.1 编译选项2.2三个.c整体编译2.3 静态库编译2.4 动态库编译 1 Makefile基本常识 1.1 基本格式 如下所示为Makefile的基本格式,特别需…

高等数学 2.5 函数的微分

文章目录 一、微分的定义二、微分的几何意义三、微分运算1、函数和、差、积、商的微分法则2、复合函数的微分法则 四、微分在近似计算中的应用 一、微分的定义 定义 设函数 y f ( x ) y f(x) yf(x) 在某区间内有定义, x 0 x_0 x0​ 及 x 0 Δ x x_0 \Delta x …

大模型时代:普通人如何获利

随着人工智能技术的飞速发展,我们正步入一个以大模型为驱动力的新时代。这些大型语言模型,如GPT-3和BERT,已经在各个领域展现出惊人的能力,包括文本生成、翻译、问答等。这些技术的进步不仅改变了我们的生活,也为普通人…

【数据结构初阶】顺序结构二叉树(堆)接口实现超详解

文章目录 1.树1. 1 树的概念与结构1. 2 树的相关术语1. 3 树的表示1. 4 树形结构实际运用场景 2.二叉树2. 1 概念与结构2. 2 特殊的二叉树2. 2. 1 满二叉树2. 2. 2 完全二叉树 2. 3 二叉树存储结构2. 3. 1 顺序结构2. 3. 2 链式结构 3. 实现顺序结构二叉树(小堆&…

【OJ刷题】双指针问题6

这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:OJ刷题入门到进阶 🌏代码仓库: 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论 目录 1…

ThreadX源码:Cortex-A7的tx_thread_irq_nesting_start(嵌套中断开始动作).s汇编代码分析

0 参考资料 Cortex M3权威指南(中文).pdf(可以参考ARM指令集用法) 1 前言 tx_thread_irq_nesting_start.s是用来实现Cortex-A7 IRQ嵌套中断的开始函数实现的汇编文件。 2 源码分析 源码如下: 1  IRQ_DISABLE 0x80…

遍历指定的目录a中的所有子目录及所有文件os.walk(root_dir)

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 遍历指定的目录a 中的所有子目录 及所有文件 os.walk(root_dir) [太阳]选择题 已知已经存在的目录和文件情况如下: a目录下有子目录b,有两个文件:a1.txt和…

Flet全平台开发:软件开发界勇士为Python语言补短板的一次极具挑战性的尝试、冲刺和华丽亮相

一、Flet创始人和开发者介绍、开发Flet的背景介绍 Flet 的创始人和开发者 Feodor Fitsner 是俄罗斯人,就职于微软。 Flet 的第一个版本于 2022 年 6 月发布。这是一个相对较新的库,它基于 Flutter 框架,首先支持的是用 Python 语言开发软件…

2024/9/17 pytorch-卷积神经网络

一、torch.nn pytorch有很多接口,其中的torch.nn可以让我们方便的调用以便生成神经网络各层 1.torch.nn.Module 是一个构成神经网络层的一个基本类别,一般生成一个类别来继承nn.module torch.tensor(a)将a初始化为一个tensor类型数据 一般这种已经固…

攻防世界--->hackme

学习笔记。 下载 查壳。 64ida打开。 进入main&#xff1a; 跟进&#xff1a; 这是密文 咋一看这程序感觉很复杂&#xff0c;很复杂&#xff1a; 脚本&#xff1a; #include <stdio.h> #include <string.h> #include <stdlib.h>int main() {unsigned char …

Qt --- 信号和信号槽

前言 Linux信号Signal&#xff0c;系统内部的通知机制&#xff0c;进程间通信方式。 信号源&#xff1a;谁发的信号。 信号的类型&#xff1a;哪种类别的信号。 信号的处理方式&#xff1a;注册信号处理函数&#xff0c;在信号被触发的时候自动调用执行。 Qt中的信号和Lin…

Bugku---密码学---乐谱密码

题目出处&#xff1a;首页 - Bugku CTF ✨打开后发现是一张乐符图 ✨一般我们所熟悉的「Do Re Mi Fa Sol La Si」&#xff0c;若写成音名&#xff0c;即是「C D E F G A B」。不过德国人习惯使用的音名则是「C D E F G A H」&#xff0c;「B」代表 音名B♭ 。 C也就是后面的4&…