Bidirectional LSTM-CRF Models for Sequence Tagging

摘要

    在本文中,我们提出了各种基于长短记忆(LSTM)的序列标记模型。这些模型包括LSTM网络、双向LSTM (BI-LSTM)网络、LSTM带条件随机场(CRF)层(LSTM-CRF)和双向LSTM带CRF层(BI-LSTM-CRF)。我们的工作是第一个将双向LSTM CRF(表示为Bi-LSTM-CRF)模型应用于NLP基准序列标记数据集。我们表明,由于双向LSTM组件,Bi-LSTM-CRF模型可以有效地使用过去和未来的输入特征。由于有CRF层,它还可以使用句子级别的标签信息。BI-LSTM-CRF模型可以在POS、分块和NER数据集上产生最优(或接近)的精度。此外,与先前的观察相比,它是强大的,并且对词嵌入的依赖性较少。

介绍

   序列标记包括组成语音标记(POS),块和命名实体识别(NER)是一个经典的NLP任务。它已经吸引了几十年的研究人员。 标记器的输出可用于下行应用程序。例如,一个经过用户搜索查询训练的命名实体识别器可以用来识别哪些文本范围是产品,从而触发某些产品广告。另一个例子是,这样的标签信息可以被搜索引擎用来寻找相关的网页。
大多数现有的序列标记模型都是线性统计模型,包括隐马尔可夫模型(HMM)、最大熵马尔可夫模型(MEMMs) (McCallum等,2000)和条件随机场模型(CRF) (Lafferty等,2001)。基于卷积网络的模型(Collobert et al., 2011)最近被提出来解决序列标注问题。我们将这种模型表示为convon -CRF,因为它在输出上由一个卷积网络和一个CRF层组成(原论文使用句子级对数似然(SSL)术语)。Conv-CRF模型在序列标记任务上产生了有希望的结果。在语音语言理解社区中,循环神经网络(Mesnil et al., 2013;Yao等人,2014)和基于卷积网(Xu和Sarikaya, 2013)的模型最近被提出。
本文提出了多种基于神经网络的序列标注模型。这些模型包括LSTM网络、双向LSTM网络(BI-LSTM)、带CRF层的LSTM网络(LSTM-CRF)和带CRF层的双向LSTM网络(BI-LSTM-CRF)。
我们的贡献可以归纳如下。1)系统地比较了上述模型在自然语言处理数据集上的性能。2)首次将双向LSTM CRF (BI-LSTM-CRF)模型应用于NLP基准序列标记数据集。由于双向LSTM组件,此模型可以使用过去和未来的输入特征。我们的模型可以在POS,块和NER数据集上产生最好的(或接近)准确性;3)我们证明了BI-LSTM-CRF模型是鲁棒的,与之前的观察相比,它对词嵌入的依赖性更小(Collobert et al., 2011)。它可以在不使用词嵌入的情况下产生准确的标记性能。
   在本文的其余部分安排如下。第2节描述了本文使用的序列标记模型。第3部分展示了训练过程。第4节报告实验结果。 第5节讨论了相关的研究。 最后第6节得出结论。

模型

    在本节中,我们描述了本文使用的模型:LSTM, BI-LSTM, CRF, LSTM-CRF和BI-LSTM-CRF。

LSTM网络

    递归神经网络(RNN)已经被用于各种任务,包括语言模型(Mikolov et al.,2010;Mikolov等人,2011)和语音识别(Graves等人,2005)。RNN保持了基于历史信息的记忆,这使得模型能够预测基于长距离特征的当前输出。图1显示了RNN结构(Elman,1990),它有输入层: xxx,隐含层: hhh和输出层: yyy。在命名实体标记上下文中,: XXX表示输入特征,: yyy表示标记。图1示出了命名实体识别系统,其中每个单词被标记为其他(O)或四种实体类型中的一个:人(PER),位置(LOC),组织(ORG)和杂项(MISC)。句子 EU rejects German call toboycott British lamb .被标记为 B-ORG O B-MISC O O O B-MISC O O,其中,B-、I-标签表示实体的起始和中间位置。
   输入层表示时刻: ttt的特征。它们可以是单词特征,密集矢量功能或稀疏功能的单编码。输入层具有与特征大小相同的维度。输出层表示: ttt时刻标签上的概率分布。它具有与标签大小相同的维度。与前馈网络相比,RNN引入了前一隐藏状态和当前隐藏状态之间的连接(从而引入了递归权重参数)。这个递归层是用来存储历史信息的。隐藏层和输出层中的值按如下方式计算:

