文本纠错方法、系统、计算机设备及可读存储介质技术方案

技术编号:27210552 阅读:25 留言:0更新日期:2021-01-31 12:46
本申请涉及一种文本纠错方法、系统、计算机设备和计算机可读存储介质,其中,该方法包括:数据获取步骤,用于获取待纠错文本数据;负样本构建步骤,用于创建一混淆字表并根据所述混淆字表将所述待纠错文本进行语料替换,生成负样本;文本纠错步骤,用于将所述待纠错文本数据及所述负样本数据作为训练数据,将所述训练数据的汉字特征和拼音特征分别经一Soft

【技术实现步骤摘要】
文本纠错方法、系统、计算机设备及可读存储介质


[0001]本申请涉及自然语言处理领域,特别是涉及文本纠错方法、系统、计算机设备和计算机可读存储介质。

技术介绍

[0002]中文纠错技术是实现中文语句自动检查、自动纠错的一项重要技术,其目的是提高语言正确性的同时减少人工校验成本。中文纠错技术主要根据字形相似来纠错,是自然语言处理领域检测一段文字是否存在错别字、以及将错别字纠正过来的技术,一般用于文本预处理阶段,同时能显著缓解智能客服等场景下信息获得不准确的问题,例如某些智能问答场景中错别字会影响query理解及对话效果。在通用领域中,中文文本纠错问题是从互联网起始时就一直在寻求解决的问题。在搜索引擎中,一个好的纠错系统能够用户输入的查询词进行纠错提示,或直接展示正确答案。
[0003]现有技术中,通过以下几种工具实现文本纠错:(1)错别字词典,构建领域错别字词典;(2)编辑距离,编辑距离采用类似字符串模糊匹配的方法,通过对照正确样本可以纠正部分常见错别字和语病;(3)语言模型,语言模型可以以字或词为纠错粒度。近几年,预训练语言模型开始流行,研究者发现将BERT(Bidirectional Encoder Representations from Transformers,简称BERT)类的模型迁移到了文本纠错中,利用BERT在候选列表中选择一个字符,以在句子的每个位置上进行纠正。
[0004]上述几种工具中,构建错别字词典的人工成本较高,仅适用于错别字有限的部分垂直领域;编辑距离的方式通用性不足;语言模型中由于“字粒度”的语义信息相对较弱,其误判率会高于“词粒度”的纠错;“词粒度”则较依赖于分词模型的准确率,为了降低误判率,往往在模型的输出层加入CRF层校对,通过学习转移概率和全局最优路径避免不合理的错别字输出。BERT方法过于粗暴,容易造成高误判率,其BERT的掩码位置是随机选择的,所以并不擅长侦测句子中出现错误的位置,并且BERT纠错未考虑约束条件,导致准确率低。

技术实现思路

