TransT: 基于类型的多重嵌入表示用于知识图谱补全

1  引言

1.1  问题

        仅仅依赖于三元组的结构化信息有其局限性,因为它们往往忽略了知识图谱中丰富的语义信息以及由这些语义信息所代表的先验知识。语义信息是指实体和关系的含义,比如“北京”是“中国”的首都,“苹果”是一种水果。先验知识则包含了更广泛的概念层次和常识,如国家通常有首都,水果可以被吃等。

        实体的表示形式:将每个实体表示为单个向量,不能捕捉实体的不确定语义。这是对丰富语义进行建模的关键限制。例如牛顿即使物理学家又是作家,导致向量表示困难。

        后验概率估计:传统的最大似然估计方法只关注形成三元组的概率,而忽略了已知实体和关系对预测的影响。通过引入后验概率的概念,我们能够更准确地反映优化的目标,同时利用先验概率来指导预测过程,从而提高预测的准确性。这种方法在处理缺失值预测时,能够更加细致地考虑问题的条件性,避免了仅依赖于整体三元组概率所带来的局限性。

        具体来说,之前的最大似然模型本质上最大化了概率p(h, r, t),即h, r, t形成一个三元组的概率p(h, r, t)。然而,在预测缺失的尾实体(h, r, ?)时,头实体h和关系r已经是已知的,它们可能会影响尾实体t的可能选择。因此,预测t的后验概率p(t | h, r)比p(h, r, t)更准确地表达了优化目标。换句话说,我们可以根据三元组中缺失元素的先验概率来削减可能的选择范围。

1.2  解决方案

        提出了一种将结构化信息和描述实体类别的实体类型相结合的方法。

  1. 结合结构化信息与实体类型:通常,知识图谱由三元组构成,形式为(头实体,关系,尾实体)。这些实体和关系可以具有特定的类别或类型。此方法将这些实体的类型信息与它们在知识图谱中的结构化位置结合起来,以便更好地理解实体之间的潜在联系。

  2. 构造关系类型:从实体类型出发,自动推断出可能存在的关系类型。例如,如果实体A和B都是“人”类型,那么可能存在“朋友”、“同事”等关系类型。这一步骤有助于构建更丰富、更具体的关系集合,从而增强模型对知识图谱的理解。

  3. 基于类型的语义相似度:利用实体和关系的类型信息,计算它们之间的语义相似度。这种相似度可以帮助确定实体和关系的先验分布,即在没有具体实例的情况下,某种实体或关系出现的概率。

  4. 生成多上下文嵌入:对于每个实体,根据其在不同上下文中与其他实体的关系,生成多个嵌入表示。这意味着一个实体可能有多个向量表示,每个表示反映了它在一个特定上下文下的属性和角色。

  5. 估计后验概率:使用基于类型的先验分布和实际观测到的数据,估计实体和关系预测的后验概率。这使得模型能够根据现有知识做出更准确的预测,即使是在数据稀疏的情况下。

1.3  结合的信息

        结构化信息+实体类型

2  方法

        目标是获得实体和关系的向量表示,从而最大化所有现有三元组的预测概率。

        当预测三元组(h,r,t)的尾部实体时,我们期望在给定三元组满足原则h+r≈t且头部实体和关系分别为h和r的条件下,最大化尾部实体t的概率。我们将这个条件概率记作p(t|h,r,true),其中true意味着三元组(h,r, *)是“真”的。“真”代表三元组满足h+r≈t的原则。“真”三元组在这篇论文中也被称为正确的三元组。最大化这个概率是尾部预测的目的。根据贝叶斯定理,p(t|h,r,true)可以被视为后验概率,它与先验概率的相关性如下式所示:

        先验概率体现在分母部分的 𝑝(𝑡𝑟𝑢𝑒∣ℎ,𝑟)上,也就是在不考虑尾部实体的情况下,头部实体和关系形成的三元组是否真实的概率。这个概率就是先验概率的一部分,因为它是在未观察到尾部实体的情况下的概率。

