论文浅尝 - ECIR2021 | 两种实体对齐方法的严格评估

笔记整理 | 谭亦鸣,东南大学博士生



来源: ECIR 2021

在这篇工作中,作者对两种SOTA实体对齐方法做了广泛的研究:首先仔细分析了现有benchmark的过程,并论证了其中存在一些缺陷,使得原始方法给出的实验结果之间可能存在不可对比的情况;另一方面,作者怀疑存在一种普遍的直接对测试集做超参数优化的处理,这种情况将会导致论文发表的实验性能的可靠性(价值)不那么高。因此,本文筛选了一种具有代表性的benchmark数据集样本,分析它的特征,同时,考虑到实体的表示对于系统性能的决定性影响,作者对实体表示的不同初始化方案也进行了测试。进一步的,作者使用共同的训练/验证/测试集在所有数据集和所有方法上进行了实验评估,从结果上看,虽然大多数情况下,SOTA方法都优于baseline,但是当数据集包含噪声时,则出现明显性能下降。

首先作者对现有方法的共性做了说明:

1.大多数方法基于GNN

2.使用基于表示学习的实体名特征

3.考虑了KG中不同类型的关系(在预处理过程中聚合不同类型的关系)

基于这些共性,作者选择了在近期工作中效果较好的关系感知-双图卷积网络(RDGCN),此外,也引入了深度图匹配共识(DGMC)出于以下两个因素:i.前面提到的工作未提到该方法 ; ii.在该方法没有使用关系类型信息的条件下,取得了非常好的性能。

实体对齐数据集分析:

表1列举了目前实体对齐任务所使用的公开数据集:

DBP15K:目前最流行的对齐评价数据集,包含来自DBpedia的三个子集(语言对),数据集存在多个涵盖共享对齐实体的变体,所有的对齐均为1->1的情况,从数据集的构建方法来看,除共享实体之外的其他实体(排他实体?exclusive entity)之间不存在关系,导致这些实体的匹配过程复杂化,在实际应用中,它们也难以被确定。因此作者认为该数据集仅在一定程度上反映了部分真实用例。此外,作为PyTorch Geometric资源的一部分,DBP15k的另一个变体具有不同的对齐实体集,这就导致了这些已发布的方法之间并不能直接的对比它们之间的性能。因此,为了解决这个问题,作者使用了一个更小的JAPE变体,每个图谱包含19-20k实体。

OpenEA由基于度分布的采样方法从DBpedia,YAGO以及Wikidata中获取的KG pairs,其对齐也是1->1匹配,其中不包括exclusive entity,本文使用所有的KG pairs包含15k的实体。

WK3l15k是从维基百科提取的多语言KG pairs,作者也额外从平行三元组中抽取了对齐实体,图谱包含补充的exclusive entity,并且存在m->n的匹配情况。作者也是使用了15k规模的样本,每个KG包含15k左右的实体,语言对为英-德和英-法。

基于标注的初始化方法

Prepared translations:DBP15k数据集中命名实体一般先翻译为英语,然后使用Glove进行向量化处理;

Prepared RDGCN embeddings:OpenEA考虑到DBpedia与YAGO来自相似的数据源,它们的label往往是对等的。对于这类KG pairs,作者的做法是将这些label删去。然而RDGCN需要基于label的初始化,因此作者通过预定义的命名属性给出属性三元组,从而获取label。当无法通过属性找到label的时候则会选择使用实体的url替代。

Multilingual-BERT:WK3l15K上并没有实体嵌入相关的工作,因此这里作者使用M-BERT预训练模型处理这个部分,并使用最后四层之和为字符表示,并研究了总和,均值以及最大聚合作为超参数的情况。

实体对齐方法

本文主要评估了两种对齐方法:RDGCN以及DGMC。

与所有GNN方法类似,两个模型均采用了Siamese体系,因此对于所有的KG都使用了相同的模型以及相同的权重处理实体向量表示。得到实体表示之后,对齐方法计算一个affinity矩阵用于描述两个图谱上的实体之间的相似度。

RDGCN

RDGCN模型包括:

1.relation-aware message passing;

模型学习关系的重要性,并对由这些关系连接的对应实体的信息进行加权。