其中U、W、V为训练时间中需要计算的连接权值,f(z)和g(z)分别是sigmoid和softmax激活函数。

在本文中,我们将长短时记忆(Hochreiter和Schmidhuber,1997; Graveset Al。,2005)应用到序列标记。长短时记忆网络和RNN是一样的,除了隐藏层的更新被记忆细胞所取代。因此,它们可能更善于发现和利用数据中的长期依赖关系。图2显示了一个LSTM存储单元(Graves et al., 2005)。LSTM 记忆cell 实现为以下:

    其中σ\sigmaσ为logistic sigmoid函数,: iii、: fff、: ooo和: ccc为输入门、忘记门、输出门和单元向量,它们的大小与隐藏向量: hhh相同。权值矩阵下标具有意义。例如,WhiW_{hi}Whi​是隐藏输入门矩阵, WxoW_{xo}Wxo​是输入输出门矩阵等。从单元格到栅格向量(例如wci)的权重矩阵是对角线的,所以每个栅格向量中的元素m只接收来自单元格向量的元素m的输入。
图3显示了使用上述LSTM记忆单元(圆角虚线框)的LSTM序列标记模型。

Bidirectional LSTM 网络


    在序列标记任务中,我们可以访问给定时间内过去和未来的输入特征,因此我们可以利用双向LSTM网络(图4)(Graves et al., 2013)。在这样做时,我们可以有效地利用过去的特征(通过转发状态)和未来的特征(通过向后状态)进行特定时间框架。我们训练双向LSTM使用时间反向传播(BPTT)(Boden., 2002)。随着时间的推移,展开网络的前向和后向传递与规则网络的前向和后向传递类似,只是我们需要展开所有时间步长的隐藏状态。我们还需要在数据点的开始和结束处进行特殊处理。在我们的实现中,我们对整个句子进行了前向和后向操作,只需要在每个句子结束时将隐藏状态重置为0。我们有批量实现,可以同时处理多个句子。

CRF 网络

    有两种不同的方法来利用邻居标签信息来预测当前的标签。第一种方法是预测每个时间步长的标签分布,然后使用类束解码找到最优的标签序列。最大熵分类器(Ratnaparkhi, 1996)和最大熵马尔科夫模型(MEMMs)的工作(McCallum等。, 2000年)属于这一类。二是侧重于句子层面而非个体位置,从而产生条件随动场(Conditional Random Fields, CRF)模型(Lafferty et al., 2001)(图5)。请注意,输入和输出直接连接,而不是采用存记忆单元/递归组件的LSTM和双向LSTM网络。

   研究表明,CRFs可以得到更高的标签准确性。有趣的是,这两种使用标签信息的方法与两种使用输入特征方法之间的关系相似(参见前面提到的LSTM和BI-LSTM网络),本文的结果证实了BI-LSTM相对于LSTM的优势。
LSTM-CRF网络

    我们将LSTM网络和CRF网络结合起来,形成LSTM-CRF模型,如图所示.6. 该网络可以通过LSTM层有效地利用过去的输入特征,通过CRF层有效地利用句子级标记信息。CRF层由连接连续输出线性层表示。CRF层有一个状态转移矩阵作为参数。有了这个层,我们可以有效地利用过去和未来的标签来预测当前的标签,这类似于通过双向LSTM网络使用过去和未来的输入特征。我们考虑由网络输出分数: Fθ([x]1T)F_θ([x]^T_1)Fθ​([x]1T​)的分数矩阵。为了简化符号,我们去掉了input: [x]1T[x]^T_1[x]1T​。矩阵的元素: [fθ]i,t[f_\theta]_{i,t}[fθ​]i,t​是由带有参数: θ\thetaθ的网络输出的分数,对于句子: [x]1T[x]^T_1[x]1T​和第: iii个标签,在第: ttt个单词处。我们引入一个转移分数: [A]i,j[A]_{i,j}[A]i,j​来模拟一对连续时间步从第: iii个状态到第: jjj个状态的转移。注意,此转换矩阵是独立的位置。我们现在将网络的新参数表示为: θ~=θ{[A]i,j∀i,j}\tilde{\theta}=\theta \{[A]_{i,j} \forall_{i,j}\}θ~=θ{[A]i,j​∀i,j​}。然后,一个句子[x]1T[x]^T_1[x]1T​和标记[i]1T[i]^T_1[i]1T​的分数由转移分数和发射分数之和。

