《ChineseBERT: Chinese Pretraining Enhanced by Glyph and Pinyin Information》阅读记录
《BERT-like Chinese model: A Pretraining Enhanced with Glyph-based and Pinyin-based Information》
Zijun Sun, Xiaoya Li, Xiaofei Sun, Yuxian Meng, Xiang Ao, Qing He, Fei Wu and Jiwei Li
ACL 2021
https://github.com/ShannonAI/Ch
参考内容:https://zhuanlan.zhihu.com/p/386010496
官方发布的解释极为详尽↑。这篇内容主要是作者个人的笔记与心得总结希望以此加深对相关知识的印象并寻求读者的理解与反馈∑(゚Д゚ノ)ヾ~
摘要
现有中文预训练模型在处理过程中未能充分考虑汉字的形体与声调这些特性对于解析汉字的语法结构与深层意义具有至关重要的作用
本文:ChineseBERT
- 在预训练过程中整合了中文字符的拼音和字形信息。
- 基于不同字体的中文字符,在可视表面字符形式中提取了\text{字符语义} ,从而更容易获取\text{视觉特征} 。
- 作为表征汉字读音的方式,在共享相同表形形式的不同语义间建立关联时,默认绕过了单个表形后面可能存在的\text{互连语素限制} ,从而有效处理了汉语中常见的高度普遍的\text{异音现象(如多音字)}。
在大规模未标记的中文语料库上进行预处理后,性能有所提升。
在很多中文中文自然语言处理任务上,达到了SOTA水平。
结论
大规模预处理的中文自然语言处理模型
基于汉字的形态特征及其拼音表示的信息特性,有助于提升模型在识别并理解其深层语义关联以及解决因同音不同义导致的信息提取困难问题的能力。
在广泛的中文自然语言处理任务中取得了显著的性能提升 。
在训练数据较少 的情况下比普通的预训练模型表现更好 。
未来工作
训练一个规模更大的ChineseBERT
介绍
规模较大的预训练模型已经扮演着各种自然语言处理任务的基础角色。除了在英语自然语言处理中表现出色之外,在汉语领域也同样具有显著的效果。然而由于这些模型主要针对英语而设计的原因,在汉语领域缺乏两个关键属性:字符形状(字形)和声调(拼音)。
汉字被视作一种意音文字(偏旁部首氵),因此其字形通常包含意义。已有研究尝试将字形融入神经网络模型中进行学习训练,并未实施大规模预训练过程( (Sun et al., 2014; Shi et al., 2015; Liu et al., 2017; Dai and Cai, 2017; Su and Lee, 2017; Meng et al., 2019))。
在汉语拼音中,在建模语义和语法信息方面起着至关重要的作用;这些信息无法从上下文或字形嵌入中获得;同一个汉字可能会有不同的意义;例如,“乐”这个声母既可以指代快乐的情感状态;汉语拼音能够帮助识别每个汉字的词性;同时需要注意的是;字形嵌入与字符标识嵌入虽然都直接指向同一字符标识符;但并不包含任何发音方面的信息;
模型

概述
对于每个单独的汉字字符而言,在采用Char Embedding、Glyph Embedding以及Pinyin Embedding这三种不同的表示方法时,请先将它们依次进行连接;随后经过全连接层的处理后将这些多维度的信息整合为一个D维的空间表示;最终生成融合后的统一表达形式即为融合嵌入(Fusion Embedding)。
融合嵌入与位置嵌入相加,形成BERT模型的输入。
因为这里没有使用NSP预训练任务,所以省略了segment embedding。
在预训练过程中采用了全词掩码(Whole Word Masking, WWM)以及字符掩码(Char Masking, CM)。
输入
该系统的输入是由可学习的位置编码和融合编码叠加而成,在其结构中,融合编码由字符级别的字符编码、字形级别的形态编码以及拼音级别的声调编码构成。
该种方法与BERT中的token embedding方式类似,并且主要应用于基于字符级别的表示
字形嵌入

根据 Meng et al. (2019)的研究成果中, 参考其方法, 采用三种中文字体, 分别对仿宋、行楷和隶书这三个书法字体制型进行数字化转换, 所有样本均为24×24像素尺寸。
与Meng et al. (2019)的主要区别在于:Meng采用了基于卷积神经网络(CNNs)的技术对图像进行编码处理,并将其转化为字符表示;而在本研究中,则采用了全连接层作为特征提取模块

。
首先将24×24×3的向量转化为2,352的向量,然后输入至全连接层来获取字符向量。
拼音嵌入

