​AAAI 2023 | 基于历史对比学习的时序知识图谱推理

news2024/11/21 21:15:14

3ecc520efe4086f933537f12988d0953.gif

©PaperWeekly 原创 · 作者 | 徐奕

单位 | 上海交通大学Acemap

研究方向 | 数据挖掘

7401df1caa59bfdbb906a1bf8d6a48ec.png

论文标题:

Temporal Knowledge Graph Reasoning with Historical Contrastive Learning

论文链接:

https://arxiv.org/abs/2211.10904

代码链接:

https://github.com/xyjigsaw/CENET

089428424a5de1451a357ea264aa8960.png

时序知识图谱

知识图谱(KGs)作为人类知识的集合,在自然语言处理、推荐系统和信息检索等领域显示展现了很好的前景。传统的 KG 通常是一个静态知识库,它使用图结构数据拓扑,并以三元组(s, p, o)的形式集成事实(也称为事件),其中 s 和 o 分别表示主语(头实体)和宾语(尾实体)实体,p 作为关系类型表示谓词。

在现实世界中,由于知识不断发展,时序知识图谱(TKG)的构建和应用成为领域热点,其中三元组(s, p, o)扩展为四元组,增加了时间戳 t,即(s, p, o, t)。下图是由一系列国际政治事件组成的 TKG。

66ee2b4737c52f4c95c16afa7b01e03e.png▲ 图1. 时序知识图谱(子图)

f28f8d4d3da31d91fa06491f86d2d2cd.png

时序知识图谱推理

TKG 为许多下游应用提供了新的视角和见解,例如决策、股票预测和对话系统,从而引发了人们对 TKG 推理的强烈兴趣。在这项工作中,我们专注于在 TKG 上预测未来的事件。

为了对 TKG 的结构和时间特征进行建模以用于未来事件预测,一些主流的模型例如 RE-NET 利用自回归方法,可以很容易地预测重复或周期性事件。然而,在 TKG 数据集 ICEWS(综合危机预警系统)中,新事件约占 40%。

预测这些新事件非常具有挑战性,因为它们在历史时间轴上具有较少的交互痕迹。例如,图 2 的右侧部分显示了查询(the United States, Negotiate, ?, t+1)及其相应的新事件(the United States, Negotiate, Russia, t+1),其中大多数现有方法由于过度关注频繁的重复事件,因此在此类查询中通常会获得错误的结果。

80b90b1c117b8d1f64961407c2212a55.png

▲ 图2. 现有模型存在的问题

另一方面,在推理过程中,现有方法在对整个图中所有候选实体的概率得分进行排名时,而没有任何的 bias。我们认为,在处理不同事件的缺失实体时,这种 bias 是十分必要的,这在现实社会中也是如此,例如,对于重复或周期性事件,我们应该优先考虑一些频繁发生的实体,而对于新事件,则需更多地关注历史交互较少的实体。

e109d0869a3987c84fcfcb42283205c9.png

基于历史对比学习的时序知识图谱推理

在这项工作中,我们将超越历史信息的限制,从整个知识中挖掘潜在的时序模式。为了更清晰地阐述我们的设计,我们将与当前查询中的实体相关联的过去事件称为该查询历史事件,其他事件称为非历史事件。我们直观地认为,TKG 中的事件不仅与其历史事件相关,还与未观察到的潜在因素间接相关。我们所能看到的历史事件只是冰山一角(图2)。

我们提出了一种新的 TKG 推理模型,称为 CENET(Contrasive Event Network)。下图给出了模型的框架图。

eb29fd115cebcdd27b242f0769c81f90.png

▲ 图3. CENET模型框架:左侧部分从历史和非历史依赖关系中学习实体的分布。右侧部分是历史对比学习的两个阶段,其目的是识别高度相关的实体,输出是布尔掩码向量。中间部分是基于掩码的推理过程,它将从历史和非历史依赖关系中学习到的分布与掩码向量相结合,以生成最终结果。

给定真实的尾实体为 o 的查询(s, p, ?, t),CNENT 考虑其历史和非历史事件,并通过对比学习识别重要实体。具体而言,模型首先采用基于复制机制的评分策略来建模历史事件和非历史事件的相关性(公式 1 和 2)。

e76ae0af9b1aa133f3f789caad977cca.png

▲【公式1】

b49556d4c62fb8c441f19723e3ae0f1b.png

▲【公式2】

此外,所有查询都可以根据其真实对象实体分为两类:尾实体是历史实体或非历史实体。因此,CENET 自然采用监督对比学习损失来训练两类查询的表示(即公式 3 中的 ),进一步帮助训练输出为布尔值的分类器,以识别哪些实体应该受到更多关注。在推理过程中,CENET 结合了历史和非历史依赖性的分布,并根据分类结果进一步采用基于掩码的策略来考虑高度相关的实体。