动态规划(Rabiner, 1989)可以有效地用于计算: [A]i,j[A]_{i,j}[A]i,j​和最优标记序列的推理。详见(Lafferty et al.,2001)。

BI-LSTM-CRF 网络

    与LSTM-CRF网络类似,我们将双向LSTM网络与CRF网络结合,形成BI-LSTM-CRF网络(图7)。除了LSTM-CRF模型中使用的过去的输入特征和句子级标签信息,BI-LSTM-CRF模型还可以使用未来的输入特征。 这些额外的功能可以提高标签的准确性,我们将在实验中展示。

训练过程

   本文中使用的所有模型共享通用的SGD前向和后向训练过程。 我们选择最复杂的模型BI-LSTM-CRF来说明算法1所示的训练算法。在每个epoch中,我们将整个训练数据分成批处理,每次处理一批。在我们的实验中,我们使用了100个batch size,这意味着包含了总长度不超过100个的句子。对于每个批处理,我们首先运行双向LSTM- crf模型的前向传递,其中包括LSTM的前向状态和后向状态的前向传递。因此,我们得到所有标签在所有位置的输出分数: fθ([x]1T)f_\theta([x]^T_1)fθ​([x]1T​)。然后,我们向前运行CRF层并向后通过,以计算网络输出和状态转换。然后,我们可以反向传播错误从输出到输入,这包括向后传递的LSTM的前向和后向状态。最后更新了包含状态转移矩阵: [A]i,j∀i,j[A]_{i,j} \forall_{i,j}[A]i,j​∀i,j​和原始双向LSTM参数θ的网络参数。

实验

数据集

    我们在三个NLP标记任务上测试了LSTM、BI-LSTM、CRF、LSTM-CRF和BI-LSTM-CRF模型:Penn TreeBank (PTB) POS标记、CoNLL 2000 chunking和CoNLL 2003命名实体标记。 表1分别显示了用于训练、验证和测试集的句子、标记和标签的大小。
   POS为每个单词分配一个唯一的标记,该标记指示其句法角色。在组块中,每个单词都被标记为它的短语类型。例如,标签B-NP表示以名词短语开头的单词。在NER任务中,每个单词都被标记为其他或四种实体类型中的一种:Person,Location,Organization,或者Miscellaneous。我们使用BIO2注释标准来分块和NER任务。

特征

   我们提取三个数据集的相同类型的功能。 可以将功能分组为拼写功能和上下文特征。 因此,我们分别提取了POS、chunk和NER数据集的401K、76K和341K特征。这些特征与从Stanford NER工具中提取的特征相似(Finkel et al., 2005;Wang and Manning, 2013)。请注意,我们没有使用额外的数据用于POS和分块任务,除了使用Senna嵌入(见章节4.2.3)。对于NER任务,我们通过拼写和上下文特性来报告性能,同时也通过Senna嵌入和地名辞典特性增量性能。

