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

知识图谱推理研究综述9.3

在这里插入图片描述

综述分类

  1. 根据样本量大小的不同,将知识图谱推理方法分为多样本推理、少样本推理和零与单样本推理

KG定义:(Y)

知识图谱是以图的形式表示真实世界的实体与关系之间关系的知识库。

具体来说知识图谱是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论、方法、与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示其核心结构、发展历史、前沿领域以及整体知识构架,达到多学科融合目的的现代理论。

知识图谱架构

G=(V,E)。
知识图谱的架构由数据层和模式层两部分构成。
在这里插入图片描述
数据层:数据以三元组的形式存储
模式层在数据层之上,是知识图谱的核心,存储的是经过提炼的知识。模式层是数据层的概念模型或逻辑模型,对数据层规范和约束;模式层更适用于知识图谱推理。

知识图谱的发展历史

知识图谱的研究源于2000年XML大会上Tim Berners Lee提出的语义Web的理念,最初的作用是为Web网页添加语义信息。

2005年,美国Metaweb公司成立,致力于开发共享的世界知识库。Metaweb基于维基百科等公开的数据集,提取出现实世界中人或事物(实体)以及它们之间的关系,并且以图的结构存储在计算机中。

2010年,谷歌收购了Metaweb公司,并在2012年提出了知识图谱的概念。

知识图谱

DBpedia、Freebase、NELL、Probase。

按照构建方式不同:手工构建(WordNet、HowNet。规模小,能够确保准确性与完整性,质量高但耗时长)和自动构建(NELL、WikiData。自动抽取实体与关系,规模大,存在大量不完整的关系、噪声信息等,常用在知识图谱补全、查询等研究中)。

知识图谱应用

大批知识图谱被广泛应用于知识图谱补全与去噪的学术研究领域。知识图谱在问题系统、推荐系统、机器翻译等领域发挥重要作用,并已在医学诊断、金融安全、军用等领域展示出很好的应用前景。

知识图谱推理分类(样本多少)

多样本知识图谱推理

常用基于传统规则表示的推理、基于分布式的推理、基于神经网络的推理等

基于规则表示的推理

单跳推理:

  • NELL知识图谱内部采用的是简单的一阶关系学习算法进行推理[1-11]。

  • ProPPP是一阶概率语言模型,该模型生成了有向证明图,节点对应查询的子句,边对应规则,推理过程为一个查询子句通过规则到另一个查询子句[1-12]。

  • Tensor Log方法是基于可微的过程,给每一个关系定义一个{0,1}的操作矩阵,关联一个单样本向量,(i,j)表示第i个实体与第j个实体之间是否存在关系,如果存在为1,否则为0[1-13]。该方法可以将逻辑规则的推理形式转化为操作矩阵相乘。

  • SDType和SDValidate,利用图中的属性和实体类型补全三元组和识别错误的三元组[1-14]。SDType实现了一种类似加权的投票机制,为每一个属性赋予权重。SDValidate首先计算关系-尾实体的频率,然后计算低频三元组的得分,但得分小于设定阈值的时候被判定为潜在错误的三元组。

  • 基于不同的模式评估知识图谱的三元组的质量[1-15]。

基于规则的单条推理方法 可计算性低、代价高、方法简单、使用的知识图谱较少、速度较慢

多跳推理规则更加复杂,如随机行走规则、传递性规则等。以使用规则区域的大小为标准,可以将其分为基于全局的规则和基于局部的规则推理两种。

