论文浅尝 | 记忆推理:最近邻知识图谱嵌入

551f0b3d13146927f2b75bfe51c93a90.png

笔记整理:孙硕硕,东南大学硕士,研究方向为根因溯源。

Citation: Zhang N, Xie X, Chen X, et al. Reasoning Through Memorization: Nearest Neighbor Knowledge Graph Embeddings[J]. arXiv preprint arXiv:2201.05575, 2022.

动机

大多数知识图谱补全方法(如TransE、ComplEx和RotatE)都是将实体和关系嵌入到向量空间,然后通过对这些向量利用预定义的评分函数获取预测三元组的知识嵌入技术。这些方法通过端到端训练,将所有相关知识隐式编码到参数神经网络的权值中。然而,这些方法的一个主要限制是,它们几乎不能通过几个罕见实体或在训练中未见过的新实体进行推理。

记忆增强神经网络的最新进展导致了分离计算处理和记忆存储的模块化架构的设计。那些基于记忆的方法(或非/半参数方法)已经成功地应用于任务,如语言模型和问答,它们具有表达能力和适应性。受此启发,本文提出了kNN-KGE,这是一种通过用k近邻(kNN)模型线性插值其实体分布扩展知识图嵌入的方法。

737c657035cf000dc40fe2d8af9e1239.png

图1 kNN-KGE不仅利用softmax (MEM头)中的实体预测,而且还从实体描述和训练三元组构造的知识存储中检索实体

贡献

文章的贡献有:

1.第一个用于知识图嵌入的半参数方法。本文的工作为通过显式记忆提高知识图推理开辟了新的途径;2.本文引入了可以显式记忆罕见或新兴实体的kNN-KGE,这在实践中是必不可少的,因为KGs是不断变化的;3.在两个基准数据集上的实验结果表明,与基准数据集相比,本文的模型可以产生更好的性能,尤其有利于低资源的推理。

方法

•模型框架

如下图2所示为本文提出的kNN-KGE模型框架。

b00b2720180cf5ca30ea077be794a25d.png

图2 kNN-KGE模型框架

如图2所示,该模型包括三个模块,实体词汇扩展(图a),Masked实体模型(图b),以及从描述和三元组构建知识存储(图c)。首先提出了Masked实体模型和实体词汇扩展,将链接预测转换为实体预测任务。为了解决罕见或未知实体的问题,构建了一个知识存储,通过锚嵌入([MASK]输出的表示)来检索实体。最后,通过记忆推理完成模型输出。

•Masked实体模型

对于链接预测,给定一个不完整的三元组(ei, rj, ?),以前的研究利用KG嵌入或文本编码来表示三元组,并利用预定义的评分函数来表示这些向量。对于预先训练的编码器,那些方法如KG-BERT具有足够的泛化性和对不完全性的鲁棒性;然而,在推理中,他们必须为所有可能的三元组打分。在本文中,简单地利用掩码实体建模来进行链接预测,这使得模型能够像掩码语言模型(MLM)任务那样预测正确的实体 。具体地说,掩蔽实体建模可以减少使用不正确的实体、复杂的评分函数设计以及不存在负抽样的情况对所有三元组进行评分。换句话说,该模型只需要预测在尾部或头部缺失的实体。具体来说,给定一个三元组(?, rj, ek)和实体描述 ,我们将这个三元组和实体描述d串联起来,得到输入序列xt,如下:

ea22eaa8da7d5ebccc99e8d8c23bce6e.png

通过掩蔽实体建模,该模型可以获得正确的实体ei。需要注意的是,掩蔽实体建模的过程简单而有效,并且一次推理的速度比之前的基于bert的模型(如StAR)更快。推论时间的详细比较见表1。由于plm通常利用字节对编码将序列转换为子字单元,使得实体表示与标记分离,并具有推理的挑战性。为了解决这个问题,本文建议对实体词汇表进行扩展,以便为每个惟一的实体使用嵌入。

表1 推理效率比较

7100ee0bc4e1297507ef1b52c65f843a.png

