汉字字形相似度计算方法及其系统与流程

文档序号:11133909阅读:1254来源:国知局
汉字字形相似度计算方法及其系统与制造工艺

本发明涉及汉字相似度计算领域,尤其涉及一种汉字字形相似度计算方法及其系统。



背景技术:

在语文汉字教学以及其他的汉字研究场景中,针对非手写汉字(给定字体的印刷汉字),在非人工环境下找出给定汉字的形似字,用于汉字的对比教学或者混淆区别。当前业内主要使用的方式有两种,第一种是获取汉字的基础信息,包括字形结构、笔画数、笔顺等等,将这些数据作为参数带入特定的公式进行计算,缺点是公式需要设定一些系数来平衡最终的输出值;第二种是采用图像处理技术提取汉字特征,对比差异化特征,缺点是时效性不佳,且汉字书写复杂度对结果有很大的影响。

在公开号为CN102393850A的中国专利公开文件中,提出了一种汉字字形认知相似度计算方法,提供了一种自动的汉字字形认知相似度的计算方法,包括:步骤1、汉字的部件拆分步;步骤2、两棵部件分析树的对齐操作步骤;步骤3、部件分析树中叶子节点间的相似度计算;步骤4、部件分析树中中间节点间相似度计算;步骤5、汉字认知显著度因素计算;步骤6、基于认知形似度计算和词典的形似别字纠错。

但由于汉字结构的复杂性,以及汉字书写的特点,无法得到相对平衡的计算结果,实用性与适用面并不广泛。



技术实现要素:

本发明所要解决的技术问题是:提出一种汉字字形相似度计算方法及其系统,可直观地体现出汉字的部件组成和构造,便于理解,且可提高计算效率和计算结果的准确性。

为了解决上述技术问题,本发明采用的技术方案为:一种汉字字形相似度计算方法,包括:

预设任意两个字形结构的相似度,得到由各字形结构之间的相似度构成的第一相似度矩阵;

计算任意两个基础部件的相似度,得到第二相似度矩阵;

根据字形的构造方法,预设同级部件的第一权重比;

获取目标汉字和比较汉字;

根据所述目标汉字的字形结构和组成所述目标汉字的基础部件,生成对应的第一前缀表达式;

根据所述比较汉字的字形结构和组成所述比较汉字的基础部件,生成对应的第二前缀表达式;

根据第一相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级字形结构的相似度;

根据第二相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级基础部件的相似度;

根据目标汉字字形的构造方法,确定所述第一前缀表达式中与各级字形结构一一对应的各组同级部件的第一权重比;

根据所述同级字形结构的相似度、同级基础部件的相似度和各组同级部件的第一权重比,计算获取所述目标汉字和比较汉字的相似度。

本发明还涉及一种汉字字形相似度计算系统,包括:

第一预设模块,用于预设任意两个字形结构的相似度,得到由各字形结构之间的相似度构成的第一相似度矩阵;

第一计算模块,用于计算任意两个基础部件的相似度,得到第二相似度矩阵;

第二预设模块,用于根据字形的构造方法,预设同级部件的第一权重比;

第一获取模块,用于获取目标汉字和比较汉字;

第一生成模块,用于根据所述目标汉字的字形结构和组成所述目标汉字的基础部件,生成对应的第一前缀表达式;

第二生成模块,用于根据所述比较汉字的字形结构和组成所述比较汉字的基础部件,生成对应的第二前缀表达式;

第一确定模块,用于根据第一相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级字形结构的相似度;

第二确定模块,用于根据第二相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级基础部件的相似度;

第三确定模块,用于根据目标汉字字形的构造方法,确定所述第一前缀表达式中与各级字形结构一一对应的各组同级部件的第一权重比;

第二计算模块,用于根据所述同级字形结构的相似度、同级基础部件的相似度和各组同级部件的第一权重比,计算获取所述目标汉字和比较汉字的相似度。

本发明的有益效果在于:通过将复杂的汉字转换为数学的前缀表达式的形式,可直观地体现出汉字的部件组成与构造;同时,将构造复杂的汉字拆解为结构简单的基础部件后,也把复杂的汉字的相似度计算转换为了500多个基础部件两两之间的相似度计算,对于庞大的汉字字库而言,可以极大地缩减工作量;且在基础部件的相似度计算中,由于笔画数以及部件所占比例略小,很大程度上规避了由于字形复杂对原有技术带来的困扰,可提高计算效率和计算结果的准确性。