(1)基于全局的推理

  • PRA算法将推理路径作为特征,预测实体间是否存在特定的关系,通过将正例三元组的头尾实体替换得到负例三元组,然后训练回归分类器,再基于受限和加权的随机行走策略,进一步改进该模型的路径产生过程[1—16-17]。 试图产生潜在能够有助于推理的路径,减少路径的数量,但是必须实体之间有联系,否则无效。
  • 基于内容和结构的CSRI模型,结合了内容信息和结构信息,最终的概率得分也由影响因子和结构因子两部分组成[1-18]。
  • 通过5亿网络文本语料挖掘的实体和边(关系)增广知识图谱的关系,然后增广知识图谱上推理[1-19]。
  • 知识图谱关联规则挖掘算法AMIE,挖掘传递性规则[1—20-21]。维护一个规则队列,将其初始化为空规则,并迭代地从规则队列中每次取出一个规则,如果规则是封闭规则且未被删除,则输出该规则。

以上基于全局的图结构在整个知识图谱上进行推理,*成本较高,而知识推理一般是在局部图结构上进行;另一方面,全局的细粒度太粗,局部信息的细粒度能够提高推理的准确性。

(2)基于局部的推理

  • SFE算法使用广度优先策略对头实体的相邻实体进行遍历,然后在局部结构进行特征抽取,之后进行推理[1-22]。
  • 层次随机行走推理算法,上层对应于全局学习的视角,下层对应于知识图谱局部的学习推理[1-23]。

多样本知识图谱基于规则的推理存在效率低下、噪声信息大、规则较少等缺点,并且当前的规则较少,人工挖掘更多复杂规则的代价也很高,可解释性难以保证。但是通过关联局部的结构信息弥补单纯规则的推理值得进一步的研究。

基于分布式的推理

这一块首先要通过模型得到低维向量表示,然后用向量操作来进行对应只是图片的推理。

(1)单跳推理

  • TransE——第一个基于转移的表示模型,也是分布式的基础模型[1-24]。
  • TransH 在↑基础上为每个关系多学一个映射向量,用于将实体映射到关系指定的超平面[1-25]。
  • m-TransH直接建模多元关系,关系的损失函数不通过将多远关系分解为二元关系进行分析,而是将多元关系中的每一个看成一个角色,直接建模为角色函数的累加。
  • TransA引入Wr矩阵为不同维度的向量进行加权,并利用LDL方法对Wr进行分解,然后得到一个对角阵Dr,对角线上的元素表示不同维度上的权重。通过图像来描述不同的损失度量函数,给人直观的感觉[1-27]。
  • TransG能够解决关系的多语义问题,利用贝叶斯非参数无限混合模型对一个关系生成多个翻译部分,根据三元组的特定语义得到其中的最佳部分,并利用最大数据相似度原理进行训练,优化采用SGD[1-28]。
  • TransR在单独的实体空间和关系空间建立实体和关系的表示,每个关系对应一个空间,有一个映射矩阵,关系通过对应的映射矩阵映射到关系空间后,可以将关系向量转化成两个实体向量的转移。CTransR还将关系按照一定的类型划分为关系组,并以组为单位进行接下来的推理[1-29]。
  • TransD的实体和关系均用两个向量表示,第一个向量表示实体或关系的意义,第二个向量用来构造映射矩阵,通过对应关系和实体的第二个向量的乘积来表示实体的映射矩阵[1-30]。还考虑了实体和关系的多样性。
  • TransM直接根据关系的映射属性预先计算每个训练三元组的权重,用于加权损失函数[1-31]。
  • TranSparse解决了KG中关系链接的尸体堆数目差异很大以及关系中头尾实体的数目差异很大的问题[1-32]。
  • SSE学习知识图谱实体和关系的表示,利用实体语义类信息强制表示空间几何结构语义平滑[1-33]。
  • TransE-NMM在TransE的基础上定义基于邻居的实体表示,引入邻居实体信息进行实体和关系的表示学习[1-34]。
  • RESCAL基于三阶张量进行表示学习,如果三元组成立,三阶张量上对应的元素值为1,否则为0[1-35]。 通过最小化重构误差学习实体和关系的表示提高了推理的准确性但内存占用量大,计算速度慢。
  • TRESCAL阴雨实体类型信息这一关系域知识,在损失函数的计算中排除不满足关系特定的试题类型约束的三元组,加速了计算[1-36]。
  • ARE是新的张量分解模型,学习知识图谱三元组的隐性和观察到的模式,用一个附加页增广RESCAL模型,对应观察到的模式,并且可以通过减少不连接的部分来降低RESCAL分解需要的阶[1-37]。
  • 基于复数值向量表示的矩阵分解方法进行链接预测[1-38]。关系矩阵的分解形式化为对称矩阵和反对称矩阵的和,能够更好地处理对称和反对称关系。

