TransE及其实现

news2025/1/25 9:13:34

TransE

该模型将关系和实体表示为同一空间中的向量,给定事实 ( h , r , s ) (h,r,s) h,r,s关系 r r r 的向量 r r r被解释为头实体向量 h h h与尾实体向量 t t t之间的平移,因此嵌入实体 h h h t t t可以通过平移向量 r r r以低误差链接,即满足 h + r ≈ t h + r \approx t h+rt

  • TransE (Translating Embedding), an energy-based model for learning low-dimensional embeddings of entities.
  • 核心思想:将 relationship 视为一个在 embedding space 的 translation。如果 ( h , r , t ) (h, r, t) (h,r,t) 存在,那么 h + r ≈ t h + r \approx t h+rt
    Motivation:一是在Knowledge Base中,层次化关系是非常常见的,translation是一种很自然表示它们之间变换。二是近期一些从 text 中学习 word embedding 的研究发现,一些不同类型的实体之间的 1-to-1 的 relationship 可以被 model 表示为在 embedding space 中的一种 translation

TransE训练算法如下:

在这里插入图片描述

输入参数

training set S: 用于训练的三元组集合,entity的集合为E,relationship的集合为L。

margin γ \gamma γ:损失函数中的间隔

每个entity或relationship中的embedding dim k。

训练过程

初始化:对于每个entity和relationship的embedding vector,用xavier_uniform 分布来初始化,然后对其实现l1 l2正则化。

loop:

  • entity embedding 被更新前进行一次归一化,这是通过人为增加 embedding 的 norm 来防止 loss 在训练过程中极小化

  • Sample 出一个mini-batch的正样本集合 S b a t c h S_{batch} Sbatch

  • T b a t c h T_{batch} Tbatch初始化为空集**,它表示本次 loop 用于训练 model 的数据集**

  • for ( h , l , t ) ∈ S b a t c h (h,l,t) \in S_{batch} (h,l,t)Sbatchdo:

    • 根据构造的 ( h , l , t ) (h,l,t) (h,l,t)构造一个错误的三元组 ( h ′ , l , t ′ ) ( h^′ , l , t^′ ) (h,l,t)
    • 将positive sample ( h , l , t ) (h,l,t) (h,l,t)和negative sample ( h ′ , l , t ′ ) ( h^′ , l , t^′ ) (h,l,t)加入到 T b a t c h T_{batch} Tbatch中。
  • 计算 T b a t c h T_{batch} Tbatch每一对的positive sample和negative sample的loss,然后累加起来用于更新embedding matrix.每一对的loss计算方式为:
    在这里插入图片描述

关于margin γ \gamma γ的含义

其相当于是一个正确的triple和一个错误的triple的间隔修正,margin越大,则两个triple之前被修正的间隔就越大。则对embedding的修正就越严格。
在这里插入图片描述

错误三元组的构造方法

( h , l , t ) (h,l,t) (h,l,t)中的头实体、尾实体和关系其中之一随机替换为其他实体或关系来得到

评价指标

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

TransE的优缺点

与以往模型相比,其模型参数较少,计算复杂度低,却能直接建立实体和关系之间的复杂语义联系。在 WordNet 和 Freebase 等 dataset 上较以往模型的 performance 有了显著提升,特别是在大规模稀疏 KG 上,TransE 的性能尤其惊人

缺点

在处理复杂关系 ( 1 − N 、 N − 1 和 N − N ) (1-N、N-1 和 N-N) (1NN1NN)时,性能显著降低,这与 TransE 的模型假设有密切关系。假设有 (美国,总统,奥巴马)和(美国,总统,布什),这里的“总统”关系是典型的 1-N 的复杂关系,如果用 TransE 对其进行学习,则会有
在这里插入图片描述
那么这将会使奥巴马和布什的 vector 变得相同。所以由于这些复杂关系的存在,导致 TransE 学习得到的实体表示区分性较低。

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

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

相关文章

分享82个HTML电子产品模板,总有一款适合您

分享82个HTML电子产品模板,总有一款适合您 82个HTML电子产品模板下载链接:https://pan.baidu.com/s/106NtZkrVefSFGGS54xk-kA?pwdbvn8 提取码:bvn8 Python采集代码下载链接:采集代码.zip - 蓝奏云 import os import shutil …

TongWeb8防止System.exit代码导致的进程停止

现象:当应用中存在System.exit 、Runtime.exit代码执行时,会导致TongWeb进程停止,从而产生如下日志:2023-02-14 09:47:36 [WARN] - The web application [webtest01] is still processing a request that has yet to finish. This…

LeetCode 19.删除链表的倒数第 N 个结点

原题链接 难度:middle\color{orange}{middle}middle 题目描述 给你一个链表,删除链表的倒数第 nnn 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2&#x…

快速部署个人导航页:美好的一天从井然有序开始

很多人都习惯使用浏览器自带的收藏夹来管理自己的书签,然而收藏夹存在着一些问题。 经过长时间的累积,一些高频使用的重要网站和偶尔信手收藏的链接混在了一起,收藏夹因为内容过多而显得杂乱无章;收藏夹没有什么美观可言&#xf…

