【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】

导语:看到一则旧闻,读了一篇论文,产生一些思考,完成一个模型

前言及项目简介

  • 一、旧闻
  • 二、论文
  • 三、思考
  • 四、模型


一、旧闻

大概去年十一月初吧,博主还在进行紧张的研考冲刺阶段。学校下达毕设选题任务,仓促间就要决定毕设内容,并无思路,不免有些迷茫:既担心选题过于简单无甚亮点不足以充分发挥,又担心过于困难无法及时完成以致影响毕业进程。

无主焦虑之际,无意间看到一则旧闻:图像识别与检测挑战赛冠军方案出炉,基于偏旁部首识别 Duang 字
【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】_第1张图片


二、论文

文章中介绍了一种Radical Analysis Network网络,这一网络基于张建树先生在 ICME2018 上的论文 Radical analysis network for zero-shot learning in printed Chinese character recognition,本文的亮点在于提供了一种新的对汉字进行编解码的思路,这是一种基于注意力机制的编解码方法。在这个方案之前,大家都是把汉字当成整个字符或一张图片来识别,所用到的方法跟图像识别,或者 ImageNet 图像分类的方案差不多,忽略了汉字本身的重要性质——汉字由偏旁部首构成

简而言之就是,对汉字,可以通过识别其偏旁部首及各部首相对位置进行特殊编码。拿「殿」字举例,这个字是左右结构,先是「共」字旁和「八」字旁行成上下结构,然后「尸」字旁左上包围这一上下结构。右边由「几」和「右」上下组成。

【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】_第2张图片
对于每一个特定的汉字,都有一个唯一确定的特殊编码与之对应。通过识别这个编码,就可以确定这个汉字,达到文字识别的目的。诚然,用该方案去打比赛夺得了当年挑战赛的头奖。但由于主创团队并未公布源码及相关资源,比赛也已过期,我们并不能实际检测模型运行效果。

2018距今已过五年,随着技术的更新迭代,该方案也渐渐显露出其局限性,列举几条:

  1. 据教育部、国家语言文字工作委员会2013年组织制定的《通用规范汉字表》统计,一级字表共收录3500常用字,其覆盖率高达99.48%【即日常每用一个汉字,其收录于一级字表的概率为99.48%】,一般的文字识别项目大约也就能检测3500字上下。据不完全统计,常用独体字【一个字只有一个单个的形体,不是由两个或两个以上的形体组成】约300个,这些字并不符合该模型所介绍的各种结构。
  2. 有些字符并不能独立成字,比如“派”字右侧的字符等以及一些简体字中已经摒弃掉的字符,如“肆”字中繁体的“镸”,这种类型的字符非常多,给部首的编码工作带来了很大的影响。
  3. 由于人类学习汉字时有“先左后右,先上后下,先中间后两边,先里头后封口”等识记口诀,所以我们对于组成较为复杂的字也能合理拆分,但计算机无论采用哪种形式的神经网络对其进行分析,都逃不过对像素的分析,而当字形非常复杂时(稍极端一些如图三的),估计就很难对于汉字合理地生成论文中所提的那棵字符生成树了,更遑论正确的深度优先遍历呢,这恐怕会给模型对于复杂文字的识别带来一定困难。

【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】_第3张图片

  1. ……

当然,由于没有源码,以上仅是我根据论文和相关报道合理推断后的一家之言,仅供参考)


三、思考

不过作者确实给我提供了一个思路,识别汉字【实际上是对汉字图像的分类任务】与识别阿猫阿狗有很大的区别。汉字的组成,凝聚了中华文明千年传承的文化以及世世代代中国人民的智慧,是老祖宗留下来宝贵的智慧结晶。通过旋转、拉伸、变形以及在二维空间中的排列组合,有限个横竖撇捺点可以形成多达上万种汉字。

让我们回忆一下人类(中国人)在初学汉字时是怎么做的:
【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】_第4张图片

  • 对于独体字,老师一般教我们“先横后竖、先上后下”,有些人尽管笔顺错误,但最终写得的汉字是正确的。我们如何判断他写的是正确的呢?就是通过判断写得的这些横竖撇捺的相对位置和相对大小是否正确
  • 对于合体字,就简单多了,比如,“人门闪,马门闯,心入门,闷得慌”,识别合体字,也是通过观察其各偏旁部首相对位置和相对大小来进行分析的。

所以,我们可以将汉字识别任务看成对于组成汉字的偏旁部首识别以及各偏旁部首对应相对位置和相对大小的分析 两个任务的结合。这也是人类识别汉字最直观的方法——总不可能有人是通过对汉字进行像素分析来学习汉字的吧!

那怎么识别呢,这些组成汉字的偏旁部首怎么编码呢,我一开始的想法是通过识别笔画(即横竖撇捺点)并对其进行编码来进行识别,但是这个工程量实在太大(标数据得标死我-_-),而且笔画的长短不一、角度不同都很影响识别的效果,比如“乃”字的“横折折折勾”,十个人写可能有十种样子,总之这个方案在脑海里尝试了一遍之后即胎死腹中。

正当我犹豫是不是换个题目时,我突然想到了一首歌:

五笔字根歌

【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】_第5张图片

这不是现成的部首(字根)编码方式吗?!!

关于五笔输入法的落寞,最大的原因就是字根太难记。

但是对于计算机来说,这就不是事!!!

总共就25个字母【26个字母除去万能键Z】,使用物体检测算法对图像进行字根识别,再对各字根对应相对位置及相对大小进行分析,我仿佛发现了一条汉字识别新方法的康庄大道。近些年虽有将字根研究与汉字识别相结合的相关项目,但似乎鲜有将汉字识别与五笔字型关联起来并从这个角度切入进行研究的。


四、模型

依据上文提供的思路,我大致想了一个模型,流程如下:

【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】_第6张图片
接下来这个系列的文章,博主将由浅入深,从头到尾,将我这个想法给实现,最终实现的效果如下:

【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】_第7张图片
【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】_第8张图片

如果大家喜欢这个系列的文章,请点赞、评论、分享。三连走起,多谢多谢。

你可能感兴趣的:(人工智能,深度学习,分类算法,汉字识别,毕业设计)