当前位置: 首页 > news >正文

知识图谱补全KGC

目录

  • 基础知识
    • 知识图谱补全概念
    • 性能指标
  • 一、翻译模型的知识图谱补全
    • 1.TransE
    • 2.TransH
    • 3.RotatE
  • 二、张量分解的知识补全
    • 1.RESCAL
    • 2.ComplEx
  • 三、神经网络的知识图谱补全
    • 1.卷积神经网络CNN(一般用于二维图像处理)
      • ConvE
    • 2.循环神经网络RNN
    • 3.图神经网络GNN
      • 1)GCN
      • 2)R-GCN
      • 3)TransGCN
  • 四、新型知识图谱补全(比较难)
    • 1.胶囊网络的知识图谱补全(不太懂)
    • 2.元学习的知识图谱补全(少样本、冷启动)
    • 3.语言模型的知识补全(没看,不会)


基础知识

三元组(实体,关系,实体)(h,r,t)例如(河南,位于,中国)是一个完整的三元组

知识图谱补全概念

相当于先给你训练集(一堆完整的三元组)让你训练你的模型,优化里面参数,然后用验证集(一般是完整的三元组)让你稍微修改下,避免过拟合的情况。最后测试集(不完整的训练集,要么少 r ,要么少 t ),看你能不能输出好的结果(好的性能)。
比如测试集是(h , r , ?)你给出的不是确定的 t ,而是一串 t ,按照可能性大小排列
正确答案是 西瓜 ,你的系统给出的答案是(桃子,苹果,西瓜,…)这种的

性能指标

Mean Rank (MR)平均排名
对于每个测试三元组 (h, r, t),计算模型预测的正确实体在所有候选实体中的排名,然后取所有测试三元组的平均值。
在这里插入图片描述

Hits@K:前K命中率
定义:对于每个测试三元组 (h, r, t),如果正确实体出现在模型预测的前K个候选实体中,则计为命中。Hits@K 表示命中次数占总测试三元组的比例。
在这里插入图片描述

Mean Reciprocal Rank (MRR):平均倒数排名
定义:计算每个测试三元组的正确实体排名的倒数,然后取所有测试三元组的平均值。
在这里插入图片描述

知识图谱补全常用方法:
在这里插入图片描述


一、翻译模型的知识图谱补全

1.TransE

将三元组中(h,r,t)中实体与关系转化为向量,嵌入连续的距离空间中。不断修改实体与关系转化的向量,将正确的三元组h+r和t的值接近,错误的三元组h+r和t的值差距变大。从而判断三元组是否成立。
最基础的 h+r≈t。
缺点:不能应对一对多,多对一的关系
在这里插入图片描述

2.TransH

假设一个超平面,每个关系 r对应一个特定的超平面,头实体 h 和尾实体 t 需要在该超平面上进行投影。hr+r≈tr
特点:可以应对一对多,多对一的关系。但是计算开销大,无法捕捉更复杂的语义信息。
在这里插入图片描述

3.RotatE

每个关系r都是不同的旋转角度,h通过旋转特定角度(r)与t重合,则三元组正确。

特点:可以应对多对多关系,可以应对对称性、反演性和组合性等复杂关系。但是计算复杂度较高且不易解释。
在这里插入图片描述


二、张量分解的知识补全

简单理解为将三元组转化为高阶张量,实体和关系转化为低阶张量,如果低阶张量的计算结果等于某种特定高阶张量,则三元组成立,反之则不成立。

1.RESCAL

三元组 (h,r,t)表示为矩阵乘法的形式,假设头实体 h 和尾实体 t 的向量表示通过关系 r 的矩阵变换可以得到1。

特点:可以处理多对多关系,可以处理复杂的知识图谱。但是随着关系增多,计算量变大,表示的关系更难直观理解。
在这里插入图片描述

2.ComplEx

将实体和关系表示为复数向量,ComplEx 定义一个评分函数来判断该三元组是否成立。

如果评分值较高,则认为三元组 (h,r,t)(h,r,t) 可能成立。
如果评分值较低,则认为三元组可能不成立。
特点:可以实现对称性、反演性和组合性等复杂关系,参数效率高。但是计算成本高,表达不如实数空间直观。
在这里插入图片描述


三、神经网络的知识图谱补全

1.卷积神经网络CNN(一般用于二维图像处理)

不同的卷积神经网络将三元组进行不同的拆分重组为二维数组进行卷积特征提取,最后得出三元组是否正确。

ConvE

实体和关系的嵌入表示输入到卷积层中,提取局部特征并生成预测结果,从而有效地捕捉实体和关系之间的复杂交互模式。
将h和r嵌入向量拼成一个二维矩阵,全连接层计算所有可能尾实体 t 的得分,选择得分最高的作为预测结果。
特点:卷积神经网络可以学习到实体和关系的高维特征表示,在处理复杂的实体和关系类型、推理方面具有优势。但是,卷积神经网络在知识图谱数据的稀疏性和长尾实体、关系的问题,而且在处理图结构数据时会受到空间局部性限制。
在这里插入图片描述

2.循环神经网络RNN

