本文主要介绍腾讯 AI Platform Department 宣布的一篇关于中文纠错模型的论文,收录在第 2021 年 ACL ,论文地址:aclanthology.org/2021.acl-lo…

功能

PLOME 是为中文拼写纠正(CSC) 使命规划的,旨在检测和纠正中文文本中的拼写过错。

摘要

  • 本文为中文拼写纠正 (CSC) 提出了一种带有拼写过错常识的预练习掩码言语模型 PLOME ,能够在与练习期间学习语义和拼写过错常识
  • PLOME 依据混杂集用类似的字符屏蔽所选的符号,而不是像 BERT 那样运用固定符号 “[MASK]”
  • 除了字符猜测,PLOME 还引入了字符的发音和笔画作为输入,经过康复掩码位置的实在字符和语音来学习字符和语音级别的拼写过错常识
  • PLOME 运用 GRU 网络对语音和笔画进行建模

奉献

  • 本文办法相关于最先进的办法取得了明显的优势
  • 发布源代码和预练习模型供社区运用: github.com/liushulinle…
  • PLOME 是第一个专为中文拼写纠正而规划的特定使命言语模型,且是第一个在字符和语音级别上对该使命进行建模的
  • PLOME 引入了拼音和笔画,这使它能够对任意字符之间的类似性进行建模

模型结构

下面是 PLOME 的主要结构图。

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

Confusion Set based Masking Strategy

PLOME 只隐瞒输入的 15% 的 token ,它不像 BERT 仅仅用 MASK 进行隐瞒,而是对隐瞒的 token 履行四种或许的不同的变化,具体比如看下图事例:

  • 60% 的或许变成语音类似字符
  • 15% 的或许变成视觉类似字符
  • 15% 的或许不变
  • 10% 的或许从词表中随机选取一个

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

Embedding Layer

经过看上面的结构图知道每个字符的终究嵌入是 character embedding 、position embedding 、phonic embedding 和 shape embedding 的总和,前两者是经过查找表取得的,其间词表大小和嵌入维度与 BERTbase 中的相同。

在本文中,运用 Unihan Database3 来获取汉字-拼音映射(没有音调),将每个字的拼音字母输入到 1 层 GRU 网络以生成 Phonic Embedding ,期望类似的拼音有类似的嵌入。下图中心部分给出了一个示例。

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

运用 Stroke Order4 来表示一个汉字笔画序列。在本文中,笔画数据是经过 Chaizi Database5 取得的。为了建模字符之间的视觉关系,将每个汉字的笔画次序输入另一个 1 层 GRU 网络以生成 Shape Embedding ,在上图的底部给出了一个示例。

Transformer Encoder

PLOME 中用到的 Transformer 的架构与 BERTbase 中的架构相同。 共有 12 层 ,每层隐单元大小为 768 ,注意力头数为 12 。

Output Layer

PLMOE 对每个选定的字符进行两部分内容猜测:

  • Character Prediction: 与 BERT 类似,PLOME 依据最后一个 Transformer 层生成的嵌入来猜测每个掩码符号的原始字符

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

  • Pronunciation Prediction:语音过错在汉语拼写过错中占主导地位。大约 80% 的拼写过错是语音过错。为了在语音层面学习拼写过错的常识,PLOME 还猜测每个掩码符号的实在发音,其间发音由拼音呈现,没有音调。

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

Learning

上面猜测有两部分,模型的学习进程天然也是有两部分方针驱动的,分别是 Character Prediction 和 Pronunciation Prediction 。 其间 Lc 是字符猜测的方针,li 是 xi 的实在字符,Lp 是发音猜测的方针,ri 是实在拼音。

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

总体方针界说为:

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

Fine-tuning Procedure

PLOME 是为 CSC 使命规划的,旨在检测和纠正中文文本中的拼写过错。形式上,给定由 n 个字符组成的字符序列 X = {x1, x2, …, xn},该模型预期生成方针序列 Y = {y1, y2, …, yn},其间的过错能得到纠正。

Training:学习方针与预练习进程中的完全相同。此进程类似于预练习,不同之处在于: (1) 混杂集掩码战略被去掉了 ;(2)一切输入字符都需要猜测,而不是像预练习那样只挑选 token 。

Inference:因为 PLOME 预练习时分猜测每个遮蔽 token 的字符散布和发音散布,因而构建了联合散布为:

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

其间 pj (yi = j |X ) 是结合字符和发音猜测,将 xi 的原始字符猜测为第 j 个字符的概率,pc 和 pp 在等式 1 和等式 2 中分别界说,jp是第 j 个字符的发音。为此构建了一个指标矩阵 I∈Rncnp,其间假如第 i 个字符的发音是第 j 个拼音,则 Ii,j 设置为 1 ,不然设置为 0 。那么联合散布能够是核算办法:

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