上述方法准确率高,计算速度相对较快,但都不能处理动态变化的知识图谱。

  • RSTE模型采用分治策略,从知识图谱中采样多个更小规模的子图,通过RESCAL进行连接预测,大大降低了内存的占用,减少了运行时间,可以快速对动态变化的知识图谱进行增删操作[1-39]。
  • KG2E模型直接建模实体和关系的确定性,在多维高斯分布空间中学习知识图谱的表示[1-40]。每个实体或关系用一个高斯分布表示,并使用均值指示实体位置,用协方差传递实体或关系的不确定度。
  • 基于流行的表示模型ManifoldE将三元组在向量空间的一个点扩展到了一个流行结果,取得了很好的链接预测效果[1-41]。

基于张量分解的方法具有可解释性强、实验的准确性高等优点,但是时间复杂度较其他方法高,所以推广使用的代价较高。
基于空间表示的方法在空间上模拟三元组结构的分布,推理能力较强,但对该方法的研究不多。

(2)多跳推理

  • PTransE区别对待实体间不同的路径。在TransE的基础上多建模了关系路径约束,通过关系的组合操作建模路径,然后对实体间的多条路径进行加权,提高了推理的准确性[1-42]。
  • RPE——关系路径表示的组合学习模型,推理效果较好[1-43]。
  • 图感知的知识表示方法GAKE,利用图上下文信息的同时设计了attention机制,提高了样本信息的利用率与推理结果[1-44]。
  • 使用邻居信息和内存网络发掘样本数据的潜在关系信息,并把门控机制、结构和邻居的表示集成到联合表示中,丰富实体的特征信息。
  • 基于组合的方法首先通过随机行走找到实体之间的多条路径,并根据其与查询的语义相似性计算每条路径的注意力,然后根据它们的注意力聚合这些路径的表示,最终结果基于该聚合表示和查询的相似性形成[1-45]。
  • 一种新的RL框架用于学习更准确的链路预测模型,该模型将KG中的链路预测问题构建为概率图形模型(PGM)中的推理问题,并使用最大熵RL来最大化预期回报。

基于神经网络的推理

(1)单跳推理

  • NTN用双线性张量层代替传统的神经网络层,将头实体和尾实体联系起来,能够在不同的维度下表示出实体间复杂的语义联系[1-47]。
  • 通过类似的神经张量网络模型预测知识图谱中的新关系,通过从文本无监督学习到的词向量初始化实体表示,可以实现类似零样本的效果,甚至可以预测知识图谱中未出现实体的关系[1-48]。
  • 共享变量神经网络模型ProjE,通过学习知识图谱的实体和边的联合嵌入,并通过对标准损失函数的更改,来填补知识图谱中缺失的信息[1-49]。
  • ConvKB通过使用卷积神经网络,能够捕捉实体和关系之间的全局关系和过渡特性[1-50]。

基于神经网络的单跳推理的优点是能够通过利用神经网络强大的学习、推理能力来建模知识图谱三元组,但是神经网络的可解释性一直是一个很严重的问题。

(2)多跳推理

