在错误的数据上,刷到 SOTA 又有什么意义?

文 | Severus
编 | 小轶

小编注:前段时间,小屋介绍了吴恩达老师近期发起的以数据为中心的 AI 竞赛(参见《吴恩达发起新型竞赛范式!模型固定,只调数据?!》)。吴恩达老师认为:工业界已经具备较为成熟的算法和代码体系,现在更加缺少的是一套成熟的构建工业化数据集的方法论。然而,正如图灵奖得主 Judea Pearl 教授所质疑的那样:“在不知道什么是质量更好的数据的基础上提升数据质量是不太现实的”。对于这个问题,本文作者由关系抽取任务说起,探讨了一些可能的答案——我们究竟需要怎样的数据

前段时间,我的项目正在准备开源发布,补充项目在一些任务上的表现,以作为开源之后可以宣传的点。我们项目的一大特点是十分擅长应对挖掘任务,因而我们自然也就想蹭波热度,在某关系抽取评测任务上试了一下效果

在此之前,我们的项目在一些其他挖掘任务上的表现一直是可以的,但是在那个关系抽取数据上,我们就翻车了,无论是我们的 baseline 还是增强模型,都无法打出来差异化的分数。其实简单来讲,就是:单纯使用标注方法,怎么样都无法提升了。

数据之殇

实际上,对于几乎所有的公开评测任务,我都会本能地怀疑它的数据是什么样子的,尤其在我看到了榜单之后。例如细粒度实体识别任务 CLUENER。它的 baseline 评测在某些类别上,连 BiLSTM+CRF 的结果都已经超过了人类(甚至可以说是远超)。当我看到了这个榜单,自然就会本能地怀疑这个数据是有问题的。CLUENER 数据集暂且按下不表,我们继续说关系抽取数据集。

对于让我的项目遭遇了滑铁卢的那个关系抽取数据集,它的主要的问题则是:无论我在模型上做什么样的改变,效果的差异都是不稳定的(更换了随机种子之后,不同模型结构的rank也会改变)。那我自然也要去看一看数据有什么问题了。

随机抽取了 train 和 dev 评估之后,果然印证了我的思想。在 train 和 dev 上,在单条数据粒度上,分别存在 42% 和 37% 的数据错误,其错误包括关系错误、关系不全,以及句子中不存在的关系被标注成了答案。而我无论怎么更换模型结构,方法也都是简简单单的标注算法,就必然会存在标签上的冲突。对于模型来讲,尤其是“学习了一些知识”的预训练语言模型来讲,自然就 confuse 了。

当然我也理解这种数据会出现,因为关系抽取数据在构造的时候,基本都是用已有的图谱 SPO 数据去反查文本,通常 S 和 O 在某一个句子里面共现了,就认为该句中存在这种关系了

注:SPO 指 <subject, predicate, object> 三元组,是知识图谱用于描述一条知识的基本形式。

这种数据构造方法当然一定是有问题的。这个数据的质量一看也自然是未经review的。甚至说,在学界,大家在打榜的绝大多数公开数据,可能都或多或少存在着不可忽视的噪音问题,例如最近在比的某领域比赛的某一个数据之中,就存在这种东西。这让我不禁有了一个疑问:当数据有不可忽视的噪音问题的时候,榜单上的高分导向的就是更好的模型吗?如果答案是否定的,那这些比赛的意义在哪里呢?只是在消耗多余的算力,挤占业务的用卡时间吗?

▲节约用电,人人有责

我们需要什么样的数据

关系抽取数据中存在这样一个例子:

汪涵曾多次在天天向上中展示自己高超的厨艺。

这句话,数据中标出来的答案是S:天天向上,P:主持人,O:汪涵。乍一看好像没有问题。但是我们仔细想一想:如果排除掉所有的背景知识,我们看这个句子会得到怎样的理解?是否真能推断出“主持人”这一关系?

排除背景知识,只看句子本身:汪涵貌似是一个人,天天向上似乎是一个节目——汪涵可能参加过天天向上。这个是我们通过中文的常识知识和句式知识能够推断出来的信息。

更进一步,即使我们给出一些特化信息,即“汪涵是著名主持人”,天天向上是综艺节目”。在带有这样的先验下,我们又能推断出来什么信息呢?汪涵是一个主持人,但主持人参加综艺节目未必就是主持综艺节目。比如主持人马东参加过脱口秀大会,但他只是嘉宾。所以,对于“汪涵”和“天天向上”这两个个体,我们从这句话中还是只能推断出参加关系

那模型怎样才能知道这个关系?看上去只有通过这个训练样本,让模型自己强行记住这个关系了。(当然还有一种可能是:模型从别的句子里面学到了“汪涵主持天天向上”的知识,然后在这个句子里面应用到了。但如果是这样,那这个训练样本的用处是什么呢?)

或许有的朋友会反驳说:在训练关系抽取任务的时候,就是想让模型去过拟合一些东西的。也就是说,直接将汪涵和天天向上两个实体完全绑定起来,形成主持关系,这样在榜单上就可以打高分了。然而,如果以这样的方式去拟合S和O的名字,就要保证测试集和真实使用场景中一定会出现类似的情况。

