【原文链接】:End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF - ACL Anthology
【译者水平有限,如有不恰当之处请以原文为准】
摘要
最先进的序列标记系统传统上需要大量的任务特定知识,如手工特征和数据预处理。本文介绍了一种新的神经网络架构,该架构通过使用双向LSTM、CNN和CRF的组合,自动从单词和字符级表示中受益。我们的系统是真正的端到端,不需要特征工程或数据预处理,因此适用于广泛的序列标记任务。我们在两个序列标记任务的两个数据集上评估了我们的系统——用于词性(POS)标记的Penn Treebank WSJ语料库和用于命名实体识别(NER)的CoNLL 2003语料库。我们在这两个数据集上都获得了最先进的性能——POS标记的准确率为97.55%,NER的F1准确率为91.21%。
1.引言
语言序列标注,如词性标注和命名实体识别,是深度语言理解的第一阶段之一,其重要性在自然语言处理领域得到了广泛认可。自然语言处理(NLP)系统,如句法解析(Nivre和Scholz,2004;McDonald等人,2005;Koo和Collins,2010;Ma和赵,2012a;Ma和赵,2012b;Chen和Manning,2014;Ma和Hovy,2015)和实体共指解析(Ng,2010;Ma等人,2016),正变得越来越复杂,部分原因是利用了POS标记或NER系统的输出信息。
大多数传统的高性能序列标记模型是线性统计模型,包括隐马尔可夫模型(HMM)和条件随机场(CRF)(Ratinov和Roth,2009;Passos等人,2014;Luo等人,2015),这些模型严重依赖手工制作的特征和特定任务的资源。例如,英语POS taggers受益于精心设计的单词拼写特征;NER广泛使用拼写特征和地名词典等外部资源。然而,开发这种特定任务的知识成本很高(马和夏,2014),使得序列标记模型难以适应新任务或新领域。
在过去的几年里,以分布式单词表示为输入的非线性神经网络,也称为单词嵌入,已被广泛应用于NLP问题并取得了巨大成功。Collobert等人(2011)提出了一种简单但有效的前馈中性网络,该网络通过在固定大小的窗口内使用上下文对每个单词的标签进行独立分类。最近,循环神经网络(RNN)(Goller和Kuchler,1996)及其变体,如长短期记忆(LSTM)(Hochreiter和Schmidhuber,1997;Gers等人,2000)和门控循环单元(GRU)(Cho等人,2014),在序列数据建模方面取得了巨大成功。已经提出了几种基于RNN的神经网络模型来解决序列标记任务,如语音识别(Graves等人,2013)、POS标记(Huang等人,2015)和NER(Chiu和Nichols,2015;Hu等人,2016),实现了与传统模型的竞争性能。然而,即使是使用分布式表示作为输入的系统,也使用这些来增强而不是取代手工制作的特征(例如单词拼写和大写模式)。当模型仅依赖于神经嵌入时,它们的性能会迅速下降。
本文提出了一种用于序列标记的神经网络架构。它是一个真正的端到端模型,除了在未标记的语料库上进行预训练的单词嵌入外,不需要特定任务的资源、特征工程或数据预处理。因此,我们的模型可以很容易地应用于不同语言和领域的各种序列标记任务。我们首先使用卷积神经网络(CNN)(LeCun等人,1989)将单词的字符级信息编码到其字符级表示中。然后,我们将字符和单词级表示结合起来,并将其输入双向LSTM(BLSTM),以对每个单词的上下文信息进行建模。在BLSTM之上,我们使用顺序CRF来联合解码整个句子的标签。我们在两个语言序列标记任务上评估了我们的模型——Penn Treebank WSJ的POS标记(Marcus等人,1993)和CoNLL 2003共享任务的英语数据的NER(Tjong Kim Sang和De Meulder,2003)。我们的端到端模型优于之前最先进的系统,POS标记的准确率为97.55%,NER的F1为91.21%。这项工作的贡献是(i)提出了一种用于语言序列标记的新型神经网络架构。(ii)在两个经典NLP任务的基准数据集上对该模型进行实证评估。(iii)通过这种真正的端到端系统实现最先进的性能。
2.神经网络结构
在本节中,我们将描述神经网络架构的组件(层)。我们从下到上逐一介绍神经网络中的神经层。
2.1 CNN用于字符级表示
先前的研究(Santos和Zadrozny,2014;Chiu和Nichols,2015)表明,CNN是一种从单词字符中提取形态信息(如单词的前缀或后缀)并将其编码为神经表示的有效方法。图1显示了我们用来提取给定单词的字符级表示的CNN。CNN类似于Chiu和Nichols(2015)的CNN,除了我们只使用字符嵌入作为CNN的输入,没有字符类型特征。在将字符嵌入输入到CNN之前,应用一个dropout层(Srivastava等人,2014)。