在神经网络的多跳推理中,主要有两种方法:通过神经网络建模多跳路径 和 模拟人脑的过程进行推理。前者充分学习多跳路径的表示,然后根据路径的表示和直接关系表示的相似度来得到得分;后者主要利用一个外部存储结构模拟人脑的存储,利用人脑的强大推理能力得到推理结果。

  • [1-51]为每个关系类型训练一个RNN得到任意长度的组合表示,通过输入路径上的关系向量和当前的路径向量产生下一步的组合向量,最后一步的输出作为路径向量的表示。但其只考虑一条路径,没有考虑其他路径以及不同路径的权重问题,也没有考虑实体的建模。
  • [1-52]通过训练一个RNN模型预测所有的关系类型,然后利用注意力机制在多条路径上进行推理,并联合学习与推理关系类型、实体以及实体关系,提高了在多样本知识图谱上推理的准确性和实用性。
  • DNC包含了一个LSTM神经网络控制器和可以读写的外部存储矩阵。知识图谱三元组向量作为输入,通过神经网络对外部存储进行读写,模拟人脑利用先验知识学习推理新知识,并更新已有的知识[1-53]。
  • TravNM引入单个网络层,然后将其用作TravNM的多层神经网络的构建块,并开发灵活的内存更新方法,以便于在多跳推理期间将中间实体信息写入存储器[1-54]。

上述基于神经网络的多跳推理方法可解释性更强。

混合推理方法

(1)混合规则和分布式表示的推理

  • 使用分布式辅助规则,并加入了上下文关系,提出了上下文敏感的方法[1-55]。

  • 通过矩阵分解直接学习一阶逻辑表示,首先从三元组训练集产生推理规则集合,然后将证明图转为一个矩阵,进行映射推理[1-56]。

  • KALE模型在一个统一框架中通过三元组和规则联合建模,将三元组和规则都形式化为对应的公式[1-57]。
    (2)混合神经网络与分布式表示的推理

  • 使用R-GCN建模知识图谱,并且通过邻居实体节点产生隐性特征向量表示,通过头实体向量的转置变量、关系对角矩阵与尾实体向量的乘积表示得分函数,通过模型的较差熵损失进行训练学习[1-58]。
    (3)混合神经网络和规则的推理

  • Neural在TensorLog的基础上引入了注意力机制和外部存储的神经网络系统[1—59,13]。

少样本的知识图谱推理

基于元学习的推理

基于相邻实体信息的推理

相关文章:

知识图谱推理研究综述9.3

综述分类 根据样本量大小的不同,将知识图谱推理方法分为多样本推理、少样本推理和零与单样本推理 KG定义:(Y) 知识图谱是以图的形式表示真实世界的实体与关系之间关系的知识库。 具体来说知识图谱是通过将应用数学、图形学、信…...

详细介绍c++中的类

C 中的类是面向对象编程的基本概念,它指的是一种能够封装数据和方法的用户定义数据类型。类是程序中一个重要的概念,它允许程序员通过定义类来实现代码复用、模块化和继承等特性。 C 中的类由以下部分组成: Data members:成员变量…...

C语言:扫雷小游戏

文接上一篇博文C语言:三子棋小游戏。本篇博文是使用C语言来实现扫雷小游戏的。这里不对扫雷的规则进行赘述。玩家通过键盘输入坐标来探雷。博主在实现扫雷之前从未看过扫雷实现的相关视频,所以这里实现的扫雷完全是博主的原生思路,具有逻辑性…...

VScode SSH无法免密登录

配置方法 引用高赞贴:点击 debug方法 连不上需要找到问题原因,看ssh的 log Linux服务器:2222是我们指定的端口,可以是1234等 sudo /usr/sbin/sshd -d -p 2222windows这边:端口号要一致 ssh -vvv ubuntusername192…...

Spring Cloud--从零开始搭建微服务基础环境【四】

😀前言 本篇博文是关于Spring Cloud–从零开始搭建微服务基础环境【四】,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,…...

FreeRTOS操作系统中,断言输出 Error:..\..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c,766 原因

