一种基于相似度进行中文文本纠错的实现方法技术

技术编号:34015802 阅读:20 留言:0更新日期:2022-07-02 15:43
本发明专利技术提供了一种基于相似度进行中文文本纠错的实现方法,其特征在于,包括如下步骤:进行词库编译;利用编译好的词库,使用字哈希对待检测文本进行标记,得到一个待检测文本对应的序列,记录id;使用双字哈希对序列进行计算处理,找出待检测文本中所有与词库相似的词,计算后得到一个疑似相似词列表;对S3中所述的疑似相似词列表中的每个词进行相似度计算,保留相似度大于70的词,计算后得疑似错误列表;纠错。本发明专利技术可以提前查找中文文本可能存在的错误,大大减少了人力成本,并且能够提高现有文本纠错的检出率和正确率,具有广泛的应用前景,还可以应用于抄袭判断,文章查重等。文章查重等。文章查重等。

【技术实现步骤摘要】
一种基于相似度进行中文文本纠错的实现方法


[0001]本专利技术涉及文本纠错领域,具体涉及一种基于相似度进行中文文本纠错的实现方法。

技术介绍

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

技术实现思路

[0004]本专利技术的目的在于提供一种基于相似度进行中文文本纠错的实现方法,实现对现有中文文本纠错方法的检出率和正确率进行改进,更好地发现和纠正表述错误,减少文字工作者的校对工作量,提高工作效率。本专利技术的核心是一种快速的相似度计算方法,文本纠错只是一个具体的应用,除此之外,还可以应用于抄袭判断,文章查重等。以解决上述
技术介绍
中提出的问题。
[0005]为实现上述目的,本专利技术采用了如下技术方案:
[0006]一种基于相似度进行中文文本纠错的实现方法,其特征在于,包括如下步骤:
[0007]S1:进行词库编译,在词库中收录固定的表述,多字、少字、换成其它字都是错误的,使词的长度大于4个字,完成后获得一个可以进行快速检索的数据结构;
[0008]S2:利用S1中编译好的词库,使用字哈希对待检测文本进行标记,得到一个待检测文本对应的序列,记录了待检测文本中每个字符对应的所有词的id,这些词都来自编译好的词库;
[0009]S3:使用双字哈希对S2中所述的序列进行计算处理,找出待检测文本中所有与词库相似的词,主要依据是词库中词的字在待检测文本中出现的离散度小于3且出现次数大于词长度的50%,计算后得到一个疑似相似词列表;
[0010]其中,离散度即连续出现不在正确词中的字符的个数;
[0011]S4:对S3中所述的疑似相似词列表中的每个词进行相似度计算,保留相似度大于70的词,计算后得疑似错误列表;
[0012]S5:纠错,过滤掉疑似错误列表中满足以下条件之一的词,余下的就是最终纠错结
果:
[0013]1)相似度为100的;
[0014]2)相似度小于100,但其是相似为100的词的真子串。
[0015]所述S1中,对词库编译处理流程如下:
[0016]S1.1:准备工作:词集合,已完成编译的所有词;字哈希:key是字符,value是所有包含这个字符的词的id的集合;双字哈希:key是两个字符,value是同时包含key中两字符的词的id的集合,其中字符对顺序没有要求;
[0017]S1.2:如果待编译词已存在于词集合中,则完成编译;否则把待编译词加入词集合,同时就拥有了id,并进入S1.3;
[0018]S1.3:对待编译词中的每个字符进行以下处理:
[0019]如果是字哈希的key,则在对应的词id集合中加入待编译词的id;否则,在字哈希中加入这个字符的key,对应的value为只有待编译词id一个元素的集合,同时在双字哈希是加入这个字符与所有字哈希的key组合作为key,value为空集合的值;
[0020]S1.4:双字哈希所有key中两个字符都在待编译词中的value,都加入待编译词id。
[0021]所述S5中,相似度计算流程如下:
[0022]S5.1:准备:差异,用于记录两个词的不同,初始为0;正确词,是我们用于编译的词;相似词,是待检测文本中的词;
[0023]S5.2:差异+=字符(属于正确词且不属于相似词)个数*相似词长度;
[0024]S5.3:差异+=字符(属于相似词且不属于正确词)个数*正确词长度;
[0025]S5.4:对每个既属于正确词又属于相似词的字符,按以下方式计算差异;
[0026]S5.5:差异+=|正确词中的出现位置

