正在加载图片...
第5期 史广顺,等:数学公式图像的结构理解与重现 ·405· 2)从LOS中提取第1个操作符,定义为A; 特殊的编译器将其转换为可直接运行的计算代码, 3)在知识库中查询A的语法规则: 将在后续的论文中描述这种方法 4)若A有多个语法属性,则结合版面信息判 定,得到A的惟一语法属性; 3语法规则对结果的校验 5)若A具有组合规则,则根据作用域,将所有 3.1识别结果校验 附属于A的字符合并,形成以A为核心运算符的子 在数学公式的符号识别结果中可能包含识别错 表达式;否则,跳至7); 误,利用语法规则中的约束条件,可以发现并消除部 6)将被组合的操作符从HLOS中删除,子表达 分识别错误,本文设计了以下几类容错处理: 式作为新的操作数; 1)字母和数字的拼写检查:‘0'和‘o’,‘1'和 7)在LOS中提取下一个操作符,跳至3), ‘1'非常容易混淆.但是如果出现‘c0s’,则根据函数 经过以上处理步骤,在OS中留下的操作符 名拼写规则应将其改为‘c0s';在数字串中如果出现 就是第1层次的核心操作符,可根据它们进一步建 字母,也可以将其改为形式相似的数字.图9(a). 立数学公式的句法结构框架 公式原形:cosx 24句法结构树的生成 函数名合并 得到核心操作符集(Coe-L0S)之后,首先,利 识别结果:)=C0sx Jy=Co图x 用知识库中的句法规则,对第1层次核心操作符进 语法规则对字符识 上下标语法规则匹 行优先级比较、公式结构拆分、子表达式拆解等句法 别结果进行校验 配不一致!错误! 结构分析,得到当前层次的句法树;然后,提取公式 校险结果:一C0s 的下一层次字符,重复算法1,直到生成一棵完整的 公式结构树 (a)利州语法规则纠正字符识别错误 图8完整描述了图7中公式的结构分析过程, 处理结果被保存在结构树之中 公式原形:∑a+b) Σ子表达式树结构 层次核心运算符集 法结构树 分析结果:∑a+b) n 语法规则对公式 结构进行校验 上下标语法规则匹 配不一致!错误! 校验结果:∑(a+b) 1 (b)语法规则对子表达式树结构的校验 sin.d 图9语法规则的验证功能 Fig 9 Grammar ambiguity elm inate ⑧ In,X 2)约束条件的错误修正.对定界符‘('和‘)' 包回 而言,识别结果可能是‘['或‘]’,根据符号的组合 规则与约束条件,可以利用上下文信息进行可信度 图8句法结构分析过程示例 验证,从而修正其识别错误 Fig 8 Sample of syntactic analysis 32语法消歧 在数学公式中存在很多有歧义的运算符,消除 25结构重现与格式转换 歧义是分析数学公式结构的重要技术.本文设计的 在获得如图8所示的数学公式结构树之后,可 语法规则中包含一项约束条件,其用途就是消除运 以非常容易的将其转换为Latex格式或MaML格 算符的语法歧义 式 约束条件包含以下几项内容: 本文方法不仅可以实现版面结构的重现,同时 1)运算数的个数与位置.如123节中图4所 可以快速的将数学公式结构导入到各种编辑器之 示,以“+为例,当其左右两侧均出现运算数或其 中,结构树中蕴涵的语法信息和句法信息均可通过 他子表达式时,说明它是四则运算符.当只有其右侧 1994-2009 China Academie Journal Electronic Publishing House.All rights reserved.http://www.cnki.net2)从 FLOS中提取第 1个操作符 ,定义为 A; 3)在知识库中查询 A的语法规则 ; 4)若 A 有多个语法属性 ,则结合版面信息判 定 ,得到 A的惟一语法属性 ; 5)若 A 具有组合规则 ,则根据作用域 ,将所有 附属于 A的字符合并 ,形成以 A 为核心运算符的子 表达式 ;否则 ,跳至 7) ; 6)将被组合的操作符从 FLOS中删除 ,子表达 式作为新的操作数 ; 7)在 FLOS中提取下一个操作符 ,跳至 3). 经过以上处理步骤 ,在 FLOS中留下的操作符 就是第 1层次的核心操作符 ,可根据它们进一步建 立数学公式的句法结构框架. 2. 4 句法结构树的生成 得到核心操作符集 (Core2FLOS)之后 ,首先 ,利 用知识库中的句法规则 ,对第 1层次核心操作符进 行优先级比较、公式结构拆分、子表达式拆解等句法 结构分析 ,得到当前层次的句法树 ;然后 ,提取公式 的下一层次字符 ,重复算法 1,直到生成一棵完整的 公式结构树. 图 8完整描述了图 7中公式的结构分析过程 , 处理结果被保存在结构树之中. 图 8 句法结构分析过程示例 Fig. 8 Samp le of syntactic analysis 2. 5 结构重现与格式转换 在获得如图 8所示的数学公式结构树之后 ,可 以非常容易的将其转换为 Latex格式或 MathML格 式. 本文方法不仅可以实现版面结构的重现 ,同时 可以快速的将数学公式结构导入到各种编辑器之 中 ,结构树中蕴涵的语法信息和句法信息均可通过 特殊的编译器将其转换为可直接运行的计算代码. 将在后续的论文中描述这种方法. 3 语法规则对结果的校验 3. 1 识别结果校验 在数学公式的符号识别结果中可能包含识别错 误 ,利用语法规则中的约束条件 ,可以发现并消除部 分识别错误 ,本文设计了以下几类容错处理 : 1)字母和数字的拼写检查 :‘0’和‘o’,‘1’和 ‘l’非常容易混淆. 但是如果出现‘c0 s’,则根据函数 名拼写规则应将其改为‘cos’;在数字串中如果出现 字母 ,也可以将其改为形式相似的数字. 图 9 ( a). 图 9 语法规则的验证功能 Fig. 9 Grammar ambiguity elim inate 2)约束条件的错误修正. 对定界符‘( ’和‘) ’ 而言 ,识别结果可能是‘[ ’或‘]’,根据符号的组合 规则与约束条件 ,可以利用上下文信息进行可信度 验证 ,从而修正其识别错误. 3. 2 语法消歧 在数学公式中存在很多有歧义的运算符 ,消除 歧义是分析数学公式结构的重要技术. 本文设计的 语法规则中包含一项约束条件 ,其用途就是消除运 算符的语法歧义. 约束条件包含以下几项内容 : 1)运算数的个数与位置. 如 1. 2. 3节中图 4所 示 ,以“ + ”为例 ,当其左右两侧均出现运算数或其 他子表达式时 ,说明它是四则运算符. 当只有其右侧 第 5期 史广顺 ,等 :数学公式图像的结构理解与重现 ·405·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有