CN115270769A - 文本纠错方法、装置、电子设备和存储介质 - Google Patents
文本纠错方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115270769A CN115270769A CN202210719215.3A CN202210719215A CN115270769A CN 115270769 A CN115270769 A CN 115270769A CN 202210719215 A CN202210719215 A CN 202210719215A CN 115270769 A CN115270769 A CN 115270769A
- Authority
- CN
- China
- Prior art keywords
- text
- correction
- module
- character
- error correction
- 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.)
- Pending
Links
Images
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
- 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
-
- 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)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供文本纠错方法、装置、电子设备和存储介质,该方法包括:获取待纠错的文本数据;针对待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;文本纠错模型为针对具有错别字的第一样本数据进行训练得到;文本纠错模型包括检测模块和修正模块;通过检测模块针对预处理后的文本数据进行检测,获得检测结果,以及通过修正模块针对预处理后的文本数据进行修正,获得修正结果;根据检测结果和修正结果,确定目标纠错文本。本发明实施例基于具有错别字的数据进行训练得到文本纠错模型,通过该模型处理待纠错的文本数据,可以保证预训练任务与实际应用任务一致,且该模型属于多任务的模型结构,可以大大降低误纠错率。
Description
技术领域
本发明涉及自然语言处理技术领域,特别涉及一种文本纠错方法、一种文本纠错装置、一种电子设备和一种计算机可读存储介质。
背景技术
在传统的自动文本纠错系统中,一般使用错别字库的匹配方法、基于n-gram语言模型的纠错方法,然而错别字库需要长时间的积累,n-gram语言模型的语言表征能力也有限。
随着BERT(Bidirectional Encoder Representation from Transformers,变压器的双向编码器表示法)是一个预训练的语言表征模型,自公布以来,深度神经网络的语义表征能力有了很大的提升,BERT的预训练任务主要为MLM(Masked Language Model,掩码语言模型)任务,MLM任务是将文本中的某一个字掩盖掉(如使用掩码[mask]代替),然后通过上下文的内容来预测被掩盖掉的字是什么,因此,MLM任务具有天然的文本纠错优势。
然而,MLM任务的输入与实际应用任务的输入是不一致的,MLM任务为了学习掩码位置中的原来的字,MLM任务的输入是带有掩码的句子,而实际应用任务是将句子中的错别字转化成正确字,其输入为带有错别字的句子,从而导致预训练任务与实际应用任务不一致,且BERT模型本身是对源文本中的所有字进行直接纠错,会有一定概率将正确字改成错别字,从而增大误纠错率。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的文本纠错方法。
本发明实施例还提供了一种文本纠错装置,以保证上述方法的实施。
为了解决上述问题,本发明实施例公开了一种文本纠错方法,所述方法包括:
获取待纠错的文本数据;
针对所述待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;所述文本纠错模型为针对具有错别字的第一样本数据进行训练得到;所述文本纠错模型包括检测模块和修正模块;
通过所述检测模块针对所述预处理后的文本数据进行检测,获得检测结果,以及通过所述修正模块针对所述预处理后的文本数据进行修正,获得修正结果;
根据所述检测结果和所述修正结果,确定目标纠错文本。
可选地,所述针对所述待纠错的文本数据进行预处理,包括:
为所述待纠错的文本数据中的字符标注音节;所述音节包括声母、韵母和声调;
生成所述字符对应的字符嵌入向量;以及,生成所述声母对应的声母嵌入向量;以及,生成所述韵母对应的韵母嵌入向量;以及,生成所述声调对应的声调嵌入向量。
可选地,所述文本纠错模型包括编码器,所述编码器分别连接所述检测模块和所述修正模块,所述方法还包括:
通过所述编码器分别提取所述字符嵌入向量、声母嵌入向量、韵母嵌入向量和声调嵌入向量对应的嵌入特征,获得字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征;
所述通过所述检测模块针对所述预处理后的文本数据进行检测,获得检测结果,包括:
通过所述检测模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,针对所述预处理后的文本数据中的每个字符,将检测为正确字的字符所在的位置输出为第一标识,以及将检测为错别字的字符所在的位置输出为第二标识,以获得检测结果;
所述通过所述修正模块针对所述预处理后的文本数据进行修正,获得修正结果,包括:
通过所述修正模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,预测所述预处理后的文本数据中的每个位置对应的期望字符,以获得修正结果。
可选地,所述检测结果包括用于标识正确字的第一标识和用于标识错别字的第二标识,所述修正结果包括所述预处理后的文本数据中的每个位置对应的期望字符;所述根据所述检测结果和所述修正结果,确定目标纠错文本,包括:
确定所述检测结果中的第二标识对应的错别字所在的目标位置;
从所述修正结果的期望字符中获取所述目标位置对应的目标字符;
将所述待纠错的文本数据中的目标位置对应的字符替换为所述目标字符,获得目标纠错文本。
可选地,所述文本纠错模型通过如下方式预训练得到:
构建所述具有错别字的第一样本数据;
针对所述具有错别字的第一样本数据进行预处理;
获取初始纠错模型;所述初始纠错模型为基于掩码语言模型MLM进行预训练后的模型;所述初始纠错模型包括编码器和与所述编码器连接的修正模块;
为所述初始纠错模型构建检测模块,并将所述检测模块与所述编码器进行连接;
将预处理后的第一样本数据输入至所述初始纠错模型,以通过所述编码器、检测模块和修正模块,针对所述预处理后的第一样本数据进行训练;
当所述检测模块输出的样本检测结果和所述修正模块输出的样本修正结果满足预设条件时,获得所述文本纠错模型。
可选地,所述构建所述具有错别字的第一样本数据,包括:
获取不具有错别字的第二样本数据;
按照预设替换策略,针对所述第二样本数据中的预设数量的正确字进行替换,以构建得到所述具有错别字的第一样本数据;所述预设替换策略包括将所述正确字替换为音近字,和/或,替换为形近字,和/或,随机替换,和/或,保持不变。
可选地,所述当所述检测模块输出的样本检测结果和所述修正模块输出的样本修正结果满足预设条件时,获得所述文本纠错模型,包括:
获取所述第一样本数据对应的样本检测标注和样本修正标注;
计算所述检测模块输出的样本检测结果与所述样本检测标注之间的检测误差;以及,计算所述修正模块输出的样本修正结果与所述样本修正标注之间的修正误差;
将所述检测误差和所述修正误差进行相加,获得整体损失值;
当所述整体损失值小于预设阈值时,获得所述文本纠错模型。
本发明实施例还公开了一种文本纠错装置,所述装置包括:
待纠错的文本数据获取模块,用于获取待纠错的文本数据;
待纠错的文本数据预处理模块,用于针对所述待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;所述文本纠错模型为针对具有错别字的第一样本数据进行训练得到;所述文本纠错模型包括检测模块和修正模块;
模型处理模块,用于通过所述检测模块针对所述预处理后的文本数据进行检测,获得检测结果,以及通过所述修正模块针对所述预处理后的文本数据进行修正,获得修正结果;
目标纠错文本确定模块,用于根据所述检测结果和所述修正结果,确定目标纠错文本。
可选地,所述待纠错的文本数据预处理模块包括:
标注子模块,用于为所述待纠错的文本数据中的字符标注音节;所述音节包括声母、韵母和声调;
向量生成子模块,用于生成所述字符对应的字符嵌入向量;以及,生成所述声母对应的声母嵌入向量;以及,生成所述韵母对应的韵母嵌入向量;以及,生成所述声调对应的声调嵌入向量。
可选地,所述文本纠错模型包括编码器,所述编码器分别连接所述检测模块和所述修正模块,所述装置还包括:
特征提取模块,用于通过所述编码器分别提取所述字符嵌入向量、声母嵌入向量、韵母嵌入向量和声调嵌入向量对应的嵌入特征,获得字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征;
所述模型处理模块包括:
检测结果输出子模块,用于通过所述检测模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,针对所述预处理后的文本数据中的每个字符,将检测为正确字的字符所在的位置输出为第一标识,以及将检测为错别字的字符所在的位置输出为第二标识,以获得检测结果;
所述模型处理模块包括:
修正结果输出子模块,用于通过所述修正模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,预测所述预处理后的文本数据中的每个位置对应的期望字符,以获得修正结果。
可选地,所述检测结果包括用于标识正确字的第一标识和用于标识错别字的第二标识,所述修正结果包括所述预处理后的文本数据中的每个位置对应的期望字符;所述目标纠错文本确定模块包括:
目标位置确定子模块,用于确定所述检测结果中的第二标识对应的错别字所在的目标位置;
目标字符获取子模块,用于从所述修正结果的期望字符中获取所述目标位置对应的目标字符;
第一替换子模块,用于将所述待纠错的文本数据中的目标位置对应的字符替换为所述目标字符,获得目标纠错文本。
可选地,所述文本纠错模型通过如下模块训练得到:
第一样本数据构建模块,用于构建所述具有错别字的第一样本数据;
第一样本数据预处理模块,用于针对所述具有错别字的第一样本数据进行预处理;
初始纠错模型获取模块,用于获取初始纠错模型;所述初始纠错模型为基于掩码语言模型MLM进行预训练后的模型;所述初始纠错模型包括编码器和与所述编码器连接的修正模块;
检测模块构建模块,用于为所述初始纠错模型构建检测模块,并将所述检测模块与所述编码器进行连接;
训练模块,用于将预处理后的第一样本数据输入至所述初始纠错模型,以通过所述编码器、检测模块和修正模块,针对所述预处理后的第一样本数据进行训练;
条件判断模块,用于当所述检测模块输出的样本检测结果和所述修正模块输出的样本修正结果满足预设条件时,获得所述文本纠错模型。
可选地,所述第一样本数据构建模块包括:
第二样本数据获取子模块,用于获取不具有错别字的第二样本数据;
第二替换子模块,用于按照预设替换策略,针对所述第二样本数据中的预设数量的正确字进行替换,以构建得到所述具有错别字的第一样本数据;所述预设替换策略包括将所述正确字替换为音近字,和/或,替换为形近字,和/或,随机替换,和/或,保持不变。
可选地,所述条件判断模块包括:
样本标注获取子模块,用于获取所述第一样本数据对应的样本检测标注和样本修正标注;
第一计算子模块,用于计算所述检测模块输出的样本检测结果与所述样本检测标注之间的检测误差;以及,计算所述修正模块输出的样本修正结果与所述样本修正标注之间的修正误差;
第二计算子模块,用于将所述检测误差和所述修正误差进行相加,获得整体损失值;
条件判断子模块,用于当所述整体损失值小于预设阈值时,获得所述文本纠错模型。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
与现有技术相比,本发明实施例包括以下优点:
在本发明实施例中,获取待纠错的文本数据;针对待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;文本纠错模型为针对具有错别字的第一样本数据进行训练得到;文本纠错模型包括检测模块和修正模块;通过检测模块针对预处理后的文本数据进行检测,获得检测结果,以及通过修正模块针对预处理后的文本数据进行修正,获得修正结果;根据检测结果和修正结果,确定目标纠错文本。本发明实施例基于具有错别字的数据进行训练得到文本纠错模型,从而采用文本纠错模型对待纠错的文本数据进行处理,可以保证预训练任务与实际应用任务一致,且文本纠错模型属于多任务的模型结构,可以大大降低误纠错率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种文本纠错方法的步骤流程图;
图2是本发明实施例提供的文本纠错模型的结构示意图;
图3是本发明实施例提供的文本纠错模型训练方法的步骤流程图;
图4是本发明实施例提供的一种文本纠错装置的结构框图;
图5是本发明实施例提供的文本纠错模型训练装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
文字和语言是沟通与交流的重要工具,优雅正确的使用语言能够提高交流的效率和准确性,在通过文字交流的过程中,人们经常会犯各种各样的错误,而且在成千上文的文字中,找到几个文字拼写错误,是一项非常困难的任务,因此,人们一直致力于寻找计算机自动纠错的方法。
在传统的自动文本纠错系统中,一般使用错别字库的匹配方法、基于n-gram语言模型的纠错方法,然而错别字库积累足量的错别字,需要足够长时间的应用和积累,导致建立新系统的过程非常缓慢,冷启动非常困难,n-gram语言模型的语言表征能力也有限,在错别字检测时会有较多的漏报和误报。
BERT模型对于深度神经网络的语义表征能力有了很大的提升,然而BERT模型的MLM任务的输入与实际应用任务的输入是不一致的,导致BERT模型的预训练任务与实际应用任务不一致,且BERT模型本身是对源文本中的所有字进行直接纠错,会有一定概率将正确字改成错别字,导致误纠错率增大。
针对上述问题,本发明实施例提供了一种文本纠错方法,本发明实施例基于具有错别字的数据进行训练得到文本纠错模型,从而采用文本纠错模型对待纠错的文本数据进行处理,可以保证预训练任务与实际应用任务一致,且文本纠错模型属于多任务的模型结构,可以大大降低误纠错率。
参照图1,示出了本发明实施例提供的一种文本纠错方法的步骤流程图,该方法具体可以包括如下步骤:
步骤101,获取待纠错的文本数据。
在本发明实施例中,可以应用于客户端,客户端可以是在移动中使用的计算机设备,例如,手机、iPad(平板电脑)、笔记本电脑等等,本发明对此不加以限制。这些客户端可以支持Android(安卓)、iOS(iPhone Operation System,苹果操作系统)、Windows等操作系统。
在实际应用中,客户端可以安装有自动文本纠错系统。当用户想要通过自动文本纠错系统查找文本数据中存在的错别字并针对错别字进行纠错时,可以启动自动文本纠错系统,然后可以将待纠错的文本数据上传到自动文本纠错系统,从而自动文本纠错系统可以获取到待纠错的文本数据。其中,待纠错的文本数据可以是指包含有错别字的文本数据。
步骤102,针对所述待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;所述文本纠错模型为针对具有错别字的第一样本数据进行训练得到;所述文本纠错模型包括检测模块和修正模块。
在本发明实施例中,自动文本纠错系统可以包括预先训练好的文本纠错模型。在实际应用过程中,文本纠错模型是基于待纠错的文本数据进行处理,而在预训练过程中,文本纠错模型是基于具有错别字的第一样本数据进行训练。因此,文本纠错模型的预训练任务和实际应用任务是一致的,即文本纠错模型的预训练任务和实际应用任务,两个任务的输入均为包含有错别字的错误文本数据,两个任务的输出均为纠错后的正确文本数据。
在本发明实施例中,在获取到待纠错的文本数据后,需要针对待纠错的文本数据进行预处理,再将预处理后的文本数据输入至文本纠错模型。文本纠错模型可以包括检测模块和修正模块,检测模块和修正模块可以分别对输入的文本数据进行处理,然后可以根据检测模块的处理结果与修正模块的处理结果,联合分析出最终的目标纠错文本。因此,文本纠错模型是一个多任务联合学习模型,在预训练过程中,文本纠错模型可以有两个学习目标,一个是学习文本数据中有没有错误字,另一个是学习文本数据中的每个位置应该是什么字,这两个学习目标可以是同时进行的。其中,检测模块可以负责学习文本数据中有没有错误字,修正模块可以负责学习文本数据中的每个位置应该是什么字。
本发明的一个可选实施例中,步骤102可以包括以下子步骤:
子步骤S11,为所述待纠错的文本数据中的字符标注音节;所述音节包括声母、韵母和声调。
为了提升文本纠错模型的效果,考虑到现在用户通常使用拼音输入法,所以产生的错别字一般是音近字。本发明实施例可以使用音节(拼音)作为文本纠错模型的特征进行输入,对于音近字的检测修正效果也有了较大的提升。因此,在预处理过程中,本发明实施例可以将文本数据按照单字符进行切分,然后可以为文本数据中的每个字符标注音节,其中,音节可以包括声母、韵母和声调。
为了增加不同字符的音节之间的联系,可以将音节切分成声母、韵母、声调三部分。具体地,自动文本纠错系统可以存储有声母表格、韵母表格、声调表格以及其他表格,其中,声母表格可以包括“b、p、m、f、d、t、n、l、g、k、h、j、q、x、zh、ch、sh、r、z、c、s、y、w”的23个声母,韵母表格可以包括“a、e、i、o、u、v、ai、an、ao、ei、en、er、ia、ie、in、iu、ou、ua、ue、ui、un、uo、ve、ang、eng、ian、iao、ing、ong、uai、uan、iang、iong、uang”的34个韵母,声调表格可以包括“1、2、3、4、(5)”的5个声调,其中,声调中的1~4分别表示第1声~第4声,(5)表示轻音。其他表格可以包括非中文字符的输入表示以及只有韵母的元音字符的输入表示,其中,非中文字符可以统一使用“[O]”作为输入,比如标点符号“。”、“!”可以使用“[O]”作为输入,而只有韵母的元音字符,声母部分可以统一使用“[E]”作为输入,比如“爱”只有韵母“ai”,而声母部分可以使用“[E]”作为输入。
子步骤S12,生成所述字符对应的字符嵌入向量;以及,生成所述声母对应的声母嵌入向量;以及,生成所述韵母对应的韵母嵌入向量;以及,生成所述声调对应的声调嵌入向量。
在一种示例中,在预处理过程中,在将文本数据按照单字符进行切分,以及将音节切分成声母、韵母、声调之后,可以将切分后的单字符按照字符顺序进行词嵌入,获得字符嵌入向量,以及可以将切分后的声母按照字符顺序进行词嵌入,获得声母嵌入向量,以及可以将切分后的韵母按照字符顺序进行词嵌入,获得韵母嵌入向量,以及可以将切分后的声调按照字符顺序进行词嵌入,获得声调嵌入向量。进一步地,可以将字符嵌入向量、声母嵌入向量、韵母嵌入向量和声调嵌入向量依次进行叠加,从而可以获得预处理后的文本数据。示例性地,预处理后的文本数据如下所示:
输入文本:“我爱家乡。”
输入字符:[“我”,“爱”,“家”,“乡”,“。”]
输入声母:[“w”,“[E]”,“j”,“x”,“[O]”]
输入韵母:[“o”,“ai”,“ia”,“iang”,“[O]”]
输入声调:[“3”,“4”,“1”,“1”,“[O]”]
上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
需要说明的是,在进行专有领域文本数据的纠错时,可以使用在大量的通用语料中进行预训练的语言模型,在专有领域文本数据上进行微调,从而可以显著增加纠错效果。具体地,由于文本纠错模型没有具体的真实场景应用,但是使用海量的各种领域的通用语料进行训练,文本纠错模型可以学到底层的语义知识,然后在实际应用过程中可以对文本纠错模型进行微调。例如,通用语料中一氧化碳与二氧化碳可能认为是非常相似的两个词,因为一氧化碳与二氧化碳都是化学物质,且都是数字+氧化碳这样的组合,它们的嵌入向量可能非常接近,但是如果在化学领域中,一氧化碳与二氧化碳之间的差异非常大,那么可以通过化学领域语料进行微调,可以让文本纠错模型认识到一氧化碳与二氧化碳之间的差异,进而把它们的嵌入向量的距离适当拉开一些。本发明实施例使用在大量的通用语料中进行预训练,在特定场景中进行微调,可以进一步提升模型效果。
步骤103,通过所述检测模块针对所述预处理后的文本数据进行检测,获得检测结果,以及通过所述修正模块针对所述预处理后的文本数据进行修正,获得修正结果。
在本发明实施例中,可以通过检测模块针对预处理后的文本数据进行检测,从而检测模块输出检测结果。与此同时,可以通过修正模块针对预处理后的文本数据进行修正,从而修正模块输出修正结果。在文本纠错模型中,检测模块和修正模块可以是同步处理的,故检测模块的检测结果和修正模块的修正结果可以是同步输出的。
本发明的一个可选实施例中,所述文本纠错模型包括编码器,所述编码器分别连接所述检测模块和所述修正模块,所述方法还可以包括:
通过所述编码器分别提取所述字符嵌入向量、声母嵌入向量、韵母嵌入向量和声调嵌入向量对应的嵌入特征,获得字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征。
参照图2,示出了本发明实施例提供的文本纠错模型的结构示意图,文本纠错模型200可以包括编码器201、检测模块202和修正模块203,其中,编码器201分别连接检测模块202和修正模块203。在模型结构上,检测模块202的检测任务和修正模块203的修正任务共同使用同一个编码器201,使用联合学习模型使这两个任务互相促进,从而可以达到1+1>2的错误字检测修正效果。
在本发明实施例中,BERT模型的语言表征能力足够强大,且在预训练的过程中会学习到大量的语言学知识,因此,本发明实施例可以使用BERT作为编码器模块,从而错误字检测修正效果有较大提升。此外,本发明实施例还可以使用LSTM(Long Short-TermMemory,长短期记忆网络)、IDCNN(Iterated Dilated Convolutional Neural Networks,迭代扩张卷积神经网络)作为编码器模块,本发明实施例对此不作出限制。
在一种示例中,如图2所示,字符嵌入向量为[“家”,“乡”,“换”,“迎”,“你”],声母嵌入向量为[“j”,“x”,“h”,“y”,“n”],韵母嵌入向量为[“ia”,“iang”,“uan”,“ing”,“i”],声调嵌入向量为[“1”,“1”,“4”,“2”,“3”],可以将字符嵌入向量、声母嵌入向量、韵母嵌入向量和声调嵌入向量进行叠加,作为预处理后的文本数据,将预处理后的文本数据输入至文本纠错模型200的编码器201中。编码器201可以提取字符嵌入向量[“家”,“乡”,“换”,“迎”,“你”]的嵌入特征,获得字符嵌入特征,以及可以提取声母嵌入向量[“j”,“x”,“h”,“y”,“n”]的嵌入特征,获得声母嵌入特征,以及可以提取韵母嵌入向量[“ia”,“iang”,“uan”,“ing”,“i”]的嵌入特征,获得韵母嵌入特征,以及可以提取声调嵌入向量[“1”,“1”,“4”,“2”,“3”]的嵌入特征,获得声调嵌入特征。然后编码器201可以将字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,同时输入至检测模块202和修正模块203。所述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
本发明的一个可选实施例中,步骤103可以包括以下子步骤:
子步骤S21,通过所述检测模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,针对所述预处理后的文本数据中的每个字符,将检测为正确字的字符所在的位置输出为第一标识,以及将检测为错别字的字符所在的位置输出为第二标识,以获得检测结果。
在本发明实施例中,检测模块202接收到编码器201输出的字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征后,检测模块202可以根据字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,针对预处理后的文本数据中的每个字符进行二分类。具体地,当检测到某一个字符为正确字时,检测模块202可以将该字符所在的位置输出为第一标识,第一标识可以使用“0”表示;当检测到某一个字符为错别字时,检测模块202可以将该字符所在的位置输出为第二标识,第二标识可以使用“1”表示。第一标识和第二标识可以构成检测结果,使得检测结果中的分类为“0”的位置就是正确字的位置,分类为“1”的位置就是错别字的位置。
在一种示例中,如图2所示,检测模块202在针对“换”进行二分类时,可以结合上下文信息推断出,例如,从左往右,检测模块202可以看到“家”、“乡”,从右往左,可以看到“迎”、“你”,检测模块202同时使用“换”的前面[“家”、“乡”]以及“换”的后面[“迎”、“你”],来推断出“换”是正确字还是错别字,[“家”、“乡”]和[“迎”、“你”]这两部分联系起来,检测模块202很容易联想到这两部分的中间就是“欢”,因此,检测模块202可以将“换”所在的位置输出为第二标识,比如输出为“1”,所以最终的检测结果可以为[0,0,1,0,0]。所述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
本发明的一个可选实施例中,步骤103可以包括以下子步骤:
子步骤S31,通过所述修正模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,预测所述预处理后的文本数据中的每个位置对应的期望字符,以获得修正结果。
在本发明实施例中,修正模块203接收到编码器201输出的字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征后,修正模块203可以根据字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,预测预处理后的文本数据中的每个位置对应的期望字符,其中,每个位置对应的期望字符可以构成修正结果。
在一种示例中,如图2所示,修正模块203在预测第三个位置对应的期望字符时,可以结合上下文信息预测出,例如,从左往右,修正模块203可以看到“家”、“乡”,从右往左,可以看到“迎”、“你”,修正模块203同时使用“换”的前面[“家”、“乡”]以及“换”的后面[“迎”、“你”],来预测出第三个位置对应的期望字符,[“家”、“乡”]和[“迎”、“你”]这两部分联系起来,修正模块203很容易联想到这两部分的位置之间,即第三个位置,对应的期望字符就是“欢”,因此,修正模块203可以将第三个位置对应的期望字符预测为“欢”,最终的修正结果可以为[“家”,“乡”,“欢”,“迎”,“你”]。所述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
步骤104,根据所述检测结果和所述修正结果,确定目标纠错文本。
直接修正错别字是一个比较难的自然语言处理任务,而错别字检测则相对简单。为了降低误纠错,本发明实施例可以给自动文本纠错系统增加一个指针,只针对指针认为错误的位置进行错别字修正。
在具体实现中,在文本纠错模型中,检测模块和修正模块均针对文本数据中的每个字符进行处理。对于检测模块输出的检测结果,理想状态下是正确字的检测结果为第一标识“0”,错别字的检测结果为第二标识“1”;对于修正模块输出的修正结果,理想状态下是正确字的修正结果为原来的字符,即输入模型的字符,错别字的修正结果为正确字。检测模块和修正模块可以是同时进行的,即如果检测模块检测出某个字符为错别字,此时修正模块在该字符的位置上进行预测,从而可以将修正模块的预测字符予以显示;如果检测模块检测出某个字符不是错别字,此时修正模块在该字符的位置上进行预测,但是可以不将修正模块的预测字符予以显示。因此,在整个自动文本纠错系统上,修正结果依赖于检测结果,本发明实施例只针对检测为错别字的位置的修正予以显示,从而可以通过检测模块和修正模块的多任务的模型结构来降低误纠错率。
本发明的一个可选实施例中,所述检测结果包括用于标识正确字的第一标识和用于标识错别字的第二标识,所述修正结果包括所述预处理后的文本数据中的每个位置对应的期望字符;步骤104可以包括以下子步骤:
子步骤S41,确定所述检测结果中的第二标识对应的错别字所在的目标位置。
在具体实现中,检测结果可以包括用于标识正确字的第一标识和用于标识错别字的第二标识。如图2所示,检测模块202输出的检测结果可以包括用于标识正确字的第一标识“0”和用于标识错别字的第二标识“1”。在文本纠错模型同时输出检测结果和修正结果后,可以确定检测结果中的第二标识对应的错别字所在的目标位置,由图2可知,检测结果中的第二标识“1”对应的错别字在第三个位置上,那么可以将第三个位置确定为目标位置。
子步骤S42,从所述修正结果的期望字符中获取所述目标位置对应的目标字符。
在具体实现中,修正模块可以包括预处理后的文本数据中的每个位置对应的期望字符。如图2所示,修正模块203输出的修正结果可以包括预处理后的文本数据中的每个位置对应的期望字符,比如预处理后的文本数据中的第一个位置对应的期望字符为“家”,第二个位置对应的期望字符为“乡”,第三个位置对应的期望字符为“欢”,第四个位置对应的期望字符为“迎”,第五个位置对应的期望字符为“你”。在文本纠错模型同时输出检测结果和修正结果后,可以从修正结果的期望字符中获取目标位置对应的目标字符,由图2可知,修正结果的第三个位置对应的期望字符为“欢”,那么可以将“欢”确定为目标字符。
子步骤S43,将所述待纠错的文本数据中的目标位置对应的字符替换为所述目标字符,获得目标纠错文本。
在具体实现中,确定目标字符之后,可以将待纠错的文本数据中的目标位置对应的字符替换为目标字符,从而可以获得目标纠错文本。如图2所示,确定目标字符“欢”之后,可以将待纠错的文本数据中的目标位置对应的字符“换”替换为目标字符“欢”,其他位置对应的字符保持不变,从而可以获得目标纠错文本[“家”,“乡”,“欢”,“迎”,“你”]。
参照图3,示出了本发明实施例提供的文本纠错模型训练方法的步骤流程图,所述文本纠错模型可以通过如下方式训练得到:
步骤301,构建所述具有错别字的第一样本数据。
训练文本纠错模型需要大量的文本数据,但是寻找含有错别字的文本数据并进行人工标注是非常困难的,会导致自动文本纠错系统的冷启动问题难以解决,因此,本发明实施例使用自动化构建的方式生成具有错别字的第一样本数据,从而可以解决自动文本纠错系统的冷启动难题。
本发明的一个可选实施例中,步骤301可以包括以下子步骤:
子步骤S51,获取不具有错别字的第二样本数据;
子步骤S52,按照预设替换策略,针对所述第二样本数据中的预设数量的正确字进行替换,以构建得到所述具有错别字的第一样本数据;所述预设替换策略包括将所述正确字替换为音近字,和/或,替换为形近字,和/或,随机替换,和/或,保持不变。
本发明实施例可以使用正确文本数据自动构建错误文本数据的方法。在实际应用中,可以从维基百科中文语料和人民日报开源语料中获取不具有错别字的第二样本数据,第二样本数据为不包含错别字的正确文本数据,然后针对第二样本数据中的预设数量的正确字,比如第二样本数据中的15%的正确字,按照预设替换策略,将15%的正确字替换成其他字,从而可以构建得到具有错别字的第一样本数据。其中,预设替换策略可以包括将正确字替换为音近字,和/或,替换为形近字,和/或,随机替换,和/或,保持不变。
在一种示例中,假设第二样本数据为“家乡是我的港湾”,那么可以将其中的字“湾”替换成“弯”、“完”、“万”等音近字,和/或,可以将“湾”替换成“弯”、“塆”、“塆”等形近字,和/或,可以将“湾”随机替换成“城”、“次”、“届”等任意字,和/或,可以将“湾”保持不变,从而将一个第二样本数据构建得到多个第一样本数据,发明实施例很好的解决了缺少训练数据的问题,对于自动文本纠错系统的冷启动非常友好。
步骤302,针对所述具有错别字的第一样本数据进行预处理。
在本发明实施例中,在构建得到具有错别字的第一样本数据后,可以针对第一样本数据进行预处理。具体地,在预处理过程中,可以将第一样本数据按照单字符进行切分,然后可以为第一样本数据中的每个字符标注音节,再将音节切分成声母、韵母、声调三部分,其中,音节可以包括声母、韵母和声调。接着可以将切分后的单字符按照字符顺序进行词嵌入,获得样本字符嵌入向量,以及可以将切分后的声母按照字符顺序进行词嵌入,获得样本声母嵌入向量,以及可以将切分后的韵母按照字符顺序进行词嵌入,获得样本韵母嵌入向量,以及可以将切分后的声调按照字符顺序进行词嵌入,获得样本声调嵌入向量。进一步地,可以将样本字符嵌入向量、样本声母嵌入向量、样本韵母嵌入向量和样本声调嵌入向量依次进行叠加,从而可以获得预处理后的第一样本数据。示例性地,预处理后的第一样本数据如下所示:
输入样本:“家乡是我的港湾。”
输入字符:[“家”,“乡”,“是”,“我”,“的”,“港”,“湾”,“[O]”]
输入声母:[“j”,“x”,“sh”,“w”,“d”,“g”,“w”,“[O]”]
输入韵母:[“ia”,“iang”,“i”,“o”,“e”,“ang”,“an”,“[O]”]
输入声调:[“1”,“1”,“4”,“3”,“(5)”,“3”,“1”,“[O]”]
上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
步骤303,获取初始纠错模型;所述初始纠错模型为基于掩码语言模型MLM进行预训练后的模型;所述初始纠错模型包括编码器和与所述编码器连接的修正模块。
掩码语言模型MLM可以学习语言深层次的语义知识和语义分步,本发明实施例使用掩码语言模型MLM进行预训练,获得初始纠错模型,再针对初始纠错模型基于具有错别字的第一样本数据进行训练,获得文本纠错模型。本发明实施例在掩码语言模型MLM的基础上进行错别字纠错训练,既利用了掩码语言模型MLM训练了基础,也解决了预训练任务和实际应用任务不一致的问题。
步骤304,为所述初始纠错模型构建检测模块,并将所述检测模块与所述编码器进行连接。
在本发明实施例中,初始纠错模型可以包括编码器和修正模块,编码器与修正模块具有连接关系。由于直接修正错别字是一个比较难的自然语言处理任务,而错别字检测则相对简单,为了降低误纠错,本发明实施例在模型结构上,可以为初始纠错模型构建检测模块,并且可以将检测模块与编码器进行连接,使得检测模块与修正模块共用连接同一个编码器,实现检测模块的检测任务和修正模块的修正任务共同使用同一个编码器,使用联合学习模型使这两个任务互相促进,从而可以达到1+1>2的错误字检测修正效果。
步骤305,将预处理后的第一样本数据输入至所述初始纠错模型,以通过所述编码器、检测模块和修正模块,针对所述预处理后的第一样本数据进行训练。
在本发明实施例中,为初始纠错模型构建新模块后,初始纠错模型可以包括编码器、检测模块和修正模块,从而可以将预处理后的第一样本数据输入至初始纠错模型中的编码器、检测模块和修正模块进行训练。
步骤306,当所述检测模块输出的样本检测结果和所述修正模块输出的样本修正结果满足预设条件时,获得所述文本纠错模型。
在本发明实施例中,在训练初始纠错模型以获得文本纠错模型时,此训练过程中可以有两个学习目标,一个是学习预处理后的第一样本数据中有没有错误字,另一个是学习预处理后的第一样本数据中的每个位置应该是什么字,这两个学习目标可以是同时进行的。其中,检测模块可以负责完成前一个学习目标,即检测模块可以学习预处理后的第一样本数据中有没有错误字,在学习过程中,检测模块可以输出样本检测结果。修正模块可以负责完成后一个学习目标,即修正模块可以学习文本数据中的每个位置应该是什么字,在学习过程中,修正模块可以输出样本修正结果。当样本检测结果和样本修正结果满足预设条件时,可以获得文本纠错模型。
本发明的一个可选实施例中,步骤306可以包括以下子步骤:
子步骤S61,获取所述第一样本数据对应的样本检测标注和样本修正标注;
子步骤S62,计算所述检测模块输出的样本检测结果与所述样本检测标注之间的检测误差;以及,计算所述修正模块输出的样本修正结果与所述样本修正标注之间的修正误差;
子步骤S63,将所述检测误差和所述修正误差进行相加,获得整体损失值;
子步骤S64,当所述整体损失值小于预设阈值时,获得所述文本纠错模型。
在本发明实施例中,可以获取第一样本数据对应的样本检测标注和样本修正标注,其中,样本检测标注可以用于验证检测模块的学习成果,样本修正标注可以用于验证修正模块的学习成果。然后可以根据检测模块的学习成果与修正模块的学习成果,确定初始纠错模型是否训练完成。当确定初始纠错模型训练完成时,可以将训练完成的初始纠错模型作为本发明实施例的文本纠错模型;当确定初始纠错模型训练未完成时,可以针对初始纠错模型继续基于具有错别字的第一样本数据进行训练,直至确定初始纠错模型训练完成,可以将训练完成的初始纠错模型作为本发明实施例的文本纠错模型。
在具体实现中,可以通过计算样本检测结果与样本检测标注之间的检测误差,以验证检测模块的学习成果,以及可以通过计算样本修正结果与样本修正标注之间的修正误差,以验证修正模块的学习成果,然后可以将检测误差和修正误差进行相加,获得整体损失值。当整体损失值小于预设阈值时,可以确定初始纠错模型训练完成,从而可以将训练完成的初始纠错模型作为本发明实施例的文本纠错模型;当整体损失值不小于预设阈值时,可以确定初始纠错模型训练未完成,从而可以针对初始纠错模型继续基于具有错别字的第一样本数据进行训练,直至整体损失值小于预设阈值,以将训练完成的初始纠错模型作为本发明实施例的文本纠错模型。
在本发明实施例中,获取待纠错的文本数据;针对待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;文本纠错模型为针对具有错别字的第一样本数据进行训练得到;文本纠错模型包括检测模块和修正模块;通过检测模块针对预处理后的文本数据进行检测,获得检测结果,以及通过修正模块针对预处理后的文本数据进行修正,获得修正结果;根据检测结果和修正结果,确定目标纠错文本。本发明实施例基于具有错别字的数据进行训练得到文本纠错模型,从而采用文本纠错模型对待纠错的文本数据进行处理,可以保证预训练任务与实际应用任务一致,且文本纠错模型属于多任务的模型结构,可以大大降低误纠错率。
参照图4,示出了本发明实施例中提供的一种文本纠错装置的结构框图,具体可以包括如下模块:
待纠错的文本数据获取模块401,用于获取待纠错的文本数据;
待纠错的文本数据预处理模块402,用于针对所述待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;所述文本纠错模型为针对具有错别字的第一样本数据进行训练得到;所述文本纠错模型包括检测模块和修正模块;
模型处理模块403,用于通过所述检测模块针对所述预处理后的文本数据进行检测,获得检测结果,以及通过所述修正模块针对所述预处理后的文本数据进行修正,获得修正结果;
目标纠错文本确定模块404,用于根据所述检测结果和所述修正结果,确定目标纠错文本。
本发明的一个可选实施例中,所述待纠错的文本数据预处理模块402可以包括:
标注子模块,用于为所述待纠错的文本数据中的字符标注音节;所述音节包括声母、韵母和声调;
向量生成子模块,用于生成所述字符对应的字符嵌入向量;以及,生成所述声母对应的声母嵌入向量;以及,生成所述韵母对应的韵母嵌入向量;以及,生成所述声调对应的声调嵌入向量。
本发明的一个可选实施例中,所述文本纠错模型包括编码器,所述编码器分别连接所述检测模块和所述修正模块,所述装置还可以包括:
特征提取模块,用于通过所述编码器分别提取所述字符嵌入向量、声母嵌入向量、韵母嵌入向量和声调嵌入向量对应的嵌入特征,获得字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征;
所述模型处理模块403可以包括:
检测结果输出子模块,用于通过所述检测模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,针对所述预处理后的文本数据中的每个字符,将检测为正确字的字符所在的位置输出为第一标识,以及将检测为错别字的字符所在的位置输出为第二标识,以获得检测结果;
所述模型处理模块403可以包括:
修正结果输出子模块,用于通过所述修正模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,预测所述预处理后的文本数据中的每个位置对应的期望字符,以获得修正结果。
本发明的一个可选实施例中,所述检测结果包括用于标识正确字的第一标识和用于标识错别字的第二标识,所述修正结果包括所述预处理后的文本数据中的每个位置对应的期望字符;所述目标纠错文本确定模块404可以包括:
目标位置确定子模块,用于确定所述检测结果中的第二标识对应的错别字所在的目标位置;
目标字符获取子模块,用于从所述修正结果的期望字符中获取所述目标位置对应的目标字符;
第一替换子模块,用于将所述待纠错的文本数据中的目标位置对应的字符替换为所述目标字符,获得目标纠错文本。
参照图5,示出了本发明实施例中提供的文本纠错模型训练装置的结构框图,所述文本纠错模型可以通过如下模块训练得到:
第一样本数据构建模块501,用于构建所述具有错别字的第一样本数据;
第一样本数据预处理模块502,用于针对所述具有错别字的第一样本数据进行预处理;
初始纠错模型获取模块503,用于获取初始纠错模型;所述初始纠错模型为基于掩码语言模型MLM进行预训练后的模型;所述初始纠错模型包括编码器和与所述编码器连接的修正模块;
检测模块构建模块504,用于为所述初始纠错模型构建检测模块,并将所述检测模块与所述编码器进行连接;
训练模块505,用于将预处理后的第一样本数据输入至所述初始纠错模型,以通过所述编码器、检测模块和修正模块,针对所述预处理后的第一样本数据进行训练;
条件判断模块506,用于当所述检测模块输出的样本检测结果和所述修正模块输出的样本修正结果满足预设条件时,获得所述文本纠错模型。
本发明的一个可选实施例中,所述第一样本数据构建模块501可以包括:
第二样本数据获取子模块,用于获取不具有错别字的第二样本数据;
第二替换子模块,用于按照预设替换策略,针对所述第二样本数据中的预设数量的正确字进行替换,以构建得到所述具有错别字的第一样本数据;所述预设替换策略包括将所述正确字替换为音近字,和/或,替换为形近字,和/或,随机替换,和/或,保持不变。
本发明的一个可选实施例中,所述条件判断模块506可以包括:
样本标注获取子模块,用于获取所述第一样本数据对应的样本检测标注和样本修正标注;
第一计算子模块,用于计算所述检测模块输出的样本检测结果与所述样本检测标注之间的检测误差;以及,计算所述修正模块输出的样本修正结果与所述样本修正标注之间的修正误差;
第二计算子模块,用于将所述检测误差和所述修正误差进行相加,获得整体损失值;
条件判断子模块,用于当所述整体损失值小于预设阈值时,获得所述文本纠错模型。
在本发明实施例中,获取待纠错的文本数据;针对待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;文本纠错模型为针对具有错别字的第一样本数据进行训练得到;文本纠错模型包括检测模块和修正模块;通过检测模块针对预处理后的文本数据进行检测,获得检测结果,以及通过修正模块针对预处理后的文本数据进行修正,获得修正结果;根据检测结果和修正结果,确定目标纠错文本。本发明实施例基于具有错别字的数据进行训练得到文本纠错模型,从而采用文本纠错模型对待纠错的文本数据进行处理,可以保证预训练任务与实际应用任务一致,且文本纠错模型属于多任务的模型结构,可以大大降低误纠错率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述文本纠错方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述文本纠错方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的文本纠错方法、装置、电子设备和计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种文本纠错方法,其特征在于,所述方法包括:
获取待纠错的文本数据;
针对所述待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;所述文本纠错模型为针对具有错别字的第一样本数据进行训练得到;所述文本纠错模型包括检测模块和修正模块;
通过所述检测模块针对所述预处理后的文本数据进行检测,获得检测结果,以及通过所述修正模块针对所述预处理后的文本数据进行修正,获得修正结果;
根据所述检测结果和所述修正结果,确定目标纠错文本。
2.根据权利要求1所述的方法,其特征在于,所述针对所述待纠错的文本数据进行预处理,包括:
为所述待纠错的文本数据中的字符标注音节;所述音节包括声母、韵母和声调;
生成所述字符对应的字符嵌入向量;以及,生成所述声母对应的声母嵌入向量;以及,生成所述韵母对应的韵母嵌入向量;以及,生成所述声调对应的声调嵌入向量。
3.根据权利要求2所述的方法,其特征在于,所述文本纠错模型包括编码器,所述编码器分别连接所述检测模块和所述修正模块,所述方法还包括:
通过所述编码器分别提取所述字符嵌入向量、声母嵌入向量、韵母嵌入向量和声调嵌入向量对应的嵌入特征,获得字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征;
所述通过所述检测模块针对所述预处理后的文本数据进行检测,获得检测结果,包括:
通过所述检测模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,针对所述预处理后的文本数据中的每个字符,将检测为正确字的字符所在的位置输出为第一标识,以及将检测为错别字的字符所在的位置输出为第二标识,以获得检测结果;
所述通过所述修正模块针对所述预处理后的文本数据进行修正,获得修正结果,包括:
通过所述修正模块根据所述字符嵌入特征、声母嵌入特征、韵母嵌入特征和声调嵌入特征,预测所述预处理后的文本数据中的每个位置对应的期望字符,以获得修正结果。
4.根据权利要求1所述的方法,其特征在于,所述检测结果包括用于标识正确字的第一标识和用于标识错别字的第二标识,所述修正结果包括所述预处理后的文本数据中的每个位置对应的期望字符;所述根据所述检测结果和所述修正结果,确定目标纠错文本,包括:
确定所述检测结果中的第二标识对应的错别字所在的目标位置;
从所述修正结果的期望字符中获取所述目标位置对应的目标字符;
将所述待纠错的文本数据中的目标位置对应的字符替换为所述目标字符,获得目标纠错文本。
5.根据权利要求1所述的方法,其特征在于,所述文本纠错模型通过如下方式预训练得到:
构建所述具有错别字的第一样本数据;
针对所述具有错别字的第一样本数据进行预处理;
获取初始纠错模型;所述初始纠错模型为基于掩码语言模型MLM进行预训练后的模型;所述初始纠错模型包括编码器和与所述编码器连接的修正模块;
为所述初始纠错模型构建检测模块,并将所述检测模块与所述编码器进行连接;
将预处理后的第一样本数据输入至所述初始纠错模型,以通过所述编码器、检测模块和修正模块,针对所述预处理后的第一样本数据进行训练;
当所述检测模块输出的样本检测结果和所述修正模块输出的样本修正结果满足预设条件时,获得所述文本纠错模型。
6.根据权利要求5所述的方法,其特征在于,所述构建所述具有错别字的第一样本数据,包括:
获取不具有错别字的第二样本数据;
按照预设替换策略,针对所述第二样本数据中的预设数量的正确字进行替换,以构建得到所述具有错别字的第一样本数据;所述预设替换策略包括将所述正确字替换为音近字,和/或,替换为形近字,和/或,随机替换,和/或,保持不变。
7.根据权利要求5所述的方法,其特征在于,所述当所述检测模块输出的样本检测结果和所述修正模块输出的样本修正结果满足预设条件时,获得所述文本纠错模型,包括:
获取所述第一样本数据对应的样本检测标注和样本修正标注;
计算所述检测模块输出的样本检测结果与所述样本检测标注之间的检测误差;以及,计算所述修正模块输出的样本修正结果与所述样本修正标注之间的修正误差;
将所述检测误差和所述修正误差进行相加,获得整体损失值;
当所述整体损失值小于预设阈值时,获得所述文本纠错模型。
8.一种文本纠错装置,其特征在于,所述装置包括:
待纠错的文本数据获取模块,用于获取待纠错的文本数据;
待纠错的文本数据预处理模块,用于针对所述待纠错的文本数据进行预处理,并将预处理后的文本数据输入至文本纠错模型;所述文本纠错模型为针对具有错别字的第一样本数据进行训练得到;所述文本纠错模型包括检测模块和修正模块;
模型处理模块,用于通过所述检测模块针对所述预处理后的文本数据进行检测,获得检测结果,以及通过所述修正模块针对所述预处理后的文本数据进行修正,获得修正结果;
目标纠错文本确定模块,用于根据所述检测结果和所述修正结果,确定目标纠错文本。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的文本纠错方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的文本纠错方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719215.3A CN115270769A (zh) | 2022-06-23 | 2022-06-23 | 文本纠错方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719215.3A CN115270769A (zh) | 2022-06-23 | 2022-06-23 | 文本纠错方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115270769A true CN115270769A (zh) | 2022-11-01 |
Family
ID=83760787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210719215.3A Pending CN115270769A (zh) | 2022-06-23 | 2022-06-23 | 文本纠错方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115270769A (zh) |
-
2022
- 2022-06-23 CN CN202210719215.3A patent/CN115270769A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109918680B (zh) | 实体识别方法、装置及计算机设备 | |
US11238845B2 (en) | Multi-dialect and multilingual speech recognition | |
CN107016994B (zh) | 语音识别的方法及装置 | |
CN108847241B (zh) | 将会议语音识别为文本的方法、电子设备及存储介质 | |
CN102682763B (zh) | 修正语音输入文本中命名实体词汇的方法、装置及终端 | |
CN106534548B (zh) | 语音纠错方法和装置 | |
CN106570180B (zh) | 基于人工智能的语音搜索方法及装置 | |
CN107622054B (zh) | 文本数据的纠错方法及装置 | |
CN106297800B (zh) | 一种自适应的语音识别的方法和设备 | |
CN107729313B (zh) | 基于深度神经网络的多音字读音的判别方法和装置 | |
US20170103061A1 (en) | Interaction apparatus and method | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN114580382A (zh) | 文本纠错方法以及装置 | |
JP2014145842A (ja) | 発話解析装置、音声対話制御装置、方法、及びプログラム | |
CN114757176B (zh) | 一种获取目标意图识别模型的方法以及意图识别方法 | |
JP2011002656A (ja) | 音声認識結果修正候補検出装置、音声書き起こし支援装置、方法及びプログラム | |
CN105404621A (zh) | 一种用于盲人读取汉字的方法及系统 | |
CN110021293A (zh) | 语音识别方法及装置、可读存储介质 | |
KR20180062003A (ko) | 음성 인식 오류 교정 방법 | |
CN112818680A (zh) | 语料的处理方法、装置、电子设备及计算机可读存储介质 | |
EP2447854A1 (en) | Method and system of automatic diacritization of Arabic | |
CN111881297A (zh) | 语音识别文本的校正方法及装置 | |
CN115455946A (zh) | 语音识别纠错方法、装置、电子设备和存储介质 | |
CN114333838A (zh) | 语音识别文本的修正方法及系统 | |
CN112151019A (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 |