附图说明

图1为本发明一种汉字字形相似度计算方法的流程图;

图2为本发明实施例一的方法流程图;

图3为本发明实施例二的方法流程图;

图4为本发明一种汉字字形相似度计算系统的结构示意图;

图5为本发明实施例三的系统结构示意图。

标号说明:

1、第一预设模块;2、第一计算模块;3、第二预设模块;4、第一获取模块;5、第一生成模块;6、第二生成模块;7、第一确定模块;8、第二确定模块;9、第三确定模块;10、第二计算模块;

201、第一获取单元;202、转换单元;203、第一处理单元;204、第一计算单元;205、第二处理单元;206、第二计算单元;207、第二获取单元;208、第一得到单元;209、第三计算单元;210、第四计算单元;211、第一预设单元;212、第五计算单元;213、第一判断单元;214、第一判定单元;215、第二判定单元;

301、第二预设单元;302、第三预设单元;303、调整单元;

501、拆解单元;502、生成单元;

1001、第六计算单元;1002、第七计算单元;1003、第八计算单元;1004、第九计算单元。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。

本发明最关键的构思在于:将复杂的汉字转换为数学表达式,同时将汉字的相似度计算转换为基础部件的相似度计算。

请参阅图1,一种汉字字形相似度计算方法,包括:

预设任意两个字形结构的相似度,得到由各字形结构之间的相似度构成的第一相似度矩阵;

计算任意两个基础部件的相似度,得到第二相似度矩阵;

根据字形的构造方法,预设同级部件的第一权重比;

获取目标汉字和比较汉字;

根据所述目标汉字的字形结构和组成所述目标汉字的基础部件,生成对应的第一前缀表达式;

根据所述比较汉字的字形结构和组成所述比较汉字的基础部件,生成对应的第二前缀表达式;

根据第一相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级字形结构的相似度;

根据第二相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级基础部件的相似度;

根据目标汉字字形的构造方法,确定所述第一前缀表达式中与各级字形结构一一对应的各组同级部件的第一权重比;

根据所述同级字形结构的相似度、同级基础部件的相似度和各组同级部件的第一权重比,计算获取所述目标汉字和比较汉字的相似度。

从上述描述可知,本发明的有益效果在于:可直观地体现出汉字的部件组成和构造,便于理解,且可提高计算效率和计算结果的准确性。

进一步地,所述“计算任意两个基础部件的相似度”具体为:

获取任意两个基础部件;

将所述两个基础部件分别转换为两个图像;

分别将所述两个图像进行灰度化处理,获取所述两个图像各个像素的灰度值;

根据所述各个像素的灰度值,分别计算所述两个图像的平均灰度值;

分别根据所述平均灰度值,将所述两个图像进行二值化处理,得到由黑点和白点构成的所述两个基础部件的指纹序列;

计算两个指纹序列中的黑点重合度占比,得到所述两个基础部件的指纹相似度,所述黑点重合度占比为两个指纹序列中位置一致的黑点数占两个指纹序列的黑点数中较大的黑点数的百分比;

分别获取所述两个基础部件的笔画笔顺和四角码;

根据两个基础部件的四角码,得到所述两个基础部件的四角码相似度;

根据两个基础部件的笔画笔顺,计算编辑距离占两个基础部件的笔画数中较大的笔画数的百分比,得到所述两个基础部件的笔画笔顺不相似度;

根据所述笔画笔顺不相似度,计算得到所述两个基础部件的笔画笔顺相似度;

根据所述两个基础部件的类型,预设所述指纹相似度、四角码相似度和笔画笔顺相似度的第二权重比;

根据所述指纹相似度、四角码相似度、笔画笔顺相似度和第二权重比,计算得到所述两个基础部件的相似度。

由上述描述可知,先计算基础部件之间的指纹相似度、四角码相似度和笔画笔顺相似度,再相应调整其权重比,计算出基础部件之间的相似度,由于笔画数以及部件所占比例略小,可以在很大程度上规避了由于字形复杂对原有技术带来的困扰。

进一步地,所述“计算得到所述两个基础部件的笔画笔顺相似度”之后,进一步包括:

判断所述指纹相似度、四角码相似度、笔画笔顺相似度中是否有至少两个值大于0.8;

