CN114372441B - 一种中文文本自动纠错方法及装置 - Google Patents
一种中文文本自动纠错方法及装置 Download PDFInfo
- Publication number
- CN114372441B CN114372441B CN202210290429.3A CN202210290429A CN114372441B CN 114372441 B CN114372441 B CN 114372441B CN 202210290429 A CN202210290429 A CN 202210290429A CN 114372441 B CN114372441 B CN 114372441B
- Authority
- CN
- China
- Prior art keywords
- sentence
- sequence
- sentence sequence
- correction
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种中文文本自动纠错方法和装置,该方法包括:对待纠错文本进行浅层错误修正,得到第一句子序列;对第一句子序列进行深度神经网络模型修正,得到第五句子序列;对第五句子序列进行后处理,得到修正样本;输出修正样本和错误信息。本发明的装置,包括:浅层错误修正模块、深度神经网络模型修正模块、后处理模块和整合输出模块,其中,深度神经网络模型修正模块由等长序列错误修正单元、字词冗余错误修正单元、字词缺失错误修正单元、语言模型判断单元和三模型融合单元组成,后处理模块由地名错误检测单元和敏感词错误检测单元组成。本发明可以实现数据集自动生成和深度神经网络模型修正,中文纠错范围更加全面,纠错效率更加高。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种中文文本自动纠错方法及装置。
背景技术
互联网数据传播是当下大数据时代的重要特征,在互联网数据传播过程中,存在大量的电子文档资料,电子文档的内容质量不仅会影响读者的阅读体验,还会影响发文作者的公众影响力。其中,中文的正确表达是提升文章内容质量的关键因素,如何识别电子文档数据中的中文错误成为一项不得不做却又耗时费力的工作。一方面,由于中文表达形式上的丰富多样,导致错误情况种类繁多,另一方面,随着人工智能技术的发展,语音识别,OCR识别都容易成为中文错误的来源。比较典型的有同音词错误、形近词错误、字词缺失错误、字词冗余错误以及标点符号错误等,这使得中文纠错面临很多的挑战。
随着人工智能和自然语言处理技术的不断发展,目前在中文纠错领域出现了以下两种主要的中文纠错思路。
第一种思路是,使用大量领域数据构建混淆词集,在此基础上使用语言模型判断句子中可能出现错误的位置,之后使用混淆词集对应的词典将错位置进行替换,然后使用语言模型再次计算该位置出现错误的可能性,从而进行取舍。这种方式存在以下不足:1)混淆词集的构建需要大量真实场景的错误数据;2)同时需要大量的人工经验;3)混淆词集依赖于不同的数据领域,而且很难穷尽所有的错误可能性,因此在新场景数据上的泛化能力有很大的局限性。
第二种思路是,将深度神经网络模型应用于中文纠错任务,尝试不同场景下的中文纠错方法,其不足在于,纠错场景单一,纠错准确率仍有较大的提升空间。
因此,如何提供一种更加优化的中文文本纠错解决方案,成为亟待解决的技术问题。
发明内容
在有鉴于此,本发明针对现有技术中存在的缺点,提供了一种中文文本纠错方法,能够对多种中文常见错误分别进行针对性的检错和纠错,全面提升中文纠错的完整性和准确性。
一方面,本发明提供一种中文文本纠错方法,包括:
步骤S1:对待纠错文本进行浅层错误修正,得到第一句子序列;
步骤S2:对第一句子序列进行深度神经网络模型修正,得到第五句子序列;
步骤S3:对第五句子序列进行后处理,得到修正样本;
步骤S4:输出修正样本和错误信息。
进一步地,步骤S1中,对待纠错文本进行浅层错误修正,得到第一句子序列,包括:将待纠错文本的句子序列输入到浅层错误修正单元,对半角标点错误和标点匹配错误进行检测和修正,得到去除标点错误的第一句子序列。
进一步地,步骤S2中,对第一句子序列进行深度神经网络模型修正,得到第五句子序列,包括:
步骤S21:对第一句子序列进行等长序列错误修正,得到第二句子序列;
步骤S22:分别将原句子source和目标句子target作为Encoder-Decoder框架的输入和输出,采用基于BERT预训练语言模型的UNILM模型对第一句子序列进行字词冗余错误修正,得到第三句子序列;
步骤S23:对第一句子序列进行字词缺失错误修正,得到第四句子序列;
步骤S24:将修正后第二至第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,判断并输出修正结果;
步骤S25:以等长序列错误修正结果为基准,采用最长公共子序列匹配方法,将经过判断的修正结果进行对齐匹配输出,得到融合纠错过后的第五句子序列。
进一步地,步骤S21中,对第一句子序列进行等长序列错误修正,得到第二句子序列,包括:
步骤S211:使用BERT预训练语言模型的Embedding层进行字符编码,得到待纠错句子的向量编码序列;
步骤S212:使用双向循环神经网络BiLSTM学习句子序列的上下文语义信息,得到融合上下文语义信息的句子编码序列;
步骤S213:通过Sigmoid层输出与第一句子序列一一对应的错误概率序列,错误概率序列的每个元素表示对应位置i是错别字的概率;
步骤S214:将上述错误概率序列的疑似错误位置进行MASK标记,其它位置保持原有字符不变,得到带有MASK标记的待纠错句子序列,使用BERT MLM模型对MASK标记位置进行纠正预测,输出纠错过后的第二句子序列。
进一步地,步骤S23中,对第一句子序列进行字词缺失错误修正,得到第四句子序列,包括:
构建包括字符编码层、全连接层和CRF层三层神经网络的序列标注模型,对第一句子序列中的每个字进行标签预测;字符编码层使用BERT预训练语言模型的Embedding层对输入句子进行字符编码,然后使用全连接层对编码向量进行聚合,之后采用CRF层对标签之间的关系进行约束,输出包含正常标签和缺失标签的标签序列,其中缺失标签表示当前字的前一个字或词存在缺失;
将上述缺失标签的前一个字或词称为疑似字词缺失位置,对其进行MASK标记,并保持其它位置的原有字符不变,得到带有MASK标记的待纠错句子序列,使用BERT MLM模型对MASK标记位置进行纠正预测,输出纠错过后的第四句子序列。
进一步地,步骤S24中,将修正后第二至第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,判断并输出修正结果,包括:计算第一句子序列、第二句子序列、第三句子序列和第四句子序列的困惑度,将第二句子序列、第三句子序列和第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,当修正后句子序列的困惑度小于第一句子序列的困惑度,将修正后的句子序列作为修正结果输出;当修正后句子序列的困惑度大于第一句子序列的困惑度,放弃对应的修改结果,将第一句子序列作为修正结果输出。
进一步地,步骤S24中,修正后各句子序列的困惑度按以下方法计算:
式中,s表示给定句子序列w1,w2,…,wn,wi(1≤i≤n)表示当前句子序列中位置i上的字符,n为句子长度,PPL(s)为困惑度。
进一步地,步骤S3中,对第五句子序列进行后处理,得到修正样本,包括对第五句子序列进行地名错误检测,具体包括:根据省、市、区三级行政区划建立地点匹配表;获取第五句子序列中的地点信息;按照地点匹配表与地点信息进行逐级匹配,得到地点匹配结果;
进一步地,步骤S3中,对第五句子序列进行后处理,得到修正样本,还包括对第五句子序列进行敏感词错误检测,具体包括:建立敏感词词典;获取第五句子序列中的敏感词信息;使用否定句判别器对第五句子序列进行语义判别,当第五句子序列表达肯定语义,对相应的敏感词信息进行错误提示;当第五句子序列表达否定语义,取消敏感词信息错误提示。
进一步地,步骤S4中,输出修正样本和错误信息,包括:输出修正样本,同时整合错误信息,输出对应句子的错误位置以及修改建议,并格式化返回。
另一方面,本发明还提供一种中文文本纠错装置,包括:
浅层错误修正模块,用于对待纠错句子的半角标点错误和标点匹配错误进行检测和纠正,并对错误标点的位置进行标记,得到第一句子序列;
深度神经网络模型修正模块,由等长序列错误修正单元、字词冗余错误修正单元、字词缺失错误修正单元、语言模型判断单元和三模型融合单元组成,用于对浅层错误修正模块输出的第一句子序列进行等长序列错误修正、冗余序列错误修正和缺失序列错误修正,同时使用语言模型计算纠错句子的困惑度,将修正后第二至第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,判断并输出修正结果;以等长序列错误修正结果为基准,采用最长公共子序列匹配方法,将上述经过判断的修正结果进行对齐匹配输出,得到三种模型融合纠错过后的第五句子序列;
后处理模块,由地名错误检测单元和敏感词错误检测单元组成,用于将深度神经网络模型修正模块输出的第五句子序列进行地名错误检测和敏感词错误检测,并对错误位置进行标记;
整合输出模块,用于对以上错误检测修正单元检测的错误进行整合,输出纠错完成之后的句子序列,同时对待纠错原始句子的错误位置进行标记和错误提示。
本发明的中文文本自动纠错方法和装置,具有以下优点:
1)可以实现数据集自动生成。使用随机同音字、近音字、形近字、易混拼音字替换原文,可以快速生成大量等长序列数据集;采用随机删除任意位置的一个或者两个字符,可以快速生成大量缺失序列数据集;采用随机重复任意位置的一个或者两个字符,可以快速生成大量冗余序列数据集。大量自动生成的数据集上与少量人工数据集相比,可以显著提高实际纠错效果,从而可以弥补人工数据集的不足。
2)中文纠错范围更加全面。可以针对标点使用错误、字词使用错误、字词冗余错误、字词缺失错误,地点搭配错误、敏感词使用错误给出快速有效的纠错结果,全面覆盖常见中文知识性、语法性错误类型,解决了现有技术中纠错类型单一、纠错耗时的技术问题。
3)纠错流程模块化。针对不同垂域数据中不同的错误类型,可实现端到端模块化的自动纠错,提高了中文纠错的时间效率和整体准确度,并且整合纠错结果进行格式化返回和提示,解决现有技术无法有效定位错误位置,纠错效率低的问题。
4)实现深度神经网络模型修正。深度神经网络模型修正模块针对中文等长序列、冗余序列、缺失序列分别设计相应的模型解决中文纠错问题,其中对于冗余序列的错误修正问题,采用融合先验知识的生成模型进行纠错,解决生成模型的过拟合现象,去冗余结果理想;缺失序列的错误修正问题,采用序列标注模型预先对缺失位置进行标注,然后在缺失位置***MASK标记,并使用BERT MLM模型进行错误纠正,相较于序列生成模型,纠错速度得到很大的提升。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为根据本发明示例性第一实施例的中文文本自动纠错方法的流程图;
图2为根据本发明示例性第二实施例的中文文本自动纠错方法的流程图;
图3为根据本发明示例性第三实施例的中文文本自动纠错方法的流程图;
图4为根据本发明示例性第七实施例的中文文本自动纠错装置的框架图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
本发明涉及的名词解释如下:
Encoder-Decoder框架:指的是整个网络结构中使用两个网络来处理Seq2Seq任务,第一个网络将输入的序列转换成一个固定长度的向量,称为Encoder部分,第二个网络将该向量作为输入,用以预测输出的序列,称为Decoder部分。
原句子source:Seq2Seq模型的输入序列。
目标句子target:Seq2Seq模型的输出序列。
基于BERT预训练语言模型的UNILM模型:指的是Unified Language Model,采用单个BERT预训练语言模型实现Seq2Seq任务。
BERT预训练语言模型的Embedding层:指的是BERT预训练语言模型的输入编码层,用于对文本序列的每一个字符进行编码表示。
BERT MLM模型:指的是BERT预训练语言模型中的Masked Language Model,在预训练阶段,将输入文本序列中的字符按照15%的比例进行mask,然后再将mask过后的文本序列输入到BERT预训练语言模型中进行训练,预测这些被mask掉的字符,计算损失。
MASK标记:指的是文本序列在输入到BERT MLM模型之前所进行的mask处理,句子序列中15%的字符会被mask,而mask方式一共分为三种,分别是80%被MASK标记代替,10%被随机字符代替,10%保持原有字符不变。
双向循环神经网络BiLSTM:指的是循环神经网络的一种变体,由前向的LSTM和后向的LSTM组合而成,将句子编码序列输入到BiLSTM中,可以学习到句子序列的上下文语义信息,输出是固定维度的句子向量。
Sigmoid层:指的是Sigmoid函数,一般用在二分类模型的输出层,输出当前序列是正样本的概率。
CRF层:指的是条件随机场,对输入序列进行编码输出一个新的序列。对于序列标注模型,CRF层一般用在输出层,对标签之间的关系进行约束,确保输出的标签有效。
图1为根据本发明示例性第一实施例的中文文本自动纠错方法的流程图。如图1所示,本实施例中中文文本自动纠错方法,包括:
步骤S1:对待纠错文本进行浅层错误修正,得到第一句子序列;
步骤S2:对第一句子序列进行深度神经网络模型修正,得到第五句子序列;
步骤S3:对第五句子序列进行后处理,得到修正样本;
步骤S4:输出修正样本和错误信息。
具体的,步骤S1中,对待纠错文本进行浅层错误修正,得到第一句子序列,包括:将待纠错文本的句子序列输入到浅层错误修正单元,对半角标点错误和标点匹配错误进行检测和修正,得到去除标点错误的第一句子序列。
图2为根据本发明示例性第二实施例的中文文本自动纠错方法的流程图,图2为图1所示中文文本自动纠错方法的优选实施方式。如图2和图1所示,步骤S2中,对第一句子序列进行深度神经网络模型修正,得到第五句子序列,包括:
步骤S21:对第一句子序列进行等长序列错误修正,得到第二句子序列;
步骤S22:分别将原句子source和目标句子target作为Encoder-Decoder框架的输入和输出,采用基于BERT预训练语言模型的UNILM模型对第一句子序列进行字词冗余错误修正,得到第三句子序列;
步骤S23:对第一句子序列进行字词缺失错误修正,得到第四句子序列,包括:
对第一句子序列进行缺失错误检测:构建包括字符编码层、全连接层和CRF层三层神经网络的序列标注模型,字符编码层使用BERT预训练语言模型的Embedding层对输入句子进行字符编码,然后使用全连接层对编码向量进行聚合,之后采用CRF层对标签之间的关系进行约束,输出包含正常标签和缺失标签的标签序列,其中缺失标签表示当前字的前一个字或词存在缺失,第一句子序列中的每个字进行标签预测;
对第一句子序列进行缺失补全:将上述缺失标签的前一个字或词称为疑似字词缺失位置,对其进行MASK标记,并保持其它位置的原有字符不变,得到带有MASK标记的待纠错句子序列,使用BERT MLM模型对MASK标记位置进行纠正预测,输出纠错过后的第四句子序列。
步骤S24:将修正后第二至第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,判断并输出修正结果。
步骤S25:以等长序列错误修正结果为基准,采用最长公共子序列匹配方法,将上述经过判断的修正结果进行对齐匹配输出,得到融合纠错过后的第五句子序列。
本实施例中,步骤S22对第一句子序列进行字词冗余错误修正采用端到端的神经网络Seq2Seq序列生成模型进行实现,解决句子中出现的冗余错误,Seq2Seq模型属于Encoder-Decoder框架的一种,常用作机器翻译等序列到序列的转换模型。这里分别将目标句子target和原句子source作为Encoder-Decoder框架的输入和输出,采用基于BERT预训练语言模型的UNILM模型实现冗余错误的检测修正。UNILM模型是利用单个BERT预训练语言模型实现Seq2Seq任务的一种方式,可以直接加载BERT预训练语言模型的MLM预训练权重,收敛很快。在字词冗余错误修正的任务中,由于目标句子target中的字词集合是原句子source的子集,生成的句子中所有的字都在原句子中出现过,因此,在对编码序列进行Decoder解码的过程中,利用原句子中的字作为先验知识,解码输出去冗余过后的目标句子target,可以大大提高冗余检测的稳定性和时间效率。
图3为根据本发明示例性第三实施例的中文文本自动纠错方法的流程图,图3为图1和图2所示中文文本自动纠错方法的优选实施方式。
如图3和图2所示,步骤S21中,对第一句子序列进行等长序列错误修正,得到第二句子序列,包括:
步骤S211:使用BERT预训练语言模型的Embedding层进行字符编码,得到待纠错句子的向量编码序列;
步骤S212:使用双向循环神经网络BiLSTM学习句子序列的上下文语义信息,得到融合上下文语义信息的句子编码序列;
步骤S213:通过Sigmoid层输出与第一句子序列一一对应的错误概率序列,错误概率序列的每个元素表示对应位置i是错别字的概率P(i),P(i)的值越大,表示该位置是错别字的概率越大;
步骤S214:将上述错误概率序列的疑似错误位置进行MASK标记,其它位置保持原有字符不变,得到带有MASK标记的待纠错句子序列,使用BERT MLM模型对MASK标记位置进行纠正预测,输出纠错过后的第二句子序列。
本发明示例性第四实施例提供了图2所示中文文本自动纠错方法中步骤S24的具体实施方式。具体的,步骤S24中,将上述修正后各句子序列的困惑度分别与第一句子序列的困惑度进行比较,判断并输出修正结果,包括:计算第一句子序列、第二句子序列、第三句子序列和第四句子序列的困惑度,将第二句子序列、第三句子序列和第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,当修正后句子序列的困惑度小于第一句子序列的困惑度,将修正后的句子序列作为修正结果输出;当修正后句子序列的困惑度大于第一句子序列的困惑度,放弃对应的修改结果,将第一句子序列作为修正结果输出。
其中,各句子序列的困惑度按以下方法计算,在语言模型的实际应用过程中,需要考虑句子本身的长度限制,从而对句子的长度进行归一化,计算句子的困惑度,公式是:
式中,s表示给定句子序列w1,w2,…,wn,wi(1≤i≤n)表示当前句子序列中位置i上的字符,n为句子长度,PPL(s)为困惑度。困惑度越小,说明句子的错误概率就越小。
本发明示例性第五实施例提供了图1所示中文文本自动纠错方法中步骤S3的具体实施方式。
具体的,步骤S3中,对第五句子序列进行后处理,得到修正样本,包括对第五句子序列进行地名错误检测,具体包括:根据省、市、区三级行政区划建立地点匹配表,如表1所示;获取第五句子序列中的地点信息;按照地点匹配表与地点信息进行逐级匹配,得到地点匹配结果。
表1
比如:当模型检测到句子序列中的地名信息是“湖北省武汉市襄州区”,则按照表1所示的地点匹配表进行逐级匹配,分别匹配到第一级湖北省匹配正确,第二级武汉市匹配正确,第三级襄州区匹配错误,则地点匹配结果为“武汉市襄州区”市、区不匹配。
步骤S3中,对第五句子序列进行后处理,得到修正样本,还包括对第五句子序列进行敏感词错误检测,具体包括:建立敏感词词典;获取第五句子序列中的敏感词信息;使用否定句判别器对第五句子序列进行语义判别,当第五句子序列表达肯定语义,对相应的敏感词信息进行错误提示;当第五句子序列表达否定语义,取消敏感词信息错误提示。
本发明示例性第六实施例提供了图1所示中文文本自动纠错方法中步骤S4的具体实施方式。步骤S4中,输出修正样本和错误信息,包括:输出修正样本,同时整合错误信息,输出对应句子的错误位置以及修改建议,并格式化返回。
图4为根据本发明示例性第七实施例的中文文本自动纠错装置的框架图。如图4所示,本实施例的中文文本自动纠错装置的框架图,包括:
浅层错误修正模块:用于对待纠错句子的半角标点错误和标点匹配错误进行检测和纠正,并对错误标点的位置进行标记,得到第一句子序列;
深度神经网络模型修正模块:由等长序列错误修正单元、字词冗余错误修正单元、字词缺失错误修正单元、语言模型判断单元和三模型融合单元组成,用于对浅层错误修正模块输出的第一句子序列进行等长序列错误修正、冗余序列错误修正和缺失序列错误修正,同时使用语言模型计算纠错句子的困惑度,将修正后第二至第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,判断并输出修正结果;以等长序列错误修正结果为基准,采用最长公共子序列匹配方法,将上述经过判断的修正结果进行对齐匹配输出,得到三种模型融合纠错过后的第五句子序列;
后处理模块:由地名错误检测单元和敏感词错误检测单元组成,用于将深度神经网络模型修正模块输出的第五句子序列进行地名错误检测和敏感词错误检测,并对错误位置进行标记;
整合输出模块:用于对以上错误检测修正单元检测的错误进行整合,输出纠错完成之后的句子序列,同时对待纠错原始句子的错误位置进行标记和错误提示。
以上模块分别针对中文标点符号错误、等长序列错误、字词冗余错误、字词缺失错误、地名匹配错误和敏感词错误6种常见中文文本错误类型进行错误检查和修正。由此可见,本实施例中文文本自动纠错装置,能够对多种中文常见错误分别进行针对性的检错和纠错,同时可以针对错误出现的位置给与标注和提示,全面提升中文纠错的完整性和准确性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种中文文本自动纠错方法,其特征在于,所述中文文本自动纠错方法包括:
步骤S1:对待纠错文本进行浅层错误修正,得到第一句子序列;
步骤S2:对第一句子序列进行深度神经网络模型修正,得到第五句子序列;
步骤S3:对第五句子序列进行后处理,得到修正样本;
步骤S4:输出修正样本和错误信息;
步骤S2中,对第一句子序列进行深度神经网络模型修正,得到第五句子序列,包括:
步骤S21:对第一句子序列进行等长序列错误修正,得到第二句子序列;
步骤S22:分别将原句子source和目标句子target作为Encoder-Decoder框架的输入和输出,采用基于BERT预训练语言模型的UNILM模型对第一句子序列进行字词冗余错误修正,得到第三句子序列;
步骤S23:对第一句子序列进行字词缺失错误修正,得到第四句子序列;
步骤S24:将修正后第二至第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,判断并输出修正结果;
步骤S25:以等长序列错误修正结果为基准,采用最长公共子序列匹配方法,将经过判断的修正结果进行对齐匹配输出,得到融合纠错过后的第五句子序列;
步骤S21中,对第一句子序列进行等长序列错误修正,得到第二句子序列,包括:
步骤S211:使用BERT预训练语言模型的Embedding层进行字符编码,得到待纠错句子的向量编码序列;
步骤S212:使用双向循环神经网络BiLSTM学习句子序列的上下文语义信息,得到融合上下文语义信息的句子编码序列;
步骤S213:通过Sigmoid层输出与第一句子序列一一对应的错误概率序列,错误概率序列的每个元素表示对应位置i是错别字的概率;
步骤S214:将上述错误概率序列的疑似错误位置进行MASK标记,其它位置保持原有字符不变,得到带有MASK标记的待纠错句子序列,使用BERT MLM模型对MASK标记位置进行纠正预测,输出纠错过后的第二句子序列。
2.根据权利要求1所述的中文文本自动纠错方法,其特征在于,步骤S1中,对待纠错文本进行浅层错误修正,得到第一句子序列,包括:将待纠错文本的句子序列输入到浅层错误修正单元,对半角标点错误和标点匹配错误进行检测和修正,得到去除标点错误的第一句子序列。
3.根据权利要求1所述的中文文本自动纠错方法,其特征在于,步骤S23中,对第一句子序列进行字词缺失错误修正,得到第四句子序列,包括:
构建包括字符编码层、全连接层和CRF层三层神经网络的序列标注模型,对第一句子序列中的每个字进行标签预测;字符编码层使用BERT预训练语言模型的Embedding层对输入句子进行字符编码,然后使用全连接层对编码向量进行聚合,之后采用CRF层对标签之间的关系进行约束,输出包含正常标签和缺失标签的标签序列,其中缺失标签表示当前字的前一个字或词存在缺失;
将上述缺失标签的前一个字或词称为疑似字词缺失位置,对其进行MASK标记,并保持其它位置的原有字符不变,得到带有MASK标记的待纠错句子序列,使用BERT MLM模型对MASK标记位置进行纠正预测,输出纠错过后的第四句子序列。
4.根据权利要求3所述的中文文本自动纠错方法,其特征在于,步骤S24中,将修正后第二至第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,判断并输出修正结果,包括:计算第一句子序列、第二句子序列、第三句子序列和第四句子序列的困惑度,将第二句子序列、第三句子序列和第四句子序列的困惑度分别与第一句子序列的困惑度进行比较,当修正后句子序列的困惑度小于第一句子序列的困惑度,将修正后的句子序列作为修正结果输出;当修正后句子序列的困惑度大于第一句子序列的困惑度,放弃对应的修改结果,将第一句子序列作为修正结果输出。
6.根据权利要求5所述的中文文本自动纠错方法,其特征在于,步骤S3中,对第五句子序列进行后处理,得到修正样本,包括对第五句子序列进行地名错误检测,地名错误检测具体包括:根据省、市、区三级行政区划建立地点匹配表;获取第五句子序列中的地点信息;按照地点匹配表与地点信息进行逐级匹配,得到地点匹配结果;
步骤S3中,对第五句子序列进行后处理,得到修正样本,还包括对第五句子序列进行敏感词错误检测,敏感词错误检测具体包括:建立敏感词词典;获取第五句子序列中的敏感词信息;使用否定句判别器对第五句子序列进行语义判别,当第五句子序列表达肯定语义,对相应的敏感词信息进行错误提示;当第五句子序列表达否定语义,取消敏感词信息错误提示。
7.根据权利要求6所述的中文文本自动纠错方法,其特征在于,步骤S4中,输出修正样本和错误信息,包括:输出修正样本,同时整合错误信息,输出对应句子的错误位置以及修改建议,并格式化返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210290429.3A CN114372441B (zh) | 2022-03-23 | 2022-03-23 | 一种中文文本自动纠错方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210290429.3A CN114372441B (zh) | 2022-03-23 | 2022-03-23 | 一种中文文本自动纠错方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114372441A CN114372441A (zh) | 2022-04-19 |
CN114372441B true CN114372441B (zh) | 2022-06-03 |
Family
ID=81146933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210290429.3A Active CN114372441B (zh) | 2022-03-23 | 2022-03-23 | 一种中文文本自动纠错方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114372441B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818669B (zh) * | 2022-04-26 | 2023-06-27 | 北京中科智加科技有限公司 | 一种人名纠错模型的构建方法和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901797A (zh) * | 2021-10-18 | 2022-01-07 | 广东博智林机器人有限公司 | 文本纠错方法、装置、设备及存储介质 |
CN114065738A (zh) * | 2022-01-11 | 2022-02-18 | 湖南达德曼宁信息技术有限公司 | 基于多任务学习的中文拼写纠错方法 |
CN114154486A (zh) * | 2021-11-09 | 2022-03-08 | 浙江大学 | 一种针对中文语料拼写错误的智能纠错*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019024050A1 (en) * | 2017-08-03 | 2019-02-07 | Lingochamp Information Technology (Shanghai) Co., Ltd. | CORRECTION OF GRAMMAR ERRORS BASED ON DEEP CONTEXT AND USING ARTIFICIAL NEURAL NETWORKS |
US11386266B2 (en) * | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
CN110502754B (zh) * | 2019-08-26 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 文本处理方法和装置 |
CN110705264B (zh) * | 2019-09-27 | 2024-07-23 | 上海智臻智能网络科技股份有限公司 | 标点符号的校正方法及设备、介质 |
CN111310441A (zh) * | 2020-01-20 | 2020-06-19 | 上海眼控科技股份有限公司 | 基于bert的语音识别后文本修正方法、装置、终端及介质 |
CN111475619A (zh) * | 2020-03-31 | 2020-07-31 | 北京三快在线科技有限公司 | 文本信息修正方法、装置、电子设备及存储介质 |
-
2022
- 2022-03-23 CN CN202210290429.3A patent/CN114372441B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901797A (zh) * | 2021-10-18 | 2022-01-07 | 广东博智林机器人有限公司 | 文本纠错方法、装置、设备及存储介质 |
CN114154486A (zh) * | 2021-11-09 | 2022-03-08 | 浙江大学 | 一种针对中文语料拼写错误的智能纠错*** |
CN114065738A (zh) * | 2022-01-11 | 2022-02-18 | 湖南达德曼宁信息技术有限公司 | 基于多任务学习的中文拼写纠错方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114372441A (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112801010B (zh) | 一种针对实际ocr场景下的视觉富文档信息抽取方法 | |
JP5128629B2 (ja) | 品詞タグ付けシステム、品詞タグ付けモデルのトレーニング装置および方法 | |
CN105279149A (zh) | 一种中文文本自动校正方法 | |
CN112183094A (zh) | 一种基于多元文本特征的中文语法查错方法及*** | |
CN112036162A (zh) | 文本纠错的适配方法、装置、电子设备及存储介质 | |
CN113380223B (zh) | 多音字消歧方法、装置、***及存储介质 | |
CN114118065A (zh) | 一种电力领域中文文本纠错方法、装置、存储介质及计算设备 | |
CN113312914B (zh) | 一种基于预训练模型的安全事件实体识别方法 | |
CN112329767A (zh) | 基于联合预训练的合同文本图像关键信息提取***和方法 | |
CN114372441B (zh) | 一种中文文本自动纠错方法及装置 | |
CN112017643A (zh) | 语音识别模型训练方法、语音识别方法及相关装置 | |
CN115688784A (zh) | 一种融合字与词语特征的中文命名实体识别方法 | |
CN115658898A (zh) | 一种中英文本实体关系抽取方法、***及设备 | |
CN114818669A (zh) | 一种人名纠错模型的构建方法和计算机设备 | |
CN114548053A (zh) | 一种基于编辑方法的文本对比学习纠错***、方法及装置 | |
Wu et al. | One improved model of named entity recognition by combining BERT and BiLSTM-CNN for domain of Chinese railway construction | |
CN116187304A (zh) | 一种基于改进bert的自动文本纠错算法及*** | |
CN114757181B (zh) | 基于先验知识端到端的事件抽取模型的训练、事件抽取方法及装置 | |
CN116595023A (zh) | 地址信息的更新方法和装置、电子设备及存储介质 | |
CN113420121B (zh) | 文本处理模型训练方法、语音文本处理方法及装置 | |
He et al. | Named entity recognition method in network security domain based on BERT-BiLSTM-CRF | |
CN114595338A (zh) | 基于混合特征表示的实体关系联合抽取***及方法 | |
CN115455937A (zh) | 一种基于句法结构和对比学习的否定分析方法 | |
CN114417891A (zh) | 基于粗糙语义的回复语句确定方法、装置及电子设备 | |
CN114298032A (zh) | 文本标点检测方法、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 430058 No. n3013, 3rd floor, R & D building, building n, Artificial Intelligence Science Park, economic and Technological Development Zone, Caidian District, Wuhan City, Hubei Province Patentee after: Zhongdian Cloud Computing Technology Co.,Ltd. Address before: 430058 No. n3013, 3rd floor, R & D building, building n, Artificial Intelligence Science Park, economic and Technological Development Zone, Caidian District, Wuhan City, Hubei Province Patentee before: CLP cloud Digital Intelligence Technology Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |