【论文解读】使用Lattice LSTM的中文NER

Lattice LSTM

导语

本文将简短的介绍ACL2018的一篇中文命名实体识别的论文。

PART 1

 简谈背景和问题

命名实体识别(Named Entity Recognition, NER)是通过序列标注对实体边界和实体类别进行预测,从而识别和提取出相应的命名实体。

近些年来,NER采用深度学习的研究工作已经成为主流,对于中文NER来说,有些问题我们需要注意,因为中文文本首先要解决的就是分词问题,是采用单字编码还是词的编码,两种编码方式都各有千秋。中文分词就意味着一定的分词错误问题,而这种分词错误当然也会对实体边界的识别造成影响。

本文是ACL2018中一个中文命名实体识别方法,即Lattice LSTM,这个方法不仅考虑了字符信息,还考虑了词和词序的信息,并且,不会出现上面阐述的中文分词错误问题。

PART 2

 宏观角度看模型

我们先来看一张图片。


以上的句子相信熟悉NLP的同学来说并不陌生,这是一个中文分词的经典案例,不同的划分词法将会有不同的含义,也就是图中标注红的地方所表达的疑问?江大桥是不是个人的名字呢?还是和前面的字组成一所著名的长江大桥呢?这也体现了中华文化的博大精深!!!

根据上面的描述,图中标注的江大桥很明显会有歧义的,但是我们也可以发现长江大桥表示的一个词或者长江与大桥代表的两个词,如果把这部分的分词结果信息都在建模中考虑到,是不是可以消除江大桥的所带来的歧义问题呢?Lattice LSTM就是考虑了这一点。

下面看一下Lattice LSTM的结构图。

图上虽然没有详细注明,但是Lattice LSTM的主干是LSTM + CRF模型。上图中我们也能够很明显的看到有绿色的路径图和红色的Cell图,不难发现,绿色路径图表示能够组成词的起点和终点位置,红色代表的词语信息。

这里面主要分为三大部分,一部分是字的编码,另一部分是词的编码,另外一部分就是将字和词的信息融合之后最终采用CRF解码。

如何做到字和词的融合的,这里已经不是以往的LSTM结构,要不也不会称之为Lattice LSTM,下面从微观角度看一下是怎么融合的?

PART 3

 微观角度看模型

我们还是结合论文中给出的模型图以及结合具体的公式好好理解一下,模型图见下图。


我们首先来看一下字符的编码,其实这部分还是采用的标准的LSTM来获取序列信息,与以往一致,从下面的公式中,我们也不难发现没有变化。

我们接下来看一下词的编码,为了清晰的说明,先根据论文来看几个符号定义。

下面公式中有类似这种形式的,都是类似的意思。

下面是词的编码公式,有输入们和遗忘门,但是没有输出门。

上面的公式仅仅是计算了一个词的cell信息,而我们通过上面的阐述能够得知,在某一个字符处,可能存在多个词序列,比如在“桥”这个字符处,可以是单字桥,可以是大桥或者是长江大桥这样的词。

那么如何将这些词信息融合到字符信息中,并且谁占的权重较大呢?论文中提到了采用另一个门控单元,同样的,也给出了最终的cell state的计算公式。具体计算如下,其中计算权重的部分采用了归一化算法。

最终的隐层状态和以前一样的计算方式,隐层状态之上是常规的CRF模块,用于最终的预测解码。

PART 4

 总结

论文中提出的Lattice LSTM模型对字符和分词匹配得到的所有词进行编码。该模型充分的利用了词和词序信息,并且不会出现分词的错误。实验结果表明,Lattice LSTM达到了很好的效果。

但也存在一些问题,比如模型结构相对于传统的LSTM要复杂,在效率上要低下很多。另外,仅仅采用了单向的LSTM,序列的反向信息没有充分利用。

参考资料

  1. Chinese NER Using Lattice LSTM

  2. https://github.com/jiesutd/LatticeLSTM

  1. 上述图片均来自于原论文。


投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值