若是,判定所述两个基础部件的相似度为1;

若否,根据计算得到两个基础部件的相似度,在预设的取值序列中选择一个与所述两个基础部件的相似度最接近的值,作为最终的所述两个基础部件的相似度。

由上述描述可知,通过设置相似度的判定策略,可得到相对平衡的计算结果。

进一步地,所述“根据字形的构造方法,预设同级部件的第一权重比”具体为:

若为形声字,根据形旁部件和声旁部件的组合方式,预设对应的第一权重比;

若为非形声字,预设默认的第一权重比。

进一步地,所述“若为形声字,根据形旁部件和声旁部件的组合方式,预设对应的第一权重比”之后,进一步包括:

根据所述形旁部件和声旁部件的笔画数,相应调整所述第一权重比。

由上述描述可知,通过预设同级部件的权重比并根据笔画数进行相应调整,可提高计算结果的准确性。

进一步地,所述“根据所述目标汉字的字形结构和组成所述目标汉字的基础部件,生成对应的第一前缀表达式”具体为:

根据所述目标汉字的字形结构,将所述目标汉字按照对应的预设拆解顺序拆解为至少一个的基础部件,得到对应的基础部件集合;

根据所述拆解顺序以及所述基础部件集合,生成对应所述目标汉字的第一前缀表达式,其中,所述拆解顺序对应的字形结构为运算符,基础部件为操作数。

进一步地,所述“根据所述同级字形结构的相似度、同级基础部件的相似度和各组同级部件的第一权重比,计算获取所述目标汉字和比较汉字的相似度”具体为:

若第一前缀表达式中的一字形结构i为单体结构,则根据第一公式Aij×Bap计算所述字形结构i与字形结构j的相似度,其中,字形结构j为第二前缀表达式中与字形结构i同级的字形结构,a为目标汉字中组成所述字形结构i的基础部件,p为比较汉字中组成所述字形结构j的基础部件,Aij为同级字形结构i和j的相似度,Bap为同级基础部件a和p的相似度;

若第一前缀表达式中的一字形结构i为品字结构,则根据第二公式Aij×(Cx×Bap+Cy×Bbq+Cz×Bct)计算所述字形结构i与字形结构j的相似度,其中,字形结构j为第二前缀表达式中与字形结构i同级的字形结构,a、b和c为目标汉字中组成所述字形结构i的部件,p、q和t为比较汉字中组成所述字形结构j的部件,Aij为同级字形结构i和j的相似度,Bap为同级部件a和p的相似度,Bbq为同级部件b和q的相似度,Bct为同级部件c和t的相似度,Cx:Cy:Cz为对应所述字形结构i的第一权重比;

若第一前缀表达式中的一字形结构i为其他结构,则根据第三公式Aij×(Cx×Bap+Cy×Bbq)计算所述字形结构i与字形结构j的相似度,其中,字形结构j为第二前缀表达式中与字形结构i同级的字形结构,a和b为目标汉字中组成所述字形结构i的部件,p和q为比较汉字中组成所述字形结构j的部件,Aij为同级字形结构i和j的相似度,Bap为同级部件a和p的相似度,Bbq为同级部件b和q的相似度,Cx:Cy为对应所述字形结构i的第一权重比;

根据所述第一前缀表达式,对应调用所述第一公式、第二公式或第三公式,计算获取所述目标汉字和比较汉字的相似度。

由上述描述可知,通过将复杂的汉字转换为数学的前缀表达式的形式,可直观地体现出汉字的部件组成与构造;根据前缀表达式相应代入公式,可将汉字的相似度计算转换为数学计算。

进一步地,所述“获取目标汉字和比较汉字”之后,进一步包括:

统一所述目标汉字和比较汉字的字体。

由上述描述可知,通过统一字体,排除了字体对字形相似度的影响,可提高计算准确性。

请参照图4,本发明还提出了一种汉字字形相似度计算系统,包括:

第一预设模块,用于预设任意两个字形结构的相似度,得到由各字形结构之间的相似度构成的第一相似度矩阵;

第一计算模块,用于计算任意两个基础部件的相似度,得到第二相似度矩阵;

第二预设模块,用于根据字形的构造方法,预设同级部件的第一权重比;

第一获取模块,用于获取目标汉字和比较汉字;

第一生成模块,用于根据所述目标汉字的字形结构和组成所述目标汉字的基础部件,生成对应的第一前缀表达式;

