概述:
目前,英文NER:效果最佳的模型是 LSTM-CRF(Lample et al., 2016; Ma and Hovy, 2016; Chiu and Nichols, 2016; Liu et al., 2018)。
中文 NER:也可以使用这种模型,但是中文NER和分词相关,执行中文 NER 的一种直观方式是先执行分词,然后再应用词序列标注。基于character-level的LSTM-CRF无法利用句子中的单词word信息。
charNER的缺点:明确的word和word sequence的信息可能有潜在的价值,但却没有被利用。已有研究表明,中文 NER 中,基于字符的方法表现要优于基于词的方法(He and Wang, 2008; Liu et al., 2010; Li et al., 2014)。
然而,分割 → NER 流程可能会遇到误差传播的潜在问题,因为 NE 是分割中 OOV 的重要来源,并且分割错误的实体边界会导致 NER 错误。但是如果基于分词器,NER一旦出现分词错误,就会直接影响实体边界的预测,导致识别错误,这在开放领域是很严重的问题。
动机:
利用 lattice LSTM 来表征句子中的 lexicon word(南京,南京市,市长…),从而将潜在词信息整合到基于字符的 LSTM-CRF 中。由于在网格中存在指数级数量的词-字符路径,因此研究者利用 lattice LSTM 结构自动控制从句子开头到结尾的信息流。如Figure 2 所示,门控单元用于将来自不同路径的信息动态传送到每个字符,不会受到分词偏差的影响。
图1:Lattice LSTM 结构
整体模型:
整体的模型共分为3部分:(a) 基于字符的模型;(b) 基于词的模型;(c) Lattice模型
(a): 基于字符的模型
其中,Embed层可以有如下几种方式:
① Char Embedding
② Char+bichar Embedding
将单字符的Embedding与 当前字符和下一个字符组成的bigram的Embedding拼接后组成整体的Embedding
③ Char+softword Embedding
将单字符的Embedding与 当前字符所在的segment的Embedding拼接后组成整体的Embedding
(b): 基于词的模型
单词wi的Embedding:
同样地,在Embedding层,word的Embedding也要结合该word中包含的char的Embedding,即
获取当前word中的char Embedding也有如下几种方式:
① word+char LSTM
利用BiLSTM结构得到该word中所有char的Embedding
② word+char LSTM’
只是LSTM与①中略有不同
③ word+char CNN
利用一个标准的CNN来卷积当前word中所有的char Embedding
(c): Lattice模型
当我们通过词汇信息(词典)匹配一个句子时,可以获得一个类似Lattice的结构。
Lattice是一个有向无环图,词汇的开始和结束字符决定了其位置。Lattice LSTM结构则融合了词汇信息到原生的LSTM中:
如上图所示,Lattice LSTM引入了一个word cell结构,对于当前的字符,融合以该字符结束的所有word信息,如对于「店」融合了「人和药店」和「药店」的信息。
Lattice LSTM在基于字符的模型上附加了基于词汇对的cells和控制信息流的附加门。
模型的输入是所有字符以及字符序列组成的所有包含在词表D中的词汇。模型包括4种类型的向量,分别是:①输入向量;②输出隐向量;③cell向量;④门控向量
字符对应的基础的LSTM单元为:
词汇对应的LSTM 的cell表示公式为:
这个word cell并没有输出门,因为最终labeling的任务是针对char而并非word来进行的 。
对于一个单词的结尾字符来说,可能会有多条路径,比如“桥”字,会有“大桥”,“南京大桥”等多条路径的单词信息流入“桥”这个字符的表示,所以单独用一个额外的们来控制每个词汇的权重:
整体的cell value由字符的cell value和词汇的cell value组合而成:
char和word cell value的权重计算公式为:
需要指出的是,当前字符有词汇融入时,则采取上述公式进行计算;如当前字符没有词汇时,则采取原生的LSTM进行计算。当有词汇信息时,Lattice LSTM并没有利用前一时刻的记忆向量 ,即不保留对词汇信息的持续记忆。
(4) CRF解码
标准的CRF层
输入:经过Lattice model 的隐向量
输出:序列标注的概率
损失函数:sentence-level log-likelihood+L2正则
总结
Lattice LSTM 的提出,将词汇信息引入,有效提升了NER性能;但其也存在一些缺点:
- 计算性能低下,不能batch并行化。究其原因主要是每个字符之间的增加word cell(看作节点)数目不一致;
- 信息损失:1)每个字符只能获取以它为结尾的词汇信息,对于其之前的词汇信息也没有持续记忆。如对于「药」,并无法获得‘inside’的「人和药店」信息。2)由于RNN特性,采取BiLSTM时其前向和后向的词汇信息不能共享。
- 可迁移性差:只适配于LSTM,不具备向其他网络迁移的特性。