循环神经网络适用于处理一维数据,比如文字、自然语言处理、路径信息等。不太适合知识图谱补全的任务,因此循环神经网络用的不多。

3.图神经网络GNN

适合处理稀疏矩阵或者节点之间关系,突破了卷积神经网络的局限性。

1)GCN

通过消息传递机制聚合节点的邻居信息。每个节点从其邻居节点接收信息,然后节点根据接收到的信息更新自身的特征表示。每个节点的特征是其邻居节点特征的加权平均值,经过线性变换和非线性激活后得到。
特点:过消息传递机制,GCN 能够有效捕获节点的邻居信息,并将其传播到整个图中。能够直接处理图结构数据,适用于节点分类、链接预测、图分类等多种任务。可以扩展到大规模图数据,并且可以通过变体模型(如 GAT、GraphSAGE)进一步提升性能。但是性能高度依赖于图的结构信息,训练过程可能涉及稀疏矩阵操作,计算成本较高,层数过多,节点特征可能会因为过度传播而变得相似,导致“过平滑”问题。

2)R-GCN

基于GCN,将不同的关系使用不同的计算矩阵,捕捉不同类型关系的特征,聚合不同类型邻居的信息,生成节点的新特征。
特点:为每种关系类型分配独立的权重矩阵,从而捕捉不同类型关系的特征。通过聚合来自不同类型邻居的信息,能够有效地传播特征并更新节点表示。可以通过变体模型(如注意力机制)进一步提升性能。但是每种关系都需要独立的权重矩阵,增加计算的工作量。如果计算稀疏矩阵,成本较高。
在这里插入图片描述

3)TransGCN

结合了Trans系列模型和图神经网络。先使用Trans模型将实体与关系生成向量,再使用GCN将消息传递周围节点。每个节点会从它的邻居节点那里获取信息,并更新自己的特征。最后计算评分函数,如果头实体加关系接近尾实体,得分就越高。
特点:强大的关系建模能力、高效的图结构建模、可扩展性强。但是计算复杂度较高、参数数量增加、训练难度较大。
下面图不重要,主要是为了凑点图好看,理解模型大概思路就行,谁闲着没事天天一点点把模型全看懂?
在这里插入图片描述
在这里插入图片描述


四、新型知识图谱补全(比较难)

1.胶囊网络的知识图谱补全(不太懂)

每个实体,关系都加入了新的属性、信息(叫胶囊),然后通过动态路由,通过GCN这种传递周围节点最后评估三年元组是否成立。

2.元学习的知识图谱补全(少样本、冷启动)

类似于提前用相关但不直接的知识训练,然后用少量或者不用直接数据训练,直接进行判断。

3.语言模型的知识补全(没看,不会)

相关文章:

知识图谱补全KGC

目录 基础知识知识图谱补全概念性能指标 一、翻译模型的知识图谱补全1.TransE2.TransH3.RotatE 二、张量分解的知识补全1.RESCAL2.ComplEx 三、神经网络的知识图谱补全1.卷积神经网络CNN(一般用于二维图像处理)ConvE 2.循环神经网络RNN3.图神经网络GNN1&…...

独立开发者的内容营销教程

内容营销对于独立开发者来说,是一种低成本、高效的方式来推广产品、建立品牌影响力和吸引潜在用户。通过分享有价值、相关性强的内容,您可以吸引用户的注意力,增强用户黏性,并最终将他们转化为忠实用户或客户。以下是详细的独立开…...

Mysql——约束与多表查询

一、约束 1.1定义 约束是对表中的数据进行限制的一套规则,用于防止用户向数据库中输入无效数据。它可以保证表中的数据满足特定业务规则和逻辑,从而维护数据的准确性和可靠性。 1.2作用 数据完整性 :约束可以确保数据在插入、更新或删除时符…...

DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順

DockerでOracle Database 23c FreeをセットアップしMAX_STRING_SIZEを拡張する手順 はじめに環境準備ディレクトリ作成Dockerコンテナ起動 データベース設定変更コンテナ内でSQL*Plus起動PDB操作と文字列サイズ拡張設定検証 管理者ユーザー作成注意事項まとめ はじめに Oracle…...

Unity 运用正则表达式保留字符串中的中文英文字母和数字

正则表达 正则表达式 – 语法 | 菜鸟教程 Regex 类 (System.Text.RegularExpressions) | Microsoft Learn 保留字符串中的中英数 中英数的正则表达。 patten "[\u4e00-\u9fa5A-Za-z0-9]"; 使用Regex 类匹配正则并保留。 matches Regex.Matches(str, patten)…...

vue el-table-column 单元表格的 省略号 实现

要对 el-table-column 的某一列中的每个单元格值进行处理,使其在文本内容超出指定宽度时显示省略号(…),可以通过以下方法实现: 使用 scoped slots:利用 Element UI 提供的 scoped slots 自定义单元格内容…...

企业微信里可以使用的企业内刊制作工具,FLBOOK