第二生成模块,用于根据所述比较汉字的字形结构和组成所述比较汉字的基础部件,生成对应的第二前缀表达式;

第一确定模块,用于根据第一相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级字形结构的相似度;

第二确定模块,用于根据第二相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级基础部件的相似度;

第三确定模块,用于根据目标汉字字形的构造方法,确定所述第一前缀表达式中与各级字形结构一一对应的各组同级部件的第一权重比;

第二计算模块,用于根据所述同级字形结构的相似度、同级基础部件的相似度和各组同级部件的第一权重比,计算获取所述目标汉字和比较汉字的相似度。

进一步地,所述第一计算模块包括:

第一获取单元,用于获取任意两个基础部件;

转换单元,用于将所述两个基础部件分别转换为两个图像;

第一处理单元,用于分别将所述两个图像进行灰度化处理,获取所述两个图像各个像素的灰度值;

第一计算单元,用于根据所述各个像素的灰度值,分别计算所述两个图像的平均灰度值;

第二处理单元,用于分别根据所述平均灰度值,将所述两个图像进行二值化处理,得到由黑点和白点构成的所述两个基础部件的指纹序列;

第二计算单元,用于计算两个指纹序列中的黑点重合度占比,得到所述两个基础部件的指纹相似度,所述黑点重合度占比为两个指纹序列中位置一致的黑点数占两个指纹序列的黑点数中较大的黑点数的百分比;

第二获取单元,用于分别获取所述两个基础部件的笔画笔顺和四角码;

第一得到单元,用于根据两个基础部件的四角码,得到所述两个基础部件的四角码相似度;

第三计算单元,用于根据两个基础部件的笔画笔顺,计算编辑距离占两个基础部件的笔画数中较大的笔画数的百分比,得到所述两个基础部件的笔画笔顺不相似度;

第四计算单元,用于根据所述笔画笔顺不相似度,计算得到所述两个基础部件的笔画笔顺相似度;

第一预设单元,用于根据所述两个基础部件的类型,预设所述指纹相似度、四角码相似度和笔画笔顺相似度的第二权重比;

第五计算单元,用于根据所述指纹相似度、四角码相似度、笔画笔顺相似度和第二权重比,计算得到所述两个基础部件的相似度。

实施例一

请参照图2,本发明的实施例一为:一种汉字字形相似度计算方法,包括如下步骤:

S1:预设任意两个字形结构的相似度,得到由各字形结构之间的相似度构成的第一相似度矩阵;对字形结构进行归类,可分为单体结构、左右结构、上下结构、左包围结构、下包围结构、上包围结构、右上包围结构、左上包围结构、左下包围结构、全包围结构和品字结构,共十一种字形结构,第一相似度矩阵可如表1所示。

表1

S2:计算任意两个基础部件的相似度,得到第二相似度矩阵。

S3:根据字形的构造方法,预设同级部件的第一权重比;本实施例将字形的四种构造方法分为形声字和非形声字;若为非形声字,预设默认的第一权重比;若为形声字,根据形旁部件和声旁部件的组合方式,预设对应的第一权重比,本实施例将形旁和声旁的组合方式分为下述六种:

1、上形下声:形旁权重为0.33,声旁权重为0.67。例如“苹”,上下结构,形旁为“艹”,声旁为“平”。

2、上声下形:形旁权重为0.4,声旁权重为0.6。例如“想”,上下结构,形旁为“心”,声旁为“相”。

3、左形右声:形旁权重为0.4,声旁权重为0.6。例如“楼”,左右结构,形旁为“木”,声旁为“娄”。

4、左声右形:形旁权重为0.5,声旁权重为0.5。例如“期”,左右结构,形旁为“月”,声旁为“其”。

5、左声右形:形旁权重为0.5,声旁权重为0.5。例如“期”,左右结构,形旁为“月”,声旁为“其”。

6、内形外声:形旁权重为0.6,声旁权重为0.4。例如“闻”,上包围结构,形旁是“耳”,声旁是“门”。

进一步地,根据所述形旁部件和声旁部件的笔画数,相应调整所述第一权重比。定义规则如下:若部件笔画数远大于另一部件的笔画数,且该部件的初始权重不大于另一部件的初始权重的,将上调笔画数较多的部件的权重,相应的降低另一部件的权重。例如:上面提到的汉字“期”,根据预设的数据,声旁“其”与形旁“月”的权重各为0.5,但由于“其”的笔画数(8)远多于“月”的笔画数(4),因此将上调声旁“其”的权重到0.6,同时降低形旁“月”的权重到0.4。

