一种语法制导的端到端可训练联机手写数学公式识别方法技术

技术编号:34741687 阅读:27 留言:0更新日期:2022-08-31 18:34
本发明专利技术提供一种语法制导的端到端可训练联机手写数学公式识别方法,包括:生成用于训练模型的数据库,并对模型进行训练;用训练好的模型,解析手写数学公式。本发明专利技术通过联机手写数学公式样本与数学公式样本合成大量联机手写数学公式样本,并把用于解析LL(1)语法的预测分析法与集束搜索结合起来完成数学公式解码过程,解决手写数学公式难以准确识别的问题。题。题。

【技术实现步骤摘要】
一种语法制导的端到端可训练联机手写数学公式识别方法


[0001]本专利技术涉及模式识别
,具体涉及一种语法制导的端到端可训练联机手写数学公式识别方法。

技术介绍

[0002]联机手写数学公式识别是一种把手写数学公式的动态笔迹转换为结构化格式(如MathML)的技术,由于数学公式是一种常见于各类文档的重要信息载体,随着笔式输入设备的普及,这种技术在有广阔的应用前景,与自然语言文本识别相比,数学公式识别由于要面临更复杂和紧凑的平面结构而更为困难;与印刷体识别相比,手写识别也由于要应付因人而异的书写习惯而更为困难;与脱机识别相比,联机识别则由于有额外的时序信息和较少的背景噪声而更有希望达到较高的准确性,目前来说,有两类已知方法都能够达到当前最高级别的准确率:
[0003]第一类方法有明确划分的符号识别模块和结构分析模块,前者通过笔划序列进行切分和识别来取得候选符号集合,后者则通过分析符号间的位置关系并解析二维随机上下文无关语法来重组数学公式,两者相辅相成完成手写数学公式识别,使用这类方法的公司包括MyScript(原Vision Objects)和Samsung,这类方法的优点在于中间结果有较佳的可解释性,因而便于设计支持各种编辑操作的交互式用户界面和在训练后定制识别范围,不过,由于这类方法更多地利用了人的先验知识,实现它们时会涉及较多的细节问题。
[0004]第二类方法基于带注意力机制的编码器

解码器模型,使用这类方法的公司包括科大讯飞,这类方法的优点是容易实现,因为有关模型是端到端可训练的,不必依赖于大量难以维护的启发式规则,然而,由于有关模型在很大程度上是个黑盒,这类方法过往的一个通病是在运行期缺乏可定制性,此外,这类模型一般需要大量训练数据才能达到较高的准确性。
[0005]由此可见,基于较少的手写数学公式样本去建立一个灵活的联机手写数学公式识别系统是一个需要解决的问题。

技术实现思路

[0006]针对现有技术存在的问题,本专利技术提一种语法制导的端到端可训练联机手写数学公式识别方法。
[0007]为实现上述目的,本专利技术的具体方案如下:
[0008]本专利技术提供一种语法制导的端到端可训练联机手写数学公式识别方法,包括如下步骤:
[0009]S1,合成训练集,对模型进行训练;
[0010]S2,用训练好的模型,解析手写数学公式;
[0011]其中,步骤S2具体包括:
[0012]S21,初始化状态;
[0013]S211,把由公式的字符串表示、置信度、解码器状态和预测分析栈组成的假设的集合H初始化为{(λ,1,h,(w0,<start>))},其中λ表示空字符串,h为编码器的输出,<start>为语法G的开始符号;
[0014]S212,把由公式的字符串表示和置信度组成的识别候选的集合Y初始化为空集;
[0015]S22,重复以下步骤至假设集合为空:
[0016]S221,令
[0017][0018]其中,下一个片段分别为(w0,...,w
n
)的置信度p0,...,p
n
,还有更新后状态h

;是解码器根据中间状态h和已识别出的字符串y计算的
[0019]S222,对每个(y,p,h,t)∈H,重复以下步骤:
[0020]S2221,记t=(Z1,...,Z
m
,X)而w为字符串y的最后一个终结符;
[0021]S2222,若X为终结符:
[0022]若X=w,则令t

(Z1,...,Z
m
);否则把当前假设从H移除再考虑其它假设;
[0023]S2223,若X非终结符:
[0024]若LL(1)语法G的预测分析表中,把以终结符w开始的字符串解析为非终结符X时有可用的产生式“X

X1...X
l”,则令t

