知识图谱嵌入方法-transE

news2025/1/21 1:05:03

目录

一、知识图谱嵌入

二、transE算法

三、缺点

一、知识图谱嵌入

       知识图谱(Knowledge GraphKG) 是大规模语义网络知识库,利用三元组(实体,关系,实体)来描述具体的知识,其具有语义丰富、结构友好、易于理解等优点。

       当今大规模知识库(知识图谱)的构建为许多自然语言处理任务提供了底层支持,例如问答系统、推荐系统等诸多领域,但由于其规模庞大且不完备,如何高效存储(低维稠密)[1]和补全知识库[2]成为了一项非常重要的任务,这就依托于知识表示学习(知识图谱嵌入技术)。

[1]计算机是无法直接处理自然语言的,自然语言中的词或知识必须将其编码成数字,计算机才能处理。稀疏编码能有效编码词汇信息,例如one-hot编码就是稀疏编码,词袋中[我,爱,苹果]三个字,对三个词进行编码,即[100]表示,[010]表示,苹果[001]表示,one-hot编码的优点就是直观有效地表示词汇,用向量中1位置表示该词在词袋中的位置。但其缺点就是随着词袋中词汇数量的增加,词汇向量表示的维度随之增加,当词袋中有一万个词时,词汇向量表示维度将达到一万,这种只用一个1,其余全是0的高维度稀疏编码必然造成编码繁琐、后期处理难度大。所以采用某种技术实现低维稠密编码,既降低了编码维度,也使得词与词之间存在关联,例如word2vec实现了关系相近的词在向量空间中离得近。同样,在知识图谱采用某种技术将实体、关系进行编码,同时保留两个实体间的关系,这种技术就是后文讲到的知识图谱嵌入(Knowledge Graph EmbeddingKGE)。

[2]两个实体实际上有联系,但是在知识图谱中并未有直接边相连,如图1所示,例如[奥巴马]毕业于[哈弗大学],但在知识图谱中,关系[毕业于]不存在,若在以此知识图谱为支撑的问答系统任务中,因为缺少关系,则会导致问答回复错误。所以需要某种技术补全知识图谱,这种技术就是知识图谱嵌入,编码后进行关系预测,即根据两个已知实体,预测该实体间的关系。

1 实体间缺少关系

       表示学习旨在学习一系列低维稠密向量来表征语义信息,而知识表示学习是面向知识库中实体和关系的表示学习,将实体和关系投影到低维向量空间,实现实体和关系的语义信息表示。

二、transE算法

       知识图谱中的事实是用三元组 (头实体h , 关系r , 尾实体t )的结构组织的,那么如何用低维稠密向量来表示它们,才能得到这种依赖关系呢?

         transE算法就是一个非常经典的知识表示学习,其算法的思想非常简单,它受word2vec平移不变性的启发,关系的向量表示解释成头、尾实体向量之间的转移向量,如果一个三元组(h, r, t)为真,那么向量空间中对应向量需要符合h + r ≈ t,如图23所示。

2 实体-关系空间

3 平移距离示例

那如何进行学习(知识图谱嵌入)呢?

3 知识图谱嵌入流程

       如图4所示,首先从训练集中抽取样本初始化样本的向量,然后基于距离的评分函数来对关系进行打分。

       如何设置打分模型损失函数是个关键,表示学习没有明显的监督信号,模型不会明确地告诉人们学到的表示正确与否,想要正确学习需要引入相对的概念,我们称正确的为正样本,错误的称为负样本,负样本是然后随机替换三元组的某个实体。相对负样本来说,正样本打分要更高。损失函数如下:

   1

S 表示正样本集

h,r,t 表示正样本的(头实体,关系,尾实体)

S’  表示负样本集

h’,r,t’ 表示负样本的(头实体,关系,尾实体)

Σ 表示求和公式

[ ]+ 表示max(0,x),即当x大于0x的值,当x小于0,取0

γ 表示正负样本之间的间距,类似于支持向量机中的margin[3]

d(x,y) 表示xy向量的距离,这个距离可以是1范数,式(2)或2范数,式(3)。

