文本的处理方法、装置、电子设备及可读存储介质与流程

文档序号:29852571发布日期:2022-04-30 08:18阅读:70来源:国知局
文本的处理方法、装置、电子设备及可读存储介质与流程

1.本技术涉及人工智能技术领域,特别涉及一种文本的处理方法、装置、电子设备及可读存储介质。


背景技术:

2.在人工智能领域,通常需要对文本进行语义解析、文字识别等处理。在一些场景中,由于文本是人工手动输入的,所以可能存在错误,如果基于这样的文本进行语义解析,容易导致出现解析错误或者无法解析的问题。
3.为此,在对文本进行语义解析之前,可以对文本进行纠错处理。在相关技术中,一般使用两步法进行纠错处理。首先,通过序列学习的方式检测错误文本的位置,然后通过掩码模型对错误文本进行掩码处理,并产生候选字,如此就可以基于候选字重新确定文本。
4.然而,上述提供的纠错处理方法中,掩码模型的纠错能力有限,所以容易导致纠错效果较差。


技术实现要素:

5.本技术实施例提供了一种文本的处理方法、装置、电子设备及可读存储介质,可以解决相关技术中由于掩码模型的纠错能力有限导致纠错效果较差的问题。所述技术方案如下:
6.第一方面,提供了一种文本的处理方法,所述方法包括:
7.对待处理的第一文本进行错误检测;
8.若经错误检测确定所述第一文本存在错误且所述错误属于第一错误类型,则从多个纠错模型中,确定与所述第一错误类型对应的第一纠错模型,所述多个纠错模型中的不同纠错模型能够对不同错误类型的错误文本进行纠错;
9.通过所述第一纠错模型对所述第一文本进行纠错处理,输出候选文本;
10.根据所述候选文本,确定目标文本。
11.作为本技术的一个示例,所述根据所述候选文本,确定目标文本,包括:
12.分别确定所述第一文本的困惑度和所述候选文本的困惑度;
13.从所述第一文本和所述候选文本中,选择困惑度最小的文本;
14.将从所述第一文本和所述候选文本中选择的文本,确定为所述目标文本。
15.作为本技术的一个示例,所述通过所述第一纠错模型对所述第一文本进行纠错处理,输出候选文本之后,还包括:
16.继续对当前得到的候选文本进行错误检测;
17.若得到的候选文本中存在错误,则从所述多个纠错模型中,确定与得到的候选文本的第二错误类型对应的第二纠错模型,所述第二错误类型是通过错误检测确定;
18.通过所述第二纠错模型对得到的候选文本进行纠错处理,再次得到候选文本,并返回至所述继续对当前得到的候选文本进行错误检测的操作,直到得到的候选文本中不存
在错误时,结束操作。
19.作为本技术的一个示例,所述第一错误类型包括替换错误类型、缺字错误类型、缺词错误类型、倒置错误类型中的任意一种,其中,所述替换错误类型是指文本内容被同音词、同音字、形近字、近音字中的任一种替换,所述倒置错误类型是指文本内容的位置发生颠倒。
20.作为本技术的一个示例,若所述第一错误类型为所述替换错误类型,则所述第一纠错模型为替换纠错模型;
21.所述替换纠错模型的训练方式包括:
22.获取第一训练样本集,所述第一训练样本集中包括多个第一样本数据对,每个第一样本数据对包括正确语句样本和所述正确语句样本对应的替换错误语句样本,所述替换错误语句样本是对所述正确语句样本中的部分文本内容按照同音词、同音字、形近字、近音字中的任一种方式进行替换后生成的;
23.基于所述第一训练样本集,对经过预训练的第一macbert模型进行训练,以得到所述替换纠错模型。
24.作为本技术的一个示例,若所述第一错误类型为所述缺字错误类型,则所述第一纠错模型为缺字纠错模型;
25.所述缺字纠错模型的训练方式包括:
26.获取第二训练样本集,所述第二训练样本集中包括多个第二样本数据对,每个第二样本数据对包括完整语句样本和所述完整语句样本对应的缺字错误语句样本,所述缺字错误语句样本是将所述完整语句样本中的字进行删除处理后生成的;
27.基于所述第二训练样本集,对经过预训练的第二macbert模型进行训练,以得到所述缺字纠错模型。
28.作为本技术的一个示例,若所述第一错误类型为所述置换错误类型,则所述第一纠错模型为置换纠错模型;
29.所述置换纠错模型的训练方式包括:
30.获取第三训练样本集,所述第三训练样本集中包括多个第三样本数据对,每个第三样本数据对包括正确语句样本和所述正确语句样本对应的置换错误语句样本,所述置换错误语句样本是对所述正确语句样本中的部分文本内容进行位置置换后生成的;
31.基于所述第三训练样本集,对经过预训练的第三macbert模型进行训练,以得到所述置换纠错模型。
32.作为本技术的一个示例,所述对待处理的第一文本进行错误检测,包括:
33.调用错误诊断模型,所述错误诊断模型能够检测出任意一个错误文本的错误类型;
34.通过所述错误诊断模型,对所述第一文本进行错误检测,以确定所述第一错误类型。
35.第二方面,提供了一种文本的处理装置,所述装置包括:
36.检测模块,用于对待处理的第一文本进行错误检测;
37.第一确定模块,用于若经错误检测确定所述第一文本存在错误且所述错误属于第一错误类型,则从多个纠错模型中,确定与所述第一错误类型对应的第一纠错模型,所述多
个纠错模型中的不同纠错模型能够对不同错误类型的错误文本进行纠错;
38.纠错模块,用于通过所述第一纠错模型对所述第一文本进行纠错处理,输出候选文本;
39.第二确定模块,用于根据所述候选文本,确定目标文本。
40.作为本技术的一个示例,所述第二确定模块用于:
41.分别确定所述第一文本的困惑度和所述候选文本的困惑度;
42.从所述第一文本和所述候选文本中,选择困惑度最小的文本;
43.将从所述第一文本和所述候选文本中选择的文本,确定为所述目标文本。
44.作为本技术的一个示例,所述纠错模块还用于:
45.继续对当前得到的候选文本进行错误检测;
46.若得到的候选文本中存在错误,则从所述多个纠错模型中,确定与得到的候选文本的第二错误类型对应的第二纠错模型,所述第二错误类型是通过错误检测确定;
47.通过所述第二纠错模型对得到的候选文本进行纠错处理,再次得到候选文本,并返回至所述继续对当前得到的候选文本进行错误检测的操作,直到得到的候选文本中不存在错误时,结束操作。
48.作为本技术的一个示例,所述第一错误类型包括替换错误类型、缺字错误类型、缺词错误类型、倒置错误类型中的任意一种,其中,所述替换错误类型是指文本内容被同音词、同音字、形近字、近音字中的任一种替换,所述倒置错误类型是指文本内容的位置发生颠倒。
49.作为本技术的一个示例,若所述第一错误类型为所述替换错误类型,则所述第一纠错模型为替换纠错模型;
50.所述纠错模块还用于对所述替换纠错模型进行训练,具体包括:
51.获取第一训练样本集,所述第一训练样本集中包括多个第一样本数据对,每个第一样本数据对包括正确语句样本和所述正确语句样本对应的替换错误语句样本,所述替换错误语句样本是对所述正确语句样本中的部分文本内容按照同音词、同音字、形近字、近音字中的任一种方式进行替换后生成的;
52.基于所述第一训练样本集,对经过预训练的第一macbert模型进行训练,以得到所述替换纠错模型。
53.作为本技术的一个示例,若所述第一错误类型为所述缺字错误类型,则所述第一纠错模型为缺字纠错模型;
54.所述纠错模块还用于对所述缺字纠错模型进行训练,具体包括:
55.获取第二训练样本集,所述第二训练样本集中包括多个第二样本数据对,每个第二样本数据对包括完整语句样本和所述完整语句样本对应的缺字错误语句样本,所述缺字错误语句样本是将所述完整语句样本中的字进行删除处理后生成的;
56.基于所述第二训练样本集,对经过预训练的第二macbert模型进行训练,以得到所述缺字纠错模型。
57.作为本技术的一个示例,若所述第一错误类型为所述置换错误类型,则所述第一纠错模型为置换纠错模型;
58.所述纠错模块还用于对置换纠错模型进行训练,具体包括:
59.获取第三训练样本集,所述第三训练样本集中包括多个第三样本数据对,每个第三样本数据对包括正确语句样本和所述正确语句样本对应的置换错误语句样本,所述置换错误语句样本是对所述正确语句样本中的部分文本内容进行位置置换后生成的;
60.基于所述第三训练样本集,对经过预训练的第三macbert模型进行训练,以得到所述置换纠错模型。
61.作为本技术的一个示例,所述检测模块用于:
62.调用错误诊断模型,所述错误诊断模型能够检测出任意一个错误文本的错误类型;
63.通过所述错误诊断模型,对所述第一文本进行错误检测,以确定所述第一错误类型。
64.第三方面,提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。
65.第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现第一方面中所述的方法的步骤。
66.第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面中所述的方法的步骤。
67.本技术实施例提供的技术方案带来的有益效果是:
68.对待处理的第一文本进行错误检测,若第一文本存在错误,说明第一文本需要纠正,此时,可以从多个纠错模型中,确定与第一错误类型对应的第一纠错模型,其中第一错误类型是经错误检测确定的,多个纠错模型中的不同纠错模型能够对不同错误类型的错误文本进行纠错。通过第一纠错模型对第一文本进行纠错处理,输出候选文本。根据候选文本,确定目标文本。如此,通过确定第一文本中的错误的错误类型,并针对该错误类型,采用对应的纠错模型进行纠错,使得纠错具有一定的针对性,从而可以提高纠错的有效性,进而提高纠错效果。
附图说明
69.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
70.图1是根据一示例性实施例示出的一种电子设备的内部结构示意图;
71.图2是根据一示例性实施例示出的一种文本的处理方法的流程示意图;
72.图3是根据另一示例性实施例示出的一种文本的处理方法的流程示意图;
73.图4是根据一示例性实施例示出的一种替换纠错模型的输入输出示意图;
74.图5是根据一示例性实施例示出的一种文本的处理方法的流程示意图;
75.图6是根据一示例性实施例示出的一种文本的处理装置的结构示意图;
76.图7是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
77.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
78.应当理解的是,本技术提及的“多个”是指两个或两个以上。在本技术的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
79.在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
80.在对本技术提供的文本的处理方法进行详细介绍之前,先对本技术实施例涉及的应用场景、实施环境分别进行介绍。
81.首先,对本技术实施例涉及的几种可能的应用场景进行简单介绍。
82.在一个实施例中,在提供有服务热线的平台上,当用户有业务诉求时,可以拨打某服务热线。对于业务人员来说,在接听电话的过程中,为了便于后续能够高效率地解决用户的业务诉求,通常可以在电脑之类的设备上对通话内容进行记录,这里将记录的文本称为第一文本。如此,后续就可以基于第一文本进行语义解析,以确定第一文本的内容主题,从而根据内容主题,将用户的业务诉求提交给对应的部门来解决。
83.在另一个实施例中,在会议场所,为了能够记录会议的内容,通常由会议记录人员通过笔记本电脑之类的设备进行会议记录,这里可以将记录的文本称为第一文本。在后续工作总结中,可以对第一文本进行语义解析,以确定会议的核心思想,从而为工作总结等事宜提供条件。
84.在又一个实施例中,随着智能终端技术的快速发展,各种不同类型的线上学习平台得到广泛应用。用户在学习的过程中,可能会通过平板、笔记本电脑等设备记录笔记,这里将记录的笔记文本称为第一文本。后续可以对第一文本进行语义解析等处理,以对学习内容进行归纳总结。
85.在上述几种可能的应用场景中,由于第一文本是人工手动输入的,所以通常大概率会存在一些错误,譬如第一文本中存在缺字、缺词的情况,再如第一文本中某个或某些词语错输入为近音词语,比如将“仅”错输入为“尽”。如此以来,将可能影响后续的语义解析等处理效果。为此,本技术实施例提供了一种文本的处理方法,该方法可以尽可能的得到正确的文本内容,其具体实现可以参见下文各个实施例。
86.接下来,对本技术实施例涉及的实施环境进行简单介绍。
87.本技术实施例提供的方法可以由电子设备执行。在一个实施例中,该电子设备可
以包括但不限于平板电脑、笔记本电脑、台式机之类的设备,本技术实施例对此不作限定。
88.该电子设备中可以运行多个模型。示例性地,请参考图1,该电子设备中运行的多个模型主要包括错误诊断模型和多个纠错模型。在一个实施例中,可以将图1所示的架构称为纠错系统。
89.其中,错误诊断模型能够检测出任意一个错误文本的错误类型。在本技术实施例中,错误诊断模型能够对第一文本进行纠错检测,以确定第一文本是否存在错误,以及在确定第一文本存在错误时确定第一文本的错误类型。
90.多个纠错模型中的不同纠错模型能够对不同错误类型的错误文本进行纠错。在一个实施例中,如图1所示,多个纠错模型包括但不限于替换纠错模型、缺字纠错模型、缺词纠错模型、倒置纠错模型。
91.替换纠错模型能够对替换错误类型的错误文本进行纠错处理。其中,替换错误类型是指文本内容被同音词、同音字、形近字、近音字中的任一种替换,譬如将“指示”替换成“只是”等。
92.缺字纠错模型能够对缺字错误类型的错误文本进行纠错处理。其中,缺字错误类型是指文本中缺少字,譬如将文本中的“免费”错输入为“免”,也即缺失“费”字。
93.缺词纠错模型能够对缺词错误类型的错误文本进行纠错处理。其中,缺词错误类型是指文本中缺少词语,譬如文本中的“多个”一词缺失。
94.倒置纠错模型能够对倒置错误类型的错误文本进行纠错处理。其中,倒置错误类型是指文本内容的位置发生颠倒,譬如文本内容“上下”置换成“下上”。
95.当然需要说明的是,图1仅是示例性的示出了四个纠错模型,在另一实施例中,多个纠错模型还可能包括其他类型的纠错模型,譬如还可能包括冗余纠错模型等。冗余纠错模型能够对冗余错误类型的错误文本进行纠错处理,冗余错误类型是指文本中存在冗余内容。
96.作为示例而非限定,电子设备还包括评估模型,评估模型可以用于对各个纠错模型的纠错结果进行评估,以根据评估结果确定是否选用纠错后的文本作为最终的输出。具体实现可以参见如下实施例。
97.基于图1所示的实施环境,接下来对本技术实施例提供的文本的处理方法流程进行详细介绍。请参考图2,图2是根据一示例性实施例示出的一种文本的处理方法的流程示意图,该方法可以包括如下几个步骤:
98.步骤201:对待处理的第一文本进行错误检测。
99.在一个实施例中,对待处理的一个文本进行错误检测的具体实现可以包括:调用错误诊断模型,错误诊断模型能够检测出任意一个错误文本的错误类型。通过错误诊断模型,对第一文本进行错误检测,以确定第一错误类型。
100.第一文本可能存在错误,也可能不存在错误,为了进一步判断,电子设备可以对第一文本进行预处理,以将第一文本转化成向量。然后,请参考图3,电子设备调用错误诊断模型,并将对第一文本转换后得到的向量输入至错误诊断模型中,由错误诊断模型进行错误检测,以确定第一文本中是否存在错误,以及若第一文本中存在错误,错误诊断模型确定第一文本中的错误的第一错误类型。也就是说,错误诊断模型能够检测出任意一个文本中是否存在错误以及在存在错误的情况下可以确定对应的错误类型。如此,通过错误诊断模型
进行错误检测,相比于其他方式可以提高检测效率。
101.作为本技术的一个示例,输入至错误诊断模型的文本长度可以要求小于或等于预设长度阈值。该预设长度阈值可以根据实际需求进行设置,譬如预设长度阈值为512个字符,也即输入至错误诊断模型的文本的最大长度是512。若第一文本的长度大于预设长度阈值,则可以将第一文本进行断句处理,以将第一文本拆分成多个文本片段,然后通过错误诊断模型分别对多个文本片段中的各个文本片段进行错误检测。
102.作为本技术的一个示例,第一错误类型可能包括替换错误类型、缺字错误类型、缺词错误类型、倒置错误类型中的任意一种。
103.接下来通过表1对几种不同的错误类型进行举例介绍。
104.表1
[0105][0106]
在一个示例中,第一文本的正确内容应该是“装修就是妥妥的粤式大排档风格”,若第一文本被记录为“装置就是妥妥的粤式大排档凤阁”,不难理解,“风格”被替换成了“凤阁”,所以第一文本存在替换错误。该种情况下,电子设备在通过错误诊断模型对第一文本进行错误检测后,错误诊断模型输出第一标签,第一标签用于指示第一文本存在错误且错误类型是替换错误类型。
[0107]
在又一个示例中,第一文本的正确内容应该是“他的直播分为上下两场”,若第一文本被记录为“他的直播分为下上两场”,不难理解,“上下”一次被错误置换为“下上”,所以第一文本存在倒置错误。该种情况下,电子设备在通过错误诊断模型对第一文本进行错误检测后,错误诊断模型输出第二标签,第二标签用于指示第一文本存在错误且错误类型是倒置错误类型。
[0108]
在另一个示例中,第一文本的正确内容应该是“a场所应该对公众免费开放”,若第一文本被记录为“a场所应该对公众免开放”,不难理解,“免费”中缺少“费”字,所以第一文本存在缺字错误。该种情况下,电子设备在通过错误诊断模型对第一文本进行错误检测后,错误诊断模型输出第三标签,第三标签用于指示第一文本存在错误且错误类型是缺字错误类型。
[0109]
在又一个实施例中,第一文本的正确内容应该是“需要对b产品多次进行检测”,若第一文本被记录为“需要对b产品进行检测”,不难理解,缺失了“多次”一词,所以第一文本
存在缺词错误。该种情况下,电子设备通过错误诊断模型对第一文本进行错误检测后,错误诊断模型输出第四标签,第四标签用于指示第一文本存在错误且错误类型是缺词错误类型。
[0110]
需要说明的是,上文仅是以第一错误类型包括替换错误类型、缺字错误类型、缺词错误类型、倒置错误类型中的任意一种为例进行说明的。在另一实施例中,第一错误类型还可能是但不限于冗余错误类型、无序错误类型,本技术实施例对此不作限定。
[0111]
另外,上述错误诊断模型是预先经过训练得到的。在一个实施例中,错误诊断模型的训练过程可以包括:获取第四训练样本集,第四训练样本集中包括多个第四样本数据,多个第四样本数据中的每个第四样本数据包括错误语句样本和该错误语句样本对应的错误类型标签。然后,基于第四训练样本集对经过预训练的第四macbert模型进行训练,以得到错误诊断模型。
[0112]
作为示例而非限定,可以利用一些新闻语料,根据不同的错误类型构造出多个错误语句样本,并生成每个错误语句样本对应的错误类型标签,从而得到第四训练样本集。不同的错误语句样本的构造方法可以为:
[0113]
1、对于替换错误类型的错误语句样本的构造,每给定一个正确文本(譬如一个语句),可以随机地选取一个词语或一个字进行替换,将替换后得到的各个文本作为错误语句样本。然后,将各个错误语句样本与替换错误标签作为一组第四样本数据。其中,针对不同的正确文本,在替换时,可以以一定的概率分别进行同音字、同音词、形近字、近音字替换,使得最终得到的所有替换错误类型的错误语句样本中,同音字、同音词、形近字、近音字的替换比例较接近,譬如替换比例为1:1:1:1。
[0114]
2、对于倒置错误类型的错误语句样本的构造,每给定一个正确文本,可以随机地选取一个字(或者词语),将其与相邻的字(或者词语)的位置进行交换,以得到倒置错误类型的错误语句样本。然后,将各个错误语句样本与倒置错误标签作为一组第四样本数据。
[0115]
3、对于缺字错误类型的错误语句样本的构造,每给定一个正确文本(譬如一个完整的语句),可以随机地删除其中的一个字,以得到缺字错误类型的错误语句样本。然后,将各个错误语句样本与缺字错误标签作为一组第四样本数据。
[0116]
4、在构造缺词错误类型的错误语句样本时,每给定一个正确文本(譬如一个完整的语句),可以随机地删除其中一个词语,以得到缺词错误类型的错误语句样本。然后,将各个错误语句样本与缺词错误标签作为一组第四样本数据。
[0117]
另外,为了能够检测出任意文本是否存在错误,在第四训练样本集中还包括多个正确语句样本。
[0118]
作为本技术的一个示例,在第四训练样本集中,不同类型的第四样本数据的数量比例可以是等比例,比如上述四种错误类型的错误语句样本以及正确语句样本的数量比例是1:1:1:1:1,如此可以有助于模型训练,加速收敛。
[0119]
在本技术实施例中,可以选用macbert模型作为待训练的模型。然而在实施中,如果基于原始的macbert模型进行训练,则需要较长的训练时间和大量的训练样本,所以,为了能够提高训练效率,电子设备可以选用已经过预训练的第四macbert模型作为待训练的模型。经过预训练的第四macbert模型是指已经过训练且具备一定功能的模型,譬如经过预训练的第四macbert模型能够确定任意的两个语句是否属于同一段落,或者对添加掩码的
句子生成候选词进行补全。电子设备基于第四训练样本集,对经过预训练的第四macbert模型进行训练,从而得到能够对任意文本进行错误检测的错误诊断模型。第四macbert模型中包括一个多层的transformer编码器网络和一个多层的全连接网络,transformer编码器网络用于语义特征提取,全连接网络用于错误类型分类,损失函数可以采用交叉熵。
[0120]
步骤202:若经错误检测确定第一文本存在错误且错误属于第一错误类型,则从多个纠错模型中,确定与第一错误类型对应的第一纠错模型,多个纠错模型中的不同纠错模型能够对不同错误类型的错误文本进行纠错。
[0121]
作为本技术的一个示例,多个纠错模型包括但不限于替换纠错模型、倒置纠错模型、缺字纠错模型、缺词纠错模型中的至少两种。多个纠错模型中的各个纠错模型均是预先经过训练得到的,关于各个纠错模型的训练过程可以参见下文中其他实施例。
[0122]
请参考图3,当经错误检测确定第一文本存在错误且确定第一文本的错误类型是第一错误类型时,为了能够有效地、具有针对性地对第一文本进行纠错,电子设备从多个纠错模型中确定能够对第一错误类型的错误文本进行纠错的第一纠错模型。
[0123]
譬如,假设第一文本是“装修就是妥妥的粤式大排档凤阁”,经过纠错检测后确定第一文本的错误类型是替换错误,则电子设备从多个纠错模型中确定替换纠错模型,并将替换纠错模型作为第一纠错模型。
[0124]
再如,假设第一文本是“他的直播分为下上两场”,经过纠错检测后确定第一文本的错误类型是倒置错误,则电子设备从多个纠错模型中确定倒置纠错模型,并将倒置纠错模型作为第一纠错模型。
[0125]
又如,假设第一文本是“a场所应该对公众免开放”,经过纠错检测后确定第一文本的错误类型的缺字错误,则电子设备从多个纠错模型中确定缺字纠错模型,并将缺字纠错模型作为第一纠错模型。
[0126]
步骤203:通过第一纠错模型对第一文本进行纠错处理,输出候选文本。
[0127]
在实施中,电子设备对第一文本进行预处理,将第一文本的每个字通过编码转化成字向量,假如一个句子有k个字,则最后可以得到k个字向量。然后将k个字向量输入至第一纠错模型,由第一纠错模型进行纠错处理,输出k个新的字向量,这些字向量经过解码后即可得到纠正后的字,并输出候选文本。示例性地,请参考图4,将“我时刻私锁这个问题。”转化成向量,然后输入至第一纠错模型后,由第一纠错模型进行纠错处理后,得到“我时刻思索这个问题。”这个候选文本。
[0128]
步骤204:根据候选文本,确定目标文本。
[0129]
目标文本是指后续要用于执行其他操作的文本。譬如目标文本可以用于后续进行语义解析、文字识别等处理。
[0130]
在一个实施例中,根据候选本文确定目标文本的具体实现可以包括:分别确定第一文本的困惑度和候选文本的困惑度。从第一文本和候选文本中,选择困惑度最小的文本。将从第一文本和候选文本中选择的文本,确定为目标文本。
[0131]
困惑度是一种评价指标,可用于判断一个句子是人说出的话的概率。文本的困惑度越低,说明该文本越接近常规语句,或者说越接近人常规的说话风格。
[0132]
在实施中,可以通过图1中的评估模型确定困惑度,譬如该评估模型可以为n-gram语言模型。n-gram语言模型可以是预先经过训练的模型,在一个示例中,以采用3-gram语言
模型为例,在训练过程中,可以获取第六训练样本集,譬如选择新闻语料作为第六训练样本集,第六训练样本集中包括多个文本样本。对于第六训练样本集中的每个文本样本,通过3-gram语言模型统计每相邻三个字在第六训练样本集中出现的次数,以及统计每相邻两个字在第六训练样本集中出现的次数。假设一个文本样本由l个字组成,记为s=[w1,w2,w3,...,wl],那么3-gram语言模型可以通过如下公式(1)计算出这个文本样本的概率:
[0133][0134]
其中,p(s)表示文本样本的概率,p(wi|w
i-2
,w
i-1
)表示在出现w
i-1
,w
i-2
这两个字的情况下,下一个字是wi的概率,可以通过如下公式(2)确定:
[0135][0136]
其中,c(w
i-2
,w
i-1
)表示第六训练样本集中w
i-2
,w
i-1
这两个字组成的词出现的次数,为第六训练样本集中w
i-2
,w
i-1
,wi这三个字组成的词出现的次数。
[0137]
在使用3-gram语言模型计算困惑度时,给定一个文本s,可以使用公式(1)计算该文本s的概率p(s),然后通过如下公式(3)确定文本s的困惑度:
[0138][0139]
其中,ppl为文本s的困惑度。不难理解,文本s的概率越大,困惑度越低。
[0140]
由于纠错模型可能存在一定概率的纠错性能差的问题,因此,请参考图3,在得到候选文本后,可以通过上述评估模型确定候选文本的困惑度和第一文本的困惑度,之后,将这两者进行比较,以对纠错模型的纠错效果进行评估。如果候选文本的困惑度小于第一文本的困惑度,则说明纠错模型的纠错结果较好,此时可以将候选文本作为目标文本。反之,如果候选文本的困惑度大于第一文本,则说明纠错模型的纠错结果较差,也就是说,经过纠错处理后的文本可能比原始的文本的正确性低,更难以解读,该种情况下,电子设备可以将第一文本作为目标文本。
[0141]
值得一提的是,在得到候选文本后,电子设备通过比较候选文本的困惑度与第一文本的困惑度,确定最终将哪个作为目标文本,如此可以提高纠错系统的准确度。
[0142]
需要说明的是,上述根据候选文本确定目标文本的具体实现仅是示例性的,在另一实施例中,由于候选文本是对第一文本进行纠错处理后得到的,所以大概率会比第一文本的正确性高,因此,电子设备也可以直接将候选文本确定为目标文本。
[0143]
另外,请参考图3,若对第一文本进行纠错检测后确定第一文本不存在错误,则可以将第一文本直接确定为目标文本,也即输出的是第一文本。
[0144]
在本技术实施例中,对待处理的第一文本进行错误检测,若第一文本存在错误,说明第一文本需要纠正,此时,可以从多个纠错模型中,确定与第一错误类型对应的第一纠错模型,其中第一错误类型是经错误检测确定的,多个纠错模型中的不同纠错模型能够对不同错误类型的错误文本进行纠错。通过第一纠错模型对第一文本进行纠错处理,输出候选文本。根据候选文本,确定目标文本。如此,通过确定第一文本中的错误的错误类型,并针对该错误类型,采用对应的纠错模型进行纠错,使得纠错具有一定的针对性,从而可以提高纠错的有效性,进而提高纠错效果。
[0145]
需要说明的是,上述是以对第一文本中存在的一种错误类型的错误文本进行纠正为例进行说明。在另一实施例中,第一文本中还可能存在至少两种错误类型的错误,此时,还可以对至少两种错误类型中的每种错误类型的错误均进行纠正处理。请参考图5,图5是根据另一示例性实施例提供的一种文本的处理方法的流程示意图,该方法可以包括如下内容:
[0146]
501:对待处理的第一文本进行错误检测。
[0147]
其具体实现可以参见上述图2所示实施例中的步骤201,这里不再重复介绍。
[0148]
502:若经错误检测确定第一文本存在错误且错误属于第一错误类型,则从多个纠错模型中,确定与第一错误类型对应的第一纠错模型。
[0149]
多个纠错模型中的不同纠错模型能够对不同错误类型的错误文本进行纠错。
[0150]
在一个实施例中,第一文本中包括多种错误类型的错误,在每次错误检测过程中,可以通过错误诊断模型确定一种错误类型。譬如,假设第一文本包括替换错误和置换错误。若通过错误诊断模型对第一文本进行错误检测后,确定第一文本的错误类型是替换错误类型,则电子设备从多个纠错模型中,确定替换纠错模型。
[0151]
503:通过第一纠错模型对第一文本进行纠错处理,输出候选文本。
[0152]
继续以上述例子为例,电子设备通过替换纠错模型对第一文本进行纠错处理,输出候选文本,不难理解,此时得到的候选文本中还可能包括置换错误。
[0153]
504:继续对当前得到的候选文本进行错误检测。
[0154]
由于候选文本还可能存在其他类型的错误,所以,电子设备可以继续对候选文本进行错误检测。在实施中,可以继续通过错误诊断模型对候选文本进行错误检测,错误诊断模型能够确定候选文本是否存在错误以及若存在错误,则可以确定该错误的错误类型,这里将该错误类型称为第二错误类型。
[0155]
505:根据错误检测结果判断候选文本是否存在错误。
[0156]
如果候选文本存在错误,则进入如下步骤506,如果候选本文不存在错误,则可以进入如下步骤508。
[0157]
506:从多个纠错模型中,确定与得到的候选文本的第二错误类型对应的第二纠错模型,第二错误类型是通过错误检测确定。
[0158]
示例性地,若候选文本中还存在置换错误,则电子设备从多个纠错模型中,选择置换纠错模型,将置换纠错模型作为第二纠错模型。
[0159]
507:通过第二纠错模型对得到的候选文本进行纠错处理,再次得到候选文本。
[0160]
譬如,电子设备可以继续对候选文本中存在的置换错误进行纠错处理,再次得到候选文本。
[0161]
为了确定该候选文本中是否还存在错误,电子设备返回至继续对当前得到的候选文本进行错误检测的操作,也即返回至步骤504,也即继续对当前得到的候选文本进行错误检测。直到得到的候选文本中不存在错误时,说明将候选文本中存在的各种类型的错误均已纠正,此时结束操作,也即结束错误检测操纵和纠错操作。之后,进入如下步骤508。
[0162]
在一个实施例中,为了避免系统陷入死循环,可以限定一个句子最多出现预设数量个错误。当一个句子进行预设数量次错误检测之后,即使仍然存在错误,也不再进行错误纠正,直接进入下一个步骤并结束操作。其中,预设数量可以根据实际需求进行设置,譬如
预设数量是10。
[0163]
508:根据当前得到的候选文本,确定目标文本。
[0164]
针对当前得到的候选文本,至少是经错误诊断模型进行错误检测后确定已不存在错误的,也即经错误诊断模型确定当前得到的候选文本中不包括上述任意一种错误类型的错误。如此,即可基于该候选文本确定目标文本。其具体实现可以参见上述图2所示实施例中的步骤204,这里不再重复介绍。
[0165]
在本技术实施例中,当第一文本中存在多种错误类型的错误时,可以多次对第一文本进行纠错,在每次纠错过程中对一种错误类型的错误进行纠正,经过多次处理后,可以将多种错误类型的错误均得以纠正。如此,通过多次纠正可以提高纠正系统的准确度。
[0166]
在另一个实施例中,对不同纠错模型的训练过程进行介绍。不同纠错模型在训练过程中使用的训练数据不相同,具体地:
[0167]
1、替换纠错模型的训练方式包括:获取第一训练样本集,第一训练样本集中包括多个第一样本数据对,每个第一样本数据对包括正确语句样本和正确语句样本对应的替换错误语句样本,替换错误语句样本是对正确语句样本中的部分文本内容按照同音词、同音字、形近字、近音字中的任一种方式进行替换后生成的。基于第一训练样本集,对经过预训练的第一macbert模型进行训练,以得到替换纠错模型。
[0168]
如前文所述,替换错误包含同音词、同音字、近形字、近音字之类的错误,其特点是错误文本与正确文本的长度是一致的,只是正确文本中部分的字(或者词语)被替换成错误的字(或者词语)。在训练过程中,可以基于一些正确语句样本(譬如公开的新闻预料等)中的各个正确语句样本,分别构造出各个正确语句样本对应的包含有替换错误的样本,得到替换错误语句样本。然后,将每个正确语句样本与对应的替换错误语句样本作为一个第一样本数据对,如此即可得到多个第一样本数据对,构成第一训练样本集。同样的,为了提高训练效率,节省训练时间,可以基于第一训练样本集,对已经过预训练的第一macbert模型进行训练,在一个示例中,使用交叉熵作为第一macbert模型的损失函数。通过训练,可以得到替换纠错模型,该替换纠错模型能自动识别出第一文本中错误的位置,并直接对错误进行纠正。
[0169]
2、缺字纠错模型的训练方式包括:获取第二训练样本集,第二训练样本集中包括多个第二样本数据对,每个第二样本数据对包括完整语句样本和完整语句样本对应的缺字错误语句样本,缺字错误语句样本是将完整语句样本中的字进行删除处理后生成的。基于第二训练样本集,对经过预训练的第二macbert模型进行训练,以得到缺字纠错模型。
[0170]
存在缺字的错误文本与正确文本的长度不一致的,正确文本的长度比错误文本的长度要长。作为本技术的一个示例,可以考虑缺失一个字的情况,如果缺失一个字,则正确文本比错误文本长一个字符。在训练过程中,可以基于一些完整语句样本(譬如公开的新闻预料等)中的各个完整语句样本,分别构造出各个完整语句样本对应的缺字错误语句样本。然后,将每个完整语句样本与对应的缺字错误语句样本作为一个第二样本数据对,如此即可得到多个第二样本数据对,构成第二训练样本集。同样的,为了提高训练效率,节省训练时间,可以基于第二训练样本集,对已经过预训练的第二macbert模型进行训练,在一个示例中,使用交叉熵作为第二macbert模型的损失函数。通过训练,可以得到得到缺字纠错模型,该缺字纠错模型能自动识别出第一文本中错误的位置,并直接对错误进行纠正。
[0171]
3、置换纠错模型的训练方式包括:获取第三训练样本集,第三训练样本集中包括多个第三样本数据对,每个第三样本数据对包括正确语句样本和正确语句样本对应的置换错误语句样本,置换错误语句样本是对正确语句样本中的部分文本内容进行位置置换后生成的。基于第三训练样本集,对经过预训练的第三macbert模型进行训练,以得到置换纠错模型。
[0172]
与替换错误类型,出现倒置错误的文本,其特点是错误文本与正确文本的长度是一致的,只是正确文本中部分文本内容的顺序发生颠倒。在训练过程中,可以基于一些正确语句样本(譬如公开的新闻预料等)中的各个正确语句样本,分别构造出各个正确语句样本对应的包含有置换错误的样本,得到置换错误语句样本。然后,将每个正确语句样本与对应的置换错误语句样本作为一个第三样本数据对,如此即可得到多个第三样本数据对,构成第三训练样本集。同样的,为了提高训练效率,节省训练时间,可以基于第三训练样本集,对已经过预训练的第三macbert模型进行训练,在一个示例中,使用交叉熵作为第三macbert模型的损失函数。通过训练,可以得到置换纠错模型,该第三纠错模型能自动识别出第一文本中错误的位置,并直接对错误进行纠正。
[0173]
4、缺词纠错模型的训练方式包括:获取第五训练样本集,第五训练样本集中包括多个第五样本数据对,每个第五样本数据对包括完整语句样本和完整语句样本对应的缺词错误语句样本,缺词错误语句样本是将完整语句样本中的词语进行删除处理后生成的。基于第五训练样本集,对经过预训练的第五macbert模型进行训练,以得到缺词纠错模型。
[0174]
存在缺词的错误文本与正确文本的长度不一致的,正确文本的长度比错误文本的长度要长。作为本技术的一个示例,可以考虑缺失一个词的情况,如果缺失一个词,则正确文本比错误文本长两个字符。在训练过程中,可以基于一些完整语句样本(譬如公开的新闻预料等)中的各个完整语句样本,分别构造出各个完整语句样本对应的缺词错误语句样本。然后,将每个完整语句样本与对应的缺词错误语句样本作为一个第五样本数据对,如此即可得到多个第五样本数据对,构成第五训练样本集。同样的,为了提高训练效率,节省训练时间,可以基于第五训练样本集,对已经过预训练的第五macbert模型进行训练,在一个示例中,使用交叉熵作为第五macbert模型的损失函数。通过训练,可以得到缺词纠错模型,该缺词纠错模型能自动识别出第一文本中错误的位置,并直接对错误进行纠正。
[0175]
若多个纠错模型中还存在其他的纠错模型,也可以采用上述类似方法进行模型训练,以得到用于纠错的纠错模型。譬如,若还存在冗余纠错模型,则也可以按照上述类似的方法,构造出正确语句样本对应的冗余错误语句样本,从而构建用于训练的样本数据集,并基于构建出的样本数据集对经过预训练的macbert模型进行训练,以得到冗余纠错模型。
[0176]
应理解,上述实施例中各步骤的序号并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0177]
基于上述各个实施例提供的方法,请参考图6,图6是根据一示例性实施例示出的一种文本的处理装置的结构示意图,该文本的处理装置可以由软件、硬件或者两者的结合实现电子设备的部分或者全部。该文本的处理装置可以包括:
[0178]
检测模块610,用于对待处理的第一文本进行错误检测;
[0179]
第一确定模块620,用于若经错误检测确定所述第一文本存在错误且所述错误属于第一错误类型,则从多个纠错模型中,确定与所述第一错误类型对应的第一纠错模型,所
述多个纠错模型中的不同纠错模型能够对不同错误类型的错误文本进行纠错;
[0180]
纠错模块630,用于通过所述第一纠错模型对所述第一文本进行纠错处理,输出候选文本;
[0181]
第二确定模块640,用于根据所述候选文本,确定目标文本。
[0182]
作为本技术的一个示例,所述第二确定模块640用于:
[0183]
分别确定所述第一文本的困惑度和所述候选文本的困惑度;
[0184]
从所述第一文本和所述候选文本中,选择困惑度最小的文本;
[0185]
将从所述第一文本和所述候选文本中选择的文本,确定为所述目标文本。
[0186]
作为本技术的一个示例,所述纠错模块630还用于:
[0187]
继续对当前得到的候选文本进行错误检测;
[0188]
若得到的候选文本中存在错误,则从所述多个纠错模型中,确定与得到的候选文本的第二错误类型对应的第二纠错模型,所述第二错误类型是通过错误检测确定;
[0189]
通过所述第二纠错模型对得到的候选文本进行纠错处理,再次得到候选文本,并返回至所述继续对当前得到的候选文本进行错误检测的操作,直到得到的候选文本中不存在错误时,结束操作。
[0190]
作为本技术的一个示例,所述第一错误类型包括替换错误类型、缺字错误类型、缺词错误类型、倒置错误类型中的任意一种,其中,所述替换错误类型是指文本内容被同音词、同音字、形近字、近音字中的任一种替换,所述倒置错误类型是指文本内容的位置发生颠倒。
[0191]
作为本技术的一个示例,若所述第一错误类型为所述替换错误类型,则所述第一纠错模型为替换纠错模型;
[0192]
所述纠错模块630还用于对所述替换纠错模型进行训练,具体包括:
[0193]
获取第一训练样本集,所述第一训练样本集中包括多个第一样本数据对,每个第一样本数据对包括正确语句样本和所述正确语句样本对应的替换错误语句样本,所述替换错误语句样本是对所述正确语句样本中的部分文本内容按照同音词、同音字、形近字、近音字中的任一种方式进行替换后生成的;
[0194]
基于所述第一训练样本集,对经过预训练的第一macbert模型进行训练,以得到所述替换纠错模型。
[0195]
作为本技术的一个示例,若所述第一错误类型为所述缺字错误类型,则所述第一纠错模型为缺字纠错模型;
[0196]
所述纠错模块630还用于对所述缺字纠错模型进行训练,具体包括:
[0197]
获取第二训练样本集,所述第二训练样本集中包括多个第二样本数据对,每个第二样本数据对包括完整语句样本和所述完整语句样本对应的缺字错误语句样本,所述缺字错误语句样本是将所述完整语句样本中的字进行删除处理后生成的;
[0198]
基于所述第二训练样本集,对经过预训练的第二macbert模型进行训练,以得到所述缺字纠错模型。
[0199]
作为本技术的一个示例,若所述第一错误类型为所述置换错误类型,则所述第一纠错模型为置换纠错模型;
[0200]
所述纠错模块630还用于对置换纠错模型进行训练,具体包括:
[0201]
获取第三训练样本集,所述第三训练样本集中包括多个第三样本数据对,每个第三样本数据对包括正确语句样本和所述正确语句样本对应的置换错误语句样本,所述置换错误语句样本是对所述正确语句样本中的部分文本内容进行位置置换后生成的;
[0202]
基于所述第三训练样本集,对经过预训练的第三macbert模型进行训练,以得到所述置换纠错模型。
[0203]
作为本技术的一个示例,所述检测模块610用于:
[0204]
调用错误诊断模型,所述错误诊断模型能够检测出任意一个错误文本的错误类型;
[0205]
通过所述错误诊断模型,对所述第一文本进行错误检测,以确定所述第一错误类型。
[0206]
在本技术实施例中,对待处理的第一文本进行错误检测,若第一文本存在错误,说明第一文本需要纠正,此时,可以从多个纠错模型中,确定与第一错误类型对应的第一纠错模型,其中第一错误类型是经错误检测确定的,多个纠错模型中的不同纠错模型能够对不同错误类型的错误文本进行纠错。通过第一纠错模型对第一文本进行纠错处理,输出候选文本。根据候选文本,确定目标文本。如此,通过确定第一文本中的错误的错误类型,并针对该错误类型,采用对应的纠错模型进行纠错,使得纠错具有一定的针对性,从而可以提高纠错的有效性,进而提高纠错效果。
[0207]
图7为本技术一实施例提供的电子设备的结构示意图。如图7所示,该实施例的电子设备7包括:至少一个处理器70(图7中仅示出一个)、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个方法实施例中的步骤。
[0208]
所述电子设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是电子设备7的举例,并不构成对电子设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0209]
所称处理器70可以是cpu(central processing unit,中央处理单元),该处理器70还可以是其他通用处理器、dsp(digital signal processor,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现成可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0210]
所述存储器71在一些实施例中可以是所述电子设备7的内部存储单元,例如电子设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述电子设备7的外部存储设备,例如所述电子设备7上配备的插接式硬盘,smc(smart media card,智能存储卡),sd(secure digital,安全数字)卡,闪存卡(flash card)等。进一步地,所述存储器71还可以既包括所述电子设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
[0211]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术
方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0212]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0213]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1