Soft-Masked BERT 一种新的中文纠错模型_机器学习

向AI转型的程序员都关注了这个号????????????

人工智能大数据与深度学习  公众号:datayx

今年,字节AI-Lab与复旦大学合作提出了一种中文文本纠错模型:Soft-Masked BERT[1].这项工作发表在了ACL 2020上,由于论文并没有开源代码,所以我将对这篇论文进行解读与复现。

问题提出:

中文文本纠错是一项挑战性的任务,因为模型要想获得令人满意的解决方案,就必须具备人类水平的语言理解能力。比如:

  • eg1 Wrong:埃及有金子塔。Correct: 埃及有金字塔。
  • eg2 Wrong: 他的求胜欲很强,为了越狱在挖洞。Correct: 他的求生欲很强,为了越狱在挖洞。
  • eg3 Wrong: 他主动拉了姑娘的手, 心里很高心。Correct: 他主动拉了姑娘的手, 心里很高兴。

在Soft-Masked BERT被提出之前,最好的方法是先通过在句子的每个位置建立基于BERT的语言表示模型,再从候选字符列表中选择一个字符进行修正。然而,BERT使用了mask的方式进行预训练,没有足够的能力来检测每个位置是否存在误差(只有15%的错误被找出),所以这种方法的精度不够好。

Soft-Masked BERT解决方案:

使用两个网络模型,一个用于错误检测;另一个基于BERT进行纠错。

Soft-Masked BERT 一种新的中文纠错模型_机器学习_02

Soft-Masked BERT结构

  • Detection Network

Detection Network通过双向的GRU来实现:

Soft-Masked BERT 一种新的中文纠错模型_图像识别_03

构建Detection_Network中的网络层与实例化代码:

Soft-Masked BERT 一种新的中文纠错模型_人工智能_04

  • Soft Masking Connection

Soft-Masked BERT 一种新的中文纠错模型_图像识别_05

  • Correction Network

该层主要的结构就是Bert模型,其中有12个Encoder层,以整个序列作为输入。每个block包含一个多头部的self-attention操作,然后接一个前馈网络:

Soft-Masked BERT 一种新的中文纠错模型_机器学习_06

Soft-Masked BERT 一种新的中文纠错模型_计算机视觉_07

Soft-Masked BERT 一种新的中文纠错模型_人工智能_08

实验结果

论文中使用的数据集有3个:

  1. Chinese Spelling Check Task(CSC)数据集:选择了其中《对外汉语测试》的作文部分(SIGHAN);
  2. News Title数据集:来自于今日头条app中的文章的标题部分;
  3. 5 million news titles数据集:从一些中文新闻app中爬取,该数据集只用来fine-tuning

其中公开数据集为Chinese Spelling Check Task数据集[2],包含1100个文本和461种错误(字符级别).

Soft-Masked BERT 一种新的中文纠错模型_图像识别_09

可以看出,在CSC数据集的测试中,Soft-Masked BERT模型的效果基本上都是比其他Baseline模型的效果要好。

而在Detection部分,HanSpeller++模型的精准率要高于Soft-Masked BERT模型的精准率,且Correction部分HanSpeller++模型的精准率也高于Soft-Masked BERT模型的精准率.

这是因为HanSpeller++模型中有许多人工添加的规则与特征,这些人工添加的规则与特征能在Detection部分过滤错误的识别,虽然这种人工规则与特征效果很好,但这种方式需要很多人工成本,而且泛化性也不好.

综上,在SIGHAN数据集的测试集上,Soft-Masked BERT模型的效果是最优的。

此外作者还用实验证明了:

  1. fine-tuning的数据集(在5 million news titles数据集上)的规模越大,fine-tuning之后的模型在CSC任务中的效果也会越好;
  2. 消融对比研究,证明该提出的模型每一部分都是不可或缺的.

关于以上内容:

完整代码以及更详细的注释(一行代码三行注释)已上传到github

  • 代码 获取方式:

  • 分享本文到朋友圈
    关注微信公众号 datayx  然后回复 纠错  即可获取。
    AI项目体验地址 https://loveai.tech

不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

Soft-Masked BERT 一种新的中文纠错模型_深度学习_10


机大数据技术与机器学习工程

 搜索公众号添加: datanlp

Soft-Masked BERT 一种新的中文纠错模型_机器学习_11