S4:获取目标汉字和比较汉字。例如,目标汉字为“楼”,比较汉字为“搂”,即比较“搂”相对于“楼”的字形相似度。

S5:统一所述目标汉字和比较汉字的字体。例如,统一成印刷体、楷体等较易识别的字体。

S6:根据所述目标汉字的字形结构和组成所述目标汉字的基础部件,生成对应的第一前缀表达式;即根据所述目标汉字的字形结构,将所述目标汉字按照对应的预设拆解顺序拆解为至少一个的基础部件,得到对应的基础部件集合;根据所述拆解顺序以及所述基础部件集合,生成对应所述目标汉字的第一前缀表达式,其中,所述拆解顺序对应的字形结构为运算符,基础部件为操作数。例如,汉字“楼”,左右结构(假设记为①),可以拆解为左边的“木”,和右边的“娄”,“木”已是基础部件不再进行拆解,基础部件可看作单体字结构(假设记为),右边的“娄”可以继续拆解,上下结构(假设记为②),拆解为上边的“米”和下边的“女”,因此最终得到的汉字“楼”的前缀表达式为:

S7:根据所述比较汉字的字形结构和组成所述比较汉字的基础部件,生成对应的第二前缀表达式。同步骤S6,“搂”的前缀表达式为:

S8:根据第一相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级字形结构的相似度。对于“楼”和“搂”,一级结构均为左右结构,二级结构均为上下结构,三级结构均为单体结构,因此一级结构、二级结构和三级结构的相似度均为100%。

S9:根据第二相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级基础部件的相似度。对于“楼”和“搂”,同级部件“米”和“女”为相同部件,其相似度为100%,因此,只需从第二相似度矩阵中确定同级部件“木”和“扌”的相似度,假设确定为60%。

S10:根据目标汉字字形的构造方法,确定所述第一前缀表达式中与各级字形结构一一对应的各组同级部件的第一权重比。目标汉字“楼”属于形声字,因此,形旁“木”的权重为0.4,声旁“娄”的权重为0.6;再对“娄”进行拆分,上下结构,但不属于形声字范围,故采用默认权重,如上下部件权重各为0.5。

S11:根据所述同级字形结构的相似度、同级基础部件的相似度和各组同级部件的第一权重比,计算获取所述目标汉字和比较汉字的相似度;具体为:

若第一前缀表达式中的一字形结构i为单体结构,则根据第一公式Aij×Bap计算所述字形结构i与字形结构j的相似度,其中,字形结构j为第二前缀表达式中与字形结构i同级的字形结构,a为目标汉字中组成所述字形结构i的基础部件,p为比较汉字中组成所述字形结构j的基础部件,Aij为同级字形结构i和j的相似度,Bap为同级基础部件a和p的相似度;由于单体结构和单体结构的字形相似度为1,因此若为两个单体结构之间的比较,可以直接令Aij=1;

若第一前缀表达式中的一字形结构i为品字结构,则根据第二公式Aij×(Cx×Bap+Cy×Bbq+Cz×Bct)计算所述字形结构i与字形结构j的相似度,其中,字形结构j为第二前缀表达式中与字形结构i同级的字形结构,a、b和c为目标汉字中组成所述字形结构i的部件,p、q和t为比较汉字中组成所述字形结构j的部件,Aij为同级字形结构i和j的相似度,Bap为同级部件a和p的相似度,Bbq为同级部件b和q的相似度,Bct为同级部件c和t的相似度,Cx:Cy:Cz为对应所述字形结构i的第一权重比;优选地,Cx:Cy:Cz=1/3:1/3:1/3;

若第一前缀表达式中的一字形结构i为其他结构,则根据第三公式Aij×(Cx×Bap+Cy×Bbq)计算所述字形结构i与字形结构j的相似度,其中,字形结构j为第二前缀表达式中与字形结构i同级的字形结构,a和b为目标汉字中组成所述字形结构i的部件,p和q为比较汉字中组成所述字形结构j的部件,Aij为同级字形结构i和j的相似度,Bap为同级部件a和p的相似度,Bbq为同级部件b和q的相似度,Cx:Cy为对应所述字形结构i的第一权重比;

