slczgwh / REDN

Downstream Model Design of Pre-trained Language Model for Relation Extraction Task
MIT License
95 stars 14 forks source link

【关于本文的2点质疑】1、不仅实体完全利用gold;2、实体pair也是直接根据gold给出! #21

Closed loujie0822 closed 3 years ago

loujie0822 commented 4 years ago

2点质疑:

  1. 实体利用gold:不是联合抽取,结果不具备可比较性! 2.实体pair也是直接根据gold给出:模型预测的实体pair也是利用gold,即预测的实体pair之间是一定有关系的,没有实体pair之间的冗余(负样本)问题?如下图所示,所以SOTA结果不可信! image
lijiaoyang commented 4 years ago

关系抽取排名网站上,REDN的F1值变为0,并且标注FAKE

REDN

loujie0822 commented 4 years ago

其实移除就可以了,还给标了fake。

ARDUJS commented 4 years ago

现在咋又上去了,还有HBT之前是89.5现在咋变成了87.5,这是啥原因,求大佬解答 image

transformerzhou commented 4 years ago

现在咋又上去了,还有HBT之前是89.5现在咋变成了87.5,这是啥原因,求大佬解答 image

同求,懵逼,不知道什么情况

pangjiajia commented 4 years ago

论文里提到本文不关注实体抽取的方法,我看了代码,作者有提供add_subject_loss的参数,可以选择增加/不增加实体抽取部分。不过不清楚他最终提交的测试结果是否有加上。

pangjiajia commented 4 years ago

直接下载下来的代码默认add_subject_loss参数是false,不知道我理解的对不对

pangjiajia commented 4 years ago

仔细看了他的测试结果评价部分,确实没有考虑实体抽取的准确率

slczgwh commented 3 years ago

要不是今天收到公司信息说我学术造假,我还没注意到有这样的issue。先回答issue: 1.关系抽取利用实体gold。我们从来就没有说过我们是联合抽取,文章中也只是提了可以做,而我们关注就是关系抽取本身.而关系抽取向来就是实体识别的下游任务,以实体作为已知结果非常自然。比如我们引用的nyt这个数据集联合抽取在paperwithcode上有另一个榜单:联合抽取榜单,关注联合抽取请移步这里。 2.计算分数代码的问题。这段代码是按照同样的逻辑从清华opennre中改造的。因为我们用了一个矩阵的关系,没法直接复用代码,就只能按同样逻辑改造。代码链接在这里,注释逻辑非常清晰,sentenceRE的入参就包含头尾实体,自己去读一下就知道逻辑是否一致了。(还有这一段test代码,看看传进去的是什么。)另外负样本在nyt中的使用方法已经在文章中说的很清晰,代码逻辑也很清晰,这里不多说了。 最后补充一下,关系分类和关系抽取只是名字的问题,怎么定义也没有很清晰的说法。很多已发表文章都把对句子中实体对的关系分类叫关系抽取,这件事情并不是我们的发明创造(不然sentenceRE这个名字从何而来?干嘛不叫sentenceRC?)。倒是联合抽取有比较明确的说法,实体跟关系同时抽取出来就算联合,否则就是pipeline形式。而且很显然,关系抽取必然会利用实体信息,否则pipeline的级联误差从何而来?另外,这个讨论是用于讨论本文的代码的,关心其他模型的请移步其他模型的开源代码区。如果关注所谓的比较公平性,可以发邮件给作者说明这个问题,不要在git上讨论这个(尤其是中文讨论),这也太业余了。

sidney1994 commented 3 years ago

作者您好,我看了您的回复。作者回复中提到了“我们从来就没有说过我们是联合抽取”,但作者论文中比较的baseline中, GraphRel2p和HBT均为联合抽取模型,这是不公平比较,希望作者修正论文,并撤下paperwithcode下的结果。

slczgwh commented 3 years ago

@sidney1994 paperwithcode上面的结果已经不知道被谁删除了。此外,我们所挂的榜单并没有问题,在被删除之前一直挂在RE下面。倒是HBT需要check一下看看是否挂错了地方。目前我看到NYT数据集下,HBT还挂在正常的RE下面,没有挂在联合抽取下。WebNLG也是一样的。文章中的联合抽取的问题确实需要修改,我们会更新一下我们把实体抽取模块增加上后获得的分数,再用于与基线对比。近期会完成这个修改。

pvcastro commented 3 years ago

I kind of agree with @slczgwh here:

Relation extraction has always been a downstream task of entity recognition, and it is natural to use entities as known results.

The purpose of the benchmarks are to predict relationship between entities. I think Joint extraction is a way to get there, not necessarily a benchmark by itself...authors claim to use it not because they wish to do it "the hard way", but because they think (empirically, of course) it's best option to have a model learn to classify relations. I believe pretty much all the papers I have read so far regarding joint relation extraction mention this. If I'm wrong about this, please point me to a reference that states otherwise.

And I also do agree that this is a very confusing downstream task to benchmark, because there isn't a clear standard regarding the source of all diferent datasets (I have seen many different versions of NYT so far, with different data, annotations, criteria, etc), annotation criteria, evaluation, etc. In practice, I think it's hard to compare any model with each other I have seen so far.