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

文本纠错方法和装置与流程

2022-02-20 04:47:56 来源:中国专利 TAG:


1.本公开涉及文字处理,特别涉及文本纠错方法和装置。


背景技术:

2.人们在使用各种输入工具输入文本的时候,会出现拼写、形近、音近等方面的输入错误。
3.一方面,拼写错误会使得文本更容易被误解、会影响人们文字交流的效率。另一方面,在很多严谨的文书场景中,比如司法、合同等,对拼写错误的容忍度非常低。而如果采用人工来对所输入文本进行校对则非常耗时耗力。这就使得自动对文本进行拼写检查和纠错的需求日益增加。
4.拼写纠错是一种自动对文本中拼写错误进行纠正,产生正确文本的技术。
5.像英文这样的西欧语言上的拼写纠错系统都较为成熟,它们主要依赖于词粒度的检查和纠正。
6.而中文与英文等西欧语言有非常大的不同。
7.首先,中文汉字数量非常多,常用汉字就有超过3000个。这使得中文纠错系统的搜索空间远大于英文。
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.可选地,所述语言模型为多层双向lstm网络模型或cnn模型。
35.可选地,该方法还可以:使用无监督语料训练所述语言模型。
36.可选地,所述语言模型为多层双向lstm网络模型,所述使用无监督语料训练所述语言模型的步骤包括:对无监督语料进行字符切分,并添加起始标记符号和终止标记符号,形成训练字符序列;对于训练字符序列中的字符:将所述字符之前各字符的正向序列输入正向lstm得到第一隐层表示,将所述字符之后各字符的反向序列输入反向lstm得到第二隐层表示,拼接第一隐层表示和第二隐层表示得到第三隐层表示,基于第三隐层表示,使用前向网络和softmax,预测所述字符的条件概率,通过反向传播算法更新所述语言模型。
37.可选地,所述文本是句子或短语或包含预定数量字符的文本片段。
38.可选地,该方法还可以:针对至少一个原字符,基于相似语音或相似字形,进一步获得一个或多个候选替换字符。
39.根据本公开的第七个方面,提供了一种文本纠错方法,包括:对文本进行切分,得到多个文本元素;针对至少一个文本元素,使用语言模型,基于所述文本中的上下文分别获得一个或多个候选替换元素以及所述文本元素及其候选替换元素的条件概率;以及结合所述上下文,基于所述条件概率,针对所述至少一个文本元素中的每一个,从所述文本元素及其候选替换元素中选择中选元素,从而生成纠错结果文本,其中,在所述文本中使用中选元素替代对应的文本元素。
40.根据本公开的第八个方面,提供了一种语音输入方法,包括:接收用户输入的语音;将所接收到的语音识别为文本;对文本进行字符切分,得到多个原字符;针对至少一个原字符,使用语言模型,基于所述文本中的上下文分别获得一个或多个候选替换字符以及原字符及其候选替换字符的条件概率;以及结合所述上下文,基于所述条件概率,针对所述至少一个原字符中的每一个,从原字符及其候选替换字符中确定中选字符,从而生成纠错结果文本,其中,在所述文本中使用中选字符替代对应的原字符。
41.根据本公开的第九个方面,提供了一种文字输入方法,包括:接收用户输入的文本;对文本进行字符切分,得到多个原字符;针对至少一个原字符,使用语言模型,基于所述文本中的上下文分别获得一个或多个候选替换字符以及原字符及其候选替换字符的条件概率;以及结合所述上下文,基于所述条件概率,针对所述至少一个原字符中的每一个,从原字符及其候选替换字符中确定中选字符,从而生成纠错结果文本,其中,在所述文本中使
用中选字符替代对应的原字符。
42.根据本公开的第十个方面,提供了一种文章纠错方法,包括:从所述文章中提取文本,所述文本是句子或短语或包含预定数量字符的文本片段;对文本进行字符切分,得到多个原字符;针对至少一个原字符,使用语言模型,基于所述文本中的上下文分别获得一个或多个候选替换字符以及原字符及其候选替换字符的条件概率;以及结合所述上下文,基于所述条件概率,针对所述至少一个原字符中的每一个,从原字符及其候选替换字符中确定中选字符,从而生成纠错结果文本,其中,在所述文本中使用中选字符替代对应的原字符。
43.根据本公开的第十一个方面,提供了一种文本纠错装置,包括:字符切分装置,用于对文本进行字符切分,得到多个原字符;候选生成装置,用于针对至少一个原字符,使用语言模型,基于所述文本中的上下文分别获得一个或多个候选替换字符以及原字符及其候选替换字符的条件概率;以及解码装置,用于结合所述上下文,基于所述条件概率,针对所述至少一个原字符中的每一个,从原字符及其候选替换字符中确定中选字符,从而生成纠错结果文本,其中,在所述文本中使用中选字符替代对应的原字符。
44.根据本公开的第十二个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一至四、六至十方面所述的方法。
45.根据本公开的第十三个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一至四、六至十方面所述的方法。
46.由此,本公开提出了语义混淆集,结合语义相似性,通过上下文语义生成有效的候选,对于非相似发音、非相似字形的拼写错误具有良好的覆盖度,可以有效提高纠错效率和性能。
附图说明
47.通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
48.图1是根据本公开的文本纠错方案示例的示意图。
49.图2是根据本公开的文本纠错方法的示意性流程图。
50.图3是根据本公开的文本纠错装置的示意性框图。
51.图4是实施例中对语言模型的训练方法的示意性流程图。
52.图5示出了根据本发明一实施例可用于实现上述文本纠错方法的计算设备的结构示意图。
具体实施方式
53.下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
54.本公开基于语言模型提出了语义混淆集,依靠文本上下文语义信息来生成候选,可以不受字音字形的约束,能够有效地处理既不音近也不形近的拼写错误,可以作为传统的字音字形混淆集的有效补充。
55.图1是根据本公开的文本纠错方案示例的示意图。
56.在图1所示出的示例中,用户希望输入“人生中的风雨不计其数”。
57.通过语音输入或键盘输入等方式,输入到系统中,得到“人生中的风雨不尽其数”。
58.使用语言模型基于上下文分析后,得出:
[0059]“人”字的候选替换(混淆集)可以有“一”;
[0060]“中”字的候选替换可以有“里”、“内”;
[0061]“风”字的候选替换可以有“雪”;
[0062]“尽”字的候选替换可以有“计”。
[0063]
基于条件概率解码分析后,确定应当将“尽”纠正为“计”,而其它字词不变。
[0064]
从而输出“人生中的风雨不计其数”作为文本纠错结果。
[0065]
下面参考图2至图4进一步详细描述根据本公开的文本纠错方案。
[0066]
图2是根据本公开的文本纠错方法的示意性流程图。
[0067]
图3是根据本公开的文本纠错装置的示意性框图。
[0068]
如图3所示,根据本公开的文本纠错装置300可以包括字符切分装置310、候选生成装置320、解码装置340。在优选实施例中,还可以进一步包括词库筛选装置330。
[0069]
如图2所示,在步骤s210,例如可以通过字符切分装置310,对待纠错文本进行字符切分,得到多个原字符。
[0070]“原字符”即文本中原有的字符。
[0071]
这里,“文本”可以是句子或短语。
[0072]
或者,在一些情况下,“文本”还可以包含预定数量字符的文本片段。例如整句较长时,可以截取其中一部分(例如可以以逗号等标点符号进行划分,或者以特定字符进行划分)作为“文本”进行分析校正。
[0073]
在对文本进行字符切分的时候,可以将文本中的表意文字、标点符号切分为单个字符。
[0074]
特别地,在中文输入的场景下,这里的表意文字可以为中文,相应字符为汉字。
[0075]
另一方面,在对文本进行字符切分的时候,对于英文等表音文字,可以按单词切分。
[0076]
另外,对于各种数字,可以按数字表达规范来进行切分。
[0077]
例如,对于文本
[0078]“我惊天11点,吃kfc”,
[0079]
将其切分为“我|惊|天|11|点|,|吃|kfc”。
[0080]
然后,在步骤s220,例如可以通过候选生成装置320,为切分得到的多个原字符中的每一个汉字生成语义候选替换字。
[0081]
这里,可以基于待纠错文本中的上下文信息,来为切分得到的每一个汉字获得候选替换字。
[0082]
在一些实施例中,还可以计算每一个汉字及其语义候选替换字的条件概率,以便
后续用来确定最终中选的替换字(可替换字)。
[0083]
在一些实施例中,可以使用语言模型来对原字符中的每一个汉字生成语义候选替换字。或者,在一些实施例中,还可以使用语言模型来对原字符中的各种字符,包括汉字、表音文字、数字等,生成语义候选替换字符。在下文关于针对原字符及其对应的语义候选替换字符的表述中,如果仅对其中的汉字执行根据本公开的纠错处理,则可以相应理解为原字符中的汉字及其语义语义候选替换字。
[0084]
例如,针对至少一个原字符(特别是其中的汉字),可以使用语言模型,基于文本中的上下文分别获得一个或多个语义候选替换字符以及原字符及其语义候选替换字符的条件概率。
[0085]
这里的“条件概率”可以是指,在给定上下文的情况下,特别是给定上文/前文字符(或字符序列)的条件下,选择该字符的概率。换言之,当选择不同的上下文(特别是上文/前文)字符时,当前字符的条件概率可以不同。
[0086]
语言模型是一种机器学习模型,用于建模一段连续序列(例如文本)的概率分布。
[0087]
实施例中所采用的语言模型可以为各种网络模型结构,例如多层双向lstm网络模型、cnn模型等。
[0088]
这样,对于输入文本,可以利用语言模型来生成语义混淆集(另外,还可以附带字音混淆集和/或字形混淆集),针对每一个汉字生成语义候选,即根据语义判断认为可能替换该汉字的候选汉字。
[0089]
可以通过无监督语料来对该语言模型进行训练,以便有效地利用上下文语义信息生成语义候选替换字符。
[0090]
下面,以多层双向lstm网络模型为例,参考图4简单描述一下对语言模型的训练过程。
[0091]
图4是实施例中对语言模型的训练方法的示意性流程图。
[0092]
首先,对无监督语料进行字符切分,并添加起始标记符号(例如“start”)和终止标记符号(例如“end”),形成训练字符序列。
[0093]
例如,输入一个句子,“人生中的风雨不计其数”作为无监督训练语料,对其进行字符切分,并增加起始标记字符和终止标记符号,得到[start,人,生,中,的,风,雨,不,计,其,数,end]。
[0094]
然后,可以使用多层双向lstm网络模型对句子中的每一个字进行预测。
[0095]
如图4所示,对于训练字符序列中的字符,例如上述训练字符序列文本“中”,可以分别执行下述操作。
[0096]
在步骤s410,将该字符(例如“中”)之前各字符的正向序列([start,人,生])输入正向lstm得到第一隐层表示h1。
[0097]
在步骤s420,将该字符(例如“中”)之后各字符的反向序列([end,数,其,计,不,雨,风,的])输入反向lstm得到第二隐层表示h2。
[0098]
在步骤s430,拼接第一隐层表示h1和第二隐层表示h2,得到第三隐层表示h3=[h1,h2]。
[0099]
在步骤s440,基于第三隐层表示h3,例如使用前向网络和softmax,预测该字符(“中”)的条件概率。
[0100]
然后,在步骤s450,例如通过反向传播算法更新语言模型。
[0101]
由此,可以基于大量无监督语料对语言模型进行训练,使得其能够有效地利用上下文语义信息生成候选。
[0102]
在实际进行文本纠错处理时,例如,对于一个输入句子,例如“人生中的风雨不尽其数”,经过步骤s210的字符切分,增加起始和终止标记符号,得到[start,人,生,中,的,风,雨,不,尽,其,数,end]。
[0103]
利用训练好的语言模型可以生成每一个汉字的语义候选,例如“人”除了自身以外,生成候选有“一”等;“中”的候选有“里”,“内”等;“风”的候选有“雪”;“尽”的候选里有“计”,“如”等。
[0104]
可选地,还可以在步骤s230,例如可以通过词库筛选装置330,基于词库,对候选替换字符进行筛选。步骤s230例如可以在最终从原字符及其语义候选替换字符中确定中选字符之前执行。步骤s230和词库筛选装置330不是实现本公开的文本纠错方法所必须的,因此,图中采用虚线框来示出。
[0105]
这里,可以针对上述至少一个原字符中的每一个,删除不能与文本中原字符的相邻字符和/或相邻字符的语义候选替换字符组成词库中的词的语义候选替换字符。
[0106]
换言之,对于一个语义候选替换字,例如可以称为“第一语义候选替换字”,如果在词库中,不存在第一候选替换字与相邻的候选替换字组成的词,则可以删除该第一候选替换字。
[0107]
词库中的词可以来源于词典、文本划分、人工收集、网络自动收集等。
[0108]
例如,“人生”和“一生”都可以是词库中的词,所以都可以保留。而词库中没有“不尽其数”这个词,只有“不计其数”。所以删除在候选集合(语义混淆集)中删除“尽”,保留“计”。
[0109]
这样,通过借助词库来进一步进行筛选,可以筛除部分不恰当的候选替换字符(或替换字),减少后续解码处理的工作量。
[0110]
另外,如果不经过步骤s230语言模型的分析,直接使用词库来确定候选,则需要非常大的工作量。
[0111]
本公开通过使用语言模型,可以显著降低后续词库查找和/或解码处理的工作量。
[0112]
于是,在步骤s240,例如可以通过解码装置340,对语义候选替换字进行排序解码,生成纠错结果。
[0113]
在一些实施例中,例如在步骤s220中每一个汉字生成语义候选替换字的同时或之后,还计算了每一个汉字及其语义候选替换字的条件概率的情况下,在步骤s240中,可以根据条件概率对每一个汉字进行语义候选替换字的排序解码,确定可替换字,从而生成纠错结果。
[0114]
例如,在一些实施例中,可以结合上下文,基于条件概率,针对至少一个原字符中的每一个,从原字符及其候选替换字符中确定中选字符(可替换字符),从而生成纠错结果文本。
[0115]
这里,通过在文本中使用中选字符(可替代字)替代对应的原字符,生成纠错结果文本。
[0116]
基于每个中选字符的条件概率,可以计算中选字符序列的联合概率。例如,可以以
每个字符在当前上下文条件下的条件概率的乘积作为整个字符序列的联合概率。
[0117]
每个字符的调整都可能改变其它字符的条件概率,从而改变整个字符序列的联合概率。
[0118]
这里,例如可以使用束搜索方法,来选择使得联合概率最大化的中选字符序列。
[0119]
于是,可以选择使得联合概率最大化的中选字符序列作为纠错结果文本。
[0120]
另外,在计算字符序列的联合概率之前,特别是对于可替换字较多的汉字,可以根据该汉字及其可替换字的条件概率进行筛选,保留条件概率较高的部分字或可替换字。这样,可以降低后续计算字符序列的联合概率、确定最终纠错结果文本的计算复杂度,提高效率。
[0121]
至此,基于上下文语义,提供了语义混淆集,不需要依赖于相似字形或相似发音,即可实现拼写错误的发现与纠正。
[0122]
另外,也可以基于相似发音和/或相似字形,进一步提供发音混淆集或字形混淆集。即,针对至少一个原字符,还可以基于相似语音或相似字形,进一步获得一个或多个候选替换字符。由此,基于发音或字形来进一步进行拼写错误的检查与纠正。
[0123]
上文中,主要以汉字字符为纠错单元的示例,描述了文本纠错方法。应当理解,这里的纠错单元也可以是其它的文本元素,例如词语或单词等。
[0124]
这样,在文本纠错过程中,可以对文本进行切分,得到多个文本元素。
[0125]
针对这样的至少一个文本元素,使用语言模型,可以基于文本中的上下文分别获得一个或多个候选替换元素以及文本元素及其候选替换元素的条件概率。语言模型可以与上述语言模型基本相同。只是针对这样的文本元素来进行了训练。
[0126]
然后,结合上下文,基于条件概率,针对至少一个文本元素中的每一个,可以从文本元素及其候选替换元素中选择中选元素,从而生成纠错结果文本,其中,在文本中使用中选元素替代对应的文本元素。
[0127]
作为应用示例,本公开提出的文本纠错方法可以应用于语音识别得到文本的纠错。
[0128]
例如,可以与语音输入模块或语音文本输入框关联地提供纠错选项,以便用户选择是否执行对语音输入文本的自动纠错。在用户选择执行自动纠错的情况下,可以采用根据本公开的文本纠错方法对用户通过语音输入的文本进行纠错。
[0129]
这样,在语音识别过程中,接收用户输入的语音,将所接收到的语音识别为文本。
[0130]
然后对文本进行字符切分,得到多个原字符。
[0131]
为多个原字符中的每一个汉字生成语义候选替换字,并对语义候选替换字进行排序解码,生成纠错结果。
[0132]
在一些实施例中,针对至少一个原字符,例如可以使用语言模型,可以基于文本中的上下文分别获得一个或多个候选替换字符以及原字符及其候选替换字符的条件概率。
[0133]
然后,结合上下文,基于条件概率,针对至少一个原字符中的每一个,可以从原字符及其候选替换字符中确定中选字符,从而生成纠错结果文本,其中,在文本中使用中选字符替代对应的原字符。
[0134]
或者,本公开提出的文本纠错方法也可以应用于对用户通过键盘、写字板等各种方式输入的文本的纠错。
[0135]
例如,可以与文本输入模块或文本输入框关联地提供纠错选项,以便用户选择是否执行对语音输入文本的自动纠错。在用户选择执行自动纠错的情况下,可以采用根据本公开的文本纠错方法对用户通过键盘、写字板等方式输入的文本进行纠错。
[0136]
在用户通过各种方式输入文本的过程中,接收用户输入的文本,对文本进行字符切分,得到多个原字符。
[0137]
为多个原字符中的每一个汉字生成语义候选替换字,并对语义候选替换字进行排序解码,生成纠错结果。
[0138]
在一些实施例中,针对至少一个原字符,例如可以使用语言模型,可以基于文本中的上下文分别获得一个或多个候选替换字符以及原字符及其候选替换字符的条件概率。
[0139]
然后,结合上下文,基于条件概率,针对至少一个原字符中的每一个,可以从原字符及其候选替换字符中确定中选字符,从而生成纠错结果文本,其中,在文本中使用中选字符替代对应的原字符。
[0140]
或者,本公开提出的文本纠错方法还可以应用于现有文章中的文字拼写等错误的查找与纠正。
[0141]
这里的文章可以是广义的,包括各种已经输入到计算设备中,并保存在存储介质上的各种形式的文字内容。可以是论文、信函、广告文本、通知、小说。“文章”可以是完整的,也可以是不完整的。
[0142]
在执行文章纠错时,可以从文章中提取文本。文本是句子或短语或包含预定数量字符的文本片段。
[0143]
对文本进行字符切分,得到多个原字符。
[0144]
为多个原字符中的每一个汉字生成语义候选替换字,并对语义候选替换字进行排序解码,生成纠错结果。
[0145]
在一些实施例中,针对至少一个原字符,例如可以使用语言模型,可以基于文本中的上下文分别获得一个或多个候选替换字符以及原字符及其候选替换字符的条件概率。
[0146]
然后,结合上下文,基于条件概率,针对至少一个原字符中的每一个,可以从原字符及其候选替换字符中确定中选字符,从而生成纠错结果文本,其中,在文本中使用中选字符替代对应的原字符。
[0147]
由此,使用纠错结果文本替代文章中的相应文本。对文章中的所有可提取或希望提取的文本(句子、短语或文本片段)都完成了上述文本纠错过程,便可以实现对整篇文章的纠错。
[0148]
本公开基于语言模型提出了语义混淆集,依靠文本上下文语义信息生成候选(语义混淆集),不受字音/字形的约束,能够有效地处理既不音近也不形近的拼写错误。
[0149]
另外,也可以进一步结合音形混淆集,考虑发音相似性、字形相似性,可以进一步提高纠错效率和性能。
[0150]
由此,本公开的技术方案可以作为传统的字音字形混淆集的一个有效补充,同时也能大大减少人工对于拼音字形关系的介入。
[0151]
图5示出了根据本发明一实施例可用于实现上述文本纠错方法的计算设备的结构示意图。
[0152]
参见图5,计算设备500包括存储器510和处理器520。
[0153]
处理器520可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器520可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(gpu)、数字信号处理器(dsp)等等。在一些实施例中,处理器520可以使用定制的电路实现,例如特定用途集成电路(asic,application specific integrated circuit)或者现场可编程逻辑门阵列(fpga,field programmable gate arrays)。
[0154]
存储器510可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器520或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器510可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器510可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
[0155]
存储器510上存储有可执行代码,当可执行代码被处理器520处理时,可以使处理器520执行上文述及的方法。
[0156]
上文中已经参考附图详细描述了根据本发明的文本纠错方案。
[0157]
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
[0158]
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
[0159]
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
[0160]
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0161]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也
不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

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

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

相关文献