根据所述第一前缀表达式,对应调用所述第一公式、第二公式或第三公式,计算获取所述目标汉字和比较汉字的相似度。

例如,第一前缀表达式单体结构即代入第一公式,左右结构①和上下结构②即代入第三公式,代入后可得到1×{0.4×(1×0.6)+0.6×1×[0.5×(1×1)+0.5×(1×1)]}=0.84,即“楼”和“搂”的字形相似度为84%。

本实施例通过将复杂的汉字转换为数学的前缀表达式的形式,可直观地体现出汉字的部件组成与构造;同时,将构造复杂的汉字拆解为结构简单的基础部件后,也把复杂的汉字的相似度计算转换为了500多个基础部件两两之间的相似度计算,对于庞大的汉字字库而言,可以极大地缩减工作量。

实施例二

请参照图3,本实施例是实施例一中步骤S2的进一步拓展。

S201:获取任意两个基础部件。

S202:将所述两个基础部件分别转换为两个图像,即转换为图像形式。

S203:分别将所述两个图像进行灰度化处理,获取所述两个图像各个像素的灰度值。

S204:根据所述各个像素的灰度值,分别计算所述两个图像的平均灰度值。

S205:分别根据所述平均灰度值,将所述两个图像进行二值化处理,得到由黑点和白点构成的所述两个基础部件的指纹序列;若一像素的灰度值不小于平均灰度值,则将所述像素点设为黑点,若一像素的灰度值小于平均灰度值,则将所述像素点设为白点;黑点可以用1表示,白点用0表示,则指纹序列为由0和1构成的字符串。

S206:计算两个指纹序列中的黑点重合度占比,得到所述两个基础部件的指纹相似度,所述黑点重合度占比为两个指纹序列中位置一致的黑点数占两个指纹序列的黑点数中较大的黑点数的百分比;例如,两个基础部件的黑点数分别为100和200,位置一致的黑点数为50,则黑点重合度占比为50/200×100%=25%,即两个基础部件的指纹相似度为25%,也即0.25。

S207:分别获取所述两个基础部件的笔画笔顺和四角码。

S208:根据两个基础部件的四角码,得到所述两个基础部件的四角码相似度;由于汉字四角码确定了汉字左上、右上、左下、右下的局部构造,因此根据四角码的对比,可以得到汉字整体轮廓的一个相似度。在四角码相似度的计算中,计算两个四角码除最后一位外位置与数值相同的数字个数占两个四角码中数字较多的数字个数的占比,例如,两个基础部件(“木”和“扌”)的四角码分别为40900和50000,虽然有三个数字相同,但最后一位相同的0不算,则只有两个数字数值和位置相同,2/5×100%=40%,即四角码相似度为40%。

S209:根据两个基础部件的笔画笔顺,计算编辑距离占两个基础部件的笔画数中较大的笔画数的百分比,得到所述两个基础部件的笔画笔顺不相似度;编辑距离为两个字串之间,由一个转成另一个所需的最少编辑操作次数;例如,“衤”与“礻”的编辑距离为1,“衤”的笔画数较多,则笔画笔顺不相似度为1/5×100%=20%。

S210:根据所述笔画笔顺不相似度,计算得到所述两个基础部件的笔画笔顺相似度;即笔画笔顺相似度=1-笔画笔顺不相似度,因此,“衤”与“礻”笔画笔顺相似度为80%。

S211:根据所述两个基础部件的类型,预设所述指纹相似度、四角码相似度和笔画笔顺相似度的第二权重比;可将基础部件分为两类进行区分计算相似度,一类是单体字,预设指纹相似度、四角码相似度和笔画笔顺相似度的第二权重比为3:3:4,一类是偏旁部首,预设第二权重比为4:3:3。

S212:判断所述指纹相似度、四角码相似度、笔画笔顺相似度中是否有至少两个值大于0.8,若是,执行步骤S213,若否,执行步骤S214。

S213:判定所述两个基础部件的相似度为1。例如,对于“日”和“曰”,指纹相似度较低,但四角码(均为60100)和笔画笔顺(均为竖、横竖、横、横)完全一致,因此,判定“日”和“曰”的相似度为100%。同理,对于“衤”和“礻”,指纹相似度较高,四角码均为30203,笔画笔顺相似度为80%,因此认为“衤”和“礻”的相似度为100%。

