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

一种中文文本多字自动检测识别的实现方法与流程

2022-02-20 13:52:31 来源:中国专利 TAG:


1.本发明涉及文本识别领域,具体涉及一种中文文本多字自动检测识别的实现方法。


背景技术:

2.目前,针对中文文本,错别字、敏感字都有一些相对不错的检测方案;针对错别字,有kenlm统计语言模型工具、transformer模型、conv_seq2seq模型、bert模型以及以bert为基础的改进模型等方式进行检测识别;针对敏感词,采用记录敏感词数据库,然后检测匹配的方式进行检测识别。虽然错别字和敏感词检测识别的精准率和召回率有待进步,但是检测结果可以给人提供一定的参考,大大减少了人工工作量。
3.其中,在错别字识别方面,pycorrector是一个中文文本纠错工具。pycorrector依据语言模型检测错别字位置,通过拼音音似特征、笔画五笔编辑距离特征及语言模型困惑度特征纠正错别字。集成了上面提到的多种模型,并提供了针对多种模型的快速使用方式,比如:pycorrector集成bert检测识别错别字。但是这种方式只能比较好的识别出中文文本中错别字,如果中文文本中出现多余的字,则是不能很好的去识别。本文则是在pycorrector和bert处理错别字的基础上,进行一些设计,检测查找中文文本中存在的多余字。


技术实现要素:

