论文地址:https://arxiv.org/pdf/1908.10657.pdf
代码地址(Keras):https://github.com/WHUIR/ME-CNER
ABSTRACT
识别文本中提到的命名实体将丰富下游级别的许多语义应用程序。然而,由于微博中主要使用口语,与正式中文语料库中的命名实体识别相比,中文微博中的命名实体识别(NER)的性能显著下降。在本文中,我们提出了一个简单而有效的神经框架来推导中文文本中NER的字符级嵌入,命名为ME-CNER。字符嵌入源于从部首、字符到单词级别的多粒度的丰富语义信息。实验结果表明,该方法在微博数据集上取得了较大的性能改进,在MSRA新闻数据集上的性能与现有的最先进的备选方案相比具有更低的计算成本。
1 INTRODUCTION
与英语相比,汉语文本的翻译面临着更多的挑战。众所周知,像汉语这样的亚洲语言自然具有标志性。NER没有常规的语言特征(如大写)。此外,汉字和单词之间有着复杂的关系。如果字符之间没有分隔符,则单词可以由单个字符或多个字符(即n字符)组成。此外,一个汉语单词的意思可以通过其组成字符推断出来。例如,“自信的含义” 可通过以下公式得出:自” (自我)和“信” (信念)此外,汉字通常具有象形文字形式。同一个部首通常表示相似的语义。此外,在中文文本上构建一个反映新词和模因的新的大型NER数据集通常成本高昂且劳动密集。可用的数据集通常是过时的或大小有限的,这就需要一种低成本的机制来利用从大量未标记的资源中获取背景知识。
为此,在本文中,我们提出了一个简单而有效的中文文本NER神经框架,命名为ME-CNER。具体地说,我们推导了一种基于不同粒度的多个嵌入的字符表示法,从部首、字符到单词级别不等。我们利用卷积运算来推导基于局部 radical-level上下文信息的字符表示。此外,还设计了一个Conv-GRU网络,用于根据角色的本地上下文和长期依赖性捕获角色的语义表示。为了利用背景知识,我们选择在大型外部语料库上使用字符和单词级别预训练嵌入,并以任务驱动的方式对其进行微调。如图1所示,这些不同透视图中的字符表示被连接并输入BiGRU-CRF标记器,用于序列标记。在一个标准的基准微博数据集上的实验结果表明,与现有的最先进的解决方案相比,相对性能提高了7.6%以上。此外,我们还提供了一个大型正式数据集的结果(与微博相反),MSRA新闻,以确认我们提出的方法的有效性。综上所述,我们做出了以下贡献:(1)提出了一种基于多重嵌入驱动的神经网络框架。各种语义信息在不同粒度中得到了很好的利用。(2) 我们的方法在微博数据集上有很大的优势,显著优于以前的最新技术,并且在MSRA新闻数据集上以较低的计算成本实现了相当的性能。无论是Conv-GRU还是激进嵌入都有利于这项任务。
2 RELATED WORK
3 MODEL STRUCTURE AND MULTIPLE EMBEDDINGS 3模型结构和多重嵌入
在本节中,我们将介绍从细粒度到粗粒度的多重嵌入。ME-CNER的总体结构如图2所示。
3.1 Radical Embedding
汉字本质上是象形文字。不同字符中的相同部分(即部首)通常具有相同的含义[5]。NER使用部首的动机是直觉的,但也是文化的。讲汉语的人在给他们的企业和孩子命名时,有强烈的倾向于使用“好字”。例如,带有部首的字符,如“疒(疾病)“和”尸(死亡)“不得以个人或企业的名义出现。相反,带有部首的字符包括“钅(金属)“,”木(木头)“,”氵(水)“和”火“火”在一个人的名字中很常见,以符合五星学说(中国民间信仰)。
我们使用CNN网络提取部首序列的局部上下文特征。部首的使用还使我们能够更好地推断仅出现在测试集中而不出现在训练集中的字符的语义。也就是说,我们可以教该模型正确地推广稀有字符。
3.2 Character Embedding
汉字是汉语的基本单位。请注意,每个汉字都有自己的意思,可以自己组成一个单词。此外,一个汉语单词的意义可以通过考虑其组成字符来推断。因此,利用字符所包含的丰富语义至关重要。
以前的研究使用character-level的CNN模型进行NER任务[10,16]。然而,CNN强调特定窗口内的局部n-char特征,不能捕获长程依赖性。为了解决这个问题,我们提出了卷积选通递归单元(Conv-GRU)网络,它由GRU层和卷积层组成。首先,将字符嵌入到GRU层。
$\mathbf{x}_{i}=\operatorname{GRU}\left(\mathbf{c}_{1}, \ldots, \mathbf{c}_{i}\right)$
然后输出$\mathrm{X}=\left[\mathrm{x}_{1}, \ldots, \mathrm{x}_{l}\right]$被送入一个卷积层,该卷积层填充到与输入相同的长度,其中$l$是微博的长度。
$\mathrm{Y}=\operatorname{Conv}(X)$
最后,卷积层的输出与GRU层的输出连接起来,形成每个字符的最终表示。
这样,我们就可以将本地上下文和长期依赖的语义知识结合起来。
3.3 Word Embedding
作为一种高级表示,单词嵌入是NER中利用语义最常用的方法。然而,一个中文单词将是一个多字符multi-characters的单词。如图1所示,为了对齐分割的单词和字符,我们复制了单词嵌入的组成字符。例如,对于图1所示的示例,两个组件都是“班” (class) and “长” (president)与“班长”一词的embedding一致”。如果单词不在单词嵌入的词汇表中,我们将使用随机值初始化其嵌入。
“班长” 只是名义上的提及,而“潘玮柏” 是一个命名实体。
3.4 BiGRU-CRF Tagger
我们将字符嵌入在部首、字符和单词级别,以形成最终的字符表示。然后,我们使用BiRNN-CRF[6]标记器标记每个句子。BiGRU-CRF由前向和后向GRU层以及前向GRU层顶部的CRF层组成。在这里,我们使用腾讯人工智能实验室提供的预训练嵌入来初始化单词嵌入和字符嵌入[14](https://ai.tencent.com/ailab/nlp/embedding. html)
4 EXPERIMENTS
在本节中,我们将对照现有最先进的模型评估建议的ME-CNER。然后,我们进行烧蚀研究,以验证我们模型中的每个设计选择。
4.1 Experimental Settings
Dataset
我们使用[11]提供的标准微博NER数据集。它包括命名实体和名义提及nominal mentions。此外,我们还对一个正式的文本数据集MSRA新闻数据集[8]进行了实验,该数据集只包含命名实体。我们使用的两个数据集的统计数据如表1所示。
在相关工作[4,11]的基础上,我们使用Jieba工具包进行了中文分词(https://github.com/fxsjy/jieba).
根据[17]中提供的查找表提取字符级部首。【Joint Embeddings of Chinese Words, Characters, and Fine-grained Subcharacter Components】
Parameter Setting and Evaluation Metrics
对于radical级和字符级嵌入,我们将卷积层的内核大小设置为3。在Conv-GRU框架中,GRU的维度设置为150。嵌入大小固定为200。我们以0.8的dropout概率。我们每个实验运行五次,然后报告平均精确度、召回率和F1分数。对于BiGRU tagger,使用了BIO方案[13]
4.2 Performance Comparison
表2总结了不同模型的结果。在微博数据集上进行评估时,ME-CNER的准确度(Pr)提高了22.13,召回率(Re)提高了2.14,F1提高了10.14,与最佳基线相比(即Lattice[18])。我们想将这一改进归因于以下改进。首先,我们使用多个嵌入可以从不同的角度向NER编码语义信息。其次,Conv-GRU网络能够很好地利用字符级信息,这在中文NER任务中非常关键。最后,通过大规模新闻、爬网网页和在线小说学习预先训练的嵌入,从而提供进一步的背景知识。请注意,所有基线还利用在大型外部语料库上预先训练的单词和字符嵌入。为了进一步检验这个因素,我们使用腾讯embedding来训练Lattice。结果表明,Tencent嵌入可以进一步提高Lattice的NER性能。然而,我们提出的ME-CNER在F1方面的表现优于它4.84。
在MSRA新闻数据集上,我们的模型的性能稍逊于Lattice,但优于所有其他基线。首先,要分析这个更大的数据集(见表1),我们提出的模型相对简单的体系结构可能缺乏学习能力。此外,预训练嵌入的优势随着受监督数据的增多而减弱。此外,在一个小而嘈杂的数据集上,部首可以帮助概括(将在第4.3节中详细介绍),但这种优势在一个正式且更大的数据集中再次消失。然而,我们想强调的是,与Lattice相比,GRU和CNN为我们的模型带来了更低的计算成本(<0.5×Lattice的训练时间)和更好的并行性,Lattice是一个复杂的修改后的LSTM网络,目前还不能实现批量训练。
表2:微博NER和MSRA数据集的实验结果和烧蚀研究。最佳和次最佳性能分别用黑色黑体和蓝色斜体表示。在消融研究中,我们首先去除 radical embedding(maked as "-radical"),然后用CNN或BiLSTM(标记为“Conv GRU”)替换Conv GRU→CNN和Conv GRU→BiLSTM)。
4.3 Ablation Study
我们进一步对ME-CNER进行消融研究,通过去除radical嵌入并用CNN或BiLSTM网络替换Conv-GRU网络。表2展示了性能比较。
Radical Embedding
显然,如果不使用radical级别的嵌入,ME-CNER会在一定程度上体验性能下降。如前所述,部首会抽象出类似单词的含义。我们通过实际案例分析了它对名义提及nominal mentions和命名实体的影响。
对于nominal mentions,由单个字符组成的单词“娘(母亲),在老年人中的意思是“母亲”,并逐渐被另一个字符所取代"妈” (母亲)在现代社会。这个角色在社交媒体中尤其罕见,包括我们的微博语料库。但是,借助部首嵌入,我们的模型可以正确地将这个角色标记为PERSON,因为它具有相同的部首。“女” (女)。
对于命名实体,“高(高)"是一个普通的中国姓氏,没有部首嵌入",高跟鞋(高跟鞋)被认定为“PER”。然而,部首的足(足)“及”革(leather)“很少出现在人的名字中,这有助于我们的模型正确地将单词标记为“O”(即,不是实体)。
Conv-GRU
另一个观察结果是CNN或BiLSTM的性能明显较差。这表明Conv-GRU网络确实更有效地为NER获取语义知识。例如,在短语中“嗓门小” (声音柔和),CNN模型将该条款标注为[B-PER,I-PER,I-PER],因为“小-” (little)通常用在昵称的开头(例如“小李” (Lil Li))。但是,在本从句中,该短语不太可能是带有“小” 的名称”放在后面。有了时间信息,Conv-GRU能够正确标记它。
5 CONCLUSION
在本文中,我们为中文NER开发了多个嵌入。此外,我们还提出Conv-GRU来更好地利用字符嵌入。当在真实世界的微博数据集上进行测试时,我们提出的ME-CNER相对于最先进的备选方案有了显著的改进,并以较低的计算成本在大型正式新闻数据集上实现了相当的性能。我们的工作显示了在不同粒度中同时利用多个嵌入的有效性。