(Z1,...,Z
m
,X
l
,...,X1);否则把当前假设从H移除再考虑其它假设;
[0025]S2224,若w=w0,则把当前假设从H移除再令Y

Y∪{(y,p)}和k

k

1;
[0026]S223,仅保留H中分数最高的k个假设。
[0027]进一步的,步骤S1具体包括:
[0028]S11,扩充联机手写数学公式库;
[0029]S12,扩充结构化数学公式库;
[0030]S13,对每条结构化数学公式,合成对应的手写笔迹;
[0031]S14,用合成训练集,对模型进行训练。
[0032]进一步的,步骤S11具体包括:
[0033]S111,把联机手写数学公式库中每条手写公式的所有子公式都加入到联机手写数学公式库中;
[0034]S112,对每条图片形式的数学公式进行笔划提取再加入到联机手写数学公式库中。
[0035]进一步的,步骤S12具体包括S121:按照随机上下文无关语法生成一批MathML格式的数学公式并加入结构化数学公式库中。
[0036]进一步的,步骤S13具体包括如下步骤:
[0037]S131,把结构化数学公式渲染为印刷体形式,同时记下每个符号的外接方框;
[0038]S132,在联机手写数学公式库中寻找有相同结构的极大子公式,找到的话按手写样本调整其中符号的外接方框的位置;
[0039]S133,把每个符号替换为联机手写数学公式库中其中一个对应的手写符号,再进行轻微的随机仿射变换;
[0040]S134,对合成的手写笔迹进行随机旋转和缩放。
[0041]进一步的,用于训练模型的数据库包括:联机手写数学公式样本、脱机手写数学公式样本、印刷体数学公式样本、数学公式语料和随机生成的数学公式。
[0042]进一步的,训练基于以下形式的数据源:
[0043]联机手写数学公式样本库,其中每条联机手写数学公式以InkML格式保存,其中也包含用MathML格式保存的标注;
[0044]脱机手写和印刷体数学公式样本库,其中每条脱机手写数学公式分别带用PNG格式保存的图片和用MathML格式保存的标注;
[0045]数学公式语料库,其中每条公式以MathML格式保存。
[0046]进一步的,解码过程中确保识别出的数学公式有符合给定语法的字符串表示;把用于解析LL(1)语法的预测分析法与集束搜索结合起来完成数学公式解码过程。
[0047]采用本专利技术的技术方案,具有以下有益效果:
[0048]通过联机手写数学公式样本与数学公式样本合成大量联机手写数学公式样本,并把用于解析LL(1)语法的预测分析法与集束搜索结合起来完成数学公式解码过程,解决手写数学公式难以准确识别本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种语法制导的端到端可训练联机手写数学公式识别方法,其特征在于包括如下步骤:S1,合成训练集,对模型进行训练;S2,用训练好的模型,解析手写数学公式;其中,步骤S2具体包括:S21,初始化状态;S211,把由公式的字符串表示、置信度、解码器状态和预测分析栈组成的假设的集合H初始化为{(λ,1,h,(w0,<start>))},其中λ表示空字符串,h为编码器的输出,<start>为语法G的开始符号;S212,把由公式的字符串表示和置信度组成的识别候选的集合y初始化为空集;S22,重复以下步骤至假设集合为空:S221,令其中,下一个片段分别为(w0,...,w
n
)的置信度p0,...,p
n
,还有更新后状态h'是解码器根据中间状态h和已识别出的字符串y计算的;S222,对每个(y,p,h,t)∈H,重复以下步骤:S2221,记t=(Z1,...,Z
m
,X)而w为字符串y的最后一个终结符;S2222,若X为终结符:若X=w,则令t

(Z1,

,Z
m
);否则把当前假设从H移除再考虑其它假设;S2223,若X非终结符:若LL(1)语法G的预测分析表中,把以终结符w开始的字符串解析为非终结符X时有可用的产生式“X

X1…
X
l”,则令t

(Z1,

,Z
m
,X
l


,X1);否则把当前假设从H移除再考虑其它假设;S2224,若w=w0,则把当前假设从H移除再令Y

Y∪{(y,p)}和k

k

1;S223,仅保留H中分数最高的k个假设。2.根据权利要求1所述的语法制导的端到端可训练联机手写数学公式识别方法,其特征在于,步骤S1具体包括:S11,扩充联机手写...

【专利技术属性】
技术研发人员:庄建明陈颂光
申请(专利权)人:泓宇星私人有限责任公司
类型:发明
国别省市:

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

1