一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

中文文本纠错方法、装置、电子设备及可读存储介质与流程

2022-02-24 14:22:01 来源:中国专利 TAG:


1.本技术涉及自然语言处理技术领域,尤其涉及一种中文文本纠错方法、装置、电子设备及可读存储介质。


背景技术:

2.中文文本纠错是一项用于检查中文文本中是否存在语法或者语义错误,并对存在的错误进行自动纠正的重要技术,其在人工输入或者机器识别领域有着非常大的需求量,因此,中文文本纠错作为实用性技术得到了各行业的广泛关注,也迫切需要更成熟的纠错技术应用各行业生活生产中。
3.现有技术中,可以采用端到端的基于神经网络翻译的模型从输入的错误文本到输出正确的文本内容的方式,也可以采用收集错字或者错词组成混淆集,进一步查找可能的结果替换可疑的别字位置,利用统计语言模型进行纠错。
4.但是,上述方法计算量大,处理速率慢,准确性低,且没有针对性。


技术实现要素:

5.本技术提供一种中文文本纠错方法、装置、电子设备及可读存储介质,可以有针对性的进行纠错,该方法可以减少计算量,提高处理速率和准确性。
6.第一方面,本技术提供一种中文文本纠错方法,所述方法包括:
7.获取待纠错中文文本,并对所述待纠错中文文本进行错误位置检测,得到检测结果;
8.对所述检测结果进行错误类型分类,并进行错误类型修正,得到修正后的检测结果;
9.针对修正后的检测结果对应的错误类型,基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型对所述修正后的检测结果进行纠错,得到所述待纠错中文文本的纠错结果。
10.可选的,对所述待纠错中文文本进行错误位置检测,得到检测结果,包括:
11.利用第一检错模块对所述待纠错中文文本进行检测,得到检测结果;所述第一检错模块包括第一检错模型和/或预先训练好的第二检错模型。
12.可选的,对所述检测结果进行错误类型分类,并进行错误类型修正,得到修正后的检测结果,包括:
13.基于所述检测结果中的错误位置利用第二检测模块对所述检测结果进行错误类型的分类,并进行错误类型的修正,得到修正后的检测结果。
14.可选的,基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型对所述修正后的检测结果进行纠错,得到所述待纠错中文文本的纠错结果,包括:
15.基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型,并利用所述第一优先级纠错模型对所述待纠错中文文本进行纠错,得到第一候选集,并选取所述
第一候选集中概率最大的备选词替换所述检测结果中的错误位置,得到第一文本;
16.计算所述第一文本的第一文本困惑度,并判断所述第一文本困惑度是否小于所述待纠错中文文本的文本困惑度;若是,则得到纠错结果,否则,基于预先存储的纠错模型中找到该错误类型对应的次优先级纠错模型,并利用所述次优先级纠错模型对所述待纠错中文文本进行纠错,得到第二候选集,并选取所述第二候选集中概率最大的备选词替换所述检测结果中的错误位置,得到第二文本;
17.计算所述第二文本的第二文本困惑度,并判断所述第二文本困惑度是否小于所述待纠错中文文本的文本困惑度;若是,则得到纠错结果,否则,确定所述检测结果中的错误位置不需要纠错。
18.可选的,所述方法还包括:
19.获取训练数据集,所述训练数据集中的每一训练数据包括:无标签的语句和带标签的语句;
20.根据所述训练数据集,对第二检错模型进行训练;
21.相应的,利用第一检错模块对所述待纠错中文文本进行检测,得到检测结果,包括:
22.将所述待纠错中文文本输入第一检错模型中,得到第一检测结果;
23.将所述待纠错中文文本输入通过所述训练数据集训练得到的第二检错模型中,得到第二检测结果;
24.将所述第一检测结果和所述第二检测结果进行合并,得到检测结果。
25.可选的,所述错误类型包括:字错误、词错误和语义错误;所述字错误为文本中包含单个字的错误,所述词错误为文本中包含两字、三字或四字的错误,所述语义错误为文本中包含多于四字的错误;基于所述检测结果中的错误位置利用第二检测模块对所述检测结果进行错误类型的分类,并进行错误类型的修正,包括:
26.基于所述错误位置的字数多少利用第二检测模块对所述检测结果进行错误类型的分类,得到分类结果;
27.对所述分类结果对应的检测结果利用分类修正方法进行分词处理,修正所述检测结果中的错误位置及错误类型。
28.可选的,基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型,包括:
29.若所述检测结果的错误类型为字错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为预先训练好的基于遮掩语言模型;
30.若所述检测结果的错误类型为词错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为基于混淆集模型;
31.若所述检测结果的错误类型为语义错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为预先训练好的基于翻译模型;
32.相应的,基于预先存储的纠错模型中找到该错误类型对应的次优先级纠错模型,包括:
33.若所述检测结果的错误类型为字错误,则在预先存储的纠错模型中找到其对应的次优先级纠错模型为基于混淆集模型;
34.若所述检测结果的错误类型为词错误,则在预先存储的纠错模型中找到其对应的次优先级纠错模型为预先训练好的基于遮掩语言模型;
35.若所述检测结果的错误类型为语义错误,则在预先存储的纠错模型中找到其对应的次优先级纠错模型为基于遮掩语言模型;
36.其中,所述基于翻译模型和基于遮掩语言模型为基于神经网络的深度学习模型。
37.可选的,利用所述第一优先级纠错模型对所述待纠错中文文本进行纠错,得到第一候选集,并选取所述第一候选集中概率最大的备选词替换所述检测结果中的错误位置,得到第一文本,包括:
38.将所述待纠错中文文本输入所述第一优先级纠错模型中,得到第一候选集;所述第一候选集包括多个备选词,每个备选词用于替换所述检测结果中的错误位置;
39.将所述第一候选集按照与所述检测结果中的错误位置的词性是否相同进行分类,得到词性相同的第一类别和词性不同第二类别;
40.计算所述第一类别中多个备选词和所述第二类别中多个备选词的概率;所述概率用于表示所述待纠错中文文本经过备选词替换后的合理性;
41.选取所述第一类别中概率最大对应的备选词和所述第二类别中概率最大对应的备选词分别替换所述检测结果中的错误位置,得到第一文本。
42.可选的,计算所述第一文本的第一文本困惑度,包括:
43.计算所述第一类别中概率最大对应的备选词替换所述错误位置后对应文本的第三文本困惑度,并计算所述第二类别中概率最大对应的备选词替换所述错误位置后对应文本的第四文本困惑度;
44.判断所述第三文本困惑度是否大于所述第四文本困惑度,若是,则确定所述第四文本困惑度为第一文本困惑度,否则,则确定所述第三文本困惑度为第一文本困惑度。
45.可选的,所述方法还包括:
46.在对中文文本进行纠错后,获取所述纠错结果,经过工作人员判断所述纠错结果是否合理;
47.若合理,则将所述纠错结果进行可视化显示,用于供用户查看;
48.若不合理,则发送指示信息,用于指示用户或工作人员对所述待纠错中文文本进行纠错。
49.第二方面,本技术提供一种中文文本纠错装置,所述装置包括:
50.检测模块,用于获取待纠错中文文本,并对所述待纠错中文文本进行错误位置检测,得到检测结果;
51.分类修正模块,用于对所述检测结果进行错误类型分类,并进行错误类型修正,得到修正后的检测结果;
52.纠错模块,用于针对修正后的检测结果对应的错误类型,基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型对所述修正后的检测结果进行纠错,得到所述待纠错中文文本的纠错结果。
53.第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
54.所述存储器存储计算机执行指令;
55.所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
56.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面中任一项所述的中文文本纠错方法。
57.第五方面,本技术提供一种计算机程序产品,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行第一方面中任一项所述的方法。
58.综上所述,本技术提供一种中文文本纠错方法、装置、电子设备及可读存储介质,该方法可以获取待纠错中文文本,并对待纠错中文文本进行错误位置检测,得到检测结果;进一步的,可以对检测结果进行错误类型分类,并进行错误类型修正,得到修正后的检测结果;进一步,可以针对修正后的检测结果对应的错误类型,基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型对修正后的检测结果进行纠错,得到待纠错中文文本的纠错结果,其中,第一优先级纠错模型指的是对应优先级级别最高的纠错模型。这样,可以针对待纠错中文文本的错误类型,有针对性的进行纠错,可以减少计算量,提高处理速率和准确性。
附图说明
59.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
60.图1为本技术实施例提供的一种应用场景示意图;
61.图2为本技术实施例提供的一种中文文本纠错方法的流程示意图;
62.图3为本技术实施例提供的一种对待纠错中文文本进行纠错得到纠错结果的流程示意图;
63.图4为本技术实施例提供的一种对中文文本进行检错与纠错的流程示意图;
64.图5为本技术实施例提供的一种中文文本纠错装置的结构示意图;
65.图6为本技术实施例提供的一种电子设备的结构示意图。
66.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本调取构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
67.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
68.本技术中的术语“多个”是指两个或两个以上。本技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本技术中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少
一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
69.为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一设备和第二设备仅仅是为了区分不同的设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
70.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
71.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。
72.可以理解的是,在本技术的实施例中,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
73.下面结合附图对本技术实施例进行介绍。图1为本技术实施例提供的一种应用场景示意图,本技术提供的一种中文文本纠错方法可以应用于如图1所示的应用场景中,该应用场景包括第一终端设备101、第二终端设备102、服务器103、第三终端设备104和工作人员105;第一终端设备101可以向服务器103发送语音消息,第二终端设备102可以向服务器103发送图片消息,相应的,服务器103可以接收第一终端设备101发送的语音消息和第二终端设备102发送的图片消息,进一步的,服务器103可以通过自动语音识别技术(automated speech recognition,asr)将第一终端设备101发送的语音消息转换为文本,通过光学文字识别技术(optical character recognition,ocr)将第二终端设备102发送的图片消息转换为文本,进一步的,服务器103中的检错模块可以对上述文本进行错误检测,并通过纠错模块对检错出的错误进行纠正,最终获得纠错结果。
74.可选的,服务器103还可以将纠错结果发送到第三终端设备104上供工作人员105进行查验,判断该纠错结果是否合理,若合理,则将该纠错结果发送到第一终端设备101和第二终端设备102进行可视化显示,供用户查看,若不合理,则工作人员105可以对该纠错结果进行改正,进一步的,将改正后的结果发送到第一终端设备101和第二终端设备102进行可视化显示,供用户查看。
75.可以理解的是,服务器103对第一终端设备101发送的消息和第二终端设备102发送的消息可以按照发送的时间顺序依次进行处理,也可以同时处理,本技术实施例对此不作具体限定,服务器103将语音、文本、图片等信息转化成文本的技术,本技术实施例不作具体限定,可选的,第一终端设备101和第二终端设备102也可以将利用ocr、asr等技术将语音、文本、图片等信息转化成文本,进一步的,将转换后的文本发送给服务器103进行纠错处理,本技术实施例对利用某种技术将语音、文本、图片等信息转化成文本的执行主体不作具体限定。
76.上述第一终端设备101和第二终端设备102可以是无线终端也可以是有线终端。本技术实施例对终端设备的数量不作具体限定,其中,无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radio access network,简称ran)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(personal communication service,简称pcs)电话、无绳电话、会话发起协议(session initiation protocol,简称sip)话机、无线本地环路(wireless local loop,简称wll)站、个人数字助理(personal digital assistant,简称pda)等设备。无线终端也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device or user equipment),在此不作限定。可选的,上述终端设备还可以是智能手机、平板电脑等设备。
77.需要说明的是,第三终端设备104可以是大屏(或称为智慧屏)、手机、平板电脑、智能手表、智能手环、智能眼镜或其他具备显示屏幕的终端设备等,本技术实施例对此不作具体限定。
78.现有技术中,在需要对中文文本进行纠错时,可以采用端到端的基于神经网络翻译的模型从输入的错误文本到输出正确的文本内容的方式,也可以采用收集错字或者错词组成混淆集,进一步查找可能的结果替换可疑的别字位置,利用统计语言模型进行纠错。
79.但是,上述方法计算量大,处理速率慢,准确性低,且没有针对性。
80.因此,本技术提供一种中文文本纠错方法,可以采用先检错后纠错的方式对中文文本进行纠错,具体的,获取待纠错中文文本,并对待纠错中文文本进行错误检测,得到错误检测结果,进一步的,对该错误结果进行错误分类并进行错误类型修正,例如,主要分类为字错误,词错误和语义错误;在确定错误检测结果对应的类型后,利用其对应的第一优先级纠错模型对待纠错中文文本进行纠错,得到纠错结果。这样,可以针对待纠错中文文本的错误类型,有针对性的进行纠错,可以减少计算量,提高处理速率和准确性。
81.示例性的,图2为本技术实施例提供的一种中文文本纠错方法的流程示意图,如图2所示,本技术实施例的方法包括:
82.s201、获取待纠错中文文本,并对所述待纠错中文文本进行错误位置检测,得到检测结果。
83.本技术实施例中,获取待纠错中文文本的方式可以是通过ocr、asr等技术将视频、语音及图片等数据转换为待纠错中文文本或者是直接提取文字中的数据转换为待纠错中文文本,进一步的对待纠错中文文本进行检测。
84.其中,ocr是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。asr是
一种将人的语音转换为文本的技术。
85.在本实施例中,错误位置可以指的为文本中存在错误的位置,可以是一个错字,一个错误的词语,或者是一个错误的句子,本技术对此不作具体限定。
86.示例性的,在图1的应用场景下,以第一终端设备101发送的语音消息为例,服务器103可以接收第一终端设备101发送的语音消息,进一步的,利用ocr、asr等技术将语音信息转化成待纠错中文文本,进一步的,服务器103获取该待纠错中文文本,并对该待纠错中文文本进行错误位置检测,例如,可以利用序列标注模型对该待纠错中文文本进行检测,得到检测结果。
87.s202、对所述检测结果进行错误类型分类,并进行错误类型修正,得到修正后的检测结果。
88.本技术实施例中,错误类型可以分为字错误、词错误和语义错误,其中,字错误为文本中包含单个字的错误,词错误为文本中包含两字、三字或四字的错误,语义错误为文本中包含多于四字的错误,需要说明的是,语义错误表示该语句存在较多的错误,可能包含顺序错误,多字错误,少字错误等情形。
89.可以理解的是,本技术实施例对进行错误类型修正的方法不作具体限定,只要某种方法可以达到错误类型修正的目的即可,例如,可以利用误分类修正方法,将检测结果进行分词处理,来修正错误位置及分类结果。
90.示例性的,在图1的应用场景下,服务器103对第一终端设备101发送的语音消息转换成的文本进行错误位置检测,得到检错结果后,服务器103可以判断检测结果中的错误位置属于哪种错误类型,并进行分类,进一步的还可以利用误分类修正方法对分类的结果进行修正,例如,初始的分类时将检错结果中的某个字归为字错误类别,但实际将检错结果中的某个字与相邻的字合并在一起归为词错误后具有更好的纠错效果,故可以将之前检错结果进行错误类型修正,修正为“词错误类型”,进一步的,可以得到修正错误类型后的检测结果。
91.s202、针对修正后的检测结果对应的错误类型,基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型对所述修正后的检测结果进行纠错,得到所述待纠错中文文本的纠错结果。
92.本技术实施例中,第一优先级纠错模型可以指的是优先级最高的需要优先执行的纠错模型,不同错误类型对应的第一优先级纠错模型不同,该第一优先级纠错模型可以为预先存储的纠错模型,可以存储在数据库中,使用时可以直接调用,具体的,如表1所示:
93.表1不同错误类型对应第一优先级纠错模型
94.错误类型第一优先级纠错模型字错误基于遮掩语言模型词错误基于混淆集模型语义错误基于翻译模型
95.其中,字错误类型对应的第一优先级纠错模型为基于遮掩语言模型;词错误类型对应的第一优先级纠错模型为基于混淆集模型,语义错误类型对应的第一优先级纠错模型为基于翻译模型。
96.可以理解的是,基于遮掩语言模型可以指的是将错误位置的字遮掩掉,然后将其
输入到模型中可以得到输出结果的模型,基于混淆集模型可以指的是从混淆集中调用备选词对错误位置进行替换的模型,该混淆集为提前预设好各种词语的词性相同或词性不同但是为外形相近词语的集合,基于翻译模型可以指的是将实体向量表示在低维稠密向量空间中,然后进行计算和推理的模型,即可以是把知识库中的实体和关系映射到低维向量空间中,从而计算出隐含的关系的模型。
97.需要说明的是,基于翻译模型和基于遮掩语言模型为基于神经网络的深度学习模型,所述神经网络是一门重要的机器学习技术,其网络结构包括输入层,隐含层,输出层,且隐含层的层数是可以设置的,神经网络的训练过程主要是利用反向传播的原理来进行的网络梯度下降寻优以找到最好模型参数,可以用于文本识别。
98.示例性的,在图1的应用场景下,以第一终端设备101发送的语音消息为例,服务器103若检测到该语音消息转换成的文本的检测结果的错误类型为字错误,则可以在预先存储的纠错模型中找到字错误类型对应的第一优先级纠错模型为基于遮掩语言模型,进一步的,服务器103可以利用基于遮掩语言模型对第一终端设备101发送的语音消息转换成的文本进行纠错处理,得到纠错结果。其中,预先存储的纠错模型如表1所示,其可以提前存储在服务器103的数据库中,也可以用户在使用时输入进去,本技术实施例对此不作具体限定。
99.因此,本技术实施例提供的中文文本纠错方法,可以针对待纠错中文文本对应的错误类型,有针对性的进行纠错,可以减少计算量,提高处理速率和准确性,纠错效果好。
100.可选的,对所述待纠错中文文本进行错误位置检测,得到检测结果,包括:
101.利用第一检错模块对所述待纠错中文文本进行检测,得到检测结果;所述第一检错模块包括第一检错模型和/或预先训练好的第二检错模型。
102.优选的,所述第一检错模型为统计语言模型,所述第二检错模型为基于序列标注的深度学习模型。
103.本技术实施例中,统计语言模型可以指的是自然语言处理(natural language processing,nlp)的基础模型,是从概率统计角度出发,解决自然语言上下文相关的特性的数学模型。用于判断一个句子在文本中出现的概率,例如,一个文本中包括的所有可能的句子服从一个概率分布,每个句子出现的概率加起来是1,而统计语言模型可以预测每个句子在语言中出现的概率,对于文本中常见的句子,可以计算得到相对高的概率,对不合语法的句子,计算出的概率则趋近于零。
104.优选的,本技术的统计语言模型为n-gram模型,具体的,n-gram模型的算法是将文本里面的内容按照字节进行大小为n的滑动窗口操作,形成了长度是n的字节片段序列,每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间,列表中的每一种gram就是一个特征向量维度。可以理解的是,第n个词的出现只与前面n-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积,因此,这些概率可以通过直接从语料中统计n个词同时出现的次数得到。例如,某个文本是“想我吃中国食物”,按照2字节的大小进行滑动窗口操作,该文本为被划分为:“想我”、“我吃”、“吃中”、“中国”、“国食”、“食物”共6个gram,进一步的,对所有gram的出现频度进行统计,假设,从预料中语料中得到p(“我想”)=0.25、p(“想我”)=0.05、p(“想吃”)=0.21、p(“吃我”)=0.02、p(“我吃”)=0.12、p(“中吃”)=0.03、p(“吃中”)=0.01、p(“中国”)=0.26、p(“国中”)=0.04,p(“国食”)=0.08,p
(“食物”)=0.2等概率,通过计算可知,p(“想我吃中国食物”)=0.05*0.12*0.01*0.26**0.08*0.2=0.0000002496,而p(“我想吃中国食物”)=0.25*0.21*0.01*0.26**0.08*0.2=0.000002184,p(“我想吃中国食物”)的概率大于p(“想我吃中国食物”),故“我想吃中国食物”的文本更加合理,而“想我吃中国食物”的文本存在语义错误,其中,文本“想我吃中国食物”的概率还可以跟其他文本“我想吃食物中国”,“我吃想中国食物”等多种组合的文本的概率进行比较,但是通常根据计算概率中最大的文本与带比较文本进行比较,确定是否存在语义错误。
105.可以理解的是,上述各个gram的出现频度的数值仅是示例说明,具体应以实际为准。
106.需要说明的是,对于滑动窗口n的大小的具体数值本技术实施实施例不作具体限定,可以选择bi-gram、tri-gram或者两者的结合。
107.序列标注可以用于解决一系列对字符进行分类的问题,如分词、词性标注、命名实体识别、关系抽取等,深度学习模型可以指的是基于一个深度学习算法的体系结构,可以用于迭代训练数据。而序列标注的深度学习模型可以指的是输入一个观测序列,输出一个标记序列或状态序列的深度学习模型,该模型是经过大量训练集训练过的,能够对观测序列给出标记序列作为预测。
108.需要说明的是,第一检错模型更侧重于低层次的文本错误,而第二检错模型使用基于预训练技术的序列标注模型能检测出语义错误的文本,第二检错模型相较于第一检错模型具有更好的检错效果,但比第一检错模型的处理效率低。因此,若经过第一检错模型和第二检错模型获取的检测结果中的错误位置取并集后形成的错误集,对于重复包含位置的错误,但是检测结果中其他因素不同时,例如错误位置的字节长度,本技术以第二检错模型获取的错误位置为准。
109.示例性的,在图1的应用场景下,以第一终端设备101发送的语音消息为例,服务器103可以接收第一终端设备101发送的语音消息,进一步的,利用ocr、asr等技术将语音信息转化成待纠错中文文本,进一步的,服务器103获取该待纠错中文文本,并利用n-gram模型和基于预训练序列标注模型对该待纠错中文文本进行检测,得到检测结果。
110.因此,本技术引入了不同的检错模型能更好的检测出原始文本中的错误文本,第一检错模型更侧重于低层次的文本错误,而第二检错模型使用基于预训练技术的序列标注模型能检测出语义错误的文本,提高检测错误位置的准确性。
111.可选的,对所述检测结果进行错误类型分类,并进行错误类型修正,得到修正后的检测结果,包括:
112.基于所述检测结果中的错误位置利用第二检测模块对所述检测结果进行错误类型的分类,并进行错误类型的修正,得到修正后的检测结果。
113.本技术实施例中,第二检测模块包括对检测结果中的错误位置进行错误类型分类的模块和对错误类型进行修正的模块,可以有效提升后续的纠错效果。
114.示例性的,在图1的应用场景下,在服务器103利用第一检错模块检测到第一终端设备101发送的语音消息转换成的文本中存在错误位置,输出检错结果后,服务器103可以判断检测结果中的错误位置属于哪种错误类型,并进行分类,进一步的还可以利用分类修正方法判断分类的结果是否正确,如果不正确,还可以对分类的结果进行修正,例如,将错
误位置归为字错误类别,但实际将该错误位置归为词错误后具有更好的纠错效果,故可以将之前错误类型的分类结果“字错误类别”修正为“词错误类型”,进一步的,可以得到修正错误类型后的检测结果。
115.可以理解的是,分类修正方法可以指的是上述实施例提到的误分类修正方法,也可以是其他的修正方法,本技术实施例对此不作具体限定。
116.因此,利用第二检测模块对检测结果进行错误类型分类还对错误类型进行修正,可以很好的提升后续的纠错效果,减少纠错失误。
117.可选的,图3为本技术实施例提供的一种对待纠错中文文本进行纠错得到纠错结果的流程示意图,如图3所示,对步骤s203的进一步细化,基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型对所述修正后的检测结果进行纠错,得到所述待纠错中文文本的纠错结果,其执行步骤包括:
118.s301、基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型,并利用所述第一优先级纠错模型对所述待纠错中文文本进行纠错,得到第一候选集,并选取所述第一候选集中概率最大的备选词替换所述检测结果中的错误位置,得到第一文本。
119.本技术实施例中,第一候选集可以包括多个备选词,每个备选词用于替换检测结果中的错误位置,其中,第一候选集中存在与错误位置文本词性相同和不同的备选词,词性相同指的是词的属性相同,可以分为动词,名词,形容词,介词,连词等,例如,错误位置为“吹”,则第一候选集中可以有“摇”、“浮”、“飘”等词性相同的词,也可以有“垂”、“炊”、“捶”等词性不同的词。
120.可选的,概率最大的备选词指的是某个备选词在待纠错中文文本中出现的最大概率,所述概率用于表示待纠错中文文本经过备选词替换后的合理性,可以通过马尔科夫假设算法估计推算出多个备选词在待纠错中文文本中出现的概率,进一步,取多个概率中的最大值对应的备选词即为概率最大的备选词。
121.需要说明的是,本技术实施例也可以通过其他的算法计算第一候选集中每一个备选词在待纠错中文文本中出现的概率,本技术实施例对计算备选词在待纠错中文文本中出现的概率的算法不作具体限定,可以为马尔科夫假设算法,glove算法等。
122.示例性的,在图1的应用场景下,以第一终端设备101发送的语音消息为例,服务器103若检测到该语音消息转换成的文本的检测结果的错误类型为字错误,则可以基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型为遮掩语言模型,利用基于遮掩语言模型对该语音消息转换成的文本进行纠错,得到候选集,而该候选集中存在与错误位置文本词性相同和不同的备选词,进一步的,利用马尔科夫假设算法计算词性相同和不同的备选词的所有概率,并分别选择词性相同和不同的备选词中概率最高的备选词来替换错误位置,得到替换后的第一文本。
123.s302、计算所述第一文本的第一文本困惑度,并判断所述第一文本困惑度是否小于所述待纠错中文文本的文本困惑度;若是,则得到纠错结果,否则,基于预先存储的纠错模型中找到该错误类型对应的次优先级纠错模型,并利用所述次优先级纠错模型对所述待纠错中文文本进行纠错,得到第二候选集,并选取所述第二候选集中概率最大的备选词替换所述检测结果中的错误位置,得到第二文本。
124.本技术实施例中,次优先级纠错模型可以指的是优先级低于第一优先级的,在执
行完第一优先级之后才可以执行的纠错模型,其中,不同错误类型对应的次优先级纠错模型不同,该次优先级纠错模型可以为预先存储的纠错模型,可以存储在数据库中,使用时可以直接调用,具体的,如表2所示:
125.表2不同错误类型对应的次优先级纠错模型
126.错误类型次优先级纠错模型字错误基于混淆集模型词错误基于遮掩语言模型语义错误基于遮掩语言模型
127.其中,字错误类型对应的次优先级纠错模型为基于混淆集模型;词错误类型对应的次优先级纠错模型为基于遮掩语言模型;语义错误类型对应的次优先级纠错模型为基于遮掩语言模型。
128.文本困惑度可以用来度量一个概率分布或概率模型预测样本的好坏程度,一般文本困惑度越小,句子的合理性越高;第二候选集与第一候选集的定义类似,具体可参见第一候选集的描述,在此不再赘述。
129.具体的,文本困惑度可以由以下公式计算得出:
[0130][0131]
其中,ppl(s)=p(w1w2…
wn)-1/n
,ppl(s)代表文本困惑度,s代表待纠错中文文本,s=w1w2…
wn,wi代表待纠错中文文本中的第i个词(或者汉字)。
[0132]
示例性的,以确定检测结果的错误类型为词错误为例,对于待纠错中文文本so:
[0133]
so=[c1,c2,c3,c4,c5,

,cn]
[0134]
其中,ci表示的是第i个汉字(i=1,2

,n),如经过检错流程后,so中(c3,c4)位置为错误词语,经过第一优先级纠错模型对待纠错中文文本进行纠错,得到第一候选集,即使用基于混淆集的纠错模块后获取文本候选集c
cand

