[发明专利]一种蒙古文在线手写体识别方法有效
申请号: | 202010544102.5 | 申请日: | 2020-06-15 |
公开(公告)号: | CN111695527B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 飞龙;杨帆;李敏;张晖;高光来 | 申请(专利权)人: | 内蒙古大学 |
主分类号: | G06V10/75 | 分类号: | G06V10/75;G06V10/774;G06V10/30;G06V30/226;G06K9/62 |
代理公司: | 西安知诚思迈知识产权代理事务所(普通合伙) 61237 | 代理人: | 麦春明 |
地址: | 010021 内蒙古自治区呼*** | 国省代码: | 内蒙古;15 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 蒙古文 在线 手写体 识别 方法 | ||
1.一种蒙古文在线手写体识别方法,其特征在于,按照以下步骤进行:
步骤S1、获取移动设备保存的表征手写体蒙古文单词笔画轨迹的坐标序列即手写体蒙古文坐标序列,同时采用该手写体蒙古文坐标序列表达的蒙古文单词作为标注;
步骤S2、对手写体蒙古文坐标序列进行平滑化处理;
步骤S3、对手写体蒙古文坐标序列进行去噪处理;
步骤S4、对手写体蒙古文坐标序列进行规范化处理,使得手写体蒙古文字体大小一致;
步骤S5、将一个手写体蒙古文坐标序列作为一个样本,并将样本对应的标注作为样本标签,对样本及样本标签进行数据转换,将其转换为深度学习模型能够处理的样本张量和样本标签张量;
步骤S6、构建基于注意力机制的序列模型,并采用样本张量和样本标签张量训练基于注意力机制的序列模型,基于注意力机制的序列模型输出的是由多个概率矩阵组成的三维张量,其第一个维度是样本数量即概率矩阵数量,第二个维度和第三个维度共同组成概率矩阵,第二个维度表示长度为25的预测序列的所有字符位,第三个维度是每个字符位对应所有分类的概率;
步骤S7、采用步骤S1~S5对待识别手写体蒙古文单词进行处理得到新的样本张量,并将新的样本张量输入训练后得到的基于注意力机制的序列模型中,得到待识别手写体蒙古文单词的概率矩阵;然后经蒙古文字典引导,采用集束搜索算法匹配最大概率的输出结果,得到蒙古文手写体识别结果;
所述步骤S5对样本进行数据转换得到的样本张量是一个三维张量,其第一个维度是样本总数,基于注意力机制的序列模型训练过程中,训练数据中所有手写体蒙古文坐标序列的总数就是样本总数,进行在线手写体蒙古文识别时,同一时间仅对一个蒙古文单词进行识别,即只有一个手写体蒙古文坐标序列,此时样本总数为1;其第二个维度为样本长度,即缩放后的手写体蒙古文坐标序列的序列点数;其第三个维度为数据特征,每个数据特征为包含当前序列点x坐标、当前序列点y坐标、当前序列点和上一个序列点的x坐标差值、当前序列点和上一个序列点的y坐标差值这4个值的向量;
所述步骤S5对样本标签进行数据转换的具体实现过程如下:
步骤S51、判断当前样本标签是蒙古文单词、数字还是特殊符号,如是蒙古文,则采用拉丁字符对其进行表示,如是数字则采用数字字符本身进行表示,如是特殊符号则采用特殊符号字符本身进行表示,除了有意义的目标外,识别还需要判断出无意义的部分,并视作空白,空白用#号表示,得到样本标签的表示字符序列;
步骤S52、采用表示字符序列中每个字符的索引对表示字符序列进行数字编码,得到当前样本标签的编码序列;
步骤S53、判断当前样本标签的编码序列长度是否等于25,如长度不足25,则进行补零操作使其长度为25;
步骤S54、利用当前样本标签的编码序列将当前样本标签转换为三维的样本标签张量,其第一个维度是当前样本标签的总数即当前样本的总数,第二个维度是当前样本标签的编码序列长度,第三个维度是当前样本标签对应的字符类别即字符索引0~77;
所述拉丁字符为(aeiwvouEnNbphgmlsxtqdjyrWfkKczHRLZCI)这36类,所述数字字符为(0123456789)这10类,所述特殊符号字符为(-_'*^`!%/=@×÷\,.:$?!!??()《》+¥)这31类,所述空白字符为(#),共78类;
所述表示字符序列中每个字符的索引极其中每个字符在字符序列中的编码,所述字符序列是将空白字符、拉丁字符、数字字符、特殊符号字符依次封装得到的序列,即(#aeiwvouEnNbphgmlsxtqdjyrWfkKczHRLZCI-_'*^`!%/0123456789=@×÷\,.:$?!!??()《》+¥),所述字符序列的长度为78,表征78个字符类别;
所述步骤S6基于注意力机制的序列模型输出的三维张量的第三个维度的特征维度,是78个字符类别即78个分类中每个分类出现的概率;
所述步骤S6构建的基于注意力机制的序列模型是采用两层输出维度为64、激活函数为relu函数的一维卷积层获取序列特征值,并采用隐藏神经元数为96、输出步长为25、输出维度为78的带有注意力机制的序列到序列层即编码解码层,以及常用的Softmax分类层合成基于注意力机制的序列模型;
所述基于注意力机制的序列模型采用RMSprop优化器,学习率0.001,损失函数采用sparse_categorical_crossentropy,其Softmax分类层输出78个字符类别的概率分布;
所述步骤S7是先创建压缩前缀字典树,然后结合压缩前缀字典树引导,采用集束搜索算法在基于注意力机制的序列模型输出的概率矩阵中搜索概率最大的输出结果;
所述创建压缩前缀字典树,是采用前缀字典树的结构将收录到的全部蒙古文单词对应的拉丁字符制作成词典,采用符号$作为根节点,采用符号#作为词的结束符,采用拉丁字符作为节点,对任意两蒙古文单词对应的拉丁字符的相同字符进行合并作为相同前缀作为父节点,并将不同字符分别作为子节点形成分支进行存储;
所述结合压缩前缀字典树引导,采用集束搜索算法在基于注意力机制的序列模型输出的概率矩阵中搜索概率最大的输出结果的具体实现过程如下:
步骤S71、设置集束搜索宽度的值BeamWidth,即每一轮搜索中保留选项的个数;然后从基于注意力机制的序列模型输出的概率矩阵的第一列开始搜索,搜索完成后得到78个长度为1的预测的拉丁序列即78个字符及其概率,然后在生成的压缩前缀字典树中搜索,将所有不存在于生成的压缩前缀字典树内的预测的拉丁序列删除,将剩余的候选项即剩余的预测的拉丁序列按概率从大到小排列,保留BeamWidth个选项;
步骤S72、对概率矩阵的第一列进行搜索,搜索完成后获取到78*BeamWidth个长度为2的预测的拉丁序列,所得每个拉丁序列的概率是其中所有字符的概率乘积,在生成的压缩前缀字典树中搜索,将当前获取到的长度为2的预测的拉丁序列中所有不存在于其内的预测的拉丁序列删除,再次将剩余的候选项即剩余的预测的拉丁序列按概率从大到小排列,保留BeamWidth个选项;
步骤S73、循环步骤S72,直至完成对概率矩阵的最后一列搜索,生成BeamWidth个长度为25的预测的拉丁序列,再通过拉丁转蒙古文的映射表,将BeamWidth个长度为25的预测的拉丁序列转换为蒙古文并输出作为识别结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于内蒙古大学,未经内蒙古大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010544102.5/1.html,转载请声明来源钻瓜专利网。