S214:根据所述指纹相似度、四角码相似度、笔画笔顺相似度和第二权重比,计算得到所述两个基础部件的相似度。

S215:根据计算得到两个基础部件的相似度,在预设的取值序列中选择一个与所述两个基础部件的相似度最接近的值,作为最终的所述两个基础部件的相似度。例如,取值序列可设为1、0.8、0.6、0.4、0,当计算得到两个基础部件的相似度为0.82,则取0.8;当计算得到两个基础部件的相似度为0.7,则取0.6。

在不确定一基础部件是作为单体字还是作为偏旁部首时,可根据与其进行比较的基础部件来确定;例如,计算“木”和“扌”的相似度时,因为“木”即可作为单体字,也可作为偏旁部首,但由于“扌”为偏旁部首,因此,将此处的“木”作为偏旁部首来计算。进一步地,由于在一些字体中,如印刷体,没有木字旁,为了与单体字“木”区分开来,在转换为图像后,需对图像灰度像素往左压缩处理。

当然,也可以把一基础部件作为单体字时的情况和作为偏旁部首时的情况都作为一单独的基础部件,一一进行计算,得到较为完整的第二相似度矩阵。

本实施例先计算基础部件之间的指纹相似度、四角码相似度和笔画笔顺相似度,再相应调整其权重比,计算出基础部件之间的相似度,由于笔画数以及部件所占比例略小,可以在很大程度上规避了由于字形复杂对原有技术带来的困扰。

实施例三

请参照图5,本实施例是对应上述实施例的一种汉字字形相似度计算系统,包括:

第一预设模块1,用于预设任意两个字形结构的相似度,得到由各字形结构之间的相似度构成的第一相似度矩阵;

第一计算模块2,用于计算任意两个基础部件的相似度,得到第二相似度矩阵;

第二预设模块3,用于根据字形的构造方法,预设同级部件的第一权重比;

第一获取模块4,用于获取目标汉字和比较汉字;

第一生成模块5,用于根据所述目标汉字的字形结构和组成所述目标汉字的基础部件,生成对应的第一前缀表达式;

第二生成模块6,用于根据所述比较汉字的字形结构和组成所述比较汉字的基础部件,生成对应的第二前缀表达式;

第一确定模块7,用于根据第一相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级字形结构的相似度;

第二确定模块8,用于根据第二相似度矩阵,确定所述第一前缀表达式和第二前缀表达式中同级基础部件的相似度;

第三确定模块9,用于根据目标汉字字形的构造方法,确定所述第一前缀表达式中与各级字形结构一一对应的各组同级部件的第一权重比;

第二计算模块10,用于根据所述同级字形结构的相似度、同级基础部件的相似度和各组同级部件的第一权重比,计算获取所述目标汉字和比较汉字的相似度。

所述第一计算模块2包括:

第一获取单元201,用于获取任意两个基础部件;

转换单元202,用于将所述两个基础部件分别转换为两个图像;

第一处理单元203,用于分别将所述两个图像进行灰度化处理,获取所述两个图像各个像素的灰度值;

第一计算单元204,用于根据所述各个像素的灰度值,分别计算所述两个图像的平均灰度值;

第二处理单元205,用于分别根据所述平均灰度值,将所述两个图像进行二值化处理,得到由黑点和白点构成的所述两个基础部件的指纹序列;

第二计算单元206,用于计算两个指纹序列中的黑点重合度占比,得到所述两个基础部件的指纹相似度,所述黑点重合度占比为两个指纹序列中位置一致的黑点数占两个指纹序列的黑点数中较大的黑点数的百分比;

第二获取单元207,用于分别获取所述两个基础部件的笔画笔顺和四角码;

第一得到单元208,用于根据两个基础部件的四角码,得到所述两个基础部件的四角码相似度;

第三计算单元209,用于根据两个基础部件的笔画笔顺,计算编辑距离占两个基础部件的笔画数中较大的笔画数的百分比,得到所述两个基础部件的笔画笔顺不相似度;

第四计算单元210,用于根据所述笔画笔顺不相似度,计算得到所述两个基础部件的笔画笔顺相似度;

第一预设单元211,用于根据所述两个基础部件的类型,预设所述指纹相似度、四角码相似度和笔画笔顺相似度的第二权重比;

