中文NER2 之 Fast and Accurate Entity Recognition with Iterated Dilated Convolutions

NER2 之EMNLP-- Fast and Accurate Entity Recognition with Iterated Dilated Convolutions

论文:https://arxiv.org/abs/1702.02098

提升速度:

传统的Bi-LSTM加CRF的方式,虽然取得了很好的NER结果,但是无法很好的利用GPU的并行处理能力。
所以这篇文章提出了ID-CNNs。不像LSTM处理长度N的字符串,需要时间O(N),ID-CNNs能够提供一个固定深度的卷积去并行计算整个文本。最后的效果,相比于bi-lstm-crf, 是14到20倍的速度提升。

CNN可以很好的实现并行,但是CNN的表征网络宽度受限制,多宽就只能看到多宽的input context。在一个堆叠的CNN的网络中,卷积宽度为w,在第l层被观察到r个数量的context token, r = l (w -1) + 1 。 所需要堆叠的层数,随着输入长度的增加会增加。避免这的发生,可以使用poolling的方式,但是它不合适,因为它减少了表征的维度,从而造成信息的丢失。ID-CNN(2016) 被提出来,可以很好解决这种问题。

在ID-cnn中,模型的识别输入有效的宽度可以随着CNN深度的的增加而指数级增加。ID-cnn也是滑动window,不需要连续滑动; dilated window跳跃每个 宽度d的dilation的input。通过叠加ID-CNN能够去覆盖整个长度的文本,之间的数量关系为: 感受的文本长度=2l+1 -1,l为层数。 如:4个宽度3的ID-CNN叠在一起,可以感知的字符长度是31,这个长度都要长于Penn TreeBank中的句子。

这里ID-CNN都是使用同样模块的ID卷积对每个字符,其中参数共享可以防止过拟合问题并且也能有机会在网络中间的注入一些监督信息。和Rnn一样的逻辑,这里提供两种预测的方法:1.模型直接独自预测每个字符的类别标签 2.通过Viterbi推理。

在CoNLL2003和 OntoNotes 英文NER任务的实验中,ID-CNN速度很快,并且F1性能相当与其他序列模型。模型直接单独预测每个字符类别的方法实验中,性能要比BiLSTM好;性能跟BiLSTM+CRF相当,但是速度在解码的时候要快8倍。

模型的设计:

CNN在NLP中是一维卷积,跟在图像中的二维卷积不一样。在这里的设计中,一个卷积神经网络达到的效果是和Affine Transformation(仿射变换)等价。
在这里插入图片描述

Wc 卷积核
r 文本的长度
ct 输出
δ 卷积中间隔的大小,就是空洞大小
⊕ 向量concate进行拼接

在实验中,一味的堆积Dilated CNN的层数会造成过拟合的问题,于是提出了Iterated Dilated CNNs。原始的堆叠方法是每个dilated CNN的输出,作为下一个dilated CNN的输入。ID-CNNs是中间DCNN层的参数一样,即共享。这就和rnn的序列循环一样了。
在这里插入图片描述
xt 文本序列的embedding向量
Dδ(j) j层的dilation宽度 δ, 第一层dilated CNN的系数是1,也就是无空洞,卷积元素之间无间隔。
it 第一层的输出, 后面层是用ct(j) 。所以ct(0) = it
r() 激活函数Relu

倒数第二层的表示为
在这里插入图片描述
最后一层表示为
在这里插入图片描述
这个堆叠的结构的每一层可以当作一个block B(.),它的输出维度和输入维度相同。为了防止过拟合,这里循环B的block Lb次。
最开始为bt1=B(it):
在这里插入图片描述

最后应用一个affine transformation W0变换,来获得每个字符的分类分数
在这里插入图片描述

模型的训练:

当采用第一种情况,即不后置CRF,而直接输出分数时。则训练方法很简单,直接求最大likelihood的方式进行就行了。
在这里插入图片描述
T表示文本长度,yt表示真实的标签,ht表示ID-CNN最后层的输出值。

当采用第二种情况,即后接CRF。在推理的时候,不用进行精确的预测; 每一个block的输出,都是可以作为预测结果的。
后面的block,可以学习去纠正它前面block的错误依赖,最后可以refine最终的预测结果。因为前面的block输出,会进后面block。
在这里插入图片描述
htk = W0btk
Lb 表示block的个数

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值