CN104067292A - 公式检测引擎 - Google Patents

公式检测引擎 Download PDF

Info

Publication number
CN104067292A
CN104067292A CN201280067895.XA CN201280067895A CN104067292A CN 104067292 A CN104067292 A CN 104067292A CN 201280067895 A CN201280067895 A CN 201280067895A CN 104067292 A CN104067292 A CN 104067292A
Authority
CN
China
Prior art keywords
formula
region
described formula
group
plain text
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
Application number
CN201280067895.XA
Other languages
English (en)
Other versions
CN104067292B (zh
Inventor
M·拉扎里维克
M·拉斯科维克
A·奥布尔简
V·佩特洛维克坦科维克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN104067292A publication Critical patent/CN104067292A/zh
Application granted granted Critical
Publication of CN104067292B publication Critical patent/CN104067292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/15Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Abstract

公式检测引擎及相关联的方法。公式检测引擎通过标识公式种子来定位固定格式文档部分中的公式。公式检测引擎创建并扩展公式种子周围的边界以限定公式区域。为了消除与周围普通文本的重叠,基于公式元素之间的垂直位置和水平间隔来将公式区域分成多个公式区域。在进行垂直排序后,合并水平重叠的公式区域以便将公式重构为可流动元素。

Description

公式检测引擎
背景技术
流格式文档和固定格式文档被广泛使用且具有不同的目的。流格式文档使用复杂逻辑格式化结构(如章节、段落、列以及表)来组织文档。结果,流格式文档提供了灵活性且易于修改,使得它们适用于涉及被频繁更新或受到显著编辑的文档的任务。相反,固定格式文档使用基本物理布局元素(如文本串、路径、以及图像)来组织文档以保留原始外观。固定格式文档提供一致且精确的格式布局,使得它们适用于涉及不被频繁或大量变更或其中需要统一性的文档的任务。这样的任务的示例包括文档归档、高质量再现、以及用于广告发布和打印的源文件。固定格式文档通常从流格式源文档中创建。固定格式文档还包括物理(即,纸质)文档的数字再现(例如,扫描和照片)。
在其中需要编辑固定格式文档但流格式源文档不可用的情况下,固定格式文档必须被转换成流格式文档。转换涉及解析该固定格式文档并将来自该固定格式文档的基本物理布局元素变换成在流格式文档中使用的更复杂的逻辑元素。面对复杂元素(诸如数学公式和表达式)的现有文档转换器采取被设计成以输出文档的可流动性为代价保留固定格式文档的布局(例如,文本框、行间距、字符间距和图像)的视觉保真度的基本技术。结果是需要用户执行大量手动重构来获得真正有用的流格式文档的受限流格式文档。本发明正是对于这些和其他考虑事项而做出的。
发明内容
提供以下发明内容以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
作为将固定格式文档转换成流格式文档的转换过程的一部分,公式检测引擎的一个实施例执行相关联的公式检测方法。公式检测引擎通过标识可能是数学公式的一部分的元素并基于这些元素的相对位置将这些元素分组成各个公式区域来创建初始公式区域。公式检测引擎通过标识经解析的元素中的公式种子来开始。公式种子是携带对作为公式的一部分的某种指示的文本元素,诸如用专用或几乎专用于显示数学表达式的字体来编写的文本串以及在数学公式中专用或几乎专用的数学运算符、符号或关键字。一旦标识出公式种子,公式检测引擎就限定检测到的每一个公式种子周围的公式区域(即,边界)并扩展边界以基于邻近度来对公式种子和其它元素进行分组。被公式区域的边界框包围的所有页面元素都被认为是捕捉到的元素。
接着,公式检测引擎通过基于垂直位置对覆盖普通文本的公式区域进行细分并基于水平间隔拆分公式区域来消除公式区域与周围普通文本(即,不是数学公式的一部分的文本元素)之间的重叠。公式检测引擎通过分析每一公式区域以确定该公式区域是否覆盖任何普通文本区域来开始。如果公式区域覆盖任何普通文本,则公式检测引擎通过基于垂直位置对捕捉到的元素进行分组来划分公式区域。在每一组捕捉到的元素周围创建新公式区域。公式检测引擎分析新公式区域的内容以寻找与普通文本的重叠,并且进一步划分仍旧包含普通文本的任何新公式区域。一旦划分出各个公式区域,则公式检测引擎根据捕捉到的元素之间的水平间隔来拆分每一个公式区域。
最后,公式检测引擎通过基于邻近度合并任何相邻公式区域来将数学公式重构为可流动元素。公式检测引擎使用关于相邻文本元素的位置的信息来防止合并出现在一页面上的不同行中的公式区域。水平重叠(即,至少部分地垂直对齐)且在所选垂直分隔距离内的公式区域被分组为合并候选。公式检测引擎根据公式区域之间的垂直分隔来对合并候选进行排序(例如,排列),并且在合并候选的两个公式区域尚未被合并且不在分开的行中的情况下用一新的公式区域来替换这两个公式区域。
一个或多个实施例的细节在附图和以下描述中阐明。通过阅读下面的具体实施例并参考相关联的附图,其他特征和优点将变得显而易见。要理解的是下面的具体实施例仅仅是说明性的,而不是对所要求保护的发明的限制。
附图简述
通过参考下面的具体实施方式、所附的权利要求书和附图,进一步的特征、各方面和益处将变得更好理解,其中各元素不会缩放以更清晰地示出细节,在若干视图中,相同的附图标记指示相同的元素,并且其中:
图1示出了包括公式检测引擎的系统;
图2是示出文档处理器的一个实施例的操作流程的框图;
图3是示出公式检测方法的一个实施例的流程图;
图4是示出在公式检测方法中使用的用于创建初始公式区域的过程的一个实施例的流程图;
图5A用图形示出了标识公式种子的示例性操作,其被应用于从固定格式文档中解析的包含出现在普通文本串内的若干数学公式和等式的所选数据部分;
图5B用图形示出了来自创建初始公式区域的过程的一个实施例的示例性操作;
图6是示出在公式检测方法中使用的用于消除公式区域和普通文本之间的重叠的过程的一个实施例的流程图;
图7A-D用图形示出了来自在公式检测方法的一个实例中使用的消除公式区域和普通文本之间的重叠的过程的一个实施例的所选示例性操作;
图8是示出在公式检测方法中使用的重构各个公式的过程的一个实施例的流程图;
图9A-B用图形示出了来自在公式检测方法中使用的重构各个公式的过程的一个实施例的所选示例性操作;
图10示出了执行公式检测引擎的实施例的示例性平板计算设备。
图11是适合于实施公式检测引擎的实施例的示例性计算设备的简化框图;
图12A示出了执行公式检测引擎的一个实施例的移动计算设备的一个实施例;
图12B是适合于实施公式检测引擎的实施例的示例性移动计算设备的简化框图;以及
图13是适合于实施公式检测引擎的实施例的示例性分布式计算系统的简化框图。
具体实施方式
本文描述了用于标识从固定格式文档中提取的数据中的数学公式和表达式公式检测引擎及相关联的方法并在附图中示出该公式检测引擎和相关联的方法。公式检测引擎通过标识公式种子来定位固定格式文档部分中的公式。公式检测引擎创建并扩展公式种子周围的边界以限定公式区域。为了消除与周围普通文本的重叠,基于捕捉到的元素之间的垂直位置和水平间隔来将公式区域分成多个公式区域。对所得公式区域进行垂直排序,并且合并水平重叠的公式区域以将公式重构为可流动元素。
图1示出了结合公式检测引擎100的系统的一个实施例。在所示实施例中,公式检测引擎100作为在计算设备104上执行的文档转换器102的一部分来操作。文档转换器102使用解析器110、文档处理器112以及串行化器114将固定格式文档106转换成流格式文档108。解析器110从固定格式文档106中读取和提取数据。从固定格式文档中提取的数据被写入可由文档处理器112和串行化器114访问的数据存储116。文档处理器112使用一个或多个检测和/或重构引擎(例如,本发明的公式检测引擎100)来分析该数据并将其转换成可流动元素。最后,串行化器114将可流动元素写成可流动文档格式(例如,文字处理格式)。
图2更详细地示出了文档处理器112的操作流程的一个实施例。文档处理器112包括可任选的光学字符识别(OCR)引擎202、布局分析引擎204以及语义分析引擎206。数据存储116中所包含的数据包括物理布局对象208和逻辑布局对象210。在一些实施例中,物理布局对象208和逻辑布局对象210被分层安排在各组的树状阵列(即,数据对象)中。在各实施例中,页面是物理布局对象208的顶层组,而章节是逻辑布局对象210的顶层组。从固定格式文档106中提取的数据一般被存储为由固定格式文档106中的包含页面来组织的物理布局对象208。基本物理布局对象包括文本串、图像和路径。文本串是页面内容流中的指定在显示固定格式文档时字符的绘制位置的文本元素。图像是储存在固定格式文档106中的光栅图像(即,图片)。路径描述了诸如用于构建矢量图的线、曲线(例如,三次贝塞尔曲线)以及文本轮廓等元素。逻辑数据对象包括诸如章节、段落、列和表格等的可流动元素。
处理开始的位置取决于被解析的固定格式文档106的类型。从流格式源文档直接创建的原生固定格式文档106a包含基本物理布局元素中的部分或全部。一般而言,数据是从原生固定格式文档中提取的。嵌入式数据结构由解析器提取并且可供文档转换器立即使用;但在某些情况下,应用次要的重新格式化或其它次要处理器以组织或标准化数据。作为对比,通过对物理文档进行数字成像(例如,扫描或拍照)而创建的基于图像的固定格式文档106b中的所有信息被存储作为不具有附加数据(即,没有文本串或路径)的一系列页面图像。在这种情况下,任选的光学字符识别引擎202分析每一页面图像并创建对应的物理布局对象。一旦物理布局对象208可用,布局分析引擎204就分析固定格式文档的布局。在布局分析完成之后,语义分析引擎206用从对物理布局对象和/或逻辑布局对象的分析中获得的语义信息来丰富逻辑布局对象。
图3是示出由公式检测引擎100执行的公式检测方法300的一个实施例的流程图。公式检测引擎100通过标识物理布局对象中的可能是数学公式的一部分的元素并基于这些元素的相对位置将这些元素分组成各个公式区域来创建302初始公式区域。接着,公式检测引擎100通过对覆盖普通文本的公式区域进行细分并基于水平间隔拆分公式区域来消除304公式区域与任何周围普通文本(即,不是数学公式的一部分的文本元素)之间的重叠。最后,公式检测引擎100通过基于邻近度合并任何相邻公式区域来将数学公式重构306为可流动元素。
图4是示出在公式检测方法300中使用的创建302初始公式区域的过程的一个实施例的流程图。公式检测引擎100通过标识402经解析的元素中的公式种子来开始。更一般而言,公式种子是携带对作为公式的一部分的某种指示的文本。为了标识公式种子,公式检测引擎100搜索以下各项中的一个或多个(不限于该一个或多个):用专用或几乎专用于显示数学表达式的字体来编写的文本串以及在数学公式中专用或几乎专用的数学运算符、符号或关键字。
例如,文字处理程序可表示具有诸如微软公司的Math等数学字体的公式,而文档准备系统(例如,LaTeX)可使用多个数学字体族,诸如Computer Modern数学字体。公式检测引擎100还考虑数学运算符、符号或关键字的存在以标识公式种子,因为某些文档处理器不将任何特殊数学字体用于数学。用于公式检测的数学运算符、符号或关键字的实例包括诸如“∑”等运算符和诸如“π”等符号以及诸如表示余弦函数的“cos”等关键字。一般而言,公式检测引擎100使用在普通语言中不具有含义的关键字(例如,“tan”)。在各实施例中,用于标识公式种子的字体包括但不限于以下字体中的部分或全部:Math、Computer Modern数学斜体(cmmi)、Computer Modern数学粗斜体(cmmib)、Computer Modern数学扩展(cmex)、Computer Modern数学符号(cmsy)、Computer Modern粗体数学符号(cmbsy)、American MathSociety附加数学符号-第一系列(masm)、American Math Society附加数学符号-第二系列(msbm)、积分或Computer Modern的扩展集合(esint)、MathTimeTeX数学斜体(mtmi)、MathTime TeX数学符号(mtsy)、MathTime TeX数学扩展(mtex)以及Roland Waldi的符号(wasy)。在一些实施例中,公式种子包括但不限于作为公式种子的以下各项中的部分或全部:范围在$2200-#22FF(数学运算符)、#27C0-$27EF(杂数学符号-A)、#2980-$29FF(杂数学符号-B)以及#2A00-#2AFF(补充数学运算符)内的Unicode字符或字符集。在各实施例中,公式种子包括但不限于以下文本关键字中的部分或全部:diet、sin、cos、tg、tan、ctg、ctan、sinh、cosh、tanh、ctanh、log、In、gcd、arcsin、arcos、arctan、sec、esc、max、min、inf、sup、lim、sgn、exp、mod以及var。
一旦标识出公式种子,公式检测引擎100就限定404检测到的每一个公式种子周围的公式区域(即,边界)。接着,公式检测引擎100扩展406公式种子周围的边界以创建初始公式区域。在一个实施例中,添加在公式种子附近的具有数学元素属性的所有页面元素直到没有这样的元素剩余。为了决定页面元素是否应被包括在公式区域中,公式检测引擎100查找将该页面元素标识为潜在数学公式元素的属性。在各实施例中,公式检测引擎100考虑各个属性,包括但不限于:从公式区域到页面元素的欧几里得距离、页面元素的文本字体、数学运算符、符号和/或数字字符(即,数字)在页面元素中的存在以及页面元素的尺寸(即,该页面元素是否比标准文本元素更高或更宽)。被公式区域的边界框包围的所有页面元素都被认为是捕捉到的元素。
图5A用图形示出了从固定格式文档解析的具有由公式检测引擎100标识的公式种子502a-d的示例的所选数据部分500。通过字体502a标识的公式种子用虚线矩形来包围,而通过数学运算符502b、符号502c和关键字502d标识的公式种子用实线圆形来包围。
图5B用图形示出了由边界框表示的由公式检测引擎100创建的初始公式区域504。在所示实施例中,结果是由矩形定界的包含一个或多个数学公式的公式区域。在数学公式充分地彼此分隔的情况下,每一公式区域都将捕捉到单个数学区域;然而,在多个数学公式接近的情况下,可能在单个公式区域中捕捉到不同的数学公式。此外,当在单个公式区域中捕捉到不止一个公式时,扩展的公式区域可能覆盖周围的普通文本。在所示实施例中,扩展的公式区域已捕捉到多个数学公式506并覆盖这些数学公式周围的普通文本508。
图6是示出在公式检测方法300中使用的消除304公式区域和普通文本之间的重叠的过程的一个实施例的流程图。公式检测引擎100通过分析600每一公式区域以确定该公式区域是否覆盖任何普通文本区域来开始。如果公式区域覆盖任何普通文本,则公式检测引擎100通过基于捕捉到的元素的垂直位置来对每一个捕捉到的元素进行分组602来继续。在每一组捕捉到的元素周围创建604新公式区域。公式检测引擎100分析新公式区域的内容以寻找与普通文本的重叠,并且进一步划分包含普通文本的任何新公式区域。在必要时迭代地分析、拆分和缩小每一新公式区域允许公式检测引擎100应对公式区域覆盖多个文本行的情况。一旦公式区域被垂直分组,公式检测引擎100就根据捕捉到的元素之间的水平间隔来拆分606每一个公式区域。
图7A-D用图形示出了在公式检测方法300中使用的应用于初始公式区域504的消除304公式区域和普通文本之间的重叠的子过程。图7A示出了由用于基于垂直位置对初始公式区域504中的捕捉到的元素进行分组的两个水平分界符700a、702a来划分的初始公式区域504。水平线700a、702a对应于普通文本行的高度。第一水平线700a对应于为包含数学公式的普通文本行定界的框的上边缘(即,边框)。第二水平线702a对应于为包含数学公式的普通文本行定界的框的下边缘。
分界符700a、702a将初始公式区域504分成对应于在该普通文本行之上、与该普通文本行同行以及在该普通文本行之下的上区域704a、中区域706a和下区域708a。如果主分界符700a、702a之一横穿捕捉到的元素,则公式检测引擎100在必要时在被横穿的捕捉到的元素的最高位置之上和最低位置之下建立辅上水平分界线710a和辅下水平分界线712a。本领域技术人员应认识到,如果主分界符700a、702a未横穿任何捕捉到的元素,则不需要建立辅分界符710a、712a。或者,辅分界符710a、712a可以与主分界符700a、702a共线。
只有那些完全位于由公式检测引擎100建立的最上面的分界线700a、710a之上的捕捉到元素才被置于对应于上区域704a的第一组中。在所示实施例中,只有符号“n”和“∞”落入第一组中。类似地,只有那些完全位于由公式检测引擎100建立的最下面的分界线702a、712a之下的捕捉到元素才被置于对应于下区域708a的第二组中。在所示实施例中,项“k=0”和“n=l”以及在这些项之下的行中的文本、等式和公式变成第二组的一部分。未落入第一组或第二组的所有捕捉到的元素被置于对应于中区域706a的第三组中。换言之,第三组包含完全位于主分界符700a、702a之间、被主分界符700a、702a中的一者或两者横穿或垂直覆盖被横穿的捕捉到的元素的捕捉到的元素。丢弃任何空组。
图7B示出了基于捕捉到的元素的垂直位置来在各组周围创建604新公式区域的操作。从初始公式区域504中创建最多三个新公式区域。公式检测引擎100可任选地将每一新公式区域的尺寸缩小至足以包围其中捕捉到的所有公式元素的合适程度。在所示实施例中,初始公式区域504已被细分成三个新公式区域714、716和718且初始公式区域500已被丢弃。对新公式区域714、716和718中的每一个进行重叠标识操作600。在所示实施例中,两个最上面的新公式区域714、716无需任何进一步的垂直划分。第三新公式区域718仍包含公式区域和普通文本之间的垂直重叠。因此,公式检测引擎100通过垂直位置操作602和新公式区域创建操作604来对第三新公式区域718重复分组。下分界线702b横穿求和运算符,且上分界线700b横穿平方根运算符和求和运算符两者。注意,在最高的被横穿的捕捉到的元素(即,平方根运算符)之上建立辅上分界符710b。如前,分界符700b、702b将公式区域718拆分成上区域704b、中区域706b和下区域708b。公式检测引擎100以上述方式对公式区域718中的捕捉到的元素进行重新分组。
图7C示出了重叠标识操作600、通过垂直位置分组操作602以及新公式区域创建操作604的迭代应用的最终结果。第三新公式区域718已被分成两个新公式区域724、726。第一公式区域724对应于公式区域718的上区域704b,而第二公式区域726对应于公式区域718的中区域706b。对应于公式区域718的中区域706b的空组已被丢弃。其余公式区域724、726中没有一个需要任何进一步的垂直分组。
图7D示出了基于捕捉到的元素之间的水平间隔来拆分606公式区域的操作。公式检测引擎100通过水平地扫描每一公式区域并确定一公式区域中的每一对连续捕捉到的元素之间的水平距离来开始。在一些实施例中,水平扫描方向对应于文档语言的阅读方向。在其他实施例中,水平扫描方向是从左到右或从右到左,而不管文档语言是什么。公式检测引擎100划分出隔开大于所选阈值距离的水平距离的两个连续捕捉到的元素之间的公式区域,以创建新公式区域。在各实施例中,连续捕捉到的元素之间的水平距离是根据空格确定的。图7D所示的虚线730指示水平分隔在何处超出所选阈值。在一些实施例中,使用单个阈值。在其他实施例中,阈值基于周围文本而变化。
图8是示出通过对公式框进行分组来重构306各个公式的子过程的一个实施例的流程图。公式检测引擎100通过定位800出现在每一公式区域的左侧和右侧的普通文本元素来开始。公式检测引擎100使用关于相邻文本元素的位置的信息来防止合并出现在一页面上的不同行中的公式区域。公式检测引擎100然后从可用公式区域中生成合并候选的集合。将水平重叠(即,至少部分地垂直对齐)且在所选垂直分隔距离内的公式区域分组802为合并候选。公式检测引擎根据公式区域之间的垂直距离来对合并候选进行排序(例如,排列)804。在一些实施例中,合并候选是按升序排列的。在其他实施例中,合并候选是按降序排列的。从始至终地对经排列的合并候选进行操作,公式检测引擎100在构成合并候选的两个公式区域尚未被合并成单个公式区域且它们的垂直距离不与单独行的垂直距离相关联的情况下用一新公式区域来替换这两个公式区域。在一些实施例中,公式区域是否处在页面上的同一行中是根据在每一公式区域的右侧和/或左侧的普通文本来确定的。如果在每一公式区域的右侧或左侧的普通文本是相同的,则公式区域被确定为位于页面上的同一行中。相反,在公式区域的右侧或左侧的普通文本不同表明公式区域位于页面上的不同行中。经合并的公式区域的边界由构成该合并候选的两个公式区域的最大范围来限定。换言之,新公式区域是通过从合并候选的上、下、左和右边界中选择最上面、最下面、最左边和最右边的边界来限定的。
图9A和9B用图形示出了来自应用于文本串500的重构306各个公式的子过程的所选操作。图9A示出了被分组成合并候选的所选公式区域。第一合并候选组900a包括公式区域914a、916a和924a。第二合并候选组900b包括公式区域914b、916b和924b。公式区域924a和924b并不是分别与公式区域926a和926b的合并候选,因为垂直分隔距离超出所选阈值。另外,公式区域926a和926b不分别与合并组900a和900b合并,因为在左侧和右侧的普通文本在它们之间是不同的(即,这些公式区域在页面上的不同行中)。图9B示出了最终解决方案,四个公式802a-d中的每一个都适当地彼此分隔并与周围的普通文本隔开。
如此处所使用的,术语“区域”、“边界”、“框”可互换使用。类似地,术语“分界线”和“分界符”可互换使用。本领域技术人员应认识到,本文描述的边界和分界符在公式检测方法期间无需被实际上可视地表示和/或显示。另外,边界和分界符不限于框或线。边界和分界符可采取其它形状(例如,曲线),而不背离本发明的范围和精神。此外,边界和分界符简单地使用坐标或其它参考系。指示形状的术语(例如,矩形、框、线和椭圆)不应被解释为是限制性的,而应被宽泛地当作在适当时涵盖任何合适的边界或分界符,除非本说明书明确指明其他情况。
本文描述的公式检测引擎及相关联的公式检测方法可用于标识出现在固定格式文档中的每一个不同的数学公式并将所标识的每一个数学公式转换成流格式元素。在各实施例中,公式检测引擎的输出在进行串行化之前由文档处理器内的附加格式化引擎来进行进一步处理。
尽管已在结合在计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述本发明,但本领域的技术人员将认识到,本发明也可结合其他程序模块实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。
本文描述的实施例和功能可通过多种计算系统来操作,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(如移动电话、上网本、图形输入板或平板型计算机、笔记本计算机、和膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、以及大型计算机。图10示出了执行公式检测引擎100的实施例的示例性平板计算设备1000。此外,本文所述的实施例和功能可在分布式系统上操作(如基于云的计算系统),其中应用功能、存储器、数据存储和检索、以及各种处理功能可在诸如因特网或内联网之类的分布式计算网络上彼此远程地操作。各种类型的用户界面和信息可经板载计算设备显示器或经与一个或多个计算设备相关联的远程显示单元被显示。例如,各种类型的用户界面和信息可在墙壁表面上被显示和交互,各种类型的用户界面和信息被投射在墙壁表面上。与可用于实施本发明的各实施例的许多计算系统的交互包括:键击输入、触摸屏输入、语音或其他音频输入、姿势输入(其中相关联的计算设备配备有用于捕捉和解释用于控制计算设备的功能的用户姿势的检测(如相机)功能)等。图11到13以及相关描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而,关于图11到13所示出和讨论的设备和系统是用于示例的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。
图11是示出可用来实施本发明的各实施例的计算设备1100的物理组件(即硬件)的框图。下面描述的计算设备组件可适用于上述的计算设备。在基本配置中,计算设备1100可包括至少一个处理单元1102和系统存储器1104。取决于计算设备的配置和类型,系统存储器1104可包括,但不限于,易失性存储器(例如,随机存取存储器)、非易失性存储器(例如,只读存储器)、闪存、或这些存储器的任何组合。系统存储器1104可包括操作系统1105和适于运行诸如公式检测引擎100、解析器110、文档转换器112以及串行化器114等软件应用1120的一个或多个程序模块1106。操作系统1105例如可适合于控制计算设备1100的操作。此外,本发明的各实施例可以结合图形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用程序或系统。该基本配置在图11中由虚线1108内的那些组件示出。计算设备1100可具有附加特征或功能。例如,计算设备1100还可包括附加数据存储设备(可移动和/或不可移动),诸如,例如磁盘、光盘或磁带。这些附加存储在图11中由可移动存储设备1109和不可移动存储设备1110示出。
如上所述,可在系统存储器1104中存储多个程序模块和数据文件。当在处理单元1102上执行时,诸如公式检测引擎100、解析器110、文档处理器112以及串行化器114等程序模块1106可以执行包括例如公式检测方法300的各阶段中的一个或多个阶段的过程。上述过程是一示例,且处理单元1102可执行其他过程。根据本发明的实施例可使用的其他程序模块可包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用等。
此外,本发明的各实施例可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。例如,可以通过片上系统(SOC)来实施本发明的各实施例,其中,可以将图11中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的关于公式检测引擎100、解析器110、文档处理器112以及串行化器114的功能可以通过在单个集成电路(芯片)上与计算设备1100的其它组件集成在一起的专用逻辑来操作。本发明的各实施例还可以使用能够执行诸如,例如,AND(与)、OR(或)和NOT(非)等逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施例可以在通用计算机或任何其他电路或系统中实现。
计算设备1100也可具有一个或多个输入设备1112,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括输出设备1114,如显示器、扬声器、打印机等等。上述设备是示例且可以使用其他设备。计算设备1100可包括允许与其他计算设备1118进行通信的一个或多个通信连接1116。合适的通信连接1116的示例包括但不限于RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行或串行端口、以及适用于与适用的计算机可读介质一起使用的其他连接。
例如,本发明的各实施方式可被实现为计算机进程(方法)、计算系统或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。
如此处所使用的术语计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器1104、可移动存储设备1109和不可移动存储设备1110都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算机设备1100访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备1100的一部分。
通信介质由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对信号中的信息进行编码的方式来设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
图12A和12B示出可用来实施本发明的各实施例的移动计算环境1200,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图12A,示出了用于实现各实施例的示例性移动计算设备1200。在一基本配置中,移动计算设备1200是具有输入元件和输出元件两者的手持式计算机。移动计算设备1200通常包括显示器1205以及允许用户将信息输入到移动计算设备1200中的一个或多个输入按钮1210。移动计算设备1200的显示器1205也可充当输入设备(如触摸屏显示器)。如果包括,则可任选的侧输入元件1215允许进一步的用户输入。侧输入元件1215可以是旋转开关、按钮、或任何其他类型的手动输入元件。在替代实施例中,移动计算设备1200可结合更多或更少的输入元件。例如,在某些实施例中,显示器1205可以不是触摸屏。在又一替代实施例中,移动计算设备1200是诸如蜂窝电话之类的便携式电话系统。移动计算设备1200还可包括可选的键区1235。可选的键区1235可以是物理键区或者在触摸屏显示器上生成的“软”键区。在各种实施例中,输出元件包括用于示出图形用户界面(GUI)的显示器1205、可视指示器1220(如发光二极管)、和/或音频换能器1225(如扬声器)。在某些实施例中,移动计算设备1200结合振动换能器来向用户提供触觉反馈。在又一实施例中,移动计算设备1200结合诸如音频输入(如传声器插孔)、音频输出(如耳机插孔)、以及视频输出(如HDMI端口)之类的输入和/或输出端口,用于将信号发送到外部设备或从外部设备接收信号。
图12B是示出移动计算设备的一个实施例的架构的框图。即,移动计算设备1200可结合系统(即架构)1202以实现某些实施例。在一个实施例中,系统1202被实现为能够运行一个或多个应用(如浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在某些实施例中,系统1202被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序1266可被加载到存储器1262中并在操作系统1264上或与操作系统1264相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息通信程序等等。系统1202还包括存储器1262内的非易失性存储区1268。非易失性存储区1268可被用于存储在系统1202断电时不会丢失的持久信息。应用程序1266可使用信息并将信息存储在非易失性存储区1268中,如电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也驻留于系统1202上且被编程为与驻留在主机计算机上的对应的同步应用交互,以保持非易失性存储区1268中存储的信息与主机计算机处存储的相应信息同步。如应理解的,其他应用可被加载到存储器1262中并在移动计算设备1200上运行,包括此处所述的公式检测引擎100、解析器110、文档处理器112以及串行化器114。
系统1202具有可被实现为一个或多个电池的电源1270。电源1270还可包括外部功率源,如补充电池或对电池充电的AC适配器或加电对接托架。
系统1202还可包括执行发射和接收无线电频率通信的功能的无线电1272。无线电1272通过通信运营商或服务供应商促进了系统1202与“外部世界”之间的无线连接性。来往无线电1272的传输是在操作系统1264的控制下进行的。换言之,无线电1272接收的通信可通过操作系统1264传播到应用程序1266,反之亦然。
无线电1272允许系统1202例如通过网络与其他计算设备通信。无线电1272是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制之类的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传送介质。术语“已调制数据信号”指其一个或多个特征以这样的方式设置或改变以便在信号中对信息进行编码的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。如此处所使用的术语计算机可读介质包括存储介质和通信介质两者。
系统1202的该实施例使用可用于提供可视通知的可视指示器1220和/或通过音频换能器1225来产生音频通知的音频接口1274来提供通知。在所示实施例中,可视指示器1220是发光二极管(LED),而音频换能器1225是扬声器。这些设备可直接耦合到电源1270,使得当被激活时,即使为了节省电池功率而可能关闭处理器1260和其他组件,它们也保留一段由通知机制指示的保持通电时间。LED可被编程为无限地保持通电,直到用户采取动作指示该设备的通电状态。音频接口1274用于向用户提供听觉信号并从用户接收听觉信号。例如,除了被耦合到音频换能器1225之外,音频接口1274还可被耦合到话筒来接收可听输入,例如便于电话通话。根据各本发明的各实施例,话筒也可充当音频传感器来便于对通知的控制,如下文将描述的。系统1202可进一步包括允许板载相机1230的操作来记录静止图像、视频流等的视频接口1276。
实现系统1200的移动计算设备1202可具有附加特征或功能。例如,移动计算设备1200还可包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。这种附加存储设备在图12B中用非易失性存储区1268示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
移动计算设备1200生成或捕捉的且经系统1202存储的数据/信息可如上所述本地存储在移动计算设备1200上,或数据可被存储在可由设备通过无线电1272或通过移动计算设备1200和与移动计算设备1200相关联的一分开的计算设备之间的有线连接访问的任何数量的存储介质上,该计算设备如例如因特网之类的分布式计算网络中的服务器计算机。如应理解的,此类数据/信息可经移动计算设备1200、经无线电1272或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以供存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。
图13示出了用于向一个或多个客户机设备提供公式检测引擎100、解析器110、文档处理器112以及串行化器114的系统的体系结构的一个实施例,如上所述。与公式检测引擎100、解析器110、文档处理器112以及串行化器114相关联地开发、交互或编辑的内容可被存储在不同地通信信道或其他存储类型中。例如,各种文档可使用目录服务1322、web门户1324、邮箱服务1326、即时消息收发存储1328或社交网站1330来存储。如本文所描述的,公式检测引擎100、解析器110、文档处理器112以及串行化器114可以使用这些类型的系统中的任一个来启用数据利用。服务器1320可以向客户机提供公式检测引擎100、解析器110、文档处理器112以及串行化器114。作为一个示例,服务器1320可以是通过web提供公式检测引擎100、解析器110、文档处理器112以及串行化器114的web服务器。服务器1320可以通过网络1315在web上向客户机提供公式检测引擎100、解析器110、文档处理器112以及串行化器114。作为示例,客户端计算设备1318可被实现为计算设备1100并被具体化在个人计算机1318a、平板计算设备1318b和/或移动计算设备1318c(如智能电话)中。客户机计算设备1318的这些实施例中的任一个可从存储1316获得内容。
以上参考例如根据本发明的各实施例的方法、系统和计算机程序产品的框图和/或操作图示描述了本发明的各实施例。框中所注明的各功能/动作可以按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
尽管已经描述了本发明的某些实施方式,但也可能存在其他实施方式。此外,虽然本发明的各实施方式被描述为与存储在存储器和其他存储介质中的数据相关联,但数据还可以被存储在或读取自其他类型的计算机可读介质,如辅助存储设备,像硬盘、软盘、或CD-ROM;来自因特网的载波;或其他形式的RAM或ROM。此外,所公开的方法的各阶段可以按任何方式进行修改,包括通过对阶段进行重新排序和/或插入或删除阶段,而不会背离本发明。
在各种实施例中,用于在构成本发明的计算设备之间进行通信的网络的类型包括但不限于互联网、内联网、广域网(WAN)、局域网(LAN)、以及虚拟专用网络(VPN)。在本申请中,网络包括企业网络和客户端计算设备用来访问企业网络的网络(即客户端网络)。在一个实施例中,客户端网络是企业网络的一部分。在另一实施例中,客户端网络是通过外部可用的接入点(如网关、远程访问协议、或公共或专用互联网地址)来访问企业网络的一分开的网络。
本申请中提供的一个或多个实施例的描述和说明不旨在以任何方式限制或约束如权利要求所要求保护的发明范围。本申请中提供的实施例、示例和细节被认为是足以传达所有权,且使得他人能够制作并使用所要求保护的发明的最佳模式。所要求保护的发明不应被理解为限制于本申请中所提供的任何实施例、示例或细节。不管是以组合的方式还是分开的方式示出和描述,各种特征(结构上的和方法逻辑上的)旨在被选择性地包括或忽略,以产生具有特定的特征集的实施例。在被提供本申请的描述和说明的情况下,本领域的技术人员能够想象到落在所要求保护的发明的更宽泛方面以及本申请中所具体化的一般发明概念的精神内的替代实施例并不背离该更宽泛的范围。
权利要求书(按照条约第19条的修改)
1.一种用于标识从固定格式文档中解析的数据中所包含的数学公式并允许将所述数学公式变换成流格式元素的公式检测方法,所述公式检测方法包括以下步骤:
标识指示从固定格式文档中解析的数据中的数学公式的公式种子,其中公式种子是携带对作为公式的一部分的某种指示的文本元素;
在所述公式种子周围创建公式区域;
扩展所述公式区域以包括靠近所述公式种子的公式元素,其中公式元素是可能是公式的一部分的页面元素;
基于所述捕捉到的元素相对于覆盖所述公式区域的普通文本行的垂直位置来将由所述公式区域捕捉到的所述公式元素置于各组中;
为每一个所述组创建新公式区域;
基于由所述公式区域捕捉到的每一个所述公式元素与相邻元素之间的水平分隔来拆分所述公式区域;
选择彼此至少部分地水平重叠的所述公式区域的集合;以及
合并出现在页面上的同一行中的所选择的所述公式区域。
2.如权利要求1所述的公式检测方法,其特征在于,所述标识公式种子的步骤包括标识用数学字体呈现的文本的步骤。
3.如权利要求1所述的公式检测方法,其特征在于,所述标识公式种子的步骤包括标识所选数学符号、所选数学运算符和所选数学关键字的步骤。
4.如权利要求1所述的公式检测方法,其特征在于,所述基于所述捕捉到的元素相对于覆盖所述公式区域的普通文本行的垂直位置来将由所述公式区域捕捉到的所述公式元素置于各组中的步骤进一步包括以下步骤:
将出现在所述公式元素旁边的普通文本行的上边框之上的所述公式元素置于第一组中;
将出现在所述公式元素旁边的普通文本行的下边框之下的所述公式元素置于第二组中;
将每一个剩余的所述公式元素置于第三组中。
5.如权利要求1所述的公式检测方法,其特征在于,所述基于所述捕捉到的元素相对于覆盖所述公式区域的普通文本行的垂直位置来将由所述公式区域捕捉到的所述公式元素置于各组中的步骤进一步包括以下步骤:
将出现在被普通文本行的上边框横穿的公式元素之上的所述公式元素置于第一组中;
将出现在被普通文本行的下边框横穿的公式元素之下的所述公式元素置于第二组中;以及
将每一个剩余的所述公式元素置于第三组中。
6.如权利要求1所述的公式检测方法,其特征在于,所述选择所述公式区域的集合的步骤进一步包括按照垂直位置对所选择的所述公式区域进行排序的步骤。
7.如权利要求6所述的公式检测方法,其特征在于,所述选择所述公式区域的集合的步骤进一步包括在两个连续排序的所述公式区域之间的垂直分隔距离未超出所选距离阈值时将所述公式区域置于共同的所述集合中的步骤。
8.如权利要求1所述的公式检测方法,其特征在于,所述基于由所述公式区域捕捉到的每一个所述公式元素与相邻元素之间的水平分隔来拆分每一个所述公式区域的步骤基于所选距离阈值。
9.如权利要求8所述的公式检测方法,其特征在于,所述所选距离阈值基于被评估的所述公式元素而变化。
10.如权利要求1所述的公式检测方法,其特征在于,所述合并出现在页面上的同一行中的所选择的所述公式区域的步骤进一步包括以下步骤:
标识出现在每一个所述公式区域旁边的普通文本;以及
当出现在所述两个公式区域旁边的普通文本是相同的时候,确定所述两个公式区域出现在页面上的同一行中。
11.一种用于检测出现在固定格式文档中的公式的系统,所述系统包括用于以下操作的公式检测引擎应用:
标识指示从固定格式文档中解析的数据中的数学公式的公式种子,其中公式种子是携带对作为公式的一部分的某种指示的文本元素;
在所述公式种子周围创建公式区域;
扩展所述公式区域以包括靠近所述公式种子的公式元素,其中公式元素是可能是公式的一部分的页面元素;
基于所述捕捉到的元素相对于覆盖所述公式区域的普通文本行的垂直位置来将由所述公式区域捕捉到的所述公式元素置于各组中;
为每一个所述组创建新公式区域;
基于由所述公式区域捕捉到的每一个所述公式元素与相邻元素之间的水平分隔来拆分所述公式区域;
选择彼此至少部分地水平重叠的所述公式区域的集合;以及
合并出现在页面上的同一行中的所选择的所述公式区域。
12.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于将用数学字体呈现的文本串标识为公式种子。
13.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于将所选数学符号、所选数学运算符和所选数学关键字标识为公式种子。
14.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于:
将出现在覆盖所述公式区域的普通文本行的上边框之上的所述公式元素置于第一组中;
将出现在覆盖所述公式区域的普通文本行的下边框之下的所述公式元素置于第二组中;
将每一个剩余的所述公式元素置于第三组中。
15.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于:
将出现在被普通文本行的上边框横穿的公式元素之上的所述公式元素置于第一组中;
将出现在被普通文本行的下边框横穿的公式元素之下的所述公式元素置于第二组中;
将每一个剩余的所述公式元素置于第三组中。
16.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于:
标识出现在每一个所述公式区域旁边的普通文本;以及
当出现在所述两个公式区域旁边的普通文本是相同的时候,确定所述两个公式区域出现在页面上的同一行中。
17.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令在由计算机执行时执行一种标识从固定格式文档中解析的数据中所包含的数学公式并允许将所述数学公式变换成流格式元素的方法,所述方法包括以下步骤:
标识指示从固定格式文档中解析的数据中的数学公式的公式种子,其中公式种子是携带对作为公式的一部分的某种指示的文本元素;
在所述公式种子周围创建公式区域;
扩展所述公式区域以包括靠近所述公式种子的公式元素,其中公式元素是可能是公式的一部分的页面元素;
将出现在被所述公式元素旁边的普通文本行的上边框横穿的公式元素之上的所述公式元素置于第一组中;
将出现在被所述公式元素旁边的普通文本行的下边框横穿的公式元素之下的所述公式元素置于第二组中;
将每一个剩余的所述公式元素置于第三组中;
为所述第一组、所述第二组和所述第三组中的每一组创建新公式区域;
基于由所述公式区域捕捉到的每一个所述公式元素与相邻元素之间的水平分隔来拆分所述公式区域;
选择彼此至少部分地水平重叠的所述公式区域的集合;
标识出现在每一个所述公式区域旁边的普通文本;
当出现在所述两个公式区域旁边的普通文本是相同的时候,确定所述两个公式区域出现在页面上的同一行中;以及
合并出现在页面上的同一行中的所选择的所述公式区域。
18.如权利要求17所述的计算机可读介质,其特征在于,所述标识公式种子的步骤包括标识用数学字体呈现的文本的步骤。
19.如权利要求17所述的计算机可读介质,其特征在于,所述标识公式种子的步骤包括标识所选数学符号、所选数学运算符和所选数学关键字的步骤。
20.如权利要求17所述的计算机可读介质,其特征在于,所述选择所述公式区域的集合的步骤进一步包括按照垂直位置对所选择的所述公式区域进行排序的步骤。
说明或声明(按照条约第19条的修改)
在此提交新权利要求1到20以替换原始提交的所有权利要求。
对于修改后的权利要求1,已经如说明书中所公开的那样引入术语“公式种子”和“公式元素”的含义,以克服WO-ISA的项VIII.1.1下引发的不清楚缺陷。
已修改方法步骤“置于”以解决项VIII.1.1和VIII.1.4下的缺陷。该方法步骤现在是“基于所述捕捉到的元素相对于覆盖所述公式区域的普通文本行的垂直位置来将由所述公式区域捕捉到的所述公式元素置于各组中”。
已将相应的修改引入独立权利要求11和17,已修改从属权利要求4、5和14以便与其引用的独立权利要求一致。
所提交的说明书中对所有修改的支持在所附信件中指明。

Claims (20)

1.一种用于标识从固定格式文档中解析的数据中所包含的数学公式并允许将所述数学公式变换成流格式元素的公式检测方法,所述公式检测方法包括以下步骤:
标识指示从固定格式文档中解析的数据中的数学公式的公式种子;
在所述公式种子周围创建公式区域;
扩展所述公式区域以包括靠近所述公式种子的公式元素;
基于相对于普通文本行的垂直位置来将由所述公式捕捉到的所述公式元素置于各组中;
为每一个所述组创建新公式区域;
基于由所述公式区域捕捉到的每一个所述公式元素与相邻元素之间的水平分隔来拆分所述公式区域;
选择彼此至少部分地水平重叠的所述公式区域的集合;以及
合并出现在页面上的同一行中的所选择的所述公式区域。
2.如权利要求1所述的公式检测方法,其特征在于,所述标识公式种子的步骤包括标识用数学字体呈现的文本的步骤。
3.如权利要求1所述的公式检测方法,其特征在于,所述标识公式种子的步骤包括标识所选数学符号、所选数学运算符和所选数学关键字的步骤。
4.如权利要求1所述的公式检测方法,其特征在于,所述基于相对于普通文本行的垂直位置来将由所述公式捕捉到的所述公式元素置于各组中的步骤进一步包括以下步骤:
将出现在所述公式元素旁边的普通文本行的上边框之上的所述公式元素置于第一组中;
将出现在所述公式元素旁边的普通文本行的下边框之下的所述公式元素置于第二组中;
将每一个剩余的所述公式元素置于第三组中。
5.如权利要求1所述的公式检测方法,其特征在于,所述基于相对于普通文本行的垂直位置来将由所述公式捕捉到的所述公式元素置于各组中的步骤进一步包括以下步骤:
将出现在被普通文本行的上边框横穿的公式元素之上的所述公式元素置于第一组中;
将出现在被普通文本行的下边框横穿的公式元素之下的所述公式元素置于第二组中;以及
将每一个剩余的所述公式元素置于第三组中。
6.如权利要求1所述的公式检测方法,其特征在于,所述选择所述公式区域的集合的步骤进一步包括按照垂直位置对所选择的所述公式区域进行排序的步骤。
7.如权利要求6所述的公式检测方法,其特征在于,所述选择所述公式区域的集合的步骤进一步包括在两个连续排序的所述公式区域之间的垂直分隔距离未超出所选距离阈值时将所述公式区域置于共同的所述集合中的步骤。
8.如权利要求1所述的公式检测方法,其特征在于,所述基于由所述公式区域捕捉到的每一个所述公式元素与相邻元素之间的水平分隔来拆分每一个所述公式区域的步骤基于所选距离阈值。
9.如权利要求8所述的公式检测方法,其特征在于,所述所选距离阈值基于被评估的所述公式元素而变化。
10.如权利要求1所述的公式检测方法,其特征在于,所述合并出现在页面上的同一行中的所选择的所述公式区域的步骤进一步包括以下步骤:
标识出现在每一个所述公式区域旁边的普通文本;以及
当出现在所述两个公式区域旁边的普通文本是相同的时候,确定所述两个公式区域出现在页面上的同一行中。
11.一种用于检测出现在固定格式文档中的公式的系统,所述系统包括用于以下操作的公式检测引擎应用:
标识指示从固定格式文档中解析的数据中的数学公式的公式种子;
在所述公式种子周围创建公式区域;
扩展所述公式区域以包括靠近所述公式种子的公式元素;
基于相对于普通文本行的垂直位置来将由所述公式捕捉到的所述公式元素置于各组中;
为每一个所述组创建新公式区域;
基于由所述公式区域捕捉到的每一个所述公式元素与相邻元素之间的水平分隔来拆分所述公式区域;
选择彼此至少部分地水平重叠的所述公式区域的集合;以及
合并出现在页面上的同一行中的所选择的所述公式区域。
12.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于将用数学字体呈现的文本串标识为公式种子。
13.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于将所选数学符号、所选数学运算符和所选数学关键字标识为公式种子。
14.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于:
将出现在普通文本行的上边框之上的所述公式元素置于第一组中;
将出现在普通文本行的下边框之下的所述公式元素置于第二组中;
将每一个剩余的所述公式元素置于第三组中。
15.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于:
将出现在被普通文本行的上边框横穿的公式元素之上的所述公式元素置于第一组中;
将出现在被普通文本行的下边框横穿的公式元素之下的所述公式元素置于第二组中;
将每一个剩余的所述公式元素置于第三组中。
16.如权利要求11所述的系统,其特征在于,所述公式检测引擎应用用于:
标识出现在每一个所述公式区域旁边的普通文本;以及
当出现在所述两个公式区域旁边的普通文本是相同的时候,确定所述两个公式区域出现在页面上的同一行中。
17.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令在由计算机执行时执行一种标识从固定格式文档中解析的数据中所包含的数学公式并允许将所述数学公式变换成流格式元素的方法,所述方法包括以下步骤:
标识指示从固定格式文档中解析的数据中的数学公式的公式种子;
在所述公式种子周围创建公式区域;
扩展所述公式区域以包括靠近所述公式种子的公式元素;
将出现在被所述公式元素旁边的普通文本行的上边框横穿的公式元素之上的所述公式元素置于第一组中;
将出现在被所述公式元素旁边的普通文本行的下边框横穿的公式元素之下的所述公式元素置于第二组中;
将每一个剩余的所述公式元素置于第三组中;
为所述第一组、所述第二组和所述第三组中的每一组创建新公式区域;
基于由所述公式区域捕捉到的每一个所述公式元素与相邻元素之间的水平分隔来拆分所述公式区域;
选择彼此至少部分地水平重叠的所述公式区域的集合;
标识出现在每一个所述公式区域旁边的普通文本;
当出现在所述两个公式区域旁边的普通文本是相同的时候,确定所述两个公式区域出现在页面上的同一行中;以及
合并出现在页面上的同一行中的所选择的所述公式区域。
18.如权利要求17所述的计算机可读介质,其特征在于,所述标识公式种子的步骤包括标识用数学字体呈现的文本的步骤。
19.如权利要求17所述的计算机可读介质,其特征在于,所述标识公式种子的步骤包括标识所选数学符号、所选数学运算符和所选数学关键字的步骤。
20.如权利要求17所述的计算机可读介质,其特征在于,所述选择所述公式区域的集合的步骤进一步包括按照垂直位置对所选择的所述公式区域进行排序的步骤。
CN201280067895.XA 2012-01-23 2012-01-23 公式检测引擎 Active CN104067292B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2012/000285 WO2013110285A1 (en) 2012-01-23 2012-01-23 Formula detection engine

Publications (2)

Publication Number Publication Date
CN104067292A true CN104067292A (zh) 2014-09-24
CN104067292B CN104067292B (zh) 2017-05-03

Family

ID=45768167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280067895.XA Active CN104067292B (zh) 2012-01-23 2012-01-23 公式检测引擎

Country Status (11)

Country Link
US (1) US9928225B2 (zh)
EP (1) EP2807603B1 (zh)
JP (1) JP5974115B2 (zh)
KR (1) KR101812380B1 (zh)
CN (1) CN104067292B (zh)
AU (1) AU2012367116B2 (zh)
BR (1) BR112014017832B1 (zh)
CA (1) CA2863522C (zh)
MX (1) MX2014008560A (zh)
RU (1) RU2585972C2 (zh)
WO (1) WO2013110285A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111103987A (zh) * 2018-10-29 2020-05-05 北京新唐思创教育科技有限公司 公式录入方法及计算机存储介质
CN116483943A (zh) * 2023-06-21 2023-07-25 山东网安安全技术有限公司 一种全文检索方法及其检索系统

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013110286A1 (en) * 2012-01-23 2013-08-01 Microsoft Corporation Paragraph property detection and style reconstruction engine
CA2863522C (en) 2012-01-23 2018-08-28 Microsoft Corporation Formula detection engine
WO2014005609A1 (en) 2012-07-06 2014-01-09 Microsoft Corporation Paragraph alignment detection and region-based section reconstruction
US20140115447A1 (en) * 2012-10-22 2014-04-24 Apple Inc. Centering Mathematical Objects in Documents
KR102061798B1 (ko) * 2012-12-20 2020-01-03 삼성전자주식회사 수식 연산 방법 및 그 전자 장치
US9330070B2 (en) 2013-03-11 2016-05-03 Microsoft Technology Licensing, Llc Detection and reconstruction of east asian layout features in a fixed format document
US9569418B2 (en) 2014-06-27 2017-02-14 International Busines Machines Corporation Stream-enabled spreadsheet as a circuit
US10007943B2 (en) * 2014-12-09 2018-06-26 Minted, Llc Vendor website GUI for marketing greeting cards and envelopes
CN104572577B (zh) * 2014-12-17 2018-09-04 百度在线网络技术(北京)有限公司 数学公式处理方法及装置
WO2017031716A1 (zh) * 2015-08-26 2017-03-02 北京云江科技有限公司 自然场景图像中手写体数学公式结构分析与识别方法
US10540424B2 (en) * 2017-06-13 2020-01-21 Microsoft Technology Licensing, Llc Evaluating documents with embedded mathematical expressions
US20190139280A1 (en) * 2017-11-06 2019-05-09 Microsoft Technology Licensing, Llc Augmented reality environment for tabular data in an image feed
US10482162B2 (en) * 2017-11-30 2019-11-19 International Business Machines Corporation Automatic equation transformation from text
US11106858B2 (en) * 2020-01-16 2021-08-31 Adobe Inc. Merging selected digital point text objects while maintaining visual appearance fidelity
US11244203B2 (en) * 2020-02-07 2022-02-08 International Business Machines Corporation Automated generation of structured training data from unstructured documents
KR102449336B1 (ko) * 2021-09-23 2022-09-30 (주)웅진씽크빅 Ocr을 이용한 학습 추천 장치 및 방법
US20230394221A1 (en) * 2022-06-06 2023-12-07 Microsoft Technology Licensing, Llc Converting a portable document format to a latex format

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020126905A1 (en) * 2001-03-07 2002-09-12 Kabushiki Kaisha Toshiba Mathematical expression recognizing device, mathematical expression recognizing method, character recognizing device and character recognizing method
JP2003256679A (ja) * 2002-02-27 2003-09-12 Tomiko Maruta ネット販売システム
CN101329731A (zh) * 2008-06-06 2008-12-24 南开大学 图像中数学公式的自动识别方法
US20110222771A1 (en) * 2010-03-11 2011-09-15 Microsoft Corporation Page layout determination of an image undergoing optical character recognition

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6257069A (ja) 1985-09-06 1987-03-12 Fujitsu Ltd 文字列抽出方式
US5212769A (en) 1989-02-23 1993-05-18 Pontech, Inc. Method and apparatus for encoding and decoding chinese characters
DE69428675T2 (de) 1993-12-30 2002-05-08 Xerox Corp Apparat und Verfahren zur Unterstützung einer impliziten Strukturation von Freiform-Listen, Übersichten, Texten, Tabellen und Diagrammen in einem auf Handzeichen basierenden Eingabesystem und Editiersystem
US6370269B1 (en) 1997-01-21 2002-04-09 International Business Machines Corporation Optical character recognition of handwritten or cursive text in multiple languages
JPH10224789A (ja) 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 画像データ処理装置および画像データ処理方法
JPH11259477A (ja) 1998-03-13 1999-09-24 Toshiba Corp 文書処理システムおよび記録媒体
US6081381A (en) 1998-10-26 2000-06-27 Polametrics, Inc. Apparatus and method for reducing spatial coherence and for improving uniformity of a light beam emitted from a coherent light source
US6757870B1 (en) * 2000-03-22 2004-06-29 Hewlett-Packard Development Company, L.P. Automatic table detection method and system
US6915484B1 (en) 2000-08-09 2005-07-05 Adobe Systems Incorporated Text reflow in a structured document
US20040205568A1 (en) * 2002-03-01 2004-10-14 Breuel Thomas M. Method and system for document image layout deconstruction and redisplay system
JP4181327B2 (ja) 2002-03-06 2008-11-12 株式会社東芝 数式認識装置および数式認識方法
AU2002952711A0 (en) 2002-11-18 2002-11-28 Typefi Systems Pty Ltd A method of formatting documents
JP4390523B2 (ja) 2002-11-22 2009-12-24 オセ−テクノロジーズ・ベー・ヴエー 最小領域による合成画像の分割
TWI273443B (en) 2003-12-09 2007-02-11 Hon Hai Prec Ind Co Ltd System and method for converting file's format
US20050183033A1 (en) 2004-02-18 2005-08-18 Yaniv Feinberg Apparatus and methods for displaying dialog box text messages including languages having different reading orders
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US20060001667A1 (en) 2004-07-02 2006-01-05 Brown University Mathematical sketching
US7447360B2 (en) 2004-09-22 2008-11-04 Microsoft Corporation Analyzing tabular structures in expression recognition
US7561737B2 (en) 2004-09-22 2009-07-14 Microsoft Corporation Mathematical expression recognition
JP4607633B2 (ja) 2005-03-17 2011-01-05 株式会社リコー 文字方向識別装置、画像形成装置、プログラム、記憶媒体および文字方向識別方法
EP1739574B1 (en) 2005-07-01 2007-09-12 PDFlib GmbH Method of identifying words in an electronic document
US8249344B2 (en) 2005-07-01 2012-08-21 Microsoft Corporation Grammatical parsing of document visual structures
GB2428114A (en) 2005-07-08 2007-01-17 William Alan Hollingsworth Data Format Conversion System
US20070079236A1 (en) 2005-10-04 2007-04-05 Microsoft Corporation Multi-form design with harmonic composition for dynamically aggregated documents
US7853869B2 (en) 2005-12-14 2010-12-14 Microsoft Corporation Creation of semantic objects for providing logical structure to markup language representations of documents
US8064696B2 (en) 2007-04-10 2011-11-22 Microsoft Corporation Geometric parsing of mathematical expressions
GB0717067D0 (en) 2007-09-03 2007-10-10 Ibm An Apparatus for preparing a display document for analysis
US8280892B2 (en) 2007-10-05 2012-10-02 Fujitsu Limited Selecting tags for a document by analyzing paragraphs of the document
US8121412B2 (en) * 2008-06-06 2012-02-21 Microsoft Corporation Recognition of tabular structures
US8285049B2 (en) * 2008-06-06 2012-10-09 Microsoft Corporation Corrections for recognizers
US8261186B2 (en) 2009-01-02 2012-09-04 Apple Inc. Methods for efficient cluster analysis
US8249356B1 (en) 2009-01-21 2012-08-21 Google Inc. Physical page layout analysis via tab-stop detection for optical character recognition
US8209600B1 (en) * 2009-05-26 2012-06-26 Adobe Systems Incorporated Method and apparatus for generating layout-preserved text
US8271873B2 (en) 2009-10-30 2012-09-18 International Business Machines Corporation Automatically detecting layout of bidirectional (BIDI) text
US8922582B2 (en) 2009-11-16 2014-12-30 Martin J. Murrett Text rendering and display using composite bitmap images
WO2012012911A1 (en) * 2010-07-28 2012-02-02 Hewlett-Packard Development Company, L.P. Producing web page content
US8340425B2 (en) * 2010-08-10 2012-12-25 Xerox Corporation Optical character recognition with two-pass zoning
CN102375988B (zh) 2010-08-17 2013-12-25 富士通株式会社 文件图像处理方法和设备
JP5193263B2 (ja) 2010-10-21 2013-05-08 シャープ株式会社 文書生成装置、文書生成方法、コンピュータプログラムおよび記録媒体
US9710435B2 (en) 2010-10-29 2017-07-18 P. Karl Halton Object-field-based mathematics system
US8543911B2 (en) 2011-01-18 2013-09-24 Apple Inc. Ordering document content based on reading flow
US20120185788A1 (en) 2011-01-19 2012-07-19 Microsoft Corporation User interface with vertical text elements for an east-asian defined layout
US8910039B2 (en) * 2011-09-09 2014-12-09 Accenture Global Services Limited File format conversion by automatically converting to an intermediate form for manual editing in a multi-column graphical user interface
CN102411707A (zh) 2011-10-31 2012-04-11 世纪龙信息网络有限责任公司 一种图片中文本的识别方法及识别装置
US9098471B2 (en) 2011-12-29 2015-08-04 Chegg, Inc. Document content reconstruction
EP2807604A1 (en) 2012-01-23 2014-12-03 Microsoft Corporation Vector graphics classification engine
CA2863522C (en) 2012-01-23 2018-08-28 Microsoft Corporation Formula detection engine
US8559718B1 (en) 2012-04-27 2013-10-15 Abbyy Development Llc Defining a layout of text lines of CJK and non-CJK characters
US9471550B2 (en) 2012-10-16 2016-10-18 Linkedin Corporation Method and apparatus for document conversion with font metrics adjustment for format compatibility
US9460089B1 (en) 2012-11-07 2016-10-04 Amazon Technologies, Inc. Flow rendering of annotation characters
US9330070B2 (en) 2013-03-11 2016-05-03 Microsoft Technology Licensing, Llc Detection and reconstruction of east asian layout features in a fixed format document
US20140258852A1 (en) 2013-03-11 2014-09-11 Microsoft Corporation Detection and Reconstruction of Right-to-Left Text Direction, Ligatures and Diacritics in a Fixed Format Document

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020126905A1 (en) * 2001-03-07 2002-09-12 Kabushiki Kaisha Toshiba Mathematical expression recognizing device, mathematical expression recognizing method, character recognizing device and character recognizing method
JP2003256679A (ja) * 2002-02-27 2003-09-12 Tomiko Maruta ネット販売システム
CN101329731A (zh) * 2008-06-06 2008-12-24 南开大学 图像中数学公式的自动识别方法
US20110222771A1 (en) * 2010-03-11 2011-09-15 Microsoft Corporation Page layout determination of an image undergoing optical character recognition

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郝保水等: "数学公式检索与匹配技术研究", 《大众科技 》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111103987A (zh) * 2018-10-29 2020-05-05 北京新唐思创教育科技有限公司 公式录入方法及计算机存储介质
CN111103987B (zh) * 2018-10-29 2021-06-04 北京新唐思创教育科技有限公司 公式录入方法及计算机存储介质
CN116483943A (zh) * 2023-06-21 2023-07-25 山东网安安全技术有限公司 一种全文检索方法及其检索系统

Also Published As

Publication number Publication date
WO2013110285A1 (en) 2013-08-01
BR112014017832A2 (pt) 2017-06-20
RU2014130243A (ru) 2016-02-10
JP5974115B2 (ja) 2016-08-23
EP2807603B1 (en) 2020-03-18
CN104067292B (zh) 2017-05-03
BR112014017832B1 (pt) 2021-07-06
AU2012367116B2 (en) 2017-10-19
MX2014008560A (es) 2014-09-26
KR20140116428A (ko) 2014-10-02
RU2585972C2 (ru) 2016-06-10
EP2807603A1 (en) 2014-12-03
US9928225B2 (en) 2018-03-27
CA2863522A1 (en) 2013-08-01
KR101812380B1 (ko) 2017-12-26
CA2863522C (en) 2018-08-28
US20130205200A1 (en) 2013-08-08
BR112014017832A8 (pt) 2021-03-02
AU2012367116A1 (en) 2014-08-07
JP2015505113A (ja) 2015-02-16

Similar Documents

Publication Publication Date Title
CN104067292A (zh) 公式检测引擎
US11354490B1 (en) Systems, methods, and computer readable media for creating slide presentations
CN104221033A (zh) 固定格式文档转换引擎
CN104094282A (zh) 无边框表格检测引擎
CN104067293B (zh) 矢量图分类引擎
CN105247509A (zh) 检测并重构固定格式文档中的东亚布局特征
CN104094278A (zh) 模式匹配引擎
CN105144147A (zh) 检测并重构固定格式文档中的从右到左文本方向、连字和变音符号
JP2010108208A (ja) 文書処理装置
US8023735B2 (en) Image processing apparatus for extracting representative characteristic from image data and storing image data to be associated with representative characteristic
CN112464907A (zh) 一种文档处理系统及方法
Madan et al. Parsing and summarizing infographics with synthetically trained icon detection
Srividhya et al. Deep Learning based Telugu Video Text Detection using Video Coding Over Digital Transmission
KR102572130B1 (ko) 문서 이미지에서 문서 양식을 추출하는 방법 및 시스템
KR102591757B1 (ko) 디지털 참고서를 생산하기 위한 PDF 파일을 Semantic HTML 형태로 변환하기 위한 방법 및 장치
Godase et al. Text Finder Application for Android
JP2023523764A (ja) デジタル記録を管理するシステムおよび方法
JP2020135341A (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant