错别字处理方法和装置
技术领域
本申请实施例涉及语言处理技术领域,尤其涉及一种错别字处理方法和装置。
背景技术
当前,由于中文汉字存在形近、音近以及应用场景相近等问题,使得在进行电子版书录入的时候出现错别字。为了保证图书质量,出版社的工作人员就需对图书内容进行错别字识别和纠正。
目前对图书内容的错别字识别方案为:通过构造基于深度学习的神经网络模型,将错别字识别任务转化为神经网络中的序列标注任务,通过Bi-LSTM和CRF的混合模型,构建序列标注模型,通过序列标注识别出错别字的位置。而错别字纠正则是通过根据基于大规模的混淆集来给出正确字的候选集,评估每个候选正确字的概率,概率最高且大于一定阈值的候选字被认为是纠正的结果。但是,这种方式对错别字的纠正的准确率较低。
发明内容
本申请实施例提供一种错别字处理方法和装置,以解决待检测语句中错别字纠正准确率较低的问题。
第一方面,本申请实施例提供一种错别字处理方法,包括:
获取待检测语句;
根据错词词典的错别字识别和纠正模型,获取所述待检测语句中的第一错别字纠正语句;
根据深度学习的错别字识别和纠正模型,获取所述待检测语句中的第二错别字纠正语句;
根据所述第一错别字纠正语句与所述第二错别字纠正语句,获得待检测语句的目标纠正语句。
可选地,所述根据所述第一错别字纠正语句与所述第二错别字纠正语句,获得待检测语句的目标纠正语句,包括:
从所述第一错别字纠正语句与所述第二错别字纠正语句中获取待评估语句;
判断所述待评估语句的改动位置的字是否满足预设过滤规则;
若是,则确定所述目标纠正语句为所述待检测语句本身;
若否,则确定所述目标纠正语句为所述待评估语句。
可选地,所述判断所述待评估语句的改动位置的字是否满足预设过滤规则,包括以下至少一项:
判断所述改动位置的字是否属于预设常识库,所述预设常识库包括古诗词;
判断所述改动位置的字是否属于命名实体;
判断所述改动位置的字是否位于预设字符所对应的位置;
判断所述改动位置的字是否符合上下文一致;
若上述任一项判断为是,则确定所述待评估语句的改动位置的字满足预设过滤规则。
可选地,所述从所述第一错别字纠正语句与所述第二错别字纠正语句中获取待评估误句,包括:
若所述第一错别字纠正语句与所述第二错别字纠正语句相同,则获取所述第一错别字纠正语句或所述第二错别字纠正语句为待评估语句;
若所述第一错别字纠正语句与所述第二错别字纠正语句不相同,则通过语言评分模型,分别获取所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,并根据所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,获取所述第一错别字纠正语句或所述第二错别字纠正语句中获取待评估语句。
可选地,所述根据深度学习的错别字识别和纠正模型,获取所述待检测语句中的第二错别字纠正语句,包括:
将所述待检测语句输入深度学习的错别字识别和纠正模型中,获取所述深度学习的错别字识别和纠正模型输出的第三错别字纠正语句;
若所述第三错别字纠正语句中纠正的错别字为通用错别字,则将所述第三错别字纠正语句确定为所述第二错别字纠正语句。
可选地,所述方法还包括:
若所述第三错别字纠正语句中纠正的错别字为预设特殊类型错别字,则将所述第三错别字纠正语句确定为所述待检测语句的目标纠正语句;
其中,所述预设特殊类型错别字包括以下至少一项:的地得、做作、多字少字、易混淆词。
可选地,所述方法还包括:
输出所述待检测语句的目标纠正语句;
获取用户基于所述待检测语句的目标纠正语句输入的所述待检测语句的更改语句;
根据所述更改语句,更新所述错词词典的错别字识别和纠正模型和深度学习的错别字识别和纠正模型。
第二方面,本申请实施例提供一种错别字处理装置,包括:
第一获取模块,用于获取待检测语句;
第一处理模块,用于根据错词词典的错别字识别和纠正模型,获取所述待检测语句中的第一错别字纠正语句;
第二处理模块,用于根据深度学习的错别字识别和纠正模型,获取所述待检测语句中的第二错别字纠正语句;
第三处理模块,用于根据所述第一错别字纠正语句与所述第二错别字纠正语句,获得待检测语句的目标纠正语句。
可选地,所述第三处理模块,具体用于:
从所述第一错别字纠正语句与所述第二错别字纠正语句中获取待评估语句;
判断所述待评估语句的改动位置的字是否满足预设过滤规则;
若是,则确定所述目标纠正语句为所述待检测语句本身;
若否,则确定所述目标纠正语句为所述待评估语句。
可选地,所述判断所述待评估语句的改动位置的字是否满足预设过滤规则,包括以下至少一项:
判断所述改动位置的字是否属于预设常识库,所述预设常识库包括古诗词;
判断所述改动位置的字是否属于命名实体;
判断所述改动位置的字是否位于预设字符所对应的位置;
判断所述改动位置的字是否符合上下文一致;
若上述任一项判断为是,则确定所述待评估语句的改动位置的字满足预设过滤规则。
可选地,所述第三处理模块,还用于:
若所述第一错别字纠正语句与所述第二错别字纠正语句相同,则获取所述第一错别字纠正语句或所述第二错别字纠正语句为待评估语句;
若所述第一错别字纠正语句与所述第二错别字纠正语句不相同,则通过语言评分模型,分别获取所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,并根据所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,获取所述第一错别字纠正语句或所述第二错别字纠正语句中获取待评估语句。
可选地,所述第二处理模块,具体用于:
将所述待检测语句输入深度学习的错别字识别和纠正模型中,获取所述深度学习的错别字识别和纠正模型输出的第三错别字纠正语句;
若所述第三错别字纠正语句中纠正的错别字为通用错别字,则将所述第三错别字纠正语句确定为所述第二错别字纠正语句。
可选地,所述第二处理模块,还用于:
若所述第三错别字纠正语句中纠正的错别字为预设特殊类型错别字,则将所述第三错别字纠正语句确定为所述待检测语句的目标纠正语句;
其中,所述预设特殊类型错别字包括以下至少一项:的地得、做作、多字少字、易混淆词。
可选地,所述装置,还包括:
输出模块,用于输出所述待检测语句的目标纠正语句;
第二获取模块,用于获取用户基于所述待检测语句的目标纠正语句输入的所述待检测语句的更改语句;
第四处理模块,用于根据所述更改语句,更新所述错词词典的错别字识别和纠正模型和深度学习的错别字识别和纠正模型。
第三方面,本申请实施例提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行如本申请第一方面所述的错别字处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请第一方面所述的错别字处理方法。
本申请实施例提供的一种错别字处理方法和装置,通过根据所述错词词典的错别字识别和纠正模型所获取的所述待检测语句的第一错别字纠正语句与根据所述深度学习的错别字识别和纠正模型所获取的所述待检测语句的第二错别字纠正语句,来获取所述待检测语句的目标纠正语句,由于目标纠正语句参考了上述两种错别字识别和纠正模型所获取的错别字纠正语句,提高了待检测语句的错别字纠正准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的应用场景示意图;
图2为本申请一实施例提供的错别字处理方法的流程示意图;
图3为本申请另一实施例提供的错别字处理方法的流程示意图;
图4为本申请另一实施例提供的错别字处理方法流程图;
图5为本申请一实施例提供的错别字处理装置的结构示意图;
图6为本申请一实施例提供的电子设备的结构示意图;
图7为本申请另一实施例提供的终端设备的结构示意图;
图8为本申请另一实施例提供的服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例可以应用于电子设备中,图1为本申请一实施例提供的应用场景示意图,如图1所示,电子设备例如可以包括服务器、计算机、移动终端等,移动终端包括:手机、平板电脑、可穿戴设备等,对此本申请不做限制。
下面结合几个具体的实施例,对本申请的技术方案进行描述。
图2为本申请一实施例提供的错别字处理方法的流程示意图,如图2 所示,本申请实施例的方法可以包括:
S201、获取待检测语句。
所述获取待检测语句可以有很多种方式,例如,可接收用户输入的语句,将用户输入的语句作为所述待检测语句。或者,获取待检测文本,可以将待检测文本中的每个语句作为待检测语句。
S202、根据错词词典的错别字识别和纠正模型,获取所述待检测语句中的第一错别字纠正语句。
本实施例中,S101中获取的所述待检测语句输入至错词词典的错别字识别和纠正模型,根据所述错词词典的错别字识别和纠正模型,对所述待检测语句中的错别字进行识别和纠正,获得待检测语句的错别字纠正语句,此处将该错别字纠正语句称为第一错别字纠正语句。
其中,S202的具体实现方式包括1)-3):
1)对所述待检测语句进行正词分词处理,获取分词序列。
对S201中所获取的所述待检测语句进行分词处理,即将所述待检测语句切分成一个个单独的词或字,然后将这些词或字组合成一个序列,例如,通过正词分词,将所输入的待检测语句:我在家俱店门口,划分为:我在家俱店门口。其中,若“具”错写为了“俱”,那么“家俱”这个词就不会成词,分词的时候会被分为两个单独的字“家俱”。
其中,所述正词分词是将S201中所获取的所述待检测语句输入至正词词典中进行分词,所述正词词典包含有所有正确词或字。
2)抽取上述分词序列中没有成词的但是连续的单个字组成的连续文本序列,作为候选错别字分析片段。
例如,抽取“我在家俱店门口”所组成的分词序列中没有成词的但是连续的单个字组成的连续文本序列为“我在家俱店”,然后将“我在家俱店”作为候选错别字分析片段,而“门口”在对该句分词的时候可成词,故不考虑。
3)对2)中所获取的候选错别字文本片段,根据错词词典的错别字识别和纠正模型,对候选错别字文本片段进行错别字识别和纠正,获取所述待检测语句的第一错别字纠正语句。
错词词典包含有所述正确词与错误词所组成的词对,例如“家具”与“家俱”可组成一对词对,根据所述的错词词典中的词对进行错别字识别,并根据识别结果对错误的语句进行纠正,即将“家俱”修改为“家具”,从而获取所述待检测语句的第一错别字纠正语句,第一错别字纠正语句为“我在家具店门口”。而序列中的“我在店”这三个字通过错词词典分词时是不会被识别出,那么“我在店”这三个字就被认为是没有错误的,因此,只需考虑“家俱”这个错误词。
其中,所述错词词典是可将收录权威词典资料作为基础储备,所建立的错词词典,其可包含有中文常见错别字组合、输入法常见输入错误组合、音似汉字组合、形似汉字组合、常见搭配错误组合等,但不限于此。
S203、根据深度学习的错别字识别和纠正模型,获取所述待检测语句的第二错别字纠正语句。
本实施例中,S201中获取的所述待检测语句输入至深度学习的错别字识别和纠正模型,根据所述深度学习的错别字识别和纠正模型,对所述待检测语句中的错别字进行识别和纠正,获得待检测语句的错别字纠正语句,此处将该错别字纠正语句称为第二错别字纠正语句。
其中,S203的具体实现方式可以为:
利用混淆集及语言评分模型对所标注位置的错别字进行纠正,获取所述待检测语句的第二错别字纠正语句。
所述训练模型识别出所述错别字位置之后,可根据所述位置找到对应的错别字,根据预设混淆集替换出正确字,然后对替换正确字后的语句进行评估。
所述混淆集是根据之前经验累积而成。其中,所述混淆集存有一些形近或者音近的字组成的。例如,若与所述错别字同音,则根据混淆集中与之同音的字依次替换该位置的词或字,再根据语言评分模型评估每个替换后的待检测语句,根据评估结果确定所述待检测语句的错别字纠正语句。例如,所输入的待检测语句“我在家俱店门口”,其中,“具”写为了“俱”,根据所述训练模型Bi-LSTM+CRF识别出所输入的待检测语句“我在家俱店门口”中错别字“俱”对应的序列位置,可知“俱”字出现错误,那么,混淆集中会有与“俱”字读音相同的同音的字的集合,然后依次根据所述混淆集中同音的字去替换标注位置处的“俱”字,那么就会对应有一串与“俱”字对应的语句,根据语言评分模型对替换后的语句进行评分,若混淆集中有10个与“俱”字对应的同音字,那么就会相应的有10个语句,根据语言评分模型对这10个句子进行评分,从这10个评分中找到一个最有可能的正确语句,例如所选取的语言评分模型为所述评分越低,认为该语句被纠正正确的可能性越高,那么就从10个语句中选取一个评分最低的作为该检测语句所对应的错别字纠正语句。
其中,所述混淆集中还包含有与所述错别字形近的字,其实现原理与上述方法类似,此处不再赘述。
其中,所述Bi-LSTM+CRF模型可根据带有标注的错别字训练数据作为深度学习的错别字识别和纠正模型的输入,训练Bi-LSTM+CRF模型,将错别字识别问题转化为序列标注问题,标注错别字位置。其中,所述训练模型的实现方法与现有技术类似,此处不再赘述。
例如,根据所述训练模型Bi-LSTM+CRF可识别出所输入的待检测语句“我在家俱店门口”中错别字“俱”对应的序列位置。
其中,步骤S202和S203的执行可以不分先后顺序。例如,可以先执行 S202,再执行S203,也可以先执行S203,再执行S202,还可以同时执行S202 和S203。
在一些实施例中,S203的另一种实现方式包括a-d:
a、将所述待检测语句输入深度学习的错别字识别和纠正模型中,获取所述深度学习的错别字识别和纠正模型输出的第三错别字纠正语句。
本实施例中,将S101中获取的所述待检测语句输入至深度学习的错别字识别和纠正模型,根据所述深度学习的错别字识别和纠正模型,对所述待检测语句中的错别字进行识别,然后获取所述待检测语句中的第三错别字纠正语句。
b、判断所述第三错别字纠正语句中纠正的错别字类型。
c、若所述第三错别字纠正语句中纠正的错别字为通用错别字,则将所述第三错别字纠正语句确定为所述第二错别字纠正语句。
d、若所述第三错别字纠正语句中纠正的错别字为预设特殊类型错别字,则将所述第三错别字纠正语句确定为所述待检测语句的目标纠正语句。其中,所述预设特殊类型错别字包括以下至少一项:的地得、做作、多字少字、易混淆词。
本实施例中,对所述深度学习的错别字识别和纠正模型所输出的第三错别字纠正语句中所纠正的错别字类型进行判断,判断所述第三错别字纠正语句中所纠正的错别字类型是否为通用错别字。
若所述第三错别字纠正语句中纠正的错别字为通用错别字,则所述深度学习的错别字识别和纠正模型所输出的第三错别字纠正语句即为所述第二错别字纠正语句。
若所述第三错别字纠正语句中纠正的错别字不属于通用错别字,则为预设特殊类型的错别字,那么将所述深度学习的错别字识别和纠正模型所输出的第三错别字纠正语句作为所述待检测语句的目标纠正语句。其中,所述预设特殊类型错别字包括以下至少一项:的地得、做作、多字少字、易混淆词等。
S204、根据所述第一错别字纠正语句与所述第二错别字纠正语句,获得待检测语句的目标纠正语句。
本实施例中,根据所述错词词典的错别字识别和纠正模型所获取的所述待检测语句的第一错别字纠正语句与所述深度学习的错别字识别和纠正模型所获取的所述待检测语句的第二错别字纠正语句,获取所述待检测语句的目标纠正语句。
本实施例中,通过根据所述错词词典的错别字识别和纠正模型所获取的所述待检测语句的第一错别字纠正语句与根据所述深度学习的错别字识别和纠正模型所获取的所述待检测语句的第二错别字纠正语句,来获取所述待检测语句的目标纠正语句,由于目标纠正语句参考了上述两种错别字识别和纠正模型所获取的错别字纠正语句,提高了待检测语句的错别字纠正准确率。
图3为本申请另一实施例提供的错别字处理方法的流程示意图,如图3 所示,本申请实施例的方法可以包括:
S301、获取待检测语句。
S302、根据错词词典的错别字识别和纠正模型,获取所述待检测语句中的第一错别字纠正语句。
S303、根据深度学习的错别字识别和纠正模型,获取所述待检测语句的第二错别字纠正语句。
其中,步骤S302和S303的执行可以不分先后顺序。例如,可以先执行 S302,再执行S303,也可以先执行S303,再执行S302,还可以同时执行S302 和S303。
S301-S303的具体实现过程可以参见图2所示实施例中的相关描述,此处不再赘述。
S304、从所述第一错别字纠正语句与所述第二错别字纠正语句中获取待评估语句。
本实施例中,从所述错词词典的错别字识别和纠正模型所获取的所述待检测语句的第一错别字纠正语句与所述深度学习的错别字识别和纠正模型所获取的所述待检测语句的第二错别字纠正语句中获取所述待检测语句的待评估语句。
S305、判断所述待评估语句的改动位置的字是否满足预设过滤规则。
S306、若是,则确定所述目标纠正语句为所述待检测语句本身。
S307、若否,则确定所述目标纠正语句为所述待评估语句。
本实施例中,对所述待评估语句中所述改动位置的字进行判断,判断所述待评估语句中所述改动位置的字是否满足预设过滤规则。
若所述待评估语句中所述改动位置的字满足预设过滤规则,则无需对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句就为所述待检测语句本身。
若所述待评估语句中所述改动位置的字不满足预设过滤规则,则需要对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句则为所述待评估语句。
可选地,S305的一种实现方式为:判断所述改动位置的字是否属于预设常识库,所述预设常识库包括古诗词。
对所述待评估语句中所述改动位置的字进行判断,判断所述待评估语句中所述改动位置的字是否属于预设常识库。其中,所述预设常识库可以为古诗词。
若所述待评估语句中所述改动位置的字属于所述预设常识库,则可以确定所述待评估语句中所述改动位置的字满足预设过滤规则,则无需对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句就为所述待检测语句本身。
若所述待评估语句中所述改动位置的字不属于所述预设常识库,则所述待评估语句中所述改动位置的字不满足预设过滤规则,则需要对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句则为所述待评估语句。
可选地,S305的另一种实现方式为:判断所述改动位置的字是否属于命名实体。
对所述待评估语句的所改动位置的字进行判断,判断所述待评估语句中所述改动位置的字是否属于命名实体。其中,所述命名实体可以为具体位置的人名、地名、机构名等。
若所述待评估语句中所述改动位置的字属于所述命名实体,则可以确定所述待评估语句中所述改动位置的字满足预设过滤规则,则无需对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句就为所述待检测语句本身。
若所述待评估语句中所述改动位置的字不属于所述命名实体,则所述待评估语句中所述改动位置的字不满足预设过滤规则,则需要对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句则为所述待评估语句。
可选地,S305的另一种实现方式为:判断所述改动位置的字是否位于预设字符所对应的位置。
对所述待评估语句中所述改动的位置的字进行判断,判断所述待评估语句中所述改动位置的字是否位于预设字符所对应的位置。其中,所述预设字符可以为书名号等。
若所述待评估语句中所述改动位置的字位于预设字符所对应的位置,则可以确定所述待评估语句中所述改动位置的字满足预设过滤规则,则无需对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句就为所述待检测语句本身。
若所述待评估语句中所述改动位置的字不位于预设字符所对应的位置,则所述待评估语句中所述改动位置的字不满足预设过滤规则,则需要对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句则为所述待评估语句。
可选地,S305的另一种实现方式为:判断所述改动位置的字是否符合上下文一致。
对所述待评估语句中所述所改动的位置的字判断,判断所述待评估语句中所述改动位置的字是否符合上下文一致。
若所述待评估语句中所述改动位置的字符合上下文一致性,则可以确定所述待评估语句中所述改动位置的字满足预设过滤规则,则无需对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句就为所述待检测语句本身。
若所述待评估语句中所述改动位置的字不符合上下文一致性,则所述待评估语句中所述改动位置的字不满足预设过滤规则,则需要对待检测语句进行错别字纠正,那么根据所述第一错别字纠正语句与所述第二错别字纠正语句所获取的所述待检测语句的目标纠正语句则为所述待评估语句。
可选地,若上述任一项判断为是,则确定所述待评估语句中所述改动位置的字满足所述预设过滤规则。若上述所有项判断为否,则确定所述待评估语句的改动位置的字不满足所述预设过滤规则。
在一些实施例中,S305的一种实现方式为:判断所述第一错别字纠正语句与所述第二错别字纠正语句是否相同,若所述第一错别字纠正语句与所述第二错别字纠正语句相同,则获取所述第一错别字纠正语句或所述第二错别字纠正语句为待评估语句。可选地,若所述第一错别字纠正语句与所述第二错别字纠正语句不相同,则通过语言评分模型,分别获取所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,并根据所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,获取所述第一错别字纠正语句或所述第二错别字纠正语句中获取待评估语句。
本实施例中,若所述第一错别字纠正语句与所述第二错别字纠正语句相同,那么认为所述错词词典的错别字识别和纠正模型与所述深度学习的错别字识别和纠正模型对于待检测语句中错别字识别后纠正为正确的可能性较高,然后对所述纠正结果进行进一步的校正,在进行进一步的校正的时候可选择比较宽松的约束条件对所述第一错别字纠正语句或所述第二错别字纠正语句进行约束评估,以获取所述第一错别字纠正语句或所述第二错别字纠正语句作为待评估语句。
可选地,若所述第一错别字纠正语句与所述第二错别字纠正语句不相同,那么认为所述错词词典的错别字识别和纠正模型与所述深度学习的错别字识别和纠正模型对于待检测语句中错别字识别后纠正为正确的可能性较低,然后对所述纠正结果进行进一步的校正,在进行进一步的校正的时候则采用比较严格的约束条件对所述第一错别字纠正语句和所述第二错别字纠正语句进行约束评估,以获取所述第一错别字纠正语句或所述第二错别字纠正语句作为待评估语句。具体地,可通过语言评分模型,分别获取所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,并根据所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分以及约束条件,获取所述第一错别字纠正语句或所述第二错别字纠正语句中获取待评估语句。例如,所选取的语言评分模型为所述评分越低,认为所述待检测语句被纠正正确的可能性越高,那么就从所述第一错别字纠正语句和所述第二错别字纠正语句中选取一个评分最低的并且满足所述约束条件的语句作为该检测语句所对应的待评估语句。
其中,所述约束条件用于限定所述纠正语句的评分结果。
如图3所示,所述实施例,还包括S308-S310:
S308、输出所述待检测语句的目标纠正语句。
在对所述待检测语句进行识别纠正之后,将纠正之后的语句作为目标纠正语句,可将所述目标纠正语句发送给相应的显示设备,通过所述显示设备显示所述待检测语句的目标纠正语句,或者通过自身设备直接显示所述待检测语句的目标纠正语句。其中,所述显示设备可以是终端设备,例如,电脑、手机等,对此,本申请不做限制。
S309、获取用户基于所述待检测语句的目标纠正语句输入的所述待检测语句的更改语句。
显示设备输出所述待检测语句的目标纠正语句之后,用户对所述待检测语句的目标纠正语句进行人工判断,若所述待检测语句的目标纠正语句中不存在错别字,则获取基于所述待检测语句的目标纠正语句输入的所述待检测语句的更改语句;若所述待检测语句的目标纠正语句中存在错别字,则舍弃所述待检测语句的目标纠正语句。
S310、根据所述更改语句,更新所述错词词典的错别字识别和纠正模型和深度学习的错别字识别和纠正模型。
根据S309中的所述更改语句,更新所述错词词典的错别字识别和纠正模型和深度学习的错别字识别和纠正模型,减少误报情况,提高了所述错别字纠正模型的准确率。
本实施例中,通过所述错词词典的错别字识别和纠正模型获取所述待检测语句的第一错别字纠正语句,根据所述深度学习的错别字识别和纠正模型获取所述待检测语句的第二错别字纠正语句,然后判断所述待评估语句的改动位置的字是否满足预设过滤规则,进而获取所述待检测语句的目标纠正语句,然后输出所述待检测语句的目标纠正语句,用户对所述待检测语句的目标纠正语句进行判断以获取更改语句,最后根据所述更改语句,更新所述错词词典的错别字识别和纠正模型和深度学习的错别字识别和纠正模型,减少误报情况,提高了所述错别字纠正模型的准确率。
目前,由于中文汉字使用的复杂性,存在很多形近、音近甚至是使用场景也很近似的汉字或者中文词语,导致图书编辑人员在撰写电子版图书的时候会存在很多的错别字,尤其是在使用汉字输入法进行键盘敲入汉字的时候会存在很多编辑错误,或是因为本身知识储备导致的汉字使用错误,或是因为在使用输入法过程中导致的录入错误。为了保证图书质量,在图书出版前出版社的工作人员需要对图书内容进行审校,目前出版社对于图书内容的审校大多采用人工校对的方式进行,校对工作单调,劳动强度大,效率低,而且人工校对往往无法有效发现汉字拼写过程中极易混淆的一些错误。因此,人工校对的方式已经无法满足图书审校的需求,因此研究自动图书文本审校对于理论和应用都具有很深远的意义。
本申请一实施例主要针对图书审校任务中的中文错别字检测模块提出一种快速实现的系统。错别字检测任务通常包含两项子任务:错别字识别和错别字纠正。对于错别字识别任务有两种常见的解决方案:其一,采用基于统计的方式计算词语出现在当前上下文句子中的概率,一般采用语言模型计算得到,对应概率值小于阈值的部分认为是可能存在错误的位置坐标;另外,通过构造基于深度学习的神经网络模型,将错别字识别任务转化为神经网络中的序列标注任务,因此任务就转换化通过Bi-LSTM和CRF的混合模型,构建序列标注模型,通过序列标注识别出错别字的位置。对于错别字纠正任务,基于大规模的混淆集来给出正确字的候选集,并评估每个候选正确字的概率,概率最高且大于一定阈值的候选字被认为是纠正的结果。
上述提到的对于错别字的识别和纠正方法中或多或少存在一些问题,并不适用于在实际生产环境中使用。主要存在的问题有如下几个方面:第一,针对英文的错别字识别和纠正可以得到相对较好的效果,由于中文语法的复杂性及表述的多样性,目前对于中文错别字的自动识别和纠正的技术尚不成熟,处理效果并不理想;第二,单一的模型无法同时保证方法的准确率和召回率,通常为了得到较高的准确率往往需要牺牲掉一部分召回率作为代价;第三,实际生产环境中对于系统的性能要求较高,要求在尽可能短的时间内可以返回模型的检测结果,而上述方法通常不能满足实际的生产需求;最后,单一的模型通常对常规错误处理效果较好,对于特殊类型的错误识别和纠正的结果准确率和召回率都较低。
针对上述现有方法的不足,本申请一实施例提出一种基于多模式的中文错别字快速识别和纠正系统。具体地,本申请一实施例可以识别并纠正包括但不限于中文同音字、近义字、易混淆字、多字少字、特殊类型错误及上下文语境搭配错误等中文错别字相关问题。通过该系统,对于中文错别字的处理可以在保证识别和纠正准确率的同时,得到较高的召回率,并且系统的处理速度可以满足实际生产需求。
本申请一实施例采用的是基于多模式的集成方案,来提高模型的效果。通过结合基于深度学习的方法和基于错词词典匹配的方法进行错别字的识别和纠正,进而通过多种方式对识别和纠正结果进行校正,同时保证了模型的准确率和召回率。该系统主要分为三个主要模块,分别是错别字识别和纠正模块、识别结果校正模块、用户反馈更新模块。图4为本申请另一实施例提供的错别字处理方法流程图,如图4所示。
1、错别字识别和纠正模块,该模块采用结合基于错词词典的错别字匹配方法和基于深度学习的错别字检测方法来识别对中文错别字的识别和纠正,采用多方式结合的模型主要是为了能够提高算法的召回率,因为通过单一模型通常只能解决部分问题,使得文本中的错误无法被充分的发现。
1)基于错词词典的错别字识别和纠正模型
具体技术细节分以下几个步骤:(1)构建中文错词词典,收录权威词典资料作为基础储备,词典中包含中文常见错别字组合、输入法常见输入错误组合、音似汉字组合、形似汉字组合、常见搭配错误组合等;(2)利用分词功能,对文本进行正词分词分析,得到分词序列W={w_1,w_2,…,w_n},其中 w_i表示分词得到的词语或者单字;(3)抽取W中单字组成的连续文本序列,作为候选错别字分析片段;(4)对于上述候选错别字文本片段,利用(1)中所述词典,进行错别字识别,并根据识别结果对错误的词语进行候选纠正,得到候选错误candi_err_seg,这里由于错词词典的规模通常较大,因此分词算法中采用树型结构存储全部错词,以实现在大规模错词词典中目标词语的快速匹配。
2)基于深度学习的错别字识别与纠正模型
具体技术细节分以下几个步骤:(1)利用单字级别的语言模型及词性特征作为模型输入,训练Bi-LSTM+CRF模型,将错别字识别问题转化为序列标注问题,标注错别字位置;(2)利用基于掩字的语言模型对错别字进行候选纠正;(3)进一步对深度学习方法得到的错误进行类型判断,针对特殊类型的错误,如“的地得”、“做作”、“多字少字”、“易混淆字”等直接进行修改;对于通用错别字,记为候选错误candi_err_nn。
2、识别结果校正模块,采用不同阈值控制机制,对上述模块的识别和纠正结果进行校正。针对两种方法识别与纠正结果一致的,即candi_err_seg和 candi_err_nn中存在交集的结果部分,认为系统对于错别字修改正确的可能性较高,因此在做校正的时候可以采用较低的阈值,以提高系统识别的召回率,避免将修改正确的结果过滤掉;针对两种方法识别和纠正结果不一致的,即 candi_err_seg和candi_err_nn中非交集的结果部分,校正时采用比较严格的阈值和参数,以提高系统对于错别字识别和纠正的准确率。该模块主要分为两个部分:基于人工智能算法的智能校正方法和基于规则约束的智能校正方法。
1)基于人工智能算法的智能校正方法
首先通过人工智能算法对识别和纠正结果进行第一轮的校正,具体地, (1)采用基于互信息的方式计算当前词语与其上下文的关联关系对修改结果进行校正;(2)基于Bert语言模型,通过窗口内的文本片段,计算错误修改前和错误修改后词语的困惑度PPL,根据概率值匹配正确可能性较高的结果。
2)基于规则约束的智能校正方法
在上述基础上,通过人工指定规则,算法进行规则匹配的方式可以实现对于结果中一些常识性修改错误的校正。主要考虑针对以下几种情况的校正: (1)构建常识库,如古诗词等,如果识别出的候选错别字位于古诗词内,则该文本片段不进行校正;(2)对于文本中特殊位置的处理,如书名号内不进行错别字校正;(3)利用深度神经网络构建双向长短期记忆Bi-LSTM+CRF 命名实体识别模型,对1)中的结果进行命名实体识别,如果识别结果为命名实体,则不对原文进行修改;(4)上下文一致性等对结果进行二次校正。
3、用户反馈更新模块,通过用户反馈机制实现系统的自我提升。对于深度学习模型识别错误的结果,根据用户反馈,通过数据增强后更新模型;对于错词词典匹配的方式误判的结果,更新错词词典或者减少误判情况;对于识别结果校正模块没有识别出的错误纠正结果,通过更新规则或者增加约束条件,减少误报情况。
本申请一实施例提出的一种基于多模式的中文错别字快速识别和纠正系统,将基于深度学习和基于错词词典切分的方式集成,与单模型相比,有效提高了模型的召回率;同时,为了保证模型的准确率,构建了基于多阈值多方式的错别字校正模型;最后,通过引入用户反馈机制,及时的将系统误判或者漏判的错别字进行反馈,持续提升系统性能。
图5为本申请一实施例提供的错别字处理装置的结构示意图,如图5所示,本实施例的装置500可以包括:第一获取模块510,第一处理模块520,第二处理模块530和第三处理模块540。
第一获取模块510,用于获取待检测语句。
第一处理模块520,用于根据错词词典的错别字识别和纠正模型,获取所述待检测语句中的第一错别字纠正语句。
第二处理模块530,用于根据深度学习的错别字识别和纠正模型,获取所述待检测语句中的第二错别字纠正语句。
第三处理模块540,用于根据所述第一错别字纠正语句与所述第二错别字纠正语句,获得待检测语句的目标纠正语句。
可选地,所述第三处理模块540,具体用于:
从所述第一错别字纠正语句与所述第二错别字纠正语句中获取待评估语句。
判断所述待评估语句的改动位置的字是否满足预设过滤规则。
若是,则确定所述目标纠正语句为所述待检测语句本身。
若否,则确定所述目标纠正语句为所述待评估语句。
可选地,所述判断所述待评估语句的改动位置的字是否满足预设过滤规则,包括以下至少一项:
判断所述改动位置的字是否属于预设常识库,所述预设常识库包括古诗词。
判断所述改动位置的字是否属于命名实体。
判断所述改动位置的字是否位于预设字符所对应的位置。
判断所述改动位置的字是否符合上下文一致。
若上述任一项判断为是,则确定所述待评估语句的改动位置的字满足预设过滤规则。
可选地,所述第三处理模块540,还用于:
若所述第一错别字纠正语句与所述第二错别字纠正语句相同,则获取所述第一错别字纠正语句或所述第二错别字纠正语句为待评估语句。
若所述第一错别字纠正语句与所述第二错别字纠正语句不相同,则通过语言评分模型,分别获取所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,并根据所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,获取所述第一错别字纠正语句或所述第二错别字纠正语句中获取待评估语句。
可选地,所述第二处理模块530,具体用于:
将所述待检测语句输入深度学习的错别字识别和纠正模型中,获取所述深度学习的错别字识别和纠正模型输出的第三错别字纠正语句。
若所述第三错别字纠正语句中纠正的错别字为通用错别字,则将所述第三错别字纠正语句确定为所述第二错别字纠正语句。
可选地,所述第二处理模块520,还用于:
若所述第三错别字纠正语句中纠正的错别字为预设特殊类型错别字,则将所述第三错别字纠正语句确定为所述待检测语句的目标纠正语句。
其中,所述预设特殊类型错别字包括以下至少一项:的地得、做作、多字少字、易混淆词。
可选地,所述装置500,还包括:输出模块550,第二获取模块560,第四处理模块570。
所述输出模块550,用于输出所述待检测语句的目标纠正语句。
所述第二获取模块560,用于获取用户基于所述待检测语句的目标纠正语句输入的所述待检测语句的更改语句。
所述第四处理模块570,用于根据所述更改语句,更新所述错词词典的错别字识别和纠正模型和深度学习的错别字识别和纠正模型。
本实施例的装置,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请一实施例提供的电子设备的结构示意图,如图6所示,本实施例的电子设备600可以包括:存储器610、处理器620。
存储器610,用于存储程序指令;
处理器620,用于调用并执行所述存储器中的程序指令,执行:
获取待检测语句。
根据错词词典的错别字识别和纠正模型,获取所述待检测语句中的第一错别字纠正语句。
根据深度学习的错别字识别和纠正模型,获取所述待检测语句中的第二错别字纠正语句。
根据所述第一错别字纠正语句与所述第二错别字纠正语句,获得待检测语句的目标纠正语句。
可选地,所述处理器620,具体用于:
从所述第一错别字纠正语句与所述第二错别字纠正语句中获取待评估语句。
判断所述待评估语句的改动位置的字是否满足预设过滤规则。
若是,则确定所述目标纠正语句为所述待检测语句本身。
若否,则确定所述目标纠正语句为所述待评估语句。
可选地,所述判断所述待评估语句的改动位置的字是否满足预设过滤规则,包括以下至少一项:
判断所述改动位置的字是否属于预设常识库,所述预设常识库包括古诗词。
判断所述改动位置的字是否属于命名实体。
判断所述改动位置的字是否位于预设字符所对应的位置。
判断所述改动位置的字是否符合上下文一致。
若上述任一项判断为是,则确定所述待评估语句的改动位置的字满足预设过滤规则。
可选地,所述处理器620,还用于:
若所述第一错别字纠正语句与所述第二错别字纠正语句相同,则获取所述第一错别字纠正语句或所述第二错别字纠正语句为待评估语句。
若所述第一错别字纠正语句与所述第二错别字纠正语句不相同,则通过语言评分模型,分别获取所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,并根据所述第一错别字纠正语句的评分与所述第二错别字纠正语句的评分,获取所述第一错别字纠正语句或所述第二错别字纠正语句中获取待评估语句。
可选地,所述处理器620,具体用于:
将所述待检测语句输入深度学习的错别字识别和纠正模型中,获取所述深度学习的错别字识别和纠正模型输出的第三错别字纠正语句。
若所述第三错别字纠正语句中纠正的错别字为通用错别字,则将所述第三错别字纠正语句确定为所述第二错别字纠正语句。
可选地,所述处理器620,还用于:
若所述第三错别字纠正语句中纠正的错别字为预设特殊类型错别字,则将所述第三错别字纠正语句确定为所述待检测语句的目标纠正语句。
其中,所述预设特殊类型错别字包括以下至少一项:的地得、做作、多字少字、易混淆词。
可选地,所述处理器620,还用于:
输出所述待检测语句的目标纠正语句。
获取用户基于所述待检测语句的目标纠正语句输入的所述待检测语句的更改语句。
根据所述更改语句,更新所述错词词典的错别字识别和纠正模型和深度学习的错别字识别和纠正模型。
本实施例的电子设备,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请另一实施例提供的终端设备的结构示意图,该终端设备可以是移动电话,计算机,平板设备等。
终端设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(I/O)接口712,传感器组件714,以及通信组件716。
处理组件702通常控制终端设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在终端设备700的操作。这些数据的示例包括用于在终端设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为终端设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为终端设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述终端设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板 (TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当终端设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当终端设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为终端设备700提供各个方面的状态评估。例如,传感器组件714可以检测到终端设备700的打开/关闭状态,组件的相对定位,例如所述组件为终端设备700的显示器和小键盘,传感器组件714还可以检测终端设备700或终端设备700一个组件的位置改变,用户与终端设备700接触的存在或不存在,终端设备700方位或加速/减速和终端设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于终端设备700和其他设备之间有线或无线方式的通信。终端设备700可以接入基于通信标准的无线网络,如WiFi,2G 或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA) 技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备700可以被一个或多个应用专用集成电路 (ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由终端设备700的处理器720 执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行上述终端设备的错别字处理方法。
图8为本申请另一实施例提供的服务器的结构示意图。参照图8,服务器800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器 832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述各方法实施例中服务器的方案。
服务器800还可以包括一个电源组件826被配置为执行服务器800的电源管理,一个有线或无线网络接口850被配置为将服务器800连接到网络,和一个输入输出(I/O)接口858。服务器800可以操作基于存储在存储器832 的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM, FreeBSDTM或类似。
一种非临时性计算机可读存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述服务器的错别字处理方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。