Soft-Masked BERT 一种新的中文纠错模型

机器学习AI算法工程

共 3071字,需浏览 7分钟

 ·

2021-03-19 11:45


向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结构




  • Detection Network

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


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


  • Soft Masking Connection



  • Correction Network

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



实验结果

论文中使用的数据集有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种错误(字符级别).


可以看出,在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

参考

  1. ^[1] https://arxiv.org/pdf/2005.07421.pdf

  2. ^http://ir.itc.ntnu.edu.tw/lre/sighan7csc.html

  3. ^https://github.com/shibing624/pycorrector

  4. ^https://zhuanlan.zhihu.com/p/164873441




阅读过本文的人还看了以下文章:


TensorFlow 2.0深度学习案例实战


基于40万表格数据集TableBank,用MaskRCNN做表格检测


《基于深度学习的自然语言处理》中/英PDF


Deep Learning 中文版初版-周志华团队


【全套视频课】最全的目标检测算法系列讲解,通俗易懂!


《美团机器学习实践》_美团算法团队.pdf


《深度学习入门:基于Python的理论与实现》高清中文PDF+源码


特征提取与图像处理(第二版).pdf


python就业班学习视频,从入门到实战项目


2019最新《PyTorch自然语言处理》英、中文版PDF+源码


《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码


《深度学习之pytorch》pdf+附书源码


PyTorch深度学习快速实战入门《pytorch-handbook》


【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》


《Python数据分析与挖掘实战》PDF+完整源码


汽车行业完整知识图谱项目实战视频(全23课)


李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材


笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!


《神经网络与深度学习》最新2018版中英PDF+源码


将机器学习模型部署为REST API


FashionAI服装属性标签图像识别Top1-5方案分享


重要开源!CNN-RNN-CTC 实现手写汉字识别


yolo3 检测出图像中的不规则汉字


同样是机器学习算法工程师,你的面试为什么过不了?


前海征信大数据算法:风险概率预测


【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类


VGG16迁移学习,实现医学图像识别分类工程项目


特征工程(一)


特征工程(二) :文本数据的展开、过滤和分块


特征工程(三):特征缩放,从词袋到 TF-IDF


特征工程(四): 类别特征


特征工程(五): PCA 降维


特征工程(六): 非线性特征提取和模型堆叠


特征工程(七):图像特征提取和深度学习


如何利用全新的决策树集成级联结构gcForest做特征工程并打分?


Machine Learning Yearning 中文翻译稿


蚂蚁金服2018秋招-算法工程师(共四面)通过


全球AI挑战-场景分类的比赛源码(多模型融合)


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


python+flask搭建CNN在线识别手写中文网站


中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程



不断更新资源

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

 搜索公众号添加: datayx  



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

 搜索公众号添加: datanlp

长按图片,识别二维码





浏览 53
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报