公式识别方法及系统和符号推理计算方法及系统
技术领域
本发明涉及人工智能领域,尤其涉及一种公式识别方法及系统和一种符号推理计算方法及系统。
背景技术
随着近几年人工智能和在线教育的快速发展,人机友好的计算机辅助教学成为亟需探索的领域。数学作为从幼儿园(Kindergarten,通常5-6岁)到十二年级(Grade 12,通常17-18岁)(kindergarten through twelfth grade,K12或K-12)阶段重要的学科,受到了越来越多的广泛关注。一般情况下,数学知识引擎需要用户以规定的方法,以一种类似“编程语言”的格式输入数据,引擎通过分析用户的输入,给出相应的结果。由于这种数据输入格式与日常生活中的习惯不同,因此,需要用户花费大量的时间去学习和适应,从而导致学习成本很高。
在相关技术中,Mathematica是一款科学计算软件,它很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统及其他应用程序之间的高级连接。很多功能在相应领域内处于世界领先地位,它也是目前使用较广泛的数学软件之一。虽然Mathematica是一个强大的符号计算引擎,但是,其没有专门针对K12阶段的教育进行优化。而且,使用Mathematica必须使用其规定的编程语言编写复杂的代码,因此,在使用Mathematica的时候,用户需要提前掌握一门全新的编程语言。这对于K12阶段的中小学生来说,这无疑是非常困难的。
另外,美国的MyScript公司推出的MyScript Calculator是一款支持手写输入的数学计算器,其使用了传统的浅层神经网络和基于上下文的语法识别解析用户的输入数据,可以进行例如加、减、乘、除、括号、幂等基础运算。虽然MyScript Calculator能够支持手写输入,但是,其只能识别数字和固定的几个数学常量。另外,在计算方面只能做一些,如加、减、乘、除等非常简单的数值计算,其无法进行如符号计算等稍微复杂的数学计算。
MyScript的另一款产品MathPad仅仅是一款手写识别工具,完全不具备任何计算能力。而在K12教育领域,简单的数值计算只占据了整个数学教育体系的一小部分,更多的场景是需要进行符号计算和推理。
发明内容
有鉴于此,本发明提供一种公式识别方法及系统和一种符号推理计算方法及系统,可以通过手写数学公式或文件输入接口获取公式的数据信息,用字符分割、字符识别和公式解析获取对公式的识别结果,极大地降低了学习成本和提高了数学公式识别的准确率。
第一方面,本发明实施例提供的一种公式识别方法,包括:
获取公式的数据信息;
对所述数据信息进行字符分割,获得单字符;
对所述单字符进行识别,获得所述单字符的字符识别结果;
对所述单字符间的位置关系进行识别,获得所述单字符间的位置关系;
结合所述位置关系对所述字符识别结果进行公式解析,获得公式识别结果。
第二方面,本发明实施例提供的一种符号推理计算方法,包括通过上述公式识别方法获得公式识别结果,还包括:
通过符号计算引擎对所述公式识别结果进行分析计算,获得所述公式的分析计算结果;
渲染所述公式识别结果和分析计算结果;
输出所述渲染后的公式识别结果和分析计算结果。
第三方面,本发明实施例还对应提供的一种公式识别系统,包括:
数据信息获取单元,用于获取公式的数据信息;
字符分割单元,用于对所述数据信息进行字符分割,获得单字符;
字符识别单元,用于对所述单字符进行识别,获得所述单字符的字符识别结果;
位置关系识别单元,用于对所述单字符间的位置关系进行识别,获得所述单字符间的位置关系;以及
公式解析单元,用于结合所述位置关系对所述字符识别结果进行公式解析,获得公式识别结果。
第四方面,本发明实施例还对应提供的一种符号推理计算系统,包括公式识别结果获得单元,用于通过上述公式识别系统获得公式识别结果,还包括:
分析计算单元,用于通过符号计算引擎对所述公式识别结果进行分析计算,获得所述公式的分析计算结果;
渲染单元,用于渲染所述公式的识别结果和分析计算结果;以及
输出单元,用于输出所述渲染后的公式识别结果和分析计算结果。
本发明提供的技术方案带来的有益效果:
移动终端等智能终端通过输入接口获取类似于数学公式等数据信息,对该数据信息进行字符分割获得单字符,对单字符进行字符识别获得其字符识别结果,对单字符间的位置关系进行识别,获得单字符间的位置关系,结合位置关系对字符识别结果进行公式结构解析,获得公式识别结果。该公式识别方法,可以通过手写数学公式输入接口获取公式的数据信息,用字符分割、字符识别、字符间位置关系识别和公式结构解析获取公式识别结果,极大地降低了用户按照规范进行公式输入的学习成本和提高了数学公式识别的准确率。
同理,通过上述公式识别方法获得公式识别结果,对公式识别结果进行分析计算获得公式的分析计算结果,渲染公式识别结果和分析计算结果并输出渲染后的公式识别结果和分析计算结果,极大地降低了用户按照规范进行公式输入的学习成本和提高了数学公式识别的准确率。
附图说明
图1是本发明实施例一提供的公式识别方法的流程示意图;
图2A是本发明实施例二提供的对数据信息进行字符分割的方法流程示意图;
图2B是本发明实施例提供的字符预分割的示意图;
图3A是本发明实施例二提供的对单字符进行识别的方法流程示意图;
图3B是本发明实施例使用的长短记忆神经网络模型的网络结构示意图;
图3C是本发明实施例使用的单个长短记忆神经网络模型的结构示意图;
图3D是本发明实施例二提供的对单字符进行识别的另一方法流程示意图;
图3E是本发明实施例使用的深层卷积神经网络模型的结构示意图;
图4A是本发明实施例二提供的对单字符间的位置关系进行识别的方法流程示意图;
图4B是本发明实施例提取单字符间的位置特征的示意图;
图5是本发明实施例二提供的公式解析的方法流程示意图;
图6A是本发明实施例三提供的符号推理计算方法的流程示意图;
图6B和6C是本发明实施例提供的软件运行结果的示例图;
图7是本发明实施例四提供的公式识别系统的架构示意图;
图8是本发明实施例五提供的字符分割单元的架构示意图;
图9A是本发明实施例五提供的字符识别单元的架构示意图;
图9B是本发明实施例五提供的字符识别单元的另一架构示意图;
图10是本发明实施例五提供的位置关系识别单元的架构示意图;
图11是本发明实施例五提供的公式解析单元的架构示意图;
图12是本发明实施例六提供的符号推理计算系统的架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
参见图1,本实施例的方案可以应用在需要进行公式识别的情景,可以由类似于手机等智能终端来执行,具体可以由配置在手机等智能终端或部署在云端的某个可供智能终端调用的软件程序来实施,公式识别方法包括如下步骤:
S110:获取公式的数据信息。
示例性的,可以通过人机接口获取用户输入的数学公式的数据信息,用户即可以通过手写的方式输入,也可以通过上传可编辑或不可编辑的,已经记载有公式的MS Word、Excel、pdf、png或者jpg等格式的文件的方式输入,还可以是其他常用输入方式输入数据信息。
S120:对数据信息进行字符分割,获得单字符。
示例性的,通过字符分割技术对用户输入的数据信息进行字符分割,可以将数据信息分割成一系列的单字符。在现有技术中具体的字符分割方法有很多,例如,基于连通域、投影、聚类分析、模版匹配或者使用strtok函数分割等字符分割方法。本实施例对字符分割的具体实施方式不作任何限定,但本发明的实施例二提供了可选的实施方式。
S130:对单字符进行识别,获得单字符的字符识别结果。
示例性的,通过字符识别技术对上述获得的分割字符进行字符识别,获得上述单字符的字符识别结果。在现有技术中,具体的字符识别方法也有很多,例如,结构模式识别、统计模式识别和基于人工神经网络等识别方法。本实施例对字符识别的具体实施方式也不作任何限定,但本发明的实施例二提供了可选的实施方式。
需要说明的是,步骤S120中的字符分割是步骤S130中的字符识别的前提,而步骤S130中的字符识别又为步骤S120中的字符分割提供了参考信息。
S140:对单字符间的位置关系进行识别,获得单字符间的位置关系。
示例性的,所述位置关系可以是:左右关系、上下关系、上角标关系、下角标关系和根式关系等位置关系。本发明的实施例二为位置关系识别的具体识别方法提供了可选的实施方式。
S150:结合位置关系对字符识别结果进行公式解析,获得公式识别结果。
示例性的,根据上述字符识别结果和单字符间的位置关系,对用户输入的公式的数据信息进行解析,确定上述公式对应的类型,获得公式的识别结果。例如,本发明的实施例二为公式解析的具体解析方法提供了可选的实施方式。
综上所述,在本实施例中,移动终端等智能终端通过人机接口获取用户输入的公式的数据信息,对该数据信息进行字符分割获得单字符,对单字符进行字符识别获得其字符识别结果,对单字符之间的位置关系识别获得单字符位置关系识别结果,在对字符识别结果进行解析后,获得公式的识别结果。该公式识别方法,通过手写数学公式输入接口获取公式的数据信息,用字符分割、字符识别、字符间位置关系识别和公式解析获取公式的识别结果,极大地降低了用户按照规范进行公式输入的学习成本和提高了数学公式识别的准确率。
实施例二
在本发明实施例一的基础上,本实施例进一步提供了实施例一的技术方案中的步骤S120、步骤S130、步骤S140和步骤S150的可选的实施方式。
参考本发明实施例一,如图2A所示,步骤S120,即对数据信息进行字符分割,获得单字符可以包含:
S121:对数据信息进行字符预分割,获得初始笔画。
示例性的,通过字符预分割,将用户输入的公式的数据信息分割成一系列的初始笔画。例如,在图2B中,对图中的“-1<X”公式的数据信息,如“1”、“<”、“X中的\”和“X中的/”进行字符预分割,可以分别对应获得初始笔画1、2、3和4。
S122:将初始笔画进行组合,获得组合笔画。
示例性的,在上述一系列的初始笔画中,寻找到可能组合到一起的笔画,并且将能组合到一起的笔画进行组合获得组合笔画。
需要说明的是,由于字符预分割方法不同,同时,初始笔画间的组合方式也有可能会存在多种不同的组合形式,这就导致同样的一组初始笔画,有可能同时存在多种组合笔画。例如,在图2B中,初始笔画1和2就存在如下两种组合方案:第一种是将初始笔画1和初始笔画2分割开,不进行组合,则初始笔画组合结果为“1<”;另外一种组合是,将初始笔画1和初始笔画2组合到一起,则获得组合笔画“K”。同理,在图2B中,初始笔画3和4也存在被分别组合为英文字母“X”或数学运算符号“×”的可能。
S123:用预先通过训练得到的单字符识别模型,对初始笔画和/或组合笔画分别识别,取概率大的作为分割结果,获得单字符。
鉴于初始笔画间的组合方式也有可能会存在多种不同的组合形式,这就导致同样的同一组初始笔画,有可能同时存在多种组合笔画。为了解决这个问题,示例性的,可以使用预先通过训练得到的单字符识别模型,分别对上述的初始笔画形成的字符和组合笔画形成的字符进行识别,取概率大的一组笔画组成的字符作为字符分割后获得的分割字符结果。本实施例中的单字符识别模型,为预先通过大数据学习、训练分析得到的模型,经过训练后的单字符识别模型,相较于现有技术中的模型,其输出结果具有较好的鲁棒性。
例如,可以记字符分割过程中各个方案的识别概率为与之对应的识别结果概率为记组合过程中各个方案识别概率为与之对应的识别结果为那么,最终的结果即为
又例如,通过对笔画的分割和组合,会有多种可能的分割和组合方式,单字符识别模型会对所有可能的方式进行识别,得到各种可能的方式的识别结果,该识别结果和分割结果共同作用,决定单字符最终的分割结果和识别结果。可以看出,这一步骤同时得到了单字符的分割结果和识别结果。例如在图2B中的笔画1和笔画2,对该组笔画的判断过程可以如下:对笔画进行分割和组合,有如下两种分割和组合的方案:第一种方案是笔画1和笔画2为两个分开的字符;第二种方案是笔画1和笔画2组合成一个字符。示例性的,两种方案选取的决策过程可以如下:针对第一种方案,用单字符识别模型对笔画1和笔画2两个单字符分别识别,得到两个识别结果,A1(“1”)和A2(“<”),计算得出一个对应的概率P1。同理,对于第二种方案,用单字符识别模型对笔画1和笔画2组合成的字符进行识别,得到一个识别结果B1(“K”),计算得出一个对应的概率P2。比较P1和P2的大小,如果P1>P2,则第一种方案对应的,“1”和“<”是两个分开的字符即为分割结果和识别结果;反之,如果P1<P2,则第二种方案对应的,“1”和“<”组合成一个字符“K”即为分割结果和识别结果。
综上所述,本方案在实施例一的基础上,进一步提供了步骤S120的可选的实施方式,通过步骤S121的字符预分割,可获得数据信息中的一系列初始笔画。通过步骤S122的笔画组合,可获得原始笔画组合后的组合笔画。通过步骤S123,用预先通过训练的获得的单字符识别模型,分别识别原始笔画和组合笔画,选取概率大的作为字符分割的结果。
参考本发明实施例一,如图3A、3B、3C、3D和3E所示,步骤S130,即对单字符进行识别,获得单字符的字符识别结果可以包括如下并列的两种情形:
一、当数据信息为联机手写输入的时,如图3A所示,步骤S130可以包括:
S131a:提取单字符的特征。
示例性的,在本实施例中,可以对上述单字符提取如下特征:坐标点信息(x,y)、坐标点的一阶导数信息(x′,y′)、坐标点的二阶导数信息(x″,y″)和坐标点的曲率信息k,当然,在其他实施例中也可提取其他如坐标点的三阶导数信息(x″′,y″′)等更为合适的特征。
S132a:将特征输入到预先通过训练得到的长短记忆神经网络模型,获得单字符的字符识别结果。
长短记忆神经网络(Long Short Term memory,LSTM)是一种特殊的循环神经网络,它能够学习长期依赖关系,记住信息很长一段时间是长短记忆神经网络固有的行为,而不是努力学习的结果。
示例性的,如图3B和3C所示,将上述提取到的特征输入到经过训练得到的长短记忆神经网络模型中,获得所有单字符对应的字符识别结果,每个字符识别结果均取自于输出层的结果。本实施例中的长短记忆神经网络模型,为预先通过大数据学习、训练得到的神经网络模型,相较于现有技术中的神经网络模型,其输出具有较好的鲁棒性。
二、当数据信息为通过文件输入的时,如图3D所示,步骤S130可以包括:
S131d:对单字符进行预处理,获得预处理字符。
示例性的,对通过文件输入的数据信息,可以进行诸如图像缩放、图像去模糊以及图像灰度拉伸等预处理,获得预处理字符。
S132d:将预处理字符输入到预先通过训练得到的深层卷积神经网络模型,获得单字符的字符识别结果。
示例性的,将上述获得的预处理字符输入到预先通过训练后得到的如图3E所示的深层卷积神经网络模型,识别后可获得上述单字符的字符识别结果。
深层卷积神经网络模型将输入图片多次通过卷积块进行处理,两次全连接处理,最后以softmax函数输出,其中每一次通过卷积处理的过程又包括:卷积(Convolution)、批规范化处理(Batch Normalization)、线性纠正(ReLU)和池化(Pooling)。本实施例中的深层卷积神经网络模型,为预先通过大数据学习、训练得到的神经网络模型,其相对于现有技术中的神经网络模型,其输出具有较高的准确率。
综上所述,本方案在实施例一的基础上,进一步提供了步骤S130的可选的实施方式,当数据信息为联机手写输入的时,通过步骤S131a可提取单字符的特征,通过步骤S132a可通过长短记忆(LSTM)神经网络模型,获得单字符的字符识别结果;当数据信息为通过文件输入的时,通过步骤S131d对单字符进行预处理,可获得预处理字符,通过步骤S132d将预处理字符输入到深层卷积神经网络模型,可获得单字符的字符识别结果。
参考本发明实施例一,如图4A所示,步骤S140,即对单字符间的位置关系进行识别,获得单字符间的位置关系可以包括:
S141:按照相互可见原则,对单字符进行分组。
示例性的,相互可见的定义可以为:两个单字符间存在一条直线连线,该连线不经过第三个字符,则称这两个单字符相互可见。按上述相互可见原则,将符合相互可见原则的两个单字符分到一组。
S142:对于分到同一组的两个单字符,提取两个单字符间的位置特征。
示例性的,对于分在同一组的两个单字符,可以提取如图4B所示的9个特征,其中,B和C表示两个“相互可见”的字符,dx1表示B的左端和C的左端的距离,dx2表示B的右端和C的右端的距离,dx表示B的右端和C在的左端的距离,dy1表示B的上端和C的上端的距离,dy2表示B的下端和C的下端的距离,dy表示B的下端和C的上端的距离,D表示B的右端的中间位置和C的右端的中间位置的距离,H表示B和C所占区域的上端和下端的距离,dhc表示B的下端的中间位置和C的下端的中间位置的距离,h(H,C)=[H,D,dhc,dx,dx1,dx2,dy,dy1,dy2]表示提取的9个特征集。
S143:将位置特征输入到预先通过训练得到的字符位置关系分类器中,获得两个单字符间的位置关系。
示例性的,将上述提取到的单字符间的位置关系输入到预先通过训练得到的字符位置关系分类器中,分析后得到两个单字符间的位置关系。本实施例中的字符位置关系分类器,为预先通过大数据学习、训练得到的分类器,相较于相关技术中的分类器,其输出具有较好的鲁棒性。
综上所述,本方案在实施例一的基础上,进一步提供了实施例一的技术方案中的步骤S140的可选的实施方式。通过步骤S141,可将单字符分到相互可见的同一组当中,通过步骤S1412,可提取同一组中的两个单字符间的位置特征,通过步骤S1413,用预先通过训练得到的字符位置分类器分析上述位置特征,可获得两个单字符间的位置关系
参考本发明实施例一,如图5所示,步骤S150,即结合位置关系对字符识别结果进行公式解析,获得公式识别结果可以包含:
S151:将单字符的笔画顺序、最大笔画数和位置关系,输入到预先通过训练得到的统计上下文无关的语法模型。
示例性的,将单字符的笔画顺序O和所有单字符中可能存在的最大笔画数Lmax,输入预先通过训练得到的统计上下文无关的语法模型,其中,在本实施例中Lmax取值为2,在其他实施例中可以为其他的正整数值。本实施例中的统计上下文无关的语法模型,为预先通过大数据学习、训练得到的语法模型,相较于相关技术中的语法模型,其输出具有较好的鲁棒性。
S152:选取输出的概率结果最大的解析树,获得公式识别结果。
示例性的,在经统计上下文无关的语法模型分析识别之后,选取输出选项中概率结果最大的解析树,作为公式的最终识别结果,输出的具体过程可是如下:
其中,N表示字符的笔画数量,γ(B,bB,lB)表示字符B满足的语法,γ(C,bC,lC)表示字符C满足的语法,表示字符B和C在语法规则r的条件下可以组合成A,并且组合结果的语法符合该系统的语法系统G。
综上所述,本实施例在实施例一的基础上,进一步提供了步骤S150的可选的实施方式。通过步骤S151,将字符的笔画顺序、最大笔画数和位置关系,输入统计上下文无关的语法模型,通过步骤S1422,选取输出中概率最大的解析树,获得最终的公式识别结果。
以下为本发明实施提供的符号推理计算方法的实施例。本实施例通过上述公式识别方法获得公式的识别结果,再对识别结果进行分析计算获得公式的分析计算结果,最后渲染并输出公式的识别结果和计算结果。所以,本实施例中未详尽描述的细节内容,可参考上述公式识别方法的实施例。
实施例三
在上述实施例的基础上,参见图6A和图6B,本实施例的方案可以应用在需要进行公式计算的情景,可以由类似于手机等智能终端来执行,具体可以由配置在手机等智能终端或云中的软件程序来实施,符号推理计算方法包括如下步骤:
S310:通过公式识别方法获得公式识别结果。
示例性的,智能终端等可以通过前述实施例一至实施例三中的任一公式识别方法获得公式的识别结果。如图6B所示,用户输入的公式数据如图右下角所示,其识别结果为
S320:通过符号计算引擎对公式识别结果进行分析计算,获得公式的分析计算结果。
符号计算引擎可以是如Mathematica等商用符号计算引擎、也可以是在Mathematica等商用符号计算引擎的基础上,进行二次开发或购买的商用符号计算引擎、还可以是如Sympy(python的数学符号计算库)等开源的符号计算引擎。需要进一步说明的是,在本实施例中,不对符号计算引擎做任何限定。
示例性的,可以通过符号计算引擎对上述获得的公式识别结果进行分析计算,获得公式最终的分析计算结果。如图6B所示,相应的根据公式识别结果,分析计算得出公式的计算结果为x-y。
S330:渲染公式识别结果和分析计算结果。
示例性的,在返回公式识别结果和分析计算结果后,将其渲染成方便用户读取的常见的数学公式的形式。
S340:输出渲染后的公式识别结果和分析计算结果。
示例性的,将渲染后的公式识别结果和分析计算结果的数学公式形式,输出显示在手机等智能终端的显示屏上。如图6B所示,渲染结果输出在显示屏上显示的软件界面上,渲染后的公式识别结果和分析计算结果分别如图左上角所示的和x-y。
本实施例再以数学运算中典型的解方程组为例,如图6C所示,说明本发明技术方案在软件程序条件下的实现界面。
当用户以手写的形式输入图6C右下角的数学方程组其中包括有常见的数字字母字符x、y和大括弧、减法运算符和根式运算符。从图中可以看出:手机等智能终端收集用户的输入数据上传到云端服务器;云端服务器接收该数据并且进行识别;得到识别结果之后,调用符号计算引擎对识别出的数学公式进行分析计算,得到分析计算结果;然后云端服务器把识别结果和分析计算结果发送到该智能终端;该智能终端接收到识别结果和分析计算结果后进行渲染和显示。即对数学方程组进行渲染,将渲染的输入结果显示在图6C的左上角。将接收到的计算结果进行渲染,在软件界面的中间,即图6C中间,显示出渲染的计算结果,以方便用户查看。
综上所述,在本实施例中,通过前述实施例一至实施例三中的任一公式识别方法,获得公式识别结果,通过符号计算引擎对公式识别结果进行分析计算,获得公式的分析计算结果,渲染并输出上述的公式识别结果和分析计算结果。本实施例的符号推理计算方法,极大地降低了用户按照规范进行公式输入的学习成本和提高了数学公式识别的准确率。
以下为本发明实施例提供的公式识别系统的实施例,该实施例与上述公式识别方法的实施例属于同一构思,公式识别系统的实施例中未详尽描述的细节内容,可参考上述公式识别方法的实施例。
实施例四
参见图7,本实施例的公式识别系统400与实施例一的方法相对应,该系统400包括:数据信息获取单元410、字符分割单元420、字符识别单元430、位置关系识别单元440以及公式解析单元450。其中:
数据信息获取单元410,用于获取公式的数据信息。
字符分割单元420,用于对数据信息进行字符分割,获得单字符。
字符识别单元430,用于对单字符进行识别,获得单字符的字符识别结果。
位置关系识别单元440,用于对单字符间的位置关系进行识别,获得单字符间的位置关系。以及
公式解析单元450,用于结合位置关系对字符识别结果进行公式解析,获得公式识别结果。
综上所述,根据本实施例的符号推理计算系统,极大地降低了用户按照规范进行公式输入的学习成本和提高了数学公式识别的准确率。
实施例五
在本发明实施例四的基础上,本实施例进一步提供了字符分割单元420、字符识别单元430、位置关系识别单元440和公式解析单元450的可选的实施方式。
参考实施例四,如图8所示,字符分割单元420可以包含:
字符预分割子单元421,用于对数据信息进行字符预分割,获得初始笔画。
笔画组合子单元422,用于将初始笔画进行组合,获得组合笔画。以及
单字符获得子单元423,用于用预先通过训练得到的单字符识别模型,对初始笔画和/或组合笔画分别识别,取概率大的作为分割结果,获得单字符。
参考实施例四,如图9A和9B所示,字符识别单元430可以包括如下并列的两种情形:
一、当数据信息为联机手写输入的时,如图9A所示,字符识别单元430可以包含:
特征提取子单元431a,用于提取单字符的特征。以及
特征输入子单元432a,用于将特征输入到预先通过训练得到的长短记忆神经网络模型,获得单字符的字符识别结果。
二、当数据信息为通过文件输入的时,如图9B所示,字符识别单元430可以包含:
单字符预处理子单元431b,用于对单字符进行预处理,获得预处理字符。以及
预处理字符输入子单元432b,用于将预处理字符输入到预先通过训练得到的深层卷积神经网络模型,获得单字符的字符识别结果。
参考实施例四,如图10所示,位置关系获得子单元440可以包含:
单字符分组子单元441,用于按照相互可见原则,对单字符进行分组。
位置特征提取子单元442,用于对于分到同一组的两个单字符,提取所述两个单字符间的位置特征。以及
位置关系获得子单元443,用于将所述位置特征输入到预先通过训练得到的字符位置关系分类器中,获得所述两个单字符间的位置关系。
参考实施例四,如图11所示,公式解析单元450可以包含:
输入子单元451,用于将单字符的笔画顺序、最大笔画数和所述位置关系,输入到预先通过训练得到的统计上下文无关的语法模型。以及
识别结果获得子单元452,用于选取输出的概率结果最大的解析树,获得公式的识别结果。
综上所述,根据本实施例的技术方案,通过字符预分割子单元421,可对数据信息进行字符预分割,获得初始笔画,通过笔画组合子单元422可将初始笔画进行组合,获得组合笔画,通过单字符获得子单元423,用预先通过训练得到的单字符识别模型,对初始笔画和/或组合笔画分别识别,取概率大的作为分割和识别结果,分析获得单字符结果。当数据信息为联机手写输入的时,通过特征提取子单元431a,可提取单字符的特征,通过特征输入子单元432a,用预先通过训练得到的长短记忆神经网络模型分析可获得单字符的字符识别结果;当数据信息为通过文件输入的时,通过单字符预处理子单元431b,可对分单字符进行预处理,获得预处理字符,通过预处理字符输入子单元432b,可通过训练得到的深层卷积神经网络模型,获得单字符的字符识别结果。通过单字符分组子单元441,可对单字符进行分组,通过位置特征提取子单元442,可对分到同一组的两个单字符,提取位置特征,通过位置关系获得子单元443,将位置特征输入到预先通过训练得到的字符位置关系分类器,可获得两个单字符间的位置关系。通过输入子单元451,将单字符的笔画顺序、最大笔画数和位置关系,输入到预先通过训练得到的统计上下文无关的语法模型,通过识别结果获得子单元452,选取输出的概率结果最大的解析树,可获得公式的识别结果。
以下为本发明实施例提供的符号推理计算系统的实施例,该实施例与上述符号推理计算方法的实施例属于同一构思,符号推理计算系统的实施例中未详尽描述的细节内容,可参考上述符号推理计算方法的实施例。
实施例六
参见图12,本实施例的符号推理计算系统600与实施例三的方法相对应,该系统包括公式识别结果获得单元610、分析计算单元620、渲染单元630以及输出单元640。其中:
公式识别结果获得单元610,用于通过上述公式识别系统获得公式识别结果。
分析单元620,用于通过符号计算引擎对所述公式识别结果进行分析计算,获得公式的分析计算结果。
渲染单元630,用于渲染公式识别结果和分析计算结果。以及
输出单元840,用于输出所述渲染后的公式识别结果和分析计算结果。
综上所述,根据本实施例技术方案的符号推理计算系统,极大地降低了用户按照规范进行公式输入的学习成本和提高了数学公式识别的准确率。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明在具体实施方式上可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。