图1:用于提取单词字符级表示的卷积神经网络。虚线箭头表示在将字符嵌入输入到CNN之前应用的dropout层。
2.2 双向LSTM
2.2.1 LSTM单元
循环神经网络(RNN)是一个强大的连接主义模型家族,通过图中的循环捕捉时间动态。尽管从理论上讲,RNN能够捕获长距离依赖关系,但在实践中,由于梯度消失/爆炸问题,它们会失败(Bengio等人,1994;Pascanu等人,2012)。LSTM(Hochreiter和Schmidhuber,1997)是RNN的变体,旨在应对这些梯度消失问题。基本上,LSTM单元由三个乘法门组成,它们控制着遗忘和传递到下一个时间步的信息比例。图2给出了LSTM单元的基本结构。

图2:LSTM单元示意图。
从形式上讲,在时间t更新LSTM单位的公式是:

其中σ是元素式sigmoid函数,⊙是元素式乘积。xt是时间t的输入向量(例如单词嵌入),ht是存储时间t(及之前)所有有用信息的隐藏状态(也称为输出)向量。Ui,Uf,Uc,Uo表示输入xt的不同门的权重矩阵,Wi,Wf,Wc,Wo是隐藏状态ht的权重矩阵。bi,bf,bc,bo表示偏置向量。应该指出的是,我们的LSTM公式中没有包括peephole连接(Gers等人,2003)。
2.2.2 BLSTM
对于许多序列标记任务,同时访问过去(左)和未来(右)上下文是有益的。然而,LSTM的隐藏状态ht只从过去获取信息,对未来一无所知。双向LSTM(BLSTM)是一种优雅的解决方案,其有效性已被先前的工作所证明(Dyer等人,2015)。基本思想是将每个序列向前和向后呈现为两个单独的隐藏状态,分别捕获过去和未来的信息。然后将这两个隐藏状态连接起来,形成最终输出。
2.3 CRF
对于序列标记(或一般结构化预测)任务,考虑邻域中标签之间的相关性并联合解码给定输入句子的最佳标签链是有益的。例如,在词性标注中,形容词后面更有可能跟名词,而不是动词,在具有标准BIO2注释的NER中(Tjong Kim Sang和Veenstra,1999),I-ORG不能跟在I-PER后面。因此,我们使用条件随机场(CRF)对标签序列进行联合建模(Lafferty等人,2001),而不是独立解码每个标签。
形式上,我们使用z={z1,··,zn}来表示一个通用的输入序列,其中zi是第i个单词的输入向量。y={y1,··,yn}表示z的通用标签序列。y(z)表示z的可能标签序列集。序列CRF的概率模型定义了给定z的所有可能标签序列y上的条件概率p(y|z;W,b)族,形式如下:

其中ψi(y′,y,z)=exp(WTy′,y zi+by′,y)是势函数,WTy′,y和by′,y分别是与标签对(y′,y)对应的权重向量和偏差。
对于CRF训练,我们使用最大条件似然估计。对于训练集{(zi,yi)},似然性的对数(也称为对数似然性)由下式给出:

最大似然训练选择参数,使对数似然L(W,b)最大化。
解码是搜索具有最高条件概率的标签序列y∗:

