AI智能
改变未来

爱奇艺开源FASPell项目


爱奇艺开源FASPell项目

FASPell是中文拼写检查器,可完成对任何一种中文文本(简体中文文本; 繁体中文文本; 人类论文; OCR结果等)的拼写检查。

特点:只能解决错字场景,多字/少字/乱序场景不支持。

论文:FASPell: A Fast, Adaptable, Simple,
Powerful Chinese Spell CheckerBased On DAE-Decoder Paradigm

发表:Proceedings of the 2019 EMNLP
Workshop W-NUT

论文概述:

论文提出一个基于新范式的中文拼写检查器——FASPell。新的范式包括去噪自动编码器(DAE)和把握度-字符相似度解码器(CSD)。

新范式规避了两个以前的中文拼写检查模型的2个瓶颈:

第一,DAE通过利用无监督预训练方法(如BERT,XLNet,MASS等),减少了监督学习所需的中文拼写检查数据量(<10,000个句子)。

第二,解码器有助于消除困惑集的使用,因为它在灵活和充分地利用汉字相似性这一关键特征上的不足。

FASPell模型:

  1. 预训练掩码语言模型

掩码语言模型MLM(in Google BERT):深度双向transformer模型。

为每个序列(如:国际电台苦名丰持人)随机mask掉15%的词:

  • 80%使用[MASK]:

  • 10%使用随机词:让模型学习如何纠正错误的字符

  • 10%保留原词: 让模型学习检测字符是否是错误的

预测被mask的词,作为原词的候选词。(候选词数量c设置为4)

  1. 微调训练掩码语言模型

这种MLM随机替换的方式,与实际的错误区别较大,所以再进行fine-tune。

  • 没有错误的数据,保持和原BERT相同处理

  • 有错误的数据,两种处理方式:(数量相同)

    错误的词mask掉,target label设为正确的词

  • 正确的词mask掉,target label设为正确的词(避免过拟合)

  1. 训练CSD过滤器

语境把握度-字符相似度解码器(CSD),会使用上下文confidence,字符相似度similarity特征,通过训练数据训练过滤器 (两个特征取值的曲线,替代之前的固定阈值),根据confidence对每个候选排序,相同rank的候选分到同一组,使用filter过滤候选词。

similarity:字形上采用 Unicode 标准的 IDS 表征;在字音上使用了所有的 CJK 语言(中日韩统一表意文字)中的汉字发音。github上项目因缺少部分词的 IDS 表征,不能直接复现论文。需要自行生成char_meta.txt.

利用训练集文本通过DAE输出的矩阵,逐行绘制语境把握度-字符相似度散点图:

新范式与旧范式区别:

以往的范式将利用困惑集给出待检测文本的每个原始字符的候选替换字符,然后利用多种特征或者语言学规则从中过滤正确字符。这种旧的范式使得模型只能在资源很匮乏的中文拼写检查数据上训练,因此容易出现过拟合(模型对未知样本的预测表现一般)的情况;另外,由于困惑集通常给一个字符提供 20-30 个候选字符,因此从中进行过滤使得模型速度缓慢,而且,相同汉字在任何位置的候选字符也都是固定不变的,因此模型缺少灵活性、通用性。

新的范式由于 DAE 可以在大量自然的文本上进行预训练,中文拼写检查数据仅用于 fine-tune 训练,因此有效避免了过拟合的问题。而且,由于候选字符是由 DAE 即时生成的针对语境、场景最佳的候选字符,将每个原始字符的候选字符控制在仅 4 个从而得以提高速度,同时灵活性、通用性也得到了保证。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 爱奇艺开源FASPell项目