拼写特征

  • 除了小写单词的特征外,我们还为给定单词提取了以下特征。
  • 是否以大写字母开头
  • 是否全部大写
  • 是否全部小写字母
  • 是否非首字母大写
  • 是否与字母和数字混合
  • 是否有标点符号
  • 字母前缀和后缀(带有窗口大小2到5)
  • 是否有撇号('s)
  • 只有字母,例如,i.b.m.给IBM
  • 仅限非字母例如,A. T. &T。. . &
  • 单词模式特征,大写字母、小写字母和数字分别映射到A、A和0,例如d56y -3到A00a-0
  • 词模式摘要特征,类似于词模式特征,但去掉了连续相同的字符。例如:D56y-3 ~ A0a-0

上下文特征

   对于三个数据集的词特征,我们使用单字特征和双字特征。对于Conll2000数据集的POS功能和Conll2003数据集中的POS&CHUNK功能,我们使用Unigram,Bi-Gram和Tri-Gram功能。

词嵌入

    (Collobert et al., 2011)研究表明,单词嵌入对提高序列标注性能起着至关重要的作用。我们下载了130K词汇量的嵌入,每个单词对应一个50维的嵌入向量。要使用这种嵌入,我们只需用相应的50维向量替换一个热编码词表示。

特征技巧组合

    我们可以将拼写和上下文特征视为单词特征。也就是说,网络的输入包括单词、拼写和上下文特征。然而,我们发现从拼写和上下文特征到输出的直接联系加速了训练,它们导致非常相似的标签准确性。图8说明了该网络,其特征与网络的输出直接连接。我们将报告所有标签的准确性使用这个连接。我们注意到,这种特征的使用与在(Mikolov et al., 2011)中使用的最大熵特征具有相同的风格。由于序列标记数据集中的输出标签比语言模型的要少(通常是数十万),我们可以在特性和输出之间建立完整的连接,以避免潜在的特性冲突。

结果

    我们对每个数据集训练LSTM、BI-LSTM、CRF、LSTM-CRF和BI-LSTM-CRF模型。我们有两种初始化词嵌入的方法:随机嵌入和Senna嵌入。我们在第一类词中随机初始化词向量,在第二类词中使用Senna词向量。对于每个类别,我们使用相同的特征集,因此不同的结果完全是由于不同的网络。 我们使用训练数据训练模型,并在验证数据上监控性能。由于分块数据没有验证数据集,我们使用部分训练数据进行验证。
我们使用0.1的学习率来训练模型。我们将隐层大小设置为300,发现模型性能对隐层大小不敏感。三种任务的训练需要不到10个epoch收敛,通常需要不到几个小时的时间。我们在表2中报告了模型在测试数据集上的性能,其中也列出了(Collobert et al., 2011)中的最佳结果,表示为convon-crf。POS任务通过计算每个单词的准确性来评估,而chunk和NER任务通过计算chunk上的F1分数来评估。

与Cov-CRF网络的比较

    我们有三个基线:LSTM,Bi-LSTM和CRF。LSTM是所有三个数据集的最弱基线。BI-LSTM在POS和块分数上执行靠近CRF,但比NER数据集的CRF差。CRF在我们的实验中形成了牢固的基线。对于随机类别,CRF模型优于所有三个数据集的con -CRF模型。在Senna类别中,crf在POS任务上表现优于con - crf,而在分块和NER任务上表现较差。这说明了正向状态LSTM组件在序列数据建模中的有效性。BI-LSTM-CRF模型进一步改进了LSTM-CRF模型,除随机类别的POS数据外,其余所有情况的标记性能都最好,其中LSTM-CRF模型最优。括号内的CoNLL 2003在Senna类别下的数字是根据地名特征生成的。
有趣的是,我们的最佳模型BI-LSTM-CRF与convc - crf模型相比,对Senna词嵌入的依赖性更小。例如,对于随机类别和Senna类别,对于POS、chunk和NER数据集,BI-LSTM-CRF模型的标记差异分别为0.12%、0.33%和4.57%。相比之下,convc - crf模型严重依赖Senna嵌入来获得良好的标记准确性。OS、chunk和NER数据集的随机类别和Senna类别的标注差异分别为0.92%、3.99%和7.20%。

模型鲁棒性

    为了估计模型对于工程特征(拼写和上下文特征)的鲁棒性,我们训练了仅带有单词特征(去掉拼写和上下文特征)的LSTM、BI-LSTM、CRF、LSTM-CRF和BI-LSTM-CRF模型。表3显示了使用Senna词嵌入的POS、chunking和NER数据集的命题模型的标注性能。括号中的数字表示与使用拼写和上下文特性的相同模型相比,性能下降。随着拼写和上下文特征的去除,CRF模型的性能显著下降。这表明CRF模型在很大程度上依赖工程特性来获得良好的性能。另一方面,基于LSTM的模型,特别是BI-LSTM和BI-LSTM- crf模型具有更强的鲁棒性,且不受工程特征去除的影响。对于所有这三个任务,BI-LSTM-CRF模型可以获得最高的标记准确性。例如,在CoNLL2000分块中,它的F1得分为94.40,与使用拼写和上下文特性的相同模型相比,它的得分略有下降(0.06)。

与现有系统的比较

   对于POS数据集,无论是否使用额外的数据资源,我们都实现了最先进的标记准确性。POS数据集经过了广泛的测试,过去的改进可以在表4中实现。我们的检验准确率为97.55%,在95%的置信水平下显著优于其他方法。此外,我们的BI-LSTM-CRF模型已经达到了良好的准确性,没有使用Senna嵌入。

    所有块系统的性能都显示在图5。Kudo等人以93.48%的F1得分赢得了CoNLL 2000挑战赛。他们的方法是基于支持向量机的分类器。他们后来把结果提高到93.91%。最近的工作包括基于CRF的模型(Sha和Pereira, 2003;Mcdonald等人,2005;Sun等人,2008)。最近的是(Shen和Sarkar, 2005),使用投票分类器方案获得了95.23%的准确率,其中每个分类器在不同的标签表示(IOB,IOE等)上进行训练。 除了Shen和sarkar,我们的模型优于所有报告(2005)。

    所有NER系统的性能如表6所示。(Florian等,2003)预先在Ner Conll 2003Challenge上发出了最好的系统,F1分数88.76%。他们使用了各种机器学习分类器的组合。2003年conll2003最佳第二性能(Chieu 2003年)是88.31%的F1,也借助于一个外部地名辞典的帮助。后来,(ANDO and Zhang,2005)以半监督的方法达到89.31%的F1。(Passos et al., 2014)报告的F1得分为90.90%,该方法采用了一种新的词汇嵌入学习形式,可以利用相关词汇的信息来改善表示。该模型在Senna 嵌入层理和地名地名特征下均能获得90.10的最佳F1评分。它的F1得分低于(Passos et al., 2014),这可能是由于使用了不同的词嵌入。具有相同的Senna 嵌入,Bi-LSTM-CRF略微优于Conv-CRF(90.10%与89.59%)。然而,如果使用随机嵌入,BI-LSTM-CRF的性能明显优于CON-CRF (84.26% vs.81.47%)。

讨论

    我们的工作接近(Collobert et al.,2011),因为他们都利用深度神经网络进行序列标记。他们使用的是卷积神经网络,而我们使用的是双向LSTM网络。
我们的工作也接近于(hammerton, 2003;Yao et al., 2014),因为他们都使用LSTM网络进行标记。在(汉默顿,2003年)的表现并不令人印象深刻。(Yao et al., 2014)中的工作没有使用双向LSTM和CRF层,因此可能会影响标记的准确性。(Yao et al., 2014)中的工作没有使用双向LSTM和CRF层,因此可能会影响标记的准确性。

   最后,我们的工作与(Wang and Manning, 2013)有关,其结论是非线性架构在高维离散特征空间中没有好处。我们表明,与具有相同特征集的单一CRF模型相比,双向LSTM CRF模型始终获得更好的标记准确性。

结论

    本文系统地比较了基于LSTM网络的序列标记模型的性能。我们提出了将BI-LSTM-CRF模型应用于NLP基准序列标记数据的第一个工作。我们的模型可以在pos、chunking 和NER数据集上产生较好(或接近)的精度。此外,与在(Collobert et al., 2011)中的观察相比,我们的模型具有较强的鲁棒性,对词嵌入的依赖性较小。它可以在不依赖于词嵌入的情况下实现准确的标注精度。

Bidirectional LSTM-CRF Models for Sequence Tagging相关推荐

  1. 论文学习9-Bidirectional LSTM-CRF Models for Sequence Tagging(LSTM,BILSTM,LSTM-CRF,BILSTM-CRF

    文章目录 1.Introduction 2 model 2.1 LSTM 2.2BI-LSTM BPTT 2.3 CRF 2.4 LSTM-CRF 参考文献 本篇论文介绍了LSTM网络.BI-LSTM ...

  2. 《论文阅读》Bidirectional LSTM-CRF Models for Sequence Tagging

    <论文阅读>Bidirectional LSTM-CRF Models for Sequence Tagging Abstract Contributions Models Realizi ...

  3. 论文阅读《Bidirectional LSTM-CRF Models for Sequence Tagging》

    论文地址:<Bidirectional LSTM-CRF Models for Sequence Tagging> 文章目录 论文阅读 研究背景 BI-LSTM-CRF 网络 训练流程 实 ...

  4. 文献阅读 - Bidirectional LSTM-CRF Models for Sequence Tagging

    Bidirectional LSTM-CRF Models for Sequence Tagging Z. H. Huang, W. Xu, K. Yu, Bidirectional LSTM-CRF ...

  5. [论文笔记]Bidirectional LSTM-CRF Models for Sequence Tagging

    引言 本文是论文Bidirectional LSTM-CRF Models for Sequence Tagging的阅读笔记.这篇论文是15年发表的,比上次介绍的那篇还要早. 首次应用双向LSTM+ ...

  6. 【论文浅析】Semi-supervised sequence tagging with bidirectional lm

    本文对Semi-supervised sequence tagging with bidirectional language models一文做一个简短介绍,该文发表在ACL2017. 一.任务介绍 ...

  7. pytorch lstm crf 代码理解 重点

    好久没有写博客了,这一次就将最近看的pytorch 教程中的lstm+crf的一些心得与困惑记录下来. 原文 PyTorch Tutorials 参考了很多其他大神的博客,https://blog.c ...

  8. pytorch lstm crf 代码理解

    好久没有写博客了,这一次就将最近看的pytorch 教程中的lstm+crf的一些心得与困惑记录下来. 原文 PyTorch Tutorials 参考了很多其他大神的博客,https://blog.c ...

  9. 知识图谱-LSTM+CRF人物关系抽取实战

    文章目录 一.引言 二.实践简介 1.数据来源 2.预测类别(7个) 3.框架 4.模型结构 5.项目流程 三.数据标注 四.实战 1.数据预处理 1.1 词典映射 1.2 从训练文件中获取句子和标签 ...

最新文章

  1. 微服务后如何做一次系统梳理
  2. KD-Tree复习笔记(BZOJ1941 BZOJ2648 BZOJ4066)
  3. 在Eclipse的CDT:配置和开发Qt5工程
  4. Go语言web框架beego:目录说明
  5. urlrewrite 地址重写
  6. ASP.NET WebAPI 中的参数绑定
  7. java中随机数Random和ThreadLocalRandom()用法与区别
  8. apache+mod_wsgi配置
  9. python单元测试unittest
  10. 微软云架构服务器,微软云存储架构(Azure Cloud Storage)
  11. Mac 如何保护您的数据安全?
  12. PAIP.paip.手机离线ROOT过程总结
  13. 360浏览器网页无法连接服务器,360浏览器打不开网页的解决方法教程
  14. Windows下使用Grub4dos无损(无需格式化)制作Windows/Linux双引导U盘并引导ISO镜像
  15. Kafka消息偏移量的演变
  16. 电脑安卓手机模拟器怎么修改IP地址
  17. 计算机网络之——非常恶心但友善ip地址、子网掩码、网络地址、构造超网、最小地址和最大地址(理解篇)
  18. FPGA数字信号处理(九)Vivado FFT IP核实现
  19. 代码同时托管到github和oschina上
  20. c++ 向上取整为8的倍数,或者2^x的倍数

热门文章

  1. OCR论文笔记系列(一): CRNN文字识别
  2. 计算机考证可以用电子身份证吗
  3. 字典的setdefault() 和get()方法比较
  4. 整理:用matlab创作歌曲(二)
  5. ros中的电机速度控制_【RosBot】控制两路步进电机-学习笔记1-Arduino中文社区 - Powered by Discuz!...
  6. 【专业扫盲】集成电路领域的核心会议与期刊
  7. Service之电话管理器之获取网络和SIM卡信息
  8. 5. Hadoop集群操作
  9. Java面向对象选择题
  10. 生成对抗网络(GAN)的前沿进展(论文、报告、框架和Github资源)汇总