2

 (3

       这个损失函数很好理解,当正确三元组的距离越小,错误三元组的距离越大时,整体就会越接近0

[3] 类似于支持向量机,这个方法也是线性分类,是将正样本和负样本点在空间中尽可能离得远,度量方法先画一条直线将两类点分开,并且使得这条直线距离两类点的间隔(Margin)最大。比如图4:(b)中直线Amargin,要比(c)中直线Bmargin大,因此A直线要比B直线好很多。

4 支持向量机的margin

举例:

这里实体有张三、李四、王五,关系有朋友,仇人,陌生人,其向量初始化为

张三(13-5
李四(-3
45
王五(
2-13
朋友(
357
仇人(
-12-1
陌生人(
2-40

有三对三元组(张三,朋友,李四)、(张三,仇人,王五)、(李四,陌生人,王五),向量表示为:

((13-5),(357),(-345))
((
13-5)、(-12-1)、(2-13))
((
-345)、(2-40)、(2-13))

同时替换部分样本中的实体,(张三,朋友,王五)、(李四,仇人,王五)、(张三,陌生人,王五),以形成负样本,向量表示为:

((13-5),(357),(2-13))
((
-345)、(-12-1)、(2-13))
((
13-5)、(2-40)、(2-13))

进行损失计算,假设我们用2范数,

正样本:

 负样本:

 

 γ=2

通过梯度下降法更新之前随机生成的向量,最后最小化损失。

三、缺点

       不适合一对多、多对一、多对多,会出现冲突映射,一个实体在不同三元组内的表示融合,导致不明确甚至错误的语义信息。

举例:

5 transE不支持一对多示例

       如图5hr不变,h+r不变,当h+r分别趋向于t1t2t3t4的时候,致使t1t2t3t4无限接近,实际上四者分别独立。

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

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

相关文章

vue-element-admin 动态菜单改造

vue-element-admin 动态菜单改造 vue-element-admin 是一款优秀后台前端解决方案,它基于 vue 和 element-ui实现。开源后台管理系统解决方案项目 Boot-admin的前端模块就是基于vue-element-admin开发而来。 作为一款纯前端的后台界面解决方案,vue-elem…

剑指 Offer 51. 数组中的逆序对

剑指 Offer 51. 数组中的逆序对 难度:hard\color{red}{hard}hard 题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7…

怎么设计秒杀系统?

秒杀系统需要考虑哪些要素? 要能支持高并发用户体验要好,不要返回异常信息对系统要友好(针对秒杀可以做业务上的隔离,单独把秒杀系统部署到独立的集群服务器上;可动态配置业务参数,比如商品金额&#xff0…

电磁兼容(EMC)的标准与测试内容

在国际范围上,电磁兼容标准的制定已经有了70多年的发展历程,最早为了保护无线电通信和广播,国际无线电干扰特别委员会(CISPR)对各种用电设备和系统提出了相关的电磁干扰发射限值和测量方法。到了20世纪60~7…

机器学习:基于朴素贝叶斯(Naive Bayes)的分类预测

目录 一、简介和环境准备 简介: 环境: 二、实战演练 2.1使用葡萄(Wine)数据集,进行贝叶斯分类 1.数据导入 2.模型训练 3.模型预测 2.2模拟离散数据集–贝叶斯分类 1.数据导入、分析 2.模型训练、预测 三、原…

TiDB进阶篇-TiDB Server架构

简介 较深入的介绍TiDB Server。 TiDB Server 架构 图解 1.下面是负责SQL语句的解析和优化。 2.下面试负责TiKV存储多版本,过期版本的清理作用。 3.复杂SQL的拆分(如果是点查那么就不需要经过DistSQL)。 4.事务相关。 5.负责PD和TiKV的通信…

js 事件流程

描述 JavaScript 的执行是单线程的,后面的任务需要等待前面的任务完全完成后,再去执行。DOM 事件(文件的加载等)、定时器、网络请求等事件,并不会消耗 CPU,这些事件无需等候,所以出现了异步。主…

Java后端新人入职第一天,环境搭建,全看这篇就行了

本文主要是记录一下一个新人java后端开发来到一个新公司,如何快速将自己的相关开发环境搭建好,包括Java、Maven、Tomcat、idea、Redis、Mysql等等,有的公司会有相关版本的要求,不过安装配置步骤基本一样的,我这里就以目前比较流行的版本进行详细说明。 一:基础环境搭建:…

Arduino开发之如何连接GPS模块?

文章目录0、引言1、GPS模块说明2、接调试助手测试GPS模块接收数据3、代码编写4、功能演示0、引言 NEO-6M/7M GPS模块,具有高灵敏度、低功耗、小型化、高追踪灵敏度,大大扩大了其定位的覆盖面,在普通GPS接收模块不能定位的地方,如狭…

编译原理考试大题分析【太原理工大学】

有些基本公式可以看这里,大题内容请以本篇为准!https://blog.csdn.net/m0_52861684/article/details/130071191?spm1001.2014.3001.5501 之前说错了,考试题型没有简答题和填空题,只有十个选择题是 20 分,其余全是大题…

ESP32设备驱动-VEML6075紫外线(UV)光传感器驱动

VEML6075紫外线(UV)光传感器驱动 文章目录 VEML6075紫外线(UV)光传感器驱动1、VEML6075介绍2、硬件准备3、软件准备4、驱动实现1、VEML6075介绍 VEML6075 可感应 UVA 和 UVB 光,并使用 CMOS 工艺将光电二极管、放大器和模拟/数字电路集成到单个芯片中。 应用 UV 传感器时,它…

ChatGPT和GPT-4带你选笔记本电脑

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

最近ChatGPT封号太严重了,这里是解封攻略步骤(建议收藏)

这个周末,先是意大利暂时封杀ChatGPT,限制OpenAI处理本国用户信息。 接着,据韩国媒体报道,三星导入ChatGPT不到20天,便曝出机密资料外泄。 还没结束,又有大量网友发现ChatGPT目前停止注册,开始…

【vue】vue中下载文件的方法

文章目录1. 下载后端返回文件1.1 后端为post请求返回二进制流文件URL.createObjectURLFileReader1.2 后端直接返回get请求文件2. 下载本地文件1. 下载后端返回文件 1.1 后端为post请求返回二进制流文件 Blob Blob对象标识一个不可变、原始数据的类文件对象。Blob表示的不一定…

RabbitMQ( 发布订阅模式 ==> FanoutExchange )

本章目录: 何为发布订阅模式FanoutExchange具体使用一、何为发布订阅模式 在上一篇文章中,我们创建了Work Queue并且发送任务,在Work Queue中,每个任务只会被一个消费者消费,任务消费后就被清除了。 而在本篇中&…

0202心跳和服务续约源码解析-nacos2.x-微服务架构

文章目录1 客户端心跳任务2 服务端处理2.1 服务注册时开启客户端心跳检查2.2 客户端发送心跳任务续约2.3 服务实例移除2.4 心跳任务闭环结语1 客户端心跳任务 在上一篇文章0201服务注册源码解析-nacos2.x-微服务架构分析客户端服务注册的时候,流程在NacosNamingSer…

重装系统下载网址

[置顶]无论会不会安装系统,都一定会需要,觉得内容不错欢迎一键三连哦 稳定 | 方便 | 好用 1、MSDN 用过最简单好用,下载不限速,支持迅雷、IDM多种下载方式 https://www.xitongku.com 2、Windows系统下载仓储站 为小白重装系统提供…

KIOPTRIX: LEVEL 4通关详解

环境配置 vulnhub上下载的文件没有vmx 去3的文件里偷一个 记事本打开把所有Kioptrix3_vmware改成Kioptrix4_vmware 然后网卡地址随便改一下 打开后会提示找不到虚拟机,手动选一下就行了 信息收集 漏洞发现 web一上去就是一个登录框 扫路径发现database.sql 但是密码是错的…

高通开发系列 - linux arm64 toolchain交叉编译器编译错误

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 概述下载aarch64交叉编译器编译使能编译环境使能defconfig编译问题1:address-of-packed-member问题2:attribute-alias=问题3:array…

Kubernetes 笔记(14)— 滚动更新、定义应用版本、实现应用更新、管理应用更新、添加更新描述

滚动更新,使用 kubectl rollout 实现用户无感知的应用升级和降级。 1. 定义应用版本 在 Kubernetes 里,版本更新使用的不是 API 对象,而是两个命令:kubectl apply 和 kubectl rollout,当然它们也要搭配部署应用所需要…