CN107301164A - 数学公式的语义解析方法及装置 - Google Patents
数学公式的语义解析方法及装置 Download PDFInfo
- Publication number
- CN107301164A CN107301164A CN201610237548.7A CN201610237548A CN107301164A CN 107301164 A CN107301164 A CN 107301164A CN 201610237548 A CN201610237548 A CN 201610237548A CN 107301164 A CN107301164 A CN 107301164A
- Authority
- CN
- China
- Prior art keywords
- syntax
- mathematical formulae
- syntax tree
- probability
- stipulations
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种数学公式的语义解析方法及装置,该方法包括:预先构建数学公式的概率上下文无关文法模型;接收包含数学公式的文本数据;对所述文本数据中的数学公式进行识别,得到识别后的数学公式字符;利用所述概率上下文无关文法模型对所述识别后的数学公式字符进行解析,得到解析结果。利用本发明,可以提高数学公式语义解析的准确度。
Description
技术领域
本发明涉及自然语言处理领域,具体涉及一种数学公式的语义解析方法及装置。
背景技术
随着互联网的不断普及和互联网技术的迅速发展,传统的教育模式也在逐渐发生改变,信息、在线化、智能化等辅助教学手段正在向传统教育领域渗透,并逐步获得广大教师、家长和学生的认可。在以考试为主要评价方式的教育模式下,试题是学生巩固所学知识和教育者评价学生水平的基础数据资源,因此,试题资源的构建显得尤为重要。具体构建时,需要对大量包含公式的数据进行语义解析,如何准确地对包含数学公式的数据进行语义解析具重大意义。
现有的数学公式的语义解析方法一般采用正则表达式匹配的方法,这种方法需要领域专家预先给出大量正则表达式,在对数学公式进行语义解析时,进行正则匹配。然而,当正则表达式的数量较多时,容易出现冲突,维护成本较高;此外,由于现有方法的解析粒度较粗,匹配结果也属于浅层文本,无法反映公式内部深层语义。因此,通过现有方法得到的解析结果准确度较低。
发明内容
本发明提供一种数学公式的语义解析方法及装置,以提高数学公式语义解析的准确度。
为此,本发明提供如下技术方案:
一种数学公式的语义解析方法,包括:
预先构建数学公式的概率上下文无关文法模型;
接收包含数学公式的文本数据;
对所述文本数据中的数学公式进行识别,得到识别后的数学公式字符;
利用所述概率上下文无关文法模型对所述识别后的数学公式字符进行解析,得到解析结果。
优选地,所述预先构建数学公式的概率上下文无关文法模型包括:
确定数学公式的文法集合;
收集包含数学公式的文本数据,作为语料库;
根据所述语料库中各数学公式所在的上下文以及所述文法集合,构建各数学公式的语法树;
根据所述语法树训练得到数学公式的概率上下文无关文法模型。
优选地,所述确定数学公式的文法集合包括:
确定数学公式的表达类型;
对各类数学公式的表达内容进行抽象,得到对应各表达类型的所有文法;
采用递归形式将所有文法组合,形成文法集合。
优选地,所述语法树中的叶子节点由对应的文法中的终结符表示,所述语法树中的非叶子节点由对应的方法中的非终结符表示,所述终结符为根据词法分析器得到的公式字符,所述非终结符为根据终结符组合后形成的新公式类型;所述语法树的边表示父节点和子节点之间的逻辑关系。
优选地,所述根据所述语法树训练得到数学公式的概率上下文无关文法模型包括:
确定概率上下文无关文法模型的拓扑结构;
将各语法树作为训练数据,每条文法的出现概率为模型参数,以训练数据的似然概率最大化为优化目标,训练模型参数。
优选地,所述利用所述概率上下文无关文法模型对所述识别后的数学公式字符进行解析,得到解析结果包括:
自左向右扫描每个公式字符,获取公式字符之间对应的所有文法;
对所述文法进行规约,得到规约后的文法;
根据规约后的文法及规约路径确定对应所述数学公式的语法树。
优选地,所述对所述文法进行规约,得到规约后的文法包括:
通过词法分析器将公式字符替换为对应的终结符;
将符合所述文法集合中文法的终结符使用该文法的左部替换所述终结符,得到规约后的文法。
优选地,如果存在多条规约路径,则从得到的多个语法树中选择概率最大的语法树作为对应所述数学公式的语法树,所述语法树的概率为树中所有文法出现概率之积。
优选地,所述方法还包括:
遍历对应所述数学公式的语法树,得到需要的语义信息。
一种数学公式的语义解析装置,包括:
模型构建模块,用于预先构建数学公式的概率上下文无关文法模型;
接收模块,用于接收包含数学公式的文本数据;
识别模块,用于对所述文本数据中的数学公式进行识别,得到识别后的数学公式字符;
解析模块,用于利用所述概率上下文无关文法模型对所述识别后的数学公式字符进行解析,得到解析结果。
优选地,所述模型构建模块包括:
文法集合确定单元,用于确定数学公式的文法集合;
语料库建立单元,用于收集包含数学公式的文本数据,作为语料库;
语法树生成单元,用于根据所述语料库中各数学公式所在的上下文以及所述文法集合,构建各数学公式的语法树;
训练单元,用于根据所述语法树训练得到数学公式的概率上下文无关文法模型。
优选地,所述文法集合确定单元包括:
类型确定子单元,用于确定数学公式的表达类型;
内容抽象子单元,用于对各类数学公式的表达内容进行抽象,得到对应各表达类型的所有文法;
组合子单元,用于采用递归形式将所有文法组合,形成文法集合。
优选地,所述语法树中的叶子节点由对应的文法中的终结符表示,所述语法树中的非叶子节点由对应的方法中的非终结符表示,所述终结符为根据词法分析器得到的公式字符,所述非终结符为根据终结符组合后形成的新公式类型;所述语法树的边表示父节点和子节点之间的逻辑关系。
优选地,所述训练单元包括:
拓扑结构确定子单元,用于确定概率上下文无关文法模型的拓扑结构;
模型参数训练子单元,用于将各语法树作为训练数据,每条文法的出现概率为模型参数,以训练数据的似然概率最大化为优化目标,训练模型参数。
优选地,所述解析模块包括:
扫描单元,用于自左向右扫描每个公式字符,获取公式字符之间对应的所有文法;
规约单元,用于对所述文法进行规约,得到规约后的文法;
语法树确定单元,用于根据规约后的文法及规约路径确定对应所述数学公式的语法树。
优选地,所述规约单元包括:
字符替换子单元,用于通过词法分析器将公式字符替换为对应的终结符;
终结符替换子单元,用于将符合所述文法集合中文法的终结符使用该文法的左部替换所述终结符,得到规约后的文法。
优选地,所述语法树确定单元,还用于在存在多条规约路径时,则从得到的多个语法树中选择概率最大的语法树作为对应所述数学公式的语法树,所述语法树的概率为树中所有文法出现概率之积。
优选地,所述装置还包括:
语义抽取模块,用于遍历对应所述数学公式的语法树,得到需要的语义信息。
本发明实施例提供的数学公式的语义解析方法及装置,将PCFG(Probabilistic Context Free Grammar,概率上下文无关语法)模型应用于公式的语义解析问题中。利用数学公式的概率上下文无关文法模型对数学公式进行解析,得到解析结果,有效解决了公式解析的二义性问题,提高了数学公式解析的准确度。
进一步地,将解析结果以数学公式字符的语法树形式表示,每次针对不同应用需要解析公式语义时,只需要遍历语法树即可得到相应语义,而不需要预设规则进行匹配。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例中构建数学公式的概率上下文无关文法模型的流程图;
图2是本发明实施例中构建的数学公式的语法树的示意图;
图3是本发明实施例数学公式的语义解析方法的流程图;
图4是本发明实施例中对公式字符进行解析时的文法规约过程及规约后得到的语法树示例;
图5是本发明实施例中根据其它规约路径得到的语法树示例;
图6是本发明实施例中进行语义解析得到的语法树示例;
图7是本发明实施例数学公式的语义解析装置的结构示意图;
图8是本发明实施例中模型构建模块的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
本发明实施例提供一种数学公式的语义解析方法及装置,预先构建数学公式的概率上下文无关文法模型,利用该模型对数学公式进行解析,得到解析结果,所述解析结果以数学公式字符的语法树形式表示。具体解析时,采用动态规划方法找到数学公式满足的文法集合,并且对所述文法集合中的文法进行规约,得到规约后的文法,根据文法规约路径得到数学公式字符的多个侯选语法树,选择概率最大的语法树作为解析结果。所述语法树的概率为语法树中所有文法出现概率之积。
为了解决公式解析时存在的二义性问题,本发明实施例将概率上下文无关文法模型应用于公式的语义解析问题中,基于数学公式的文法集合构建数学公式的概率上下文无关文法模型,即在数学公式的文法集合上引入概率来表达文法的二义性,也就是说,对每条文法赋予一个概率。所述概率可以通过大量包含数学公式的文本数据训练得到。这样,在对数学公式进行语义解析时,即可根据概率最大的原则进行解析。
所述概率上下文无关文法模型可以采用离线的方法预先收集大量包含数学公式的文本数据,根据各数学公式所在的上下文以及数学公式的文法集合训练得到。
如图1所示,是本发明实施例中构建数学公式的概率上下文无关文法模型的流程图,包括以下步骤:
步骤101,确定数学公式的文法集合。
所述文法集合可以通过对各种不同类型的数学公式的表达形式进行抽象得到。具体地,首先根据数学知识点,将数学公式的表达形式划分成多种类型,如表达式、函数、区间等。然后对每类数学公式的表达内容进行抽象,得到对应每个表达类型的各文法。所述抽象即将数学公式的表达内容进行上位后,使用固定的符号表示,如区间(0,5),可以抽象上位为“左括号、数字表达式、逗号、数字表达式、右括号”,具体文法表示为intevel->LLB exp COMMA expLRB,其中,LLB表示左括号,exp表示表达式,COMMA表示逗号,exp表示表达式,LRB表示右括号,当然也可以采用其它的表示方法,本发明实施例不作限定。最后采用递归的形式,将所有文法组合起来,形成文法集合。
如表1为确定的文法集合中的部分文法。其中,第一列为数学公式类型编号,Na表示第a类数学公式;第二列为每类数学公式的文法,所述文法由“->”左右两部分组成,“->”左边为数学公式的类型,“->”右边为满足该公式类型的数学表达式的具体形式;第三列为每条文法的出现概率,在进行模型训练时,出现该条文法的概率,初始值可以随机给出。
表1
步骤102,收集包含数学公式的文本数据,作为语料库。
比如,可以从互联网的教学网站收集文本数据,或者从学生在线学习相关网站收集文本数据,并由人工标注出所述文本数据中的各字符是否为公式字符,将标注结果作为各字符的公式标注特征。如“若f(”,这三个字符对应的标注序列为<0,1,1>,其中0表示非公式字符,1表示公式字符。
步骤103,根据所述语料库中各数学公式所在的上下文以及所述文法集合,构建各数学公式的语法树。
具体构建时,可以将文法集合中的每条文法“->”左右两边的类型单独作为一个控件,根据数学公式所在的上下文及数学公式的内容,将相应控件组合成一个语法树。
所述语法树中的节点由相应文法中的终结符和非终结符表示。所述终结符一般为根据词法分析器直接得到的公式字符,如所有英文字符、公式固定字符串等,所述公式固定字符串如cos,sqrt等,终结符作为语法树的叶子节点。所述非终结符一般为根据终结符组合后形成的公式类型,如function,add等,非终结符作为语法树的非叶子节点,所述终结符与非终结符与每条文法的公式类型或子类型相对应。所述语法树的边表示父节点和子节点之间的逻辑关系,如对于二目运算符而言,表示二目运算符的父节点与其左子节点之间的边就表示了“左子节点是该操作符的左操作对象”。语料库中所有文本数据构建的所有语法树形成语法树库。
例如数学公式“g(x+1)”在①和②两个不同上下文中时,构建语法树的过程如下所述:
①已知函数g(x)是偶函数,试确定g(x+1)的奇偶性;
②已知g为实数,x是方程f(x)=1的根,试求g(x+1);
构建语法树时,根据数学公式所在的上下文确定:①中的“g(x+1)”表示一个函数,其中“g”为函数名,“x+1”为函数的参数;②中的“g(x+1)”则表示实数“g”和实数“x+1”相乘,因此,根据文法集合,构建的语法树如图2所示,左边为根据①中上下文构建的语法树,右边为根据②中上下文构建的语法树。
步骤104,根据所述语法树训练得到数学公式的概率上下文无关文法模型。
具体训练过程如下:
首先,确定概率上下文无关文法模型的拓扑结构。
所述概率上下文无关文法模型可以为一个五元组,即(N,V,R,S,P),其中:
N表示非终结符,即语法树上的非叶子节点;
V表示终结符,即语法树上的叶子节点;
R表示确定的文法集合;
S表示语法树的根节点;
P表示语料库中每个文法的出现概率。
根据语料库中每个文法的出现概率,可以定义一个语法树的出现概率为树中所有文法出现的概率之积;当对一个数学公式进行解析得到多个语法树时,可以选择所述概率最大的那个语法树,从而最大程度避免解析错误。
其次,计算每个文法在语料库中出现的概率。
所述概率可以根据语料库中数学公式构建的语法树库进行训练得到,具体训练时,将语法树库中的每个语法树作为训练数据,每条文法出现的概率为模型参数,以训练数据的似然概率最大化为优化目标,即采用最大似然方法估计模型参数,如式(1)为模型训练的目标函数。训练结束后,得到每条文法出现的概率。
其中,T表示所有训练数据,Q为训练数据的总数,Mi为第i个训练数据中的子树数,所述子树即为语法树的子结构,tik为第i个训练数据的第k个子树,θ为模型参数,即所有文法的出现概率,p(tik|θ)表示第i个训练数据的第k个子树对应的文法概率。
具体训练时,令Wi,j表示公式中第i个字符到第j个字符之间的文本内容,p(Nk(i,j))表示从字符i开始到字符j结束的所有字符之间对应的文法中,符合第k类文法的所有文法的概率和,Nk表示第k类文法,如数学公式“f(x)=ax^{2}+1”的概率为即从第1个字符到第13个字符之间所对应的文法中,符合第1类文法的所有文法的概率和。分别定义内部变量与外部变量,进行模型训练,具体训练算法如EM(Expectation Maximization Algorithm,)算法,具体训练过程与现有技术相同,在此不再详述。
如图3所示,是本发明实施例数学公式的语义解析方法的流程图,包括以下步骤:
步骤301,预先构建数学公式的概率上下文无关文法模型。
步骤302,接收包含数学公式的文本数据。
所述文本数据的内容可以根据实际应用需求定制,如可以为数学试题、数学课本内容等。
需要说明的是,如果是图片内容,则可以通过OCR(Optical CharacterRecognition,光学字符识别)技术,将图片数据识别为文本数据。
步骤303,对所述文本数据中的数学公式进行识别,得到识别后的数学公式字符。
对数学公式进行识别即将文本数据中的数学公式字符识别出来,具体识别方法可以采用提取文本数据的识别特征构建统计模型,利用所述统计模型进行字符预测得到,具体识别过程与现有技术相同。当然也可以采用其它方法进行识别,如基于规则的方法,对此本发明实施例不做限定。
步骤304,利用所述概率上下文无关文法模型对所述识别后的数学公式字符进行解析,得到解析结果。
在本发明实施例中,可以将解析结果以数学公式字符的语法树形式表示。
具体地,进行公式解析时,自左向右扫描每个公式字符,采用动态规划方法寻找公式字符之间对应的所有文法,并且对所述文法进行规约,所述规约即首先通过词法分析器将公式字符替换为相应的终结符,然后根据确定的文法集合,将符合文法集合中文法的终结符使用该文法的左部替换所述终结符,得到相应的非终结符,作为公式类型;如果规约后有相同的公式类型,直接合并成一个类型即可,从而得到规约后的文法。然后,根据规约后的文法及规约路径得到相应的语法树。
需要说明的是,在文法规约时,往往存在多条规约路径,扫描文法的规约路径可以得到多个候选语法树,则选择概率最大的语法树作为公式字符解析的语法树,所述语法树的概率为树中所有文法出现概率之积,所述文法出现概率根据概率上下文无关文法模型得到。如果只有一条规约路径,则根据该规约路径得到的语法树作为公式字符解析得到的语法树。
以公式“(f(x+1),1)”为例,进行公式解析,具体过程如下:
首先自左向右扫描每个公式字符,采用动态规划方法寻找公式字符之间对应的文法,并对所述文法进行规约,如表2所示,其中,第一列为找到的公式字符符合的文法,第二列为对所述文法的规约,具体规约时,依次使用“->”左部替换“->”右部,如规约路径“x=>VAR=>exp”,首先使用终结符“VAR”替换词法分析器分析得到的公式字符“x”,然后,根据文法“exp->VAR”,使用文法的左部“exp”替换文法的右部“VAR”,如图4为公式字符解析过程,左边为文法的一种规约路径,右边为根据所述规约得到的语法树。由于公式字符解析时,往往存在多条文法规约路径,因此,可以得到多个语法树,如图5所示,为根据其它规约路径得到的语法树;第三列为概率上下文无关文法模型中的文法出现概率,语法树的概率为语法树中所述文法的概率之积,如果公式字符解析结果有多个语法树,则选择概率最大的语法树,作为最终解析结果。
表2
本发明实施例提供的数学公式的语义解析方法,将概率上下文无关文法模型应用于公式的语义解析问题中,利用该模型对数学公式进行解析,得到解析结果,有效解决了公式解析的二义性问题,提高了数学公式解析的准确度。
在公式解析存在多条文法规约路径时,可以根据概率上下文无关文法模型中每条文法出现的概率,准确找到公式解析的语法树,进一步提高了数学公式解析的准确度。
进一步地,将解析结果以数学公式字符的语法树形式表示,从而可以根据实际应用场景对解析得到的数学公式字符的语法树进行语义抽取即可得到相应语义,而不需要预设规则进行匹配。所述语法树包含了数学公式的所有语义信息,具体抽取时,直接遍历所述语法树即可,如采用深度优先搜索方法遍历语法树,找到需要的语义信息。在实际应用中,可以针对具体的应用需求在得到的语法树上定义不同的语义接口,将得到的语义信息通过相应接口传送给上层应用。
下面举例说明语义抽取的过程。
例如:公式字符“f’(x,y)=a*\sqrt{x}+\frac{1}{2}*x*y”解析得到的语法树如图6所示,在个性化推荐的应用场景下,需要知道公式字符对应的具体类型以及与该类型公式所具有一系列语义特征,根据图6所示语法树抽取到的语义信息如下:
(a)一个二元函数的导数
(b)导函数的基本形式为幂函数与多项式函数的幂相加形成的复合函数
(c)幂的次数为1/2
(d)函数带有额外的参数
应用上述语义信息,结合考生的答题情况,即可为推荐决策提供丰富的依据。
本发明实施例中的方法可以应用于教育领域中的个性化学习、学情诊断、及自动答题等方向,利用本发明实施例得到的语义解析结果,可以进一步解决试题相似度计算、难度估计、智能诊断和推荐、类人答题等一系列上层应用问题。如个性化学习中对试题难度进行分析时,需要知道试题考查的知识点,从而需要对数学公式进行解析,根据解析结果,看数学公式中包含哪些知识点。
相应地,本发明实施例还提供一种数学公式的语义解析装置,如图7所示,是本发明实施例数学公式的语义解析装置的一种结构示意图。
在该实施例中,所述装置包括:
模型构建模块701,用于预先构建数学公式的概率上下文无关文法模型;
接收模块702,用于接收包含数学公式的文本数据;
识别模块703,用于对所述文本数据中的数学公式进行识别,得到识别后的数学公式字符;
解析模块704,用于利用所述概率上下文无关文法模型对所述识别后的数学公式字符进行解析,得到解析结果。
如图8所示,是本发明实施例中模型构建模块的一种结构示意图。
所述模型构建模块包括以下各单元:
文法集合确定单元801,用于确定数学公式的文法集合;
语料库建立单元802,用于收集包含数学公式的文本数据,作为语料库;
语法树生成单元803,用于根据所述语料库中各数学公式所在的上下文以及所述文法集合,构建各数学公式的语法树,所述语法树的具体构建过程可参照前面本发明方法实施例中的描述;
训练单元804,用于根据所述语法树训练得到数学公式的概率上下文无关文法模型。
所述文法集合可以通过对各种不同类型的数学公式的表达形式进行抽象得到。比如,文法集合确定单元801的一种具体结构可以包括以下各子单元:类型确定子单元、内容抽象子单元、以及组合子单元。其中:
所述类型确定子单元用于确定数学公式的表达类型,如表达式、函数、区间等;
所述内容抽象子单元用于对各类数学公式的表达内容进行抽象,得到对应各表达类型的所有文法,所述抽象即将数学公式的表达内容进行上位后,使用固定的符号表示;在本发明实施例中,并不限定符号的具体形式;
所述组合子单元用于采用递归形式将所有文法组合,形成文法集合。
所述训练单元804的一种具体结构可以包括:拓扑结构确定子单元和模型参数训练子单元。其中:
所述拓扑结构确定子单元用于确定概率上下文无关文法模型的拓扑结构,概率上下文无关文法模型可以为一个五元组,五元组中各元素已在前面详细说明,在此不再赘述。
所述模型参数训练子单元用于将各语法树作为训练数据,每条文法的出现概率为模型参数,以训练数据的似然概率最大化为优化目标,训练模型参数,具体训练过程可参照前面本发明方法实施例中的描述。
上述识别模块703具体可以采用提取文本数据的识别特征构建统计模型,利用所述统计模型进行字符预测得到,具体识别过程与现有技术相同。当然也可以采用其它方式进行识别,如基于规则的方法,对此本发明实施例不做限定。
在本发明实施例中,解析模块704具体可以采用自左向右的扫描方式扫描每个公式字符,采用动态规划方法寻找公式字符之间对应的所有文法,并且对所述文法进行规约,得到规约后的文法,然后根据规约后的文法及规约路径确定对应所述数学公式的语法树,该语法树包含了所述数学公式的所有语义信息。
相应地,解析模块704的一种具体结构可以包括以下各单元:
扫描单元,用于自左向右扫描每个公式字符,获取公式字符之间对应的所有文法;
规约单元,用于对所述文法进行规约,得到规约后的文法;
语法树确定单元,用于根据规约后的文法及规约路径确定对应所述数学公式的语法树。
所述规约即首先通过词法分析器将公式字符替换为相应的终结符,然后根据确定的文法集合,将符合文法集合中文法的终结符使用该文法的左部替换所述终结符,得到相应的非终结符,作为新的公式类型,即规约后的文法。相应地,所述规约单元可以包括:字符替换子单元和终结符替换子单元。其中,字符替换子单元用于通过词法分析器将公式字符替换为对应的终结符;终结符替换子单元用于将符合所述文法集合中文法的终结符使用该文法的左部替换所述终结符,得到规约后的文法。
需要说明的是,在文法规约时,往往存在多条规约路径,扫描文法的规约路径可以得到多个候选语法树,因此,在本发明实施例中,所述语法树确定单元还进一步用于在存在多条规约路径时,选择概率最大的语法树作为对应所述数学公式的语法树,所述语法树的概率为树中所有文法出现概率之积。当然,如果只有一条规约路径,则根据该规约路径得到的语法树作为公式字符解析得到的语法树。
本发明实施例提供的数学公式的语义解析装置,将概率上下文无关文法模型应用于公式的语义解析问题中,利用该模型对数学公式进行解析,得到解析结果,有效解决了公式解析的二义性问题,提高了数学公式解析的准确度。
在公式解析存在多条文法规约路径时,可以根据概率上下文无关文法模型中每条文法出现的概率,准确找到公式解析的语法树,进一步提高了数学公式解析的准确度。
进一步地,本发明装置还可以包括:语义抽取模块(图中未示),用于遍历对应所述数学公式的语法树,得到需要的语义信息。语法树包含了数学公式的所有语义信息,因此在具体抽取时,直接遍历所述语法树即可,如采用深度优先搜索方法遍历语法树,找到需要的语义信息。比如,在实际应用中,可以针对具体的应用需求在得到的语法树上定义不同的语义接口,将得到的语义信息通过相应接口传送给上层应用。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及装置;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (18)
1.一种数学公式的语义解析方法,其特征在于,包括:
预先构建数学公式的概率上下文无关文法模型;
接收包含数学公式的文本数据;
对所述文本数据中的数学公式进行识别,得到识别后的数学公式字符;
利用所述概率上下文无关文法模型对所述识别后的数学公式字符进行解析,得到解析结果。
2.根据权利要求1所述的方法,其特征在于,所述预先构建数学公式的概率上下文无关文法模型包括:
确定数学公式的文法集合;
收集包含数学公式的文本数据,作为语料库;
根据所述语料库中各数学公式所在的上下文以及所述文法集合,构建各数学公式的语法树;
根据所述语法树训练得到数学公式的概率上下文无关文法模型。
3.根据权利要求2所述的方法,其特征在于,所述确定数学公式的文法集合包括:
确定数学公式的表达类型;
对各类数学公式的表达内容进行抽象,得到对应各表达类型的所有文法;
采用递归形式将所有文法组合,形成文法集合。
4.根据权利要求2所述的方法,其特征在于,所述语法树中的叶子节点由对应的文法中的终结符表示,所述语法树中的非叶子节点由对应的方法中的非终结符表示,所述终结符为根据词法分析器得到的公式字符,所述非终结符为根据终结符组合后形成的新公式类型;所述语法树的边表示父节点和子节点之间的逻辑关系。
5.根据权利要求2所述的方法,其特征在于,所述根据所述语法树训练得到数学公式的概率上下文无关文法模型包括:
确定概率上下文无关文法模型的拓扑结构;
将各语法树作为训练数据,每条文法的出现概率为模型参数,以训练数据的似然概率最大化为优化目标,训练模型参数。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述利用所述概率上下文无关文法模型对所述识别后的数学公式字符进行解析,得到解析结果包括:
自左向右扫描每个公式字符,获取公式字符之间对应的所有文法;
对所述文法进行规约,得到规约后的文法;
根据规约后的文法及规约路径确定对应所述数学公式的语法树。
7.根据权利要求6所述的方法,其特征在于,所述对所述文法进行规约,得到规约后的文法包括:
通过词法分析器将公式字符替换为对应的终结符;
将符合所述文法集合中文法的终结符使用该文法的左部替换所述终结符,得到规约后的文法。
8.根据权利要求6所述的方法,其特征在于,如果存在多条规约路径,则从得到的多个语法树中选择概率最大的语法树作为对应所述数学公式的语法树,所述语法树的概率为树中所有文法出现概率之积。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
遍历对应所述数学公式的语法树,得到需要的语义信息。
10.一种数学公式的语义解析装置,其特征在于,包括:
模型构建模块,用于预先构建数学公式的概率上下文无关文法模型;
接收模块,用于接收包含数学公式的文本数据;
识别模块,用于对所述文本数据中的数学公式进行识别,得到识别后的数学公式字符;
解析模块,用于利用所述概率上下文无关文法模型对所述识别后的数学公式字符进行解析,得到解析结果。
11.根据权利要求10所述的装置,其特征在于,所述模型构建模块包括:
文法集合确定单元,用于确定数学公式的文法集合;
语料库建立单元,用于收集包含数学公式的文本数据,作为语料库;
语法树生成单元,用于根据所述语料库中各数学公式所在的上下文以及所述文法集合,构建各数学公式的语法树;
训练单元,用于根据所述语法树训练得到数学公式的概率上下文无关文法模型。
12.根据权利要求11所述的装置,其特征在于,所述文法集合确定单元包括:
类型确定子单元,用于确定数学公式的表达类型;
内容抽象子单元,用于对各类数学公式的表达内容进行抽象,得到对应各表达类型的所有文法;
组合子单元,用于采用递归形式将所有文法组合,形成文法集合。
13.根据权利要求11所述的装置,其特征在于,所述语法树中的叶子节点由对应的文法中的终结符表示,所述语法树中的非叶子节点由对应的方法中的非终结符表示,所述终结符为根据词法分析器得到的公式字符,所述非终结符为根据终结符组合后形成的新公式类型;所述语法树的边表示父节点和子节点之间的逻辑关系。
14.根据权利要求11所述的装置,其特征在于,所述训练单元包括:
拓扑结构确定子单元,用于确定概率上下文无关文法模型的拓扑结构;
模型参数训练子单元,用于将各语法树作为训练数据,每条文法的出现概率为模型参数,以训练数据的似然概率最大化为优化目标,训练模型参数。
15.根据权利要求11至14任一项所述的装置,其特征在于,所述解析模块包括:
扫描单元,用于自左向右扫描每个公式字符,获取公式字符之间对应的所有文法;
规约单元,用于对所述文法进行规约,得到规约后的文法;
语法树确定单元,用于根据规约后的文法及规约路径确定对应所述数学公式的语法树。
16.根据权利要求15所述的装置,其特征在于,所述规约单元包括:
字符替换子单元,用于通过词法分析器将公式字符替换为对应的终结符;
终结符替换子单元,用于将符合所述文法集合中文法的终结符使用该文法的左部替换所述终结符,得到规约后的文法。
17.根据权利要求15所述的装置,其特征在于,
所述语法树确定单元,还用于在存在多条规约路径时,则从得到的多个语法树中选择概率最大的语法树作为对应所述数学公式的语法树,所述语法树的概率为树中所有文法出现概率之积。
18.根据权利要求15所述的装置,其特征在于,所述装置还包括:
语义抽取模块,用于遍历对应所述数学公式的语法树,得到需要的语义信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610237548.7A CN107301164B (zh) | 2016-04-14 | 2016-04-14 | 数学公式的语义解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610237548.7A CN107301164B (zh) | 2016-04-14 | 2016-04-14 | 数学公式的语义解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107301164A true CN107301164A (zh) | 2017-10-27 |
CN107301164B CN107301164B (zh) | 2021-02-02 |
Family
ID=60137666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610237548.7A Active CN107301164B (zh) | 2016-04-14 | 2016-04-14 | 数学公式的语义解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107301164B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304383A (zh) * | 2018-01-29 | 2018-07-20 | 北京神州泰岳软件股份有限公司 | 业务文档的公式信息提取方法及装置 |
CN108304166A (zh) * | 2018-01-18 | 2018-07-20 | 北京航空航天大学 | 一种人工智能程序员根据公式描述书写源程序的方法 |
CN108806797A (zh) * | 2018-06-27 | 2018-11-13 | 思派(北京)网络科技有限公司 | 一种医疗数据的处理方法及系统 |
CN109492644A (zh) * | 2018-10-16 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 一种习题图像的匹配识别方法及终端设备 |
CN109614944A (zh) * | 2018-12-17 | 2019-04-12 | 科大讯飞股份有限公司 | 一种数学公式识别方法、装置、设备及可读存储介质 |
CN113836936A (zh) * | 2021-09-22 | 2021-12-24 | 珠海格力电器股份有限公司 | 语义解析方法、系统、装置、设备及存储介质 |
CN114611460A (zh) * | 2022-02-08 | 2022-06-10 | 阿里巴巴(中国)有限公司 | 数据处理方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007072718A (ja) * | 2005-09-06 | 2007-03-22 | Univ Of Tokyo | 手書き数式の認識装置及び認識方法 |
CN101329731A (zh) * | 2008-06-06 | 2008-12-24 | 南开大学 | 图像中数学公式的自动识别方法 |
CN101388068A (zh) * | 2007-09-12 | 2009-03-18 | 汉王科技股份有限公司 | 数学公式识别编码方法 |
JP2009080615A (ja) * | 2007-09-26 | 2009-04-16 | Univ Of Tokyo | オンライン手書き数式認識方法及び装置 |
US20150052098A1 (en) * | 2012-04-05 | 2015-02-19 | Thomson Licensing | Contextually propagating semantic knowledge over large datasets |
-
2016
- 2016-04-14 CN CN201610237548.7A patent/CN107301164B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007072718A (ja) * | 2005-09-06 | 2007-03-22 | Univ Of Tokyo | 手書き数式の認識装置及び認識方法 |
CN101388068A (zh) * | 2007-09-12 | 2009-03-18 | 汉王科技股份有限公司 | 数学公式识别编码方法 |
JP2009080615A (ja) * | 2007-09-26 | 2009-04-16 | Univ Of Tokyo | オンライン手書き数式認識方法及び装置 |
CN101329731A (zh) * | 2008-06-06 | 2008-12-24 | 南开大学 | 图像中数学公式的自动识别方法 |
US20150052098A1 (en) * | 2012-04-05 | 2015-02-19 | Thomson Licensing | Contextually propagating semantic knowledge over large datasets |
Non-Patent Citations (6)
Title |
---|
AKIO FUJIYOSHI: "Verification of Mathematical Formulae Based on a Combination of Context-Free Grammar and Tree Grammar", 《INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTER MATHEMATICS》 * |
FRANCISCO ALVARO: "Recognition of Printed Mathematical Expressions Using Two-dimensional Stochastic Context-Free Grammars", 《2011 INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION》 * |
MEHMET CELIK: "Probabilistic Mathematical Formula Recognition Using a 2D Context-Free Graph Grammar", 《2011 INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION》 * |
叶林沿: "基于依存关系树的复句句法特征自动选取", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
吴炳玮: "二维文法的研究及其在联机手写数学公式识别的应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
张燕: "基于二元组合文法的概率消歧模型设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304166A (zh) * | 2018-01-18 | 2018-07-20 | 北京航空航天大学 | 一种人工智能程序员根据公式描述书写源程序的方法 |
CN108304383A (zh) * | 2018-01-29 | 2018-07-20 | 北京神州泰岳软件股份有限公司 | 业务文档的公式信息提取方法及装置 |
CN108304383B (zh) * | 2018-01-29 | 2019-06-25 | 北京神州泰岳软件股份有限公司 | 业务文档的公式信息提取方法及装置 |
CN108806797A (zh) * | 2018-06-27 | 2018-11-13 | 思派(北京)网络科技有限公司 | 一种医疗数据的处理方法及系统 |
CN109492644A (zh) * | 2018-10-16 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 一种习题图像的匹配识别方法及终端设备 |
CN109614944A (zh) * | 2018-12-17 | 2019-04-12 | 科大讯飞股份有限公司 | 一种数学公式识别方法、装置、设备及可读存储介质 |
CN113836936A (zh) * | 2021-09-22 | 2021-12-24 | 珠海格力电器股份有限公司 | 语义解析方法、系统、装置、设备及存储介质 |
CN113836936B (zh) * | 2021-09-22 | 2023-10-13 | 珠海格力电器股份有限公司 | 语义解析方法、系统、装置、设备及存储介质 |
CN114611460A (zh) * | 2022-02-08 | 2022-06-10 | 阿里巴巴(中国)有限公司 | 数据处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107301164B (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107301164A (zh) | 数学公式的语义解析方法及装置 | |
CN107301163A (zh) | 包含公式的文本语义解析方法及装置 | |
CN110347894A (zh) | 基于爬虫的知识图谱处理方法、装置、计算机设备及存储介质 | |
CN110287494A (zh) | 一种基于深度学习bert算法的短文本相似匹配的方法 | |
CN111639171A (zh) | 一种知识图谱问答方法及装置 | |
CN108932508A (zh) | 一种题目智能识别、批改的方法和系统 | |
CN110337645A (zh) | 可适配的处理组件 | |
CN110825867B (zh) | 相似文本推荐方法、装置、电子设备和存储介质 | |
CN108052504B (zh) | 数学主观题解答结果的结构分析方法及系统 | |
CN112069295B (zh) | 相似题推荐方法、装置、电子设备和存储介质 | |
CN107679110A (zh) | 结合文本分类与图片属性提取完善知识图谱的方法及装置 | |
CN113886567A (zh) | 一种基于知识图谱的教学方法及系统 | |
CN108172050A (zh) | 数学主观题解答结果批改方法及系统 | |
CN111831789A (zh) | 一种基于多层语义特征提取结构的问答文本匹配方法 | |
Gross et al. | Example-based feedback provision using structured solution spaces | |
CN108121702A (zh) | 数学主观题评阅方法及系统 | |
CN110209832A (zh) | 上下位关系的判别方法、系统和计算机设备 | |
CN114580418B (zh) | 一种警察体能训练知识图谱系统 | |
CN109949637A (zh) | 一种客观题目的自动解答方法和装置 | |
CN111160606A (zh) | 试题难度预测方法及相关装置 | |
Agarwal et al. | Autoeval: A nlp approach for automatic test evaluation system | |
CN116108833A (zh) | 答题结论确定方法、装置、电子设备和存储介质 | |
CN109885288A (zh) | 一种按照学科语义网络以及相应语义规则自动化生成题目的系统 | |
CN110765241A (zh) | 推荐题的超纲检测方法、装置、电子设备和存储介质 | |
CN109346108A (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 |