命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,任务是识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。
通常包括两部分:(1)实体边界识别;(2) 确定实体类别(人名、地名、机构名或其他)。
英语中的命名实体具有比较明显的形式标志(即实体中的每个词的第一个字母要大写),所以实体边界识别相对容易,任务的重点是确定实体的类别。和英语相比,汉语命名实体识别任务更加复杂,而且相对于实体类别标注子任务,实体边界的识别更加困难。
Abstract
本文提出了一系列基于长短期记忆(LSTM) 的序列标注模型,包括LSTM,bidirectional LSTM(BI-LSTM),LSTM-CRF,BI-LSTM-CRF。我们的工作是首次将双向的LSTM CRF(简称BI-LSTM-CRF)模型应用于NLP基准序列标记数据集。与以前的观测相比,该方法具有较强的鲁棒性,对嵌入词的依赖性较小。
1. Introduction
序列标注 包括词性标注、分块和命名实体识别(NER),是一项经典的自然语言处理任务。
现有的序列标记模型大多为线性统计模型,包括隐马尔可夫模型(HMM)、最大熵马尔可夫模型(MEMMs) 和条件随机场(CRF)。
基于卷积网络的模型用来解决序列标记问题,将这种模型称为Conv-CRF,因为它由卷积网络和输出的CRF层(原论文使用了句子级loglikelihood (SSL)这个术语)组成。
在语音语言理解领域,提出了基于递归神经网络和卷积网络的语音理解模型。
其他相关工作包括提出了一种用于语音识别的双向递归神经网络。
本文提出了各种基于神经网络的序列标记任务模型,包括LSTM网络、双向LSTM网络(BI-LSTM)、带CRF层的LSTM网络(LSTM-CRF)和带CRF层的双向LSTM网络(BI-LSTM-CRF)。工作总结:
1)系统比较了上述模型在NLP标记数据集上的性能;
2)首次将双向LSTM CRF(简称BI-LSTM-CRF)模型应用于NLP基准序列标记数据集。由于具有双向LSTM组件,该模型可以使用过去和未来的输入特性。此外,由于有CRF层,该模型可以使用句子级标签信息。模型可以在POS、分块和NER数据集上产生最先进(或接近)的精确性;
3)证明了BI-LSTMCRF模型是健壮的,与之前的观察相比,它对单词嵌入的依赖性更小。它不需要依靠嵌入词就可以产生精确的标注性能。
2. Models
2.1 LSTM Networks
循环神经网络(RNN) 在语言模型和语音识别等方面取得了良好的效果。一个RNN维持了一个基于历史信息的记忆单元,使模型能够根据长距离特征预测当前输出。
如图1,其中输入层为x,隐含层为h,输出层为y。在命名实体标签上下文中,x代表输入特征,y代表标签。一个命名实体识别系统,其中每个单词都被标记为其他(O)或四种实体类型之一:Person (PER)、Location (LOC)、Organization (ORG)和杂类(MISC)。句子:EU rejects German call to boycott British lamb. 标记为B-org O B-misc O O O B-misc O O O,其中B-、I-标记表示实体的起始位置和中间位置。
输入层表示t时刻的特征,可以是对单词特征、密集向量特征或稀疏特征进行一次独热编码one-hot-encoding。输入层的维数与特征维度相同。输出层表示t时刻在标签上的概率分布,它与标签具有相同的维度。
与前馈网络相比,RNN引入了前隐状态与当前隐状态之间的联系(从而引入了递归层权值参数)。这个循环层用于存储历史信息。隐藏层和输出层的值计算如下:
h(t) = f(Ux(t) + Wh(t-1)); (1)
y(t) = g(Vh(t)); (2)
其中U、W、V为训练时需要计算的连接权值,f(z)、g(z)为sigmoid、softmax激活函数,如下所示 :
f
(
z
)
=
1
1
+
e
−
z
g
(
z
m
)
=
e
z
m
∑
k
e
z
k
\begin{aligned} f(z) &=\frac{1}{1+e^{-z}} \\ g\left(z_{m}\right) &=\frac{e^{z_{m}}}{\sum_{k} e^{z_{k}}} \end{aligned}
f(z)g(zm)=1+e−z1=∑kezkezm
本文应用了 长短期记忆LSTM 到序列标记。除了隐藏层更新被专门构建的记忆单元所替代之外,长期和短期内存网络与RNN是相同的。因此,他们可能更善于发现和利用数据中的长期依赖关系。如图2所示为单个LSTM记忆单元:
LSTM记忆单元 实现如下:
i
t
=
σ
(
W
x
i
x
t
+
W
h
i
h
t
−
1
+
W
c
i
c
t
−
1
+
b
i
)
f
t
=
σ
(
W
x
f
x
t
+
W
h
f
h
t
−
1
+
W
c
f
c
t
−
1
+
b
f
)
c
t
=
f
t
c
t
−
1
+
i
t
tanh
(
W
x
c
x
t
+
W
h
c
h
t
−
1
+
b
c
)
o
t
=
σ
(
W
x
o
x
t
+
W
h
o
h
t
−
1
+
W
c
o
c
t
+
b
o
)
h
t
=
o
t
tanh
(
c
t
)
\begin{aligned} i_{t} &=\sigma\left(W_{x i} x_{t}+W_{h i} h_{t-1}+W_{c i} c_{t-1}+b_{i}\right) \\ f_{t} &=\sigma\left(W_{x f} x_{t}+W_{h f} h_{t-1}+W_{c f} c_{t-1}+b_{f}\right) \\ c_{t} &=f_{t} c_{t-1}+i_{t} \tanh \left(W_{x c} x_{t}+W_{h c} h_{t-1}+b_{c}\right) \\ o_{t} &=\sigma\left(W_{x o} x_{t}+W_{h o} h_{t-1}+W_{c o} c_{t}+b_{o}\right) \\ h_{t} &=o_{t} \tanh \left(c_{t}\right) \end{aligned}
itftctotht=σ(Wxixt+Whiht−1+Wcict−1+bi)=σ(Wxfxt+Whfht−1+Wcfct−1+bf)=ftct−1+ittanh(Wxcxt+Whcht−1+bc)=σ(Wxoxt+Whoht−1+Wcoct+bo)=ottanh(ct)
σ是sigmoid函数。i、f、o、c是和隐藏向量h一样大小的输入门,遗忘门,输出门和单元向量。
权重矩阵的下标顾名思义。例如,Whi是隐藏-输入门矩阵,Wxo是输入-输出门矩阵等。从单元到门向量(如Wci)的权矩阵是对角线的,所以每个门向量中的元素m只接收来自单元向量的元素m的输入。
图3为采用了前面提到的LSTM存储单元(带圆角的虚线框)的LSTM序列标记模型。
2.2 Bidirectional LSTM Networks
在序列标记任务中,可以在给定的时间内同时获得过去和未来的输入特征,因此可以利用双向LSTM网络(如图4)。
在此过程中,可以在特定的时间框架内有效地利用过去的特性(通过向前状态)和将来的特性(通过向后状态)。使用时间反向传播来训练双向LSTM网络。随时间推移,对展开网络的向前和向后传递与常规网络的向前和向后传递类似,只需要对所有时间步骤展开隐藏状态。还需要在数据点的开始和结束处进行特殊处理。实现中对整个句子进行前向和反向操作,只需要在每个句子请求时将隐藏状态重置为0。有批处理实现,可以同时处理多个句子。
2.3 CRF networks
在预测当前标签时,有两种可以利用相邻标记信息的不同方法:
- 预测每一步的标签分布,然后使用 波束解码beam-like decoding 来寻找最优的标签序列。最大熵分类器 和最大熵马尔可夫模型(MEMMs) 都属于这一类。
- 注重句子层次而不是单个位置,从而引入条件随机场(CRF)模型 (图5)。注意,输入和输出是直接连接的,而不是使用内存单元/重复成分的LSTM和双向LSTM网络。
2.4 LSTM-CRF networks
将LSTM网络与CRF网络相结合,形成LSTM-CRF模型,如图6所示。该网络可以通过LSTM层有效地利用过去的输入特征 ,通过CRF层有效地利用句子级标签信息。CRF层由连接连续输出层的线表示。 CRF层有一个状态转换矩阵作为参数。通过这样的一层,可以有效地使用过去和未来的标签来预测当前的标签,这类似于通过双向LSTM网络使用过去和未来的输入特征。认为分数的矩阵
f
θ
(
[
x
]
1
T
)
f_{\theta}([x]_{1}^{T})
fθ([x]1T)是由网络输出的 。为简化符号去掉输入
[
x
]
1
T
[x]_{1}^{T}
[x]1T。这个矩阵的元素
[
f
θ
]
[
i
]
t
\left[f_{\theta}\right]_{[i]_{t}}
[fθ][i]t是句子
[
x
]
1
T
[x]_{1}^{T}
[x]1T,第i个标签,第t个词通过带参数 θ的网络计算的分数输出。引入一个转换得分[A]i;j来为一对连续时间步骤从第i状态到第j状态的转换建模。 注意这个转换矩阵是位置无关的 。现在,将网络的新参数表示为一个句子
[
x
]
1
T
[x]_{1}^{T}
[x]1T的沿着标签
[
i
]
1
T
[i]_{1}^{T}
[i]1T的路径对的分数,这个分数是转移矩阵分数和网络分数之和:
s
(
[
x
]
1
T
,
[
i
]
1
T
,
θ
~
)
=
∑
t
=
1
T
(
[
A
]
[
i
]
t
−
1
,
[
i
]
t
+
[
f
θ
]
[
i
]
t
,
t
)
s\left([x]_{1}^{T},[i]_{1}^{T}, \tilde{\theta}\right)=\sum_{t=1}^{T}\left([A]_{[i]_{t-1},[i]_{t}}+\left[f_{\theta}\right]_{[i]_{t}, t}\right)
s([x]1T,[i]1T,θ~)=∑t=1T([A][i]t−1,[i]t+[fθ][i]t,t)
2.5 BI-LSTM-CRF networks
将双向的LSTM网络与CRF网络相结合,形成一个BI-LSTM-CRF网络(图7)。除了LSTM-CRF模型中使用的过去输入特性和句子级标记信息外,BI-LSTM-CRF模型还可以使用将来输入特性。这些额外的特性可以提高标记的准确性。
3.Training procedure
本文使用的所有模型都共享一个通用的SGD向前和向后训练过程。选择BI-LSTM-CRF模型来说明训练算法,如算法1所示。
- 在每个阶段,将所有的训练数据分成批,一次处理一批。每批包含一个由批大小参数决定的句子列表。实验中,我们使用批处理大小为100,这意味着包含总长度不大于100的句子。
- 对于每批:
- 首先运行双向LSTM- crf模型向前传递,包括LSTM向前状态和向后状态的向前传递。 结果得到了所有位置的所有标签的输出分数 f θ ( [ x ] 1 T ) f_{\theta}([x]_{1}^{T}) fθ([x]1T)。
- 向前和向后运行CRF层来计算网络输出和状态转换边缘的梯度。
- 将误差从输出传播到输入,这包括LSTM向前和向后状态的向后传递 。
- 更新网络参数,包括状态转移矩阵[A]i;j∀ i,j和双向LSTM的的初始参数 θ。
4. Experiments
4.1 Data
在三个NLP标记任务:Penn TreeBank (PTB) POS tagging词性标记、CoNLL 2000分块chunking和CoNLL 2003命名实体标记上测试LSTM、BI-LSTM、CRF、LSTM-CRF和BI-LSTM-CRF模型。表1分别显示了用于训练、验证和测试集的句子、令牌和标签的大小。
POS为每个单词分配一个惟一的标记,该标记指示其语法角色。在分块中,每个单词都有其短语类型标记。例如,标签B-NP表示一个单词开始于一个名词短语。在NER任务中,每个单词都被标记为其他或四种实体类型之一:Person、Location、Organization或杂类Miscellaneous。我们使用BIO2注释标准 进行分块和NER任务。
4.2 Features
为三个数据集提取相同类型的特征。这些特征可以分为拼写特征和上下文特征。因此分别提取了POS、分块和NER数据集的401K、76K和341K特征。这些特征与斯坦福NER工具提取的特征相似。
注意:除了使用Senna内嵌之外,对于POS和分块任务,没有使用额外的数据(参见4.2.3节)。对于NER任务,使用拼写和上下文特征来报告性能,同时也使用Senna嵌入和Gazetteer特征逐步报告性能。
4.2.1 Spelling features(拼写特征)
除了小写的单词特征外,还提取给定单词的下列特征:
- ……
- 单词模式特征:有大写字母,小写字母,和数字分别映射到“A”,“a”和“0”。例:D56y-3到A00a-0。
- 模式摘要特征,类似于单词模式特征,但去掉了连续的相同字符。例:D56y-3, A0a-0。
4.2.2 Context features(上下文特征)
对于三个数据集中的单词特征,使用单字符特征unigram features和双字符特征bi-grams features。对于CoNLL2000数据集中的POS特征和CoNLL2003数据集中的POS & CHUNK特征,使用单元unigram、双元bi-gram和三元tri-gram特征。
4.2.3 Word embedding(词向量)
研究表明,词嵌入对提高序列标记性能起着至关重要的作用。我们下载了包含130K词汇量的嵌入,每个单词对应一个50维的嵌入向量。为使用这种嵌入,简单地用对应的50维向量替换一个独热编码one hot encoding词表示。
4.2.4 Features connection tricks
我们可以将拼写和上下文特征视为单词特征。也就是说,网络的输入包括单词、拼写和上下文特征。
然而,从拼写和上下文特征到输出的直接联系加速了训练,并且它们导致非常相似的标记准确性。图8说明了该网络的特征与网络的输出有直接连接。将报告使用此连接的所有标签的准确性。由于序列标签数据集的输出标签数小于语言模型的输出标签数(通常是数十万),可以负担得起功能和输出之间的完整连接。
4.3 Results
CRF模型严重依赖工程特性来获得良好的性能。基于LSTM的模型,特别是BI-LSTM和BI-LSTM-CRF模型更加健壮,并且较少受到工程特性删除的影响。对于所有这三个任务,BI-LSTM-CRF模型的标记准确率最高。
5 Discussions
与具有相同特征集的单一CRF模型相比,双向LSTM-CRF模型始终获得更好的标记精度。
6 Conclusions
介绍了将BI-LSTM-CRF模型应用于NLP基准序列标记数据的第一个工作。模型可以产生最先进(或接近)的精度POS,分块chunking和NER数据集,它对单词嵌入的依赖性更小。该算法不需要嵌入单词,就可以达到准确的标注精度。