FASPell论文复现记录

简介

最近在做FASPell的复现,遇到一些问题,做一个记录,此篇仅作FASPell README.md的补充。
FASPell是由爱奇艺出品的,针对ocr识别后的文本纠错模型,在SIGHAN15数据集上能够达到SOTA的效果。其论文发表在EMNLP上,代码在github当中开源。

原理

由于对论文及代码的细节还不是特别熟悉,所以难免有错漏,欢迎留言一起交流。
FASPell采用编码器解码器的方式,训练一个深度自动编码器和一个解码器进行纠错。其中,编码器的训练可以使用掩码语言模型BERT、XLNet、MASS等,BERT等语言模型的使用是为了避免检错数据不够时的过拟合问题。解码器则使用字音字形相似度帮助生成混淆集。文章有两个创新点,一是使用解码器解码的方式替代传统混淆集,解决混淆集不够灵活的缺点。二是使用IDS和CJK发音方法进行字音字形计算对候选集进行精准召回。

FINE-TUNE 语言模型

在对语言模型进行FINE-TUNE的时候主要有两点需要注意。

  1. 在做数据处理的时候使用作者提供的方法生成TFrecord而非GOOGLE REPO当中的方法。主要区别在于作者提供的方法对存在错误的句子的错误处进行100%的掩码遮盖;对不存在错误的句子按照15%的概率随机掩码。
  2. FINE-TUNE时使用REPO当中run_pretrained.py文件进行。

模型训练

在模型训练过程当中也有两个问题需要注意。

  1. 训练前将plot.py当中第79行plt.show()注释掉,要不然图片当中不能画出图像。
  2. 训练后可以使用多条直线对曲线进行拟合。将蓝色的x和o尽量放到曲线下边儿。

未明确参数

在模型训练过程中round的设置未明确,需要进一步确认。

你可能感兴趣的:(FASPell论文复现记录)