如何让员工及时了解公司动态、行业资讯、学习专业知识,并有效沉淀企业文化?一份高质量的企业内刊是不可或缺的。现在让我来教你该怎么制作企业内刊吧 1.登录与上传 访问FLBOOK官网,注册账号后上传排版好的文档 2.选择模板 FLBOOK提供了丰富的…...

【数据挖掘】Pandas

Pandas 是 Python 进行 数据挖掘 和 数据分析 的核心库之一,提供了强大的 数据清洗、预处理、转换、分析 和 可视化 功能。它通常与 NumPy、Matplotlib、Seaborn、Scikit-Learn 等库结合使用,帮助构建高效的数据挖掘流程。 📌 1. 读取数据 P…...

explore与explode词源故事

英语单词explore来自古法语,源自拉丁语,由前缀ex-(出来)加词根plor-(叫喊)以及末尾的小尾巴-e组成,字面意思就是“喊出来,通过叫喊声赶出来”。它为什么能表示“探索”呢&#xff1f…...

CAM350_安装

版本:V14.5 一、安装 打开.exe文件 选择不重启,然后再打开这个.exe 再来一次类似的操作 二、配置 复制patch文件夹中的这三个 ,粘贴到掉安装目录中 设置ACT_INC_LICENSE_FILE用户环境变量来设置license管理 打开电脑的环境变量 破解完毕&am…...

51c自动驾驶~合集22

我自己的原文哦~ https://blog.51cto.com/whaosoft/11870502 #自动驾驶数据闭环最前沿论文 近几年,自动驾驶技术的发展日新月异。从ECCV 2020的NeRF问世再到SIGGRAPH 2023的3DGS,三维重建走上了快速发展的道路!再到自动驾驶端到端技术的…...

games101 作业5

题目 光线追踪的核心算法: 1.光线的生成 2.光线与三角的相交 题解 1.光线的生成 如课件中的图所示: image plane 就是 代码中的scene的FrameBuffer。 但是,FrameBuffer 是窗口坐标系中,而光线是世界坐标系中的。所以我们需要将scene中的屏…...

【高并发秒杀系统设计:从Guava到Redis的6级缓存架构演进】

一、瞬时十万QPS场景分析 1.1 典型秒杀场景特征 public class SpikeScenario {// 特征1:瞬时流量突增private static final int QPS 100000; // 正常流量100倍// 特征2:资源竞争激烈private int stock 1000; // 100万人抢1000件商品// 特征3&#…...

2-程序语言基础知识

本节内容不是很多,在考试中一般是2-3分,多看教材,考试中大概都是原话 本节主要考点 1、编译程序和解释程序 2、程序语言的数据成分和控制成分(多看教材) 3、编译程序的过程(多看教材) 4、中缀、前缀与后缀表达式(增加) 教材P42-52,54-58多看一下 1、程序语言概述 机器…...

【AIGC系列】4:Stable Diffusion应用实践和代码分析

AIGC系列博文: 【AIGC系列】1:自编码器(AutoEncoder, AE) 【AIGC系列】2:DALLE 2模型介绍(内含扩散模型介绍) 【AIGC系列】3:Stable Diffusion模型原理介绍 【AIGC系列】4&#xff1…...

小米火龙CPU和其他几代温度太高的CPU是由谁代工的

小米火龙CPU”并非小米自研芯片,而是指搭载在小米手机上的部分高通骁龙处理器因发热问题被调侃为“火龙”。以下是几款被称为“火龙”的高通CPU及其代工情况: 骁龙810 骁龙810是高通历史上最著名的“火龙”之一,采用台积电20nm工艺代工。由于…...

在 ASP.NET Core 中压缩并减少图像的文件大小

示例代码:https://download.csdn.net/download/hefeng_aspnet/90294127 在当今的数字时代,图像是 Web 应用程序和用户体验不可或缺的一部分。但是,处理大型图像文件可能会导致网页加载缓慢和更高的存储费用。为了解决这个问题,在…...

网络流算法: Dinic算法

图论相关帖子 基本概念图的表示: 邻接矩阵和邻接表图的遍历: 深度优先与广度优先拓扑排序图的最短路径:Dijkstra算法和Bellman-Ford算法最小生成树二分图多源最短路径强连通分量欧拉回路和汉密尔顿回路网络流算法: Edmonds-Karp算法网络流算法: Dinic算法 环境要求 本文所用…...

【Godot4.3】自定义简易菜单栏节点ETDMenuBar

概述 Godot中的菜单创建是一个复杂的灾难性工作,往往无从下手,我也是不止一次尝试简化菜单的创建。 从自己去年的发明“简易树形数据”用于简化Tree控件获得灵感,于是尝试编写了用于表示菜单数据的EasyMenuData类,以及对应的纯文…...

如何杀死僵尸进程?没有那个进程?

在题主跑代码的时候遇到了这样一种很奇怪的问题: 可以看到显卡0没有跑任何程序但是还是被占据着大量显存,这种进程称为“僵尸进程”,并且当我想kill它的时候,出现下面这种情况: 查过各种资料,最后我的解决…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

EtherNet/IP转DeviceNet协议网关详解

一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

uniapp 字符包含的相关方法

在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

抽象类和接口(全)

一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...