4.本发明的目的在于提供一种中文文本多字自动检测识别的实现方法,以解决上述背景技术中提出的问题。
5.为实现上述目的,本发明采用了如下技术方案:
6.一种中文文本多字自动检测识别的实现方法,其特征在于,包括对中文文本的整体处理流程和对中文短句的具体处理流程,具体包括运行开始,随机输入中文文本,对中文文本进行utf-8统一编码处理,然后根据标点符号切分中文文本,输出切分后的短句列表,循环处理中文短句列表中的每个中文短句,获取中文短句中可能的多字和多字位置信息等,然后判断中文短句列表是否全部处理,如否则继续循环处理中文短句列表中的每个中文短句,如是则将所有短句中可能存在的多字信息整理后输出,运行结束。
7.所述对中文文本的整体处理流程具体包括:
8.s1.1:通过输入或者主动加载的方式获取到要检测的中文文本;
9.s1.2:对中文文本做预处理,进行utf-8统一编码处理;
10.s1.3:将编码后中文文本依据中文本文中的“。”、“?”、“!”符号进行切分,并保留切分后的标点符号在上一句的句尾,切分后的中文文本组成中文短句列表;
11.s1.4:切分后的中文短句列表,依次循环处理每个中文短句,使用pycorrector的bert模型对可能多余的字进行预测,得到可能多余的字和和可能多余的字位置等信息,并对结果进行整理输出。
12.所述对中文短句的具体处理流程具体包括:
13.s2.1:取到一个中文短句;
14.s2.2:对中文短句下标n(n依次取0到中文短句长度-2)的字和后面一个字,两个字一块添加[mask]遮罩;
[0015]
例如短句为:今天心里情很好;
[0016]
n=0时,遮罩后结果为:[mask]心里情很好;
[0017]
n=2时,遮罩后结果为:今天[mask]情很好;
[0018]
s2.3:使用bert模型对[mask]遮罩后的中文短句进行预测合适的字,预测结果取top5即可,预测的top5信息示例如下:
[0019]
[0020][0021]
s2.4:提取出预测结果top5中的预测信息,并循环依次判断中文短句在当前[mask]位置多字的可能性,依据以下条件:
[0022]
(1)、预测结果中'score'分值大于0.90('score'分值的取值在0-1之间,数值越大,代表中文短句[mask]位置加入预测的文字后更合适,判定'score'的阈值可以根据实际情况调整);
[0023]
(2)预测结果中'token_str'预测的文字和中文短句当前[mask]位置的两个字中的第一个字相同;
[0024]
如果上面2点都满足,则认为当前[mask]位置可能多字[mask]两个字的第二个字,保留预测结果,并整理预测结果为:
[0025]
{
[0026]
'context':'今天心里情很好',
[0027]
'correct_content':'今天心情很好',
[0028]
'correct_word':'心',
[0029]
'score':0.9414968490600586,
[0030]
'pos_start':2,
[0031]
'pos_end':3,
[0032]
'text_pos_start':2',
[0033]
text_pos_end':3
[0034]
}
[0035]
每个字段代表含义如下:
[0036]
'context':原中文短句,
[0037]
'correct_content':去掉预测多字后中文短句,
[0038]
'correct_word':预测多字位置替换文字,
[0039]
'score':多字去掉后的算分,
[0040]
'pos_start'多字的起始位置,
[0041]
'pos_end':多字的结束位置,
[0042]
'text_pos_start'多字在整个中文文本中的起始位置,
[0043]
text_pos_end':多字在整个中文文本中的结束位置;
[0044]
s2.5:中文短句下标n 1,然后重复2-4步骤,直到n的值为中文短句长度-2结束;
[0045]
s2.6:将所有保留的预测后整理的结果输出。
[0046]
本发明提供了一种中文文本多字识别的实现方法,人工查看中文文本是否错字、多字,费时费力,使用本文提供的识别方式后,可以提前查找中文文本可能存在的错别字和多字,大大减少了人力成本。本发明可以用于各种中文文本中,具有广泛的应用前景。
附图说明
[0047]
图1为本发明中文文本多字自动检测识别的实现方法整体流程图;
[0048]
图2为本发明中文文本多字识别的单个中文短句识别流程图。
具体实施方式
[0049]
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0050]
实施例1
[0051]
如图1所示,一种中文文本多字自动检测识别的实现方法,其特征在于,包括对中文文本的整体处理流程和对中文短句的具体处理流程,具体包括运行开始,随机输入中文文本,对中文文本进行utf-8统一编码处理,然后根据标点符号切分中文文本,输出切分后的短句列表,循环处理中文短句列表中的每个中文短句,获取中文短句中可能的多字和多
字位置信息等,然后判断中文短句列表是否全部处理,如否则继续循环处理中文短句列表中的每个中文短句,如是则将所有短句中可能存在的多字信息整理后输出,运行结束。
[0052]
所述对中文文本的整体处理流程具体包括:
[0053]
s1.1:通过输入或者主动加载的方式获取到要检测的中文文本;
[0054]
s1.2:对中文文本做预处理,进行utf-8统一编码处理;
[0055]
s1.3:将编码后中文文本依据中文本文中的“。”、“?”、“!”符号进行切分,并保留切分后的标点符号在上一句的句尾,切分后的中文文本组成中文短句列表;
[0056]
s1.4:切分后的中文短句列表,依次循环处理每个中文短句,使用pycorrector的bert模型对可能多余的字进行预测,得到可能多余的字和和可能多余的字位置等信息,并对结果进行整理输出。
[0057]
如图2所示,所述对中文短句的具体处理流程具体包括:
[0058]
s2.1:取到一个中文短句;
[0059]
s2.2:对中文短句下标n(n依次取0到中文短句长度-2)的字和后面一个字,两个字一块添加[mask]遮罩;
[0060]
例如短句为:今天心里情很好;
[0061]
n=0时,遮罩后结果为:[mask]心里情很好;
[0062]
n=2时,遮罩后结果为:今天[mask]情很好;
[0063]
s2.3:使用bert模型对[mask]遮罩后的中文短句进行预测合适的字,预测结果取top5即可,预测的top5信息示例如下:
[0064]
[0065][0066]
s2.4:提取出预测结果top5中的预测信息,并循环依次判断中文短句在当前[mask]位置多字的可能性,依据以下条件:
[0067]
(1)、预测结果中'score'分值大于0.90('score'分值的取值在0-1之间,数值越大,代表中文短句[mask]位置加入预测的文字后更合适,判定'score'的阈值可以根据实际情况调整);
[0068]
(2)预测结果中'token_str'预测的文字和中文短句当前[mask]位置的两个字中的第一个字相同;
[0069]
如果上面2点都满足,则认为当前[mask]位置可能多字[mask]两个字的第二个字,保留预测结果,并整理预测结果为:
[0070]
{
[0071]
'context':'今天心里情很好',
[0072]
'correct_content':'今天心情很好',
[0073]
'correct_word':'心',
[0074]
'score':0.9414968490600586,
[0075]
'pos_start':2,
[0076]
'pos_end':3,
[0077]
'text_pos_start':2',
[0078]
text_pos_end':3
[0079]
}
[0080]
每个字段代表含义如下:
[0081]
'context':原中文短句,
[0082]
'correct_content':去掉预测多字后中文短句,
[0083]
'correct_word':预测多字位置替换文字,
[0084]
'score':多字去掉后的算分,
[0085]
'pos_start'多字的起始位置,
[0086]
'pos_end':多字的结束位置,
[0087]
'text_pos_start'多字在整个中文文本中的起始位置,
[0088]
text_pos_end':多字在整个中文文本中的结束位置;
[0089]
s2.5:中文短句下标n 1,然后重复2-4步骤,直到n的值为中文短句长度-2结束;
[0090]
s2.6:将所有保留的预测后整理的结果输出。
[0091]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为发明的优选例,并不用来限制本发明,在不脱离本发明新型精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

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

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

相关文献