对于序列CRF模型(仅考虑两个连续标签之间的相互作用),采用维特比算法可以有效地解决训练和解码问题。
2.4.4 BLSTM-CNNs-CRF
最后,我们通过将BLSTM的输出向量馈送到CRF层来构建我们的神经网络模型。图3详细说明了我们的网络架构。
对于每个单词,字符级表示由图1中的CNN计算,字符嵌入作为输入。然后,将字符级表示向量与单词嵌入向量连接起来,馈入BLSTM网络。最后,将BLSTM的输出向量馈入CRF层,共同解码最佳标签序列。如图3所示,在BLSTM的输入和输出向量上都应用了dropout层。实验表明使用dropout层显著提升了模型的性能(详见第4.5节)。

图3:我们神经网络的主要架构。图1中的CNN计算了每个单词的字符表示。然后,在输入BLSTM网络之前,将字符表示向量与单词嵌入连接起来。虚线箭头表示BLSTM的输入和输出向量上应用的dropout层。
3.网络训练
在本节中,我们将提供有关训练神经网络的详细信息。我们使用Theano库实现神经网络(Bergstra等人,2010)。单个模型的计算在GeForce GTX TITAN X GPU上运行。使用本节讨论的设置,模型训练需要大约12小时用于POS标记,8小时用于NER。
3.1参数初始化
单词嵌入。我们使用斯坦福大学公开的GloVe 100维嵌入(http://nlp.stanford.edu/projects/ glove/),该嵌入基于维基百科和网络文本中的60亿个单词进行训练(Pennington等人,2014)。我们还对另外两组已发布的嵌入进行了实验,即在维基百科和路透社RCV-1语料库上训练的Senna 50维嵌入(http://ronan.collobert.com/senna/ )(Collobert等人,2011),以及在谷歌新闻的1000亿个单词上训练的谷歌Word2Vec 300维嵌入(https://code.google.com/archive/p/ word2vec/)(Mikolov等人,2013)。为了测试预训练词嵌入的有效性,我们尝试了100维的随机初始化嵌入,其中嵌入是从范围[−√(3/dim),+√(3/dim)]中均匀采样的,其中dim是嵌入的维度(He等人,2015)。第4.4节讨论了不同单词嵌入的性能。
字符嵌入。字符嵌入是用来自[−√(3/dim),+√(3/dim)]的均匀样本初始化的,其中我们设置dim=30。
权重矩阵和偏置向量。矩阵参数用来自[−√(6/r+c),+√(6/r+c)]的均匀样本随机初始化,其中r和c是结构中的行数和列数(Glorot和Bengio,2010)。偏置向量被初始化为零,除了LSTM中遗忘门的偏置bf被初始化为1.0(Jozefowicz等人,2015)。
3.2优化算法
参数优化是通过批量大小为10、momentum为0.9的小批量随机梯度下降(SGD)进行的。我们选择初始学习率为η0(POS标记为η0=0.01,NER为0.015,见第3.3节),学习率在每个训练周期更新为ηt=η0/(1+ρt),衰减率为ρ=0.05,t为完成的周期数。为了减少“梯度爆炸”的影响,我们使用5.0的梯度clipping(Pascanu等人,2012)。我们探索了其他更复杂的优化算法,如AdaDelta(Zeiler,2012)、Adam(Kingma和Ba,2014)或RMSProp(Dauphin等人,2015),但在我们的初步实验中,它们都没有对具有momentum和梯度clipping的SGD进行有意义的改进。
早停。我们根据验证集的性能使用早停(Giles,2001;Graves等人,2013)。根据我们的实验,“最佳”参数出现在大约50个epoch。
微调。对于每个嵌入,我们微调初始嵌入,在神经网络模型的梯度更新期间通过反向传播梯度对其进行修改。该方法的有效性之前已在序列和结构化预测问题中进行了探索(Collobert等人,2011;Peng和Dredze,2015)。
dropout训练。为了减轻过拟合,我们应用dropout方法(Srivastava等人,2014)来规范我们的模型。如图1和图3所示,我们在输入到CNN之前对字符嵌入以及BLSTM的输入和输出向量应用dropout。在所有实验中,我们将所有dropout层的dropout率固定为0.5。使用dropout后,我们的模型性能得到了显著改善(见第4.5节)。
3.3 调整超参数
表1总结了所有实验的选定超参数。我们通过随机搜索来调整开发集上的超参数。由于时间限制,在整个超参数空间内进行随机搜索是不可行的。因此,对于POS标记和NER的任务,我们试图共享尽可能多的超参数。请注意,除了初始学习率之外,这两个任务的最终超参数几乎相同。我们将LSTM的状态大小设置为200。调整此参数不会显著影响我们模型的性能。对于CNN,我们使用30个窗口长度为3的过滤器。

表1:所有实验的超参数。
4.实验
4.1数据集
如前所述,我们在两个序列标记任务上评估我们的神经网络模型:POS标记和NER。

表2:企业统计。SENT和TOKEN是指每个数据集中的句子和token的数量。
POS标签。对于英文POS标签,我们使用Penn Treebank(PTB)的《华尔街日报》(WSJ)部分(Marcus等人,1993),其中包含45个不同的POS标签。为了与之前的工作进行比较,我们采用了标准分割——第0-18节作为训练数据,第19-21节作为开发数据,第22-24节作为测试数据(Manning,2011;Søgaard,2011)。
NER。对于NER,我们对CoNLL 2003共享任务中的英语数据进行了实验(Tjong Kim Sang和De Meulder,2003)。此数据集包含四种不同类型的命名实体:PERSON、LOCATION、ORGANIZATION和MISC。我们使用BIOES标记方案而不是标准BIO2,因为之前的研究报告了该方案的有意义改进(Ratinov和Roth,2009;Dai等人,2015;Lample等人,2016)。
语料库统计如表2所示。我们没有对数据集进行任何预处理,使我们的系统真正端到端。
4.2 主要结果
我们首先进行实验,通过消融研究来剖析我们神经网络架构的每个组件(层)的有效性。我们比较了三种基线系统的性能——BRNN:双向RNN;BLSTM:双向LSTM;和BLSTM-CNNs:BLSTM与CNN的结合,用于模字符级信息。所有这些模型都是使用斯坦福大学的GloVe 100维词嵌入和表1所示的相同超参数运行的。根据表3所示的结果,BLSTM在两个任务的所有评估指标上都比BRNN获得了更好的性能。BLSTM-CNN模型的表现明显优于BLSTM模型,表明字符级表示对于语言序列标记任务很重要。这与先前工作报告的结果一致。(Santos and Zadrozny, 2014; Chiu and Nichols, 2015)。最后,通过添加CRF层进行联合解码,我们在所有指标上都对POS标记和NER的BLSTM-CNN模型进行了显著改进。这表明,联合解码标签序列可以显著提高神经网络模型的最终性能。

表3:我们的模型在两个任务的开发和测试集上的性能,以及三个基线系统。
4.3 与之前工作的比较
4.3.1 POS标记
表4显示了我们的POS标记模型的结果,以及之前用于比较的七个顶级性能系统。我们的模型明显优于Senna(Collobert等人,2011),Senna是一种使用大写和离散后缀特征以及数据预处理的前馈神经网络模型。此外,我们的模型在准确性上比“CharWNN”提高了0.23%(Santos和Zadrozny,2014),后者是一种基于Senna的神经网络模型,也使用CNN对特征级表示进行建模。这证明了BLSTM对序列数据建模的有效性,以及使用结构化预测模型进行联合解码的重要性。
与传统的统计模型相比,我们的系统达到了最先进的精度,比Søgaard(2011)之前报告的最佳结果提高了0.05%。值得注意的是,Huang等人(2015)还评估了他们在《华尔街日报》语料库上用于POS标记的BLSTM-CRF模型。但他们使用了不同的训练/开发/测试数据集分割方法。因此,他们的结果与我们的结果没有直接可比性。

表4:我们的模型在PTB的WSJ部分测试数据上的POS标记准确性,以及顶级性能系统。基于神经网络的模型用‡标记。
4.3.2 NER
表5显示了CoNLL-2003共享任务测试数据集上NER先前模型的F1得分。为了进行比较,我们将他们的结果与我们的结果一起列出。与POS标记的观察结果类似,我们的模型比Senna和其他三个神经模型(即Huang等人(2015)提出的LSTM-CRF,Chiu 和 Nichols在2015年提出的LSTM-CNNs,以及Lample等在2016年提出的LSTMCRF)有了显著改进。Huang等人(2015)利用了离散拼写、POS和上下文特征,Chiu和Nichols(2015)使用了字符类型、大写和词汇特征,这三个模型都使用了一些特定任务的数据预处理,而我们的模型不需要任何精心设计的特征或数据预处理。我们必须指出,Chiu和Nichols(2015)报告的结果(90.77%)与我们的结果不可比,因为他们的最终模型是在训练和开发数据集的组合上训练的(我们使用相同的设置进行实验,得到了91.37%的F1分数)。
据我们所知,之前在CoNLL 2003数据集上报告的最佳F1得分(91.20)(数字取自原始论文的表3(Luo等人,2015)。虽然精确度(91.5%)、召回率(91.4%)和F1分数(91.2%)之间存在明显的不一致,但尚不清楚它们在哪些方面是不正确的。)是通过联合NER和实体链接模型得出的(Luo等人,2015)。该模型使用了许多手工制作的功能,包括词干和拼写功能、POS和组块标签、WordNet集群、Brown集群,以及Freebase和维基百科等外部知识库。我们的端到端模型将该模型略微提高了0.01%,从而产生了最先进的性能。

表5:CoNLL-2003测试数据集上我们模型的NER F1得分。为了进行比较,我们还列出了之前表现最好的系统的F1得分。‡标记神经模型。
4.4单词嵌入
如第3.1节所述,为了测试预训练词嵌入的重要性,我们使用不同的公开发布的词嵌入集以及随机抽样方法进行了实验,以初始化我们的模型。表6给出了三种不同的词嵌入以及随机采样的词嵌入的性能。根据表6中的结果,与使用随机嵌入的模型相比,使用预训练词嵌入的模型有了显著的改进。比较这两个任务,NER比POS标记更依赖预训练嵌入。这与先前工作报告的结果一致(Collobert等人,2011;Huang等人,2015;Chiu和Nichols,2015)。

表6:两项任务中不同单词嵌入选择的结果(POS标记的准确性和NER的F1)。
对于不同的预训练嵌入,斯坦福大学的GloVe 100维嵌入在这两项任务上都取得了最佳结果,与Senna 50维嵌入相比,POS精度提高了约0.1%,NER F1得分提高了0.9%。这与Chiu和Nichols(2015)报告的结果不同,Senna在NER上的表现略优于其他嵌入。谷歌的Word2Vec 300维嵌入在POS标记方面与Senna的性能相似,但仍略落后于GloVe。但对于NER来说,Word2Vec的性能远远落后于GloVe和Senna。Word2Vec在NER上不如其他两个嵌入的一个可能原因是词汇不匹配——Word2Vec嵌入是以区分大小写的方式训练的,不包括标点符号和数字等许多常见符号。由于我们不使用任何数据预处理来处理这些常见符号或罕见单词,因此使用Word2Vec可能会出现问题。
4.5 dropout的效果
表7比较了每个数据集有和没有dropout层的结果。所有其他超参数与表1中的相同。我们观察到这两项任务都有实质性的改进。它证明了dropout在减少过拟合方面的有效性。

表7:两项任务中有和没有dropout的结果(POS标记的准确性和NER的F1)。
4.6 OOV误差分析
为了更好地理解我们模型的行为,我们对词汇外单词(OOV)进行了错误分析。具体来说,我们将每个数据集划分为四个子集——词汇内单词(IV)、训练外单词(OOTV)、嵌入外单词(OOKV)和两个词汇外单词(OOBV)。如果一个单词同时出现在训练和嵌入词汇中,则被视为IV,而如果两者都没有出现,则被认为是OOBV。OOTV词是指没有出现在训练集中,而是出现在嵌入词汇中的词,而OOEV是指不出现在嵌入词集中,而是在训练集中的词。对于NER,如果一个实体至少有一个单词不在训练集中,至少一个单词没有在嵌入词汇表中,并且其他三个子集可以以类似的方式完成,则该实体被视为OOBV。表8显示了每个语料库的分区统计数据。我们使用的嵌入是斯坦福大学的GloVe,维度为100,与第4.2节相同。

表8:每个语料库的分区统计。它列出了POS标记的每个子集的令牌数量和NER的实体数量。
表9显示了我们的模型在不同单词子集上的性能,以及用于比较的基线LSTM-CNN模型。最大的改进出现在两个语料库的OOBV子集上。这表明,通过添加CRF进行联合解码,我们的模型在训练集和嵌入集之外的单词上更强大。

表9:不同单词子集的性能比较(POS的准确性和NER的F1)。
5.相关工作
近年来,已经提出了几种不同的神经网络架构,并成功应用于语言序列标记,如词性标注、组块和NER。在这些神经结构中,与我们的模型最相似的三种方法是Huang等人(2015)提出的BLSTM-CRF模型、Chiu和Nichols(2015)的LSTCMNs模型和Lample等人(2016)的BLSTM-CCR模型。
Huang等人(2015)使用BLSTM进行单词级表示,使用CRF进行联合标签解码,这与我们的模型相似。但他们的模型和我们的模型有两个主要区别。首先,他们没有使用CNN来模拟字符级信息。其次,他们将神经网络模型与手工制作的特征相结合,以提高其性能,使其模型不是一个端到端的系统。Chiu和Nichols(2015)提出了一种BLSTM和CNN的混合模型,用于对字符和单词级表示进行建模,这与我们模型中的前两层相似。他们在NER上评估了他们的模型,并取得了有竞争力的表现。我们的模型与此模型的主要区别在于使用CRF进行联合解码。此外,他们的模型也不是真正的端到端,因为它利用了外部知识,如字符类型、大写和词典特征,以及专门针对NER的一些数据预处理(例如,将所有数字序列0-9替换为单个“0”)。最近,Lample等人(2016)提出了NER的BLSTM-CRF模型,该模型利用BLSTM对字符和单词级信息进行建模,并使用与Chiu和Nichols(2015)相同的数据预处理。相反,我们使用CNN对字符级信息进行建模,在不使用任何数据预处理的情况下实现了更好的NER性能。
之前还提出了其他几种用于序列标记的神经网络。Labeau等人(2015)提出了一种用于德语POS标记的RNN-CNN模型。该模型类似于Chiu和Nichols(2015)的LSTM-CNN模型,不同之处在于使用vanila RNN代替LSTM。另一种采用CNN对字符级信息进行建模的神经架构是“CharWNN”架构(Santos和Zadrozny,2014),其灵感来自前馈网络(Collobert等人,2011)。CharWNN在英语POS标签方面获得了接近最先进的准确性(详见第4.3节)。类似的模型也应用于西班牙语和葡萄牙语的NER(dos Santos等人,2015),Ling等人(2015)和Yang等人(2016)也使用BSLTM将字符嵌入到单词的表示中,这与Lample等人(2016年)相似。彭和德雷泽(2016)通过分词改善了中国社交媒体的NER。
6.结论
本文提出了一种用于序列标记的神经网络架构。它是一个真正的端到端模型,不依赖于特定任务的资源、特征工程或数据预处理。与之前最先进的系统相比,我们在两个语言序列标记任务上取得了最先进的性能。未来的工作有几个潜在的方向。首先,我们的模型可以通过探索多任务学习方法来进一步改进,以结合更多有用和相关的信息。例如,我们可以用POS和NER标签联合训练一个神经网络模型,以改善我们网络中学习到的中间表示。另一个有趣的方向是将我们的模型应用于社交媒体(推特和微博)等其他领域的数据。由于我们的模型不需要任何特定于领域或任务的知识,因此将其应用于这些领域可能很容易。
致谢
这项研究部分得到了DARPA DEFT项目资助的FA8750-12-2-0342资助。本材料中表达的任何意见、发现、结论或建议都是作者的意见、发现和结论或建议,不一定反映DARPA的观点。
参考文献
见原文

2779

被折叠的 条评论
为什么被折叠?