2.1  基于类型的语义相似度

        为了估计似然和先验概率,我们引入语义相似度来度量实体语义与类型信息的区别。

        所有出现在头部(或尾部)具有相同关系的实体都有一些共同的类型。这些常见的类型决定了这种关系,T_r,head表示头部中的实体,T_r,tail表示尾部中的实体。我们从这些公共类型构造关系的类型集:

T_e是实体e的类型集,∩ρ是一个特殊的交集,它包含属于大多数类型集的元素。这个交集可以捕获比普通交集更多的实体类型信息。然而,更多的信息可能包含更多的噪音。因此,我们通过参数ρ来平衡影响,ρ是所有Te中类型的最低频率,即是一个阈值。

        根据实体和关系的类型信息,我们将关系和实体的不对称语义相似度表示为受Jaccard索引启发的两组相似度:        

        三个式子分别是关系与头部之间的语义相似度,关系与尾部之间的语义相似度,头部与尾部之间的语义相似度。基于类型的语义相似度在后续估计特别是先验概率估计中起着重要的作用。

2.3  多嵌入表示

        如上图TransE一个实体只有一个向量表示,了克服这个缺点,TransT将每个实体语义表示为一个向量,并将每个实体表示为一组语义向量。在我们的方法中,我们将每个语义嵌入到向量空间中。我们假设关系具有单一语义,实体具有多个语义。因此,每个关系都表示为单个向量。为了适应丰富的实体语义,我们将每个实体表示为一组语义向量,而不是单个向量。

        可能性p(true | h, r, t)取决于随机变量h和t的所有可能语义组合的期望概率。这可以定义如下所示的三元组向量表示的可能性:

n_h和n_t为h和t的实体语义个数;W是随机变量h、t的分布(由于每个实体都有不同的语义组合,所以它们被视为随机变量。这里的随机并不是指真正的随机性,而是指不确定性)。p_true(v_h,i,v_r,v_t,j)是具有h的第i个语义向量V_h,i和t的第j个语义向量V_t,j的分量的似然。根据h + r≈t的原理,该似然由h + r与t的差值决定:

对于给定的关系r,三元组(h, r, t)的真实性概率p_true(v_{h,i}, v_r, v_{t,j})由两部分组成:

  1. 距离函数d:该函数度量了h + rt之间的差异。在这里,距离越小,说明h + rt越接近,那么真实性概率就越大。
  2. 压缩函数σ:这是一个转换函数,将距离d的值从0到正无穷转化为概率值从1到0。这是因为,语义向量的组合越接近,其对应的真实性概率应该越高。

        距离函数d采用了一范数(1-norm),也就是欧几里得空间中各坐标绝对值之和。压缩函数σ采用了指数函数e^{-x},使得较大的距离d得到较小的概率值。

        如何利用随机过程来捕捉实体的语义信息?为了避免人为设置实体的语义数量(n_hn_t)带来的主观性,提出了一个基于中国餐馆过程 (Chinese Restaurant Process, CRP) 的随机生成过程来建模语义向量。CRP是一种常用的Dirichlet过程形式,它可以模拟新顾客进入餐厅并选择餐桌的过程,其中每张桌子代表一个类簇,顾客的选择概率会受到已知类簇大小的影响。在这个模型中,作者将尾部实体(或头部实体)在每个三元组中生成新的语义向量的概率(通过生成新的语义向量,模型能够更细致地理解和区分知识图谱中的复杂结构和语义细节,这对于提高模型的性能和泛化能力是非常重要的),定义如下:

2.3  先验概率估计

        在三元组(h, r, t)中,三个元素(头实体 h、关系 r 和尾实体 t)的类型集之间存在明显的关系。因此,可以通过计算缺失元素与其它元素之间的语义相似性来估计其先验分布。当预测三元组中的 t 时,具有更多共同类型的实体更有可能出现。所以,使用 t 及其上下文(*,h,r)之间的语义相似性来估计 t 的先验概率:

