PIQN:Parallel Instance Query Network for Named Entity Recognition

原文链接:https://aclanthology.org/2022.acl-long.67.pdf

ACL 2022

介绍

问题

         将命名实体识别任务作为阅读理解任务(MRC:machine reading comprehensive)来做,存在3个问题

        1)一类问题只能提取一种实体,对于句子中的多种实体需要多个类别的问题才行;

        2)这样提取的不同实体之间是相互独立的,忽略了它们之间的联系;

        3)问题的构建依赖于外部知识库,不使用于有多种实体类型的场景。

IDEA 

        因此作者提出了PIQN,该模型设置了全局可学习的实例query,不再依赖于外部知识库和人工手动构建实例query,以并行的方式来从句子中提取实体。 

方法

         模型包括三个部分:encoder实体预测动态标签分配。总体结构如下图所示:

         对输入的句子和实例query进行编码后,使用Entity Pointer和Entity Classifier对每个实例query进行实体定位和实体分类。训练模型时,引入动态标签分配来将gold实体分配给实例query(因为这里的实例query并不是一个真正的问题,而是可学习的向量,也就不能提前对每个实例query分配gold实体)。

Encoder

         将长度为N的句子X和长度为M的实例query进行concate后输入encoder进行编码。

Input Embedding

        按如下方法计算输入两个句子的token embedding、position embedding、type embedding:

其中V表示输入句子的token embedding,I表示实例query的token embedding;P^{w}P^{q}分别表示sentence和query可学习的位置向量;U^{w}U^{q}分别表示sentence和query的类别向量,[.]^{N}表示重复N次。即输出可以表示为:

One-Way Self-Attention 

         普通的自注意力机制会让输入的句子和所有的query进行交互,但随机初始化的query反而会打破句子的语义。因此为了保证句子语义独立于query,使用以下方法来代替bert之间的自注意力机制:

 

        M表示注意力分数的{0,-inf}掩码矩阵,其中0表示保留原句,-inf表示需要删除。防止句子编码对实例query的关注,将M的右上角N*M的子矩阵设置为全-inf矩阵,其他元素皆为0。另外,实例query之间的自注意能够对他们之间的联系进行建模,提升他们的query语义。在BERT后,还使用了两层的Bi-LSTM和L层的transformer来对句子进行单词级别的编码。最后将H分为句子编码H^{w}和query编码H^{q}

Entity Prediction

        包括实体定位和实体分类两个部分,分别使用Entity Pointer和Entity Classifier两个方法实现。

Entity Pointer

         对于第i个实例query,首先通过两个线性层来与句子的每个单词进行交互。第i个实例query和第j个词的融合表征如下所示:

        其中 \delta \subseteq {(l,r)}分别表示左右边界,W_{\delta }^{q}W_{\delta }^{w}是可学习的参数。

        计算句子中第j个词是左右边界的可能性,其中W_{\delta }b_{\delta }都是可学习的参数。

Entity Classifier

        使用P^{\delta }_{i} = [P_{i0}^{\delta },P_{i1}^{\delta }...P_{iN-1}^{\delta }]衡量每个word并将其与实例query i 进行concate,即第i个实例query的边界敏感的表征表示为(其中W_{t}^{q}是可学习的参数): 

        第i个实例query所查询到的实体属于类别c的概率为:

         最后第i个query提取出的实体表示为T_{i} = (T_{i}^{l}, T_{i}^{r}, T_{i}^{t}),其中T_{i}^{l} = argmax_{j}(P_{ij}^{l})T_{i}^{r} = argmax_{j}(P_{ij}^{r})表示左右边界,T_{i}^{t} = argmax_{c}(P_{ic}^{t})表示实体类型。在使用实体query去并行地提取实体时,如果存在多个实体query对相同边界的实体预测不同的类型时,选择分类可能性最高的类别。

Dynamic Label Assignment for Training 

