来源:PaperWeekly本文约2600字,建议阅读9分钟本文提出了一个统一命名实体识别框架,通过对词与词之间的关系进行分类的方式同时解决三种命名实体识别子任务。
引言
本研究重新审视了统一命名实体识别中的核心问题,即词与词之间的关系建模,并提出将所有类型的命名实体识别统一采用一种词对关系分类的方法进行建模。所提出的系统广泛地在 14 个命名实体识别数据集刷新了最好的分数。
论文题目:
基于词对关系建模的统一命名实体识别系统
Unified Named Entity Recognition as Word-Word Relation Classification
论文作者:
李京烨(武汉大学),费豪(武汉大学),刘江(武汉大学),吴胜琼(武汉大学),张梅山(哈工大深圳),滕冲(武汉大学),姬东鸿(武汉大学),李霏(武汉大学)
收录会议:
AAAI 2022
论文链接:
https://arxiv.org/pdf/2112.10070.pdf
代码链接:
https://github.com/ljynlp/W2NER
一、动机介绍
1.1 命名实体识别任务
命名实体识别(Named Entity Recognition,NER)是自然语言处理领域的一项非常基本的任务,在社区长久以来一直得到广泛的研究。当前的 NER 的研究重点已经从常规的扁平命名实体识别(Flat NER)逐渐转向了重叠命名实体识别(Nested/Overlapped NER)与非连续命名实体识别(Discontinuous NER)。这三类 NER 分别为:
- Flat NER:抽取连续的实体片段(或者包含对应的实体语义类型);
- Nested/Overlapped NER:抽取的两个或多个实体片段之间有一部分的文字重叠;
- Discontinuous NER:所抽取的多个实体间存在多个片段,且片段之间不相连。
▲ 图1:重叠与非连续实体例子(a),该例子可转化成词对关系抽取(b)
以图 1 为例,“aching in legs”是一个扁平实体,“aching in shoulders”是一个非连续实体,两者在“aching in”上重叠。以上三种 NER 类型可概括为统一命名实体识别(Unified Named Entity Recognition,UNER)
1.2 命名实体识别方法
截至当前,命名实体识别领域的主流方法大致可分类为四类:
- 基于序列标注的方法;
- 基于超图的方法;
- 基于序列到序列的方法;
- 基于片段的方法。
其中,基于序列标注的方法是 Flat NER 的基准模型;而基于超图的方法由于其模型结构相对复杂从而使其获得的关注相对较少。而基于序列到序列方法和基于片段的方法获得了当前最好的效果,并且也是当前 NER 社区最为流行的方法,这两种方法的基本技术思路如图 2 所示。
▲ 图2:序列到序列的方法与基于片段的方法
当前 NER 社区尝试采用一种模型框架同时将三种不同类型的 NER 同时建模,即端到端抽取出所有的类型的实体。以上四种 NER 方法均可以被设计为支持统一命名实体识别的模型。本研究亦关注于构建一种高效的 UNER 系统。
1.3 本文的方法
在绝大部分现有的 NER 工作中,普遍认为NER的核心要点在于如何准确识别实体的边界;然而我们在针对三种实体类型的共性进行深入挖掘后,认为词语之间在语义上的连接特征才是 UNER 最为关键的问题。例如图 1(a)中,识别扁平实体“aching in legs”相对而言是较为简单,因为这个实体所包含的词是天然相邻的。而要识别出非连续实体“aching in shoulders”,则一个成功的 UNER 模型需要准确高效地片为片段“aching in”和片段“shoulders”之间在语义上的邻接关系进行建模。
根据上述观察,本文将 UNER 任务转化成一种词对的关系分类任务,提出了一种新的 UNER 架构(NER as Word-Word Relation Classification),名为 W²NER。具体地,该框架的目标是将 UNER 转变为识别出实体词中所蕴含的两种类型的关系,即:
- 邻接关系(Next-Neighboring-Word,NNW);
- 头尾关系(Tail-Head-Word-*,THW-*);
如图 1(b)所示。其中 NNW 表示两个词在某个实体中相邻(如“aching”->“in”),而 THW-* 则表示两个词是某个实体的头部和尾部,且该实体类型为“*”(如“leg”->“aching”,Symptom)。具体的词对关系分类示例如图 3 所示。
▲ 图3:关系分类示例
二、模型框架
图 4 给出了 W²NER 整体的框架结构。其整体可分为三层:输入编码层,卷积特征学习层以及最后的解码层。其中解码层是本论文的核心。
▲ 图4:模型整体结构
2.1 编码层
给定一个输入句子,将每一个词转换成多个 word piece,并将他们输入预训练的 BERT 模块中。经过 BERT 计算后,使用最大池化操作将这些 word piece 表示重新聚合成词表示。为了进一步增强模型的上下文建模能力,这里再使用了一个 BiLSTM 得到最终的词表示序列。
2.2 卷积层
由于该框架的目标是预测词对中的关系,因此生成高质量的词对表示矩阵尤为重要,这里使用条件层规范化(Conditional Layer Normalization, CLN)对词对表示进行计算。受到 BERT 输入层的启发,对于卷积模块的输入,使用词对表示、位置嵌入和区域嵌入进行拼接。其中位置嵌入表示每个词对中蕴含的相对位置信息,而区域嵌入用于分隔矩阵中上下三角的区域信息。然后,将这三种类型的张量拼接,再使用一个全连接网络对特征进行混合并降低维度,再送入多个扩张卷积中进行运算,再将不同的卷积输出结果拼接起来。
2.3 解码层
在解码预测层,在使用 FFN 对卷积层输出特征进行关系预测的同时,将编码层输出特征输入 Biaffine 也进行词对关系预测,这一步可以看做是一种特殊的残差机制,将编码层的特征也利用起来。因此最后的输出为 FFN 和 Biaffine 输出的加和。
在解码阶段,模型需要处理不同的词对关系。模型的预测结果是词之间的关系,这些词和关系可以构成一个有向图,其中词是节点,关系是边。模型的解码目标则是要寻找从一个词到另一个词的由邻接关系连接起来的路径,每条路径其实代表着一个对应的实体。而头尾关系则可以用于判断实体的类型和边界,除此之外还具有消歧的作用。图 4 从易到难展示了 4 个解码类型的例子。
▲ 图5:四种不同类型样本的解码示例
三、实验结果
本文在 14 个 NER 常用数据集上(包括英文和中文)进行了实验,分别是:
- 在扁平实体识别中,使用的英文数据集为 CoNLL 2003 和 OntoNotes 5.0,中文数据集为 OntoNotes 4.0、MSRA、Weibo 和 Resume;
- 在重叠实体识别中,使用 ACE 2004 和 ACE 2005 的中英文数据,和生物领域的英文数据集 Genia;
- 在非连续命名实体识别中,使用 CADEC、ShARe13、ShARe14。
表 1-5 分别展示了上述任务和数据集上与基线模型对比的结果。实验结果表明,我们提出的基于词对关系抽取的方法,通过对邻接关系和头尾关系的识别,可以同时解决扁平实体、重叠实体和非连续实体的三种子任务,并在 14 个数据集上的效果都优于之前的工作。
▲ 表1:英文扁平命名实体识别
▲ 表2:中文扁平命名实体识别
▲ 表3:英文重叠命名实体识别
▲ 表4:中文重叠命名实体识别
▲ 表5:英文非连续命名实体识别
▲ 图6:重叠实体与非连续实体识别效果对比
通过进一步的消融实验,我们探索了不同参数和部件对整体框架的影响。此外我们模型在相对较小的参数情况下,其训练和推理速度超过了多个非连续实体识别模型。
▲ 表6:消融实验
▲ 图7:模型参数与效率对比
四、总结
本文提出了一个统一命名实体识别框架,通过对词与词之间的关系进行分类的方式同时解决三种命名实体识别子任务。通过对预先定义好的词对中的邻接关系和头尾关系分类,模型能够实现对复杂实体的解码。所提出的框架在 14 个中英文命名实体识别基准数据集上进行了实验验证,其刷新了当前最先进的基线模型,取得了目前最好的统一命名实体识别分数。
代码语言:javascript复制编辑:黄继彦校对:林亦霖