5ab06728c274db724430d32e3335ac43.png

▲【公式3】

d6782aaf5f3d37440480f288d3d93e8d.png

▲ 图4. 历史对比学习:CENET 在第 1 阶段使用对比损失学习表示,在第 2 阶段使用交叉熵损失训练二元分类器。

7389e0fce04b9aea1e883af8326dd90f.png

实验

4.1 数据集

我们选择了五个基准数据集,包括三个基于事件的 TKG 和两个公共 KG。这两种类型的数据集以不同的方式构建。前三个基于国际政治事件的 TKG 由 ICEWS18、ICEWS14 和 GDELT 组成,事件是离散的。后两个公共 KG(WIKI 和 YAGO)中的事件可能会连续地存在很长时间。

d09206bba626abd2abf58ab77732cad3.png▲ 表1. 数据集

4.2 对比实验

我们选取了 15 个业界最新的 TKG 推理模型作为基线,并采用 Mean Reciprocal Ranks(MRR)和 Hits@1/3/10(the proportion of correct predictions ranked within top 1/3/10)作为评价指标。下表给出了结果。结果表明,CENET 在大多数指标上明显优于所有现有方法,在基于事件的数据集上,与以前最先进的基线相比,Hits@1 至少获得了 8.3% 的相对提升。

8633e59d21e3caffb41f4c7482f80263.png

▲ 表2. 基于事件的 TKG 对比实验结果

7c9c42f4089704652295c8d3c7cd65f8.png▲ 表3. 公共 KG 对比实验结果

4.3 消融实验

我们分析了模型中每一个关键组成的性能,下表给出了消融实验的结果。可以看到,同时考虑历史和非历史依赖项比只单独考虑历史依赖能取得更好的效果,历史对比学习策略以及基于掩码的推断均能取得优越的性能。

a0b0822b79c18782e5e813434fb5d9b2.png▲ 表4. 消融实验

4.4 案例分析

案例分析给出了模型在预测重复性事件与新事件上的案例。

0c06b68763ba69f53914382150497180.png▲ 图5. 案例分析

f30c6ad378f3079dc0cea9eb1a81273b.png

结论

在本文中,我们提出了一种新的用于事件预测的时序知识图谱模型——对比事件网络(CENET)。CENET 的关键思想是学习整个实体集的令人信服的分布,并在对比学习框架中从历史和非历史依赖性中识别重要实体。实验结果表明,CENET 在大多数指标上都显著优于所有现有方法,尤其是在 Hits@1 的指标上。未来工作包括探索知识图中的对比学习能力,例如找到更合理的对比学习对(contrastive pairs)。

更多阅读

9ce5ee72be186b8d06d7985d41e80df5.png

e8f313c984ae9ec5e47ac584296c151a.png

59cfc57012af51d9828d0786ce43c5e9.png

dc3748bc15077b169d56605e9d006c9f.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

3881761009ea9bbff62a685d967b74ce.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

0c8fda83b694938bf4848195ee533d1c.jpeg

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

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

相关文章

Elasticsearch好用查询插件分享

以前我常用的ES查询工具是Head,作为插件形式在浏览器中运行,挺方便的,后来发现head不太好用,比如在数据浏览的时候,不小心就点击了两个索引,背景色设置的还不够明显,比较容易看错数据的。于是想…

git中rebase和merge的区别

介绍 Merge和Rebase是合并两个分支的操作。都是checkout到某个分支上,然后将别的分支合并(变基)到本分支上。 注意:本分支(head指向的分支,或者经过checkout后的分支)会变化,而别的…

在Linux上部署Servlet程序

目录 一、部署环境 1、安装JDK 2、安装Tomcat 3、安装MySQL 二、部署程序 1、构造云服务器上的数据库 2、打包程序 3、部署程序 一、部署环境 为了部署我们自己的web程序,首先需要在Linux上安装程序所依赖的环境~ 1、安装JDK 直接使用yum安装openjdk&…

小程序云开发笔记二

小程序云开发笔记二一、读取数据库播放列表将数据显示到界面二、上拉加载三、上拉刷新四、云函数路由优化tcb-router案例:点击两个按钮调用同一个云函数将music中写成koa风格的云函数五、事件冒泡组件参数properties和data一、读取数据库播放列表将数据显示到界面 …

java同步方法

观看此文 首先 你要了解 java的同步锁 如果不了解 可以观看我的文章 java 同步锁synchronized 解决线程共享数据重复操作问题 那么 从下图 我们可以看到 逻辑代码上被绑了一个同步锁 但这个其实大可以写成一个函数 看起来会美观便捷很多 同步方法的格式如下 修饰符 synchro…

