SENT: Sentence-level Distant Relation Extraction via Negative Training

  • 来源:ACL 2021
  • 机构:复旦
  • 任务:DSRE
  • 动机:别人做 DSRE 是想怎么让模型避免噪声干扰,这篇文章用 negative training,找出并过滤噪声样本
  • 方法:instance-level 的方法
    • NT:普通正训练 loss ,负训练 loss 就是找 K 个不正确的标签,优化负 loss (就是 triplet loss 的后半部分)
    • 实验证明,NT 比 PT 更能分辨噪声样例,高 confidence 的就不会是噪声(文中没有给出理论解释,我觉得可能是,在 NT 中,对于一个噪声样例,如果找到的负标签恰巧是它原本的标签,此时就会被噪声干扰,但是这种干扰比较小,因为概率只有 K/N(选择的负例数/总类别数)而在 PT 中,噪音干扰就是完全 100% 了?)
    • 后面就根据阈值,将 logits 小于阈值的看成 noise,把他们看成没标签的数据,后面重新归类;重新归类的预测时,只有 logit 高于阈值的才正式归类,其它的,还是留作没标签的。这些数据应该就不要了?或者下一轮的时候再重新归类?文中没说
    • 阈值是动态阈值: 这一类的最大 logit 乘以一个全局阈值
    • 总体流程:迭代 M 次,最后得到重新标注的数据集,再用 PT 得到预测结果
  • 实验:
    • SOTA @ NYT & 30% noise TACRED
    • 会随着迭代一点点变好
    • 长尾关系和量大的关系 threshold 不同,动态阈值,好
    • 最后一步 PT:准确率↓,总体↑

发表评论