第一步 采用pypinyin 技术 将每一个汉字对应的拼音声母与韵母 转换为统一规范的标准罗马字母表示 并确保记录其准确对应的声调标记
pypinyin是一个通过融合机器学习算法和依靠规则库来进行字符拼音推断的系统,在特定语境下完成这一功能。
比如以汉字"猫"为例,其拼音字符序列即为mao1.对于多音字如"乐"而言,pypinyin能够精准识别当前上下文中的正确拼音,并因此ChineseBERT直接采用了pypinyin提供的结果.
在拼音序列上采用宽度设置为2的卷积神经网络模型进行处理后,接着运用最大池化技术提取出最终的拼音嵌入.
这决定了输出维度与输入拼音序列长度之间无直接关联。对于输入拼音序列来说,其设定长度恒定为8个字符。当实际输入的拼音序列长度不足8时,在剩余位置上采用特殊符号“-”进行填充。
融合嵌入

通过将字符级嵌入、形态学嵌入与声调编码进行拼接处理后构建一个三维向量空间,并通过融合模块(全连接层)实现特征提取

),映射为一个D维向量,就得到了该汉字对应的融合嵌入。
输出
每个汉字的相应上下文表示。
预训练
数据
预训练数据源自CommonCrawl数据库,在进行数据清洗的过程中(剔除包含大量英语内容的样本、去除HTML标签等),可用于预训练ChineseBERT模型的大约40亿汉字量中约占10%左右的数据具有较高的质量标准。
使用LTP toolkit 识别词的边界。
掩码策略
ChineseBERT主要采用了两类掩码策略:全词遮蔽法(Whole Word Masking, WWM)与字符遮蔽法(Char Masking, CM)。
字掩码: Li et al. (2019b)建议使用中文字符作为基本输入单位以缓解汉语中的超出词汇范围的问题,并因此推荐通过在给定上下文中隐藏随机字符的方式来实现这一目标。
全词掩码: 中文中许多词汇由多个汉字组成;针对这些汉字,CM策略可能会过于容易让模型识别并采取全词掩盖的方式;从而缓解了该策略易于被模型识别的缺点。
“我喜欢紫禁城”在掩码词“紫禁城”之后就是**“我喜欢[M][M][M]”** ,而非“我喜欢[M]”。
预训练细节
因与原始BERT在输入层结构不同,故从头开始训练。
为了掌握短期上下文与长期上下文 的概念 ,ChineseBERT采用了轮流进行的方式,在Packed Input与Single Input之间切换训练模式 。其中 ,Packed Input是指模型接收的最大长度设定为512字符 ,而Single Input则仅用于处理单一句子 。值得注意的是 ,Packed Input被选中的概率是0.9 ,Single Input被选中的概率则是0.1
无论是Packed Input还是Single Input,在90%的时间内采用了WWM方法,在剩余10%的时间里采用了CM方法。此外,在处理过程中还应用了动态掩码策略以防止预训练数据中的内容重复出现。
每个词/字符的屏蔽概率为15%。
具体来说,在生成过程中会采用以下策略:80%的概率维持当前词;在剩余的20%中, 其中10%的时间会引入随机词(占总比例的5%), 而另外10%则会维持原有词。
该预训练语言模型包含两个主要版本:Base级和Large级。其中Base级包含12层及24层Transformer模块,并对应拥有768维及1024维的输入向量维度设置。各层的头数配置为12个及16个以满足不同规模需求。其规模参数设置与基于BERT架构的一般预训练语言模型相当。
Base模型:
- 500K steps
- 最大学习率1e-4
- 20K steps的warmup
- batch size : 3.2k
Large模型:
- 280K steps
- 最大学习率3e-4
- 90K steps的warmup
- batch size :8k
经过预处理步骤后, 该预处理后的模型可以直接应用于采用与BERT相同的微调方式对下游任务进行训练
实验
使用的任务
- 机器学习框架中的阅读理解模块 Machine Learning Framework for Reading Comprehension
- 自然语言推理系统 Natural Language Inference System
- 文本分类模型 Text Classification Model
- 句子对分析系统 Sentence Pair Analysis System
- 命名实体识别算法 Named Entity Recognition Algorithm
- 中文分词工具 Chinese Word Segmentation Tool
比较的模型
ERNIE:采用不同级别的掩码策略,在其中包含Token级别、Phrase级别以及Entity级别的基础上,通过大量异构数据对BERT进行预训练。
基于官方发布的中文BERT-RobertA/wwm(RoBerta-wwm)模型,并采用遵循全字屏蔽机制的预训练策略进行处理。
MacBERT: 基于MLM-As-Correlation (MAC)的预训练方法以及结合句子顺序预测任务(sentence-order prediction task),对RoBERTa进行了优化。
BERT和BERTwwm没提供大版本,因此省略了相应的性能。
所提出模型的训练步骤明显小于基线模型 。

机器阅读理解 Machine Reading Comprehension(MRC)
基于给定上下文回答问题的能力。
CMRC 2018 (Cui et al., 2019b) and CJRC (Duan et al., 2019) .


