查看原文
其他

ACL 2021 | 复旦大学邱锡鹏组:面向不同NER子任务的统一生成框架

刘兴贤 PaperWeekly 2022-07-04


©作者 | 刘兴贤
学校 | 北京邮电大学硕士生
研究方向 | 自然语言处理



论文题目:
A Unified Generative Framework for Various NER Subtasks


论文地址:
https://arxiv.org/abs/2106.01223


代码repo:
https://github.com/yhcc/BARTNER


该论文被收录于 ACL 2021 主会,作者是来自复旦大学的邱锡鹏老师组。


先插句题外话,本文的图示是我最近看过的文章里表意最明确的一篇,几乎只看图就能了解文章表达的意思。



Main Idea


图 abc 分别展示了 NER 的 flat NER(简单、扁平实体抽取)、nested NER(嵌套实体抽取)、discontinuous NER(不连续实体抽取)三种不同的子任务。



而对于这样复杂的子任务,无法使用传统的标记方法将其纳入同一个框架。因此,本文使用了指针方式,使用将标注任务转化为一个序列生成任务(本文的主要贡献也正在这里),并使用了 seq2seq 的范式来进行生成,生成过程使用了预训练模型 BART,这是一个利用从被破坏掉的文本中还原文本的任务作为预训练目标的模型。




Abstract


命名实体识别(NER)是识别代表句子中实体的跨度的任务。无论实体跨度是嵌套的还是不连续的,NER 任务都可以分为 Flat NER、嵌套 NER 和不连续 NER 子任务。这些子任务主要通过令牌级序列标记或跨度级分类来解决。然而,这些解决方案很难同时处理三种 NER 子任务。


为此,我们提出将 NER 子任务描述为实体跨序列生成任务,该任务可以通过一个统一的序列到序列(Seq2Seq)框架来解决。基于我们的统一框架,我们可以利用预先训练的 Seq2Seq 模型来解决所有三种类型的 NER 子任务,而不需要特别设计标记模式或枚举跨度的方法。


我们利用三种类型的实体表示将实体线性化为序列。我们提出的框架易于实现,并在 8 个英语 NER 数据集上实现了 SOTA 或接近 SOTA 的性能,包括两个 flat NER 数据集、三个嵌套 NER 数据集和三个不连续 NER 数据集。




Contribution


  • 本文提出了一种统一的生成式的框架来解决 flat NER、nested NER、discontinuous NER 三种不同的子任务。
  • 将预训练的 seq2seq 模型 BART 融入框架,并利用三种实体表示将实体线性化为一个序列,对探索 BART 在实体序列生成中的应用提供了一定的参考价值。
  • 避免了复杂的标记,而是使用指针方式进行标记,并在 8 个英文数据集上达到或接近 SOTA。




Method


这个图还是很容易看明白的(这张图画的真好看hhh)。



输入是句子 token,然后得到 token embedding 以及 position embedding,然后喂给一个 BART Encoder,将 encode 出的隐层状态过一个 MLP 与 token 单纯的 token embedding 做加权。






本文将 token 与 tag 的序号分开,上面是 token 部分,而 tag 部分也简单的得到其tag embedding(与 token 部分使用同一套参数)。



分别得到 token 与 tag的表示后,与 decoder 的当前隐层状态做点积,然后 concat,过一个 softmax 层得到最终所有 token 以及 tag 的分布。



使用该分布进行生成,得到 token 或者 tag 的序列,并将其解析成抽取出的实体及类型(解析方法如下图所示)。



最终使用负对数似然函数来作为损失函数,更新参数。


BART 训练过程中使用了 BPE(用不在句子中出现过的 token 代替频繁出现的 token 序列)。


此外,本文测试了三种基于指针的定位原始句子中实体的方法:

  • Span:实体每个起始点与结束点,若不连续则连着写

  • BPE:所有的Token位置

  • Word:只记录开始位置








Experiment


▲ 针对flat NER的实验结果


▲ 针对nested NER的实验结果


▲ 针对discontinuous NER的实验结果


▲ 总体实验结果


此外,本文还研究了实体在句子中出现的顺序与召回率的关系。


可以看到,在 flat NER 与 discontinuous NER 中,召回率都明显的随着位置出现的靠后而增加,但嵌套 NER 的情况明显比较复杂。


原因其实可以想见,后一位置中的实体可以是包含前一实体的更复杂的实体。对前一实体的错误预测可能会对后一实体产生负面影响。


▲ 实体在句子中出现的位置顺序与召回率的关系



Conclusion


本文将 NER 子任务描述为一个实体生成序列生成问题,从而可以使用统一的 Seq2Seq 模型和指针机制来处理扁平的、嵌套的和不连续的 NER 子任务。Seq2Seq 方式使得能够顺利地整合训练前的 Seq2Seq 模型 BART,以提高性能。


为了更好地利用 BART,本文测试了三种类型的实体表示方法,以将实体跨度线性化为序列。结果表明,长度更短、更接近连续 BPE 序列的实体表示具有更好的性能。本文提出的方法在 8 个不同的 NER 数据集上都达到了 SOTA 或接近 SOTA 的性能,证明了它对各种 NER 子任务的通用性。



更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编





🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存