论文浅尝 | Deep Reinforcement Learning for Entity Alignment

news/2024/4/27 12:20:33/文章来源:https://blog.csdn.net/TgqDT3gGaMdkHasLZv/article/details/129173182

ff97a36fa2b88a9836d1df83d57d08bc.png

笔记整理:陈鹏,天津大学硕士

链接:https://aclanthology.org/2022.findings-acl.217.pdf

动机

实体对齐(Entity Alignment)的基本目标在于发现两个知识图谱间指向同一现实对象的实体对,以便将不同知识图谱连接起来,更好地支持下游应用。基于知识图谱嵌入的方法在最近的实体对齐研究中吸引了越来越多的注意。现有的方法尽管取得了很大进展,但是往往直接把相似度最高的候选实体直接匹配输入实体,而不考虑该候选实体更深层次的语义,很难高效、准确地搜寻和评估实体对。为了解决这个问题,本文将实体对齐任务建模为序列决策任务,提出基于强化学习的知识图谱实体对齐框架(RLEA)。实验结果显示本文提出的的方法显著提高了现有SOTA方法的性能表现,最高提高31.1%。

亮点

RLEA的亮点主要包括:

(1)首次将实体对齐问题建模为序列决策任务,为优化基于嵌入的实体对齐任务(EEA)的评估策略提供了通用的解决方法;

(2)首次提出基于强化学习的知识图谱实体对齐框架(RLEA)以解决序列EEA问题,显著提高了现有SOTA方法的性能表现;

概念及模型

RLEA并不直接使用实体嵌入的相似度作为判断依据,而是直接把嵌入作为输入,训练一个策略网络(Policy Network)使其能够寻找到尽可能多的实体对,以获得最大奖励(Reward)。同时,本文还采用了一种课程学习(Curriculum Learning)的策略,在训练过程中逐步增加难度,避免因任务复杂性而导致学习失败。

c244c396b20989b9273b7dcb8ee78ffa.png

RLEA的基本结构如上图所示。对于输入实体和候选实体,本文选择了额外k个与输入实体接近的实体(即 opponent entities)作为context信息,可以用于拒绝当前匹配。对于每个实体,本文首先利用图卷积神经网络(GCN)同时编码其邻居向量以得到中间表示。

c583dc8c7d87c76328eb1396582d3e1b.png

接下来将实体和候选实体的表示输入到线性层中进行合并,并利用相反的实体表示作为负样本互信息作为额外的特征,综合两个评估器最终得到行为分布。

e83ad831775cc6925e1cc2d3e9e61d63.png

6d66aaaa314edb00aaba590ed5549add.png

936ab7382f1526aa83e6ce0c36c7ca8a.png

8b080bd32c27fb119cb263da8e62980e.png

强化学习奖励函数如下所示:

1a8c02193dd5a2830cf73ffc278e9a8d.png

本文使用策略梯度算法调整参数以获取更大的奖励得分,并利用一个基线函数作为比较以减少方差:

34fbf7e6d23bd1bc37a29543b9a0360f.png

efa7d867257cdbfafde9c39d4871622d.png

本文采用课程学习的策略与环境交互,在序列训练过程中逐步增加难度。

eff41abd451327c9fe2f90bd373279a9.png

如上图所示,RLEA在环境中维持了一个匹配对序列,根据实体对间的相似度进行排序,以保证在测试阶段的使用。由于相似度高的实体对未必真正匹配,在训练过程中本文通过对比实际标签与相似度信息来判断一个匹配对的难易程度。根据当前训练轮数,较高难度的匹配对将有更大的概率直接逃过训练。在一轮中,环境所给出的实体对将被模型逐对进行判断,被认为匹配的实体对将会直接排除环境序列中的所有涉及这些实体的匹配对,这一过程一直持续到序列终止或所有实体均被匹配。

理论分析

实验

本文选取了含有15k条数据OpenEA数据集进行实验,包含EN-FR,EN-DE,D-W和D-Y4个子数据集,其中囊括跨语言和跨资源数据集。另外,本文选取4个性能领先且具有不同特点的实体对齐模型作为对比,结果如下表所示,RLEA在全部四种子数据集上均相较原有基线方法有显著提升。另外,Seq为仅仅采用序列决策而不涉及强化学习的对比方法,其在绝大多数情况下也优于目前所采用的贪心策略。

ac0138899b59711c51d95164383fce02.png

另外,本文还与传统实体对齐方法进行了对比。尽管之前的基于嵌入的方法具有许多优点,但在性能上仍与基于字符匹配等技术的传统方法有着较大差距。本文所提出的基于强化学习的方法不但缩小了这一差距,并且在一些数据集上(如D-Y)显著优于传统方法。

40d703010b0d8f505af90937816a3aa8.png

总结

本文针对直接把相似度最高的候选实体直接匹配输入实体,而不考虑该候选实体更深层次的语义,很难高效、准确地搜寻和评估实体对的问题,将实体对齐问题建模为序列决策任务,并提出提出基于强化学习的知识图谱实体对齐框架进行模型优化。实验结果显示本文提出的的方法显著提高了现有SOTA方法的性能表现。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

7f5839d96d607eb324e15498fdd50a4c.png

点击阅读原文,进入 OpenKG 网站。

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

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

相关文章

Interview系列 - 06 Java | ArrayList底层源码分析 | 遍历集合时如何删除集合中的元素

