本发明是自然语言处理领域中的一项任务,主要是一种基于cnn(convolutionalneuralnetworks,卷积神经网络)与bert(bidirectionalencoderrepresentationsfromtransformers)模型的英文语法纠错方法。
背景技术:
对于国内英语学习者来说,语法往往是他们在英语学习中的难点,由于教学资源有限,学习者们遇到的语法问题往往不能及时得到正确的修改意见与范例。如果能有一种语法纠错系统,使得学习者们在学习和使用英语的过程中出现的语法错误能够被及时地指出,并给出相应的反馈建议,则可以极大地降低学习者们学习的难度,并显著地提高他们的英语水平。传统的英文纠错系统大多是单纯基于统计机器翻译原理或是基于某种语法规则而实现的纠错系统,准确度不高,训练模型效率低,能够查出的语法错误类型也有限。针对这些问题,本文提出了一种基于cnn与bert模型的英文语法纠错方法。利用cnn+attention(注意力机制)有效地提取句子特征;同时通过对bert模型进行fine-tuning(参数微调),训练新的语言模型,为神经网络的输出结果评分,选出最佳的纠错结果。
技术实现要素:
本发明提出一种基于cnn与bert模型的英文语法纠错方法,将语法纠错视为一种从错误的“坏英语”到对应正确的“好英语”的翻译类任务,使用encoder–decoder(编码-解码)框架。模型采用了cnn+attention+bert结构。通过大量的平行语料,训练cnn模型,使其学习从错误句子到正确句子的映射;同时,在decoder层添加attention模块,为单词增加权重,以提高模型的精确度;利用大量平行语料对bert模型进行fine-tuning,实现(0,1)分类的效果,当输入一个句子时,可以返回将该句子判断为正确的概率值。将cnn模型的纠错结果输入bert模型中,得到相应的得分,结合二者的评分,即可选出最佳的纠错结果。
附图说明:
图1英语语法纠错系统流程图
图2多层卷积模型体系结构图
图3bert评分流程图
具体实施步骤:
本发明实现的方法流程如图1所示,整体主要包含以下三个步骤:数据收集,模型训练,模型运用。
数据收集:在互联网上收集大量的“错误-正确”的英语平行语料,分别存放在两个文件中,存放顺序一致。
模型训练:对于神经网络模型,将平行语料输入到encoder–decoder框架中,模型框架如图2所示(其中,s1表示传入第一个编码层中的词向量,f1表示s1经过卷积操作后得到的张量,o1表示f1经过全连接层后得到的张量,d1表示第一个解码层解码后得到的张量)。通过设置学习率等参数,让模型进行迭代训练,直至生成理想的模型;对于bert评分模型,将平行语料输入到预训练好的bert模型中进行fine-tuning,为其添加(0,1)分类任务,对错误的句子添加“0”标签,正确的句子添加“1”标签,fine-tuning完成后,模型即可为输入的句子给出判断其为“0”或“1”的概率,这里我们取正确(判断为“1”)的概率。
模型运用:得到训练好的cnn模型和bert模型后,我们将有语法错误的句子输入cnn模型,会得到5个修改结果,再将这5个修改结果输入bert模型,分别得到它们是正确句子的概率,取概率值最高的句子,即为最终的纠错结果。
结合一个具体的实例方法,语法纠错操作流程步骤如下:
1)搜集大量的“错误-正确”平行语料;
2)利用卷积神经网络训练纠错模型;
3)利用bert训练评分模型;
4)将待纠错的句子输入步骤2中的模型,得到纠错结果后输入步骤3中的模型,得到相应的分数,取得分最高的句子为最终的纠错结果。
1.一种基于cnn与bert模型的英文语法纠错方法,利用基于encoder-decoder框架的cnn+attention模型对英文句子进行纠错。
2.一种基于cnn与bert模型的英文语法纠错方法,利用bert模型为英文句子评分。