一种基于汉字字根结构的零样本小篆识别方法 您所在的位置:网站首页 小篆体字识别方法 一种基于汉字字根结构的零样本小篆识别方法

一种基于汉字字根结构的零样本小篆识别方法

2024-06-29 11:11| 来源: 网络整理| 查看: 265

一种基于汉字字根结构的零样本小篆识别方法

1.本发明涉及图文识别与深度学习技术领域,具体涉及一种基于汉字字根结构的零样本小篆识别方法。

背景技术:

2.传统汉字识别技术属于模式识别的一个分支,基本流程是将输入的文字图片进行预处理,而后提取其特征,将其特征与存储在识别字典中的每个特征模板逐一进行比较、判别,计算匹配文字的类似度,最终将其中最大类似度的标准文字作为识别结果。现有的汉字识别技术在大量标注数据集的支持下,对于简体字印刷体以及繁体字印刷体领域具有较高的识别准确率。3.小篆是秦始皇统一六国后创制的统一汉字书写形式,在中国文字发展史上有着重要的角色,许多公司的商标以及广告语中也常常出现小篆的身影。但相对于识别准确率高的较为成熟的印刷体简体字与繁体字识别技术,目前针对小篆的图文识别技术较少,主要由于在小篆识别方面存在以下两大难点:1.相较于简体字与繁体字,小篆字库的数据集数目较少,且当前市面上很难找到针对小篆的字根字库,在图文识别的特征匹配阶段有很大的难度;2.相对于简体字与繁体字,小篆更具有象形意味并且更加符号化,故其结构更加复杂,具有更多的冗余信息,提取结构信息更加困难。故上述通过直接将图片特征信息与小篆标准字库进行相似度匹配的传统小篆图文识别技术,得到的小篆识别准确度不高,往往不能正确识别出小篆对应的简体字。

技术实现要素:

