ACL 2017 End-to-end Neural Coreference Resolution论文阅读

ACL 2017 |End-to-end Neural Coreference Resolution

  • 该文章使用端到端的神经网络模型实现指代消解,在不需要语法分析和命名实体识别的情况下,表现超过了之前的所有模型的效果。

1 问题

以往的共指消解模型都基于机器学习的方法,没有端到端的神经网络的方法

2 解决方法

提出了第一个end-to-end coreference resolution model

3 Abstract

  • 核心思想:通过考虑文档中所有的span【文本中的子串/短语】以及学习每个span可能的指代。
  • 方法:计算结合上下文相关的边界表示和【head-finding attention mechanism】寻头注意力机制的span embedding
  • 训练目标:配合上剪枝,训练得到在共指簇中可能性最大的指代span
  • 实验表现:在OntoNotes基准上 F1的增益为1.5,在5个模型集成上 F1的增益为3.1

4 Introduction

  • 解释了本文第一次使用了端到端的模型,这就意味着只需要考虑输入,通过模型即可得到输出,不依赖句法分析器。
  • 模型所完成的事:模型对包含所有span的空间进行了最大长度的推理,直接优化了来自gold coreference clusters(黄金共指聚类)的antecedent spans的边际可能性。并包括一个span-ranking model,它决定了对于每一个span,前几个span(如果有的话)中的哪一个是好的antecedent(先行词)。
  • 模型的核心是表示文档中文本span的向量嵌入,它是将上下文相关的边界表示和span的注意力机制相结合。
  • 文档长度为L, 那么计算所有span的得分的复杂度就是L的四次方,是不实际的;所以计算一元的mention【文本中的指代】得分和成对的antecedent scores,在mention 得分的基础上做剪枝,然后前值对得分的计算量就会减少很多

5 Task

将端到端的共指消解任务表示为文档中每个可能span的一组decisions.

  • 假设对于某个文档表示为 D,文档中有 T 个word,文档中就有N个可能的span (N= T(T+1)/2)

    \# 例句 I need you. 有3个word

    6种可能的子串:I |need |you |I need|I you |need you|

  • 对于某个span表示为 i ,它的头索引为START(i),尾索引为END(i),然后通过START(i)进行排序,如果START(i)相同,再比较END(i)进行排序。

  • 对于某个span表示为 i,任务是给它分配对应的antecedent(前件) yi, yi可以确定是span i的前面出现过的span或者没有前指(本身就没有/还没出现,在后面),每个yi 的可能赋值集合为Y ( i ) = {Σ,1,…,i-1 },一个虚拟的先行词Σ和所有的先行词.

  • Σ有两种可能的情况:

    (1)某个span本身不是一个实体的mention【指代

    (2)span是实体的指代,但没和之前的span形成共指

6 Model

目标:

  • 学习一个条件概率分布,使得最有可能的共指簇的概率最大:

在这里插入图片描述

​ (1)s(i, j) 表示在某个文档中,span i 和 span j 共指的得分

​ (2)计算s(i, j):1)span i 的得分(span i 是否是一个mention)

​ 2)span j 的得分(span j 是否是一个mention)

​ 3)span j 是 span i 的前指的得分(span j 是否是 span i 的前指)

​ (3)当span i 没有前指时,s(i, j) 的得分为0

在这里插入图片描述

Sm ( i )是span i 是一个mention的一元得分,sa( i , j)是二元得分,其中span j 是span i的先行词。

如何计算得分:

  • 通俗来讲就是让向量的表示【Embedding】经过一个全连接神经网络【FNN】,即获得得分
  • 模型的核心是每个可能span i 的向量表示 gi。
  • 抽取了所有span的特征向量 gi 后,需要完成两个任务,一是判断这个span是否是一个指代,二是判断任意两个span是否是coreference的关系。对于任意两个span i 和 j,它们的打分公式如下图所示,包含三部分,分别表示三个意思:span i 是一个指代吗、span j 是一个指代吗、span i 和span j 是coreference关系吗。三部分的概率计算方法也是全连接网络FFNN的方法。
    在这里插入图片描述

· 表示点积,o 表示逐元素乘法,FFNN是一个前馈神经网络,用于计算从输入向量 到输出向量的非线性映射

​ 特征向量φ ( i , j)从元数据中编码说话人和体裁信息,以及两个span之间的距离。

如何得到span的embedding表示

作者认为,对于某个span,它的上下文背景的指代span和他的span本身结构十分重要;用双向LSTM对每个span的内部和外部的信息进行编码,每个span的中心词【head word】用注意力机制进行建模。

(1)假设输入word i ,对应输入向量表示 x i { x1,. . .,xT }【i 对应的预训练的word embedding和经过charCNN得到的embedding拼接的得到的embedding】——> LSTM

(2)为了计算每个span的向量表示,首先使用bidirectional LSTMs来编码其上下文中的每个单词:

在这里插入图片描述

σ∈{ -1,1 }表示每个LSTM的方向性
在这里插入图片描述

(3)对于x* i ,使用注意力机制对word的重要单词进行学习,分配不同权重得到x^i——>进行向量拼接

在这里插入图片描述

(4)包含4部分:span的起始和终止位置的特征向量【包含这个span的起始和终止位置的特征】;这个span的attention表示向量【提取这个span表示的核心信息,比如the black cat中cat是核心信息】;以及一些额外的特征。

在这里插入图片描述

剪枝:

  • 计算完每个span的得分后,对得分高的保留,得分低的剪掉;对于保留下来的,每个span也只考虑指定个数的前指。降低计算量的同时,仍然有不错的召回率。

优化目标:

在训练数据中,只观察到聚类信息。由于前因是潜在的,我们优化了Gold聚类隐含的所有正确前因的边缘对数似然:

在这里插入图片描述

GOLD ( i )是包含span i的正确簇中span的集合。如果span i不属于一个正确簇或者所有的先行词都被剪枝,则GOLD ( i ) = { Σ}

模型图:

从下至上

在这里插入图片描述

mention score这里进行了剪枝

在这里插入图片描述

在这里插入图片描述

7 Experiments

  • 使用CoNLL-2012的英文指代消解英文数据集,训练集2802个文档,验证集343个文档,测试集348个文档。训练集平均每个文档有454个字,最长的文档有4009个字。

  • 实验效果

    在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值