如果过拟合这个句式里面出现的S和O一定是主持,一定会在其他场景中遇到问题。比如下面这个例子:

张杰也多次在快乐大本营上表现了对谢娜的爱意。

这句话和“汪涵曾多次在天天向上中展示自己高超的厨艺”的句式十分相像。那张杰和快乐大本营又是什么关系呢?实际上,数据中甚至可能会标注出张杰和谢娜的夫妻关系,以及谢娜是快乐大本营的主持人。但这两条关系在这句话中都没有直接的体现。

我们再看CLUENER中的一个例子:

去年我们凭借《现代战争1》大获成功,其辉煌业绩让众多业界老手大跌眼镜。

其中,现代战争1被标注成为了游戏。

这个例子,我想我没有必要做过多的解释了。人没打过这游戏的,确实标不出来。同理,没了解过赛博朋克2077的人,可能也不太会知道波兰蠢驴这个名字。

(实际上这个问题也有提到issue里面,但是权威大佬们也没有理会我......)

▲《现代战争1》是一款由 Infinity Ward 制作的一款热门射击类游戏

另外,还有在研究中文分词的时候经常会举的一个所谓疑难杂症般的例子:

南京市长江大桥

实际上,这句话两种切分方式都是合理的,都符合我们的常识认知,只不过可能有一个不是事实。那么其实我认为,对于模型来讲,就不必过分纠结于这条数据会被切分成哪一个。

模型真正要去区分的,其实是下面两个句子:

  1. 南京长江大桥位于南京市鼓楼区下关浦口区北之间

  2. 南京市长江大桥因严重违纪违法问题被立案检查

举了那么多例子,其实是想说:我们在衡量一个数据好坏时,似乎应该遵循这样一个逻辑——如果仅利用任务规则中允许我们用到的知识,人类能否有能力得到该样本中给出的答案?如果能,则这条数据是一个好的数据;如果不能,则一定会对模型形成误导。所以在判定一条数据的时候,我们应该去回顾这几乎本能做出判断背后的思考过程。如果我们不知道答案,通过思考也得不到这个答案,为什么要让模型去得到这个答案呢?

我们在用数据和任务的形式去建模这个世界,并基于此去指导模型去学习。这一过程其实与我们教育人类幼崽的方式、或者我们自己去理解新知识的方式,是类似的。毕竟,我们现在还不具备凭空描述知识的能力,只能把人类一直在经历的学习过程加诸到模型身上

在预训练的阶段,我们貌似让模型学到了部分语法知识,以及通过大量的事实知识让模型部分学到了常识知识,但远远没做到让模型去记忆事实,实际上也记忆不过来,又怎么指望模型在任务中直接就能搞定那些仅仅包含事实的判定呢?

题外话,由于我是做解析的,所以实际上我是没有那么支持领域预训练的。因为具体领域和所谓通用域的区别,更多是在于专名(命名实体、术语等)的区别,但表达是相对固定的。还是类比人类,哪怕一个人不是医生,他看到自己的病历的时候,除了可能看不懂疾病、临床表现、药物,医疗程序等等的专业术语,也能大概能看懂这个病历的一些意思。无论领域专业性多强,它也是“人话”。在做解析挖掘的时候,我们也应让模型着重去看懂人话的部分,而不是依赖那些专业的部分。是否不需要让模型见过那些专业的东西,也能做到效果不错?当然这个思路比单纯去做模型繁琐得多,产出也慢得多。

任务回归应用

回归到更本源的问题,关系抽取任务是为了做什么的?

其实最初关系抽取任务是为了辅助构造结构化知识。随着知识图谱越来越多,关系抽取模型已然可以基于已有数据知道一些知识了。此时,我们的需求可能就变成了“通过新的事实描述文本去挖掘补充新的知识”。更准确地说,我们希望:模型能够基于已有知识图谱中的信息,从新的文本中挖掘出新的关系,从而与时俱进地补充和更新现有知识图谱

当然这种“新的关系”不是类似于“爸爸的爸爸是爷爷”的关系。工业应用已经证明了,这种关系写规则更香。需要补充的是真正的新关系,比如新婚,比如新参演电影,比如新主持节目等。

所以其实在定义任务的时候,应该询问这样几个问题:

  • 这个任务想要导向什么样的模型

  • 这个任务做好了之后能干什么

  • 这个任务能不能做

而不是直接拍脑门想出来了这么个任务,然后就随手弄一波数据发出来了。这样只会让学界与工业界越来越剥离,只会让研究越来越没有用,只会让顶会做的这种种事情越来越变成消耗多余的电力。

同时在数据上,也应该有上面所提到的思考。给出的数据,也应该符合实际会应用到的需求。现在看来,部分领域任务或许能做到这个。

否则,最终也只会导向越来越无意义的卷。

所幸,或许,业界有去重新思考数据的趋势,例如Ng老师的新比赛。但,前路茫茫,不知这束光,是否长久。