[0005]本申请实施例提供了一种文本纠错方法、系统、计算机设备和计算机可读存储介质,结合使用文本的汉字特征和拼音特征,利用Soft-Masked BERT预训练模型进行训练,并结合递归预测及词表过滤对模型进行优化,提高纠错准确率,提升模型效果和性能。
[0006]第一方面,本申请实施例提供了一种文本纠错方法,包括:
[0007]数据获取步骤,用于获取待纠错文本数据;
[0008]负样本构建步骤,用于创建一混淆字表并根据所述混淆字表将所述待纠错文本进行语料替换,生成负样本,具体的,对所述待纠错文本中15%的字符进行随机替换,进一步的,15%被随机替换的字符中,有80%的字符使用所述混淆字表中同音字符进行替换,其余20%的字符使用随机字符进行替换。以这种方式构建样本数据再用于训练模型,能够让训练出的Soft-Masked BERT预训练模型获得较强的同音字混淆错误的纠正能力。
[0009]文本纠错步骤,用于将所述待纠错文本数据及所述负样本数据作为训练数据,将所述训练数据的汉字特征和拼音特征分别经一Soft-Masked BERT预训练模型训练后拼接为训练结果,将所述训练结果经一Softmax层计算交叉熵损失并得到纠错结果,其中,所述Soft-Masked BERT预训练模型为一种新提出的神经网络结构,该模型包括一检测网络及一基于BERT的纠正网络,所述Softmax层为机器学习中的函数,用于把输入映射为0-1之间的实数,并且归一化保证和为1。
[0010]在其中一些实施例中,所述文本纠错方法还包括模型优化步骤,用于通过递归预测及词表过滤对所述Soft-Masked BERT预训练模型进行优化,为模型训练增加约束,进一步提高纠错准确率及模型的性能。
[0011]通过上述步骤,利用Soft-Masked BERT预训练模型,具体使用Soft-Masked BERT预训练模型中的检测网络计算为错误位置的概率,并以概率作为字符特征,提高纠错准确率;使用数据的拼音特征,正确的字一般拼音比较相似,通过使用拼音特征有效缩小搜索正确词的范围;使用了递归预测,降低了误判率;使用了词表过滤,提升了模型的效果和性能。
[0012]在其中一些实施例中,所述文本纠错步骤进一步包括:
[0013]词向量获取步骤,用于将所述汉字特征和拼音特征分别经Soft-Masked BERT预训练模型训练,得到汉字的词向量和拼音的词向量;
[0014]交叉熵损失获取步骤,用于将所述汉字的词向量和拼音的词向量进行拼接后,经一Softmax层计算所述训练数据中各个位置交叉熵损失之和并输出纠错结果。
[0015]在其中一些实施例中,所述模型优化步骤进一步包括:
[0016]递归预测步骤,用于将经所述文本纠错步骤得到的纠错后的句子再次输入所述Soft-Masked BERT预训练模型进行递归纠错,具体的,所述递归预测步骤包括至少一次递归过程,若两次递归预测结果相同,则停止递归纠错步骤;
[0017]词表过滤步骤,用于对所述Soft-Masked BERT预训练模型中的词表进行过滤,使所述Soft-Masked BERT预训练模型纠错时的搜索词语数量≤1000,其中,词表过滤的过滤程度可以调整,优选的,过滤词表中的冠词、介词、副词或连词等字词。
[0018]上述实施例考虑到所述Soft-Masked BERT预训练模型为一对一的纠错,即为如果一个句子中有多个错误的位置,一次传播过程可能只纠正了一个位置,因此,通过递归预测提高整个句子的纠错正确率。通过所述词表过滤步骤,显著提升所述Soft-Masked BERT预训练模型的效果和性能。
[0019]第二方面,本申请实施例提供了一种文本纠错系统,包括:
[0020]数据获取模块,用于获取待纠错文本数据;
[0021]负样本构建模块,用于创建一混淆字表并根据所述混淆字表将所述待纠错文本进行语料替换,生成负样本,具体的,对所述待纠错文本中15%的字符进行随机替换,进一步的,15%被随机替换的字符中,有80%的字符使用所述混淆字表中同音字符进行替换,其余20%的字符使用随机字符进行替换。以这种方式构建数据集再用于训练模型,能够让训练出的Soft-Masked BERT预训练模型获得较强的同音字混淆错误的纠正能力。
[0022]文本纠错模块,用于将所述待纠错文本数据及所述负样本数据作为训练数据,将所述训练数据的汉字特征和拼音特征分别经一Soft-Masked BERT预训练模型训练后拼接为训练结果,将所述训练结果经一Softmax层计算交叉熵损失并得到纠错结果。
[0023]在其中一些实施例中,所述文本纠错系统还包括一模型优化模块,用于通过递归预测及词表过滤对所述Soft-Masked BERT预训练模型进行优化,进一步提高纠错准确率及模型的性能。
[0024]通过上述模块,利用Soft-Masked B本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文本纠错方法,其特征在于,包括:数据获取步骤,用于获取待纠错文本数据;负样本构建步骤,用于创建一混淆字表并根据所述混淆字表将所述待纠错文本进行语料替换,生成负样本;文本纠错步骤,用于将所述待纠错文本数据及所述负样本数据作为训练数据,将所述训练数据的汉字特征和拼音特征分别经一Soft-Masked BERT预训练模型训练后拼接为训练结果,将所述训练结果经一Softmax层计算交叉熵损失并得到纠错结果。2.根据权利要求1所述的文本纠错方法,其特征在于,还包括模型优化步骤,用于通过递归预测及词表过滤对所述Soft-Masked BERT预训练模型进行优化。3.根据权利要求1所述的文本纠错方法,其特征在于,所述文本纠错步骤进一步包括:词向量获取步骤,用于将所述汉字特征和拼音特征分别经Soft-Masked BERT预训练模型训练,得到汉字的词向量和拼音的词向量;交叉熵损失获取步骤,用于将所述汉字的词向量和拼音的词向量进行拼接后,经一Softmax层计算所述训练数据中各个位置交叉熵损失之和并输出纠错结果。4.根据权利要求2所述的文本纠错方法,其特征在于,所述模型优化步骤进一步包括:递归预测步骤,用于将经所述文本纠错步骤得到的纠错后的句子再次输入所述Soft-Masked BERT预训练模型进行递归纠错;词表过滤步骤,用于对所述Soft-Masked BERT预训练模型中的词表进行过滤,使所述Soft-Masked BERT预训练模型纠错时的搜索词语数量≤1000。5.一种文本纠错系统,其特征在于,包括:数据获取模块,用于获取待纠错文本数据;负样本构建模块,用于创建一混淆字表并根据所述混淆字表将所述待纠错文本进行语料替换,生成负样本;...

【专利技术属性】
技术研发人员:陈倩倩景艳山郑悦
申请(专利权)人:北京明略软件系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利