其中 λ_relation, λ_head, λ_tail ∈ {0, 1} 是相似度权重,因为 h 和 r 对于 t 的先验概率有不同的影响。通过这些权重可以针对不同情况选择不同的相似度。同样地:

2.4  目标函数(损失函数)和负采样

        目标函数定义为负采样的预测误差之和。当预测三元组的不同元素时,我们替换相应的元素来获得负三元组。预测误差表示为分段函数:

        通过训练三元组与其负样本的概率差来衡量概率估计的性能。将目标函数定义为预测误差的总和:

 Δ(h‘,r’,t‘)是负三元组集。预测的总后验概率通过目标函数(损失函数)的最小化来最大化。此外,采用随机梯度下降法优化目标函数,并对实体的语义向量进行归一化处理,避免了过拟合度的问题。

3

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

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

相关文章

ESP32CAM物联网教学12

ESP32CAM物联网教学12 MicroPython 视频服务 小智希望能在MicroPython中实现摄像头的视频服务,就像官方示例程序CameraWebServer那样。 下载视频服务驱动库 小智通过上网搜索,发现相关的教学材料还不少,并且知道有人已经写出了视频服务的驱…

24/7/12总结

axios Axios 是一个基于 promise 网络请求库&#xff0c;作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 get请求: <script>function…

【Linux网络】数据链路层【下】{MAC/MTU/ARP/ICMP/NAT/PING/代理服务器原理}

文章目录 1.逐步深入数据链路层1.1MAC帧1.2由集线器到交换机1.3认识MTU 2.ARP 地址解析协议/RARP逆地址解析协议3.DNS(Domain Name System)域名从输入url后到能看到网页 发生了什么【典中典】 4.ICMP协议&#xff1a;一个网络层协议有了TCP&#xff0c;为什么还要用ICMPICMP协议…

HSP_15章 Python_模板设计模式和oop进阶总结

P136 模板设计模式 1. 设计模式简介 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式 设计模式就像是经典的棋谱&#xff0c;不同的棋局&#xff0c;我们用不同的棋谱&#xff0c;免去我们自己再思考和摸索 2. 模板设计模式 基本…

【面试八股总结】单例模式实现详解

一、基本概念 单例设计模式是⼀种确保⼀个类只有⼀个实例&#xff0c;并提供⼀个全局访问点来访问该实例的创建模式。 关键概念&#xff1a; 一个私有构造函数&#xff1a;确保只能单例类自己创建实例一个私有静态变量&#xff1a;确保只有一个实例&#xff0c;私有静态变量用…

4-4 词嵌入技术(word2vec)

4-4 词嵌入技术&#xff08;word2vec&#xff09; 词嵌入技术&#xff08;word2vec&#xff09;是自然语言处理&#xff08;NLP&#xff09;中的一种关键技术&#xff0c;通过将词语映射到低维向量空间中&#xff0c;使得计算机能够理解和处理语言中的语义信息。词嵌入不仅可以…

【性能测试】第一节.性能测试基础

文章目录 前言一、性能测试概述二、常见的性能测试指标 2.1 并发 2.2 响应时间 2.3 事务 2.4 点击率 2.5 吞吐量 2.6 资源利用率三、性能测试的分类 3.1 一般性能测试 3.2 负载测试 3.3 压力测试 3.4 稳定性测试总结 前言 一…

CAS详解

文章目录 CAS使用示例Unsafe类实现原理CAS问题 CAS CAS全称为Compare and Swap被译为比较并交换&#xff0c;是一种无锁算法。用于实现并发编程中的原子操作。CAS操作检查某个变量是否与预期的值相同&#xff0c;如果相同则将其更新为新值。CAS操作是原子的&#xff0c;这意味…

【错题集-编程题】栈和排序(栈 + 贪心)

牛客对于题目连接&#xff1a;栈和排序_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 每次尽可能的先让当前需要的最大值弹出去。 二、代码 // 修改后的代码 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方…

【2024_CUMCM】Matlab快速入门