文章目录1. 底层源码分析01. 属性02. 构造方法03. 在数组的末尾添加元素 add(E e)04. 在数组的指定位置添加元素 add(int index, E element)05. 替换指定位置的元素 set(int index, E element)06. 获取指定索引位置处的元素 get(int index)07. 删除指定位置的元素 remove(int i…

华为OD机试真题 用 C++ 实现 - 众数和中位数 | 多看题,提高通过率

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

SpringCloud - Feign远程调用

目录 Feign的远程调用 RestTemplate方式调用存在的问题 介绍与初步使用 Feign的自定义配置 Feign运行自定义配置来覆盖默认配置,可以修改的配置如下: 配置Feign日志有两种方式: Feign性能优化 Feign底层的客户端实现: 连…

AI作画—中国画之山水画

山水画,简称“山水”,中国画的一种,描写山川自然景色为主体的绘画。山水画在我国绘画史中占有重要的地位。 山水画形成于魏晋南北朝时期,但尚未从人物画中完全分离。隋唐时始终独立,五代、北宋时趋于成熟,…

Linux多媒体子系统01:从用户空间使用V4L2子系统

1 V4L2应用编程基础1.1 概述V4L2应用编程需要使用如下系统调用,open(): 打开V4L2设备 close(): 关闭V4L2设备 ioctl(): 向V4L2设备驱动程序发送控制命令 mmap(): 将V4L2设备驱动程序分配的缓冲区内存映射到用户空间 read()或write(): 这2个系统调用是否支持取决于流…

领导催我优化SQL语句,我求助了ChatGPT。这是ChatGPT给出的建议,你们觉得靠谱吗

作为一个程序员,无论在面试还是工作中,优化SQL都是绕不过去的难题。 为啥?工作之后才会明白,随着公司的业务量增多,SQL的执行效率对程系统运行效率的影响逐渐增大,相对于改造代码,优化SQL语句是…

LeetCode-93. 复原 IP 地址

目录题目思路回溯法题目来源 93. 复原 IP 地址 题目思路 意识到这是切割问题,切割问题就可以使用回溯搜索法把所有可能性搜出来,和131.分割回文串就十分类似了。 回溯法 1.递归参数 startIndex一定是需要的,因为不能重复分割&#xff0c…

实战:手把手教你colossal-AI复现Chatgpt的流程

相信很多人都看了使用colossal-AI复现Chatgpt的流程的文章,但实际上看过了,不免有人发出“说得贼明白,就是自己做不出来”的感叹吧。本人公开一下实战过程,给有兴趣复现chatgpt流程的朋友一个参考。 一、环境搭建: 1…

ES6-ES11基本全部语法

在进入es6语法之前,先走一波es5遍历迭代Api,,它们的作用,应用场景,参数,以及返回值分别是什么。(forEach、map、some、every、filter)我们统一设定一个初始数组:let arra…

【likeshop多商户】电子面单商家直播上线啦~

likeshop多商户商城v2.2.0版本更新啦! 新增功能: 商家直播 单子面单 优化: 个人中心优惠券数量统计优化 修复: 秒杀商品待审核时,下单价格计算错误 个人中心修改头像后地址保存错误 「商家直播」 提升品牌知名度…

华为OD机试真题 用 C++ 实现 - 子序列长度 | 多看题,提高通过率

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

2-并发篇

线程有哪些状态 java的线程状态有6种: 操作系统中有5状态的说明 注意java的runnable对应了就绪、运行、阻塞I/O 线程池的核心参数 主要是说线程池的一个实习类 threadPoolExecutor.class 1.corePoolSize 核心线程数据(可以为0) 最多保…

JavaTCP通信程序

3 TCP通信程序 3.1 TCP通信原理 TCP通信协议是一种可靠的网络协议, 它在通信的两端名建立一个Socke对象, 从而在通信的两端形成网络虚拟链路一旦建立了 虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信Java对基于TCP协议的的网络提供…

Python-生成列表

1.生成列表使用列表前必须先生成列表。1.1使用运算符[ ]生成列表在运算符[ ]中以逗号隔开各个元素会生成包含这些元素的新列表。另外,如果[ ]中没有元素就会生成空列表示例>>> list01 [] >>> list01 [] >>> list02 [1, 2, 3] >>…

LeetCode 206. 反转链表

LeetCode 206. 反转链表 难度:easy\color{Green}{easy}easy 题目描述 给你单链表的头节点 headheadhead ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2&a…

Java Stream、File、IO 超详细整理,适合新手入门

目录 Java Stream Java File Java IO Java Stream Java Stream 是 Java 8 中引入的一种新的抽象数据类型,它允许开发人员使用函数式编程的方式来处理集合数据。 使用 Java Stream 可以方便地进行过滤、映射、排序和聚合等操作。下面是一个简单的示例:…

BatchNorm与LayerNorm的比较

Batch Normalization存在的一些问题 (1)BN在mini-batch较小的情况下不太适用 BN是对整个mini-batch的样本统计均值和方差 当训练样本数很少时,样本的均值和方差不能反映全局的统计分布信息,从而导致效果下降 (2&am…

IM即时通讯构建企业协同生态链

在当今互联网信息飞速发展的时代,随着企业对协同办公要求的提高,协同办公的定义提升到了智能化办公的范畴。大多企业都非常重视构建连接用户、员工和合作伙伴的生态平台,利用即时通讯软件解决企业内部的工作沟通、信息传递和知识共享等问题。…

【NestJS】JWT 鉴权

Passport 是一个 NodeJS 鉴权库 JWT 认证的交互流程:浏览器发起请求,服务端对用户名和密码进行验证。如果身份验证通过,服务端会基于用户信息生成 token 字符串,并将其响应给浏览器。浏览器会将 token 字符串存储起来。往后的每次…

vscode远程调试python

目的 注意:这里我们想要实现的是:用vscode 使用remote ssh打开project,然后直接在project里面进行debug,而不需要 在本地vscode目录打开一样的project。 假设大家已经会使用remote ssh打开远程服务器的代码了,那么只…