ACL 2018|伦敦大学:基于并行递归神经网络的命名实体识别
ACL 2018 Short Papers
基于并行递归神经网络的命名实体识别
Named Entity Recognition With Parallel Recurrent Neural Networks
伦敦大学
University of London
本文是伦敦大学发表于 ACL 2018 的工作,提出了一种新的命名实体识别的体系结构,在相同的输入端采用多个独立的双向LSTM单元,并通过使用模型间正则化项来促进它们之间的多样性,并通过跨多个小型LSTMs单元的分布式计算,减少参数总数。实验证明本文架构在CONLL 2003 NER数据集上实现了最先进的性能。
引言
对文本中实体进行推理的能力是自然语言理解的一个重要因素。命名实体识别(NER)涉及到对这些实体的识别。给定单词序列,NER任务是用其相应的实体类型标记每个单词。实体类型包括Person, Organization和Location。一个特殊的Other实体类型通常被添加到所有类型的集合中,并用于标记不属于任何其他实体类型的单词。
近年来,基于神经网络的方法登上舞台,该方法除了使用未标记语料库进行单词嵌入训练外,不使用特定于语言的资源。人们逐渐把解决NER问题的注意力,从手工制作更好的特征转移到设计更好的神经网络结构上。
在本文中,我们提出了一种新的基于并行递归神经网络模型的实体识别方法。我们发现,与其使用单个LSTM组件,不如使用多个更小的LSTM单元。这有利于减少我们模型中参数的总数。我们在CoNNL 2003英语数据集上进行试验,并且在没有外部词典的帮助下实现了最优结果。
模型
命名实体识别可以被假定为标准的序列分类问题,其中数据集
由实例标签对组成,其中实例和标签本身都是单词向量和实体类型的序列。
具体而言,输入实例Xi=
是一个可变长度的词向量序列
;该实例对应的标签
是一个等长序列的实体类型标签
,其中Y是所有实体类型标签的集合,并且包含一个特殊的其他“O”标签。非实体的单词被标记为O。
然后学习从输入单词到输出实体标签的参数化映射
。处理这种映射的最常用的一类模型是递归神经网络。
长短记忆(LSTM)模型属于递归神经网络(RNN)模型。它们经常被用作更大模型的组件,特别是在许多NLP任务中,包括NER。
一般地,LSTM单元定义如下(不考虑bias):
测量模型复杂性的一种方法是通过考量其参数的总数。综上所述,我们注意到,对于三个输入门中的每一个,在cell更新期间,存在两个参数矩阵,W和U。如果设W∈R n×n和U∈Rn×m,则模型中的参数总数(不包括bias项)是4(nm+n2),随着n的增长而二次增长。因此,LSTM大小的增加会大大增加参数的数量。
并行RNNs: 为了减少参数的总数,我们将单个LSTM分成多个大小相等的较小单元:
其中k∈{ 1,…,k}。这具有将参数总数除以常数因子的效果。最后的隐藏状态ht是较小LSTMS的隐藏状态的级联:
为了促进较小的LSTM组成之间的多样性,我们在较小的LSTM之间添加正交性惩罚。我们采用跨LSTM单元更新递归参数Wi(为了简明起见,在下标中省略了c;跨较小的LSTM运行索引为i),对于任何对,我们希望以下是真的:
为了实现这一点,我们将矢量化的参数打包成矩阵:
并将下列正则化项应用于我们的最终损失:
级联的输出ht在通过最终softmax层之前通过有偏的完全连接的层:
为了在时间t提取预测的实体类型y,我们选择对应最可能输出的实体类型:
损失被定义为沿着输入序列中的单词的softmax交叉熵损失之和。更准确地说,我们用
0,1表示二进制指示符变量,指示词xt是否真的是j类型的实体。在时间t的损失定义为
,因此整体损失为:
我们使用双向LSTM作为基本递归单元,并使用大小为100的预训练词嵌入。并将词嵌入与字符级嵌入连接起来,但是使用max pooling层代替。与并行LSTM不同,我们只使用单字符嵌入LSTM。
我们的模型与集成方法有一些相似之处,集成方法将多个“弱学习者”组合成单个“强学习者”;可以将模型的每个并行递归单元看作单个“弱”神经网络,并且可以考虑我们的架构是把它们结合成一个单一的“强大”网络。
尽管有相似之处,我们的模型与集成方法有很大的不同。首先,与许多增强算法相反,我们不基于上一次迭代产生的损失来重新权衡训练实例。第二,不同于集成方法,我们的模型被训练成端到端的模式,作为一个更大的神经网络。所有的子组件都是联合训练的,所以网络的不同子部分可以集中在输入的不同方面,避免了跨单元的重复计算(实际上,我们鼓励使用模块间正则化的单元之间的多样性)。最后,我们注意到,我们的架构并不简单地组合多个分类器进行预测;相反,我们采用每个LSTM单元的最终隐藏层(它包含比实体类预测更多的信息),并使用前馈网络组合这些信息。这使得我们的体系结构可以检查由各种组件计算的信息片段之间的相互依赖性。
实验分析
我们在CONNL2003英语NER数据集上取得了最先进的结果(见下表)。虽然我们没有使用额外资源(特定语言的字典或地名词典),我们的模型仍然具有很大竞争力。
为了更好地理解模型性能,包括它的各种组件如何影响性能,我们做了一系列实验。下表示出了作为具有固定大小的RNN单元的数目的函数的性能。单元的数量显然是一个超参数,必须进行优化。
我们发现整体性能良好(结果没有灾难性的崩溃),但是当使用16个单元时,本文模型明显优于其他模型。即使非常小的单元大小如8(如下表),我们的模型也执行得比较好,结果没有明显的下降。
下表显示了单元大小和组件对最佳性能模型的影响。
总结
本文引入了一个新的模型,该模型的主要动机在于其易于分发和减少参数总数的能力,在CoNLL 2003英语数据集上的实验结果表明,该模型获得了当前的最优结果。未来工作应该通过不同的序列分类任务来评估它的性能。此外,如果模型在CPU内核之间被并行化,那么运行时间分析机制也需要被进一步考虑。