相似词中的出现位置|;
[0027]S5.6:相似度=100

差异*100/(正确词长度*相似词长度)。
[0028]与现有技术相比,本专利技术的有益效果在于:
[0029]本专利技术提供了一种中文文本纠错的实现方法,人工查看中文文本是否有错误,费时费力,使用本文提供的纠错方式后,可以提前查找中文文本可能存在的错误,大大减少了人力成本,并且能够提高现有文本纠错的检出率和正确率。本专利技术可以用于各种中文文本中,具有广泛的应用前景。本专利技术的核心是一种快速的相似度计算方法,文本纠错只是一个具体的应用,除此之外,还可以应用于抄袭判断,文章查重等。
附图说明
[0030]图1为本专利技术基于相似度文本纠错的整体流程示意图;
[0031]图2为本专利技术词库编译流程示意图;
[0032]图3为本专利技术相似度计算流程示意图;
[0033]图4为本实施例软件部署完成后的拓扑图。
具体实施方式
[0034]下面将结合本专利技术的附图,对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于
本专利技术的保护范围。
[0035]这是纯粹的软件系统,可以部署成一个独立的系统,也可以与其它系统集成部署,一个部署实施方式如下:
[0036]实施例1
[0037]1、硬件环境配置要求:
[0038]配置项建议参数CPU2核,主频不低于2.0GHz内存不小于8GB硬盘转速7200,不小于100GB网卡千兆网卡
[0039]2、建议系统采用微服务架构进行设计、使用容器进行部署,这样做的好处有:
[0040]提高系统的可靠性、可用性;使用扩容和缩容变得非常容易;降低与其它系统集成的难度;
[0041]3、开发语言建议使用java,开发效率高并且系统可以跨平台部署;
[0042]4、相关软件:操作系统建议CentOS7.0以上,jdk1.8;
[0043]部署完成后的拓扑图如图4所示。
[0044]以上显示和描述了本专利技术的基本原理、主要特征和本专利技术的优点。本行业的技术人员应该了解,本专利技术不受上述实施例的限制,上述实施例和说明书中描述的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于相似度进行中文文本纠错的实现方法,其特征在于,包括如下步骤:S1:进行词库编译,在词库中收录固定的表述,多字、少字、换成其它字都是错误的,使词的长度大于4个字,完成后获得一个可以进行快速检索的数据结构;S2:利用S1中编译好的词库,使用字哈希对待检测文本进行标记,得到一个待检测文本对应的序列,记录了待检测文本中每个字符对应的所有词的id,这些词都来自编译好的词库;S3:使用双字哈希对S2中所述的序列进行计算处理,找出待检测文本中所有与词库相似的词,主要依据是词库中词的字在待检测文本中出现的离散度小于3且出现次数大于词长度的50%,计算后得到一个疑似相似词列表;其中,离散度即连续出现不在正确词中的字符的个数;S4:对S3中所述的疑似相似词列表中的每个词进行相似度计算,保留相似度大于70的词,计算后得疑似错误列表;S5:纠错,过滤掉疑似错误列表中满足以下条件之一的词,余下的就是最终纠错结果:1)相似度为100的;2)相似度小于100,但其是相似为100的词的真子串。2.根据权利要求1所述的基于相似度进行中文文本纠错的实现方法,其特征在于:所述S1中,对词库编译处理流程如下:S1.1:准备工作:词集合,已完成编译的所有词;字哈希:key是字符,value是所有包含这个字符的词的id的集合;双字哈希:key是两个字符,value是同时包含...

【专利技术属性】
技术研发人员:王宁张发雨孟奥党章王伦冯立二吴兴龙杨正云
申请(专利权)人:南京优速网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1