Entity Enhanced BERT Pre-training for Chinese NER
利用实体信息增强预训练语言模型在中文NER(命名实体识别)上的表现
作者:Chen Jia,Yue Zhang 西湖大学
论文地址:https://aclanthology.org/2020.emnlp-main.518.pdf
论文代码:https://github.com/jiachenwestlake/Entity_BERT
公式多……敲到要放弃
摘要
在汉语中预训练的字符级BERT受到缺乏词汇信息的限制,这表明了汉语NER的有效性。为了将词汇整合到汉语NER的预训练LMs中,我们研究了一种半监督实体增强的BERT预训练方法。特别是,我们首先使用新词发现方法从相关原始文本中提取实体词典。然后,我们使用Char-Entity-Transformer将实体信息集成到BERT中,该转换器使用字符和实体表示的组合来增强自我关注。此外,实体分类任务有助于在预训练中将实体信息注入模型参数。预训练模型用于NER微调。在一个新闻数据集和两个我们为长文本NER注释的数据集上的实验表明,我们的方法非常有效,并取得了最佳结果。
1 引言
作为信息提取中的一项基本任务,命名实体识别(NER)对于诸如关系提取之类、事件检测和机器翻译的NLP任务非常有用。我们研究了汉语NER(Gao等人,2005),最先进的方法使用了基于字符的神经编码器,并增加了词汇信息(Zhang和Yang,2018;Gui等人,2019a,b;Xue等人,2019)。
由于命名实体的灵活性,NER一直是一项具有挑战性的任务。开放域中可能存在大量OOV(Out of vocabulary测试集里面有些字是不在训练集里面的)命名实体,这对监督学习算法提出了挑战。此外,命名实体可能不明确。以图1为例。术语“老妇人“(老太太)”字面意思是“老妇人”。然而,在足球新闻的背景下,它意味着足球俱乐部尤文图斯足球俱乐部的昵称。因此,包含领域知识的实体词典可有效用于NER(Radford等人,2015;Xu等人,2019)。
直观地说,这样的词典可以从与输入文本相关的一组文档中自动收集。例如,在新闻域中,同一域中与输入文本同时出现的一组新闻文章可以包含高度相关的实体。在财务领域,当对本年度报告进行NER时,公司历年的财务报告可以作为收集指定实体的背景。在科学领域,相关文章可以提及相同的技术术语,这有助于这些术语的识别。在文学领域,长篇小说本身可以作为挖掘实体的背景。
已经有人在为NER开发词汇知识(Passos等人,2014;Zhang和Y ang,2018)。然而,将实体信息集成到BERT中的工作很少,这为中文NER提供了最先进的技术。我们考虑使用上述自动提取的领域知识来丰富BERT(Devlin等人,2019)。特别是,我们通过计算逐点互信息来识别文档中的实体,从而利用大型文档上的新词发现的优势。通过用字符-实体-自注意机制替换原始的自注意模块(V aswani等人,2017),将这些实体的信息集成到BERT模型中,该机制捕获字符和文档特定实体的上下文相似性,并将字符隐藏状态与每层中的实体嵌入显式结合。然后,扩展的BERT模型用于LM预训练和NER微调。
我们研究了这种半监督框架在三个NER数据集上的有效性,包括一个新闻数据集和两个标注数据集(小说和财务报告),旨在评估长文本的NER。我们与两组最先进的中文NER方法进行了比较,包括BERT和ERNIE(Sun等人,2019a,b)。为了进行更合理的比较,我们还使用我们的实体词典补充BERT和ERNIE,并进一步对与我们相同的原始文本进行预训练。
在三个数据集上的结果表明,我们的方法优于这些方法,并获得了最佳结果,这证明了所提出的Char实体转换器结构在中文NER的LM预训练中集成实体信息的有效性。据我们所知,我们是第一个研究如何利用输入文档文本的规模来提高NER的人。我们的代码和NER数据集发布于 https://github.com/jiachenwestlake/Entity_BERT。
2 相关工作
中文NER 先前的研究表明,由于不存在中文分词错误,基于字符的方法比基于单词的方法在中文NER方面表现更好(He和Wang,2008;Liu等人,2010;Li等人,2014)。已经应用了词汇特征,以便外部单词级信息增强NER训练(Luo等人,2015;Zhang和Yang,2018;Gui等人,2019a,b;Xue等人,2019)。然而,这些方法是有监督的模型,无法处理标记数据相对较少的数据集。我们通过使用预训练的LM,使用半监督方法来解决这个问题。
预训练语言模型 预训练的语言模型已被应用于现代NLP系统中,作为有效改善下游任务的一个组成部分(Peters等人,2018;Radford等人,2019;Devlin等人,2019年;Yang等人,2019,Liu等人,2019b)。最近,人们越来越有兴趣用外部知识来增强这种情境化的表示(Zhang等人,2019;Liu等人,2019a;Peters等人,2019)。
这些方法侧重于通过集成KG嵌入(如TransE)来增强BERT(Bordes等人,2013)。与工作线不同,我们的模型动态集成文档特定实体,而不使用任何预训练的实体嵌入。一种更类似的方法是ERNIE(Sun等人,2019a,b),该方法通过知识集成增强BERT。特别是,ERNIE不是像BERT那样屏蔽单个子字标记,而是通过屏蔽完整实体来训练。ERNIE预训练的实体级MASK技巧可以被视为通过错误反向传播来集成实体信息的隐式方式。相反,我们的方法使用显式方式将实体编码到Transformer结构。
3 方法
如图2所示,我们方法的整体架构可以看作是一个具有多任务学习的Transformer结构。有三个输出组件,即掩码LM、实体分类和NER。仅使用掩蔽语言模型组件,该模型类似于BERT,而无需下一句预测任务,并且添加了实体分类任务以增强预训练。虽然只产生NER输出,但该模型是NER的序列标记器。我们通过扩展标准Transformer来集成实体级信息。
3.1 New-Word Discovery
为了增强具有文档特定实体的BERT LM,我们采用了Bouma(2009)的无监督方法来自动发现候选实体,该方法分别计算连续字符之间的互信息(MI)和左右熵度量,并将这三个值相加作为可能实体的有效性得分。
首先,我们使用以下公式计算相互信息:
其中\(x\)和\(y\)表示两个连续的字符或单词,\(\oplus\)表示字符串连接。符号\(p(·)\)表示字符串发生的概率。较高的\(MI\)表示两个子字符串更有可能形成一个新短语。
然后,我们计算左熵和右熵度量,以区分候选多词表达式的独立性和边界(Hoang等人,2009):
其中\(E_L\)和\(E_R\)分别表示左熵和右熵。\(w\)表示N-gram子序列。\(\mathcal A\)和\(\mathcal B\)分别是出现在\(w\)左边或右边的单词集。
最后,我们添加三个值\(MI\)、\(E_L\)和\(E_R\)作为可能的新实体的有效性得分,从Jieba中删除基于开放域词典的常见单词,并将剩余单词的前50%保存为潜在的输入文档特定实体词典。
3.2 Char-Entity-Transformer
我们基于中文\(BERT_{BASE}\)的Transformer结构构建模型(Devlin等人,2019)。为了利用提取的实体,我们将基线Transformer扩展到Char-Entity-Transformer,它由一堆多头Char-Entity-Self-Attention块组成。我们将字符的隐藏维度和新词(实体)的隐藏维度分别表示为\(H_c\)和\(H_e\)。\(L\)是层数,\(A\)是自我关注头部的数量。
Baseline Transformer. Transformer编码器(V aswani等人,2017)采用堆叠层结构构造。每一层都包含一个多头自注意力子层。特别地,给定第\((l−1)\)层的序列\(\{h^{l−1}_1,…,h^{l−1}_T\}\)的隐藏表示,并表示为矩阵\(h^{l−1}∈\mathbb R^{T×H_c}\),第\(l\)层的自注意函数是通过查询\(\mathbf Q^l\)和Key \(\mathbf K^l\)映射在值\(\mathbf V^l\)空间上的线性变换,表示为:
其中\(d_k\)是缩放因子,\(W^l_q,W^l_k,W^l_v∈\mathbb R^{H_c×H_c}\)是第\(l\)层的可训练参数。\(Atten(\mathbf Q^l,\mathbf K^l,\mathbf V^l )\)的结果被进一步馈送到具有层归一化的前馈网络子层,以获得第\(l\)层的最终表示\(h^l\)。
Char-Entity matching.给定一个字符序列\(c=\{c_1,…,c_T\}\)和一个提取的实体字典\(\varepsilon _{ent}\),我们使用最大实体匹配算法来获得相应的实体标记序列\(e=\{e_1,…,e_T\}\)。特别是,我们用\(\varepsilon _{ent}\)中包含该字符的最长实体的索引来标记每个字符,并用0来标记没有实体的字符。算法1总结了该过程。
Char-Entity-Self-Attention.根据BERT(Devlin等人,2019),给定字符序列\(c=\{c_1,…,c_T\}\),输入层中第\(t\)个\((t∈\{1,…,t\})\)字符的表示是字符、段和位置嵌入的总和,表示为:
\(E_c,E_s,E_p\)分别表示字符嵌入查找表、段嵌入查找表和位置嵌入查找表。特别地,段索引\(s∈\{0,1\}\)用于区分BERT中下一个句子预测任务的输入句子的顺序(Devlin等人,2019),这不包括在我们的方法中。因此,我们将段索引\(s\)设置为常数0。
给定第\((l−1)\)层的序列\(\{h^{l−1}_1,…,h^{l−1}_T\}\)的隐藏表示,第\(l\)层的\(\mathbf Q^l=\{q^l_t\}^T_{t=1}∈\mathbb R^{T×H_c}\)和Key \(\mathbf K^l=\{k^l_t\}^T_{t=1}∈\mathbb R^{T×H_c}\)值\(\mathbf V^l=\{v^l_t\}^T_{t=1}∈\mathbb R^{T×H_c}\),我们将隐藏的字符及其对应的实体嵌入的组合计算为:
这里\(W^l_q,W^l_k,W^l_v∈\mathbb R^{H_c×H_c}\)是第\(l\)层的可训练参数。\(W^l_{e,k},W^l_{e,v} \in \mathbb R^{H_e×H_c}\)是对应实体的可训练参数。\(E_{ent}\)是实体嵌入查找表。
如等式(3)所示,如果字符没有对应的实体,则表示等于基线自注意力。为了显示字符及其对应实体是如何联合编码的,我们将一组实体嵌入\(\{E_{ent}[e_1],…,E_{ent}[e_T]\}\)表示为\(e∈\mathbb R^{T×H_e}\)。第\(l\)层\(S^l_i\)中第i个字符的注意力得分计算如下:
其中,字符间注意力得分\(s^c_t\)与基线自注意力相等地计算。char-to-entity注意力得分\(s^e_t\)表示角色和相应实体之间的相似性。
在标准化之前,第\(i\)个字符和第\(t\)个字符\(\{S^l_i\}_t\)的注意力得分是\(\sqrt{s^c_ts^e_t}\),这是\(s^c_t\)和\(s^e_t\)的几何平均值。这表明,两个字符之间的相似性通过字符实体自关注计算为字符到字符的几何距离和字符到实体的几何距离的组合。
给定注意力得分\(S^l_i\),\(Atten(q^l_i,K^l,V^l)\)被计算为值\(V^l\)的加权和,该值是字符值和实体值的组合。
3.3 Masked Language Modeling Task
根据Devlin等人(2019),我们使用掩蔽LM(MLM)任务进行预训练。特别是,给定一个字符序列\(c=\{c_1,…,c_T\}\),我们随机选择15%的输入字符,并用[MASK]标记替换它们。
形式上,给定最后一层\(\{h^L_1,…,h^L_T\}\)的隐藏层输出,对于字符序列中的每个掩码字符\(c_t\),MLM \(p(c_t|c<t\cup c>t)\)的预测概率计算为:
其中\(E_c\)是字符嵌入查找表。\(\mathcal V\)是字符词汇。
3.4 Entity Classification Task
为了进一步增强字符及其对应实体之间的一致性,我们提出了一个实体分类任务,该任务预测当前字符所属的特定实体。该任务的理论解释是最大化字符\(c~p(c)\)与对应实体\(e~p(e)\)之间的互信息\(\mathcal I(e;c)\),其中\(p(c)\)和\(p(e)\)分别表示\(c\)和\(e\)的概率分布。
此处\(H(e)\)表示\(e~p(e)\)的熵,表示为\(H(e)=-\mathbb E_{e\sim p(e)}[\log p(e)]\),这是与文档中实体的频率相对应的常数。因此,互信息\(\mathcal I(e;c)\)的最大化等同于\(\log p(e|c)\)的期望的最大化。
考虑到候选实体数量过多导致的计算复杂性,我们采用采样softmax进行输出预测(Jean等人,2015)。形式上,给定最后一层\({h^L_1,…,h^L_T}\)的隐藏输出及其对应的实体标记序列\(e={e_1,…,e_T}\),我们计算每个字符\(c_t(s.t. \quad e_t\neq 0)\)的概率。与其对应的实体\(e_t\)对齐为:
其中\(\mathcal R^−\)表示来自当前输入文档的候选实体的随机抽样负样本。\(\mathbf E_{ent}\)是实体嵌入查找表,\(b_e\)是实体\(e\)的偏差。
3.5 NER Task
给定最后一层\(\{h^L_1,…,h^L_T\}\)的隐藏输出,NER的输出层是线性分类器\(f:\mathbb R^{H_c}→ \mathcal Y\)、 其中\(\mathcal Y\)是\((m−1)\)-simplex,\(m\)是NER标签的数量。使用softmax计算字符\(c_t\)与第\(k\)个NER标签对齐的概率:
其中\(W_k∈\mathbb R^{H_c}\)和\(b_k\)是特定于第\(k\)个NER标签的可训练参数。我们为NER采用B-I-O标记方案。
3.6 Training Procedure
我们的模型使用预训练的BERT模型初始化,其他参数随机初始化。在训练期间,我们首先对所有原始文本进行LM预训练,以获取实体增强模型参数,然后使用NER任务对参数进行微调。
Pre-training. 给定具有诱导实体\(\mathcal D_{lm}=\{(c^n,e^n)\}^N_{n=1}\)的原始文本,其中\(c^n\)是字符序列,\(e^n\)是算法1检测到的其对应实体序列,我们将每个训练字符序列及其对应实体馈送到字符实体转换器中以获得最后一层字符隐藏。
我们将\(\mathcal D_{lm}\)的掩码子集表示为\(\mathcal D^+_{lm}=\{(n,t)|c^n_t=[MASK],c^n∈\mathcal D_{lm}\}\),掩码LM任务的损失为:
为了在预训练中联合训练掩蔽LM任务和实体分类任务,我们将总体损失降至最低:
Fine-tuning.给定NER数据集\(\mathcal D_{ner}={(c^n,y^n)}^N_{n=1}\),我们训练NER输出层,并通过NER损失微调预训练的LM和实体嵌入:
算法2中总结了预训练和微调的整个过程。
4 Experiments
我们在不同的NER数据集上实证验证了实体增强BERT预训练的有效性。此外,我们还研究了模型中的不同组件在不同设置下如何影响NER的性能。
4.1 Datasets
我们在三个数据集上进行了实验,包括一个公共NER数据集CLUENER-2020(Xu等人,2020)和两个我们自己标注的数据集,这也是本文的贡献。表1列出了数据集的统计数据。
News dataset.我们使用CLUENER-2020(Xu等人,2020)数据集。与OntoNotes(Weischedel et al,2012)和MSRA(Levow,2006)中国新闻NER数据集相比,CLUENER-2020被构建为具有10种实体类型的细粒度中文NER数据,其标记语句属于不同的新闻领域,而不是一个领域。我们分别从原始CLUENER-2020数据集中随机抽取5.2K、0.6K和0.7K句子作为训练集、开发集和测试集。相应的原始文本取自THUCNews(Sum等人,2016)四个新闻领域4,即GAM(游戏)、ENT(娱乐)、LOT(彩票)和FIN(金融),总字符数约为1亿。
《Entity statistics实体统计》如表6所示,细粒度新闻数据集由10种实体类型组成,包括GAM(游戏)、POS(位置)、MOV(电影)、NAM(名称)、ORG(组织)、SCE(场景)、COM(公司)、GOV(政府)、BOO(书籍)和ADD(地址)。四个测试域具有明显不同的实体类型分布,通过表6中的颜色灰度显示。
Novel dataset.我们选择了三本中文网络小说,标题为《天荒神域(神话故事)“,”道破 天穹(道教故事)“和”茅山诡术师(茅山巫师)”,并为每部小说手动标注约0.9K个句子作为开发和测试集。我们还为训练集标注了其他六本小说中约6.7K个句子。考虑到文学体裁,我们注释了六种类型的实体。此外,我们使用这九部小说的原始文本进行预训练,其中约有48M个角色。
《数据收集》。我们从一个名为Babel Novel的专业中文小说阅读网站构建语料库。与新闻不同,小说数据集涵盖了文学风格的混合,包括历史小说,以及奇幻、神秘、浪漫、军事等类型的武侠小说。因此,该数据集的独特特征,如特定于小说类型的命名实体,给NER带来了挑战。
《注释》。考虑到文学体裁,我们在MSRA(Levow,2006)中注释了除PER(人)、LOC(地点)和ORG(组织)之外的三种实体类型,即(i)TIT(标题),它代表一个人的称谓或昵称,例如“冥界之主“(黑社会的负荷)”和“无极剑圣(Sward Master)”;(ii)WEA(武器),代表具有特殊用途的武器或物体(例如“天龙战戟(龙枪)“和”星 辰法杖(星尘棒)”);以及(iii)KUN(功夫),代表武术的名称,如“太极(太极)“和”忍术(忍术)”。注释工作由五名本科生和两名专家负责。所有注释者在注释之前都阅读了整本小说,这旨在防止标签不一致的问题。在注释进度方面,每个句子首先由至少两名学生注释,然后专家选择注释不一致的示例并修改错误。注释者之间的一致性超过了Cohen的kappa值(McHugh,2012)0.915。
《实体统计》。表7列出了上述六种实体类型的统计数据。我们可以看到,这三部测试小说的实体分布相似,只有少数差异,这是因为小说主题的不同。
Financial report dataset. 我们收集了中国12家银行五年来的年度财务报告,并选择了约2k个句子作为测试集进行注释。注释规则遵循MSRA数据集(Levow,2006),注释过程遵循新数据集。此外,我们使用MSRA训练和开发集作为训练和开发数据。
LM预培训中使用了约2600万字符的未注释年度报告。
《注释》。注释过程类似于新数据集的注释过程。注释人之间的协议超过了财务报告数据集上科恩的kappa值(McHugh,2012)0.923。
《实体统计》。财务报告数据集的详细统计数据列于表7中。
5 Conclusion
我们研究了一种针对中文NER的实体增强BERT预训练方法。在一个新闻数据集和两个长文本NER数据集上的结果表明,使用Char Entity Transformer结构将文档特定实体显式集成到BERT预训练中是非常有效的,并且我们的方法优于中文NER的最先进方法。