实体词汇扩充:由于利用子词进行实体推理是不容易的,本文直接利用每个唯一实体的嵌入,就像常见的知识嵌入方法一样。具体来说,将实体 表示为语言模型词汇表中的特殊符号;因此,知识图推理可以重构为屏蔽实体预测任务,如图1和图2所示。为了获得这些实体嵌入(词汇中的特殊符号),利用实体描述来设计提示符,如“The description of [MASK] is that”来获得实体嵌入。给定一个实体描述  = (w1,…, wn),在描述的开头和结尾添加标记[CLS]和[SEP],构建输入序列xd,如下所示:

082e8539959a8109a0d95c7b321957a8.png

本文优化实体嵌入(随机初始化)通过预测实体ei在掩蔽位置和其他参数固定。在形式上,有:

03563931e49efcda42637a13cde99817.png

•知识存储

通过上下文KG表示可以推断出缺失的三元组;他们倾向于推理罕见的或新兴的实体。受记忆增强神经网络最近进展的启发,本文构建知识存储来显式记忆实体。具体来说,主要从两个部分构建知识存储:代表语义信息的实体描述和代表结构知识的实体三元组。

值得注意的是,本文使用上下文KG表示训练的模型从两个方面构建知识存储,如图2所示;因此,罕见的或新兴的实体可以显式地表现在外部存储器中,具有灵活性和适应性。现将实施细节介绍如下:

代表语义信息的实体描述:设f(·)是将输入x中的实体e映射到由预训练LM计算的固定长度向量表示的函数。我们使用预先设计的提示符从实体描述中获取嵌入的实体。与§2中相同的过程一样,我们使用提示输入xd来获取嵌入的实体,并将其添加到知识存储中。这样,我们可以由描述(G中所有实体E的描述集D)构造知识库 6266a4569f13ae31956e02937d45ff55.png

7f8668ec57c926284cbea8e2b6e71f78.png

代表结构知识的实体三元组:由于不同的关系关注同一实体的不同方面,因此使用不同的三元组来表示实体是很直观的。例如,给定三元组(Plato, lives, ?),模型可以通过KGs中的三元组(Plato, nationality, Greece)推理得到希腊。因此,我们也从三元组构建知识存储。我们将包含实体的所有训练三元组添加到知识存储中,以表示同一实体的不同方面。为了从三元组T中获得嵌入的实体,我们遵循§2中相同的程序来获得嵌入的实体ei。最后,我们可以用三元组(G中所有三元组T的集合)构造知识库c0fc7f189a2942f21e73d535b03c6227.png

30433204f04423a5d7486b9c257d8677.png

实施:知识存储包含由描述和三元组构造的实体嵌入,可达数百万个实体嵌入。具体地说,给定训练三元组f5bb9fb02ab4a9d5ccb4e92c33ba95e0.png以及模型输入xt,我们定义一个键-值对(ki、vi)用于知识存储推理,ki的关键是向量表示的实体嵌入f (xt)和vi是目标实体ei值。我们利用开源库FAISS在高维空间中进行快速最近邻检索。

•记忆推理

对于知识图谱补全任务,给定一个头尾实体缺失的三元组,我们使用[MASK]输出的表示作为预测锚实体嵌入,在知识存储中找到最近的邻居。模型使用最后一个隐藏的输出向量[MASK]查询知识存储,根据距离函数d(·,·)得到adcfbc831660e28cf3509b64eff73adf.png的分布。

d5ac9f2043c72226ce3e6d91818c42e6.png

因此,我们可以得到的概率分布的基础上的k个最近邻的软最大值。对于模型检索到的每个实体,我们在知识存储中只选择一个最近的嵌入对象来表示该实体,因为我们的模型可能检索到同一个实体的多个嵌入对象。

d75d0c9540a3902d5e1f0be65f6c4458.png

为了得到目标实体,我们利用参数λ将最近邻分布60242a7f3cce3e90d27e40b73e90ceff.png与模型实体预测217252b5b97c413b1fb904eeb37a9f84.png进行插值,得到最终的kNN-KG分布:

a93972caa860f66dc0e49a39b7cb0ec6.png

实验

•实验相关细节

数据集:FB15k-237、WN18RR

在FB15k-237中,实体的描述来自于每个实体的Wikipedia页面的介绍部分。

在WN18RR中,每个实体对应一个词的意义,描述就是词的定义。

表1 数据集的统计数据

1a730bb7bdcf610b7639ff765f0a5628.png

评价指标:Mean Reciprocal Rank (MRR) 和Hits@{1,3,10}

•实验结果

