【论文解读】PLOME : 具备错写知识的预训练模型

2022-06-15 19:36:14 浏览数 (2)

一、PLOME 概述

1. PLOME全称

Pre-trained masked Language mOdel with Misspelled knowledgE

2.目的

2.1 对输入文本中的拼写错误进行检测和纠正

2.2 中文错误类型

① 同音字错误 phnological errors

② 字形错误 visual errors

3.创新点

3.1 提出了一个基于多种masking策略的混淆数据集(confusion set)

① 动作:

每一个被选到的token,随机用一个混淆数据集中的相似token替代,而非bert中的[mask]标签

② 作用:

在预训练阶段,PLOME能够通过联合学习学到语义和错误拼写的知识

3.2 每一个字符的偏旁部首和拼音作为模型的输入

① PLOME通过恢复masked tokens处的真实字符和拼音,学习到了字符和拼音级别的错写知识

二、PLOME 算法详解

1.PLOME的框架

2. Confusion set based Masking strategy 基于掩码策略的混淆数据集

2.1 传统方式

随机掩盖句子中的一些字,用 [mask] 表示,缺点是:在下游任务中,这些[mask] 不会出现,毫无意义。

2.2 论文中的方法

(1)用混淆数据集(confusion set)中的相似字(读音相似和字形相似)来替换 masked token;

(2)对语料中15%的tokens进行mask,针对随机选中的一个token,具体替换策略有4种方法:

① 60%的概率随机用一个同音字;

② 15%的概率随机用一个形似字;

③ 15%的概率保持该字不变;

④ 10%的概率用词汇表中的任意一个字;

3. Embedding Layer 词嵌入层

每个字符的最终embedding由4部分构成:① character embedding, ② position embedding; ③ phonic embedding; ④ shape embedding

前两个embedding (character 和 position) 通过look up embedding table获取,该方法与BERT中的方式一致

3.1Phonic embedding 拼音向量

为了对字符之间的语音信息建模,将每一个字符的拼音输入到1层的GRU网络中,输出拼音词向量(phonic embedding)。预期是相似的拼音具有相似的量。

3.2 Shape embedding 笔画向量

为了对字符之间的字形关系建模,将每个字符的笔画输入到另一个1层的GRU网络中,输出笔画向量(shape embedding)

4. Output Layer 输出层

4.1 Character Prediction 字符预测

第i个token的字符预测概率,定义如下:

4.2 Pronunciation Prediction 拼音预测

中文由430种不同的发音,但是有超过2500个常用字。许多字符共用同一个拼音,因此,有80%的拼写错误由拼音错误引起。

为了能够在拼音这个层面学习到错写的知识,PLOME同时预测每一个masked token的真实拼音。

拼音预测的概率定义如下:

5. 学习目标

学习的过程就是优化2个目标函数,字符预测和拼音预测:

优化函数:

三、PLOME 实验结果

3.1 参数定义|设置

d_c : 字符embedding,维度:768

d_l : 拼音embedding,维度:32

d_s : 偏旁部首embedding,维度:32

h_p : 拼音隐层embedding,维度:768

h_s : 字形embedding,维度:768

学习率:5e-5

max sentence length : 180

batch size : 32

epochs : 4

模型初始化权重参数为Google BERT中文模型参数

3.2 实验结果

3.3 shape embedding 字形向量 与 phonic embedding 拼音向量可视化

四、参考文献

1、论文:

PLOME: Pre-training with Misspelled Knowledge for Chinese Spelling Correction

https://aclanthology.org/2021.acl-long.233.pdf

0 人点赞