Neural Architectures for Named Entity Recognition
来源
关键词
摘要
最先进的命名实体识别系统在很大程度上依赖手工制作的功能和特定领域的知识,以便从可用的受监督的小型培训资料库中有效学习。
本文介绍了两种新的神经体系结构-一种基于双向LSTM和条件随机场,另一种采用受移位减少解析器启发的基于过渡的方法构造和标记片段。
本文的模型依赖于两个有关单词的信息资源:从监督语料库学习的基于字符的单词表示形式和从无注释语料库学习的无监督单词表示形式。
文章模型无需使用任何特定于语言的知识或资源(例如,地名词典),就可以使用四种语言在NER中获得当前最优的性能。
结论
性能最优,即使与使用了额外资源的模型相比。
本文模型的一个关键方面是,它们可以通过简单的CRF体系结构或使用基于过渡的算法来显式构造和标记输入块来对输出标签依赖性进行建模。
单词表示形式对于成功也至关重要。既使用预训练的单词表示形式,又使用“基于字符的”表示形式来捕获形态学和正字法信息。
为了防止学习器过于依赖一个表示形式类,使用了Dropout。
图表
引言
命名实体识别(NER)是一个具有挑战性的学习问题。
一方面,在大多数语言和领域中,只有很少量的监督训练数据可用。
另一方面,对于可以作为命名实体的单词种类几乎没有限制,因此很难从这种小的数据样本中进行概括。
当前方法:使用精心构造的字法特征和特定于语言的知识资源(例如地名词典),被广泛用于解决此任务。
问题在新的语言和新的领域中开发特定于语言的资源和功能的成本很高,使得这种方法的泛化性很差
思路
在本文中,本文介绍了针对NER的神经体系结构,除了少量的有监督的训练数据和未标记的语料库之外,它不使用语言特定的资源或功能。
本文的模型旨在捕获两种直觉。
首先,由于名称通常由多个标记组成,因此对每个标记的标记决策进行联合推理非常重要。文章比较了两个模型,(i)双向LSTM,其上有一个序列条件随机层LSTM-CRF,以及(ii)一种新模型,该模型使用受转换启发的算法来构造和标记输入语句的块,基于堆栈的LSTM (S-LSTM)表示的状态来进行解析。
其次,“是一个命名实体”的令牌级别的证据既包括拼写证据(被标记为名字的单词看起来像什么?)又包括分布证据 (被标记的单词倾向于在语料库中出现在哪里?)。
为了捕获正字法敏感性,使用基于字符的单词表示模型来捕获分布敏感性,将这些表示法与分布表示法结合起来
本文的单词表示法将这两种方式结合在一起,并采用Dropout训练来鼓励模型学习信任两种证据来源
方法
LSTM-CRF模型
LSTM实现:
四个状态门的计算:
CRF标签模型
直接将双向LSTM模型的输出$h_t$ 作为特征来进行tagging决策,在POS 标注上取得了成功,当输出标签之间存在很强的依赖性时,其独立的分类决策会受到限制,比如NER任务。因为特征标签的可解释序列的“语法”施加了几个严格的约束(例如,I-PER不能遵循B-LOC;这将无法使用独立性假设进行建模。
使用CRF来替代独立建模,对于输入的句子序列:
P是双向LSTM网络输出的得分矩阵。 P的大小为$n*k$,其中k为不同标签的数量,$P_{i,j}$对应于句子中第i个单词的第j个标签的分数。
对于预测的序列:
将这个序列的得分记为:
其中A是转移得分的矩阵,$A_{i,j}$表示从标签i到标签j的转移得分。 $y_0$和$y_n$是句子的开始和结束标记,本文将其添加到可能的标记集中。因此,A是大小为$(k + 2)*(k+2)$的方阵。
对所有可能的标签序列用softmax来计算出对应的概率。
在训练过程中最大化正确标签序列的对数概率:公式1
其中$Y_{X}$代表句子X的所有可能的标记序列(包括那些不符合IOB格式的标记序列)。鼓励本文的网络产生有效的输出标签序列。在解码时,输出有最大得分的预测序列。公式2
仅对输出之间的二元组交互进行建模,公式1和公式2可以用动态规划来计算。
参数化和训练
与每个标记$P_{i,j}$的每个标记决策相关联的分数定义为单词上下文嵌入之间的点积。
网络架构图:
圆圈表示观察到的变量,菱形是其父代的确定性函数,双圆圈是随机变量。
该模型的参数是2元组兼容性分数A的矩阵,以及产生矩阵P的参数,即双向LSTM的参数,线性特征权重和词嵌入。
将序列的词嵌入作为输入。
标记方案
命名实体识别的任务是为句子中的每个单词分配一个命名实体标签。单个命名实体可以跨越一个句子中的多个标记。句子通常以IOB格式(内部,外部,开头)表示,其中,如果令牌是命名实体的开头,则每个令牌都标记为B标签;如果令牌在命名实体中,而不是第一个令牌,则将其标记为I标签,在指定实体内,否则为O。
本文使用IOBES标记方案,这是通常用于命名实体识别的IOB的变体,它编码有关单例实体(S)的信息并显式标记命名实体(E)的末尾。
使用此方案,以高置信度将一个单词标记为I-label可以将后续单词的选择范围缩小到I-label或E-label,但是,IOB方案仅能够确定后续单词不能是内部单词另一个标签。
使用更具表现力的标记方案(如IOBES)可略微提高模型性能。本文没有观察到显着改进。
另外一个Stack LSTM在次忽略,因为不用这个模型。
输入Word Embedding
输入是单个单词的向量表示。从有限的NER训练数据中学习单词类型的独立表示形式是一个困难的问题:太多的参数无法可靠地估计。
由于许多语言都有正字法或形态学证据,即某物是一个名称(或不是名称),因此对单词的拼写敏感的表示形式是必要的。使用基于字符的模型,该模型根据单词组成的字符表示来构造单词表示.
第二个直觉是,名称可能会变化很大,它们会在大型语料库的常规上下文中出现。因此使用从对语序敏感的大型语料库预训练过的Word Embedding。
使用Dropout来训练,非常重要。
基于字符的单词模型
本文的创新点:学习了字符级别的特征,而不是手工设计有关单词的前缀和后缀信息。学习字符级嵌入具有学习特定于手头任务和领域的表示的优势。已经发现它们对于形态丰富的语言非常有用,并且可以处理词性标注和语言建模或依赖项解析之类的任务中的词汇不足问题。
两个Word Embedding组合的,基于字符双向的词嵌入,以满足双向LSTM的前向与后向。以及词表中预训练的Embedding?
正向和逆向各25维。
RNN/LSTM他们的代表偏向于他们的最新输入。前向LSTM的最终表示形式是单词后缀的准确表示形式,而向后LSTM的最终状态形式则是其前缀的更好表示形式。
预训练的embedding
使用skip-n-gram来训练的,在训练过程中微调。英语是100维的,其他是64维。
Dropout训练
在embedding层的最后一层进行Dropout,LSTM层之前加入。
实验
训练
随机梯度下降方法来训练。 lr 0.01,渐变剪裁为5,Adam等并没有表现的比SGD更好。LSTM的维度是100维,只是单层,dropout概率:0.5
数据集
CoNLL-2002 和 CoNLL-2003 datasets 四种不同类型的命名实体:位置,人名,组织和其他实体。除了将英语NER数据集中的每个数字替换为零之外,没有执行任何数据集预处理。
结果
使用LSTM-CRF模型能够在荷兰语,德语和西班牙语获得当前最优性能,在英语上获得接近最优的性能,没有任何人工设计的功能或地名词典。尽管基于过渡的算法的性能不如LSTM-CRF模型,但同样也超过了几种语言之前发布的最佳结果。
文章还分别对CRF,字符级别模型,预训练等各个成分的提升效果进行了实验:
对词嵌入进行预训练可以使本文在F1中的整体表现得到最大的改善,即+7.31的提升。
思考
- 文章结果没有使用中文的实验,可以自己考虑在中文上的结果。
- 文章提到了字符级别的学习非常有用,使用到中文上的话,效果应该也不错。