赵 山,罗 睿,蔡志平
国防科技大学 计算机学院,长沙410073
随着新闻、公司档案、病历、政府文件、法院听证会和社交媒体等形式的信息激增,每个人都被信息过载所淹没。这些信息大部分是非结构化的,即自由文本,因此很难进行推理和解释。在自然语言处理领域,通过分析文本从而实现有价值信息抽取的过程,被称为信息抽取(information extraction,IE)。通过对结构不统一的非结构化文本进行信息抽取,能够得到简单明确的结构化数据,便于人们对数据进行高效检索及管理。实体抽取作为信息抽取技术的主要任务,在近年来受到学术界和产业界的极大关注。
命名实体识别(named entity recognition,NER)任务是信息抽取领域内的一个子任务,其任务目标是给定一段非结构文本后,从句子中寻找、识别和分类相关实体,例如人名、地名和机构名称。命名实体识别及其相关技术无论在学术研究上还是实际应用中都具有重大且深远的意义。近年来随着大规模有监督数据集的相继提出与深度学习技术的快速发展,命名实体识别相关技术在各大顶级学术会议和期刊上越来越受到关注。语义知识丰富度的提升给阅读理解、自动问答和机器翻译等任务带来了进一步的效果的提高。
与英文NER 相比,中文NER 涉及到分词问题。中文命名实体识别是一个自然语言处理(natural language processing,NLP)领域的基本任务,在许多下游NLP 任务中,包括信息检索、关系抽取和问答系统中扮演着重要角色。与英语NER 相比,中文命名实体难度更大。这主要是因为中文文本相关实体边界难以确定和中文语法结构复杂。在中文命名实体识别中实体的边界也即是单词的边界。分词过程必然导致错误传播问题,这也是目前中文命名实体识别的一大挑战。
传统上,中文NER 的任务被分解为两个分离的子任务,即中文分词和单词序列标注。此方法的主要缺点是错误传播:中文词语边界分割错误会对实体识别产生影响。另一方面,基于字符的模型可以避免单词分割错误,从而胜过基于单词的方法。由于单词序列信息可以给基于字符的序列学习更多边界信息,为了显式地利用每个字符所相关的词汇信息,过去的一些工作已经提出通过词-字符晶结构将单词信息整合到字符序列中。这些在中文NER任务上基于神经网络的单词-字符晶格结构的性能要明显优于基于单词或基于字符的方法。
本章总结了中文命名实体识别面临的若干技术难点与挑战。中文命名实体识别任务是中文信息抽取领域内的一个子任务,其任务目标是在给定一段非结构文本后,从句子中寻找、识别和分类相关实体,例如人名、地名和机构名称。由于单词序列信息可以给基于字符的序列学习更多边界信息,在中文NER 任务上基于神经网络的单词-字符晶格结构的性能要明显优于基于词或基于字符的方法。如图1 所示为基于Lattice LSTM的中文命名实体识别模型结构图。该模型由Zhang 等在ACL2018 提出。他们提出了一种LSTM 模型的变种(Lattice LSTM)模型。该模型利用一个句子中所有被单个字符匹配到的词语,把这些词语编码为一个有向无环图(directed acyclic graph,DAG)。得益于丰富词汇信息,Lattice LSTM 模型已在各种数据集上取得了不错的结果,而且与单一的基于字符的模型或基于词的模型都有明显的模型效果的提升。然而,这个有向无环图结构有时无法选择正确的路径,这可能导致晶格模型退化为部分基于单词的模型。此外该模型由于是基于BiLSTM,不同字匹配的词之间不能信息交互。WCLSTM(word-character LSTM)为改进这一问题,采取四种词嵌入策略:最短词汇信息、最长词汇信息(如图2 所示)、average、self-attention。如果没有对应的词汇则用<PAD>代替,从而可以进行batch 并行化。这四种策略的目的都是将每个字符为结尾的词汇信息进行固定编码表示。以最长词汇信息为例:选取当前字符匹配到的字符最长的词作为匹配词。但是WC-LSTM 仍然存在信息损失问题,不能充分利用词汇信息。
图1 原始Lattice LSTMFig.1 Original Lattice LSTM
图2 最长策略Fig.2 Longest strategy
本章将会介绍命名实体识别任务的研究现状以及一些当前研究人员关注的研究热点。
基于规则的NER 系统依赖于人工制定的规则。可以基于特定领域的地名词典和句法词汇模式来设计规则。比较知名的系统包括LaSIE-II、NetOwl、Facile和SAR。当词汇库详尽无遗时,基于规则的系统是一种好的选择。但是在一些特定领域,由于其特定的规则和不完整的词汇库,经常会从此类系统中观察到高精度和低召回率,并且这些系统无法转移到其他领域。
无监督学习的典型方法是聚类。基于聚类的NER 系统抽取相关实体是通过上下文相似度的聚类实现的。Collins 等人仅仅使用少量的种子标注数据和7 个特征,包括拼写(比如大小写)、实体上下文、实体本身等,进行实体识别。Nadeau 等人提出一种地名词典构建和命名实体歧义解析的无监督系统。该系统基于简单而高效的启发式方法,结合了实体提取和歧义消除。
通过监督学习,NER 可以被转换为多分类或序列标注任务。给定带标注的数据样本,经过精心设计的特征可以用来表示每个训练示例。然后利用机器学习算法学习模型,从未知的数据中识别相似的模式。许多机器学习算法已在有监督的NER中应用,包括隐马尔可夫模型(hidden Markov model,HMM)、决策树、最大熵模型、支持向量机(support vector machine,SVM)和条件随机场(conditional random fields,CRF)。
近年来,基于深度学习的NER 模型占主导地位并取得最新成果。与基于特征的方法相比,深度学习有助于自动发现隐藏的特征。对于英文NER,目前根据单词在句子中的表现形式,可以把基于神经网络的NER 结构分为词级和字级。
(1)词级:在此体系结构中,句子的单词作为递归神经网络的输入,每个单词都由其单词嵌入表示。Collobert 等人提出了第一个词级的神经网络模型,该模型使用了卷积层而不是BiLSTM 层,并且卷积层的输出被提供给CRF 层进行最终预测。通过引入地名词典和SENNA嵌入,该模型在English CoNLL 2003数据集上获得了89.59%的1 分数。Yadav 等人提出了一个词级别LSTM 结构,如图3所示。此外,他们的模型额外增加了一个CRF 层用于提高模型性能。在CoNLL 2003 数据集上获得了84.26%的1 分数。
图3 晶格LSTM 结构Fig.3 Lattice-LSTM structure
(2)字级别:在此模型中,句子被视为字符序列。该序列通过RNN(recurrent neural network)传递,预测每个字符的标签(图4 所示)。Ma 等人利用CNN(convolutional neural network)提取单词的字符级表示。早先大多数GNN(graph neural networks)的处理对象都是同质的图结构,通过模型学习这类图的节点表示。最近,Peters 等人提出了ELMo(embeddings from language models)单词表示形式,该表示形式是在具有字符卷积的两层双向语言模型的基础上计算的。
图4 WC-LSTM 结构Fig.4 WC-LSTM structure
与英语命名实体相比,中文命名实体难度大。主要是因为中文文本相关实体边界难以确定和中文语法结构复杂。传统上,中文NER 的任务被分解为两个分离的子任务,即中文分词和单词序列标注。此方法的主要缺点是错误传播:中文词语边界分割错误会对实体识别产生影响。基于字符的NER 的一个缺点是没有充分利用明确的单词和单词序列信息,哪怕这些信息可能是有用的。由于单词序列信息可以给基于字符的序列学习多边界信息,在中文NER 任务上基于神经网络的词-字符晶格结构的性能要明显优于基于词或基于字符的方法。为了解决这个问题,Zhang 和Yang首先提出了一种LSTM 模型的变种(Lattice-LSTM)模型,如图3 所示。该模型利用一个句子中所有被单个字符匹配到的词语,把这些词语编码为一个有向无环图(directed acyclic graph,DAG)。该模型利用一个句子中所有被单个字符匹配到的词语,把这些词语编码为一个有向无环图。得益于丰富词汇信息,Lattice-LSTM 模型已在各种数据集上取得了不错的结果。然而,这个有向无环图结构有时无法选择正确的路径,这可能导致晶格模型退化为部分基于单词的模型。
为了解决上述问题,Liu等人提出了一种新的单词-字符LSTM(WC-LSTM)来将单词信息集成到基于字符的模型中,如图4所示。该模型首先将一个中文句子表示为一系列字符-单词对,以将单词信息整合到每个字符中,从而保证模型不会退化为部分基于单词的模型。同时,Liu 等人还设计了四种不同的词编码策略。这些策略可以将词信息编码为固定大小向量,从而使得模型能够批训练并适应各种应用场景。
Gui 等人提出了一种基于CNN 的NER 模型(CNN-based Chinese NER with lexicon rethinking,RCNN),该模型对匹配的词以不同的窗口大小进行编码(如图5 所示)。该模型主要通过CNN 并行处理整个句子以及所有潜在的单词,并且还应用了一种反思机制来处理词典中潜在单词之间的冲突。这种反思机制可以利用高级语义来细化嵌入单词的权重,并解决潜在单词之间的冲突。
图5 R-CNN 模型示意图Fig.5 R-CNN schematic model
此外,Gui 等人提出了一个基于词典的图形神经网络(lexicon-based graph neural network for Chinese NER,LGN),把中文NER当作一个节点分类任务(如图6 所示)。得益于图神经网络实现了字符和单词之间更好的连接,实现了字符和单词之间更好的交互效果。词汇知识将相关字符连接起来,以捕获本地特征。同时,设计了一个全局中继节点来捕获远程依赖和高级特征。LGN 遵循邻域聚集方案,其中通过递归聚集其输入边和全局中继节点来计算节点表示。由于聚合的多次迭代,该模型可以使用全局上下文信息来重复比较歧义词,以获得更好的预测。与之类似的,Sui 等人针对词汇匹配问题,提出了一种基于字符的协同图形网络,包括编码层、图形层、融合层和解码层。Ding 等人为了解决地名录的冲突匹配问题,提出了一个多向图模型,该模型能够通过学习上下文信息有效地解决冲突匹配问题。同时为了更好地训练模型,Ding 等人还开源了一个新的电子商务领域中文数据集。
图6 LGN 的聚合Fig.6 LGN aggregation
但是,由于NER 对句子结构非常敏感,这些方法仍然需要使用LSTM 作为骨干编码器,这种混合编码会使得模型变得复杂。
最近,Yan 等人在中文NER 任务上提出了一种改进的编码器TENER(transformer encoder for named entity recognition)。Yan 等人通过使用方向相对位置编码,减少参数的数量,并提高注意分布,来提高基于Transformer的模型在NER 任务中的性能。经过实验验证,模型性能有了很大的提高,甚至比基于BiLSTM 的模型性能更好。
Ma等人提出了一个简单的方法来实现Lattice-LSTM 的思想,即把每个字符的所有匹配词合并到一个基于字符的NER 模型中。该模型不仅在字符表示中编码词典信息,同时还结合了新的编码方案。新的编码方案能够尽可能多地保留词典匹配结果。因此该模型能够实现快速的推理速度。与Lattice-LSTM 相比,该模型不需要复杂的模型结构,更容易实现,并且可以通过调整字符表示层快速适应任何合适的神经NER 模型。
Li 等人利用平面晶格结构,以便Transformer可以通过位置编码来捕获词信息,由此提出了FLAT(Chinese NER using flat-lattice transformer)模型。FLAT采用全连接的自我关注来模拟序列中的长距离依赖关系。为了保持位置信息,Transformer 为序列中的每个标记引入了位置表示。Transformer 的自我关注机制使角色能够直接与任何潜在的词互动,包括自我匹配的词。
Zhao 等人提出了一种动态的跨自晶格注意网络方法。该方法的灵感来源于计算机视觉中的VQA(visual question answering)任务。如图7 所示,他们把字符和单词序列视为两种不同的模态。为了对词-字晶格结构上的信息交互进行建模,首先设计了一个跨晶格注意力模块,该模块旨在捕获两个输入特征空间之间细粒度的相关性。然后,进一步构造一个动态的自晶格注意模块,该模块能够动态融合单词特征并且在不管两个任意字符之间的距离如何而建立它们之间的直接联系。给定词和字向量表示和对齐的晶格结构,模型首先利用跨晶格注意力模块以生成拥有词信息的字符特征。然后采用动态的自晶格注意力模块结合字符和单词特征,最终获得自我注意的字符特征。以这种方式,本文网络可以充分捕获词字晶格结构上的信息交互,从而为中文NER 预测提供了丰富的表示形式。
图7 跨自晶格模型注意网络方法Fig.7 Cross-and self-lattice attention network
众所周知,汉字是基于古代的象形文字发展而来的,其结构往往反映了更多的文字信息。Wu等人为了利于汉字的结构信息,提出了一种新颖的基于多元数据嵌入的Cross-Transformer 模型。如图8 所示,Wu 等人在FLAT 模型的基础上引入radicalstream 模块,该模块可以融合中文结构信息,例如偏旁部首。该方法利用的中文结构信息对于同音字干扰中文分词也是一种有效的解决方法。
图8 多元数据嵌入的Cross-Transformer模型Fig.8 Multi-meta data embedding based Cross-Transformer
本章将会介绍部分常用的中文NER 数据集以及评价标准。
高质量标注数据集对于模型学习和评估都至关重要。本节总结了广泛使用的数据集。表1 中列出了一些使用广泛的数据集,包括其数据源和实体类型(也称为标签类型)。
表1 常见NER 数据集Table 1 Common NER datasets
OntoNotes 数据集语料来自很多领域,目前有5个版本1.0~5.0。数据集包含8 种实体类型。Resume数据集来自新浪财经,其中包括多家中国股市上市公司高管简历。随机选择了1 027 份简历摘要,并用YEDDA 手动标注了8 种命名实体类型。MSRA 和Weibo 数据集分别来源于新闻利用和社交媒体(微博)。两个数据集包含的实体类型数量分别为3 种和4 种。E-commerce 通过人工标注电商领域文本获得,包括两种实体类型。
该任务通常采用1 值来评价模型的性能:
其中,表示模型输出正确实体所占的百分比,表示模型在数据集中找到正确实体的百分比。在该任务中,普遍认为只要当实体的类型和边界都预测正确时,该实体才被认为识别正确。
本文旨在回顾基于神经网络的单词-字符晶格结构的中文NER 解决方案的最新研究,以帮助新研究人员对该领域的全面了解。本次调研包括了中文NER 研究的背景、传统方法的简介、当前的研究现状和热点。首先,对比了中文NER 与英文NER,相比之下,中文命名实体难度更大。这主要是因为中文文本相关实体边界难以确定和中文语法结构复杂。然后,调研了在不同神经网络架构下(RNN、CNN、GNN和Transformer)最具代表性的晶格结构的中文NER模型。最后,介绍了中文NER 的数据集及评价标准。