【学习记录】Gazetteer in Chinese NER

写在前面

仅作个人学习记录用。本文主要记录在Chinese NER任务中融合Gazetteer的方法、作用与展望。

一、概念简介

什么是NER

命名实体识别(Named Entity Recognition, NER)是自然语言处理中的一项子任务,旨在将文本中的命名实体定位并分类为预先定义的类别。NER任务可以被当作序列标注问题来解决,其中的实体边界和类别标签被共同预测。而对于Chinese NER来说,不同于English NER,中文是以字为基本的书写单位,词语之间没有明显的区分标记,字符序列下的不同分词会导致不同的语义,这也是Chinese NER任务的一大困难之处。目前Chinese NER主要有三种方法。其一是先分词再基于词级别的序列标注,但这种方法就会造成上述错误分词的情况所导致的传播误差影响。其二是跳过分词直接基于字符级的序列标注,但这种方法显然忽略了词级别的信息。其三是基于字符级别进行序列标注,再把词信息融合到字符序列中。

什么是Gazetteer

“Gazetteer is simply a collection of common entity names typically organized by their entity type.”

Gazetteer 在自然语言处理领域并没有确切的中文翻译,本文延续参考的一些文章称其为“词典”。其实Gazetteer就是实体的集合,最初的构成Gazetteer的实体一般仅仅是地名或地缘政治区域名称,因此在牛津词典中被收录翻译为“地名词典/地方志”。随后,Gazetteer的使用迅速发展到涵盖更多的实体类型和子类型,如城市、人、组织、政党和宗教。

二、部分文献简述

1. 词典信息在中文命名实体识别中的应用

这篇知乎文章详细地介绍了2021年以前该研究方向的部分文献,侧重于之前提到的第二种Chinese NER方法。其中需要强调的是,Chinese NER Using Lattice LSTM 发表于ACL 2018上,首先提出了将Gazetteer中的信息应用于Chinese NER的想法。【链接】

2. Improving Neural Named Entity Recognition with Gazetteers

这篇文章收录于FLAIRS 2020,该文章的目标是通过添加输入特征来提高NER模型的性能,这些特征表明某个词是Gazetteer中包含的实体的一部分。本文描述了如何从Wikidata知识图生成Gazetteer,以及如何将信息集成到NER模型中。文章亮点在于Gazetteer的生成与中文、英文和俄文(lower-resource, high morphological language)的NER实验。【链接】

3. Rethinking the Value of Gazetteer in Chinese Named Entity Recognition

这篇文章收录于NLPCC 2022,主要通过实验得出了三个结论:
(1)首先通过公平和可比的环境,用三个Gazetteer在五个数据集上重新检查了一些有前途的NER模型。
(2)为了进一步评估Gazetteer在预训练语言模型中的有效性,对Gazetteer增强模型进行了修改,以适应现有的预训练语言模型,并进行了详细分析。
(3)此外还进行了一系列的探索,揭示了模型性能与Gazetteer之间的关系,这将为未来的工作带来一些新的见解。【链接】

4. Lexicon Enhanced Chinese Sequence Labelling Using BERT Adapter

这篇文章是上述第三种Chinese NER方法的代表性文章。文章中称,大部分现有的Chinese NER词汇增强方法只在encode部分末端的浅层序列模型中引入词汇信息,并没有把词汇信息注入到BERT底层。 而本文利用Adapter 层直接将外部词典知识集成到 BERT 层中。【链接】

(未完待续)

三、如何生成Gazetteer

目前的互联网上有非常多开源的公共Gazetteer,在第五部分中已列出。除此之外,想要生成个性化定制的Gazetteer则需要自己动手获取实体。接下来将详细介绍 Improving Neural Named Entity Recognition with Gazetteers 这篇文章中的Gazetteer生成方法。

1.根据 Wikidata Knowledge Graph 生成

词典是通过SPARQL查询搜索维基数据生成的,该查询发送到公共查询服务器,以检索所研究的每种语言的规范名称和别名。第一步是从表所示的16个目标类型构建到Wikidata的细粒度类型系统的映射(mapping)。类型包括四个常见的核心类型(人、组织、地缘政治实体(GPE)、位置)和十二个附加类型(机场、化学、商业组织、计算机硬件/软件、事件、设施、政府建筑、军事装备、金钱、政治组织、头衔、车辆)

目标类型表

某些类型的映射很简单,例如人对应于Wikidata的Q5, 车辆对应于Q42889。一些映射关系则十分复杂,可以消除那些看起来过于专门化的Wikidata子类型(例如,维基数据地理对象中的月球陨石坑 lunar craters 和冰点 ice rumples)。

同时文章作者还处理了直接从Wikidata下载的数据,它使用JSON序列化,其中只提供每个实体的直接类型。例如,实体现代艺术博物馆被认定为艺术博物馆、艺术机构和版权所有者组织的一个实例。为了确定实体属于哪个目标类型(如果有的话),作者构造了一个字典,将相关类型映射到16个目标类型。对于文章中的示例,结果是有三种类型:ORG、LOC和FAC。

