论文解读系列NER方向:LatticeLSTM (ACL2018)
Posted JasonLiu1919
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文解读系列NER方向:LatticeLSTM (ACL2018)相关的知识,希望对你有一定的参考价值。
文章目录
简介
LatticeLSTM 出自于 ACL2018中的Chinese NER Using Lattice LSTM。
论文地址:
https://arxiv.org/abs/1805.02023
有多个版本的代码:
官方版:https://github.com/jiesutd/LatticeLSTM
其他人复现版:https://github.com/LeeSureman/Batch_Parallel_LatticeLSTM
LSTM-CRF模型在英文命名实体识别任务中具有显著效果,在中文NER任务中,基于字符的NER模型也明显优于基于词的NER模型(避免分词错误对NER任务的影响)。在基于字符的NER模型中引入词汇信息,确定实体边界,对中文NER任务有明显提升效果。
Lattice LSTM模型是基于词汇增强方法的中文NER的开篇之作。在该模型中,使用了字符信息和所有词序列信息,具体地,当我们通过词汇信息(词典)匹配一个句子时,可以获得一个类似Lattice的结构。这种方式可以避免因分词错误导致实体识别错误,在中文NER任务上有显著效果。
模型结构
LSTM结构
LSTM是RNN的一个变体,能够有效解决梯度消失和梯度爆炸的问题。主要引入了三个门,即输入门 i t i_t it,遗忘门 f t f_t ft,输出门 o t o_t ot 并用一个新的Cell State c t c_t ct进行信息的线性传输,同时非线性的输出信息到隐藏层的Hidden State h t h_t ht。
公式如下:
[
i
t
o
t
f
t
c
~
t
]
=
[
σ
σ
σ
tanh
]
(
W
[
X
t
h
t
−
1
]
+
b
)
c
t
=
f
t
⊙
c
t
−
1
+
i
t
⊙
c
~
t
h
t
=
o
t
⊙
tanh
(
c
t
)
\\beginaligned &\\left[\\beginarrayc i_t \\\\ o_t \\\\ f_t \\\\ \\tildec_t \\endarray\\right]=\\left[\\beginarrayc \\sigma \\\\ \\sigma \\\\ \\sigma \\\\ \\tanh \\endarray\\right]\\left(W\\left[\\beginarrayc X_t \\\\ h_t-1 \\endarray\\right]+b\\right) \\\\ &\\mathbfc_t=\\mathbff_t \\odot \\mathbfc_t-1+\\mathbfi_t \\odot \\tilde\\mathbfc_t \\\\ &\\mathbfh_t=\\mathbfo_t \\odot \\tanh \\left(\\mathbfc_t\\right) \\endaligned
⎣
⎡itotftc~t⎦
⎤=⎣
⎡σσσtanh⎦
⎤(W[Xtht−1]+b)ct=ft⊙ct−1+it⊙c~tht=ot⊙tanh(ct)
从上述公式可以看出:
-
输入门 i t \\mathbfi_t it 用于控制当前候选状态 c ~ t \\tilde\\mathbfc_t c~t 有多少信息需要保存。
-
遗忘门 f t \\mathbff_t ft 用于控制上一个状态 c t − 1 \\mathbfc_t-1 ct−1 需要遗忘多少信息。
-
输出门 o t \\mathbfo_t ot 用户控制当前时刻的状态 c t \\mathbfc_t ct 有多少信息需要输出给 h t \\mathbfh_t ht
文中介绍了3类模型方案,包括 Character-Based Model、Word-Based Model 和 Lattice Model,但是其主要网络结构都是LSTM-CRF。
Character-Based Model
对于Character-Based模型,输入为字符序列
c
1
,
c
2
,
…
,
c
m
c_1, c_2, \\ldots, c_m
c1,c2,…,cm ,直接输入到LSTM-CRF。其中每个字符
c
j
c_j
cj 表征为
x
j
c
=
e
c
(
c
j
)
,
e
c
\\mathbfx_j^c=\\mathbfe^c\\left(c_j\\right) ,\\mathbfe^c
xjc=ec(cj),ec 是字符的嵌入矩阵,即字符表征的查找表。通常使用双向的LSTM对输入的字符表征序列
x
1
,
x
2
,
…
,
x
m
\\mathbfx_1, \\mathbfx_2, \\ldots, \\mathbfx_m
x1,x2,…,xm 进行处理,得到从左到右和从右到左 的Hidden State序列
h
→
1
c
,
h
→
2
c
,
…
,
h
→
m
c
\\overrightarrow\\mathbfh_1^c, \\overrightarrow\\mathbfh_2^c, \\ldots, \\overrightarrow\\mathbfh_m^c
h1c,h2c,…,hmc 和
h
←
1
c
,
h
←
2
c
,
…
,
h
←
m
c
\\overleftarrow\\mathbfh_1^c, \\overleftarrow\\mathbfh_2^c, \\ldots, \\overleftarrow\\mathbfh_m^c
h1c,h2c,…,