本技术涉及自然语言处理,特别是涉及一种融合定长序列到序列网络的中文成语纠错方法和装置。
背景技术:
1、中文作为一种古老的语言在中华文化的传承与交流中起着不可替代的作用。众所周知,在日常的使用中经常会遇到一些错误使用中文的情况。这些错误会直接影响用户的体验,严重时甚至会造成不可估量的损失。研究发现四字成语作为一种特殊的中文高级构词类型,它的使用场景非常广泛。在教学和使用过程中用户会遇到一些关于成语排序(乱序错误)(根据给定的4个无序的汉字,通过自动排序后构成正确的成语)、成语纠错(错字错误)(给定一个含错别字的成语,需要将错别字自动纠正后才能得到正确的成语)和成语补齐(缺字错误)(给定部分字,需要自动补齐缺失的汉字才能构成完整的成语)的难题。
2、中文四字成语智能纠错模型是最近提出来的一项自然语言处理任务。该任务当前面临三大挑战,乱序错误的纠正难点是如何解决成语的正确排序,错字错误的难点是如何纠正成语中出现的错字,缺字错误的难点是如何自动补齐成语中缺失的汉字。对于具有一定知识积累的人类来说,实现上述目标并不难。但是对于计算机来说当前的成语纠错性能还有待进一步提升。若能研制出高效的算法让计算机具备自动识别与更正成语错误的能力,这对成语的教学和应用会有极大帮助。为了应对上述的三个挑战,传统的中文纠错模型是根据不同的错误类型分别建立不同的纠错模型然后再逐个击破。目前没有统一的高性能中文成语智能纠错模型可以一体化直接求解多种错误类型。并且现有纠错模型基本上都是对传统的中文句子纠错任务进行建模,没有单独考虑中文四字成语的结构特殊性,这类方法的输入输出没有考虑四字成语的长度特性,这在实际应用中不仅会影响纠错性能,还会增加模型的复杂度。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够针对中文四字成语的智能纠错需求,同时兼顾多任务一体化求解和高性能纠错两个方面的融合定长序列到序列网络的中文成语纠错方法和装置。
2、一种融合定长序列到序列网络的中文成语纠错方法,所述方法包括:
3、获取正确的四字成语数据集,对四字成语数据集中每个正确四字成语分别依次进行单个字符乱序排列和单个字符与指定特殊符号替换处理,并将每个正确四字成语处理得到的28种不同的四字序列与对应的正确四字成语分别构成28种序列对,通过收集四字成语数据集中每个正确四字成语构造得到的所有28种序列对,得到混合数据集;
4、利用混合数据集对预先构建的融合定长序列到序列网络的中文成语智能纠错模型进行训练,得到训练好的中文成语智能纠错模型;
5、将待纠错的成语序列输入训练好的中文成语智能纠错模型进行纠错,输出得到纠正后的成语序列;其中,中文成语智能纠错模型包括输入序列表示模块、混合向量编码模块、编码器、注意力加权和向量计算模块、解码器和输出序列表示模块;输入序列表示模块用于将待纠错的成语序列统一表示为指定格式的输入序列;混合向量编码模块用于对指定格式的输入序列进行分词处理,并将分词结果转换为数值向量;编码器用于对数值向量执行编码过程,生成隐藏状态;注意力加权和向量计算模块用于采用luong注意力机制对隐藏状态进行注意力加权计算,得到预测向量;解码器用于对预测向量执行解码过程,并在解码过程中搜索生成纠正后的成语序列;输出序列表示模块用于展示输出纠正后的成语序列。
6、在其中一个实施例中,对四字成语数据集中每个正确四字成语分别依次进行单个字符乱序排列和单个字符与指定特殊符号替换处理,并将每个正确四字成语处理得到的28种不同的四字序列与对应的正确四字成语分别构成28种序列对,通过收集四字成语数据集中每个正确四字成语构造得到的所有28种序列对,得到混合数据集,包括:
7、对四字成语数据集中每个正确四字成语依次进行单个字符乱序排列处理,得到24种第一类四字序列,并将每个正确四字成语处理得到的24种第一类四字序列与对应的正确四字成语构成24种第一类序列对;
8、对四字成语数据集中每个正确四字成语依次进行单个字符与指定特殊符号替换处理,得到4种第二类四字序列,并将每个正确四字成语处理得到的4种第二类四字序列与对应的正确四字成语构成4种第二类序列对;
9、收集四字成语数据集中所有正确四字成语构造得到的24种第一类序列对和4种第二类序列对,得到混合数据集。
10、在其中一个实施例中,利用混合数据集对预先构建的融合定长序列到序列网络的中文成语智能纠错模型进行训练,得到训练好的中文成语智能纠错模型,包括:
11、将混合数据集中的第一类四字序列和第二类四字序列作为输入序列,将第一类四字序列和第二类四字序列对应的正确四字成语作为输出序列,训练中文成语智能纠错模型,得到输入端与输出端序列长度固定的训练好的中文成语智能纠错模型;
12、其中,第一类四字序列用于在模型训练过程中针对乱序和正确这两种错误类型进行纠错训练;第二类四字序列用于在模型训练过程中针对缺字和错字这两种错误类型进行纠错训练。
13、在其中一个实施例中,输入序列表示模块通过检测识别待纠错的成语序列的错误类型,将待纠错的成语序列统一表示为长度为4的输入序列;其中,针对缺字类型,采用特殊符号代替待纠错的成语序列中的缺失字符;针对乱序、错字和正确类型,保持待纠错的成语序列中的字符不变。
14、在其中一个实施例中,混合向量编码模块采用字符和词语共存的词袋模型或分布式预训练模型对指定格式的输入序列进行分词处理,并将分词结果转换为数值向量。
15、在其中一个实施例中,编码器通过3层双向门控循环单元对数值向量执行编码过程,生成隐藏状态。
16、在其中一个实施例中,解码器采用3层单向门控循环单元对预测向量执行解码过程,并在解码过程中结合束搜索或贪心搜索算法生成纠正后的成语序列。
17、一种融合定长序列到序列网络的中文成语纠错装置,所述装置包括:
18、混合数据集构造模块,用于获取正确的四字成语数据集,对四字成语数据集中每个正确四字成语分别依次进行单个字符乱序排列和单个字符与指定特殊符号替换处理,并将每个正确四字成语处理得到的28种不同的四字序列与对应的正确四字成语分别构成28种序列对,通过收集四字成语数据集中每个正确四字成语构造得到的所有28种序列对,得到混合数据集;
19、模型训练模块,用于利用混合数据集对预先构建的融合定长序列到序列网络的中文成语智能纠错模型进行训练,得到训练好的中文成语智能纠错模型;
20、成语纠错模块,用于将待纠错的成语序列输入训练好的中文成语智能纠错模型进行纠错,输出得到纠正后的成语序列;其中,中文成语智能纠错模型包括输入序列表示模块、混合向量编码模块、编码器、注意力加权和向量计算模块、解码器和输出序列表示模块;输入序列表示模块用于将待纠错的成语序列统一表示为指定格式的输入序列;混合向量编码模块用于对指定格式的输入序列进行分词处理,并将分词结果转换为数值向量;编码器用于对数值向量执行编码过程,生成隐藏状态;注意力加权和向量计算模块用于采用luong注意力机制对隐藏状态进行注意力加权计算,得到预测向量;解码器用于对预测向量执行解码过程,并在解码过程中搜索生成纠正后的成语序列;输出序列表示模块用于展示输出纠正后的成语序列。
21、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
22、获取正确的四字成语数据集,对四字成语数据集中每个正确四字成语分别依次进行单个字符乱序排列和单个字符与指定特殊符号替换处理,并将每个正确四字成语处理得到的28种不同的四字序列与对应的正确四字成语分别构成28种序列对,通过收集四字成语数据集中每个正确四字成语构造得到的所有28种序列对,得到混合数据集;
23、利用混合数据集对预先构建的融合定长序列到序列网络的中文成语智能纠错模型进行训练,得到训练好的中文成语智能纠错模型;
24、将待纠错的成语序列输入训练好的中文成语智能纠错模型进行纠错,输出得到纠正后的成语序列;其中,中文成语智能纠错模型包括输入序列表示模块、混合向量编码模块、编码器、注意力加权和向量计算模块、解码器和输出序列表示模块;输入序列表示模块用于将待纠错的成语序列统一表示为指定格式的输入序列;混合向量编码模块用于对指定格式的输入序列进行分词处理,并将分词结果转换为数值向量;编码器用于对数值向量执行编码过程,生成隐藏状态;注意力加权和向量计算模块用于采用luong注意力机制对隐藏状态进行注意力加权计算,得到预测向量;解码器用于对预测向量执行解码过程,并在解码过程中搜索生成纠正后的成语序列;输出序列表示模块用于展示输出纠正后的成语序列。
25、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
26、获取正确的四字成语数据集,对四字成语数据集中每个正确四字成语分别依次进行单个字符乱序排列和单个字符与指定特殊符号替换处理,并将每个正确四字成语处理得到的28种不同的四字序列与对应的正确四字成语分别构成28种序列对,通过收集四字成语数据集中每个正确四字成语构造得到的所有28种序列对,得到混合数据集;
27、利用混合数据集对预先构建的融合定长序列到序列网络的中文成语智能纠错模型进行训练,得到训练好的中文成语智能纠错模型;
28、将待纠错的成语序列输入训练好的中文成语智能纠错模型进行纠错,输出得到纠正后的成语序列;其中,中文成语智能纠错模型包括输入序列表示模块、混合向量编码模块、编码器、注意力加权和向量计算模块、解码器和输出序列表示模块;输入序列表示模块用于将待纠错的成语序列统一表示为指定格式的输入序列;混合向量编码模块用于对指定格式的输入序列进行分词处理,并将分词结果转换为数值向量;编码器用于对数值向量执行编码过程,生成隐藏状态;注意力加权和向量计算模块用于采用luong注意力机制对隐藏状态进行注意力加权计算,得到预测向量;解码器用于对预测向量执行解码过程,并在解码过程中搜索生成纠正后的成语序列;输出序列表示模块用于展示输出纠正后的成语序列。
29、上述融合定长序列到序列网络的中文成语纠错方法,相较于现有技术,具备以下技术效果:
30、1、相较于传统预训练语言模型中只采用完全正确语序的句子文本进行训练的方法,本技术通过单个字符乱序排列和单个字符与指定特殊符号替换处理构造得到的混合数据集进行模型训练,混合数据集可以使得模型能够同时兼容乱序、缺字、错字和正确四种不同的中文成语智能纠错目标,实现多任务一体化求解,能够在成语教学和智能写作与校正等多个领域得以广泛应用。
31、2、本技术考虑了中文成语具有的四字定长的结构特点,利用混合数据集对融合定长序列到序列网络的中文成语智能纠错模型进行训练,使得训练好的模型具有定长的输入/输出结构,这不仅可以简化模型,还能大大降低整体计算复杂度。
32、3、相比于现有仅使用单一字符或者词语的嵌入方法,本技术考虑到输入的成语序列中有可能会包含一些正确词语,在混合向量编码模块采用字符和词语共存的词袋模型或分布式预训练模型完成输入序列的数值向量编码表示,能够更有利于输入的成语序列的特征表示。
33、4、相比于其他采用transformer模型来完成输入序列的编/解码,本技术充分考虑到编码器部分需要提取更多的上下文信息,采用了3层双向门控循环单元作为编码器骨架完成输入序列的编码计算,再结合注意力网络完成加权及向量计算,最后为了加快推理性能,在解码器部分利用3层单向门控循环单元完成序列的解码并搜索生成纠正后的成语序列,有效提高了成语纠错的准确率和推理性能。
1.一种融合定长序列到序列网络的中文成语纠错方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,对所述四字成语数据集中每个正确四字成语分别依次进行单个字符乱序排列和单个字符与指定特殊符号替换处理,并将每个正确四字成语处理得到的28种不同的四字序列与对应的正确四字成语分别构成28种序列对,通过收集所述四字成语数据集中每个正确四字成语构造得到的所有28种序列对,得到混合数据集,包括:
3.根据权利要求2所述的方法,其特征在于,利用所述混合数据集对预先构建的融合定长序列到序列网络的中文成语智能纠错模型进行训练,得到训练好的中文成语智能纠错模型,包括:
4.根据权利要求1所述的方法,其特征在于,所述输入序列表示模块通过检测识别所述待纠错的成语序列的错误类型,将所述待纠错的成语序列统一表示为长度为4的输入序列;其中,针对缺字类型,采用特殊符号代替所述待纠错的成语序列中的缺失字符;针对乱序、错字和正确类型,保持所述待纠错的成语序列中的字符不变。
5.根据权利要求1所述的方法,其特征在于,所述混合向量编码模块采用字符和词语共存的词袋模型或分布式预训练模型对所述指定格式的输入序列进行分词处理,并将所述分词结果转换为数值向量。
6.根据权利要求1所述的方法,其特征在于,所述编码器通过3层双向门控循环单元对所述数值向量执行编码过程,生成隐藏状态。
7.根据权利要求1所述的方法,其特征在于,所述解码器采用3层单向门控循环单元对所述预测向量执行解码过程,并在解码过程中结合束搜索或贪心搜索算法生成纠正后的成语序列。
8.一种融合定长序列到序列网络的中文成语纠错装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