如下图3所示,本文提出的kNN-KGE可以在所有这些数据集上获得最先进的或具有竞争力的性能,特别是在Hits@1方面有显著的改进(WN18RR为0.443→0.525, FB15k237为0.252→0.280)。改进的主要原因是本文的掩蔽实体建模和知识存储提高了检索效果。注意,本文的方法可以记住KGs中的稀有实体,从而提高性能。从图4中,观察到kNN-KGE方法与之前最先进的方法相比,可以产生更好或可媲美的性能,这表明了知识存储的有效性kNN-KGE达到了最好的效果Hits@1,这进一步验证了通过记忆进行推理的优势。此外,本文的方法对于归纳设置是灵活的,因为新兴实体可以直接添加到知识存储中,这在实践中尤其相关,因为KGs可以扩展为描述新对象的三元组。

8052087c1055eb290feaf6bb46b1cd0c.png

图3 WN18RR和FB15k-237的链路预测结果

a408c762e071c3ab2144c8e02072d9c7.png

图4 归纳设置下WN18RR和FB15k-237的链路预测结果

总结

本文引入了kNN-KGE,它通过在测试时直接查询实体,在转导和归纳设置中都可以优于以往的知识图嵌入模型。在两个基准数据集上的实证结果证明了本文方法的有效性,特别是在低资源设置下。kNN-KGE的成功表明,显式记忆实体有助于知识图的推理。本文的方法简单有效,可以应用于任何不断发展的KG,而无需进一步的培训。未来的工作应该探索如何从知识存储中编辑和删除实体,并将我们的方法应用于其他任务,如问答。


OpenKG

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

507a62e7cba9434a1e87856ea4b5307c.png

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

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

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

相关文章

LeetCode 275. H指数 II(二分查找)

1. 题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列。编写一个方法,计算出研究者的 h 指数。 h 指数的定义: “h 代表“高引用次数”(high citations),…

Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失

在Spring Cloud中我们用Hystrix来实现断路器,Zuul中默认是用信号量(Hystrix默认是线程)来进行隔离的,我们可以通过配置使用线程方式隔离。 在使用线程隔离的时候,有个问题是必须要解决的,那就是在某些业务…

如果再这么玩下去,中国的科研就没戏了

文 | 知识分子编者按:今天编发的这篇文章,是某国立研究所所长的内心自白。他的一家之言,道出了许多人不愿意面对的现实——中国科研表面上看起来一片繁荣,实际深藏危机,如果继续跟班式搞科研,中国科研就没戏…

Spring Cloud Feign的文件上传实现

在Spring Cloud封装的Feign中并不直接支持传文件,但可以通过引入Feign的扩展包来实现,本来就来具体说说如何实现。 服务提供方(接收文件) 服务提供方的实现比较简单,就按Spring MVC的正常实现方式即可,比…

论文浅尝 | 开放知识图谱构建必读:封闭域VS开放知识抽取与4大类开放抽取常用方法概述...

转载公众号| 老刘说NLP最近社区抛出一个关于开放知识抽取的话题,也是当前知识图谱构建的一个热点,希望能够介绍相关的工作,而在之前也做过一些工作,借着这个机会,写一篇文章,来跟大家谈谈这个问题。开放知识…

别再双塔了!谷歌提出DSI索引,检索效果吊打双塔,零样本超BM25!

卖萌屋今日学术精选这篇论文展示了信息检索可以用一个Transformer来完成,其中,关于语料库的所有信息都被编码在Transformer模型的参数中。论文标题:Transformer Memory as a Differentiable Search Index链接:https://arxiv.org/a…

LeetCode 71. 简化路径(栈)

1. 题目 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..&#xff…

我有一段很厉害的代码,不外传的那种

文 | 郭忠明知乎最近在知乎上看到一个问题,叫做“程序员有没有很厉害、不外传的代码”。​好像在这个遍地都是开源项目的时代,啥代码都藏不住。但其实,是有的,而且有不少!很多算法在没有公开前,普通程序员都…

开源开放 | OpenKG发布cnSchema重构版本

cnSchema网站:http://cnschema.openkg.cn/GitHub地址:https://github.com/cnschema/cnSchema开放许可协议:CC 0摘要cnSchema是由OpenKG管理和维护的面向中文知识图谱的Schema参考标准。结合中文语言特点和中文领域特点需求,cnSche…

