【菜鸡读论文】Cross-domain Named Entity Recognition via Graph Matching
最近到了研一下学期,很多身边的同学也开始有了成果,但本菜鸡一点成果都没有【大哭】所以也没什么好写的。虽然菜鸡口头上不说,但内心也感受到非常之焦虑。最近读论文系列也没有很好的更下去,心里一直在想着五一要去哪里玩,菜并焦虑并摆烂,主打一个啥也干不好。所以这周要打起精神,好好的更新博客。
这篇文章是ACL2022的一篇关于跨域命名实体识别的论文,创新点主要是对源域和目标域标签不匹配问题提出一种将标签建模为标签图,并通过将源域和目标域的标签图进行图匹配来提升模型的预测性能。
背景
下面我们先来看一下这篇论文的提出背景:
- 跨域NER是一个实际但具有挑战性的问题,由于现实场景中的数据稀缺,获得足够的特定领域的数据通常是昂贵和耗时的。常见的做法是首先在丰富资源的一般领域学习NER模型,然后将模型适应特定领域。由于跨域实体类型之间的不匹配问题,一般领域的广泛知识不能有效地转移到目标域NER模型。
- 为此,我们将标签关系建模为一个概率分布,并在远标签控件和目标标签空间中构造标签图。为了增强标签结构的上下文表示,我们将标签图融合到BERT的单词嵌入输出中。通过将标签关系表示为图,我们将跨域NER表示为一个图匹配问题。
- 据我们所知,我们是第一个捕获跨域NER的标签图结构的人。在本研究中,我们专注于提高基于预训练-微调训练范式的跨域能力,只有目标域标记数据进行域适应。
下面我们先来看一下这个模型是如何通过标签图之间的图匹配来提高模型的性能,以下面这句“David was a member of both ACL and ICCL”为例
在本例中,“ACL”是目标域中的一个“会议(conference)”命名实体。当源域和目标域之间的标签集完美匹配时,源NER模型自然地以最高的概率预测“会议”。然后,目标模型直接从源域学习这个属性。当两个标签集不匹配时,源NER模型可以将“ACL”预测为一个“组织(organization)”,因为标签“组织”可以在源域中看到。通过源域中“ICCL”和“David”的得分分布,我们可以将它们与“ACL”的关系建模为图结构。然后,目标模型通过图匹配来学习标签结构,并正确的将“ACL”预测为“会议”。这样,即使当两个域的标签集不同时,也可以学习标签关系。
给定一个在源数据集上预训练的模型f0,在实验中假设只有目标数据集和模型f0可用,因为源数据集通常是非常大的。
接下来,我们来看一下完整的模型结构:
由于源标签集Ys和目标标签集Yt可能不匹配,所以f0不能直接应用于目标数据。一种常见的做法是将f0分为两部分:用于学习一般表示的主干网络(backbone)和用于将表示映射到标签空间的任务特定层(classifier)。在整个研究过程中,我们采用BERT作为我们的主干模型,而全连接(FC)层作为任务特定层。
Label Graph Construction
我们分别用源模型和目标NER模型的概率输出来构造源图和目标图。
我们将每个目标标签映射为源标签的概率分布。获得这个映射(即条件分布)的一种简单方法是对每个目标实体类型的所有样本的源数据的预测进行平均。
ys/yt为源/目标标签,T为平滑概率分布的温度参数,|Dt|为具有标签y的目标域训练样本数。预先训练好的模型f0被认为是一个近似于源标签ys上的概率分布p的概率模型。
接下来,我们构造源图Gs(Vs,Es),其中节点表示目标标签,边表示节点之间的语义相似性。为了消除不同维尺度的影响,我们将节点对的平均距离除以后对图节点进行归一化,以l2距离作为距离度量。
|Yt|为目标标签的数量,l2为距离函数。
然后当且仅当两个节点的距离小于阈值时,我们在两个节点之间加边。
与源图类似,我们通过微调模型f构造目标图Gt(Vt,Et)。在目标图中,节点表示目标标签,边表示在目标标签空间中度量的语义相似度。
Label Semantics Fusion
通常在NER中,一个命名实体的真实标签与上下文有关(例如,标签“研究者(researcher)”可以通过标签“会议”来推断)。在这一部分中,我们将学习到的图结构融合到BERT提供的单词上下文嵌入输出中,以建模句子的标签语义关系。
给定一个具有标签序列Y的句子X,通过主干网络可以得到每个token的上下文表示hj(第j个token的上下文表示hj)。然后,我们在微调之前随机初始化标签表示ci(第i个标签的标签表示ci)。
标签表示ci表示每种实体类型的语义含义,并在微调过程中进行学习。对于句子X,我们应用一个标签引导的注意机制来提取特定于标签的成份如下:
aij表示第j个token对第i个标签的信息丰富程度。对于每个句子,ui建模其与每个实体类型的语义相关性。这里我的理解是通过将句子中所有token与标签的相关性累加起来,可以看做是一整个句子与标签的相关性也就是可以看作一个多标签分类任务,看这句话中可能包含哪几个命名实体也就是标签。
接下来,我们利用GCN,通过在相邻节点之间传播消息,来增强每个标签特定组件的表示。
最后,我们利用token引导的注意机制,将聚合的标签特定组件融合到每个单词的上下文表示中:
我们将u的加权和映射到hi的相同空间,并将它们加在一起,允许信息融合。
根据特定任务的FC层,可以计算出NER任务的分类损失:
此外,我们还引入一个辅助任务,以确保label-specific components专注于正确的实体类型。具体地说,该模型预测了句子中出现的实体类型,这是一个多标签分类任务。辅助任务的损失计算为BCE是二进制-交叉熵的损失
Graph Structure Matching
由于源图Gs是由预先训练好的LM(预训练模型)f0构造的,因此他自然地包含了来自丰富资源领域的先验知识。在本部分中,我们利用不同标签空间中构造的标签图进行图匹配,利用源图中标签之间的语义关系。