包含四个步骤(:

a.从实体表示获取关系文本,对于每个关系提取其上下文用于连接头尾实体平均表示;

b.DA表示对偶图注意机制,通过ReLU激活函数计算其注意力得分;

c.更新实体的表示;

d.应用一个从初始化表示到当前实体表示的跳跃连接;

2.standard message passing

利用一个邻接矩阵反映两个实体之间是否存在关系。

该部分由一系列的GCN层以及highway层构成,每层都通过以下方式运算:

DGMC

DGMC也包含两个部分:

1.enrichment

通过一系列GNN层利用邻居信息强化实体表示:

每层的计算方式为:

2.correspondence refinement

该部分首先针对每个实体计算其他子图中最接近的匹配,通过稀疏对应关系矩阵表示,而后对每个实体随机生成向量,并将它们发送到可能的匹配项。

实验

实验设置

评价的标准使用Hits@1,衡量匹配实体top-1的准确性

考虑到过去的工作中没有一个统一的训练-验证划分,因此这里作者建立了一个标准训练验证测试的子集划分(70%用于测试,24%用于训练,6%用于验证),从而进行一个公平对比。

作者继续调整了每个数据集上各模型的参数设置,并采用了上述初始化方案(超参设置如表3)

模型训练的early stop条件基于Hits@1确定,并最终选出验证集上最好的模型进行测试比对(实验结果见表4)

首先从zero-shot的结果看,即使是最弱的环境(openEA 39.15%),单纯使用实体命名表示也是能够具有一定的准确性,因此与不使用该信息的模型进行对比是不公平的。在DBP15k上,可以看到Wu的初始化策略比Xu要强7%-9%。

模型性能对比

可以看到两者在三个数据集上均优于基线模型,但两者之间却没有明显的优劣差异。虽然DGMC与预期结果相比有所降低,但是在几乎所有的DBP15K子集上,均有一定性能优势,这论证了较小的测试集可能导致更好的实验结果。

此外,不同的初始化也回影响模型的性能,尤其反映在DGMC(ja-en)以及GCN-Align(fr-en)。RDGCN在OpenEA子集上具有明显优势。

WK3L15k数据集的结果是值得关注的例外,DGMC方法的性能因其对应关系的细化而被认为对噪声具有鲁棒性,但它的性能并不优于zero-shot结果。

可以得到结论,对于基于GNN的实体对齐方法来说,其性能的主要影响还是来自超参数。

表5给出了OpenEA上对于RDGCN模型参数的消融实验结果:


 

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

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

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

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

相关文章

Android App包瘦身优化实践

随着业务的快速迭代增长,美团App里不断引入新的业务逻辑代码、图片资源和第三方SDK,直接导致APK体积不断增长。包体积增长带来的问题越来越多,如CDN流量费用增加、用户安装成功率降低,甚至可能会影响用户的留存率。APK的瘦身已经是…

NLP界新SOTA!吸纳5000万级知识图谱,一举刷爆54个中文任务!

大家还记得2019年底首次将GLUE榜单分数刷过90大关的百度ERNIE模型吗?在随后一年多的时间里,又陆续出现了GPT-3、Switch Transformer等一众靠模型体量取胜的千亿乃至万亿参数规模的超大预训练模型,似乎新训一个预训练模型没有个千亿参数都不好…

LeetCode 543. 二叉树的直径(DFS)

1. 题目 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例 : 给定二叉树1/ \2 3/ \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之…

论文浅尝 | 用于嵌套命名实体识别的二部平面图网络(BiFlaG)

笔记整理 | 栾岱洋,东南大学来源:ACL 2020链接:https://www.aclweb.org/anthology/2020.acl-main.571.pdf本文提出了一种可以实现重叠主体的识别的BiFlaG(bipartite flatgraph network)模型,包含两个子图模…

不是所有问题都适合用神经网络去搞!

文 | YukiRain知乎不是所有问题都适合用神经网络预测,YukiRain总结了以下几种不适合用神经网络做预测的场景:小样本情况,无论是低维还是高维,不如SVM和贝叶斯模型低维数据,大样本量,不如各种ensemble类算法…

从Google白皮书看企业安全最佳实践

前不久Google发布了一份安全方面的白皮书Google Infrastructure Security Design Overview,直译的版本可以参考“网路冷眼”这版《Google基础设施安全设计概述》,直译点评的版本可以参考“职业欠钱”的《Google基础设施安全设计概述翻译和导读》。 此前G…

LeetCode 415. 字符串相加(大数加法)

1. 题目 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。 注意:num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包含任何前导零。 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串…

会议交流 | 智能风控技术峰会(请关注图分析相关论坛)

2021年5月15日,9:00-18:00,DataFunSummit——智能风控技术峰会将如约而至,本次峰会由3位主席和8位出品人精心策划而成,邀请来自业界的40余位嘉宾从风控系统的架构,到智能风控的核心算法,再到内容、金融、交…

深度学习,路在何方?

文 | Severus最近,AI领域的三位图灵奖获得者Yoshua Bengio、Yann LeCun和Geoffrey Hinton共同发表了一篇文章,名为Deep Learning for AI,文中讨论了深度学习的起源、发展、成就及未来。文章标题:Deep Learning for AI原文链接&…

前端渲染引擎doT.js解析

背景 前端渲染有很多框架,而且形式和内容在不断发生变化。这些演变的背后是设计模式的变化,而归根到底是功能划分逻辑的演变:MVC—>MVP—>MVVM(忽略最早混在一起的写法,那不称为模式)。近几年兴起的R…

elasticsearch7使用指导

目录结构: 一、es概述 二、es安装/head插件安装/kibana安装 三、es核心概念 四、IK分词器 五、RestFul操作 六、CRUD(增删改查) 七、Springboot集成es ---------------------------------------分割线:正文------------------------------------…

开源开放 | 欢迎选修浙江大学《知识图谱》开放共享慕课

点击“阅读原文”或扫描图中二维码进入课程教学计划第一章知识图谱概论1.1 语言与知识1.2 知识图谱的起源1.3 知识图谱的价值1.4 知识图谱的技术内涵第二章知识图谱的表示2.1 什么是知识表示2.2 人工智能历史发展长河中的知识表示2.3 知识图谱的符号表示方法2.4 知识图谱的向量…

LeetCode 43. 字符串相乘(大数乘法)

文章目录1. 题目2. 小学竖式乘法2.1 普通版2.2 优化版1. 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 "2", num2 "3" 输出: "6&q…

旅游推荐系统的演进

度假业务在整个在线旅游市场中占据着非常重要的位置,如何做好做大这块蛋糕是行业内的焦点。与美食或酒店的用户兴趣点明确(比如找某个确定的餐厅或者找某个目的地附近的酒店)不同,旅游场景中的用户兴趣点(比如周末去哪…

预训练卷不动,可以卷输入预处理啊!

文 | 德志编 | 小戏目前伴随着预训练预言模型的兴起,越来越多的 NLP 任务开始脱离对分词的依赖。通过 Fine-Tune Bert 这类预训练预言模型,能直接在下游任务上取得一个很好的结果。同时也有文章探讨中文分词在神经网络时代的必要性。对于分词任务本身也是…

检索式问答以及评论观点抽取+情感分析

3款开发者神器,快速搭建「检索、问答、情感分析」应用! 人工智能与算法学习 于 2021-12-30 08:10:00 发布 26 收藏 文章标签: 百度 大数据 机器学习 人工智能 数据分析 原文链接:https://mp.weixin.qq.com/s?__bizMzIyOTkyOTE…

征稿 | Call for papers on Knowledge Graphs

Knowledge graph是Data Intelligence的核心主题和期刊特色之一。为持续展示这一领域的最新进展和前沿成果,Data Intelligence正在与国际学者一道策划两期Knowledge graph专辑。期待大家关注并积极投稿参与!DI专辑Special Issue on Personal Health Knowl…

LeetCode 179. 最大数(自定义谓词函数--Lambda表达式--排序)

1. 题目 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 示例 1: 输入: [10,2] 输出: 210示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。来源:力扣&#xff08…

python实现requests访问接口,比如es接口

首先我们先引入requests模块 import requests一、发送请求 r requests.get(https://api.github.com/events) # GET请求 r requests.post(http://httpbin.org/post, data {key:value}) # POST请求 r requests.put(http://httpbin.org/put, data {key:value}) # PUT请求 r…

拿下字节offer,这些面试题命中率高达90%以上

昨天在知乎上刷到一个热门问题:程序员需要达到什么水平才能顺利拿到 20k 无压力?其中一个最热门的回答是:“其实,无论你是前端还是后端、想进大厂还是拿高薪,算法都一定很重要。”为什么,算法会如此重要?不…