2. 根据 informal text 生成

文章中的俄文Gazetteer是通过Russian Reddit的433个帖子收集的俄文评论建立的。第一步是识别俄文的线程(threads)。注释者检查了至少有10条以西里尔字母为主的注释的线程,以确定该线程是否是用俄语写的。作者从线程种子中删除了图像和电影,以及主要是图像内容的网站的种子;这样的种子在注释中通常只包含很少的命名实体。超过30,000个线程符合这些标准。线程根据提交材料的来源进行优先排序,其中新闻专线和博客是首选。第二步是使用CoreNLP对评论自动进行句子分割(Manning et al. 2014),因此注释者可以在句子级别执行命名实体标记。第三步使用Dragonfly annotation tool (Lin et al. 2018)记录实体标签。

这样的生成方法同样也适用于中文Gazetteer,在中文社交论坛或者其他文本源中获取文本,效仿其进行后续处理。

四、加入Gazetteer的模型设计

目前的主流的加入Gazetteer信息的Chinese NER模型是基于字符级的序列标注模型,也就是前文提到第二种方法,而第三种方法的模型设计之间的差别则较大,可以粗略囊括为数据融合(分词和NER联合学习)、结构融合(修改模型结构将Gazetteer融入到训练过程)。本部分主要介绍第二种方法下的Gazetteer的运用。

1. Embedding层修改

一般框架上图是一个典型的Gazetteer信息引入字符级别Chinese NER模型的框架。这个模型是非常常见的Chinese NER模型:BERT-BiLSTM-CRF。Gazetteer的引入是在embedding层中进行修改,将额外的词素信息集成到embedding中。其中,BERT作为文本向量化模块,可以用Glove,Word2Vec等代替;Bi-LSTM和CRF作为encoder和decoder也可以分别对应替换。

2. Encoder修改

除此之外还可以在context encoder中引入Gazetteer,让encoder适应额外的词素信息。这种方法则更常见于使用图神经网络的Chinese NER模型中。一个典型的例子是CGN模型
CGN模型CGN模型在Encoding步骤后的Graph Layer中引入了Gazetteer(文中称为Lexicon),如图右侧所示共有三种图结构:

  1. Containing-Graph(C-Graph):
    目的: 辅助字符去捕捉对应self-matched lexicon word的语义信息和边界信息
  2. Transition-Graph(T-Graph):
    目的: 捕捉字符最近上下文的语义信息
  3. Lattice-Graph(L-Graph)
    目的: 融合 lexicon knolwedge, 且将 Lattice 的 LSTM 结构转变为了图结构

C-Graph, T-Graph 和 L-Graph 都通过GAT模型得到字符和lexicon word的表示;然后去掉 lexicon words 的表示,保留下字符表示 Q 1 Q_1 Q1 Q 2 Q_2 Q2 Q 3 Q_3 Q3作为最终输出结果。

最后通过Fusion-Layer将C-Graph, T-Graph 和 L-Graph分别所得的 lexicon knowledge(即上部分输出的字符表示 Q 1 Q_1 Q1 Q 2 Q_2 Q2 Q 3 Q_3 Q3),再加上BiLSTM得到的字符表示 H H H进行融合​。具体融合方法如下,是简单的加总:
R = W 1 H + W 2 Q 1 + W 3 Q 2 + W 4 Q 3 R = W_1H+W_2Q_1+W_3Q_2+W_4Q_3 R=W1H+W2Q1+W3Q2+W4Q3
除CGN模型外,Multi-digraph、LGN等模型也是此类思想,可以通过《词典信息在中文命名实体识别中的应用》详细了解。

五、公开数据集

1. Gazetteers:

  • Gigaword: CoNLL格式(偏好BIOES标记方案),每个字符对应一行的标签,句子用空线分隔
  • SGNS: 文件是文本格式的,每一行包含一个单词和它的向量,每个值用空格分隔。第一行记录元信息:第一个数字表示文件中的单词数,第二个数字表示维度大小。除了密集词向量(用SGNS训练),还提供了稀疏向量(用PPMI训练)。它们与线性格式相同,“:”前面的数字表示维度索引,“:”后面的数字表示值
  • TEC:提供了电子商务领域的数据集和7个包含产品和品牌名字的Gazetteer
  • ICD:国家医保信息业务编码标准数据库

2. NER数据集

总结

由于时间和本人个人能力所限,本文并未深入、完全地探索Gazetteer in Chinese NER,仅简单介绍了概念定义、Gazetter的生成与引入Chinese NER模型的方法。随着包括大模型在内的NLP技术蓬勃发展,未来的Chinese NER任务效果仍可能获得巨大的提升。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值