运用联合概率作为猜测散布。关于每个输入的 token ,挑选联合概率最高的字符作为终究输出。联合散布一起考虑了字符和发音猜测,因而更精确。

试验

Pre-training

Dataset:运用 wiki2019zh6 作为预练习语料库,它由 100 万个中文维基百科页面组成。 此外还有 300 万篇新闻文章。 将这些页面和文章拆分红语句,一共取得了 1.621 亿个语句。 然后连接连续的语句以取得最多 510 个字符的文本片段,用作练习样例。

Parameter Settings:略

Fine-tuning

Dataset:练习数据由来自 2013 年、2014 年、2015 年的 SIGHAN 数据集构成 10K 手动注释样本和 271K 主动生成的样本组成。

Evaluation Data:运用最新的 SIGHAN 测验数据集来评价所提出的模型,该模型包括 1100 篇文本和 461 种过错类型。

Evaluation Metrics:运用最常见的精确率、召回率和 F1 分数作为评价指标。

Parameter Settings :略

Main Results

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

从上面的测验成果表中,能够得到以下一些结论:

  • 在没有微调的情况下,中心组中的预练习模型取得了较好的成果,甚至以明显的收益优于监督办法 PN 。这表明根据混杂集的屏蔽战略使模型能够在预练习期间学习特定于使命的常识。
  • cBERT-finetune 在一切指标上都优于 BERT-finetune,这表明所提出的掩码战略提供了必要的常识,而且无法经过微调来学习。
  • 结合语音和形状嵌入,PLOME-Finetune 在语句级检测和纠正方面的绝对改善超越 cBERT-Finetune 2.3% 和 2.8%。这表明字符的拼音和笔画提供了有用的信息,而且很难从混杂集中学习。
  • SpellGCN 和本文办法运用的相同混杂集。 但采用不同的战略来学习其间包括的常识。 SpellGCN 构建了一个 GCN 网络来对这些信息进行建模,而 PLOME 在预练习期间从大规模数据中学习它。 PLOME 在一切指标上都取得了更好的功能,这表明本文办法更有效地对此类常识进行建模。

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

  • 从上面的图,运用整个测验集和 SIGHAN 进行比较, PLOME 在一切指标上简直始终优于 BERT 和 SpellGCN。
  • 另外还在 SIGHAN13 和 SIGHAN14 上评价了所提出的模型, PLOME 始终优于一切比较模型。

Effects of Prediction Strategy

PLOME 猜测每个字符的三个散布:字符散布 pc、发音散布 pp 和联合散布 pj。后两个散布与发音猜测有关,CSC 使命需要字符猜测,因而只比较字符猜测 pc 和联合猜测 pj 的作用。

从试验中观察到联合散布在一切评价指标上都优于字符散布。尤其是精度分数的距离愈加明显。联合散布一起考虑了字符和发音猜测,因而猜测成果愈加精确。

Effects of Initialization Strategy

一般来说,初始化战略对深度模型的功能有很大影响。本文根据 cBERT 和 PLOME 实现了四个基线。从试验中观察到用 BERT 初始化的 cBERT 和 PLOME 都取得了更好的功能。特别是一切评价的召回分数都有明显进步。本文以为以下两个原因能够解说这种现象。 1) BERT 中丰厚的语义信息能够有效进步泛化能力。 2)PLOME 由两个 1 层 GRU 网络和一个 12 层 transformer 编码器组成,一共包括超越 110M 的参数。从头开始练习如此大规模的模型时,很容易堕入局部优化

Phonic/Shape Embedding Visualization

经过 GRU 网络为每个字符生成语音和形状嵌入,然后将它们可视化。依据 GRU 网络生成的 768 维嵌入的余弦类似度说明了最挨近“锭”的 30 个字符,该类似度经过 t-SNE 进行可视化。 一方面,简直一切的“锭”、“绽放”等类似“锭”的汉字都比较挨近。 另一方面,互相类似的字符互相非常挨近。 这些现象表明学习的形状嵌入很好地模拟了形状类似性。 另外图中还显现了和 “ding” 类似的拼音都聚集在一块的情况。

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

Converging Speed of Various Models

因为根据混杂集的掩蔽战略,cBERT 和 PLOME 在预练习进程中学习了特定于使命的常识,因而它们在练习开始时取得了比 BERT 更好的功能。 此外,本文所提出的模型需要更少的练习过程来实现相对较好的功能。 PLOME 只需要 7k 步就能够达到 80% 的分数,而 BERT 需要 47k 步。

近三千字肝货!腾讯中文纠错模型 PLOME 论文详解!简单易懂包学包会!

尾记

  • 本文编撰不易,转载标明出处
  • 期望各位同学能学到常识,假如能点赞支持一下当然就愈加完美
  • 欢迎谈论区沟通评论