zeroooooo

V1

2022/03/24阅读:48主题:自定义主题1

Chinese NER Using Lattice LSTM

Chinese NER Using Lattice LSTM——ACL2018

本篇论文作者是来自新加坡科技设计大学的Yue zhang,Jie Yang,是ACL2018的文章,在中文NER领域引入词汇信息的开山之作

论文地址 Chinese NER Using Lattice LSTM (Zhang & Yang, ACL 2018)

开源代码 https://github.com/jiesutd/LatticeLSTM


1. Background and Problems

命名实体识别(NER,Named entity recognition)任务是信息抽取领域内的一个子任务,其任务目标是给定一段文本序列后,从句子中寻找、识别和分类相关实体,例如人名、地名和机构名称等。 而中文 NER相比英语 NER 难度更大,主要是因为中文文本相关实体边界难以确定和中文语法结构复杂。在当时已有研究表明基于字符的中文NER模型通常优于基于词汇(分词后)的模型[1,2,3],这是因为中文分词存在误差,一旦分词错误,误差就会传递,直接影响实体边界的识别,因而基于字符通常要好于基于词汇的建模方法。但基于字符的方法的确没有利用到词汇的信息,而中文中词汇比单个的字更有着丰富的含义,因此,如何在中文NER中引入词汇的信息是一个要解决的问题。

  1. Jingzhou He and Houfeng Wang. “Chinese Named Entity Recognition and Word Segmentation Based on Character” (2008).

  2. Zhangxun Liu et al. “Chinese named entity recognition with a sequence labeling approach: based on characters, or based on words?.” International Conference on Intelligent Computing (2010).

  3. Haibo Li et al. “Comparison of the Impact of Word Segmentation on Name Tagging for Chinese and Japanese” Language Resources and Evaluation (2014).

2. Research Objective

基于上述背景,论文主要研究目的就是在中文NER里引入词汇的信息。本文使用一种用于中文 NER 的 Lattice LSTM 模型,该模型对输入字符序列以及所有与词典匹配的潜在单词进行编码。 与基于字的方法相比,该模型显式地利用了词和词序列信息。 与基于词的方法相比,lattice LSTM 不会出现分词错误。门控循环单元允许模型从句子中选择最相关的字符和单词以获得更好的 NER 结果。

3. Methods or Model

lattice LSTM structure
lattice LSTM structure

总体的模型结构如上图,可以看到将序列中的词和字的信息一起考虑,可视为基于字符的模型的扩展,整合了字符和词汇的信息。

3.1 LSTM

之前的文章有专门介绍LSTM,其公式如下

LSTM
LSTM

里面具体的部分不在展开,不了解的小伙伴可以看这篇文章——

这么多公式其实有很多是相似的结构,那么将其整理一下,用矩阵的方式表现,可得

这里就简单介绍一下各个字母的含义,f是遗忘门,i是输入门,o是输出门, 是候选值,C是最终状态,h是隐藏状态

3.2 Lattice LSTM

由于词汇信息可以给基于字符的序列学习到更多边界信息,为了显式地利用每个字符所相关的词汇信息,过去的一些工作提出通过word-character lattice将词汇信息整合到字符序列中。这些在中文 NER任务上基于神经网络的word-character lattice的性能要明显优于基于单词或基于字符的方法。

融合词汇的方法是非常符合直觉的,也是近几年中文NER问题的大方向之一,引入词汇信息对模型学习实体边界和提升性能都有帮助,Lattice LSTM是这一方向的先行者。

3.3 基于字符的模型

Character-based model
Character-based model

有了上面的LSTM做铺垫,再来看下基于字符的LSTM是怎样的,公式如下

可以看到上面的公式和LSTM的如出一辙,只是加了上标c,表示处理的是字符元素。具体解释一下里面的各个符合代表的含义:

将一个文本序列表示为 ,其中 为序列中第 个字,如上图中的‘南’是第一个字。

在基于字的模型中,使用LSTM-CRF对子序列 建模,每个 的表示为下

表示字嵌入的查找表,即 表示查找到的第 个字符的向量

双向的LSTM使用 得到双向的隐藏状态 ,每个字的隐藏状态向量表示为

一般CRF模型会使用 进行序列标注,得到对应的实体信息,这里也是词汇模型没有输出门的原因

那么论文中是如何整合词汇信息的呢?

3.4 基于词汇的模型

Word-based model
Word-based model

基于词汇的模型和基于字符的很类似,只不过改为了词汇而已,具体一些表示如下

不同于基于字符的模型,句子中的每个词汇用 来表示,其中b,e表示该词汇在句子中的索引,如 表示句子中索引1到2表示的词:南京。

注意,这里的词汇划分都来源于已有的词库(lexicon),因此不会出现“江大桥”这类人名似的错误分词。

每个词汇的表示为

表示词嵌入的查找表,即 表示查找到的从 的词汇的向量表示

word cell 表示 从句子开始时的循环状态,计算如下

也是标准的LSTM公式流程,只是没有输出门,因为前文有提到标注在字符层面进行,因此就不必输出词汇层面的隐藏状态了

另外与基于字符模型的不同是,这里将词汇的向量表示 和该词汇的第一个字符的隐藏状态 进行拼接,得到最终的word cell 就含有了词汇的起始位置信息。

有了计算的 ,就有了更多的信息流向每个

例如,对于字符‘桥’ ,其可以包含字符‘桥’本身的信息 ,词汇‘大桥’的信息 ,词汇‘长江大桥’的信息 。因此,把所有的以某字符结尾的词汇信息 , 即 ,与某字符 联系起来。使用额外的一个门 来表示

这么一来,就将词汇的信息融入了字符中,可以好好理解一下。 包含词汇的起始位置信息,融入结尾字符之后又含有了结束位置信息,如此就将一个词汇框了出来,即词汇边界

3.5 Lattice model

将各个词汇信息进行加权平均,因此融合词汇信息之后的每个字符 的计算公式变为

这个公式就是前面所讲的内容的整合,得到最终字符的cell state,与原始LSTM相比,这里没有使用遗忘门,而是用 代替,融入词汇信息

其中的α是归一化后的权重因子,因为对于每一个字符都有融合的信息,这里防止求和之后数值太大,将其归一化,就是利用了softmax函数

Lattice model
Lattice model

剩下的解码部分用的是常规的CRF,到这里论文的核心部分基本上说完了,剩下的是一些超参数和实验部分。

下图是一些方法的结果对比,红色和绿色分别代表不正确和正确的实体

image
image

4. Conclusion

总的来说,这篇论文是在中文NER领域引入词汇信息,改善了之前仅利用字符来做NER的情况,这也是中文本身的特点,仅仅按字符来划分丢失了太多语境。作为中文NER领域引入词汇信息的开山之作,其对后续研究工作又较深的影响。

但是论文也有一些缺点,

  • 因为是2018年提出来的,但是RNN的这种无法利用上下文、难以捕获长期依赖的缺点也还是都有
  • 论文里引入词汇信息仅考虑的以该字符结尾的词汇,有可能会丢失掉一些词汇,不在字典中
  • 没有使用LSTM中的遗忘门计算 ,其中的 是上一个字符的记忆向量,如此便失去了信息的延续性

分类:

人工智能

标签:

自然语言处理

作者介绍

zeroooooo
V1