数学公式识别方法及装置与流程

文档序号:12306036阅读:172来源:国知局
数学公式识别方法及装置与流程
本发明涉及自然语言处理领域,具体涉及一种数学公式识别方法及装置。
背景技术
:随着互联网的不断普及和互联网技术的迅速发展,传统的教育模式也在逐渐发生改变,信息、在线化、智能化等辅助教学手段正在向传统教育领域渗透,并逐步获得广大教师、家长和学生的认可。在以考试为主要评价方式的教育模式下,试题是学生巩固所学知识和教育者评价学生水平的基础数据资源,因此,试题资源的构建显得尤为重要。试题资源构建时,需要对大量包含公式的数据进行解析,判断试题的难度、给出试题的答案等,因此如何准确地将公式字符从数据中识别出来具有重大意义。现有方法在进行文本解析时,一般不单独对数学公式进行识别,而是直接将公式字符作为普通字符进行处理,如文本“若f(x)=x+1”中既包含非公式字符“若”,又包含公式字符“f(x)=x+1”,进行文本解析时,直接将公式字符看作普通字符进行分词处理或者按照固定的规则将文本字符与公式字符拆分开。然而,由于公式字符中存在大量歧义字符,如“ax+b”中的字符“ax”和字符“b”,既可以作为英文字符,也可以作为公式字符,如果不进行公式字符的识别,很难得到正确的文本解析结果。现有的方法将公式字符作为普通字符进行分词处理,显然不合理,由于歧义字符的存在,造成大量错误的分词结果,影响后续操作。技术实现要素:本发明提供一种数学公式识别方法及装置,以提升歧义字符的识别准确度。为此,本发明提供如下技术方案:一种数学公式识别方法,包括:预先构建公式识别模型;接收待识别文本;提取待识别文本中各字符的公式识别特征;利用提取的公式识别特征及预先构建的公式识别模型对待识别文本进行公式识别,得到识别出的公式。优选地,所述构建公式识别模型包括:收集设定数量包含公式的文本数据作为训练数据;提取所述训练数据中各字符的公式识别特征及公式标注特征;利用所述公式识别特征及公式标注特征训练公式识别模型。优选地,所述提取所述训练数据中各字符的公式识别特征包括:采用滑动窗口的方法,依次以当前字符为中心移动滑动窗口;提取窗口内每个字符的特征信息及当前字符的上下文模式特征作为当前字符的公式识别特征,所述上下文模式特征用于描述当前字符前后括号的匹配情况。优选地,所述公式识别模型采用分类模型表征。优选地,所述利用提取的公式识别特征及预先构建的公式识别模型对待识别文本进行公式识别,得到识别出的公式包括:在待识别文本的开始和结束分别添加一个开始状态和一个结束状态,并列出待识别文本中所有字符可能的识别结果,每个字符为一个状态,得到待识别文本的状态图;采用动态规划方法在所述状态图中查找后验概率最大的路径作为最优路径,各路径的后验概率是将该路径上的所有字符的公式识别特征输入所述公式识别模型得到的;根据最优路径上每个字符的取值得到待识别文本中的公式。优选地,所述方法还包括:采用列表方式展示所述识别出的公式;或者在所述待识别文本中标识所述识别出的公式。优选地,所述在所述待识别文本中标识所述识别出的公式包括:改变所述待识别文本中识别出的公式的颜色;或者使用线条标识所述待识别文本中识别出的公式。一种数学公式识别装置,包括:模型构建模块,用于预先构建公式识别模型;接收模块,用于接收待识别文本;特征提取模块,用于提取待识别文本中各字符的公式识别特征;识别模块,用于利用提取的公式识别特征及预先构建的公式识别模型对待识别文本进行公式识别,得到识别出的公式。优选地,所述模型构建模块包括:训练数据收集单元,用于收集设定数量包含公式的文本数据作为训练数据;提取单元,用于提取所述训练数据中各字符的公式识别特征及公式标注特征;训练单元,用于利用所述公式识别特征及公式标注特征训练公式识别模型。优选地,所述提取单元,具体用于采用滑动窗口的方法,依次以当前字符为中心移动滑动窗口,提取窗口内每个字符的特征信息及当前字符的上下文模式特征作为当前字符的公式识别特征,所述上下文模式特征用于描述当前字符前后括号的匹配情况。优选地,所述公式识别模型采用分类模型表征。优选地,所述识别模块包括:状态图生成单元,用于在待识别文本的开始和结束分别添加一个开始状态和一个结束状态,并列出待识别文本中所有字符可能的识别结果,每个字符为一个状态,得到待识别文本的状态图;最优路径查找单元,用于采用动态规划方法在所述状态图中查找后验概率最大的路径作为最优路径,各路径的后验概率是将该路径上的所有字 符的公式识别特征输入所述公式识别模型得到的;公式获取单元,用于根据最优路径上每个字符的取值得到待识别文本中的公式。优选地,所述装置还包括:第一展示模块,用于采用列表方式展示所述识别出的公式;或者第二展示模块,用于在所述待识别文本中标识所述识别出的公式。优选地,所述第二展示模块,具体用于改变所述待识别文本中识别出的公式的颜色;或者使用线条标识所述待识别文本中识别出的公式。本发明实施例提供的数学公式识别方法及装置,预先构建公式识别模型,接收到待识别文本后,提取待识别文本中各字符的公式识别特征,利用提取的公式识别特征及预先构建的公式识别模型对待识别文本进行公式识别,得到识别出的公式。进一步地,在提取各字符的公式识别特征时,采用滑动窗口的方法提取当前字符及其前后多个字符的特征信息、以及当前字符的上下文模式特征,所述上下文模式特征描述了当前字符前后括号的匹配情况,从而可以有效地避免字符的歧义及前后括号不匹配的情况,识别过程考虑了字符间的时序性,提升了歧义字符的识别准确度。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本发明实施例数学公式识别方法的流程图;图2是本发明实施例中待识别文本的解码状态图;图3是本发明实施例中构建公式识别模型的流程图;图4是本发明实施例中公式识别模型结构示意图;图5是本发明实施例中数学公式识别装置的结构示意图;图6是本发明实施例中模型构建模块的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。如图1所示,是本发明实施例数学公式识别方法的流程图,包括以下步骤:步骤101,预先构建公式识别模型。所述公式识别模型可以采用离线的方法预先收集大量包含公式的文本数据训练得到。具体地,收集一定量的包含公式的文本数据作为训练数据,然后提取所述训练数据中各字符的公式识别特征及公式标注特征;利用所述公式识别特征及公式标注特征训练公式识别模型。具体训练过程将在后面详细说明。步骤102,接收待识别文本。所述待识别文本的具体内容可以根据实际应用需求定制,如可以为数学试题、数学课本内容等。需要说明的是,如果是图片内容,则可以通过ocr(opticalcharacterrecognition,光学字符识别)技术,将图片数据识别为文本数据。步骤103,提取待识别文本中各字符的公式识别特征。所述公式识别特征包括:字符的特征信息及上下文模式特征。为了防止公式识别时出现歧义,影响识别结果,在本发明实施例中,可以用当前字符及其前后一个或多个字符的特征信息来表征该当前字符的特征信息。相应地,在公式识别之前提取公式识别特征时,可以采用滑动窗口的方法,提取当前字符及其前后多个字符的特征信息,也就是说,用窗口内所有字符的特征信息来表征当前字符的特征信息。具体地,设置滑动窗口大小为n,其中,n为字符个数,如6个;以当前字符作为窗口的中心字符,前后分别取当前字符前后个字符作为当前字符 的上下文字符。然后,提取窗口内每个字符的特征信息,以表征当前字符的特征,具体特征如下所述:a)该字符是否是中文字符,若是,则特征为1,否则为0;b)该字符是否是标点符号,若是,则特征为1,否则为0;c)该字符是否英文字符,若是,则特征为1,否则为0;d)该字符是否为数字,若是,则特征为1,否则为0;e)该字符在歧义字符表中的位置。由于存在歧义字符,即既可以作为公式字符也可以作为非公式字符的字符,如“x∈(0,1)”中的“,”为公式字符,但该字符也可以作为自然语言中的逗号,即非公式字符。因此,在本发明实施例中,将字符是否为歧义字符也作为字符的一种特征信息。所述歧义字符表,可以预先通过人工构建,将经常出现的歧义字符放入该表中,并给出每个字符在表中的位置,,如表1为一个歧义字符表部分内容,其中,第一行为每个歧义字符的位置,第二行为歧义字符;表1歧义字符表123456789…1112…,:|()[]12…而且…所述上下文模式特征主要用来描述当前字符前后括号的匹配情况,具体如下:a)前文中的括号是否匹配,若匹配,则特征值为0,否则为1;b)后文中的括号是否匹配,若匹配,则特征值为0,否则为1。由上可以得到每个字符的公式识别特征的维数为5*n+2,即当前字符及当前字符前后个字符的5维特征信息,加上两维当前字符的上下文模式特征。其中,当前字符的前后多个字符的特征信息表征了前后字符与当前字符的位置关系,及字符内容对识别结果的影响;上下文模式特征表征了上下文中特定的字符串模式对识别结果的影响,所述特定的字符串模式指满足一定正则匹配模式的字符串,如以左括号和右括号为开始和结尾字符的字符串“(a,b)”,如果当前字符为“,”,则当前字符前文中的括号不匹配,则当前字符是公式字符的可能性大很大;如文本数据“(a,b),以及…”,如果当前字符为第二个逗 号“,”,则当前字符前文中的括号是匹配的,则当前字符很可能不是公式字符。下面进一步举例详细说明公式识别特征的提取过程。例如:待识别文本为“已知f(x+1)=ax^{2}+1(其中a>1且f(x)的最大值为0)”,将“其”字前的括号作为当前字符,以滑动窗口大小为3例,当前字符的特征维数为17维,即(5*3+2=17),当前字符的特征信息如下:步骤104,利用提取的公式识别特征及预先构建的公式识别模型对待识别文本进行公式识别,得到识别出的公式。具体公式识别时,首先在待识别文本的开始和结束分别添加一个开始状态和结束状态,将待识别文本中所有字符可能的识别结果列举出来,每个字符为一个状态,每个状态有两个取值,即每个字符的两种识别结果,从而得到待识别文本的状态图,如图2所示,图中开始和结束的阴影部分状态为解码时,自动添加的状态,没有任何含义,中间为每个状态的取值, 即每个字符的两种识别结果,其中0表示当前字符不是公式字符,1表示当前字符是公式字符;然后采用动态规划方法在状态图中查找最优路径,具体查找路径时,需要分别计算各路径上每个字符两种识别结果的后验概率,具体计算时,将所有字符的公式识别特征作为公式识别模型的输入,利用公式识别模型分别计算所有字符两种识别结果的后验概率,具体计算方法如式(1)所示;图2为具体解码过程,其中,mi(x)表示特征函数的取值,具体计算方法如式(2)所示。每条解码路径对应一组状态取值序列,即每个字符的识别结果,从而可以根据式(1)计算得到当前解码上每个字符识别结果的后验概率;最后,选择后验概率最大的路径作为最优路径,根据最优路径上每个字符的取值即可得到待识别文本的识别结果。其中,x为公式字符序列的识别特征,y为公式字符序列中每个字符的识别结果,z(x)为规一化函数,具体计算方法如下所述,n为待识别的字符数;mi(yi-1,yi|x)表示第i-1个字符转移到第i个字符特征函数的取值,具体计算方法如式(4)所示:其中,a和b为第i-1个字符和第i个字符的识别结果,具体取值可以为0或1;λj为第j个特征函数的权重,即公式识别模型参数,可以通过收集大量数据训练估计得到。fj(a,b,x,i)为第j个特征函数,具体如下所述。如待识别文本为:“已知f(x+1)=ax^{2}+1(其中a>1且f(x)的最大值为0)”,提取相应的公式识别特征后,使用上述公式识别模型解码选择最优路径后,即可得到待识别文本的识别结果,即识别出的公式。在实际应用中,可以采用多种方式对识别出的公式进行展示,比如:(1)采用列表方式展示识别出的公式,如表2所示:表2(2)在待识别文本中标识识别出的公式比如,改变所述待识别文本中识别出的公式的颜色,也就是说,将识别出的公式与非公式文本采用不同的颜色显示;或者使用线条(比如方框、圆圈、下划线等)标识待识别文本中识别出的公式。本发明实施例中的公式识别模型可以采用离线方式构建,如图3所示,是本发明实施例中构建公式识别模型的流程图,包括以下步骤:步骤301,收集设定数量包含公式的文本数据作为训练数据。比如,可以从互联网的教学网站收集文本数据,或者从学生在线学习相关网站收集文本数据,并由人工标注出所述文本数据中的各字符是否为公式字符,将标注结果作为各字符的公式标注特征。如“若f(”,这三个字符对应的标注序列为<0,1,1>,其中0表示非公式字符,1表示公式字符。步骤302,提取所述训练数据中各字符的公式识别特征及公式标注特征。公式识别特征的提取前面已有详细说明,在此不再赘述。步骤303,利用所述公式识别特征及公式标注特征训练公式识别模型。所述公式识别模型可以采用分类模型表征,如条件随机场模型、hmm(隐马尔科夫模型)等。下面以条件随机场模型为例,详细说明其构建过程。以提取识别特征时使用的滑动窗口大小为3(即n=3)为例,构建公式识别模型,即当前字符的公式识别特征包括前一个字符的特征信息和后一个字符的特征信息,每个字符的公式识别特征共17维。假设当前训练文本数据包含n个字符,令y={y1,y2,…,yn}表示文本数据中字符序列的标注特征,如y2为第2个字符的标注特征,所述标注特征表示当 前字符是否为公式字符,如果当前字符是公式特征,标注为1,否则标注为0,x={x1,1,x1,2,…,x1,17,x2,1,x2,2,…,x2,17,…,xn,1,xn,2,…,xn,17}表示字符序列的公式识别特征,如x11,x12,…,x117为第1个字符的17维特征,所述公式识别模型使用条件概率p(y|x,λ)表示,即当前字符序列x的识别结果为序列y的后验概率,λ为公式识别模型中每个特征函数的权重参数,λ=(λ1,…λj,..λm),m为特征函数的总数,λj表示第j个特征函数,所述特征函数包括字符转移特征函数和状态特征函数,分别根据公式识别特征和标注特征预先设定得到,如式(3)为根据每个字符的特征函数计算得到的公式识别模型;其中,z(x)为归一化函数,如式(4)所示:fj(yi-1,yi,x,i)为第i-1个字符和第i个字符之间的转移特征函数tr(yi-1,yi,x,i)和第i个字符的状态特征函数sk(yi,x,i)}的统一表示形式,并且r+k=m,特征函数一般为二值函数,即取值为0或1,可以根据经验或实验结果预先定义,所述转移特征函数一般是根据公式识别特征得到,所述状态特征函数一般根据标注特征得到;如第r个转移特征函数为:即第i个字符是公式字符且其前一个字符不是公式字符,并且前一个字符是中文字符时,该特征函数的取值为1,否则,取值为0;如第k个状态特征函数为:即第i个字符是公式字符,且第i个字符前的括号是匹配的,当前特征函数 的取值为1,否则,取值为0。如图4所示,为构建的公式识别模型结构,其中,x为公式字符序列的识别特征,y为公式字符的标注特征序列,根据该结构利用提取的大量数据的公式识别特征及标注特征训练公式识别模型。训练过程中,根据似然概率最大化准则对模型参数λ进行估计,得到模型参数,所述估计方法如通用迭代算法(generalisediterativescaling,gis)。本发明实施例提供的数学公式识别方法,预先构建公式识别模型,接收到待识别文本后,提取待识别文本中各字符的公式识别特征,利用提取的公式识别特征及预先构建的公式识别模型对待识别文本进行公式识别,得到识别出的公式。进一步地,在提取各字符的公式识别特征时,采用滑动窗口的方法提取当前字符及其前后多个字符的特征信息、以及当前字符的上下文模式特征,所述上下文模式特征描述了当前字符前后括号的匹配情况,从而可以有效地避免字符的歧义及前后括号不匹配的情况,识别过程考虑了字符间的时序性,提升了歧义字符的识别准确度。相应地,本发明实施例还提供一种数学公式识别装置,如图5所示,是该装置的一种结构示意图。在该实施例中,所述装置包括:模型构建模块501,用于预先构建公式识别模型;接收模块502,用于接收待识别文本;特征提取模块503,用于提取待识别文本中各字符的公式识别特征;识别模块504,用于利用提取的公式识别特征及预先构建的公式识别模型对待识别文本进行公式识别,得到识别出的公式。在实际应用中,所述公式识别模型可以采用分类模型表征。所述模型构建模块501可以通过收集大量包含公式的文本数据采用离线方式构建公式识别模型。如图6所示,是该模型构建模块501的一种具体结构示意图。该模型构建模块501包括:训练数据收集单元61,用于收集设定数量包含公式的文本数据作为训 练数据;提取单元62,用于提取所述训练数据中各字符的公式识别特征及公式标注特征;训练单元63,用于利用所述公式识别特征及公式标注特征训练公式识别模型。其中,提取单元62具体可以采用滑动窗口的方法,依次以当前字符为中心移动滑动窗口,提取窗口内每个字符的特征信息及当前字符的上下文模式特征作为当前字符的公式识别特征,所述上下文模式特征用于描述当前字符前后括号的匹配情况。需要说明的是,上述特征提取模块503可以采用与提取单元62同样的方法提取待识别文本中各字符的公式识别特征,各字符的公式识别特征不仅包括该字符自身的特征信息,还包括其前后一个或多个字符的特征信息、以及该字符的上下文模式特征。上述识别模块504的一种具体结构包括以下各单元:状态图生成单元,用于在待识别文本的开始和结束分别添加一个开始状态和一个结束状态,并列出待识别文本中所有字符可能的识别结果,得到待识别文本的状态图;最优路径查找单元,用于采用动态规划方法在所述状态图中查找最优路径;公式获取单元,用于根据最优路径上每个字符的取值得到待识别文本中的公式。本发明实施例提供的数学公式识别装置,预先构建公式识别模型,接收到待识别文本后,提取待识别文本中各字符的公式识别特征,利用提取的公式识别特征及预先构建的公式识别模型对待识别文本进行公式识别,得到识别出的公式。进一步地,在提取各字符的公式识别特征时,采用滑动窗口的方法提取当前字符及其前后多个字符的特征信息、以及当前字符的上下文模式特征,所述上下文模式特征描述了当前字符前后括号的匹配情况,从而可以有 效地避免字符的歧义及前后括号不匹配的情况,识别过程考虑了字符间的时序性,提升了歧义字符的识别准确度。另外,为了更直观地展现识别出的公式,在本发明装置另一实施例中,所述装置还或进一步包括:第一展示模块或第二展示模块,其中,第一展示模块用于采用列表方式展示所述识别出的公式;第二展示模块用于在所述待识别文本中标识所述识别出的公式,比如,改变所述待识别文本中识别出的公式的颜色;或者使用线条标识所述待识别文本中识别出的公式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及装置;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1