第五计算单元212,用于根据所述指纹相似度、四角码相似度、笔画笔顺相似度和第二权重比,计算得到所述两个基础部件的相似度。

所述第一计算模块2还包括:

第一判断单元213,用于判断所述指纹相似度、四角码相似度、笔画笔顺相似度中是否有至少两个值大于0.8;

第一判定单元214,用于若是,判定所述两个基础部件的相似度为1;

第二判定单元215,用于若否,根据计算得到两个基础部件的相似度,在预设的取值序列中选择一个与所述两个基础部件的相似度最接近的值,作为最终的所述两个基础部件的相似度。

所述第二预设模块3包括:

第二预设单元301,用于若为形声字,根据形旁部件和声旁部件的组合方式,预设对应的第一权重比;

第三预设单元302,用于若为非形声字,预设默认的第一权重比。

所述第二预设模块3还包括:

调整单元303,用于根据所述形旁部件和声旁部件的笔画数,相应调整所述第一权重比。

所述第一生成模块5包括:

拆解单元501,用于根据所述目标汉字的字形结构,将所述目标汉字按照对应的预设拆解顺序拆解为至少一个的基础部件,得到对应的基础部件集合;

生成单元502,用于根据所述拆解顺序以及所述基础部件集合,生成对应所述目标汉字的第一前缀表达式,其中,所述拆解顺序对应的字形结构为运算符,基础部件为操作数。

所述第二计算模块10包括:

第六计算单元1001,用于若第一前缀表达式中的一字形结构i为单体结构,则根据第一公式Aij×Bap计算所述字形结构i与字形结构j的相似度,其中,字形结构j为第二前缀表达式中与字形结构i同级的字形结构,a为目标汉字中组成所述字形结构i的基础部件,p为比较汉字中组成所述字形结构j的基础部件,Aij为同级字形结构i和j的相似度,Bap为同级基础部件a和p的相似度;

第七计算单元1002,用于若第一前缀表达式中的一字形结构i为品字结构,则根据第二公式Aij×(Cx×Bap+Cy×Bbq+Cz×Bct)计算所述字形结构i与字形结构j的相似度,其中,字形结构j为第二前缀表达式中与字形结构i同级的字形结构,a、b和c为目标汉字中组成所述字形结构i的部件,p、q和t为比较汉字中组成所述字形结构j的部件,Aij为同级字形结构i和j的相似度,Bap为同级部件a和p的相似度,Bbq为同级部件b和q的相似度,Bct为同级部件c和t的相似度,Cx:Cy:Cz为对应所述字形结构i的第一权重比;

第八计算单元1003,用于若第一前缀表达式中的一字形结构i为其他结构,则根据第三公式Aij×(Cx×Bap+Cy×Bbq)计算所述字形结构i与字形结构j的相似度,其中,字形结构j为第二前缀表达式中与字形结构i同级的字形结构,a和b为目标汉字中组成所述字形结构i的部件,p和q为比较汉字中组成所述字形结构j的部件,Aij为同级字形结构i和j的相似度,Bap为同级部件a和p的相似度,Bbq为同级部件b和q的相似度,Cx:Cy为对应所述字形结构i的第一权重比;

第九计算单元1004,用于根据所述第一前缀表达式,对应调用所述第一公式、第二公式或第三公式,计算获取所述目标汉字和比较汉字的相似度。

综上所述,本发明提供的一种汉字字形相似度计算方法及其系统,通过将复杂的汉字转换为数学的前缀表达式的形式,可直观地体现出汉字的部件组成与构造;根据前缀表达式相应代入公式,可将汉字的相似度计算转换为数学计算;同时,将构造复杂的汉字拆解为结构简单的基础部件后,也把复杂的汉字的相似度计算转换为了500多个基础部件两两之间的相似度计算,对于庞大的汉字字库而言,可以极大地缩减工作量;且在基础部件的相似度计算中,由于笔画数以及部件所占比例略小,很大程度上规避了由于字形复杂对原有技术带来的困扰,可提高计算效率和计算结果的准确性。先计算基础部件之间的指纹相似度、四角码相似度和笔画笔顺相似度,再相应调整其权重比,计算出基础部件之间的相似度,由于笔画数以及部件所占比例略小,可以在很大程度上规避了由于字形复杂对原有技术带来的困扰。通过统一字体,排除了字体对字形相似度的影响,可提高计算准确性。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1