首页 > 技术文章 > 【论文阅读】FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based On DAE-Decoder Paradigm

AliceYing 2020-03-09 12:38 原文

 
 
论文解读
 
包括一个降噪自动编码器(DAE)和一个解码器。DAE生成可以将错误文本修改为正确文本的可能的候选项矩阵,解码器在这个矩阵中寻找最佳候选项路径作为输出。
 
DAE因为可以在大规模正常语料数据上无监督训练而仅在中文拼写检查数据上fine-tune,避免了过拟合问题。另外,只要DAE足够强大,所有的语意上可能的候选字符都可以出现,且候选字符是根据周围语境即时生成的,这避免了困惑集所带来的不灵活性;解码器根据量化的字符相似度和DAE给出的字符的语境把握度来过滤出正确的替换字符,这样字符相似性上的细微差别信息都可以得到充分利用。
 
DAE:BERT中的掩码语言模型(MLM),论文中使用的c=4
 
  • pre-train:与BERT的MLM训练方式相似
    • 80%使用[MASK]:
    • 10%使用随机词:让模型学习如何纠正错误的字符
    • 10%保留原词:让模型学习检测字符是否是错误的
  • fine-tune:这种MLM随机替换的方式,与实际的错误区别较大,所以再进行fine-tune
    • 没有错误的数据,保持和原BERT相同处理
    • 有错误的数据,两种处理方式:(数量相同)
      • 错误的词mask掉,target label设为正确的词
      • 正确的词mask掉,target label设为正确的词(避免过拟合)
 
decoder:语境把握度-字符相似度解码器(CSD)会使用上下文confidence,字符相似度similarity特征,通过训练数据训练过滤器 (两个特征取值的曲线,替代之前的固定阈值),根据confidence对每个候选排序,相同rank的候选分到同一组,使用filter选取候选,需要看代码找到怎么实现这个过滤曲线函数的。
 
利用训练集文本通过MLM输出的矩阵,逐行绘制语境把握度-字符相似度散点图,确定能将FP和 TP分开的最佳分界曲线。推理阶段,逐行根据分界线过滤掉FP得到TP结果,然后将每行的结果取并集得到最终替换结果。
以前述图片为例,句子首先通过fine-tune训练好的MLM模型,得到的候选字符矩阵通过CSD进行解码过滤,第一行候选项中只有“主”字没有被CSD过滤掉,第二行只有“著”字未被过滤掉,其它行候选项均被分界线过滤清除,得到最终输出结果,即“苦”字被替换为为“著”,“丰”被替换为“主”。
 
 
可借鉴特征:在字音上我们使用了所有的CJK语言中的汉字发音,尽管我们只是对中文文本检错纠错,但是实验证明考虑诸如粤语、日语音读、韩语、越南语的汉字发音对提高拼写检查的性能是有帮助的,而过去的方法均只考虑了普通话拼音。
 
优点:使用MLM预测候选,生成的方式替代了pt表,整个流程非常简单,需要的标注数据也很少,排序时使用字音字形特征,尤其是字音使用多种汉字发音,可解释性也比较好。
 
缺点:只能解决错字场景,多字/少字/乱序场景不支持(这种一般都是实体类型,可单独解决)
 

推荐阅读