全国中文纠错大赛达观冠军方案分享:多模型结合的等长拼写纠错

参与任务 

中文拼写检查任务是中文自然语言处理中非常具有代表性和挑战性的任务,其本质是找出文本段落中的错别字。这项任务在各种领域,如公文,新闻、财报中都有很好的落地应用价值。而其任务的困难程度也赋予了它非常大的研究空间。达观数据在CCL2022汉语学习者文本纠错评测比赛的赛道一中文拼写检查(Chinese Spelling Check)任务中取得了全国冠军,赛道二中文语法纠错(Chinese Grammatical Error Diagnosis)任务中获得了亚军。本文基于赛道一中文拼写检查任务的内容,对比赛过程中采用的一些方法进行分享,并介绍比赛采用的技术方案在达观智能校对系统中的应用和落地。赛道二中文语法纠错的获奖方案已经分享在达观数据官方公众号中。

本次中文拼写检查的任务是检测并纠正中文文本中的拼写错误(Spelling Errors)。拼写任务包括:音近,形近,音形兼近。特点是错误内容与被替换内容长度相同,这也意味着输入语句与输出语句的长度相同。

图1 音近字错误示例

在上述图1描述的案例中,输入句中的“干”是一处近音字的错误使用,应被替换为正确的“赶”,从而得到输出句子。

图2多字错误示例

这种任务在实际应用中会遇到一些困难。1. OOV(out of vocabulary)的问题会严重影响模型效果。首先,模型不可能纠错出没有在训练中见过的表达方式;其次,模型会由于在训练中没有见过相关实体而将他们错纠。2. 如上图2所示,当一个句子存在多处错误(糊涂两个字都错了),纠错时会受到上下文的影响,也就是受到其他错误的影响导致难以纠错成功。

纠错系统 

如图3所示,纠错系统顾名思义是以一个系统流程的方式进行纠错任务。我们的系统为串联式,共有五个步骤。首先,我们对基础模 型进行预训练和微调,然后进行多轮纠错式推理,第三步是使用训练好的困惑度模型进行误召回检查,第四步则是使用实体纠错方法对于相关实体再次审核,最后使用精度很高但召回较低的Ngram语言模型进行再一次的补充。详细内容的介绍将会在该模块下逐一展开。

图3 拼写纠错方案流程图

拼音编码基础模型 

图4 拼音编码模型结构

不同于常规的BERT模型,这次工作中,我们加强了模型对属于文本拼音的识别,这样可以针对性地面对近音字问题。如图4所示,除了常规的Embedding Layer,也就是字符的编码外,我们还加入了拼音输入。我们借鉴了DCN (Wang et al., 2021)中采用的编码方法,每一个拼音组合首先会被编码成一个独一无二的整数,输入模型中。而后,将拼音经过Convolutional layer后的矩阵与文本经过Embedding Layer之后的矩阵相加,再输入到Attention中,以此强化拼音编码在模型中的权重。不同于DCN中只在Embedding阶段将拼音编码与字符编码相组合,我们借鉴了DeBE

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文本纠错调研文档 1. 引言 文本纠错是自然语言处理中一个重要的任务,它旨在检测和修正文本中的语法错误、拼写错误和其他语言错误。随着深度学习技术的发展,各种文本纠错模型被提出和应用于实际场景中。本文将对几种常见的文本纠错模型进行调研,并给出每个模型的推理结果输出示例。 2. 文本纠错模型调研 在本调研中,我们选择了以下几种常见的文本纠错模型进行分析: 2.1. Transformer-based 模型 Transformer-based 模型是一种基于注意力机制的神经网络模型,它在自然语言处理任务中取得了很大的成功。在文本纠错任务中,Transformer-based 模型可以通过学习上下文信息来预测和修正错误。 示例输出: 原始文本:I am go to schoo. 纠正结果:I am going to school. 2.2. LSTM-based 模型 LSTM-based 模型是一种基于长短期记忆网络的神经网络模型,它可以对序列数据进行建模,并具有较好的记忆能力。在文本纠错任务中,LSTM-based 模型可以通过学习上下文信息来纠正错误。 示例输出: 原始文本:He is go to home. 纠正结果:He is going to home. 2.3. Seq2Seq 模型 Seq2Seq 模型是一种将输入序列映射到输出序列的神经网络模型,它广泛应用于机器翻译等任务。在文本纠错任务中,Seq2Seq 模型可以将错误的文本序列映射到正确的文本序列。 示例输出: 原始文本:She have three cats. 纠正结果:She has three cats. 3. 结论 通过对几种常见的文本纠错模型进行调研,我们可以发现这些模型在纠正语法错误、拼写错误等方面具有一定的效果。然而,每个模型都有其局限性和适用场景。在实际应用中,我们需要根据具体任务和需求选择合适的模型。 附录:代码实现和数据集说明 在本调研中,我们使用了Python编程语言和常见的深度学习框架来实现和训练文本纠错模型。数据集采用了包含语法错误、拼写错误等的文本数据集,并进行了预处理和分割。模型训练过程中采用了适当的优化算法和损失函数。 以上是对几种常见的文本纠错模型的调研结果,每个模型的推理结果输出示例也在文档中给出。希望对您的研究或实践有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值