分析:Error:..\..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c,766 出现这个原因表示,你现在系统某个中断的优先级高于FreeRTOS可管理的优先级范围,一旦你这个中断触发,断言的信息即你串口就会输出这个条语句(前提你串口…...

【Linux】进程间通信与同步

IPC进程间通信 无名管道pipe(血缘关系的进程)有名管道fifo (无血缘关系的进程)共享内存信号(开销小)消息队列信号量套接字 进程间同步 文件锁信号量...

SpringBoot 统一功能处理

目录 一、用户登录权限验证 1.1 SpringAOP可以进行处理吗? 1.2 创建自定义拦截器 1.3 将自定义拦截器配置到系统配置项中 1.4 拦截器的实现原理 1.4.1 实现原理源码分析 1.5 统一访问前缀添加 二、统一异常处理 2.1 为什么需要使用统一异常处理?…...

解决:sh: vite: command not found

文章目录 问题描述原因分析解决方案 问题描述 第一次pull项目,运行npm run dev时报错:sh: vite: command not found 原因分析 查看了package.json,发现是有vite的。 没有安装依赖导致的; 解决方案 执行npm i重新安装依赖&#…...

el-select下拉多选框 el-select 设置默认值不可删除功能

Element3.0vue3.0 el-select下拉多选框 el-select 设置默认值不可删除功能 Element-UI是一款广泛使用的Vue.js组件库,其中El-Select下拉多选框组件在实际项目开发中经常被使用。然而,在Element 3.0版本中,El-Select下拉多选框默认值可被删除&…...

Jetsonnano B01 笔记1:基础理解—网络配置—远程连接

今日开始学习 Jetsonnano B01,这是一台小电脑,可以用来: 运行现代 AI 负载,并行运行多个神经网络,以及同时处理来自多个高清传感器的数据,可广泛应用与图像分类、对象检测、图像分割、语音处 理等领域。它…...

Ubuntu系统信息查看指南:了解你的操作系统

要查看Ubuntu系统的信息,你可以使用一些命令行工具来获取系统的各种信息。以下是一些常用的命令: 1. lsb_release -a:列出Ubuntu版本号、发行代号和描述信息。 2. uname -a:显示Linux内核的版本信息。 3. lscpu:提供…...

【STM32】学习笔记-SPI通信

SPI通信 SPI通信(Serial Peripheral Interface)是一种同步的串行通信协议,用于在微控制器、传感器、存储器、数字信号处理器等之间进行通信。SPI通信协议需要使用4个线路进行通信:时钟线(SCLK)、主输入/主输出线(MISO)、主输出/主…...

解决vue项目首行报红( ESLint 配置)和新建的vue文件首行报红问题

目录 前情提要: 修改ESLint 配置 新建的vue文件首行还是报红 报红原因: 解决方法: 前情提要: 在网上查到的方法可能是在package.json文件或者.eslintrc.js文件中添加 requireConfigFile: false 如果此方法对你的错误不起作用…...

Linux 调试技术 Kprobe

目录 用途:一、技术背景1.1 kprobes的特点与使用限制1.2 kprobe原理 二、 基于kprobe探测模块的探测方式2.1、struct kprobe结构体2.2 kprobe API函数2.3 示例代码参考资料: 用途: 判断内核函数是否被调用,获取调用上下文、入参以…...

一文了解评估 K8s 原生存储产品需要关注的关键能力

近些年,越来越多的企业使用 Kubernetes(K8s)支持生产环境关键业务。这些业务往往对存储性能和稳定性具有更高的要求,传统存储方案难以充分满足,因此不少用户开始关注更契合 K8s 环境的 K8s 原生存储方案。 不过&#…...

linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf

问题:权限不对的 解决: 1.检查文件的所有者和权限。 确保文件的所有者是正确的。 运行以下命令来确定文件的所有者和权限: ls -l /etc/ssh/ssh_config.d/05-redhat.conf 通常情况下,SSH配置文件应该属于root用户。如果所有者不是…...

Kafka常用参数

文章目录 概要broker端参数producer端参数consumer端参数 概要 kafka broker、consumer、和producer都有很多可配置的参数。本文主要总结日常开发中常用到的参数。其中producer端可以在org.apache.kafka.clients.producer.ProducerConfig 中找到配置项,consumer端可…...

NFT Insider#105:The Sandbox即将参加韩国区块链周,YGG的声誉和进步(RAP)将引领玩家晋升到下一层级

引言:NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto(https://twitter.com/beep_crypto)联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周…...

TCP socket error (The proxy type is invalid for this operation).

“TCP socket error (The proxy type is invalid for this operation)” 错误通常是由于使用了无效的代理类型导致的。在使用QModbusTcpClient连接Modbus TCP设备时,如果您没有配置代理服务器,或者配置的代理类型不正确,就会出现这个错误。 …...

根据需求生成一个Vue模块的类图示例

以下是一个Vue模块的类图示例: ------------------------ | VueModule | ------------------------ | -name: string | | -data: object | | -methods: object | | -computed: object | | -watchers: object | ---…...

C# 类class、继承、多态性、运算符重载,相关练习题

34.函数重载 /*函数重载您可以在同一个范围内对相同的函数名有多个定义。函数的定义必须彼此不同,可以是参数列表中的参数类型不同,也可以是参数个数不同。不能重载只有返回类型不同的函数声明。下面的实例演示了几个相同的函数 Add(),用于对…...

Mysql高级(进阶)SQL语句

目录 常用查询 按关键字排序 区间判断及查询不重复记录 对结果进行分组 限制结果条目 设置别名(alias —— as) 通配符 子查询 MySQL视图 NULL 值 连接查询 常用查询 (增、删、改、查) 对 MySQL 数据库的查询&#xf…...

java八股文面试[JVM]——JVM性能优化

JVM性能优化指南 JVM常用命令 jps 查看java进程 The jps command lists the instrumented Java HotSpot VMs on the target system. The command is limited to reporting information on JVMs for which it has the access permissions. jinfo (1)实时…...

联发科MTK6762/MT6762核心板_安卓主板小尺寸低功耗4G智能模块

MT6762安卓核心板是一款基于MTK平台的高性能智能模块,是一款工业级的产品。该芯片也被称为Helio P22。这款芯片内置了Arm Cortex-A53 CPU,最高可运行于2.0GHz。同时,它还提供灵活的LPDDR3/LPDDR4x内存控制器,此外,Medi…...

Redis未授权访问漏洞复现

Redis 简单使用 Redis 未设置密码,客户端工具可以直接链接。 Redis 是非关系型数据库系统,没有库表列的逻辑结构,仅仅以键值对的方式存储数据。 先启动容器 Redis 未设置密码,客户端工具可以直接链接 https://github.com/xk11z/…...

用深度强化学习来玩Flappy Bird

目录 演示视频 核心代码 演示视频 用深度强化学习来玩Flappy Bird 核心代码 import torch.nn as nnclass DeepQNetwork(nn.Module):def __init__(self):super(DeepQNetwork, self).__init__()self.conv1 nn.Sequential(nn.Conv2d(4, 32, kernel_size8, stride4), nn.ReLU(inp…...

HTML5-4-表单

文章目录 表单属性表单标签输入元素文本域(Text Fields)密码字段单选按钮(Radio Buttons)复选框(Checkboxes)按钮(button)提交按钮(Submit)label标签 文本框(textarea&am…...

Nacos 开源版的使用测评

文章目录 一、Nacos的使用二、Nacos和Eureka在性能、功能、控制台体验、上下游生态和社区体验的对比:三、记使使用Nacos中容易犯的错误四、对Nacos开源提出的一些需求 一、Nacos的使用 这里配置mysql的连接方式,spring.datasource.platformmysql是老版本…...

【Linux】一些常见查看各种各样信息的命令

Linux命令 find命令,用来查找文件。常用的按照名字查找-name,按照文件类型查找-type,linux常用的文件类型有七种,普通文件,目录文件,管道,套接字,软链接,块设备&#xf…...