Spring Cloud构建微服务架构:分布式服务跟踪(抽样收集)【Dalston版】

通过Trace ID和Span ID已经实现了对分布式系统中的请求跟踪,而这些记录的跟踪信息最终会被分析系统收集起来,并用来实现对分布式系统的监控和分析功能,比如:预警延迟过长的请求链路、查询请求链路的调用明细等。此时,我…

LeetCode 229. 求众数 II(摩尔投票)

1. 题目 给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。 示例 1: 输入: [3,2,3] 输出: [3] 示例 2: 输入: [1,1,1,3,3,2,2,2] 输出: [1,2]来源:力扣&#xf…

95后CV工程师晒出工资单:狠补了这个,真香…

许多计算机视觉任务需要对图像进行智能分割,以理解图像中的内容,并使每个部分的分析更加容易。今天的图像分割技术使用计算机视觉深度学习模型来理解图像的每个像素所代表的真实物体,这在十年前是无法想象的。图像分割有助于确定目标之间的关…

论文浅尝 | CAKE:一个用于多视图知识图谱补全的可扩展性常识感知框架

笔记整理:陈子强,天津大学硕士链接:https://aclanthology.org/2022.acl-long.36.pdf动机以往的知识图谱补全仅仅依靠事实级别数据来预测实体之间缺失的关系,这样忽略了有价值的常识性知识。以往的知识图谱嵌入面临无效的负采样和事…

Spring Cloud构建微服务架构:分布式服务跟踪(收集原理)【Dalston版】

在本节内容之前,我们已经对如何引入Sleuth跟踪信息和搭建Zipkin服务端分析跟踪延迟的过程做了详细的介绍,相信大家对于Sleuth和Zipkin已经有了一定的感性认识。接下来,我们介绍一下关于Zipkin收集跟踪信息的过程细节,以帮助我们更…

LeetCode 263. 丑数 264. 丑数 II(DP)

文章目录1. LeetCode 263. 丑数解题2. LeetCode 264. 丑数 IIDP解题1. LeetCode 263. 丑数 编写一个程序判断给定的数是否为丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 示例 1: 输入: 6 输出: true 解释: 6 2 3示例 2: 输入: 8 输出: true 解释: 8 2 2 2示例 3: …

对比学习效果差?谷歌提出弱语义负样本,有效学习高级特征!

文 | jxyxiangyu编 | 小轶对比学习是 2021 年几大研究热点之一了。如果说预训练模型解决了机器学习对大规模标注数据的需求问题,那么,对比学习可以说是将无监督/自监督学习推广到更一般的应用场景,为苦于标注数据不多的炼丹师们又带来了福音。…

Spring Cloud构建微服务架构:分布式服务跟踪(整合zipkin)【Dalston版】

通过上一篇《分布式服务跟踪(整合logstash)》,我们虽然已经能够利用ELK平台提供的收集、存储、搜索等强大功能,对跟踪信息的管理和使用已经变得非常便利。但是,在ELK平台中的数据分析维度缺少对请求链路中各阶段时间延…

图谱实战 | 阿里新零售多模态知识图谱AliMe MKG的建设与应用

转载公众号 | DataFunSummit分享嘉宾:陈河宏 阿里巴巴 算法工程师编辑整理:李开琦 SHEIN出品平台:DataFunTalk导读:随着知识图谱技术的发展,其在电商、医疗、金融等领域得到了越来越广泛的应用。在过去的几年间&#x…

LeetCode 第 16 场双周赛(402/822,前48.9%)

文章目录1. 比赛结果2. 题目LeetCode 1299. 将每个元素替换为右侧最大元素 easyLeetCode 1300. 转变数组后最接近目标值的数组和 mediumLeetCode 1302. 层数最深叶子节点的和 mediumLeetCode 1301. 最大得分的路径数目 hard1. 比赛结果 做出了2道题,第二道题耽搁时…

CS 期刊哪家强?CCF 发布最新期刊分级目录!

文 | python分级目录中国计算机学会(CCF,就是评ABC类会议的那个机构),在2022年2月19日刚刚发布了《计算领域高质量科技期刊分级目录》。该目录包含T1、T2、T3三类期刊,分别为T1类期刊16本,T2类期刊23本&…