一、论文名称
Pretraining Chinese BERT for Detecting Word Insertion and Deletion Errors
论文连接:
https://arxiv.org/abs/2204.12052
二、简介
1、任务
① 模型能够检测在句子中的某一处是否增加或删除一个字符
② 模型基于MLM(masked language modeling)进行训练,[mask]标记可以被插入到两个输入字符之间或者用于替换一个输入字符。对于前者(插入字符),预训练的目标是预测 [null]。对于后者(替换字符),退回到了BERT的原始MLM任务。
2、结果
在检测插入错误中,作者提出的方法将F1 score由24.1%提升至78.1%,在检测删除错误的任务中,F1 score由26.5%提升至68.5%
三、创新点
1、在training阶段,作者设计了一个预训练任务,根据上下文,模型学习预测[null]和真实标签字符。
2、在inference阶段,模型基于MLM检测字符是应该插入或删除。
3、作者团队推出了一个人工标注的验证集,包含7726个错误语句。该数据集分别包含4969条和2757条针对插入和删除错误标注正确的语句。
四、核心算法
1、学习预测[null] 【learning to predict null】
1.1 首先,引入了一个特殊token [null],表示一个字符不存在。其次,不同于原始的BERT仅对输入语句进行单词替换,论文中提出了对输入语句同时进行单词插入和替换操作。
1.2 损失函数
1.3 训练过程中“数据破坏”示例 【data corruption】
1.4 “数据破坏“的三种策略
①随机选择输入语句中15%的word,其中一半的word进行替换操作(substitution),另一半进行插入操作(insertion)。
②针对新插入的word, 有50%的概率是[mask],有15%的概率是随机选择,有35%的概率是用mask-and-generate pipeline生成一个真实的word。尤其是,如果插入的是[mask],然后采用BERT的MLM来生成概率最高的10个word,最后从中随机选择一个word。
③ 针对替换操作(subsitution),一个word有50%的概率用[mask]替换,另有50%的概率保持word不变。
2、单词插入应用
2.1 单词插入的过程可以分为两步:检测detection 和 纠正correction
2.2 检测detection的目标是预测在两个words之间,是否应该插入word。在inference阶段,在两个word之间插入[mask],然后预测[null]的概率,如果概率低于10%,说明需要插入,否则不插入。
2.3 inference阶段单词插入示例
3、单词删除应用
3.1 任务:判断输入语句中,word是否应该被删除。针对每一个word预测[null]的概率,如果概率大于一个阈值(例如99%),该word应该被删除。
3.2 inference阶段单词插入示例
五、参数设置详情
① 12 Transformer encoder blocks
② 12 self-attention heads
③ 768 hidden state dimensions
④ 在BERT词汇表中增加了一个特殊字符:[null]
⑤ 训练数据集:800GB
⑥ batch size : 10240
⑦ 32 Tesla V100 GPUs
⑧ learning rate : 1e-4
⑨ Adam optimizer with a linear warmup scheduler
六、实验结果
①表1-Results of grammatical error detection for word insertion and word deletion
② 表2-Correctly and wrongly predicted examples for word deletion and insertion.
③ 表3-Results on CGED