4.为了克服现有技术的不足,本发明提供一种基于汉字字根结构的零样本小篆识别方法。5.本发明解决其技术问题所采用的技术方案包括如下步骤:6.首先选取文字标签匹配的小篆与繁体字集图片作为训练集和测试集;然后构建小篆识别模型,该模型包括一个编码器和两个并行子网络分支;编码器将小篆图片解析为高维特征向量的编码器。两个并行子网络分支包括“小篆-繁体转换生成网络”分支以及“基于注意力的汉字字根结构识别网络”分支;分支一包括两个解码器,根据高维特征向量得到对应的繁体字图片以及小篆图片,辅助小篆高维特征向量的生成;分支二根据高维特征向量得到小篆的汉字字根结构向量,从而识别小篆;最后设置模型损失函数,使得所述模型的两个分支相互辅助和制约,从而得到较高的小篆识别准确率。本发明将“小篆识别问题”转化为字根结构更为规整的“繁体字识别问题”,大大降低了小篆识别难度,为零样本小篆识别任务提供了新思路。7.进一步的,所述训练集和测试集的构建,具体如下:8.1-1.从小篆字库中选取n张与其对应繁体字具有相似结构内容的小篆字集t,按照每个小篆字体的形体结构及其字根出现次数对小篆字集t进行排序,选取其中n1张小篆字集t1使得t1中各字根出现次数尽可能均匀,将t中除去所述t1字集的剩余n2个字作为字集t2;9.1-2.生成字体为a1且内容为字集t1的n1张小篆图片,其中a1通常为“方正小篆体”字体;生成字体为b且内容为字集t1的对应繁体字图片,其中b通常为“方正字迹-仿欧繁体”字体,将所述字集t1的n1张a1字体小篆图片以及与其一一对应的b字体繁体字图片进行拼接作为训练集tr;10.1-3.构建测试集te1、te2、te3:11.将所述字集t2的n2张a1字体小篆图片、b字体繁体字图片进行对应拼接作为训练集te1;将所述字集t1的n21张a2字体小篆图片、b字体繁体字图片进行对应拼接作为训练集te2,其中a2通常为“汉仪篆书繁”字体;将所述字集t2的n2张a2字体小篆图片、b字体繁体字图片进行对应拼接作为训练集te3;12.1-4.采集所述字集t中包含的繁体字的形体结构以及字根结构,并对所有形体结构和汉字字根进行编码,每个形体结构以及每个汉字字根都有唯一的编码,找到所述字集t中繁体字对应的形体结构以及字根,将每个形体结构以及字根转换为其对应编码序列,在所述编码最前面与最后面加上数字2与数字3作为文字识别网络的标签开始标识与结束标识,最后在所述序列末使用0将所述编码序列填充至17个标签的长度,作为每一个数据集图片的预测标签。13.进一步的,小篆识别模型中编码器e的搭建如下:14.所述编码器e由八个卷积模块e1~e8构成,所述e1~e8卷积模块的卷积核大小设置为2×2,步长设置为2,填充设置为same;按照前向传播的方向,将所述e1~e8卷积模块的卷积核数目分别设置为64、128、256、512、512、512、512和512;且在e2~e8的每个卷积模块前添加了一层lrelu映射,完成数据的非线性变换,并在e2~e8的每个卷积模块后增加批标准化层bn;将e8层处理后的特征数组称作data1,将e6层处理后的特征数组称作data2。15.进一步的,小篆识别模型中小篆-繁体转换生成网络分支的搭建如下:16.小篆-繁体转换生成网络分支由两个结构完全一致的解码器g1和g2以及分别对应的两个结构完全一致的判别器d1和d2构成;g1用于根据所述编码器e生成的高维特征向量解码生成其对应的繁体图片,d1用于根据输入的繁体图片以及生成的繁体图片,将其判别为真实图像或是虚假图像,并将判别结果反馈给编码器e,提升编码器e的图片解码质量以及g1的繁体字图片生成质量;g2和d2与所述g1和d1功能类似,分别用于根据所述高维特征向量生成小篆图片以及判别小篆图片质量。17.进一步的,所述解码器包含八个反卷积模块g1~g8,所述g1~g8卷积模块的卷积核大小设置为2×2,步长设置为2,按照前向传播的方向,将所述g1~g8卷积模块的卷积核数目分别设置为512、512、512、512、512、256、128和64;在g1~g8的每个反卷积模块前添加一层relu映射,完成数据的非线性变换,并且在g1~g7的每个反卷积模块后增加bn层,在经过bn后,g1~g7的每个反卷积模块分别与所述编码器e中的e7~e1模块进行连接操作,g1~g3需要在concat操作前进行dropout操作,概率设定为0.5,最后对g8反卷积模块结构进行tanh激活操作,使得所述模型快速收敛。18.进一步的,所述判别器包含4个卷积模块d1~d4,其中每个卷积模块采用cnn中的结构,所述d1~d4卷积模块的卷积核大小设置为2×2,步长设置为2,填充设置为same;按照前向传播的方向,将所述d1~d4卷积模块的卷积核数目分别设置为64、128、256和512;在d1~d4的每个卷积模块后添加一层lrelu映射,并在d2~d4卷积模块的所述lrelu映射后增加bn层,在d4卷积模块后增加一层全连接层,用于判断图片真假。19.进一步的,所述基于注意力的汉字字根结构识别网络分支采用transformer的解码层结构;将编码器e生成的维度为16、4、4和512的data2特征数据重塑为16、16和512维度,作为网络输入;设定transformer解码层的步长为16,维度为512,预测类别共409个,其中4个为掩码标记,405个为字体字根类别数;最后输出16个汉字字根类别预测的概率,将最大的概率所在的位置作为该步长的字根预测结果,最终得到代表汉字字根结构语义信息的特征向量;使用k最邻近法将上述汉字字根类别预测结果与ids dictionary进行比对,得到最终预测结果。20.进一步的,小篆识别模型的损失函数设计如下:21.小篆-繁体转换生成网络分支主要包括判别器损失和生成器损失两个部分:判别器损失用于判别生成的图片和原始图片的真假,其中所述d1判别器用于判别繁体图片的真假,而所述d2用于判别小篆图片的真假;22.所述g1以及g2损失包含三个部分:循环一致性损失、特征匹配损失和生成对抗网络损失;将三者结合起来的目标损失函数的计算公式为:23.l(x1,g(x),d(x),x,y)=αlp(g(x),y)+βlc(e(x))+lg(d(g(x)))24.其中,x是用于生成的待识别输入图片,y是目标图片,x1是高维特征向量,g(x)是生成图片,d(x)是判别结果;α和β是lp、lc的权重值,lp为判别循环一致性损失,使得生成图片尽可能与目标图片一致,lc为特征损失匹配,使得小篆和繁体的高维特征一致,lg为生成对抗网络的损失函数,采用最小二乘损失;25.为充分利用小篆与繁体字间结构相似这一字义信息,应当尽量保证编码器e编码小篆和繁体图片所得data1特征向量尽可能一致;与此同时data2作为基于注意力的汉字字根结构识别网络分支的输入,其输出的特征向量应当尽可能一致,lc的描述如下:26.lc=‖data2(x1)-data2(x2)‖1+‖data1(x1)-data1(x2)‖127.其中,data2代表所述data2,data1代表所述data1,x1和x2分别代表输入的小篆和繁体图像;28.基于注意力的汉字字根结构识别网络分支选用归一化指数函数交叉熵作为损失函数,计算输出的语义特征向量与繁体汉字字根结构向量的一致性损失。29.本发明有益效果如下:30.本发明为小篆识别技术提供了新思路。如背景技术所述,小篆的结构复杂,具有更多的冗余信息,故传统小篆图文识别技术识别率较低。繁体字作为小篆演变为隶书后产生的中文书写体系,在结构上与小篆具有很大的相似性。故将待识别小篆图片送入所述编码器后,将其对应繁体字图片送入同一编码器,控制小篆图片编码所得特征向量与繁体字图片编码所得特征向量趋于一致,即可利用小篆与繁体字间的结构对应关系,去除小篆中笔画、象形意义等冗余信息。且巧妙的将“小篆图文识别”这一任务转化为“繁体字图文识别”任务,由此可以充分利用字根结构更为规整的繁体字的丰富字根数据集资源,仅使用较少的小篆样本数据即可在识别准确率较高情况下完成零样本小篆识别任务。31.为了高效完成上述编码任务,本发明提出了新颖的图片生成模型,能够充分利用小篆与繁体字间结构相似这一字义信息。向模型分别输入小篆图片与其对应的繁体字图片,模型拥有一个编码器e,能够忽略输入字体的冗余信息,专注其结构信息,将输入图片编码为高维特征向量;模型拥有两个解码器,一个专门负责解码生成小篆图片的解码器g1,另一个专门负责解码生成繁体字图片g2,将所述编码器编码得到的包含图片结构信息的高维特征向量分别输入g1和g2中,即可分别得到质量较高的小篆图片及繁体字图片,图片的生成效果相互制约,从而得到高质量的生成图片,同时使得e的编码能力得到提高。附图说明32.图1为基于汉字字根结构的零样本小篆识别模型结构示意图;33.图2为本发明的主要步骤流程示意图。具体实施方式34.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。35.本发明实施例基于深度学习相关技术,实现了一种基于汉字字根结构的零样本小篆识别的方法。本网络包括一个将小篆图片解析为高维特征向量的编码器e,和两个并行子网络分支,第一个分支可以根据上述高维特征向量得到对应的繁体字图片以及小篆图片,辅助小篆高维特征向量的生成。第二个分支可以根据上述高维特征向量得到小篆的汉字字根结构向量,从而识别小篆。本发明不仅实现了小篆识别效率的提升,而且改善了小篆数据集严重不足且分布不均的问题,为小篆的零样本识别提供了新思路。如图1和2所示,本发明提供的小篆识别方法的具体方案如下:36.步骤s1:构建训练集和测试集,即数据构建模块;37.步骤s2:构建小篆识别模型,即小篆识别模型构建模块;38.步骤s3:设计小篆识别模型的损失函数,即损失函数构建模块;39.步骤s4:使用训练集对小篆识别模型进行训练,当损失函数值小于阈值时,得到最终的小篆识别模型;即模型训练模块;40.步骤s5:将测试集中的小篆图片输入最终的小篆识别模型中,得到小篆图片对应的繁体字生成图片以及小篆识别结果;即模型识别模块;41.所述步骤s1构建训练集和测试集,具体方法如下:42.1-1.从小篆字库中选取5475张与其对应繁体字具有相似结构内容的小篆字集t,按照每个小篆字体的形体结构及其字根出现次数对小篆字集t进行排序,选取其中4380张小篆字集t1使得t1中各字根出现次数尽可能均匀,将t中除去所述t1字集的剩余1095个字作为字集t2;43.1-2.生成字体为a1且内容为字集t1的4380张小篆图片,其中a1通常为“方正小篆体”字体;生成字体为b且内容为字集t1的对应繁体字图片,其中b通常为“方正字迹-仿欧繁体”字体,将所述字集t1的4380张a1字体小篆图片以及与其一一对应的b字体繁体字图片进行拼接作为训练集tr;44.1-3.如上述构建训练集tr的同样方法,分别构建测试集te1、te2、te3:45.将所述字集t2的1095张a1字体小篆图片、b字体繁体字图片进行对应拼接作为训练集te1;将所述字集t1的4380张a2字体小篆图片、b字体繁体字图片进行对应拼接作为训练集te2,其中a2通常为“汉仪篆书繁”字体;将所述字集t2的1095张a2字体小篆图片、b字体繁体字图片进行对应拼接作为训练集te3;46.1-4.采集所述字集t中包含的繁体字的形体结构以及字根结构,并对所有形体结构和汉字字根进行编码,每个形体结构以及每个汉字字根都有唯一的编码,采用zhang,j.,j.du,and l.dai."radical analysis network for learning hierarchies of chinese characters."中的集成字典系统字典(“ids dictionary”),找到所述字集t中繁体字对应的形体结构以及字根,将每个形体结构以及字根转换为其对应编码序列,在所述编码最前面与最后面加上数字2与数字3作为文字识别网络的标签开始标识与结束标识,最后在所述序列末使用0将所述编码序列填充至17个标签的长度,作为每一个数据集图片的预测标签。47.所述步骤s2构建小篆识别模型,具体方法如下:48.2-1.首先搭建能够忽略小篆图片的笔画等冗余信息,高效提取其结构信息的编码器e:49.所述编码器e由八个卷积模块e1~e8构成,其中每个卷积模块采用了卷积神经网络(cnn)中的结构为现有成熟技术,所述e1~e8卷积模块的卷积核大小设置为2×2,步长设置为2,填充设置为same。按照前向传播的方向,将所述e1~e8卷积模块的卷积核数目分别设置为64、128、256、512、512、512、512和512。为了保持数据分布的稳定性其避免梯度爆炸以及梯度消失等问题,在e2~e8的每个卷积模块前添加了一层leaky relu(lrelu)映射,完成数据的非线性变换,并在e2~e8的每个卷积模块后增加批标准化层(bn),其中lrelu以及bn层为现有成熟技术。特别的,为方便后续描述将e8层处理后的特征数组称作data1,将e6层处理后的特征数组称作data2。50.2-2.接着为了高效完成上述编码任务,并且充分利用小篆与繁体字间结构相似这一字义信息,本发明搭建了并行进行的“小篆-繁体转换生成网络”模型以及“基于注意力的汉字字根结构识别网络”模型两个分支。51.小篆-繁体转换生成网络模型由两个结构完全一致的解码器g1和g2以及分别对应的两个结构完全一致的判别器d1和d2构成。g1用于根据所述e生成的高维特征数据解码生成其对应的繁体图片,d1用于根据输入的繁体图片以及生成的繁体图片,将其判别为真实图像或是虚假图像,并将判别结果反馈给e,提升e的图片解码质量以及g1的繁体字图片生成质量;g2和d2与所述g1和d1功能类似,分别用于根据所述高维特征数据生成小篆图片以及判别小篆图片质量。52.所述解码器包含八个反卷积模块g1~g8,其中反卷积为现有成熟技术,所述g1~g8卷积模块的卷积核大小设置为2×2,步长设置为2,填充设置为图片等大小填充。按照前向传播的方向,将所述g1~g8卷积模块的卷积核数目分别设置为512、512、512、512、512、256、128和64。为了保持数据分布的稳定性其避免梯度爆炸以及梯度消失等问题,在g1~g8的每个反卷积模块前添加了一层relu映射,完成数据的非线性变换,并且在g1~g7的每个反卷积模块后增加bn层,其中relu为现有成熟技术。为了能够生成高质量图片,在经过bn后,g1~g7的每个反卷积模块分别与所述e中的e7~e1模块进行连接(concat)操作,特别地,为防止过拟合现象发生,g1~g3需要在concat操作前进行dropout操作,概率设定为0.5,其中concat操作以及dropout操作为现有成熟技术。最后,对g8反卷积模块结构进行tanh激活操作,使得所述模型快速收敛。53.所述判别器包含4个卷积模块d1~d4,其中每个卷积模块采用了cnn中的结构,所述d1~d4卷积模块的卷积核大小设置为2×2,步长设置为2,填充设置为same。按照前向传播的方向,将所述d1~d4卷积模块的卷积核数目分别设置为64、128、256和512。与所述e结构类似,在d1~d4的每个卷积模块后添加了一层lrelu映射,并在d2~d4卷积模块的所述lrelu映射后增加bn层,在d4卷积模块后增加一层全连接层,用于判断图片真假,其中全连接层为现有成熟技术。54.所述基于注意力的汉字字根结构识别网络分支采用了vaswani,ashish,et al.attention is all you need.中transformer的解码层结构,为现有成熟技术。将所述编码器e生成的维度为16、4、4和512的data2特征数据重塑为16、16和512维度,作为网络输入。设定transformer解码层的步长为16,维度为512,预测类别共409个,其中4个为掩码标记,405个为字体字根类别数。最后输出16个汉字字根类别预测的概率,将最大的概率所在的位置作为该步长的字根预测结果,最终得到代表汉字字根结构语义信息的特征向量。接着,使用k最邻近法(knn)将上述汉字字根类别预测结果与ids dictionary进行比对,得到最终预测结果,其中knn为现有成熟技术,如图1所示。55.所述步骤s3定义所述小篆识别模型的损失函数,具体方法如下:56.本发明实施例中两个并行分支都有各自的损失函数帮助网络快速收敛,提高网络训练效率;57.首先,小篆-繁体转换生成网络分支设定损失函数主要目的是利用小篆与繁体字具有结构相似性这一特性,根据e输出的特征数据,分别解码生成小篆图片与其对应的繁体字图片,使得小篆-繁体图像可以相互迁移,所述分支生成的繁体字图片越真实,即可说明e的特征提取效果越准确,因此另一“基于注意力的汉字字根结构识别网络”分支的识别准确率越高。58.所述分支主要包括判别器损失和生成器损失两个部分:59.判别器损失用于判别生成的图片和原始图片的真假,其中所述d1判别器用于判别繁体图片的真假,而所述d2用于判别小篆图片的真假;60.所述g1以及g2损失包含三个部分:循环一致性损失、特征匹配损失和生成对抗网络损失;将三者结合起来的目标损失函数的计算公式为:61.l(x1,g(x),d(x),x,y)=αlp(g(x),y)+βlc(e(x))+lg(d(g(x)))62.其中,x是用于生成的待识别输入图片,y是目标图片,x1是高维特征向量,g(x)是生成图片,d(x)是判别结果。α和β是lp、lc的权重值,lp为判别循环一致性损失,使得生成图片尽可能与目标图片一致,lc为特征损失匹配,使得小篆和繁体的高维特征一致,lg为生成对抗网络的损失函数,优选地,本发明实施例中α=100,β=15,lg采用最小二乘损失。63.为充分利用小篆与繁体字间结构相似这一字义信息,应当尽量保证所述e编码小篆和繁体图片所得data1特征向量尽可能一致,与此同时,所述data2作为所述基于注意力的汉字字根结构识别网络模型的输入,其输出的特征向量也应当尽可能一致,lc的描述如下:64.lc=‖data2(x1)-data2(x2)‖1+‖data1(x1)-data1(x2)‖165.其中,data2代表所述data2,data1代表所述data1,x1和x2分别代表输入的小篆和繁体图像。66.其次,基于注意力的汉字字根结构识别网络分支设定损失函数的主要目的是帮助所述模型对小篆高维特征信息进行识别,损失函数值越低则识别生成的汉字字根结构向量越准确,所述小篆-繁体转换生成网络分支的图像生成质量越高,小篆-繁体互相迁移效果越好;选用归一化指数函数(softmax)交叉熵作为损失函数,计算输出的语义特征向量与繁体汉字字根结构向量的一致性损失。67.所述步骤4小篆识别网络的训练,具体方法如下:68.为了验证零样本小篆识别的可行性,使用所述tr的4380张小篆及其对应的繁体数据集对小篆识别模型进行训练,特别地,对于每个epoch,将数据集排列顺序随机打乱,并对数据集图片进行位置、大小、角度等方面的数据增强。当损失函数小于设定阈值时,停止训练,得到最终的小篆识别模型;69.所述步骤5小篆识别网络的测试,具体方法如下:70.所述测试集te1、te2和te3依次放入训练好的所述小篆识别模型中,得到识别结果,本发明的测试集te2准确率高达90.78%,能够高精度识别出学习过字根结构的不同字体小篆样本,在零样本情况下测试集te1、te3识别准确率为69.32%和67.49%,如表1所示。71.表1为与去掉g2后的网络以及rtn的识别准确率对比结果:[0072][0073]上述rtn网络取自“a transformer-based radical analysis network for chinese character recognition”,是可以识别汉字字根的网络,与本发明相比,没有小篆及其对应繁体字的图片生成网络这一分支,即没有利用小篆与繁体字间结构对应关系这一字义信息,因此将rtn网络用于识别小篆任务得到的识别准确率很低。同时,去掉g2后的网络,即只拥有单一解码器的对抗生成网络小篆识别率大大下降,由此可见,利用两个解码器g1和g2来从小篆-繁体字的结构对应关系制约加强e可以大大提高小篆识别率。因此,本发明中小篆识别模型的两个分支都是必不可少的,且一个解码器对应两个编码器这一结构可以充分利用小篆与繁体字间结构对应关系这一字义信息,大大提高小篆识别准确率。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有