论文笔记:Simplify the Usage of Lexicon in Chinese NER Minlong

一、摘要

以前我们已经提到过一篇结合字典进行中文命名实体识别的文章《Chinese NER Using Lattice LSTM》. 这个方法能够一定程度解决分词错误。然而,这个方法有一个重要的缺陷,就是效率低下,其在源码的issue中也提到了,目前竟然不支持并行化。因此,这篇文章希望设计出一种更加有计算效率的方式。

二、模型

该论文主要是在底层字和词的表示上进行了创新。首先文章总结了Lattice Lstm成功的原因:

  • 其保存了所有可能匹配的单词。
  • 其可以将预训练好的word embedding嵌入到系统中。
  • 模型具有attention机制自动给单词赋权重。

基于此三个方法,文章提出了一种新的对输入进行编码的方式。这样的方法是一种集合编码的方法。对每个字符c使用集合B(c),M(c),E(c),S(c)B(c),M(c),E(c),S(c)编码其字符具有的词信息。编码规则如下

  • B(c)B(c)集合:包含所有以字符c为起始的词
  • M(c)M(c)集合:包含所有以字符c为中间字的词
  • E(c)E(c)集合:包含所有以字符c为结束字的词
  • S(c)S(c)集合:c单独组成一个词

如果集合为空则成员为None

举例来说:

suppose that {c1,c2},{c1,c2,c3},{c2,c3,c4}\{c1, c2\}, \{c1, c2, c3\}, \{c2, c3, c4\} , Consider the sentence s={c1,,c5}s = \{c1, · · · , c5\} and and {c2,c3,c4,c5}\{c2, c3, c4, c5\} match the lexicon. Then, for c2c_2, B(c2)={{c2,c3,c4},{c2,c3,c4,c5}}B(c2) = \{\{c2, c3, c4\}, \{c2, c3, c4, c5\}\}, M(c2)={{c1,c2,c3}}M(c2) = \{\{c1, c2, c3\}\}, E(c2)={{c1,c2}}E(c2) = \{\{c1, c2\}\}, and S(c2)={NONE}S(c2) = \{NONE\}

这样,融合词的表示,我们构造新型的字向量表示:
论文笔记:Simplify the Usage of Lexicon in Chinese NER Minlong
其中Vs(X)V^s(X)用于词集合编码为固定大小的向量,最后作者采用的方法为:
论文笔记:Simplify the Usage of Lexicon in Chinese NER Minlong
其中ew(w)e^w(w)为对应词的word embedding, z(w)z(w)是固定的单词出现的频数

We set c to the value that there are 10% of training words occurring less than c times within the statistic data set

三、实验结果

具体参看论文,这里就不赘述了