CN110929634A - 基于双向Tree-GRU的联机手写数学公式识别方法 - Google Patents
基于双向Tree-GRU的联机手写数学公式识别方法 Download PDFInfo
- Publication number
- CN110929634A CN110929634A CN201911136305.4A CN201911136305A CN110929634A CN 110929634 A CN110929634 A CN 110929634A CN 201911136305 A CN201911136305 A CN 201911136305A CN 110929634 A CN110929634 A CN 110929634A
- Authority
- CN
- China
- Prior art keywords
- tree
- gru
- graph
- labels
- bidirectional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于双向Tree‑GRU的联机手写数学公式识别方法,通过提取手写数学公式的二维树状图,利用双向单隐藏层Tree‑GRU网络对二维树状图进行公式识别;其中二维树状图按不同的规则进行提取,并对应训练双向单隐藏层Tree‑GRU网络生成相应的分类器,通过多树融合的策略比只提取单一的树能更精确覆盖所有节点和边。本发明方法不需要对手写公式进行分割,并且采用的Tree‑GRU网络可以允许信息通过树状结构传播,与一般的一维网络结构相比,可以更多地学习手写数学公式的二维结构。本发明方法对于联机手写数学公式的识别精度和识别效率均有所提高。
Description
技术领域
本发明涉及联机手写数学公式识别技术领域,尤其涉及基于双向Tree-GRU的联机手写数学公式识别方法。
背景技术
如今人们使用手写作为移动设备的输入方式已成为一个普遍习惯,手写识别与人们的日常生活有着密切联系。提高各种场景下手写识别的识别率对于提高人们的工作效率来说有着重要的意义。而数学符号在科学文献中占有重要的地位,是描述数学、物理等许多领域的问题和理论的必要手段。
数学公式的识别和普通数字的识别不同,数学符号类别的多样性和数学表达式二维结构的复杂性使手写数学公式识别具有一定的挑战性。部分基于一维结构的手写数学公式,比如“2+2”,可以用如BLSTM-CTC的传统基于链状网络结构的算法去很好识别。但传统的基于链状网络结构很难去精确识别带有二维结构的手写数学公式,比如带有分子分母等复杂结构的手写数学公式。而且LSTM本身的参数比较多,也增加了训练的难度。
发明内容
本发明为解决现有的手写识别方法难以识别带有二维结构的数学公式问题,提供了基于双向Tree-GRU的联机手写数学公式识别方法。
为实现以上发明目的,而采用的技术手段是:
基于双向Tree-GRU的联机手写数学公式识别方法,包括以下步骤:
S1.获取输入的联机手写数学公式数据,包括公式的笔画信息InkML文件以及公式的笔画级别关系图SLG文件;
S2.从所述InkML文件中提取所述公式的笔画集合,为所述笔画集合中的笔画按时序编码后按照预设的N个规则提取对应的N个二维树状特征;所述二维树状特征即树状图;
S3.解析所述SLG文件并从中提取各个树状图的标签,并将标签转换成整型数据类型;所述标签包括树状图中节点和边的标签;
S4.基于预设的N个规则构建对应的N个双向单隐藏层Tree-GRU网络,将所述N个树状图及相应的标签输入至对应预设规则的双向单隐藏层Tree-GRU网络中进行训练,并利用局部时域连接分类器对双向单隐藏层Tree-GRU网络进行损失计算以更新网络参数;
S5.对N个双向单隐藏层Tree-GRU网络输出的树状图进行合并后输出完整SLG文件,即为所述数学公式的识别结果。
优选的,所述步骤S2包括以下步骤:
S21.从所述InkML文件中提取所述公式的笔画集合S={s0,...,sn-1},其中包含n个按时间顺序排列的笔画;
S22.以所述公式中的笔画为节点,构建一个有向图G;
S23.在所述有向图G中按照预设的N个规则提取对应的N个树状图,所述树状图中的节点为原始散点构成的笔画,边是前后两个节点的笔画边框中心的连线;
S24.对所述树状图中的节点和边分别进行重采样,使得所述节点和边由稀疏相同的散点构成。
优选的,步骤S3中提取各个树状图的节点标签即从SLG文件中提取节点对应的符号标签,提取各个树状图的边的标签即从SLG文件中提取边对应的符号标签和位置标签。
优选的,步骤S4所述的双向单隐藏层Tree-GRU网络包含一个隐藏层,所述隐藏层包含从树状图的根到枝叶以及从枝叶到树状图的根两个方向的独立路径;对于从树状图的根到枝叶的方向,从树状图的根开始对树状图中的短序列进行预计算,使树状图中的每个短序列都储存到来自根部的信息;对于从枝叶到树状图的根的方向,从枝叶开始对树状图中的短序列进行预计算,使树状图中的每个短序列都储存到来自枝叶的信息;其中每个短序列表示步骤S2提取得到的树状图中的节点或边;所述双向单隐藏层Tree-GRU网络赋予各树状图中的节点和边相应的标签以及各标签对应的概率。
优选的,步骤S4中所述的利用局部时域连接分类器对双向单隐藏层Tree-GRU网络进行损失计算以更新网络参数具体为:采用局部时域连接分类器对所述双向单隐藏层Tree-GRU网络输出树状图中的每个短序列计算局部损失,所述树状图内所有短序列的局部损失的和即为所述树状图的全局损失,判断所述全局损失是否超过预设阈值,若是则继续训练,若否则结束训练。
优选的,所述步骤S5具体为:对N个双向单隐藏层Tree-GRU网络输出的树状图进行识别,对于相同的节点和边在不同树状图中赋予的不同标签,取其中被赋予的概率最大的标签作为最终结果;对于属于同一符号的相邻节点,补充双向边后输出完整SLG文件;所述SLG文件包括所述数学公式的符号分割信息、符号标签以及符号空间位置关系。
与现有技术相比,本发明技术方案的有益效果是:
本发明的基于双向Tree-GRU的联机手写数学公式识别方法,通过提取手写数学公式的二维树状图,利用双向单隐藏层Tree-GRU网络对二维树状图进行公式识别;其中二维树状图按不同的规则进行提取,并对应训练双向单隐藏层Tree-GRU网络生成相应的分类器,通过多树融合的策略比只提取单一的树能更精确覆盖所有节点和边。本发明方法不需要对手写公式进行分割,并且采用的Tree-GRU网络可以允许信息通过树状结构传播,与一般的一维网络结构相比,可以更多地学习手写数学公式的二维结构。本发明方法对于联机手写数学公式的识别精度和识别效率均有所提高。
附图说明
图1为本发明的流程图。
图2为实施例中公式“2+2”的笔画格式的SLG。
图3为实施例中公式“2+2”的符号格式的SLG。
图4为实施例中笔画的5个方向区域的示意图。
图5为实施例中重采样后的树状图。
图7为实施例中标签转换成整型数据类型的数据转换格式表。
图8为实施例中链状GRU单元的示意图。
图9为实施例中Child-Sum Tree-GRU单元的示意图。
图10为实施例中从两个方向访问的树状图。
图11为实施例中单隐藏层双向单隐藏层Tree-GRU网络示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
本实施例提供了一种基于双向Tree-GRU的联机手写数学公式识别方法,如图1所示,包括以下步骤:
S1.获取输入的联机手写数学公式数据,包括公式的笔画信息InkML文件以及公式的笔画级别关系图SLG文件;
首先对联机手写数学公式的基本情况进行说明:联机手写数学公式识别的输入是笔画的时序信息,而笔画的时序信息由无数的散点构成。用户在手写板书写时,笔画信息可以被提取,并以记录散点横纵坐标的形式存储。InkML文件记录公式的笔画信息,相当于是训练数据。而数据的标签是笔画级别关系图(stroke level graph),简称SLG。如公式“2+2”的SLG的两种格式如图2和3所示,图2展示的是笔画格式的SLG,Node即节点,代表公式中的每个笔画,每个笔画都有编号,编号后面是对应的真实值(ground truth),最后是概率。真实值的概率都为1.0。节点的表现格式是:“N,笔画编号,笔画标签,概率”。Edge即边,代表前后两个笔画间的关系。边是有向边,方向一般按时序由时间靠前的笔画指向时间靠后的笔画。边的标签是前后笔画所属的符号间的位置关系。符号间有六种位置关系:上(Above),下(Below),左(Left),右(Right),上标(Superscript),下标(Subscript),包含(Inside);以及符号分割关系,即两个笔画属于同一个符号,总共七种关系。其中“包含(Inside)”指的是像根号里面的符号和根号间的关系。若两个笔画间的关系是符号分割关系,则边是双向的,并且标签为该符号。所以边的表现格式是:“E,前笔画编号,后笔画编号,边的标签,概率”。属于同一符号内的笔画的与前后笔画的位置,即边的标签是一样的,因为这个位置关系代表的是该笔画所处在的符号间的对比关系。比如“2+2”中“+”号内的两个笔画,和后面的“2”的位置关系都是右(Right),同样前面的“2”和“+”内两个笔画的位置都是右。而两个“2”由于隔了加号,位置关系超出了以上所描述的七个关系中的任意一种,所以没有关系。图3展示的是符号格式的SLG。两个格式的SLG包含的信息一样,只是格式不一样。符号格式的SLG中,每个Object代表一个符号,每个符号由若干个笔画构成。所以Objects的格式是:“O,符号编号,符号标签,符号包含的笔画”。Relations就是符号间的关系。符号间的关系只有上述的6种空间关系,没有符号分割关系。格式为:“EO,前符号编号,后符号编号,符号关系标签,概率”。
S2.从所述InkML文件中提取所述公式的笔画集合,为所述笔画集合中的笔画按时序编码后按照预设的N个规则提取对应的N个二维树状特征;所述二维树状特征即树状图:
S21.从所述InkML文件中提取所述公式的笔画集合S={s0,...,sn-1},其中包含n个按时间顺序排列的笔画;
S22.以所述公式中的笔画为节点,构建一个有向图G:
对于每个笔画si,以该笔画的边框中心(the center of bounding box)为原点定义5个方向区域(R1,R3,R3,R4,R5)如图4所示:
其中,R1区域范围是为的是搜寻右边方向。R2区域的范围是为的是搜寻上标方向。R3的区域范围是为的是搜寻向上的方向。R4的范围是为的是搜寻向下的方向。R5的范围是为的是搜寻下标方向。向下和向上的范围都比较大,这样是为了能更容易在像分数这样的数学公式结构中易捕捉上下关系。
若笔画sj到笔画si最近的两点之间的连线没有和别的笔画相交,则称笔画sj对笔画si是可见的。笔画si的可见笔画集Svis(i)定义为:在(R1,R3,R3,R4,R5)五个方向中,分别找到对笔画si可见的并且最靠最左边的笔画所组成的合集。笔画si的交叉笔画集Scro(i)定义为在{si+1,...,sn-1}中和笔画si相交的笔画的集合,如“+”中的两个笔画就是交叉的笔画。
对于一个手写数学公式,把该公式中的每个笔画看做一个节点,然后添加相关的边(edge)完成有向图G。总共有7种边:Crossing,R1,R2,R3,R4,R5,Time。“crossing”意味着交叉的笔画。“Time”在时间顺序上连续的两个笔画,比如si到si+1。对于其中某一个笔画si:(1)首先添加si到Scro(i)中的笔画的Crossing边。(2)然后在si到Svis(i)中的笔画添加(R1,R3,R3,R4,R5)中相应的边。(3)若在Scro(i)∪Svis(i)中不包含si+1,则需要补充添加有si到si+1的Time边,因为有向图G中不仅需要保留空间信息,还需要保留原有的时序信息。(4)对于从si到Scro(i)∩Svis(i)的边,即同时属于交叉集和可见集的边,以交叉边优先,更改为crossing边。
S23.在所述有向图G中按照预设的N个规则提取对应的N个树状图,所述树状图中的节点为原始散点构成的笔画,边是前后两个节点的笔画边框中心的连线;
在有向图G中提取手写数学公式的二维树状特征,表现为从有向图G中按照一定规则提取出来的若干的树状图(trees)。一种规则是:(1)找到公式中最左边的节点;(2)利用深度优先搜索算法(Depth-First Search algorithm)遍历有向图G中的其他节点,每个节点只能访问一次;(3)若某节点存在多条边,访问的优先级为:Crossing,R1,R3,R4,R2,R5,Time。按照这个优先级的顺序就意味着,除了交叉的笔画外(交叉的笔画一般都属于同一个符号,亲密关系大),优先考虑右边的关系R1,因为这样优先捕捉到公式从左到右的关系,其次上下关系R3和R4,上下标关系R2和R5次之,最后考虑时序关系Time。按照这样的方法得到的树状图可以标记为“Tree-Left-R1”,即以最左边的节点为树状图的“根”,优先R1关系。除了Crossing必须在第一位,也可以优先考虑(R1,R2,R3,R4,R5)中其他关系,剩下的顺序不变。比如,按Crossing,R2,R1,R3,R4,R5,Time的顺序访问,可以得到“Tree-Left-R2”。类似地可以得到“Tree-Left-R3”,“Tree-Left-R4”,“Tree-Left-R5”等。除了以最左边的节点为根,也可以以最开始的节点s0为根,可以得到“Tree-0-R1”。类似地可以得到“Tree-0-R3”,“Tree-0-R4”,“Tree-0-R5”等。除了以上方法,还可以按照时间顺序,提取s0→s1→...→s(n-1),这样可以得到“Tree-Time”。“Tree-Time”是一个把笔画按时间顺序排列边在相邻的两个笔画间插入边的一维结构。综上总共有11中提取树状图的规则:Tree-Left-R1,Tree-Left-R2,Tree-Left-R3,Tree-Left-R4,Tree-Left-R5,Tree-0-R1,Tree-0-R2,Tree-0-R3,Tree-0-R4,Tree-0-R5,Tree-Time。有向图G中有些节点可能会在一次提取树状图的过程中无法访问,因此只提取一颗树状图是不够的,需要用上述11种规则中的N种规则提取对应的树状图。
S24.对所述树状图中的节点和边分别进行重采样,使得所述节点和边由稀疏相同的散点构成。
笔画插值的点数Nd的计算公式为:
Nd=sample*(ld/d)
其中,d是所有笔画的边逛对角线的长度的平均值,对于树状图中的节点来说,ld是当前笔画的长度。对于边而言,ld是前节点中的笔画的边框中心到后节点的笔画的边框中心的距离。而sample是一个常数,可以控制散点的稀疏程度。经过重采样后,节点和边都由一系列稀疏相同的散点构成,其中每个点仍然用xy坐标表示。图5展示了一个简单的采样后的树状图,圆形代表一个节点,箭头代表边。
接下来利用5个特征来取代xy坐标去表示节点和边中的每个点:
如图6所示,θi代表点pi的方向,是pi-1到pi+1的向量与水平线的夹角。代表pi角度的变化量,即笔迹的曲率,是pi-1的方向和pi+11的方向的夹角。最后一个特征值PenUDi代表当前点是属于“提笔”笔画还是“下笔”笔画。如果属于“下笔”笔画PenUDi=0,否则,PenUDi=1。
求点pi方向θi:
如果n=1或者n=2:
如果n>2:
上式中和分别是点pi的单位方向向量的x坐标和y坐标。点pi的单位方向向量是点pi-1到pi+1的方向向量经过点pi-1和pi+1两点的距离li单位化得到的。点pi方向θi通过反正弦函数求得。一个笔画中,前两个点和后两个点的θ的值是一样的。
求点pi曲率φi:
如果n=1或者n=2:
如果n>2:
点pi曲率φi是点pi-1和pi+1的单位方向向量和的夹角。用一个单位向量ci表示曲率φi,和分别就是单位向量ci的x、y坐标,可以分别看做曲率φi的正余弦值,便可以用点乘和叉乘的坐标计算方法计算得到。
S3.解析所述SLG文件并从中提取各个树状图的标签,并将标签转换成整型数据类型;所述标签包括树状图中节点和边的标签;
提取各个树状图的节点标签即从SLG文件中提取节点对应的符号标签,提取各个树状图的边的标签即从SLG文件中提取边对应的符号标签和位置标签。有些情况下,树状图中的边的关系不存在SLG中,就标记为“_”,代表着无关系(No relationship)。在CROHME数据集中,符号的标签有101种,所以对于节点有101种分类。每个边除了101种因前后笔画的符号分割关系而形成的符号标签分类,还有六种位置关系(上(Above),下(Below),左(Left),右(Right),上标(Superscript),下标(Subscript),包含(Inside)),以及“_”(Norelationship)。所以标签总共有108种分类。
由于符号和位置信息的标签在SLG是以相应的字符串形式存在的,因此提取标签的时候要按照图7的表格转换成整形数据类型:图7中左边是标签的字符串形式,右边是整形形式,形成一个一对一的字典。图7中的第109个标签“blank”是局部时域连接分类器(local-CTC)算法中在符号标签前后插入的空格。所以108个有用标签加上这个“空格”,转换表格共有109个标签。
S4.基于预设的N个规则构建对应的N个双向单隐藏层Tree-GRU网络,将所述N个树状图及相应的标签输入至对应预设规则的双向单隐藏层Tree-GRU网络中进行训练,并利用局部时域连接分类器对双向单隐藏层Tree-GRU网络进行损失计算以更新网络参数;采用局部时域连接分类器对所述双向单隐藏层Tree-GRU网络输出树状图中的每个短序列计算局部损失,所述树状图内所有短序列的局部损失的和即为所述树状图的全局损失,判断所述全局损失是否超过预设阈值,若是则继续训练,若否则结束训练。
一、本发明的双向单隐藏层Tree-GRU网络
在网络结构上,本发明利用的是Child-Sum Tree-GRU。与LSTM相比,GRU把细胞状态(cell state)和隐藏状态(hidden state)进行了合并,只有隐藏状态(hidden state),因此参数更少,模型结构更简单。如图8的链状GRU单元所示。
链状GRU单元拥有一个重置门(reset gate)和一个更新门(update gate)。重置门rt用来控制前一单元的输出ht-1,以生成候选状态更新门zt和(1-zt)控制前一单元的输出ht-1和当前候选状态分别保留多少。前向传播公式如下:
rt=σ(W(z)xt+U(z)xt+b(z))
zt=σ(W(z)xt+U(z)ht-1+b(z))
图9展示了一个Child-Sum Tree-GRU单元。Child-Sum Tree-GRU单元拥有多重置门(multi-reset gate)结构,每个重置门(reset gate)ri用于控制对应一个前子单元。更新门(update gate)z负责控制多少前子单元的隐藏状态(hidden state)的以及多少候选状态能够通过。
Child-Sum Tree-GRU的前向传播公式如下:
rk=σ(W(r)x+U(r)hk+b(r)),
双向单隐藏层Tree-GRU网络,即从树状图的根部到枝叶(from root to leave)访问信息,加上从枝叶到根(from leave to root)访问信息,然后和BRNN一样,把两个方向的信息用两个权重进行整合。双向的Tree-GRU模型能够综合这两个方向的信息,因此比单向的GRU更适合联机手写数学公式识别任务。
如图10所示,(a)展示的是从根到枝叶(from root to leave)访问树状图,(b)是从枝叶到根(from leave to root)。(a)中较深色的点都是一维的链状结构,GRU单元为如图8所示的链状GRU。而(a)中较浅色的点为多后向点单元(mul-next),需要把输出信息分别输出到多个后单元,前向传播和链状GRU单元一样,不过在计算误差的反向传播是,需要把所有后单元的误差累加在一起再传到多后向点单元(mul-next)。计算方向如果是(b)所示的从枝叶到根(from leave to root),较浅色的点是多前向点(mul-previous)单元,其单元结构为如图9所示的Child-Sum Tree-GRU单元,计算误差的反向传播和普通GRU一样。
图11展示了一个含有一个隐藏层(hidden layer)的Tree-GRU网络,一个隐藏层含有两个方向:from root to leave和from leave to root。图中每一个短序列包含若干的点,每一个短序列代表特征提取后的公式的树状图中的节点或边。系统把每个短序列按顺序单独处理,处理过程按照链式GRU去处理。但因为每个短序列还要包含其他短序列的信息,而且和链式结构不同,树状图结构有许多分支,没办法像链状结构那样一轮从头到尾积累获取所有信息,所以处理短序列前需要经过预计算(pre-computation),如图11(a)和(b)所示。对于双向Tree-GRU,预计算有两轮,分别是从根到枝叶(from root to leave)和从枝叶到根(from leave to root)两个方向。对于从根到枝叶(from root to leave)的方向,预计算从根部开始,使树状图状结构内的每个短序列都储存到来自根部的信息。对于从枝叶到根(from leave to root)同理,只是方向变成从枝叶开始。预计算不输出数据,只是为了是每一个短序列都能保留从根部或者是从枝叶开始的信息。图11(c)展示了一个短序列的全连接示意图,如较浅色短序列所示。对于隐藏层(from root to leave),根部短序列的第一个点的初始激活信息为0,然后进行预计算。预计算后,每个短序列都获得了来自根部累计的信息,然后每个短序列的处理方法和链状GRU一样,除根部序列外,每个短序列的第一个点的ht-1(参考图8)为从根部累计过来的预计算得到的激活信息。隐藏层(from rootto leave)的单元都是链状GRU单元,没有多重置门结构。对于隐藏层(from leave toroot),预计算方向从枝叶开始,把所有从枝叶的信息加起来存储到短序列中。隐藏层(fromleave to root)中mui-previous点(参考图10)是Child-Sum Tree-GRU结构,拥有多重置门结构(参考图9),能够把枝叶过来的信息加起来。
含有一个隐藏层的双向单隐藏层Tree-GRU网络隐藏层含有的有两条路径是独立的,所以误差从输出层反向传播到输入层时,不需要经过预计算。但是如果有多隐藏层的情况除外。
二、利用局部时域连接分类器对双向单隐藏层Tree-GRU网络进行损失计算
Tree-GRU的网络输出层输出各短序列各个点的特征,再接上一个softmax层,最终得到各短序列每个点属于各个标签的概率的分布。由前述可知标签有108种分类。接下来用时域连接分类器CTC进行损失的计算。因为CTC网络的输出比标签数量多一个“空格”(blank),所以需在最后加上空格,标签总共有109类。标签数量正如图7所示。
假设一个树状图X含有N个节点和边,每个节点和边都是一个短序列。对于X中的任意一个短序列Xi,i=1,...,N,序列的长度Ti,它的真实标签是li。在标签前后插入空格,得到标签序列li′:(blank,li,blank)。如图8所示,黑色的点是标签li,白色的点是空格blank。横坐标长度是短序列长度Ti,表示变量计算从点1到点Ti。纵坐标长度是标签序列li′长度,在这短序列的局部时域连接分类器(local CTC)损失计算里长度恒为3,中间是真实标签li,上下是插入的空格。已知对于个短序列Xi,其中序列Xi的长度为Ti,网络的输出大小是[109,Ti],109是标签的总数。经过softmax层后,可得到一个大小为:[109,Ti]的二维概率表。我们用网络输出层中第t个点,属于标签k的结果,用代表softmax层输出的序列中第t个点,属于标签k的概率。
前向变量αi(t,u)表示短序列Xi在点t标签序列从1到u的可能性的总和,在这里,t=1,...,Ti,u=1,2,3。那么序列Xi属于li的概率可以看在序列最后一个元素,即点Ti处,包含最后一个空格和不包含最后一个空格的前向变量的和:
P(li|Xi)=αi(Ti,3)+αi(Ti,2)
前向变量α(t,u)可通过如下递归计算得到:
αi(1,3)=0,
αi(Ti,1)=0,
后向变量βi(t,u)表示短序列Xi在t点,标签序列从u到3的可能性的总和,在这里,t=1,...,Ti,u=1,2,3。同理,后向变量βi(t,u)可通过以下递归计算获得:
βi(Ti,3)=1,
βi(Ti,2)=1,
βi(Ti,1)=0,
βi(1,3)=0,
根据上述公式P(li|Xi)=αi(Ti,3)+αi(Ti,2),通过前向变量αi(t,u)的递归计算可以得到序列Xi属于li的概率P(li|Xi)。对于一个短序列Xi,其局部时域连接分类器损失为:
Li(Xi,li)=-lnp(li|Xi)
是在输出层的结果中,t点输出li标签的值。在本算法中,在计算局部损失时,只需要按上述方法递归计算前向变量即可,不需要用到反向变量。反向传播过程中,需要前后向变量相乘,才用到反向变量的计算。将此梯度结果沿着网络反向传播,即可更新网络参数。
整个树状图的全局损失L(S)为树状图内所有短序列的局部损失的和:
全局损失可用于评价网络的性能,判断全局损失是否超过预设阈值,若是则继续训练,若否则结束训练。
S5.对N个双向单隐藏层Tree-GRU网络输出的树状图进行合并后输出完整SLG文件,即为所述数学公式的识别结果。
假设提取N个树状图,对于其中的任一树状图Gi(i=1,...,N)中的任一个短序列Xj,有T个散点,短序列Xj标记为lk的累积概率是:
是短序列Xj中,第t个点属于标签lk的概率。对于边,标签lk是101+7种关系(上(Above),下(Below),左(Left),右(Right),上标(Superscript),下标(Subscript),包含(Inside)),以及“_”(No relationship))总共108种标签中的一种(除去了空格blank)。对于节点,只能是101种关系中的一种。最后短序列Xj的标签是在所有标签中累计概率最大的标签l。
树状图Gi中所有的短序列都按上面的识别方法给每个边和节点分配标签。其他的树状图同理。合并树状图的过程中,只需要取概率最大的标签作为最终结果即可。对于一些标签冲突的边,选取概率最大的最为最终结果。然后对于属于同一个符号的相邻节点,需要补充添加双向边,最终输出完整SLG文件;所述SLG文件包括所述数学公式的符号分割信息、符号标签以及符号空间位置关系。
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
1.基于双向Tree-GRU的联机手写数学公式识别方法,其特征在于,包括以下步骤:
S1.获取输入的联机手写数学公式数据,包括公式的笔画信息InkML文件以及公式的笔画级别关系图SLG文件;
S2.从所述InkML文件中提取所述公式的笔画集合,为所述笔画集合中的笔画按时序编码后按照预设的N个规则提取对应的N个二维树状特征;所述二维树状特征即树状图;
S3.解析所述SLG文件并从中提取各个树状图的标签,并将标签转换成整型数据类型;所述标签包括树状图中节点和边的标签;
S4.基于预设的N个规则构建对应的N个双向单隐藏层Tree-GRU网络,将所述N个树状图及相应的标签输入至对应预设规则的双向单隐藏层Tree-GRU网络中进行训练,并利用局部时域连接分类器对双向单隐藏层Tree-GRU网络进行损失计算以更新网络参数;
S5.对N个双向单隐藏层Tree-GRU网络输出的树状图进行合并后输出完整SLG文件,即为所述数学公式的识别结果。
2.根据权利要求1所述的基于双向Tree-GRU的联机手写数学公式识别方法,其特征在于,所述步骤S2包括以下步骤:
S21.从所述InkML文件中提取所述公式的笔画集合S={s0,...,sn-1},其中包含n个按时间顺序排列的笔画;
S22.以所述公式中的笔画为节点,构建一个有向图G;
S23.在所述有向图G中按照预设的N个规则提取对应的N个树状图,所述树状图中的节点为原始散点构成的笔画,边是前后两个节点的笔画边框中心的连线;
S24.对所述树状图中的节点和边分别进行重采样,使得所述节点和边由稀疏相同的散点构成。
3.根据权利要求1所述的基于双向Tree-GRU的联机手写数学公式识别方法,其特征在于,步骤S3中提取各个树状图的节点标签即从SLG文件中提取节点对应的符号标签,提取各个树状图的边的标签即从SLG文件中提取边对应的符号标签和位置标签。
4.根据权利要求1所述的基于双向Tree-GRU的联机手写数学公式识别方法,其特征在于,步骤S4所述的双向单隐藏层Tree-GRU网络包含一个隐藏层,所述隐藏层包含从树状图的根到枝叶以及从枝叶到树状图的根两个方向的独立路径;对于从树状图的根到枝叶的方向,从树状图的根开始对树状图中的短序列进行预计算,使树状图中的每个短序列都储存到来自根部的信息;对于从枝叶到树状图的根的方向,从枝叶开始对树状图中的短序列进行预计算,使树状图中的每个短序列都储存到来自枝叶的信息;其中每个短序列表示步骤S2提取得到的树状图中的节点或边;所述双向单隐藏层Tree-GRU网络赋予各树状图中的节点和边相应的标签以及各标签对应的概率。
5.根据权利要求1所述的基于双向Tree-GRU的联机手写数学公式识别方法,其特征在于,步骤S4中所述的利用局部时域连接分类器对双向单隐藏层Tree-GRU网络进行损失计算以更新网络参数具体为:采用局部时域连接分类器对所述双向单隐藏层Tree-GRU网络输出树状图中的每个短序列计算局部损失,所述树状图内所有短序列的局部损失的和即为所述树状图的全局损失,判断所述全局损失是否超过预设阈值,若是则继续训练,若否则结束训练。
6.根据权利要求4所述的基于双向Tree-GRU的联机手写数学公式识别方法,其特征在于,所述步骤S5具体为:对N个双向单隐藏层Tree-GRU网络输出的树状图进行识别,对于相同的节点和边在不同树状图中赋予的不同标签,取其中被赋予的概率最大的标签作为最终结果;对于属于同一符号的相邻节点,补充双向边后输出完整SLG文件;所述SLG文件包括所述数学公式的符号分割信息、符号标签以及符号空间位置关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911136305.4A CN110929634B (zh) | 2019-11-19 | 2019-11-19 | 基于双向Tree-GRU的联机手写数学公式识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911136305.4A CN110929634B (zh) | 2019-11-19 | 2019-11-19 | 基于双向Tree-GRU的联机手写数学公式识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110929634A true CN110929634A (zh) | 2020-03-27 |
CN110929634B CN110929634B (zh) | 2023-04-18 |
Family
ID=69850396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911136305.4A Active CN110929634B (zh) | 2019-11-19 | 2019-11-19 | 基于双向Tree-GRU的联机手写数学公式识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110929634B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738169A (zh) * | 2020-06-24 | 2020-10-02 | 北方工业大学 | 一种基于端对端网络模型的手写公式识别方法 |
CN113705322A (zh) * | 2021-06-11 | 2021-11-26 | 北京易达图灵科技有限公司 | 基于门限图神经网络的手写汉字识别方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512692A (zh) * | 2015-11-30 | 2016-04-20 | 华南理工大学 | 基于blstm的联机手写数学公式符号识别方法 |
CN106407874A (zh) * | 2016-03-25 | 2017-02-15 | 东南大学 | 基于笔迹坐标序列的手写识别方法 |
CN108805224A (zh) * | 2018-05-28 | 2018-11-13 | 中国人民解放军国防科技大学 | 具备可持续学习能力的多符号手绘草图识别方法及装置 |
CN109977958A (zh) * | 2019-03-25 | 2019-07-05 | 中国科学技术大学 | 一种离线手写体数学公式识别重构方法 |
CN109977861A (zh) * | 2019-03-25 | 2019-07-05 | 中国科学技术大学 | 离线手写体数学公式识别方法 |
-
2019
- 2019-11-19 CN CN201911136305.4A patent/CN110929634B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512692A (zh) * | 2015-11-30 | 2016-04-20 | 华南理工大学 | 基于blstm的联机手写数学公式符号识别方法 |
CN106407874A (zh) * | 2016-03-25 | 2017-02-15 | 东南大学 | 基于笔迹坐标序列的手写识别方法 |
CN108805224A (zh) * | 2018-05-28 | 2018-11-13 | 中国人民解放军国防科技大学 | 具备可持续学习能力的多符号手绘草图识别方法及装置 |
CN109977958A (zh) * | 2019-03-25 | 2019-07-05 | 中国科学技术大学 | 一种离线手写体数学公式识别重构方法 |
CN109977861A (zh) * | 2019-03-25 | 2019-07-05 | 中国科学技术大学 | 离线手写体数学公式识别方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738169A (zh) * | 2020-06-24 | 2020-10-02 | 北方工业大学 | 一种基于端对端网络模型的手写公式识别方法 |
CN113705322A (zh) * | 2021-06-11 | 2021-11-26 | 北京易达图灵科技有限公司 | 基于门限图神经网络的手写汉字识别方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110929634B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107526785B (zh) | 文本分类方法及装置 | |
Ghaseminezhad et al. | A novel self-organizing map (SOM) neural network for discrete groups of data clustering | |
CN107229904A (zh) | 一种基于深度学习的目标检测与识别方法 | |
CA2152211C (en) | System and method for automated interpretation of input expressions using novel a posteriori probability measures and optimally trained information processing networks | |
CN110046671A (zh) | 一种基于胶囊网络的文本分类方法 | |
Francesconi et al. | Logo recognition by recursive neural networks | |
CN109522942A (zh) | 一种图像分类方法、装置、终端设备和存储介质 | |
Suganthan | Structural pattern recognition using genetic algorithms | |
CN113674334B (zh) | 基于深度自注意力网络和局部特征编码的纹理识别方法 | |
CN110197224B (zh) | 基于特征空间深度对抗学习的空中手写字符轨迹恢复方法 | |
CN110929634B (zh) | 基于双向Tree-GRU的联机手写数学公式识别方法 | |
CN107491729B (zh) | 基于余弦相似度激活的卷积神经网络的手写数字识别方法 | |
CN113989890A (zh) | 基于多通道融合和轻量级神经网络的人脸表情识别方法 | |
CN110297888A (zh) | 一种基于前缀树与循环神经网络的领域分类方法 | |
CN111814658B (zh) | 基于语义的场景语义结构图检索方法 | |
CN109711411B (zh) | 一种基于胶囊神经元的图像分割识别方法 | |
Gader et al. | Handwritten character recognition | |
CN112086144A (zh) | 分子生成方法、装置、电子设备及存储介质 | |
CN111522963A (zh) | 一种基于公安知识图谱引擎的智能助理应用交互方法 | |
CN114722950A (zh) | 一种多模态的多变量时间序列自动分类方法及装置 | |
CA3156642A1 (en) | Anti-fraud method and system based on automatic feature engineering | |
Tolba et al. | A proposed graph matching technique for Arabic sign language continuous sentences recognition | |
CN113822419A (zh) | 一种基于结构信息的自监督图表示学习运行方法 | |
Sarvaramini et al. | Persian handwritten character recognition using convolutional neural network | |
CN112508108A (zh) | 一种基于字根的零样本汉字识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |