CN114528824B - 文本纠错方法、装置、电子设备及存储介质 - Google Patents
文本纠错方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114528824B CN114528824B CN202111602590.1A CN202111602590A CN114528824B CN 114528824 B CN114528824 B CN 114528824B CN 202111602590 A CN202111602590 A CN 202111602590A CN 114528824 B CN114528824 B CN 114528824B
- Authority
- CN
- China
- Prior art keywords
- text
- correction
- error
- texts
- candidate
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 260
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 18
- 230000000873 masking effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 9
- 230000000295 complement effect Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 239000000969 carrier Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 235000015220 hamburgers Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请适用于数据处理技术领域,提供了文本纠错方法、装置、电子设备及存储介质,其中方法包括:获取错误文本;根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本;其中所述缺字召回列表包含能够与所述错误文本中的字构造为词语的预设数目个字;根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本;根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本对应的目标纠正文本。本申请实施例能够自动准确地对缺字和/或词的文本进行纠错。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及一种文本纠错方法、装置、电子设备及存储介质。
背景技术
目前,社交工具、新闻稿件或者其它载体的文本内容中,常常存在着缺字少词的错误。通常,这些文本中缺字少词的错误需要通过人工检查校验发现后,再人为地进行纠正。然而,这种方式人工成本高,并且准确性和效率较低。
发明内容
有鉴于此,本申请实施例提供了文本纠错方法、装置、电子设备及存储介质,以解决现有技术中如何自动准确地对缺字和/或词的文本进行纠错的问题。
本申请实施例的第一方面提供了一种文本纠错方法,包括:
获取错误文本;
根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本;其中所述缺字召回列表包含能够与所述错误文本中的字构造为词语的预设数目个字;
根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本;
根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本对应的目标纠正文本。
本申请实施例的第二方面提供了一种文本纠错装置,包括:
获取单元,用于获取错误文本;
第一纠正单元,用于根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本;其中所述缺字召回列表包含能够与所述错误文本中的字构造为词语的预设数目个字;
第二纠正单元,用于根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本;
目标纠正文本确定单元,用于根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本。
本申请实施例的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,使得电子设备实现如所述文本纠错方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得电子设备实现如所述文本纠错方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面中所述的文本纠错方法。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,在获取错误文本后,根据该错误文本和预设的缺字召回列表,确定该错误文本对应的第一目标数目个第一候选纠正文本,以及根据该错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本。之后,根据该第一候选纠正文本和第二候选纠正文本,确定该错误文本对应的目标纠正文本。通过该方法,能够在无需依赖人工校对的情况下,自动高效地实现错误文本的纠错;并且,由于目标纠正文本是基于第一候选纠正文本和第二候选纠正文本得到的,而第一候选纠正文本是基于预设的缺字召回列表确定的,第二候选纠正文本是基于预设的MacBert模型得到的,因此目标纠正文本是融合缺字召回列表和MacBert模型两种不同的纠正方式得到的纠正文本,从而能够综合两种纠正方式提高文本纠错的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种文本纠错方法的实现流程示意图;
图2是本申请实施例提供的一种缺字召回列表的示例图;
图3是本申请实施例提供的一种文本纠错装置的示意图;
图4是本申请实施例提供的一种电子设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
目前,社交工具、新闻稿件或者其它载体的文本内容中,常常存在着各种各样的文本错误,包括谐音字词错误、混淆音字词错误、字词顺序颠倒错误、缺字和/或词错误、形似字错误、语法错误等。其中,对于缺字和/或词错误通常需要由人工检查发现后再人为地进行纠正。例如,通过人工检查出句子“我在麦当劳汉堡”是缺字少词的错误句子,通过检查和纠正,可以得到对应的纠正文本:“我在麦当劳吃汉堡”。然而,通过人工检查和纠正的方式人工成本高,并且准确性和效率较低。
为了解决上述的技术问题,本申请实施例提供了一种文本纠错方法、装置、电子设备及存储介质,包括:获取错误文本;根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本;其中所述缺字召回列表包含能够与所述错误文本中的字构造为词的预设数目个字;根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本;根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本对应的目标纠正文本。
通过该方法,能够在无需依赖人工校对的情况下,自动高效地实现错误文本的纠错;并且,由于目标纠正文本是基于第一候选纠正文本和第二候选纠正文本得到的,而第一候选纠正文本是基于预设的缺字召回列表确定的,第二候选纠正文本是基于预设的MacBert模型得到的,因此目标纠正文本是融合缺字召回列表和MacBert模型两种不同的纠正方式得到的纠正文本,从而能够综合两种纠正方式提高文本纠错的准确性。
实施例一:
图1示出了本申请实施例提供的一种文本纠错方法的流程示意图,该文本纠错方法应用于电子设备,详述如下:
在S101中,获取错误文本。
本申请实施例中,错误文本可以为缺字和/或缺词的中文句子。在一个实施例中,可以通过预设的文本检测模型对社交软件消息、新闻文稿、办公软件文稿中的文本内容进行检测,找出其中存在缺字和/或缺词错误的句子作为错误文本。
示例性地,该文本检测模型可以包括分词模块、词语检测模块;对于前述文本内容中的每个句子,将该句子输入分词模块进行处理,得到该句子对应的分词文本;通过词语检测模块模块对该分词文本进行检测,如果查找到该分词文本中某个字无法与其临近的其它字组成词语并且该字也不是可以单独表达意思的字(即将该字与其临近的字组成的词不存在预设词语词典中,并且该字也不存在预设单字词典中),则判定该句子为错误文本。
在S102中,根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本;其中所述缺字召回列表包含能够与所述错误文本中的字构造为词的预设数目个字。
本申请实施例中,预设的缺字召回列表包含预设的汉字数据集中每个汉字分别对应的链表,每个汉字对应的链表包含能够与该汉字构造为词语的预设数目个汉字。
在获取到错误文本后,对于该错误文本中的每个字(为了以示区别,将其称为原始字),从该缺字召回列表中查找能够与该原始字构造为词语的字(为以示区别,将其称为补全字),并将该补全字插入该错误文本中与该原始字相邻的位置中,得到第一目标数目个候选的纠正文本作为第一候选纠正文本。
在S103中,根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本。
本申请实施例中,预设的MacBert模型是提前经过训练的一种中文自然语言预训练模型。具体地,MacBert在Bert模型的基础上,通过用相似词语代替Bert模型中的掩膜(Mask),以减轻预训练和微调阶段两者之间的差距。其中,Bert模型为一种通过双向编码器表达的转换模型(BidirectionalEncoder Representations from Transformer),其采用新的基于掩膜的语言模型(masked language model,MLM),以致能生成深度的双向语言表征。
在获取到错误文本后,可以将该错误文本输入已提前训练的MacBert模型进行处理,通过在错误文本中各个字和/或词中的间隔位置插入提前设置的相似度词语,得到第二目标数目个第二候选纠正文本。
本申请实施例中,上述的步骤S102和步骤S103的执行顺序可以任意颠倒,或者同时执行。例如,可以通过开启多线程,通过不同线程并行执行步骤S102和步骤S103,从而在基于缺字召回列表确定第一目标数目个第一候选纠正文本的同时,基于MacBert模型确定第二目标数目个第二候选纠正文本。
在S104中,根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本对应的目标纠正文本。
在确定第一候选纠正文本和第二候选纠正文本后,根据该第一目标数目个第一候选纠正文本和该第二目标数目个第二候选纠正文本,通过预设的融合算法,确定该错误文本对应的目标纠正文本。
在一个实施例中,可以通过预设的句子评分算法分别求取各个第一候选纠正文本和各个第二候选纠正文本的句子评分,并将评分最高的一个候选纠正文本(第一候选纠正文本或者第二候选纠正文本)确定为目标纠正文本。或者,从各个第一候选纠正文本和各个第二候选纠正文本中选取评分最高的前预设数量个候选纠正文本,之后,将该预设数量个候选纠正文本中存在的纠正信息(即不同于原始的错误文本的信息)均添加至错误文本对应的位置上,得到目标纠正文本。示例性地,前述的句子评分算法可以为基于一定数量的携带分数标签的正样本句子(即文本完全正确的句子)和负样本句子(即存在文本错误的句子)训练得到的深度学习模型。
通过本申请实施例的方法,能够在无需依赖人工校对的情况下,自动高效地实现错误文本的纠错;并且,由于目标纠正文本是基于第一候选纠正文本和第二候选纠正文本得到的,而第一候选纠正文本是基于预设的缺字召回列表确定的,第二候选纠正文本是基于预设的MacBert模型得到的,因此目标纠正文本是融合缺字召回列表和MacBert模型两种不同的纠正方式得到的纠正文本,从而能够综合两种纠正方式提高文本纠错的准确性。
可选地,所述缺字召回列表包括第一链表和第二链表,其中,所述第一链表中的字用于构造出以所述错误文本中的字为开头的词语;所述第二链表中的字用于构造出以所述错误文本中的字为结尾的词语。
本申请实施例中,对于上述的汉字数据集中的每个字,均存在对应的第一链表和第二链表,本申请实施例中的缺字召回列表具体包括各个字分别对应的第一链表和第二链表。示例性地,将错误文本中的字称为原始字,将缺字召回列表中存储的能够与该原始字组成词语的字称为补全字,则对于每个原始字来说,其对应的第一链表中存储的补全字用于构造出以该原始字为开头的词语,其对应的第二链表中存储的补全字用于构造出以该原始字为结尾的词语。具体地,对于每个原始字对应的预设数目个补全字,一半为该第一链表中的补全字,一半为该第二链表中的补全字。
示例性地,对于错误文本中的原始字“生”,其对应的缺字召回列表包含的200个补全字中,可以包括存储于第一链表中的100个以“生”字作为开头的词语,以及存储于第二链表中的100个以“生”字作为结尾的词语。示例性地,“生”字对应的缺字召回列表的部分示意图如图2所示。
本申请实施例中,由于缺字召回列表中具体包括用于构造出以错误文本中的字为开头的词语的第一链表,以及包括用于构造出以错误文本中的字为结束的词语的第二链表,使得基于该缺字召回列表构造出的词语、生成的纠正文本更加全面完整,进而提高文本纠错的准确性。
可选地,所述根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本,包括:
根据所述缺字召回列表,为所述错误文本中的每个字确定对应的所述预设数目个初步纠正文本,得到第三目标数目个所述初步纠正文本;
基于n-gram模型分别求取各个所述初步纠正文本对应的第一目标困惑度,并将所述第一目标困惑度小于所述错误文本对应的原始困惑度的所述初步纠正文本作为所述第一候选纠正文本,得到所述第一目标数目个所述第一候选纠正文本。
本申请实施例中,困惑度是用于描述句子好坏的指标,可以根据一个句子的概率分布值而确定。例如,对于一个存在W1~Wk这K个分词的句子S(即S=W1,W2,...,Wk),其概率计算公式为:
P(S)=P(W1,W2,...,Wk)=p(W1)P(W2|W1)...P(Wk|W1,W2,...,Wk-1)
而该句子对应的困惑度PP(S)的计算公式为:
通过以上的计算公式可以知,句子质量越好,即句子概率P(S)越大,其对应的困惑度PP(S)越小,也即语言模型对该句子越不困惑。
上述困惑度的计算有依赖于文本的分词模型,即需要对句子进行分词计算后,才能进行句子的概率计算,进而进行句子的困惑度运算。本申请实施例中,具体以n-gram模型(也称为n元模型)作为分词模型,基于该n-gram模型实现句子概率和困惑度的计算。n-gram模型是一种基于统计语言模型的算法,该算法将文本里面的内容按照字节进行大小为n的滑动窗口操作,形成了长度为n的字节片段序列,每一个字节片段称为gram。其中,n为任意的正整数。示例性地,当n=5时,即该n-gram模型具体为5-gram模型时,能够有效地平衡模型的准确性和效率,高效准确地确定句子的困惑度。
在一个实施例中,可以在获取错误文本之前,先进行n-gram模型的训练。具体地,考虑到不同语料提供了丰富的语义、句式和连用词等多种表达风格,可以通过网络爬虫工具,抓取公开的新闻数据、公众号文本数据和其它公开的文本数据集,得到原始语料数据集。接着,对该原始语料数据集进行数据清洗和拼接,得到中文文本数据集(该中文文本数据集的数据量可以达到14G)。之后,根据该中文文本数据集对该n-gram模型进行训练(可以基于kenlm工具对于该n-gram模型进行训练),得到训练后的n-gram模型,以便之后可以根据该训练后的n-gram模型准确地实现句子困惑度计算。
本申请实施例中,在获取错误文本后,根据上述的缺字召回列表,为该错误文本中的每个字确定对应的预设数目个增加了对应的补全字的纠正文本,得到每个字分别对应的预设数目个初步纠正文本。将每个分别对应的预设数目个初步纠正文本进行汇总,最终得到第三目标数目个初步纠正文本。其中,设上述的预设数目为Q,错误文本的句子长度为M,则第三目标数目等于Q*M。例如,对于错误文本中的每个字,在预设的缺字召回列表中均存在对应Q=200个补全字,句子长度为5,则当前确定的初步纠正文本的数目为200*5=1000。
本申请实施例中,在获取错误文本后,可以基于上述的n-gram模型求取该错误文本的困惑度,将求得的该错误文本的困惑度称为原始困惑度。在确定第三预设数目个初步纠正文本后,对于每个初步纠正文本,均基于上述的n-gram模型求取该初步纠正文本的困惑度,将该初步纠正文本对应的困惑度称为第一目标困惑度;之后将该第一目标困惑度与该错误文本对应的原始困惑度进行比较,将第一目标困惑度小于该原始困惑度的初步纠正文本作为第一候选纠正文本进行保留,最终得到第一目标数目个第一候选纠正文本。该第一目标数目小于或者等于上述的第三预设数目。
本申请实施例中,在基于缺字召回列表初步确定第三预设数目个初步纠正文本后,进一步基于n-gram进行困惑度求取,以保留对应的第一目标困惑度小于错误文本的原始困惑度的初步纠正文本作为最终的第一候选纠正文本,因此能够基于句子的困惑度筛选出更准确的第一候选纠正文本,从而提高文本纠错的准确性。
可选地,所述根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本,包括:
通过所述MacBert模型依次在所述错误文本的每个位置添加掩膜,得到第四目标数目个掩膜文本;
基于n-gram模型分别求取各个所述掩膜文本对应的第二目标困惑度,并将所述第二目标困惑度小于所述错误文本对应的原始困惑度的所述掩膜文本作为所述第二候选纠正文本,得到第二目标数目个所述第二候选纠正文本。
本申请实施例中,在获取出错误文本后,通过上述的MacBert模型,依次在该错误文本中的每个位置(包括每两个字和/或词之间的间隔位置,以及第一个字之前的位置,最后一个字之后的位置)添加掩膜Mask,具体地,将该错误文本输入到MacBert模型中的掩蔽语言模型进行预测,确定每个位置分别对应的置信度最大的掩膜文本,得到第四目标数目个掩膜文本。其中,设M为错误文本的句子长度,则该第四目标数目等于M+1。
在得到第四目标数目个掩膜文本后,对于每个掩膜文本,分别基于上述的n-gram模型求取该掩膜文本的困惑度,将该掩膜文本对应的困惑度称为第二目标困惑度。之后,将对应的第二目标困惑度小于该错误文本对应的原始困惑度的掩膜确定为第二候选纠正文本,最终得到第二目标数目个第二候选纠正文本,其中第二目标数目小于或者等于M+1。
本申请实施例中,由于能够先基于MacBert模型确定第四目标数目个掩膜文本后,基于n-gram模型分别求取各个所述掩膜文本对应的第二目标困惑度,并将所述第二目标困惑度小于所述错误文本对应的原始困惑度的所述掩膜文本作为所述第二候选纠正文本,因此能够基于句子的困惑度筛选出更准确的第二候选纠正文本,从而提高文本纠错的准确性。
可选地,所述根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本对应的目标纠正文本,包括:
根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本中每个位置分别对应的困惑度较低的候选纠正文本,得到第三候选纠正文本;
根据所述第三候选纠正文本,确定所述错误文本对应的目标纠正文本。
本申请实施例中,通过基于缺字召回列表和基于MacBert模型两种不同的方法分别在错误文本的每个位置添加补全字或者Mask后,对于错误文本的同一位置的纠正,可能同时存在第一候选纠正文本和第二候选纠正文本这两个不同的候选纠正文本。此时,对于同一位置,可以基于上述的n-gram模型分别求取第一候选纠正文本和第二候选纠正文本的困惑度,并将其中困惑度较低的候选纠正文本确定为错误文本在该位置上的第三候选纠正文本。设错误文本的句子长度为M,则通过该方法确定出的第三候选纠正文本的数量为M+1。
在确定第三候选纠正文本后,再进一步从第三候选纠正文本中选择最佳(例如困惑度最低)的一个作为目标纠正文本,或者融合第三候选纠正文本的至少两个纠正信息(即相对于错误文本多出的在某些位置上增加的补全字信息),得到最终的目标纠正文本。
本申请实施例中,由于在通过两种不同方法确定错误文本对应的第一候选纠正文本和第二候选纠正文本后,能够先基于困惑度对错误文本的同一位置对应的不同的候选纠正文本进行择优选择,得到第三候选纠正文本,使得之后基于该第三候选纠正文本得到的目标纠正文本的质量更佳,从而提高了文本纠错的准确性。
可选地,所述根据所述第三候选纠正文本,确定所述错误文本对应的目标纠正文本,包括:
以各个所述第三候选纠正文本中困惑度最低的第三候选纠正文本为基准纠正文本,以所述基准纠正文本之外的第三候选纠正文本为修正文本,基于所述修正文本的纠正信息对所述基准纠正文本进行修正,得到所述错误文本对应的目标纠正文本。
本申请实施例中,在确定M+1个第三候选纠正文本后,从第三候选纠正文本中选择困惑度最低的一个第三候选纠正文本作为基准纠正文本。之后,以该基准纠正文本为基准,以除该基准纠正文本之外的第三候选纠正文本为修正文本,根据修正文本的纠正信息对该基准纠正文本进行修正,得到该错误文本对应的目标纠正文本。其中,修正文本的纠正信息指的是该修正文本中相对于错误文本多出的补全字以及该补全字对应的位置信息。在一个实施例中,修正文本对基准纠正文本的修正过程如下:
A1:计算当前的基准纠正文本的困惑度,得到当前的基准困惑度;
A2:以当前的基准纠正文本为基础,按预设顺序从各个修正文本中获取一个修正文本对应的补全字以及该补全字对应的位置信息,根据该补全字的位置信息将该补全字添加至该基准纠正文本相对应的位置上,得到待定纠正文本;
A3:计算该待定纠正文本的困惑度,得到待定困惑度;
A4:若该待定困惑度小于该基准困惑度,则以该待定纠正文本作为新的当前的基准纠正文本并返回执行步骤A1;否则直接返回执行A2,直至各个修正文本均已被获取执行了步骤A2。
本申请实施例中,由于能够从第三候选纠正文本中确定困惑度最低的第三候选纠正文本作为基准纠正文本,并以该基准纠正文本为基础,通过出该基准纠正文本之外的修正文本对该基准纠正文本进行修正,因此能够在保证困惑度最低的同时融合多个第三候选纠正文本,准确地得到目标纠正文本,提高文本纠错的准确性。
可选地,在所述获取错误文本之前,还包括:
获取中文文本数据集;
从所述中文文本数据集中选取第一预设比例的字和/或词语进行掩膜操作,得到目标数据集;
根据所述目标数据集对待训练的MacBert模型进行训练,得到训练后的所述MacBert模型。
本申请实施例中,在获取错误文本之前,先对原始的待训练的MacBert模型进行训练。该MacBert模型的训练数据来源可以与上述的用于训练n-gram模型的数据来源一致。即,可以通过爬取新闻数据、公众号文本数据和其它公开的文本数据集,并进行数据清洗后,得到该中文文本数据集。
在获取到该中文文本数据集后,可以从其中选取第一预设比例(例如15%)的字和/或词作为待掩膜数据。对该第一预设比例的待掩膜数据,可以从中获取80的字和/或词用掩蔽标记[MASK]替换,20%的字和/或词保持不变,得到目标数据集。
之后将该目标数据集输入待训练的MacBert模型进行训练,MacBert模型在训练过程中根据目标数据集的双向上下文信息预测掩蔽的词,并进行模型微调,最终得到训练后的MacBert模型。
本申请实施例中,由于在获取错误文本之前,能够获取中文本文本数据集并通过处理得到目标数据集后,对MacBert模型进行训练,使得之后在获取到错误文本后,能够基于训练后的MacBert模型高效准确地确定该错误文本对应的第二候选纠正文本,从而提高文本纠错的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例二:
图3示出了本申请实施例提供的一种文本纠错装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分:
该文本纠错装置包括:获取单元31、第一纠正单元32、第二纠正单元33、目标纠正文本确定单元34。其中:
获取单元31,用于获取错误文本。
第一纠正单元32,用于根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本;其中所述缺字召回列表包含能够与所述错误文本中的字构造为词语的预设数目个字。
第二纠正单元33,用于根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本。
目标纠正文本确定单元34,用于根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本。
可选地,所述缺字召回列表包括第一链表和第二链表,其中,所述第一链表中的字用于构造出以所述错误文本中的字为开头的词语;所述第二链表中的字用于构造出以所述错误文本中的字为结尾的词语。
可选地,所述第一纠正单元32,具体用于根据所述缺字召回列表,为所述错误文本中的每个字确定对应的所述预设数目个初步纠正文本,得到第三目标数目个所述初步纠正文本;基于n-gram模型分别求取各个所述初步纠正文本对应的第一目标困惑度,并将所述第一目标困惑度小于所述错误文本对应的原始困惑度的所述初步纠正文本作为所述第一候选纠正文本,得到所述第一目标数目个所述第一候选纠正文本。
可选地,所述第二纠正单元33,具体用于通过所述MacBert模型依次在所述错误文本的每个位置添加掩膜,得到第四目标数目个掩膜文本;基于n-gram模型分别求取各个所述掩膜文本对应的第二目标困惑度,并将所述第二目标困惑度小于所述错误文本对应的原始困惑度的所述掩膜文本作为所述第二候选纠正文本,得到第二目标数目个所述第二候选纠正文本。
可选地,所述目标纠正文本确定单元34,包括:
第三候选纠正文本确定模块,用于根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本中每个位置分别对应的困惑度较低的候选纠正文本,得到第三候选纠正文本;
目标纠正文本确定模块,用于根据所述第三候选纠正文本,确定所述错误文本对应的目标纠正文本。
可选地,所述目标纠正文本确定单元,具体用于以各个所述第三候选纠正文本中困惑度最低的第三候选纠正文本为基准纠正文本,以所述基准纠正文本之外的第三候选纠正文本为修正文本,基于所述修正文本的纠正信息对所述基准纠正文本进行修正,得到所述错误文本对应的目标纠正文本。
可选地,所述文本纠错装置,还包括:
训练单元,用于获取中文文本数据集;从所述中文文本数据集中选取第一预设比例的字和/或词语进行掩膜操作,得到目标数据集;根据所述目标数据集对待训练的MacBert模型进行训练,得到训练后的所述MacBert模型。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
实施例三:
图4是本申请一实施例提供的电子设备的示意图。如图4所示,该实施例的电子设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42,例如文本纠错程序。所述处理器40执行所述计算机程序42时实现上述各个文本纠错方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图3所示单元31至34的功能。
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述电子设备4中的执行过程。
所述电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述电子设备4的内部存储单元,例如电子设备4的硬盘或内存。所述存储器41也可以是所述电子设备4的外部存储设备,例如所述电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述电子设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种文本纠错方法,其特征在于,包括:
获取错误文本;
根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本;其中所述缺字召回列表包含能够与所述错误文本中的字构造为词语的预设数目个字;所述预设的缺字召回列表包含预设的汉字数据集中每个汉字分别对应的链表,每个汉字对应的链表包含能够与该汉字构造为词语的预设数目个汉字;
根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本;其中,所述MacBert模型在Bert模型的基础上,用相似词语代替 Bert模型中的掩膜,以减轻预训练和微调阶段两者之间的差距;
根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本对应的目标纠正文本,包括:根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本中每个位置分别对应的困惑度较低的候选纠正文本,得到第三候选纠正文本;根据所述第三候选纠正文本,确定所述错误文本对应的目标纠正文本。
2.如权利要求1所述的文本纠错方法,其特征在于,所述缺字召回列表包括第一链表和第二链表,其中,所述第一链表中的字用于构造出以所述错误文本中的字为开头的词语;所述第二链表中的字用于构造出以所述错误文本中的字为结尾的词语。
3.如权利要求1所述的文本纠错方法,其特征在于,所述根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本,包括:
根据所述缺字召回列表,为所述错误文本中的每个字确定对应的所述预设数目个初步纠正文本,得到第三目标数目个所述初步纠正文本;
基于n-gram模型分别求取各个所述初步纠正文本对应的第一目标困惑度,并将所述第一目标困惑度小于所述错误文本对应的原始困惑度的所述初步纠正文本作为所述第一候选纠正文本,得到所述第一目标数目个所述第一候选纠正文本。
4.如权利要求1所述的文本纠错方法,其特征在于,所述根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本,包括:
通过所述MacBert模型依次在所述错误文本的每个位置添加掩膜,得到第四目标数目个掩膜文本;
基于n-gram模型分别求取各个所述掩膜文本对应的第二目标困惑度,并将所述第二目标困惑度小于所述错误文本对应的原始困惑度的所述掩膜文本作为所述第二候选纠正文本,得到第二目标数目个所述第二候选纠正文本。
5.如权利要求1所述的文本纠错方法,其特征在于,所述根据所述第三候选纠正文本,确定所述错误文本对应的目标纠正文本,包括:
以各个所述第三候选纠正文本中困惑度最低的第三候选纠正文本为基准纠正文本,以所述基准纠正文本之外的第三候选纠正文本为修正文本,基于所述修正文本的纠正信息对所述基准纠正文本进行修正,得到所述错误文本对应的目标纠正文本。
6.如权利要求1所述的文本纠错方法,其特征在于,在所述获取错误文本之前还包括:
获取中文文本数据集;
从所述中文文本数据集中选取第一预设比例的字和/或词语进行掩膜操作,得到目标数据集;
根据所述目标数据集对待训练的MacBert模型进行训练,得到训练后的所述MacBert模型。
7.一种文本纠错装置,其特征在于,包括:
获取单元,用于获取错误文本;
第一纠正单元,用于根据所述错误文本和预设的缺字召回列表,确定所述错误文本对应的第一目标数目个第一候选纠正文本;其中所述缺字召回列表包含能够与所述错误文本中的字构造为词语的预设数目个字;所述预设的缺字召回列表包含预设的汉字数据集中每个汉字分别对应的链表,每个汉字对应的链表包含能够与该汉字构造为词语的预设数目个汉字;第二纠正单元,用于根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本;其中,所述MacBert模型在Bert模型的基础上,用相似词语代替 Bert模型中的掩膜,以减轻预训练和微调阶段两者之间的差距;
目标纠正文本确定单元,用于根据所述错误文本和预设的MacBert模型,确定所述错误文本对应的第二目标数目个第二候选纠正文本;
所述目标纠正文本确定单元,包括:
第三候选纠正文本确定模块,用于根据所述第一目标数目个第一候选纠正文本和所述第二目标数目个第二候选纠正文本,确定所述错误文本中每个位置分别对应的困惑度较低的候选纠正文本,得到第三候选纠正文本;
目标纠正文本确定模块,用于根据所述第三候选纠正文本,确定所述错误文本对应的目标纠正文本。
8.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,使得电子设备实现如权利要求1至6任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,使得电子设备实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111602590.1A CN114528824B (zh) | 2021-12-24 | 2021-12-24 | 文本纠错方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111602590.1A CN114528824B (zh) | 2021-12-24 | 2021-12-24 | 文本纠错方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114528824A CN114528824A (zh) | 2022-05-24 |
CN114528824B true CN114528824B (zh) | 2024-11-29 |
Family
ID=81619677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111602590.1A Active CN114528824B (zh) | 2021-12-24 | 2021-12-24 | 文本纠错方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114528824B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306600B (zh) * | 2023-05-25 | 2023-08-11 | 山东齐鲁壹点传媒有限公司 | 一种基于MacBert的中文文本纠错方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149406A (zh) * | 2020-09-25 | 2020-12-29 | 中国电子科技集团公司第十五研究所 | 一种中文文本纠错方法及系统 |
CN112417127A (zh) * | 2020-12-02 | 2021-02-26 | 网易(杭州)网络有限公司 | 对话模型的训练、对话生成方法、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380840B (zh) * | 2020-11-19 | 2024-05-07 | 平安科技(深圳)有限公司 | 文本纠错方法、装置、设备及介质 |
-
2021
- 2021-12-24 CN CN202111602590.1A patent/CN114528824B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149406A (zh) * | 2020-09-25 | 2020-12-29 | 中国电子科技集团公司第十五研究所 | 一种中文文本纠错方法及系统 |
CN112417127A (zh) * | 2020-12-02 | 2021-02-26 | 网易(杭州)网络有限公司 | 对话模型的训练、对话生成方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114528824A (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475209B2 (en) | Device, system, and method for extracting named entities from sectioned documents | |
CN106570180B (zh) | 基于人工智能的语音搜索方法及装置 | |
CN108091328B (zh) | 基于人工智能的语音识别纠错方法、装置及可读介质 | |
Ling et al. | Latent predictor networks for code generation | |
CN108052499B (zh) | 基于人工智能的文本纠错方法、装置及计算机可读介质 | |
US11031009B2 (en) | Method for creating a knowledge base of components and their problems from short text utterances | |
CN111177184A (zh) | 基于自然语言的结构化查询语言转换方法、及其相关设备 | |
CN110210028A (zh) | 针对语音转译文本的领域特征词提取方法、装置、设备及介质 | |
CN111310470B (zh) | 一种融合字词特征的中文命名实体识别方法 | |
CN108304375A (zh) | 一种信息识别方法及其设备、存储介质、终端 | |
CN111177375B (zh) | 一种电子文档分类方法及装置 | |
CN108108349A (zh) | 基于人工智能的长文本纠错方法、装置及计算机可读介质 | |
Ljubešić et al. | Standardizing tweets with character-level machine translation | |
CN108573707B (zh) | 一种语音识别结果的处理方法、装置、设备及介质 | |
CN102955773B (zh) | 用于在中文文档中识别化学名称的方法及系统 | |
CN111144100B (zh) | 一种问题文本识别方法、装置、电子设备及存储介质 | |
CN111651978A (zh) | 基于实体的词法检查方法与装置和计算机设备及存储介质 | |
CN111737979A (zh) | 语音文本的关键词修正方法、装置、修正设备及存储介质 | |
CN115359799A (zh) | 语音识别方法、训练方法、装置、电子设备及存储介质 | |
CN110473551A (zh) | 一种语音识别方法、装置、电子设备及存储介质 | |
CN110929514B (zh) | 文本校对方法、装置、计算机可读存储介质及电子设备 | |
CN114528824B (zh) | 文本纠错方法、装置、电子设备及存储介质 | |
Carter et al. | Syntactic discriminative language model rerankers for statistical machine translation | |
CN116225933A (zh) | 程序代码审查方法及审查装置 | |
Kumar et al. | Design and implementation of NLP-based spell checker for the Tamil language |
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 |