自然语言推理 Natural Language Inference (NLI)
确定假设和前提之间的蕴涵关系。
Cross-lingual Natural Language Inference (XNLI) dataset (Conneau et al., 2018)

文本分类 Text Classification (TC)
模型需要将一段文本分类到指定的类别中。
THUC- News (Li and Sun, 2007) and ChnSentiCorp

句子对匹配 Sentence Pair Matching (SPM)
模型被要求确定给定的句子对是否表达相同的语义。
the LCQMC (Liu et al., 2018) and BQ Corpus (Chen et al., 2018) datasets

命名实体识别 Named Entity Recognition (NER)
该模型被要求识别一段文本中的命名实体,这被形式化为序列标记任务。
OntoNotes 4.0 (Weischedel et al., 2011) and Weibo

中文分词 Chinese Word Segmentation
将文本分成单词,并被形式化为基于字符的序列标记任务。
PKU and MSRA datasets

Ablation Studies
使用中文命名实体识别数据集OntoNotes4.0对base版本模型进行分析
字形嵌入和拼音嵌入的效果
对同一套数据集进行了不同类型的模型预处理,并且这些模型都经历了同样的训练步骤以及一致的模型规模。
- (移除某一组件)

不论是删除字形嵌入还是删除拼音嵌入的方式都会导致性能有所降低。然而删除两者后对F1值的影响最为显著,并且约降低了2个百分点。
训练数据大小的影响
随机抽样10%∞90%的训练数据,同时保持有实体的样本比例。
执行每个实验五次,并在测试集上报告平均F1值。
当训练数据量未达到30%时,在这种情况下应用ChineseBERT所带来的提升幅度较小;一旦超过30%,其性能将显著超越现有水平。这是因为汉语拼音的学习仍需充足的训练样本以确保准确构建字形与声调编码。这些必要参数的建立依赖于充分的数据支撑才能实现稳定可靠的学习效果。

相关工作
自然语言处理中的大规模与训练
- BERT (Devlin et al., 2018):基于Transformer架构模型(Vaswani et al., 2017),该方法通过多任务学习(MLM)与名称预测(NSP)任务,在未经标注的大规模文本语料上实现了有效的预训练。
- 基于这一趋势的发展方向包括调整遮蔽策略、优化预训练任务设置以及改进模型架构设计,在多个应用领域均取得了显著成效。
- RoBERTa (Liu et al., 2019b):现有研究表明NSP预训练对于提升下游性能的帮助有限, 因此该方法去除了NSP预训练模块。
- GTP系列(Radford et al., 2019; Brown et al., 2020) 及其他BERT变体则采用大规模无监督预训练框架, 并将其优势应用至机器翻译、摘要生成及对话系统开发等领域中, 实现了显著的技术突破。(应用)
相较于英语而言,在语法结构、词汇量以及声调或音节结构上呈现显著的不同之处。由此可见,在构建预训练语言模型时必须充分考虑汉语的独特性
Li等人(2019b)提出了一种基于汉字特征的方法作为基础单元,并非基于英语中的词或子词(引用来源:Wu等人, 2016; Sen-)。ERNIE(Sun等人于2019年和2020年)采用三种不同级别的掩码策略:字符级别的掩码、短语级别的掩码以及实体级别的掩码。为了增强多粒度语义能力,Cui等人(在2019a年和202年发表论文)提出了一个使用全词遮蔽策略的预训练模型,在该模型中一个中文单词中的所有字符都会被完全遮蔽。此外,Zhang等人开发了迄今为止最大的中文预训练语言模型——CPM。(该模型基于包含约1亿个汉字的数据集进行训练)。这一研究为后续的大规模汉语预处理研究奠定了重要基础。
学习字形信息
- 词嵌入:Mikolov等人(2013b,a)、Sun等人(2014);Shi等人(2015);Li等人(2015);Yin等人(2016)采用了基于部首字形的索引编码方式来捕捉字符语义,并显著提升了模型在中文大范围自然语言处理任务中的性能。
- 将字形特征以图像形式表示:这一过程虽然初期进展顺利[刘等(2017);Shao等人(2017);张与李(2017);戴与蔡(2017)]提出了利用卷积神经网络从字符图像中提取形状特征的方法。
- 然而,在多个任务上并未实现一致性能提升[Su与Lee(2017);Tao等人(2019)]则在词汇相似性和分类任务中表现出色[Su与Lee(2017);Tao等人(2019)]。
- Meng等人(2019)则将这一技术扩展至广泛中文任务中,并设计了特定卷积神经网络架构[陈等人(2019)]。
- 此外[Song与Sehanobish(2020);Xuan等人(2020)]又将其应用至命名实体识别任务中,并较普通BERT模型提升了显著性能水平。
