本篇博客中我将分享一篇EMNLP2019序列标注相关的论文:《Hierarchically-Refined Label Attention Network for Sequence Labeling》。
论文下载链接
开源代码
前言
如果你已经看过了序列标注专栏前面的三篇文章,相信你已经对序列标注问题有了一定了解,本专栏的第四篇博客,我将介绍一下这篇论文。NLP中很多任务都可以转换为序列标注问题,像分词、命名实体识别(NER)、词性标注等任务都属于序列标注问题。通过前面的学习,序列标注问题大体有三种主流的实现方式:1)BiLSTM-softmax(之前博客中提到的只用BiLSTM,其实是BiLSTM-softmax输出层)2)BiLSTM-CRF 3)Bert-BiLSTM-CRF/Bert-CRF(基于预训练语言模型来做,其中Bert也可以是其他变体,如XLNet、AlBert、Roberta等)。而本文提出了一种全新的模型BiLSTM-LAN,接下来我们将对其进行详细介绍。
摘要
CRF是传统统计序列标注的强力模型。对于神经序列标注,BiLSTM-CRF是主流模型,但是BiLSTM-CRF并不总是比BiLTM-softmax效果好。BiLSTM-CRF相对于BiLTM-softmax模型的优点在于它可以(显式)考虑预测标签之间的联系,添加一些约束,这一点在NER中比较明显(前几篇博客也介绍过),然而在其他序列标注任务如词性标注中并不明显。原因是简单的马尔科夫标签转换模型CRF在强大的神经编码器之上无法提供更多的信息增益。
为了更好的表示标签序列,本文提出了一个层次完善的标签注意力网络,它可以显示利用标签嵌入并捕获潜在的长期标签依赖,通过使用层次注意力机制对每个给定的单词逐步完善其标签分布。在词性标注(POS tagging)、NER和CCGsupertagging(这个任务我不是很了解)这些序列标注任务上,相比于BiLSTM-CRF,在相似的参数量下,不仅提高了整体标注准确率而且显著加速了训练和测试速度。
介绍
本文首先说明了神经序列标注目前的主流模型BiLSTM-CRF并不是万能的,在词性标注任务上,BiLSTM-Softmax取得了比BiLSTM-CRF更好的效果,而且CCG(Combinatory Categorical Grammar)supertaggers这个任务并没有使用CRF。
然后分析了其中的原因:1)神经句子(序列)编码器如BiLSTMs的强大表示能力使得模型可以从输入(单词)序列中捕获隐式的长距离标签依赖,从而允许输出层来做局部预测。 2)虽然CRF可以显式地捕获输出标签序列之间的依赖(添加一些约束),但是受限于自身的马尔科夫假设,尤其当把CRF用在神经编码器之上时。3)由于CRF预测时使用了维特比解码,当标签数量比较多(标签集合比较大时)计算代价很高。
因此,引出一个研究方向:能否用神经网络结构替代CRF来做神经序列标注,而且速度更快,性能更好。本文提出了一个新的神经网络模型来做序列标注。具体地,用一个嵌入向量表示每一个可能的标签,目的是通过RNN来编码序列的标签分布。一个主要的挑战是:对于输入序列来说,他可能对应的标签序列是指数级的(假设输入序列长为N,标签数量是L,可能的标签序列是 L N L^N LN)。我们的任务本质上就是在不做马尔科夫假设的前提下来表示一个全指数的搜索空间。
如上图所示:模型是一个包含多层的神经网络,逐层完善序列中每个单词的边缘标签分布表示。在每一层,每个单词和他的边缘标签概率一块表示。边缘分布空间自底向上逐层完善。
为了便于理解,文中接下来举了一个例子。给定上图中的句子" T h e y 1 c a n 2 f i s h 3 a n d 4 a l s o 5 t o m a t o e s 6 h e r e 7 They_1 can_2 fish_3 and_4 also_5 tomatoes_6 here_7 They1can2fish3and4also5tomatoes6here7",首先看第一层 c a n 2 f i s h 3 can_2 fish_3 can2fish3的标签分布, c a n 2 can_2 can2 0.7的概率是MD(modal verb情态动词), f i s h 3 fish_3 fish3 0.5的概率是VB(base from verb)。然后初始标签分布被送到下一层,来考虑长距离的标签依赖。在第二层,通过考虑 t o m a t o e s 6 tomatoes_6 tomatoes6以一个很高的置信度0.9被标注为NN,神经网络会学习给 f i s h 3 fish_3 fish3赋予NN标签(因为他们之间用and连接),从而导致这个模式"