记录:读Attending to Characters in Neural Sequence Labeling Models
读Attending to Characters in Neural Sequence Labeling Models
作者Rei M, Crichton G K O, Pyysalo S. Proceedings of COLING 2016
目录
-
Motivation
-
Major Work
-
Approach
-
Experiment
-
Conclusion
1 Motivation
解决之前词嵌入遇到没见过或者频率低的词表示不准确的问题,之前已经有人提出,使用character-level 词表示,本文作者在此基础上,提出了一种新的信息结合(将character-level 的词表示和word-level的词表示结合)的方式--attention 机制。
2 Major Work
本文作者在类似 Lample et al. (2016)的Bi-LSTM模型结合character-level Embedding的想法的基础之上,针对character-level Embedding与word-level Embedding 的结合方式上做了改进--将Attention机制用到两种词向量的结合。(character-level主要解决了不在查找表中的词以及频率低的词表示不准确的问题)。
3 Approach
3.1 整体架构
输入词向量,经过Bi-LSTM获得词的上下文信息表示后拼接得到context-dependent的词表示,喂给最后一个隐层--为了使该词所有可能标签得到其最大的得分,最后喂给CRF层(加了个标签转移得分后softmax概率化得分)取最大概率的标签输出,如下图Figure 1.
3.2 结合方式
3.2.1 拼接
\(\widetilde{x}\) = [x;m]:(类似Collobert R et.al. 2011中的拼接方式)根据RNN特性取\(\overleftarrow{h^*_1}\)和\(\overrightarrow{h^*_3}\)拼接成m,如假设rbig=(0.2,0.3,0.4)、lbig=(0.8,0.7,0.4)->m=(0.2,0.3,0.4,,0.8,0.7,0.4),(拼接后中间经过一个带有tanh激活函数的非线性层变换得到m)又如x=(0.9,1.2,3) (from LTW),再将m与x以此种方式拼接形成新的x,如下图Figure 2 左。
3.2.2 Attention
截止到m步骤都一样,m为character-level 词嵌入表示,本文作者主要通过使用两层网络将x和m进行权重求和,而不再采用将两个列向量拼接成一个大的列向量的方式。因此由于W_z权重矩阵也是通过网络训练得到,动态变化,因此z中包含的x,m信息也在不断变化,最后针对每个词得到的新的表示\(\widetilde{x}\),模型就可以动态的决定如何结合m、x的信息(即分别使用多少m的信息和使用多少x的信息),也是不断优化的过程。如图Figure 2 右,以及下图为这两层的原理。
补充:
本文作者为了使character-level 词表示和word-level的此表示更加接近,对损失函数额外增加一项如下图。
个人认为由于只要在词表中可以查到的此表示大部分都是频率较高的,那么也就代表有大量的训练数据支撑word-level表示,那么word-level表示基本比较准确,那么此时字符级的词表示必然要与词级别的词表示不相似,否则就不合逻辑了,而对于out of vocabulary的词,统一用OOV这个向量表示必然对于没见过的词表示的不是很贴切或者说不如character-level词表示贴切,所以此时我们不要使字符级别的此表示与OOV相似--即上图中的\(g_t\)函数所展示的信息,这个余弦相似度项只针对 not out of vocabulary的词。
4 Experiment
主要使用不同来源且针对不同任务的八个数据集,如下图,可以看到在不同任务的不同数据集中attention-based的实验结果均好于使用拼接方式的结果。
5 Conclusion
本文作者将attention机制用于character-level 词表示和word-level 词表示结合上,实验证明比直接拼接的方式性能上有一定的提升。
参考
[1] Rei M, Crichton G K O, Pyysalo S. Attending to Characters in Neural Sequence Labeling Models. Proceedings of NAACL-HLT 2016