git switch 命令详解

1. 前言 2. switch 创建分支 3. switch 切换分支 1. 前言 checkout 命令具有 分支的管理 和 文件的恢复 两个核心功能,功能较多、不够准确。在 git 2.23 版本中新增了 switch 和 restore命令,用于替代 checkout 命令,进而分化 checkout 命…

(附源码)springboot大学生竞赛管理平台 毕业设计

题 目 springboot大学生竞赛管理平台 目 录 摘要 1 1 绪论 1 1.1选题意义 1 1.2国内外研究现状 1 1.3系统开发技术的特色 4 1.4论文结构与章节安排 4 2 大学生竞赛管理平台分析 5 2.1 可行性分析 5 2.2 系统流程分析 6 2.2.1数据增加流程 7 2.3.2数据修改流程 7 2.3.3数据删…

java面向对象----封装 构造器

目录 封装和隐藏 为什么需要封装? 信息的封装和隐藏 四种访问权限修饰符 构造器(构造方法) 构造器的特征 语法格式: 构造器重载 构造器重载举例 属性赋值过程 JavaBean UML类图 关键字—this this是什么? 使用this,…

计算机网络笔记2 物理层

计算机网络系列笔记目录👇 计算机网络笔记6 应用层计算机网络笔记5 运输层计算机网络笔记4 网络层计算机网络笔记3 数据链路层计算机网络笔记2 物理层计算机网络笔记1 概述 本文目录文章前言 💗一、物理层概述😊二、物理层的传输媒体&#x…

Spring源码该如何阅读?十年架构师带来的Spring源码解析千万不要错过!

写在前面 最近学习了一句话,感觉自己的世界瞬间明朗,不再那么紧张焦虑恐慌,同样推荐给大家,希望我们都终有所得。 “如果一个人不是发自内心地想要做一件事情,那么,他是无法改变自己的人生的。” 同样这句…

4. 死信队列

二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君骨髓枯。 死信 概念 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理 解,一般来说,producer 将…

「Redis」05 Jedis操作Redis

笔记整理自【尚硅谷】Redis 6 入门到精通 超详细 教程 Redis——Jedis操作Redis 即通过 Java 操作 Redis。 1. Jedis基本操作 Ⅰ. 测试连接 连接Redis注意事项 禁用Linux的防火墙:Linux(CentOS7)里执行命令:systemctl stop/disab…

我的周刊(第068期)

我的信息周刊,记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。🎯 项目osquery[1]像操作 SQL 一样操作你的电脑&#xff0c…

康复训练的未来:VR和元宇宙如何帮助患者康复

欢迎来到Hubbleverse 🌍 关注我们 关注宇宙新鲜事 📌 预计阅读时长:7分钟 本文仅代表作者个人观点,不代表平台意见,不构成投资建议。 一位有平衡问题的患者站在波速球上,同时在两只潇洒的企鹅之间击打着…

第十六章 品质保证:发布覆盖率测试报告

代码覆盖率才是评价一个项目品质的标准。在挑选一个项目的时候,有经验的使用者都会根据代码覆盖率来确定代码的可靠性。 虽然自动化测试工具可以自动验证代码的正确性,但是如果只有部分代码经过了测试,或者只是简单地跑通了代码,…

BlockingQueue二

接着上篇BlockingQueue没讲完的 LinkedTransferQueue LinkedTransferQueue是一个由链表结构组成的无界阻塞队列,相对于其它阻塞队列,LinkedBlockingQueue可以算是LinkedBlockingQueue与SynhronoousQueue结合,LinkedtransferQueue是一种无界…

Unity学习笔记--详细介绍CacheServer、部署方法、以及在Unity中的位置

目录前言CacheServer是什么?解决了什么问题?其他知识点在哪里找到Cache Server?怎么部署CacheServer?Unity什么时候需要生成内部文件?CacheServer缓存的是什么?随着越来越多的资源被导入和存储,…

实战-COVID-19-KSH(html+ python +django +爬虫 +pyecharts 实时疫情动态)内附MySQL详细安装配置教程

GitHub代码 Windows10 python3.7 一、MySQL配置 1.官网下载地址 2.配置初始化文件my.ini 解压后在根目录下创建my.ini文件(建立.txt-修改扩展名为.int即可) 打开my.ini文件,输入以下内容(注意需要改动2处)&#x…

求一个网页设计作业——个人博客(HTML+CSS)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

9.Springboot整合Security很全

1.什么是Security SpringSecurity是基于Spring AOP和Servlet过滤器的安全框架。 它提供全面的安全性解决方案,同时在Web 请求级和方法调用级处理身份确认和授权。 2.Spring Security核心功能? (1)认证(你是谁&…