【java】Spring Boot --40 个 Spring Boot 常用注解(建议收藏)

本文目录一、Spring Web MVC 注解Spring Web MVC 注解RequestMappingRequestBodyGetMappingPostMappingPutMappingDeleteMappingPatchMappingControllerAdviceResponseBodyExceptionHandlerResponseStatusPathVariableRequestParamControllerRestControllerModelAttributeCross…

sqlServer 2019 开发版(Developer)下载及安装

下载软件 官网只有2022的,2019使用百度网盘进行下载 安装下崽器 选择自定义安装 选择语言、以及安装位置 点击“安装” 安装 SQL Server 可能的故障 以上步骤安装后会弹出以上界面,如果未弹出,手动去安装目录下点击 SETUP.EXE 文件…

数据分析与SAS学习笔记1

数据分析的六层模型: 1)数据源层:数据分析的数据源;DBA;初加工;对数据源按某些规则进行抽取,ETL; 2)数据仓库层:OLAP的功能,联机事务处理。OLTP、…

这才叫装机必备 , 这4款电脑软件超级实用,用一次就爱上

好用又免费的软件犹如被掩盖的珍珠,一旦发现了,让你满眼欣喜。 1、HiBit Uninstaller 这是一款大小不到10M的超实用卸载软件,完全免费无任何广告,兼顾垃圾清理、流氓软件卸载等超多实用功能,流氓软件卸载能力比某安全卫…

T-SQL基础(SQL高级编程语言)(二)

一、常量、变量 1. 常量 又称为字面值或标量值,程序运行过程中值不变’O’Bbaar’,如果单引号中的字符串包含引号,可以使用两个单引号表示嵌入的单引号。 2.变量 ​ 变量名不能与系统变量相同://img- 变量的声明赋值与使用 case※※ ​ case语句上…

实例一:MATLAB APP design- 简单的函数表达式运算(Y=X1^3+X2^2+X3)

一、APP 界面设计展示注:在自变量框输入自变量,点击计算按钮,结果就会显示在因变量输出框。二、APP设计界面运行结果展示该APP界面设计包括表达式运算显示框,自变量输入框,计算按钮,因变量输出框。注&#…

正大数据抢先看 祝各位情人节快乐

美国1月消费者物价指数 (CPI)周二 21:30,估6.2%,前值 6.5%。 周三12:00达拉斯FED总裁、03:00纽约FED总裁发表演说、和欧洲 央行 (ECB)总裁拉加德22:00演说。 日本政府预定周二向国会提出日本银行 (央行,BOJ) 总裁黑田东彦的继任人选。 市场高…

【服务器数据恢复】Hyper-V虚拟机数据恢复案例

服务器数据恢复环境: WinServer操作系统服务器,部署Hyper-V虚拟机环境; 虚拟机的硬盘文件和配置文件存储在一台存储设备中; 该存储设备配置:一组4盘raid5阵列存放虚拟机数据单块盘存放虚拟机数据备份。 服务器故障&am…

附录1-pytorch目标检测

源码来自作者Bubbliiiing,我对参考链接的代码略有修改,网盘地址 链接:百度网盘 请输入提取码 提取码:bfvs 目录 1 参考 2 环境 3 数据集准备 3.1 VOCdevkit/VOC2007 3.2 model_data/voc_classes.txt 3.3 voc_annota…

【Java|多线程与高并发】进程与线程的区别与联系

文章目录什么是进程什么是线程上下文切换多线程一定比串行执行快吗进程与线程的区别与联系什么是进程 进程的定义:进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存&a…

自学前端最容易犯的10个的错误,入门学前端快来看看

在前端学习过程中,有很多常见的误区,包括过度关注框架和库、缺乏实践、忽视算法和数据结构、忽视浏览器兼容性、缺乏团队合作经验、忽视可访问性、重构次数过多、没有关注性能、缺乏设计知识以及没有持续学习等。要避免这些误区,应该注重基础…

Lambda表达式详细操作

一、基础语法 形态一:匿名内部类 Runnable runnable new Runnable() {Overridepublic void run() {System.out.println(Thread.currentThread().getName());} };runnable.run();形态二:完整的Lambda表达式 口诀:复制小括号,写…

消息中间件----内存数据库 Redis7(第1章 Redis 概述)

第1章 Redis 概述1.1 Redis 简介Redis,Remote Dictionary Server,远程字典服务,由意大利人 Salvatore Sanfilippo(又名Antirez)开发,是一个使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、…

【路径规划】基于Dijkstra算法及Floyd算法的通信与网络路径规划(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Dubbo相关问题合集

Dubbo相关问题合集 java.io.StreamCorruptedException: invalid stream header: 77D30000 ; Decode rpc invocation failed 现象 2023-02-14 09:49:32.251 [NettyServerWorker-4-2] [] [WARN] o.a.d.r.exchange.codec.ExchangeCodec-130 [DUBBO] Skip input stream 634, du…

go gin学习记录2

环境 环境:mac m1,go version 1.17.2, goland, mysql 昨天学习了安装和基本的参数,路由使用,今天接着学习一下数据库的操作。 建立数据库 测试数据库操作,需要先准备一个测试用的数据库&…