目录 常识 disp and input 字符串合并 sum 提取矩阵指定位置的元素 指定行列 指定行or指定列&#xff08;返回行/列向量&#xff09; 指定某些行 指定全部元素&#xff0c;按列拼接 size repmat 矩阵的运算 基本运算 形状相同的矩阵运算 每个元素同时和常数相乘或相…

C++相关概念和易错语法(19)(继承规则、继承下的构造和析构、函数隐藏)

1.继承规则 继承的本质是复用&#xff0c;是结构上的继承而不是内容上的继承&#xff0c;近似于在子类中声明了父类的成员变量。 &#xff08;1&#xff09;写法&#xff1a;class student : public person 派生类&#xff08;子类&#xff09;&#xff0c;继承方式&…

泛二级泛目录多模板程序程序(泛目录和二级目录的区别)

泛解析站群_优化网站排名吸引百度蜘蛛必备程序主要功能&#xff1a; 1、网站支持无限生成页面不存在死链的风险每个也是不是网站栏目就是文章内容! 2、支持域名泛解析绑定&#xff0c;每个二级域名都是一个独立的 3、支持百度自动提交收录&#xff0c;每天随机自动提交无限自己…

echarts图表:类目轴

category 类目轴&#xff0c;适用于离散的类目数据。 例如商品名称、时间等。 类目轴上的每个刻度代表一个类目&#xff0c;刻度之间没有量的关系&#xff0c;只是简单的分类。 在类目轴上&#xff0c;数据点会对应到相应的类目上。

运行前端项目提示 run `npm fund` for details,如何解决?

经常出现在前端的一个小坑&#xff0c;分享一下技巧。 运行npm install命令终端提示&#xff1a; 107 packages are looking for funding run npm fund for details 解决方案&#xff1a; npm install --no-fund

Linux 进程 PID 管理

文章目录 1. 前言2. 进程 PID 相关数据结构3. 进程 PID 的构建3.1 第一个进程 PID 构建3.2 第二个进程 PID 的构建过程3.2.1 从当前进程复制进程 PID 信息3.2.2 创建每进程的 PID 管理数据 (struct pid) 并初始化3.2.3 绑定进程和其相关的 PID 管理数据 3.3 进程的 PID 建立过程…

【Oracle】实验三 Oracle数据库的创建和管理

【实验目的】 掌握Oracle数据库的创建方法使用DBCA创建数据库在数据库中装入SCOTT用户及其表 【实验内容】 使用DBCA创建数据库&#xff0c;名为MYDB&#xff0c;找到其初始化文件(文本型和服务器型文件都要找到)&#xff0c;查看各类默认位置并记录下来(包括物理文件所在目…

LINUX系统编程:基于环形队列和信号量的生产者消费者模型

目录 1.环形队列 2.加上信号量的理解 3.代码 1.环形队列 环形队列使用vector封装出来的。 环形队列可以实现并发生产和消费&#xff0c;就是在消费的同时也可以生产。 这个是建立在生产者消费者位置不重合的情况下。 因为位置重合之后&#xff0c;环形队列为空或者满&#xf…

Linux DRM 那些事 - HDMI 接口 DTS 配置

本文基于RockPI 4A单板Debian系统 Linux 4.4 内核介绍DRM框架HDMI接口DTS配置。 在DTS中主要实现&#xff1a;HDMI的使能、VOP绑定、IOMUX引脚配置和HDMI控制器配置。 一、HDMI 配置 文件&#xff1a;arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi #include "rk3…

C++ 宏

C中的宏是一种预处理指令&#xff0c;用于在编译时将代码中的标识符替换为指定的文本。 #define 指令 1.无参宏定义 无参宏的宏名后不带参数。 其定义的一般形式为&#xff1a; #define 标识符 字符串 其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命…

LLM 合成数据生成完整指南

大型语言模型是强大的工具&#xff0c;不仅可以生成类似人类的文本&#xff0c;还可以创建高质量的合成数据。这种能力正在改变我们进行 AI 开发的方式&#xff0c;特别是在现实世界数据稀缺、昂贵或隐私敏感的情况下。在本综合指南中&#xff0c;我们将探索 LLM 驱动的合成数据…