寻求报道、约稿、文案投放:
添加微信xixiaoyao-1,备注“商务合作”

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

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

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

相关文章

论文浅尝 | BoxE:一种基于Box的知识图谱表示学习模型

笔记整理 | 耿玉霞&#xff0c;浙江大学直博生。研究方向&#xff1a;知识图谱&#xff0c;零样本学习等。论文链接: https://arxiv.org/pdf/2007.06267.pdf本文是发表在NeurIPS 2020上的一篇基于Box的知识图谱表示学习模型的文章。在以往知识图谱表示学习&#xff08;KG Embe…

LeetCode 127. 单词接龙(图的BFS/双向BFS)

文章目录1. 题目2. 图的BFS解题2.1 单向BFS2.2 双向BFS &#xff01;厉害了1. 题目 给定两个单词&#xff08;beginWord 和 endWord&#xff09;和一个字典&#xff0c;找到从 beginWord 到 endWord 的最短转换序列的长度。 转换需遵循如下规则&#xff1a; 每次转换只能改变…

Leaf——美团点评分布式ID生成系统

在复杂分布式系统中&#xff0c;往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中&#xff0c;数据日渐增长&#xff0c;对数据分库分表后需要有一个唯一ID来标识一条数据或消息&#xff0c;数据库的自增ID显然不能满足…

@开发者,第二届马栏山杯国际音视频算法大赛高分攻略请查收,心动大奖等你来战!...

一秒让墙上的广告消失&#xff0c;保留完整墙面&#xff1b;户外大屏幕显示LOGO被擦除后&#xff0c;背景毫不违和……欢迎来到魔法世界——停&#xff01;这其实并不是什么魔法&#xff0c;而是由弗吉尼亚理工大学提出的基于流的视频补全算法FGVC的一项应用。作为视频的“橡皮…

论文小综 | Attention in Graph Neural Networks

作者 | 方尹、杨海宏&#xff0c;浙江大学在读博士&#xff0c;主要研究方向为图表示学习近年来&#xff0c;图卷积神经网络(Graph Convolutional Network, GCN)利用图卷积从图结构数据中提取特征&#xff0c;成功应用于节点分类、图分类、链接预测等任务&#xff0c;用途广泛。…

LeetCode 126. 单词接龙 II(图的BFS)

1. 题目 给定两个单词&#xff08;beginWord 和 endWord&#xff09;和一个字典 wordList&#xff0c;找出所有从 beginWord 到 endWord 的最短转换序列。 转换需遵循如下规则&#xff1a; 每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。 说明: 如果…

外卖订单量预测异常报警模型实践

外卖业务的快速发展对系统稳定性提出了更高的要求&#xff0c;每一次订单量大盘的异常波动&#xff0c;都需要做出及时的应对&#xff0c;以保证系统的整体稳定性。如何做出较为准确的波动预警&#xff0c;显得尤为重要。 从时间上看&#xff0c;外卖订单量时间序列有两个明显的…

聊一聊“超大模型”

文 | 金雪锋源 | 知乎最近经常被问&#xff0c;你看“万亿的模型都出来了&#xff0c;你们训练的千亿模型是不是落伍了&#xff1f;”我想说&#xff1a;“虽然都叫超大模型&#xff0c;但是类型是不一样的&#xff0c;虽说每一类模型训出来都不容易&#xff0c;不过澄清一下概…

技术动态 | 不确定性知识图谱的表示和推理

本文转载自漆桂林知乎。作者 | 张嘉韬、漆桂林、吴天星文章链接 | https://zhuanlan.zhihu.com/p/369068016

LeetCode 665. 非递减数列(双指针)

1. 题目 给定一个长度为 n 的整数数组&#xff0c;你的任务是判断在最多改变 1 个元素的情况下&#xff0c;该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的&#xff1a; 对于数组中所有的 i (1 < i < n)&#xff0c;满足 array[i] < array[i 1]。…

数据还是模型?人类知识在深度学习里还有用武之地吗?

文 | Severus编 | 小戏近些年来&#xff0c;随着数据量越来越多&#xff0c;算力价格越来越便宜&#xff0c;根植于数据算力的深度学习茁壮成长。在这种背景下&#xff0c;作为一种强有力的表示学习方法的深度学习让人们惊讶的发现&#xff0c;只要投喂足够多的数据&#xff0c…

LeetCode 130. 被围绕的区域(图的BFS/DFS)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS1. 题目 给定一个二维的矩阵&#xff0c;包含 ‘X’ 和 ‘O’&#xff08;字母 O&#xff09;。 找到所有被 ‘X’ 围绕的区域&#xff0c;并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O X X 运行你的…

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

笔记整理 | 谭亦鸣&#xff0c;东南大学博士生来源: ECIR 2021在这篇工作中&#xff0c;作者对两种SOTA实体对齐方法做了广泛的研究&#xff1a;首先仔细分析了现有benchmark的过程&#xff0c;并论证了其中存在一些缺陷&#xff0c;使得原始方法给出的实验结果之间可能存在不可…

Android App包瘦身优化实践

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

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

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

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

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

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

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

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

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

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

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

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

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