Dynamic Label Assignment 

         任何实体都能被分配给任何实例query,产生的代价各不相同。定义将第k个实体分配给第i实例query的代价为:

         为每个query分配一个实体,为每个实体最多分配一个query,以使分配代价最小化的方法分配尽可能多的实体。但这种一对一的方法不能对实例query进行充分的利用(query>>entity),许多实例query并没有分配到实体。因此作者将传统的LAP扩展到一对多(可以看作是二部图的最大匹配?使用匈牙利算法解决),即每个实体能被分配给多个实例query。一对多的LAP优化目标定义为:

         A\subseteq{\left \{ 0,1 \right \}}^{M*G} 表示分配矩阵,G表示实体的数量 Aik=1表示第k个实体被分配给第i个实例query,qk表示第k个实体的分配次数。由于实例query的数量比实体数量多,因此有些query就没有分配到实体,因此对分配矩阵扩展一列得到\hat{A},新增一列的向量定义如下所示:

Training Objective

         使用边界损失和分类损失来优化该模型。对于左右边界的预测,使用二进制交叉熵损失:

        对于实体分类,使用交叉熵损失:

         其中1[w]表示指标(indicator)函数,当w为真时取1,否则取0;

        在每个transformer层后增加Entity Pointer和Entity Classifier,因此总loss定义为( r表示t层的分类损失和边界损失):

实验

对比实验 

         在5个嵌套命名实体识别数据集上的结果如下图所示:

         在4个flat命名实体识别的数据集上进行实验,结果如下图所示:

         与query-based的方法(Li et al.2020b)相比,我们的模型在 GENIA, ACE04, ACE05、 KBP17四个数据集上分别提升了+2.85%、+2.16%、+0.54%和+3.53%。有以下三个原因:

1)实例query不依赖于外部知识来注入语义,自适应第学习query语义,避免了因手动建造query质量参差不齐的敏感性。2)每个query不再预测一组特定类别的实体,而是只预测一个实体。这种方法将查询细化到实体层次,具有更精确的查询语义。3)实例query并行地输入到模型中进行编码和预测,不同的实例query能够利用实体之间的内在联系。

消融实验

         作者对模型的部分方法进行了消融实验,结果如下所示:

         作者对模型的推理速度进行了实验,结果如下所示:

        可以看出我们的模型不仅效果更好,速度也更快。因为Li提出的模型,一个query对应一个特定类别的实体,而我们的模型能够将所有的query并行地提取实体。 

Analysis

        为了分析实例query在训练过程中学习到的query语义,随机选择了几个实例query来分析它们预测的实体位置和类型。 

        对实体的预测中心位置进行归一化处理,并使用内核密度估计得到不同查询预测实体位置的分布。结果如下图所示:

         可以看出不同的实体query聚焦于不同位置的实体,表示实例quey能够学到与实体位置有关的query语义。例如#28、#39倾向于预测在句子前面的实体,#11、#53更倾向于句尾处的实体。

        作者计算了不同实例query预测不同实体的概率,如下图所示:

        可以看出不同的实例query对预测不同的实体类型有差别。例如#11和#13更偏向于预测PER实体,而#30和#43更偏向于预测VEH实体。

Case Study

         下表展示了模型预测的一个实例。

         case1中,对于长度为31的实体和三层嵌套实体,模型都预测正确。并且由于一对多的动态标签分配,导致一个实体可由多个实例query预测出,保证了实体预测的高覆盖率。但模型对于句子的理解有所欠缺,表现在以下方面:

        1)对特殊短语的理解存在缺陷;如case2中的Yahoo!communications Services被错误的归类为ORG,实际Yahoo才是ORG。

        2)过于关注于local语义;如case3中,将Venezuelan consumer(委内瑞拉消费者)错误分类为PER,忽略了semantics of the long phrase the Venezuelan consumer protection agency(委内瑞拉消费者保护机构)这个长句的ORG语义。

        3)对形态变化不敏感;在case3中混淆了Venezuelan(委内瑞拉人)和Venezuela(委内瑞拉),把前者误判为GPE。

总结 

         将NER问题视为MRC问题来解决,并提出使用全局可学习的实例query来代替之前工作中特定的query(最开始没用理解到该模型学习的是代表query的一堆向量,还以为是对一些具体的句子进行学习,还寻思这个怎么去改变句子中的一些词吗?虽然本来具体的问题也会经过encoder后变成embeding,但感觉将具体的问题变为一堆抽象的向量来完成query还挺有意思的,),在多个数据集上达到了sota的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值