CN113688803A - 公式识别方法、装置、电子设备及存储介质 - Google Patents
公式识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113688803A CN113688803A CN202111237449.6A CN202111237449A CN113688803A CN 113688803 A CN113688803 A CN 113688803A CN 202111237449 A CN202111237449 A CN 202111237449A CN 113688803 A CN113688803 A CN 113688803A
- Authority
- CN
- China
- Prior art keywords
- node
- determining
- type
- character
- formula
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
Abstract
本公开提供了一种公式识别方法、装置、电子设备及存储介质。该方法包括:获取包含公式的待识别图像;基于解码器网络对所述公式的树结构进行识别,得到所述树结构的节点;确定下一节点的类型,其中,所述下一节点为通过对当前节点进行解析得到的节点;响应于确定所述下一节点的类型为结构节点,基于所述解码器网络的结构分支,确定所述结构节点包括的子树的根节点;基于所述子树的根节点,确定所述子树包括的一个或多个子节点;基于所述子树包括的一个或多个子节点,确定目标公式。由此,可以提高对公式识别的精度。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及公式识别方法、装置、电子设备及存储介质。
背景技术
随着线上教学的普及,公式识别的应用需求越来越多。在公式识别场景中,多是用户使用手机、平板电脑等电子设备对待识别的公式进行拍摄,以获得待识别图像。在一些场景下,待识别的公式可能是手写的,由于撰写者撰写方式或撰写风格的不同,手写公式的识别较为复杂。目前,存在对手写公式进行识别的方案,但这些方案对手写公式的识别准确率较低,有待提高。
发明内容
根据本公开的一方面,提供了一种公式识别方法,包括:
获取包含公式的待识别图像;
基于解码器网络对该公式的树结构进行识别,得到该树结构的节点;
确定下一节点的类型,其中,该下一节点为通过对当前节点进行解析得到的节点;
响应于确定该下一节点的类型为结构节点,基于该解码器网络的结构分支,确定该结构节点包括的子树的根节点;
基于该子树的根节点,确定该子树包括的一个或多个子节点;
基于该子树包括的一个或多个子节点,确定目标公式。
根据本公开的另一方面,提供了一种公式识别装置,包括:
获取模块,配置为获取包含公式的待识别图像;
识别模块,配置为基于解码器网络对该公式的树结构进行识别,得到该树结构的节点;
第一确定模块,配置为确定下一节点的类型,其中,该下一节点为通过对当前节点进行解析得到的节点;
第二确定模块,配置为响应于确定该下一节点的类型为结构节点,基于该解码器网络的结构分支,确定该结构节点包括的子树的根节点;
第三确定模块,配置为基于该子树的根节点,确定该子树包括的一个或多个子节点;
第四确定模块,配置为基于该子树包括的一个或多个子节点,确定目标公式。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例所提供的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使该计算机执行本公开任一实施例所提供的方法。
采用本公开,可以获取包含公式的待识别图像,基于解码器网络对该公式的树结构进行识别,得到该树结构的节点。可以确定下一节点的类型,并在确定该下一节点的类型为结构节点时,基于该解码器网络的结构分支,确定该结构节点包括的子树的根节点。并且,还可以基于该子树的根节点,确定该子树包括的一个或多个子节点,进而根据该子树包括的一个或多个子节点,确定目标公式。由此,可以提高对公式识别的准确性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为根据本公开一些实施例的公式识别方法的流程图;
图2为根据本公开另一些实施例的公式识别方法的流程图;
图3为根据本公开一些实施例的公式的树结构的示意图;
图4为根据本公开另一些实施例的公式的树结构的示意图;
图5为根据本公开一些实施例的解码器网络的示意图;
图6为根据本公开另一些实施例的解码器网络的示意图;
图7为根据本公开一些实施例的公式识别装置的结构框图;
图8为根据本公开一些实施例的电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。本文中术语“第一”、“第二”表示指代多个类似的技术用语并对其进行区分,并不是限定顺序的意思,或者限定只有两个的意思,例如,第一特征和第二特征,是指代有两类/两个特征,第一特征可以为一个或多个,第二特征也可以为一个或多个。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
相关技术中,公式文本与普通文本相比,由于公式文本具有二维结构,因此,不仅在识别技术上不同,而且更难以精确识别,尤其是针对手写公式的识别场景。在相关技术中,一种解决方案是:考虑到公式具有二维结构,且公式的表示遵循特定的语法规则,可以采用适应于公式的线性解码器实现公式识别。但是,目前的线性解码器对于公式中的语法结构并未显性建模,采用这类线性解码器导致模型的泛化能力有限(即:模型的通用性差,通常只能针对特定已有公式的识别,对其他大部分公式的识别精度不高),对于未见过的公式,采用这类线性解码器对公式的识别效果不佳。另一种解决方案是:将公式进行树结构的展开,对公式的树结构进行显性建模,虽然可以在一定程度上缓解上述线性解码器存在的模型泛化能力差的问题,但是,在逐步解析时都需要先预测对应的父节点,造成计算冗余,解码速度较慢。
鉴于此,本公开提供一种公式识别方法,基于公式识别框架对公式进行树展开,再对公式的树结构进行显性建模,提高了公式识别的准确性。同时,本公开同时还结合了栈存储技术,可以有效的降低计算复杂度,提高识别速度。
根据本公开的实施例,提供了一种公式识别方法,图1是根据本公开实施例的公式识别方法的流程示意图,该方法可以应用于公式识别装置,例如,该装置可以部署于终端或服务器或其它处理设备执行的情况下,可以执行公式识别处理等等。其中,终端可以为用户设备(UE,User Equipment)、移动设备、蜂窝电话、无绳电话、个人数字处理(PDA,PersonalDigital Assistant)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,包括如下步骤:
在步骤S101,获取包含公式的待识别图像。
在一些实施例中,可以将包含公式的待识别图像进行特征提取,得到解码器网络的输入信息。示例性地,在对包含公式的待识别图像进行特征提取前,还可以对其进行预处理。示例性地,可以对待识别图像中公式所在的图像区域进行宽高等比例归一化处理。
在步骤S102,基于解码器网络对该公式的树结构进行识别,得到该树结构的节点。
在一些实施例中,对应公式中的各个符号,存在相应的节点,在该公式的树结构中,“树”由父节点(位于树顶点位置的父节点还可以称为根节点)及其所有子节点(子节点有左右之分,其次序不能任意颠倒)构成,并形成一个多级分层的数据结构,可以为二叉树的结构形式。还可以采用节点的形式,将对应该公式中各个符号的相应节点按照在识别处理过程中的识别顺序存储到栈中。
在步骤S103,确定下一节点的类型。
在一些实施例中,下一节点可以理解为通过对当前节点进行解析得到的节点。可以对待识别图像进行特征提取,得到待识别图像的图像特征。在一些示例中,可以预先设置起始节点(如图3或图4所示的sos节点)作为初始处理节点,并获取该起始节点的隐状态信息和字符信息。并且,可以利用解码器网络中的第一门控神经网络,基于待识别图像的图像特征、起始节点的隐状态信息以及预设的起始节点的字符信息,确定下一节点的类型。
在一些实施例中,节点的类型可以包括字符节点、终止节点以及结构节点。字符节点与公式包括的字符相对应,字符可以为公式中的字母、数字、运算符等。结构节点可以与公式树结构对应,表示公式的树结构在该节点存在多个子树。终止节点可以是预设的虚拟节点,用于表征子树或树解析完成。
在步骤S104,响应于确定该下一节点的类型为结构节点,基于该解码器网络的结构分支,确定该结构节点包括的子树的根节点。
在步骤S105,基于该子树的根节点,确定该子树包括的一个或多个子节点。
在步骤S106,基于该子树包括的一个或多个子节点,确定目标公式。
采用本公开,可以获取包含公式的待识别图像,基于解码器网络对该公式的树结构进行识别,得到该树结构的节点。可以确定下一节点的类型,并在确定该下一节点的类型为结构节点时,基于该解码器网络的结构分支,确定该结构节点包括的子树的根节点。还可以基于该子树的根节点,确定该子树包括的一个或多个子节点,进而根据该子树包括的一个或多个子节点,确定目标公式。由此,通过设置结构节点,能够对公式中各节点间的关系(例如空间位置关系等)进行明确,从而提高公式识别的准确性。
在一些实施例中,基于待识别图像的图像特征、起始节点的隐状态信息以及起始节点的字符信息,确定下一节点的类型,可以包括:利用第一门控神经网络,基于起始节点的隐状态信息和起始节点的字符信息,确定起始节点的语义信息;利用解码器网络中的注意力网络,确定起始节点的加权图像特征;基于起始节点的语义信息和该起始节点的加权图像特征,得到下一节点的状态信息;以及基于该下一节点的状态信息,确定下一节点的类型。
在一些实施例中,在获得下一节点的状态信息后,可以将其输入至解码器网络的第一全连接层,得到下一节点的类型概率值。在一些示例中,可以根据下一节点的类型概率值,确定节点的类型。示例性地,在下一节点的类型概率值小于第一概率阈值时,可以确定该下一节点的类型为终止节点。在下一节点的类型概率值不小于第一概率阈值且不大于第二概率阈值时,可以确定该下一节点的类型为字符节点。在下一节点的类型概率值大于第二概率阈值时,可以确定该下一节点的类型为结构节点。可以理解地,第二概率阈值大于第一概率阈值,例如,第一概率值可以为0.3,第二概率值可以为0.5,但本公开对此并不限制。
在另一些实施例中,在获得下一节点的状态信息后,可以将其输入至解码器网络的第二全连接层,得到下一节点为不同类型的节点的概率值,并且将具有最大概率值的类型作为该下一节点的类型。示例性地,在将下一节点的状态信息输入至解码器网络的第二全连接层,得到下一节点为终止节点、字符节点以及结构节点的概率值分别为0.2, 0.5和0.3时,则可以确定下一节点的类型为字符节点。
在一些实施例中,在解析得到结构节点包括的子树的根节点后,可以将根节点存储在解码器网络的存储栈中。示例性地,在对子树的一个或多个子节点进行解析时,可以确定该一个或多个子节点的类型,在当前解析的子节点的类型为终止节点时,可以确定存储栈中是否还包括未解析的根节点。在存储栈还包括未解析的根节点时,对该未解析的根节点进行解析。在存储栈不包括未解析的根节点时,则停止解析,从而完成对公式的识别。由此,通过将根节点存储栈中,可以在一次解析中得到多个子树的根节点,提升解析速度。并且,通过逐个对栈中存储的根节点进行解析,还可以避免对未解析节点的遗漏,能够实现对公式的结构的完整识别,提高公式识别的准确性。
在一些实施例中,对未解析的根节点进行解析可以包括:将未解析的根节点作为起始节点,利用解码器网络中的第一门控神经网络,基于待识别图像的图像特征、该起始节点的隐状态信息以及该起始节点的字符信息,确定下一节点的类型。
在一些实施例中,树结构的节点可以包括字符节点,通过对当前节点进行解析,在确定解析出的下一节点的类型为字符节点时,可以基于解码器网络的字符分支,确定该字符节点对应的字符。
在一些实施例中,基于解码器网络的字符分支,确定字符节点对应的字符可以包括:利用解码器网络的第三全连接层,基于字符节点的状态信息以及公式包括的字符的概率值,将具有最大概率的字符确定为该字符节点的字符。
图2为根据本公开一些实施例的公式识别方法的流程图,如图2所示,包括:
步骤201:获取包含公式的待识别图像。
对输入的待识别图像进行预处理(比如,对于待识别图像的尺寸、像素值等进行规范化处理)。
本步骤中,待识别图像可以包含手写公式(即:该待识别图像中包括有公式,且公式可以为手写公式),手写公式的来源包括:利用移动设备相机拍照、电子屏幕手写板和扫描仪扫描文件等。预处理的过程中,可以对获取手写公式的图像区域进行宽高等比例规划化处理。若设置图像区域的目标高度为h,则图像缩放比例为:ratio = h/image_h,缩放后图像的宽度为:w= ratio * image_w。其中,ratio为图像缩放比例,h为目标高度,image_h为任一个图像的原始高度;w为缩放后图像的宽度,image_w为输入的任一个图像的原始宽度。同时,对输入的任一个图像进行灰度处理,将彩色图转为灰度图。最后再将图像的像素值进行规范化处理,将原本在0~255之间的像素值,变为0~1之间,即:图像像素值 p = p /255。
步骤202:通过编码器网络对待识别图像进行特征提取,得到图像特征。
本步骤中,编码器网络可以使用全卷积网络DenseNet,输入待识别图像通道数为1,输出特征(feature)的通道数为684。输出特征的尺寸与输入的图像尺寸相比,宽高缩小为原来的1/16,即feature_h = image_h / 16,feature_w = image_w / 16。其中,feature_h为输出图像的高度特征,image_h输入的任一个图像的原始高度;feature_w为输出图像的宽度特征,image_w为图像的原始宽度。
步骤203:初始化起始节点的隐状态信息和字符信息。
本步骤中,初始化起始节点的信息。一示例中,在栈内部存储起始节点的隐状态信息和起始节点的字符信息,隐状态信息的维度可以为256。
步骤204:利用解码器网络,根据图像特征、起始节点的隐状态信息和起始节点的字符信息,确定下一节点的类型。
步骤205:在下一节点的类型为字符节点的情况下,基于解码器网络的字符分支,确定字符节点对应的字符。
步骤206:将字符节点或节点作为起始节点,利用解码器网络,根据图像特征、起始节点的隐状态信息和起始节点的字符信息,确定下一节点的类型。
步骤207:在下一节点的类型为结构节点的情况下,基于解码器网络的结构分支,确定结构节点包括的子树的根节点,并存入存储栈。
步骤208:判读存储栈中是否包括未解析的根节点,如果是,执行步骤209;否则,执行步骤211。
步骤209:对存储在存储栈的栈顶的未解析的根节点进行解析。
步骤210、在下一节点的类型为字符节点的情况下,确定存储栈中是否包括未解析的根节点,如果是,执行步骤209;否则,执行步骤211。
步骤 211、确定目标公式。
图3为根据本公开一些实施例的公式的树结构的示意图。如图3所示,该公式为:,LaTeX中对应的表达式为:\frac {x} {2}–1。其中,sos节点为起始节点,eos节点为终止节点。并且,该树结构中还包括结构节点,以及分别与公式中的字符 “x”,“2”,“-”,“1”等对应的字符节点。
图4为根据本公开另一些实施例的公式的树结构的示意图。如4所示,该公式为:,LaTeX中对应的表达式为:\frac {x} {2}–1。在对公式的树结构进行解析的过程中,在解析出结构节点后,可以将结构节点包括的子树的根节点(例如,根节点“x”、根节点“2”以及根节点“-”)存储在解码器网络的存储栈401中。
图5为根据本公开一些实施例的解码器网络的示意图。如图5所示,解码器网络主要包括第一门控神经网络、第二门控神经网络以及注意力网络。通过解码器网络,可以根据输入的图像特征、起始节点的隐状态信息和起始节点的字符信息预测下一节点,最终基于起始节点得到所有的可能子节点。示例性地,可以利用第一门控神经网络,基于起始节点的隐状态信息和起始节点的字符信息,确定起始节点的语义信息,利用解码器网络中的注意力网络,确定起始节点的加权图像特征。基于起始节点的语义信息和起始节点的加权图像特征,得到下一节点的状态信息。进而,还可以基于下一节点的状态信息,利用解码器网络的第一全连接层(第一全连接层可以对应sigmoid),确定下一节点的类型概率值,响应于确定类型概率值小于第一概率阈值,确定下一节点的类型为终止节点。响应于确定类型概率值不小于第一概率阈值且不大于第二概率阈值,确定下一节点的类型为字符节点,其中,第二概率阈值大于第一概率阈值。响应于确定类型概率值大于第二概率阈值,确定下一节点的类型为结构节点。
图6为根据本公开另一些实施例的解码器网络的示意图,如图6所示,解码器网络主要包括第一门控神经网络、第二门控神经网络以及注意力网络。通过解码器网络,可以根据输入的图像特征、起始节点的隐状态信息和起始节点的字符信息预测下一节点,最终基于起始节点得到所有的可能子节点。示例性地,可以利用第一门控神经网络,基于起始节点的隐状态信息和起始节点的字符信息,确定起始节点的语义信息,利用解码器网络中的注意力网络,确定起始节点的加权图像特征。基于起始节点的语义信息和起始节点的加权图像特征,得到下一节点的状态信息。进而,还可以基于下一节点的状态信息,利用解码器网络的第二全连接层(第二全连接层可以对应softmax),确定下一节点为不同类型的节点的概率值,将具有最大概率值的类型作为下一节点的类型。
采用本应用示例,可以预测直接使用当前节点信息,使得编解码单纯依靠父节点信息即可推测所有潜在的子节点,使其能隐式的学习LaTeX语法,提高了识别精度。而且使用存储栈保存中间产生量,避免了重复计算,有效降低了计算的复杂度,不仅提高了识别速度,而且提高了识别精度。
根据本公开的实施例,提供了一种公式识别装置。图7为根据本公开一些实施例的公式识别装置的结构框图,装置包括:
获取模块71,配置为获取包含公式的待识别图像;
识别模块72,配置为基于解码器网络对公式的树结构进行识别,得到树结构的节点;
第一确定模块73,配置为确定下一节点的类型,其中,该下一节点为通过对当前节点进行解析得到的节点;
第二确定模块74,配置为响应于确定下一节点的类型为结构节点,基于解码器网络的结构分支,确定结构节点包括的子树的根节点;
第三确定模块75,配置为基于子树的根节点,确定子树包括的一个或多个子节点;
第四确定模块76,配置为基于子树包括的一个或多个子节点,确定目标公式。
在一些实施例中,第一确定模块73还被配置为对待识别图像进行特征提取,得到待识别图像的图像特征;获取预设的起始节点的隐状态信息和字符信息;利用解码器网络中的第一门控神经网络,基于待识别图像的图像特征、预设的起始节点的隐状态信息以及预设的起始节点的字符信息,确定下一节点的类型。
在一些实施例中,第一确定模块73还被配置为利用第一门控神经网络,基于起始节点的隐状态信息和该起始节点的字符信息,确定起始节点的语义信息;利用解码器网络中的注意力网络,确定起始节点的加权图像特征;基于起始节点的语义信息和起始节点的加权图像特征,得到下一节点的状态信息;基于下一节点的状态信息,确定下一节点的类型。
在一些实施例中,第一确定模块73还被配置为基于下一节点的状态信息,利用解码器网络的第一全连接层,确定下一节点的类型概率值;响应于确定类型概率值小于第一概率阈值,确定下一节点的类型为终止节点;响应于确定类型概率值不小于第一概率阈值且不大于第二概率阈值,确定下一节点的类型为字符节点,其中,第二概率阈值大于第一概率阈值;响应于确定类型概率值大于第二概率阈值,确定下一节点的类型为结构节点。
在一些实施例中,第一确定模块73还被配置为基于下一节点的状态信息,利用解码器网络的第二全连接层,确定下一节点为不同类型的节点的概率值;将具有最大概率值的类型作为下一节点的类型。
在一些实施例中,在结构节点包括的子树的根节点存储在解码器网络的存储栈中的情况下,装置还包括第五确定模块,配置为确定一个或多个子节点的类型;响应于确定当前解析的子节点的类型为终止节点,确定存储栈中是否还包括未解析的根节点;响应于确定存储栈包括未解析的根节点,对未解析的根节点进行解析。
在一些实施例中,第五确定模块还被配置为将未解析的根节点作为起始节点;利用解码器网络中的第一门控神经网络,基于待识别图像的图像特征、起始节点的隐状态信息以及起始节点的字符信息,确定下一节点的类型。
在一些实施例中,在树结构的节点包括字符节点,字符节点与公式包括的字符相对应的情况下,装置还包括第六确定模块,配置为响应于确定下一节点的类型为字符节点,基于解码器网络的字符分支,确定字符节点对应的字符。
在一些实施例中,第六确定模块还被配置为利用解码器网络的第三全连接层,基于字符节点的状态信息以及公式包括的字符的概率值,将具有最大概率的字符确定为字符节点的字符。
在一些实施例中,在结构节点包括的子树的根节点存储在解码器网络的存储栈的情况下,装置还包括第七确定模块,配置为响应于确定下一节点的类型为终止节点,确定解码器网络的存储栈中是否包括未解析的根节点;响应于确定存储栈中包括未解析的根节点,对未解析的根节点进行解析。
本公开实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
图8所示了能够实现本公开实施例的公式识别方法的电子设备的框图。该电子设备可以为前述部署设备或代理设备。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本公开所提供的非瞬时计算机可读存储介质。其中,该存储器存储有可由至少一个处理器执行的指令,以使该至少一个处理器执行本公开所提供的公式识别方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的公式识别方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的公式识别方法对应的程序指令/模块。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的公式识别方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
公式识别方法的电子设备,还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种公式识别方法,包括:
获取包含公式的待识别图像;
基于解码器网络对所述公式的树结构进行识别,得到所述树结构的节点;
确定下一节点的类型,其中,所述下一节点为通过对当前节点进行解析得到的节点;
响应于确定所述下一节点的类型为结构节点,基于所述解码器网络的结构分支,确定所述结构节点包括的子树的根节点;
基于所述子树的根节点,确定所述子树包括的一个或多个子节点;
基于所述子树包括的一个或多个子节点,确定目标公式。
2.根据权利要求1所述的方法,其中,所述确定下一节点的类型,包括:
对所述待识别图像进行特征提取,得到所述待识别图像的图像特征;
获取预设的起始节点的隐状态信息和字符信息;
利用所述解码器网络中的第一门控神经网络,基于所述待识别图像的图像特征、所述预设的起始节点的隐状态信息以及所述预设的起始节点的字符信息,确定所述下一节点的类型。
3.根据权利要求2所述的方法,其中,所述基于所述待识别图像的图像特征、所述起始节点的隐状态信息以及所述起始节点的字符信息,确定所述下一节点的类型,包括:
利用所述第一门控神经网络,基于所述起始节点的隐状态信息和所述起始节点的字符信息,确定所述起始节点的语义信息;
利用所述解码器网络中的注意力网络,确定所述起始节点的加权图像特征;
基于所述起始节点的语义信息和所述起始节点的加权图像特征,得到下一节点的状态信息;
基于所述下一节点的状态信息,确定所述下一节点的类型。
4.根据权利要求3所述的方法,其中,所述基于所述下一节点的状态信息,确定所述下一节点的类型,包括:
基于所述下一节点的状态信息,利用所述解码器网络的第一全连接层,确定所述下一节点的类型概率值;
响应于确定所述类型概率值小于第一概率阈值,确定所述下一节点的类型为终止节点;
响应于确定所述类型概率值不小于第一概率阈值且不大于第二概率阈值,确定所述下一节点的类型为字符节点,其中,所述第二概率阈值大于所述第一概率阈值;
响应于确定所述类型概率值大于所述第二概率阈值,确定所述下一节点的类型为结构节点。
5.根据权利要求3所述的方法,其中,所述基于所述下一节点的状态信息,确定所述下一节点的类型,包括:
基于所述下一节点的状态信息,利用所述解码器网络的第二全连接层,确定所述下一节点为不同类型的节点的概率值;
将具有最大概率值的类型作为所述下一节点的类型。
6.根据权利要求1-5中任一项所述的方法,其中,所述结构节点包括的子树的根节点存储在所述解码器网络的存储栈中;
并且其中,所述方法还包括:
确定所述一个或多个子节点的类型;
响应于确定当前解析的子节点的类型为终止节点,确定所述存储栈中是否还包括未解析的根节点;
响应于确定所述存储栈包括所述未解析的根节点,对所述未解析的根节点进行解析。
7.根据权利要求6所述的方法,其中,所述对所述未解析的根节点进行解析,包括:
将所述未解析的根节点作为起始节点;
利用所述解码器网络中的第一门控神经网络,基于所述待识别图像的图像特征、该起始节点的隐状态信息以及该起始节点的字符信息,确定下一节点的类型。
8.根据权利要求1-5中任一项所述的方法,其中,所述树结构的节点包括字符节点,所述字符节点与所述公式包括的字符相对应,
并且其中,所述方法还包括:
响应于确定所述下一节点的类型为字符节点,基于所述解码器网络的字符分支,确定所述字符节点对应的字符。
9.根据权利要求8所述的方法,其中,所述基于所述解码器网络的字符分支,确定所述字符节点对应的字符,包括:
利用所述解码器网络的第三全连接层,基于所述字符节点的状态信息以及所述公式包括的字符的概率值,将具有最大概率的字符确定为所述字符节点的字符。
10.根据权利要求1-5中任一项所述的方法,其中,所述结构节点包括的子树的根节点存储在所述解码器网络的存储栈;
并且其中,所述方法还包括:
响应于确定所述下一节点的类型为终止节点,确定所述解码器网络的存储栈中是否包括未解析的根节点;
响应于确定所述存储栈中包括未解析的根节点,对所述未解析的根节点进行解析。
11.一种公式识别装置,包括:
获取模块,配置为获取包含公式的待识别图像;
识别模块,配置为基于解码器网络对所述公式的树结构进行识别,得到所述树结构的节点;
第一确定模块,配置为确定下一节点的类型,其中,所述下一节点为通过对当前节点进行解析得到的节点;
第二确定模块,配置为响应于确定所述下一节点的类型为结构节点,基于所述解码器网络的结构分支,确定所述结构节点包括的子树的根节点;
第三确定模块,配置为基于所述子树的根节点,确定所述子树包括的一个或多个子节点;
第四确定模块,配置为基于所述子树包括的一个或多个子节点,确定目标公式。
12.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237449.6A CN113688803B (zh) | 2021-10-25 | 2021-10-25 | 公式识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237449.6A CN113688803B (zh) | 2021-10-25 | 2021-10-25 | 公式识别方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113688803A true CN113688803A (zh) | 2021-11-23 |
CN113688803B CN113688803B (zh) | 2022-03-08 |
Family
ID=78587726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111237449.6A Active CN113688803B (zh) | 2021-10-25 | 2021-10-25 | 公式识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688803B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766012A (zh) * | 2019-09-20 | 2020-02-07 | 北京航空航天大学 | 一种基于深度学习的手写体数学表达式识别方法与装置 |
CN111401353A (zh) * | 2020-03-17 | 2020-07-10 | 重庆邮电大学 | 一种数学公式的识别方法、装置及设备 |
CN111738105A (zh) * | 2020-06-04 | 2020-10-02 | 科大讯飞股份有限公司 | 公式识别方法、装置、电子设备和存储介质 |
CN113095314A (zh) * | 2021-04-07 | 2021-07-09 | 科大讯飞股份有限公司 | 一种公式识别方法、装置、存储介质及设备 |
-
2021
- 2021-10-25 CN CN202111237449.6A patent/CN113688803B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766012A (zh) * | 2019-09-20 | 2020-02-07 | 北京航空航天大学 | 一种基于深度学习的手写体数学表达式识别方法与装置 |
CN111401353A (zh) * | 2020-03-17 | 2020-07-10 | 重庆邮电大学 | 一种数学公式的识别方法、装置及设备 |
CN111738105A (zh) * | 2020-06-04 | 2020-10-02 | 科大讯飞股份有限公司 | 公式识别方法、装置、电子设备和存储介质 |
CN113095314A (zh) * | 2021-04-07 | 2021-07-09 | 科大讯飞股份有限公司 | 一种公式识别方法、装置、存储介质及设备 |
Non-Patent Citations (2)
Title |
---|
DMYTRO ZHELEZNIAKOV: "Online Handwritten Mathematical Expression Recognition and Applications: A Survey", 《IEEE ACCESS》 * |
张建树: "基于编码-解码模型的二维结构文本识别研究", 《中国优秀博硕士学位论文全文数据库(博士) 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113688803B (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967268B (zh) | 文本中的事件抽取方法、装置、电子设备和存储介质 | |
CN111241832B (zh) | 核心实体标注方法、装置及电子设备 | |
CN109614944B (zh) | 一种数学公式识别方法、装置、设备及可读存储介质 | |
KR20220113829A (ko) | 차량 추적 방법, 장치 및 전자 기기 | |
CN112508003B (zh) | 字符识别处理方法和装置 | |
CN111339268B (zh) | 实体词识别方法和装置 | |
CN111783760B (zh) | 文字识别的方法、装置、电子设备及计算机可读存储介质 | |
CN111241245B (zh) | 人机交互处理方法、装置及电子设备 | |
CN112001169B (zh) | 文本纠错的方法、装置、电子设备和可读存储介质 | |
CN111611990B (zh) | 用于识别图像中表格的方法和装置 | |
CN111832396B (zh) | 文档布局的解析方法、装置、电子设备和存储介质 | |
CN111753761B (zh) | 模型生成方法、装置、电子设备及存储介质 | |
CN111753744B (zh) | 用于票据图像分类的方法、装置、设备及可读存储介质 | |
JP7389824B2 (ja) | オブジェクト識別方法と装置、電子機器及び記憶媒体 | |
CN111753532B (zh) | 西文文本的纠错方法和装置、电子设备及存储介质 | |
CN112052825B (zh) | 用于处理图像的方法、装置、设备以及存储介质 | |
CN112507090A (zh) | 用于输出信息的方法、装置、设备和存储介质 | |
KR20210040883A (ko) | 이미지 처리 방법, 장치, 전자 기기 및 저장 매체 | |
WO2023020176A1 (zh) | 图像识别方法和装置 | |
CN112232089B (zh) | 语义表示模型的预训练方法、设备和存储介质 | |
CN111275110B (zh) | 图像描述的方法、装置、电子设备及存储介质 | |
CN113361523A (zh) | 文本确定方法、装置、电子设备和计算机可读存储介质 | |
CN113688803B (zh) | 公式识别方法、装置、电子设备及存储介质 | |
CN112329434B (zh) | 文本信息识别方法、装置、电子设备和存储介质 | |
CN112558810B (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 |