[0135][0136]
其中,表示错误位置(c3,c4)的第i个候选集,进一步的,分别选择与错误位置(c3,c4)词性相同以及词性不同的概率最高的备选词,假设概率最高的词性相同的备选词为概率最高词性不同的备选词为,进一步的,分别对替换后的待纠错中文文本进行困惑度计算:
[0137][0138][0139]
其中,pp(sm)代表词性相同的备选词替换待纠错中文文本中的错误位置后的文本困惑度,pp(sn)代表词性不同的备选词替换待纠错中文文本中的错误位置后的文本困惑度,而待纠错中文文本的文本困惑度为:pp(so)=f([c1,c2,c3,c4,c5,

,cn]),f代表计算文本困惑度的方法,可选的,pp(sm),pp(sn)以及pp(so)的计算公式可以参见上述ppl(s)的计算过程,在此不再赘述。
[0140]
需要说明的是,概率最大的备选词,计算概率的方法与s301类似,可参见步骤
s301,在此不再赘述,本技术对采用哪种方法计算文本困惑度不作具体要求,以上仅是示例说明。
[0141]
示例性的,服务器可以通过上述公式计算词性相同的备选词替换待纠错中文文本中的错误位置后的文本困惑度pp(sm)和词性不同的备选词替换待纠错中文文本中的错误位置后的文本困惑度pp(sn),进一步,通过判断pp(sm)和pp(sn)中的最小值是否小于待纠错中文文本的文本困惑度来决定第一优先级纠错模型的结果;若pp(so)≥min(pp(sm),pp(sn)),则说明纠错后的文本取得了比待纠错中文文本更低困惑度,将min(pp(sm),pp(sn))对应的具有更低困惑度的备选词作为最终的纠错结果,若pp(so)<min(pp(sm),pp(sn)),则证明第一优先级纠错模型获取的结果未达到纠错目的,则需要基于预先存储的纠错模型中找到该错误类型对应的次优先级纠错模型,并利用次优先级纠错模型对待纠错中文文本进行纠错,并得到候选集,进一步选取该候选集中概率最大的备选词替换检测结果中的错误位置,得到所需的第二文本。
[0142]
需要说明的是,若错误类型为字错误和语义错误,其计算文本困惑度的过程与上述类似,在此不再赘述。
[0143]
s303、计算所述第二文本的第二文本困惑度,并判断所述第二文本困惑度是否小于所述待纠错中文文本的文本困惑度;若是,则得到纠错结果,否则,确定所述检测结果中的错误位置不需要纠错。
[0144]
示例性的,利用与步骤s302类似的计算过程计算第二文本的第二文本困惑度,在此不再赘述,该第二文本包括词性相同的备选词替换待纠错中文文本和词性不同的备选词替换待纠错中文文本,进一步的,取第二文本中计算较低的文本困惑度与计算待纠错中文文本所得文本困惑度进行比较,若第二文本中计算较低的文本困惑度小于待纠错中文文本的文本困惑度,则选择低困惑度对应的备选词作为纠错的正确结果,若第二文本中计算较低的文本困惑度大于待纠错中文文本的文本困惑度,则表示错误位置检错有误,不需要进行纠错。
[0145]
因此,利用第一优先级纠错模型和次优先级模型对待纠错中文文本进行纠错,利用候选集中概率最高的备选词来替换待纠错中文文本中的错误位置,并选取其中文本困惑度最低的文本作为最终纠错结果,可以提高纠错准确率。
[0146]
示例性的,图4为本技术实施例提供的一种对中文文本进行检错与纠错的流程示意图,如图4所示,步骤s401、服务器可以获取待纠错文本(即待纠错中文文本),该待纠错文本是通过利用ocr、asr等技术将外部数据,语音,图片,文字等数据转换成的待纠错文本,进一步的,执行步骤s402;步骤s402、服务器中的检错模块对待纠错文本进行错误检测,可以检测出错误,在检测结束后,可以执行步骤s403;步骤s403、纠错模块对检错出的错误进行纠正,得到纠错结果,在纠正结束后,可以执行步骤s404;步骤s404、获取步骤s403中的纠错结果,进行展示。
[0147]
可选的,所述方法还包括:
[0148]
获取训练数据集,所述训练数据集中的每一训练数据包括:无标签的语句和带标签的语句;
[0149]
根据所述训练数据集,对第二检错模型进行训练;
[0150]
相应的,利用第一检错模块对所述待纠错中文文本进行检测,得到检测结果,包
括:
[0151]
将所述待纠错中文文本输入第一检错模型中,得到第一检测结果;
[0152]
将所述待纠错中文文本输入通过所述训练数据集训练得到的第二检错模型中,得到第二检测结果;
[0153]
将所述第一检测结果和所述第二检测结果进行合并,得到检测结果。
[0154]
本技术实施例中,可以获取人工提供的训练数据集,该训练数据集包括多个训练数据,每一训练数据可以包括无标签的语句和带标签的语句;其中,无标签的语句可以指的是无监督的数据,带标签的语句可以指的是有监督的数据,例如,带标签的语句可以指的是某些语句及其对应的错误位置,该无标签的语句的数量多于带标签的语句,带标签的语句也可以用于验证模型训练的有效性。
[0155]
需要说明的是,获取训练数据集对第二检错模型进行训练只需要进行一次,以后可以直接使用训练好的第二检错模型对待纠错中文文本进行检测。
[0156]
示例性的,服务器可以提前对第二检错模型进行训练,即获取训练数据集,可以包括多个训练数据,每一训练数据可以包括无标签的语句和带标签的语句;进一步的,根据训练数据集,对第二检错模型进行训练。
[0157]
例如,服务器可以获取一系列语句及这些语句中对应的错误位置等数据,然后根据这些数据对第二检错模型进行训练。
[0158]
相应的,服务器将第二检错模型训练好之后,可以将利用ocr、asr等技术将外部数据,语音,图片,文字等数据转换成的待纠错中文文本输入到训练好的第二检错模型中,这样,可以检测出待纠错中文文本的错误位置,得到第二检测结果,在此之前,服务器也可以将利用ocr、asr等技术将外部数据,语音,图片,文字等数据转换成的待纠错中文文本输入到第一检错模型中,得到包含错误位置的第一检测结果,进一步的,可以将第一检测结果和第二检测结果进行合并,得到所需的检测结果。
[0159]
因此,可以通过利用第一检错模型对待纠错中文文本进行检测,同时也可以利用预先训练好的第二检错模型检测出待纠错中文文本的错误位置,得到第二检测结果,可以提高检测的精度和准确性,且该第一检错模型的检测速率快,引用不同的检错模型能更好的检测出待纠错中文文本中的错误文本。
[0160]
可选的,所述错误类型包括:字错误、词错误和语义错误;所述字错误为文本中包含单个字的错误,所述词错误为文本中包含两字、三字或四字的错误,所述语义错误为文本中包含多于四字的错误;基于所述检测结果中的错误位置利用第二检测模块对所述检测结果进行错误类型的分类,并进行错误类型的修正,包括:
[0161]
基于所述错误位置的字数多少利用第二检测模块对所述检测结果进行错误类型的分类,得到分类结果;
[0162]
对所述分类结果对应的检测结果利用分类修正方法进行分词处理,修正所述检测结果中的错误位置及错误类型。
[0163]
本技术实施例中,初始的分类方法可能会进行误分类,误分类主要是由于错误位置检测不够全面,因而误分类主要集中于将词错误类型误分类为字错误,因此分类修正方法可以针对此种误分类情况进行修正。分类修正方法主要采用分词的方法进行处理,将原始错误文本(错误位置)进行分词处理,针对字错误的错误位置,如果该错误位置的字被划
分为词语时(包含两个,三个或者四个字符),则应将其修正为词错误。
[0164]
示例性的,以待纠错中文文本为“上海市恩行于近期推出了多项措施”为例,其中检错结果将“恩”归为字错误类别,但是,上述分类可能会进行误分类,比如将“恩行”归为词错误后具有更好的纠错效果,因此本技术利用分类修正方法来修正错误位置及分类结果,经过分类修正方法,将原始文本分词后为:“上海市”,“恩行”,“于”,“近期”,“推出”,“了”,“多项”,“措施”,因此可以将该错误类型修正为词错误,并修正错误位置为“恩行”。
[0165]
需要说明的是,第二检测模块用于对检测结果进行错误类型的分类并且利用分类修正方法对上述分类结果进行修正。
[0166]
因此,本技术引入不同的错误分类将文本错误分为字错误、词错误及语义错误,为了防止误分类,还采用了分类修正方法来修正将词错误类型误分类为字错误的情况,可以有效提升纠错效果,提高了准确率。
[0167]
可选的,针对确定错误类型的检测结果,基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型,包括:
[0168]
若所述检测结果的错误类型为字错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为预先训练好的基于遮掩语言模型;
[0169]
若所述检测结果的错误类型为词错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为基于混淆集模型;
[0170]
若所述检测结果的错误类型为语义错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为预先训练好的基于翻译模型;
[0171]
相应的,基于预先存储的纠错模型中找到该错误类型对应的次优先级纠错模型,包括:
[0172]
若所述检测结果的错误类型为字错误,则在预先存储的纠错模型中找到其对应的次优先级纠错模型为基于混淆集模型;
[0173]
若所述检测结果的错误类型为词错误,则在预先存储的纠错模型中找到其对应的次优先级纠错模型为预先训练好的基于遮掩语言模型;
[0174]
若所述检测结果的错误类型为语义错误,则在预先存储的纠错模型中找到其对应的次优先级纠错模型为基于遮掩语言模型;
[0175]
其中,所述基于翻译模型和基于遮掩语言模型为基于神经网络的深度学习模型。
[0176]
示例性的,在图1的应用场景下,服务器103可以利用第一检错模块对待纠错中文文本进行检测,得到检测结果,进一步的,可以确定检测结果的错误类型,若确定第一终端设备101发送的语音消息转换成的待纠错中文文本的检测结果的错误类型为字错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为预先训练好的基于遮掩语言模型,次优先级纠错模型为基于混淆集模型;若确定第二终端设备102发送的图片消息转换成的待纠错中文文本的检测结果的错误类型为词错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为基于混淆集模型,次优先级纠错模型为预先训练好的基于遮掩语言模型;该场景下,还可以有其他终端设备(图中未示出)发送的视频消息,若服务器103确定其他终端设备发送的视频消息转换成的待纠错中文文本的检测结果的错误类型为语义错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为预先训练好的基于翻译模型,次优先级纠错模型为基于遮掩语言模型。
[0177]
可以理解的是,每一终端设备发送的消息类型本技术实施例不作具体限定,可以为一个终端设备发送视频、语音及图片等多种类型的消息,也可以为每一终端设备发送一种类型的消息。
[0178]
因此,不同的分类可以针对性采取不同的纠错模型,针对每一错误类型都有对应的第一优先级纠错模型和次优先级纠错模型,从而可以快速有效的获取纠错结果,使纠错更加合理性。
[0179]
可选的,利用所述第一优先级纠错模型对所述待纠错中文文本进行纠错,得到第一候选集,并选取所述第一候选集中概率最大的备选词替换所述检测结果中的错误位置,得到第一文本,包括:
[0180]
将所述待纠错中文文本输入所述第一优先级纠错模型中,得到第一候选集;所述第一候选集包括多个备选词,每个备选词用于替换所述检测结果中的错误位置;
[0181]
将所述第一候选集按照与所述检测结果中的错误位置的词性是否相同进行分类,得到词性相同的第一类别和词性不同第二类别;
[0182]
计算所述第一类别中多个备选词和所述第二类别中多个备选词的概率;所述概率用于表示所述待纠错中文文本经过备选词替换后的合理性;
[0183]
选取所述第一类别中概率最大对应的备选词和所述第二类别中概率最大对应的备选词分别替换所述检测结果中的错误位置,得到第一文本。
[0184]
示例性的,在图1的应用场景下,以第二终端设备102发送的图片消息为例,若服务器103检测到该图片消息转换成的文本的检测结果的错误类型为词错误,进一步的,可以将该图片消息转换成的文本输入到基于混淆集模型中,得到所需的候选集,该第一候选集包括多个与错误位置文本词性相同和不同的备选词,每个备选词都可以用于替换检测结果中的错误位置;进一步的,将该候选集按照与检测结果中的错误位置的词性是否相同进行分类,分为与错误位置的词性是相同的类别和词性不同的类别,然后,利用马尔科夫假设算法计算上述两个类别中多个备选词的概率,并分别选取上述两个类别中概率最大对应的备选词替换检测结果中的错误位置,得到所需的第一文本,该第一文本包括两个经过备选词替换后的待纠错中文文本。
[0185]
因此,本技术实施例将利用第一优先级纠错模型得到第一候选集中的所有备选词都进行概率计算,选取其中概率最大的词性相同和词性不同的两个备选词替换待纠错中文文本的错误位置,得到所需的第一文本,提高了纠错的准确性。
[0186]
需要说明的是,利用次优先级纠错模型对待纠错中文文本进行纠错,得到第二候选集,并选取第二候选集中概率最大的备选词替换检测结果中的错误位置,得到第二文本的过程与上述实施例中利用第一优先级纠错模型对待纠错中文文本进行纠错,得到第一候选集,并选取第一候选集中概率最大的备选词替换检测结果中的错误位置,得到第一文本的过程类似,在此不重复赘述。
[0187]
可选的,计算所述第一文本的第一文本困惑度,包括:
[0188]
计算所述第一类别中概率最大对应的备选词替换所述错误位置后对应文本的第三文本困惑度,并计算所述第二类别中概率最大对应的备选词替换所述错误位置后对应文本的第四文本困惑度;
[0189]
判断所述第三文本困惑度是否大于所述第四文本困惑度,若是,则确定所述第四
文本困惑度为第一文本困惑度,否则,则确定所述第三文本困惑度为第一文本困惑度。
[0190]
示例性的,在图1的应用场景下,以第二终端设备102发送的图片消息为例,若服务器103确定该图片消息转换成的文本的检测结果的错误类型为词错误,并选取通过第一优先级纠错模型进行纠错后得到第一候选集中概率最大的备选词对待纠错中文文本进行替换后,需要进一步判断词性相同的备选词替换待纠错中文文本中的错误位置后的文本困惑度pp(sm)和词性不同的备选词替换待纠错中文文本中的错误位置后的文本困惑度pp(sn),进一步,通过判断pp(sm)和pp(sn)中的最小值是确定所需的第一文本困惑度。
[0191]
需要说明的是,pp(sm)和pp(sn)的计算方法可以参见步骤302的描述,在此不重复赘述。
[0192]
因此,本技术中通过分别计算概率最大的词性相同和词性不同的两个备选词替换待纠错中文文本的错误位置后文本的文本困惑度,选择其中文本困惑度最小的作为第一文本困惑度,可以减少计算量,且可以纠错更加合理化,准确率更高。
[0193]
需要说明的是,计算第二文本的第二文本困惑度的过程与上述实施例中计算第一文本的第一文本困惑度的过程类似,在此不重复赘述。
[0194]
可选的,所述方法还包括:
[0195]
在对中文文本进行纠错后,获取所述纠错结果,经过工作人员判断所述纠错结果是否合理;
[0196]
若合理,则将所述纠错结果进行可视化显示,用于供用户查看;
[0197]
若不合理,则发送指示信息,用于指示用户或工作人员对所述待纠错中文文本进行纠错。
[0198]
本技术实施例中,指示信息用于指示待纠错中文文本存在问题,需要进行改正,而发送指示信息的方式,本技术实施例不作具体限定,可以为在工作人员的终端设备的显示屏上显示一个消息提示框,该消息提示框显示“某个待纠错中文文本中的某个位置存在问题”,以提示工作人员及时进行改正,然后将改正后的文本发送到用户终端设备上进行显示,也可以为服务器向用户终端设备上发送一条消息提示,该消息提示为“某个待纠错中文文本中的某个位置存在问题”,以提示用户及时进行检查。
[0199]
示例性的,在图1的应用场景下,以第一终端设备101发送的语音消息为例,服务器103对语音消息转换成的中文文本进行纠错后,可以获取纠错结果,进一步的,经过工作人员判断该纠错结果是否合理;若合理,则将该纠错结果发送到第一终端设备101上进行可视化显示,用于供用户查看;若不合理,则向工作人员105的第三终端设备104的发送指示信息,用于指示该工作人员105对待纠错中文文本进行纠错,工作人员105在对待纠错中文文本进行改正后,可以将改正后的文本发送到第一终端设备101上进行显示。
[0200]
可以理解的是,判断纠错结果是否合理工作人员可以是工作人员105,也可以是其他工作人员,该其他工作人员只是对纠错结果进行判断,不进行改正。
[0201]
因此,本技术还可以进一步检验出纠错结果有没有存在问题,便于用户或工作人员随时了解情况,提高准确性。
[0202]
在前述实施例中,对本技术实施例提供的中文文本纠错方法进行了介绍,而为了实现上述本技术实施例提供的方法中的各功能,作为执行主体的电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功
能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
[0203]
例如,图5为本技术实施例提供的一种中文文本纠错装置的结构示意图,如图5所示,该装置包括:检测模块510,分类修正模块520和纠错模块530;其中,检测模块510,用于获取待纠错中文文本,并对所述待纠错中文文本进行错误位置检测,得到检测结果;
[0204]
分类修正模块520,用于对所述检测结果进行错误类型分类,并进行错误类型修正,得到修正后的检测结果;
[0205]
纠错模块530,用于针对修正后的检测结果对应的错误类型,基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型对所述修正后的检测结果进行纠错,得到所述待纠错中文文本的纠错结果。
[0206]
可选的,检测模块510,具体用于:
[0207]
利用第一检错模块对所述待纠错中文文本进行检测,得到检测结果;所述第一检错模块包括第一检错模型和/或预先训练好的第二检错模型。
[0208]
可选的,分类修正模块520,具体用于:
[0209]
基于所述检测结果中的错误位置利用第二检测模块对所述检测结果进行错误类型的分类,并进行错误类型的修正,得到修正后的检测结果。
[0210]
可选的,所述纠错模块530包括寻找单元,选取单元,第一处理单元和第二处理单元;
[0211]
具体的,所述寻找单元,用于基于预先存储的纠错模型中找到该错误类型对应的第一优先级纠错模型,所述选取单元,用于利用所述第一优先级纠错模型对所述待纠错中文文本进行纠错,得到第一候选集,并选取所述第一候选集中概率最大的备选词替换所述检测结果中的错误位置,得到第一文本;
[0212]
第一处理单元,用于计算所述第一文本的第一文本困惑度,并判断所述第一文本困惑度是否小于所述待纠错中文文本的文本困惑度;若是,则得到纠错结果,否则,基于预先存储的纠错模型中找到该错误类型对应的次优先级纠错模型,并利用所述次优先级纠错模型对所述待纠错中文文本进行纠错,得到第二候选集,并选取所述第二候选集中概率最大的备选词替换所述检测结果中的错误位置,得到第二文本;
[0213]
第二处理单元,用于计算所述第二文本的第二文本困惑度,并判断所述第二文本困惑度是否小于所述待纠错中文文本的文本困惑度;若是,则得到纠错结果,否则,确定所述检测结果中的错误位置不需要纠错。
[0214]
可选的,所述装置还包括训练模块,所述训练模块,用于:
[0215]
获取训练数据集,所述训练数据集中的每一训练数据包括:无标签的语句和带标签的语句;
[0216]
根据所述训练数据集,对第二检错模型进行训练;
[0217]
相应的,检测模块510包括输入单元,检测单元和合并单元;
[0218]
具体的,所述输入单元,用于将所述待纠错中文文本输入第一检错模型中,得到第一检测结果;
[0219]
所述检测单元,用于将所述待纠错中文文本输入通过所述训练数据集训练得到的第二检错模型中,得到第二检测结果;
[0220]
所述合并单元,用于将所述第一检测结果和所述第二检测结果进行合并,得到检测结果。
[0221]
可选的,所述字错误为文本中包含单个字的错误,所述词错误为文本中包含两字、三字或四字的错误,所述语义错误为文本中包含多于四字的错误;分类修正模块520包括分类单元和处理单元;
[0222]
具体的,所述分类单元,用于基于所述错误位置的字数多少利用第二检测模块对所述检测结果进行错误类型的分类,得到分类结果;
[0223]
所述处理单元,用于对所述分类结果对应的检测结果利用分类修正方法进行分词处理,修正所述检测结果中的错误位置及错误类型。
[0224]
可选的,所述寻找单元,具体用于:
[0225]
若所述检测结果的错误类型为字错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为预先训练好的基于遮掩语言模型;
[0226]
若所述检测结果的错误类型为词错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为基于混淆集模型;
[0227]
若所述检测结果的错误类型为语义错误,则在预先存储的纠错模型中找到其对应的第一优先级纠错模型为预先训练好的基于翻译模型;
[0228]
相应的,所述寻找单元,具体还用于:
[0229]
若所述检测结果的错误类型为字错误,则在预先存储的纠错模型中找到其对应的次优先级纠错模型为基于混淆集模型;
[0230]
若所述检测结果的错误类型为词错误,则在预先存储的纠错模型中找到其对应的次优先级纠错模型为预先训练好的基于遮掩语言模型;
[0231]
若所述检测结果的错误类型为语义错误,则在预先存储的纠错模型中找到其对应的次优先级纠错模型为基于遮掩语言模型;
[0232]
其中,所述基于翻译模型和基于遮掩语言模型为基于神经网络的深度学习模型。
[0233]
可选的,所述选取单元,具体用于:
[0234]
将所述待纠错中文文本输入所述第一优先级纠错模型中,得到第一候选集;所述第一候选集包括多个备选词,每个备选词用于替换所述检测结果中的错误位置;
[0235]
将所述第一候选集按照与所述检测结果中的错误位置的词性是否相同进行分类,得到词性相同的第一类别和词性不同第二类别;
[0236]
计算所述第一类别中多个备选词和所述第二类别中多个备选词的概率;所述概率用于表示所述待纠错中文文本经过备选词替换后的合理性;
[0237]
选取所述第一类别中概率最大对应的备选词和所述第二类别中概率最大对应的备选词分别替换所述检测结果中的错误位置,得到第一文本。
[0238]
可选的,第一处理单元,具体用于:
[0239]
计算所述第一类别中概率最大对应的备选词替换所述错误位置后对应文本的第三文本困惑度,并计算所述第二类别中概率最大对应的备选词替换所述错误位置后对应文本的第四文本困惑度;
[0240]
判断所述第三文本困惑度是否大于所述第四文本困惑度,若是,则确定所述第四文本困惑度为第一文本困惑度,否则,则确定所述第三文本困惑度为第一文本困惑度。
[0241]
可选的,所述装置还包括验证模块,所述验证模块,用于:
[0242]
在对中文文本进行纠错后,获取所述纠错结果,经过工作人员判断所述纠错结果是否合理;
[0243]
若合理,则将所述纠错结果进行可视化显示,用于供用户查看;
[0244]
若不合理,则发送指示信息,用于指示用户或工作人员对所述待纠错中文文本进行纠错。
[0245]
本技术实施例提供的中文文本纠错装置的具体实现原理和效果可以参见上述实施例对应的相关描述和效果,此处不做过多赘述。
[0246]
示例性的,本技术实施例还提供一种电子设备的结构示意图,图6为本技术实施例提供的一种电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器602以及与所述处理器通信连接的存储器601;该存储器601存储计算机程序;该处理器602执行该存储器601存储的计算机程序,使得该处理器602执行上述任一实施例所述的方法。
[0247]
其中,存储器601和处理器602可以通过总线603连接。
[0248]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序执行指令,计算机执行指令被处理器执行时用于实现如本技术前述任一实施例中的中文文本纠错方法。
[0249]
本技术实施例还提供一种运行指令的芯片,该芯片用于执行如本技术前述任一实施例中由电子设备所执行的中文文本纠错方法。
[0250]
本技术实施例还提供一种计算机程序产品,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行本技术前述任一实施例中由电子设备所执行的中文文本纠错方法。
[0251]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0252]
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
[0253]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0254]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的部分步骤。
[0255]
应理解,上述处理器可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路
(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0256]
存储器可能包含高速随机存取存储器(random access memory,ram),也可能还包括非不稳定的存储器(non-volatile memory,nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0257]
总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0258]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0259]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
[0260]
以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献