文档可视结构的语法剖析的制作方法

文档序号:6568726阅读:213来源:国知局

专利名称::文档可视结构的语法剖析的制作方法文档可视结构的语法剖析站旦冃豕随着时间的推移,人们越来越依赖于计算机来帮助工作和休闲活动。然而,计算机在需要标识离散状态以使信息能被处理的数字域中操作。这与以截然不同的模拟方式工作的人类形成对比,在模拟方式中,发生的事情从不是全黑或全白的,而是介于灰色阴影之间。由此,数字和模拟之间的一个核心区别是数字要求在时间上不连续的离散状态(例如,不同等级),而模拟在时间上是连续的。由于人类自然地以模拟方式工作,因此计算技术已经进展以减轻因上述时间不连续而导致的与将人类与计算机接口(例如,数字计算接口)相关联的困难。技术首先集中于试图将现有的打字或排版信息输入到计算机中。最初使用扫描仪或光学成像仪来"数字化"图片(例如,输入图像到计算系统中)。一旦图像可被数字化到计算系统中,因此断定印刷或排版的材料也应能被数字化。然而,扫描页面的图像在其被带入计算系统后不能作为文本或符号来操纵,因为它没有被系统"识别",即系统不理解该页面。字符和单词是"图片"而非实际的可编辑文本或符号。为克服对文本的这一限制,开发了光学字符识别(OCR)技术,以利用扫描技术来将文本数字化为可编辑页面。如果利用允许OCR软件将扫描的图像转换成可编辑文本的特定文本字体,该技术能相当好地工作。尽管文本被计算系统"识别",但是该过程丢失了重要的附加信息。该信息包括诸如文本的格式、文本的间距、文本的方向以及通用页面布局等内容。由此,如果一页面是双栏的并且在右上角有一图片,则经OCR扫描的页面将变成文字处理程序中的一组文本而没有双栏和图片。或者,如果包括了图片,则它通常最终被嵌入在文本之间的某一随机点处。当利用不同的文档构造标准时这甚至更成问题。典型的OCR技术一般不能用于"转换"或正确地识别来自另一文档标准的结构。相反,所得的识别试图将所识别的部分限制或强制成其相关联的标准。当发生这一情况时,OCR过程通常将诸如问号等"未知"标记输入到识别的部分中、以指示它无法处理文档的这些组成部分。概述以下提供了该主题的简化概述以提供该主题的实施例的某些方面的基本理解。本概述并非该主题的广泛综述。它并不旨在标识各实施例的关键/决定性要素,也不旨在勾画本主题的范围。其唯一的目的是以简化的形式提出该主题的某些概念,作为以后提出的更详细描述的序言。提供了采用语法剖析来促进文档结构识别的系统和方法。利用文档的二维表示来提取帮助文档识别的分层结构。利用统计剖析算法的二维自适应来对文档的可视结构进行语法剖析。这允许识别布局结构(例如,栏、作者、标题、脚注等)等,使得文档的结构组成部分可被准确地解释。可采用其它技术来帮助文档布局识别。例如,可采用利用机器学习、基于图像表示的剖析评分、上推(boosting)技术、和/或"快速特征"等的语法剖析技术来促进文档识别。这提供了具有实质上提高的准确度的高效文档识别。为实现上述和相关目的,此处结合以下描述和附图描述了各实施例的说明性方面。然而,这些方面仅指示了可采用本主题的原理的各种方式中的几种,并且本主题旨在包括所有这样的方面及其等效方面。当结合附图考虑以下详细描述时,本主题的其它优点和新颖特征将变得显而易见。附图简述图1是根据一个实施例的一方面的文档视觉结构分析系统的框图。图2是根据一个实施例的一方面的文档视觉结构分析系统的另一框图。图3是根据一个实施例的一方面的文档视觉结构分析系统的又一框图。图4是根据一个实施例的一方面的来自UWIII数据库的示例页面的图示。图5是根据一个实施例的一方面的用于训练数学表达式识别器的示例等式的图示。图6是根据一个实施例的一方面的数学表达式的图示。图7是根据一个实施例的一方面的促进文档视觉结构分析的方法的流程图。图8是根据一个实施例的一方面的促进文档视觉结构分析的方法的另一流程图。图9示出了一个实施例可在其中运作的示例操作环境。图IO示出了一个实施例可在其中运作的另一示例操作环境。详细描述现在参考附图来描述本主题,在全部附图中,相同的参考标号指代相同的元素。在以下描述中,出于解释的目的,阐明了众多具体细节以提供对本主题的全面理解。然而,很明显,本主题在没有这些具体细节的情况下也可实施。在其它情况中,以框图形式示出了公知的结构和设备以便于描述各实施例。如本申请中所使用的,术语"组件"指的是计算机相关的实体,无论是硬件、硬件和软件的组合、软件还是执行中的软件。例如,组件可以是,但不限于,运行在处理器上的进程、处理器、对象、可执行码、执行线程、程序和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是计算机组件。一个或多个组件可驻留在进程和/或执行线程中,—并且组件可位于一个计算机上和/或分布在两个或多个计算机之间。"线程"是操作系统内核调度执行的进程内的实体。如本领域中公知的,每一线程具有相关联的"上下文",它是与线程的执行相关联的易失性数据。线程的上下文包括系统注册表的内容以及属于该线程的进程的虚拟地址。由此,构成线程的上下文的实际数据随着其执行而变化。提供了帮助通过利用视觉结构来识别文档的系统和方法。利用采用基于语法的技术的二维剖析机制来识别文档的固有分层结构(例如,文档—页4节4栏—段落等)。通过进一步利用采用语法剖析机制的机器学习过程,可显著提高识别文档的效率同时仍提供高准确度。还可利用图像评分技术来帮助提高剖析速度和效率。也可利用对文档的快速特征的选择以及用于剖析学习的上推技术来提高该系统和方法的生产力。利用语法剖析来处理计算机语言和自然语言。在计算机语言的情况下,语法是无歧义的,并且给定输入有且仅有一种有效剖析。在自然语言的情况下,语法是有歧义的并且给定输入序列有非常大量的潜在剖析。统计上的自然语言剖析中的期望是采用机器学习来产生一评分函数,该函数将最高得分分配给正确的剖析。在此处提供的系统和方法中,视觉结构布局被建模为语法,并且基于语法成本函数来执行对最优剖析的全局搜索。然后可利用机器学习来有辨别力地选择特征并设置语法剖析过程中的所有参数,从而适用于各种各样的视觉结构布局。在图1中,示出了根据一个实施例的一方面的文档视觉结构分析系统100的框图。文档视觉结构分析系统100包括接收输入104并提供输出106的文档视觉结构分析组件102。文档视觉结构分析组件102利用文档的视觉结构布局的非生成性语法模型以便于为该视觉结构布局确定一最优剖析树。输入104包括例如文档的页的视觉布局。文档视觉结构分析组件102利用一语法剖析过程来剖析输入104,该过程剖析文档的视觉结构来提供输出106。输出106可以包括例如文档视觉结构布局的最优剖析树。还可建立全局学习的"参考"语法来提供用于不同任务的剖析方案而无需另外的语法学习。参看图2,示出了根据一个实施例的一方面的文档视觉结构分析系统200的另一框图。文档视觉结构分析系统200包括接收视觉结构输入204并提供最优剖析树206的文档视觉结构分析组件202。文档视觉结构分析组件202利用文档视觉结构布局的有辨别力(discriminative)的语法模型。文档视觉结构分析组件202包括接收组件208和语法组件210。接收组件208接收视觉结构输入204,并将其204分程传递到语法组件210。在其它情况下,接收组件208的功能可被包括在语法组件210中,从而允许语法组件210直接接收视觉结构输入204。语法组件210还接收基本结构布局语法212。基本结构布'局语法212为文档布局提供初始视觉结构语法框架。语法组件210剖析视觉结构输入204来获得最优剖析树206。它210通过利用剖析文档的视觉结构的语法剖析过程来实现这一步。语法组件210采用一动态编程过程来确定全局最优剖析树。这防止最优剖析树206仅被局部地评估,从而产生改进的全局结果。转向图3,描绘了根据一个实施例的一方面的文档视觉结构分析系统300的又一框图。文档视觉结构分析系统300包括接收视觉结构输入304并提供最优剖析树306的文档视觉结构分析组件302。文档视觉结构分析组件302利用文档视觉结构布局的有辨别力的语法模型来进行剖析。文档视觉结构分析组件302包括接收组件308和语法组件310。语法组件310包括剖析组件312和文档结构提取组件314。剖析组件312包括具有语法成本函数318的视觉结构语法模型316。视觉结构输入304包括例如文档页的视觉布局。接收组件308接收视觉结构输入304,并将其304分程传送到剖析组件312。在其它情况中,接收组件308的功能可被包括在剖析组件312内,从而允许剖析组件312直接接收视觉结构输入304。剖析组件312最初基于视觉结构布局语法320剖析来自视觉结构输入304的文档视觉结构。剖析组件312与文档结构提取组件314交互以特别地有助于从视觉结构输入304中提取视觉结构信息。文档结构提取组件314利用复杂的局部和/或全局特征以便于剖析组件312剖析视觉结构输入304。它314可利用各种可任选机制来增强剖析组件312作出的视觉结构布局剖析,包括但不限于机器学习322、剖析上推324、快速特征326、图像评分328和/或其它330等。其它330表示帮助加速和/或增强剖析组件312的另外的效率和/或面向视觉的机制。例如,机器学习322可由文档结构提取组件314提供来帮助剖析组件312,以便于生成图表。它312然后将该图表转换成后续的一组加标签的示例,该组示例被分程传送到一分类过程。该分类过程利用该后续的一组加标签的示例以及机器学习来训练一组分类器。该分类过程然后确定肯定和否定示例之间的标识属性。标识属性允许分类器有助于将适当的成本分配给正确和/或不正确的剖析。剖析组件312然后在视觉结构语法模型316的语法成本函数318中利用该组分类器以便于对该后续的一组加标签的示例的子剖析评分。以此方式,该过程迭代地继续,直到获得了最优剖析树306(例如,无法获得更高的评分剖析树,或无法获得更低的成本剖析树)。类似地,剖析上推机制324可被提供给剖析组件312以便于更高效地学习正确的剖析。可提供一快速特征机制326,以通过计算文档特征的整合图像和/或利用整合图像的星座图(constellation)来计算剖析图像,从而增强剖析效率。图像评分机制328可通过为语法成本函数318提供经剖析的图像的得分来帮助剖析。这些机制32-330是可任选的,并且对于视觉结构输入304的剖析并不是必需的。当利用整合图像的星座图而非对文档的整页的单个整合图像时,为该页的每'一元素(例如,适当的字符、单词和/或行等)计算整合图像。可通过在特征计算中仅包括关键字符来集中注意力。此处的系统和方法也可利用文档特征的所计算的整合图像。例如,可利用诸如大的空白矩形、.边框的垂直对齐、和/或文本行的水平对齐等文档特征。由此,通过利用整合图像,有可能快速计算图像矩形内的白和/或黑像素的个数。对于一个图像计算整合图像是昂贵的,但是一旦计算了,可快速计算矩形的和。当给出可以在或不在一图像内的一组对象时,存在可从该图像呈现的指数数目的图像(幂集尸(AO)。呈现这些图像以及对每一呈现的图像计算矩形和是极其昂贵的。因此,取而代之的是对每一对象呈现整合图像,并将其表示为"整合图像星座图"。由此,对图像的任何子集的矩形的和是来自该星座图的矩形和的和。二维剖析尽管存在多个竞争的剖析算法,但是一个简单但通用的框架被称为"图表剖析"(见M.Kay的"Algorithmschemataanddatastructuresinsyntacticprocesing(句法处理中的算法模式和数据结构)",第35-70页,1986)。图表剖析试图填充图表中的条目C(A,R)。每一条目储存一非端点(terminal)A的最佳得分作为端点R的子序列的解释。任何非端点的成本可被表达为以下循环C(A,iJ-minC(B,ig+C(C,及2)十/(A—BC)(等式l)A—BC其中(BC)涉及对A的所有乘积,并且Ro是端点的子序列(表示为"区域"),R,和R2是不相交的但其并集为Ro的子序列(即,它们形成"分区")。本质上,该循环规定A的得分通过找出端点成为两个不相交集合的低成本分解来计算。每一乘积被分配表中的一成本(或损失或负对数概率)/(A—BC)。图表中的条目(有时被称为边)可用任何顺序来填充,或者从上到下或者从下到上。该剖析过程的复杂度起因于必须被填充的图表条目的数目以及填充每一条目所需的工作。在使用包括p个非端点的语法来剖析n个端点的线性序列的同时构造的图表具有0(pn^个条目(存在士^eO(iV2)个毗邻的子序列(i,j),使得0《/"且y〈iV)。由于填充每一条目所需的工作是O(N),因此总体复杂度是0(PN3)。不幸的是,剖析成端点的二维排列的图表的直接应用需要呈指数的时间。关键问题是端点不再具有线性顺序次序。返回到等式(1),区域Ro现在是一子集,并且I^和R2是不相交且其并集是Ro的子集(即,它们形成一分区)。可分析图表的大小一这是o(pip(n)),其中p(n)是n个端点的所有子集的集合。由于存在呈指数数量的子集,因此该算法是呈指数的。Hull介绍了一种几何准则,它在成本的几何分量太高的时候修剪搜索(参见J.F.Hull的"Recognitionofmathematicsusingatwo-dimensionaltrainablecontext-freegrammar"(使用二维可训练无上下文语法的数学识别),硕士论文,MIT,1996年6月)。Miller和Viola介绍了一种基于凸壳(convexhull)的试探,它拒绝违反chull(i,)ni2=0或chull(i2)n=0的区域R!、R2(参见E.G.Miller和P.A.Viola的"Ambiguityandconstraintinmethematicalexpressionrecognition"(数学表达式识别中的歧义和约束),ProceedingsoftheNationalConferenceofArtificialIntelligence(人工智能国家会议学报),人工智能美国协会,1998)。调用这些集合区域现在是适当的,因为每一集合位于页的凸区域内。值得注意的是,如果端点落在一条线上(且因此具有严格线性排序),则凸壳准则产生0(N、个区域,并且等效于常规剖析中使用的线性序列。通过利用凸壳约束以及其它几何约束,在剖析期间考虑的子集的集合可显著减少。这些约束组合以对大多数类型的打印文档产生近0(N^的复杂度。文档布局分析文档布局分析的一个目标是确定将扫描文档转换成用于诸如LaTeX和/或文字处理程序等文档准备程序的完全可编辑的输入文件所必需的信息。尽管扫描文件中的文本可使用OCR来容易地提取,但是该信息不足以产生可容易编辑的文件。诸如段落边界、栏、对齐等附加信息,以及更重要的阅读流程也是必需的。该文档结构信息也通常在可移植文档文件(PDF)和Postscript文件中缺失。不论是对于扫描、PDF和/或Postscript,添加文档结构信息都产生可被重新分页、重新格式化和/或编辑等的活(living)文档。由此,具有这样的能力极大地提高了文档的可用性。文档准备程序通常将打印的页划分成节。每一节具有某些栏,且每一栏具有某些段落。这一递归结构被表达为以下表1中的语法。对该结构的了解足以准确地从扫描文档中产生可编辑文件。_表l:可用于描述打印页面的示例语法_(页—段落列表)(段落列表—段落段落列表)(段落列表—段落)(段落■>行列表)(行~>行行列表)(行列表—行)(行—单词列表)(单词列表—单词单词列表)(单词列表~单词)(单词—端点)_使用UWIII文档图像数据库来进行了实验(参见I.Philips、S.Chen和R.Haralick的"Cd-romdocumentdatabasestandard(CD-rom文档数据库标准)",(第二次文档分析和识别国际会议学报),1993)。该数据库包含具有用于行、段落、区域和阅读顺序的基础事实(groundtruth)的扫描文档。在图4中,示出了来自UWIII数据库的示例页面400。对剖析算法的输入是行的边界框(例如,边界段落框402和边界行框404)。输出是成为节/栏/段落的分层分解。对于大多数文档,基础事实标签可被容易地转换成上述语法。使用包括来自研究论文、书籍和杂志的10页的一组60个文档来执行训练和评估。打印的数学解释在学术研究界中,几乎所有的新论文都是适用于PDF或Postscript的。尽管便于打印,但是这些格式不支持容易的重复使用或重新格式化。一个明显的示例是所包括的等式,它们不能被容易地提取、编辑或搜索。其它示例包括表格、脚注和文献目录等。用于科学发布的实际标准是LaTeX,这部分地是因为它提供了强大且高质量的数学布局。PDF和Postscript文档都不提供重构用于生成原始等式的LaTeX等式所需的信息。给定一组训练LaTeX文档,可使用一组LaTeX宏来"装备(instrument)"文档呈现过程。结果是一组经装备的设备无关(DVI)文件,它们可被处理以提供页面上的字符的边框以及相应的LaTeX表达式。这些宏被应用于可从ArXiv预打印服务器获得的一组LaTeX文件(见图5,用于训练数学表达式识别器的示例等式500)。在后处理之后,训练数据是表达式集合,每一表达式都是形式良好的端点句法树。这些树提供了直接归纳语法的机会,因为语法的产生式(production)直接可从输入树中观察(这一语法通常被称为"树一体(tree-bank)"语法)。所归纳的语法在以下表2中示出。注意,该语法的端点没有被包括在内,并且由非端点原始项(Rawltem)来引用。该组原始项是用于构建数学表达式的字符、数字和符号。语法的端点是连接黑色墨水的分量的原语。表2:用于数学表达式的语法(表达式~>行)(行—行项)(行—项)(项—子项)(项—分数项)(项—原始项)(项~>超项)(分数项—行分数项1)(分数项1—横杠行)(子项—超项行)(子项—原始项行)(超项4原始项行)_与对数学剖析的其它工作不同,并未假定端点在解释开始之前已被分段并识别。端点的识别是剖析过程的一个整合部分。每一符号类型具有相关联的描述端点产生式的语法规则。例如(原始项—等号)和(等号—CClCC2)规定了"等号"是由一对连接的分量组成的。与等号产生式相关联的成本函数必须获知以向看上去像的一对连接分量分配低成本。总体上设立这一问题在机械上是简单的。从示例LaTeX文件创建语法并且自动从较大的一组以下定义的一般有价值的特征中选择各特征。特征用于学习生产评分函数的特征一般对各种各样的任务是适用且有用的。已经证明一组几何边框特征对于测量组成部分的对齐是有价值的。第一种类型涉及集合Ro、R^和R2的边框。它们测量页面坐标中角的位置义,,i:以及框的尺寸『,//。存在被称为{/^(7)}的总共360个测量特征。第二组特征是组合的,并且涉及所有的边框测量特征对g(^(iJ,m/iJ),其中"和6是{0,1,2},并且函数g可以是相加、相减、相乘、相除、最小值或最大值。第三组特征测量包括在区域中的端点的边框的属性。这包括测量跨所有区域端点评估的某些测量特征的最小值、最大值、平均值、标准差和中值。另外,存在较大的一组被设计成基于视觉外观来区别区域的图案识别特征。这些特征在区域中的端点的所呈现的图像上操作。在图6中,示出了数学表达式602的图示600。在剖析期间,遇到表达式Z。604并且必须予以解释。示出了用作对生产评分过程的输入的四个呈现的图像606。当端点本身必须基于外观来识别时视觉特征是必需的。采用由Viola和Jones提出的矩形特征(参见P.Viola和M.Jones的"Rapidobjectdetectionusingaboostedcascadeofsimplefeatures"(使用简单特征的上推级联的快速对象检测),尸roceec/z力wo/AeCo",rewceonCompterF/5/onaw//^to72^cogmY/o"(计算机视觉和图案识别IEEE会议学报),2001)。它们在计算上是高效的,并且已证明对各种各样的任务都是有效的。每一输入图像由在位置和比例上均匀采样的121个单一矩形特征来表示。对于更难的图像识别任务使用更大的集合,但是这些集合被证明对这些任务已足够。在构造图像分类函数时几何归一化是一个关键问题。在这一情况下,选择归一化Ro的大小'和位置的参考帧。目标是使Ro填满视觉图像的80%。R,和R2的端点被呈现在该坐标帧中。这提供了具有包含关于&和R2的相对位置的信息的输入图像的图像特征。因此例如,如果R2是下标,则其呈现的分量的位置将朝向参考帧的底部。最后,来自整个文档的端点被呈现在RO的参考帧中,但是以小得多的比例来呈现。该图像编码了文档"上下文",并可用于执行某些类型的局部歧义消除。在剖析期间,每一潜在区域和子区域被编码为一组图像。当有许多区域时,涉及图像重新縮放的图像编码过程单纯地得到大量计算。为避免这一计算,使用Viola和Jones介绍的整合图像表示来以任何比例计算矩形滤波器而没有附加成本。示例使用上述特征执行两组实验。用于学习语法参数的总体过程在以下表3中描述。在每一轮学习中,使用了关于决策树桩(ondecisionstump)的AdaBoost。它提供了用于复杂度控制的非常简单的机制(早期停止)。它还提供了用于特征选择的机制,因为上推的每一轮都选择单个树桩,该树桩进而与单个特征相关联。表3:用于训练算法的伪代码0)对所有产生式将权重初始化为01)使用当前参数剖析一组训练示例2)对语法中的每一产生式2a)从所有图表收集所有示例来自真剖析的示例为真所有其它示例为假2b)在这些示例上训练分类器2c)更新产生式权重新权重是累积和_3)重复步骤l_由于训练的早几轮可能遇到不代表最终分布的示例,因此AdaBoost按增加复杂度的进度运行。上推的第一轮选择2个弱分类器。第二和第三轮分别选择4个和8个分类器。之后,在剖析的每一轮中选择8个分类器(因此有8个特征)。对剖析结果的评估是有几分艺术成分。由于没有一个系统是完美的,因此有价值的是定义量化最正确的剖析的质量的度量。一种方案是对每一类产生式测量查全率(recall)和精度。基础事实包含每一产生式的许多示例。每一产生式被正确标识的次数的百分比是查全率。所学习的语法对每一输入示例产生一剖析。这些产生式对应于正确的剖析的次数的百分比是精度。UWIII文档数据库包括在交叉确认(cross-validation)的三轮中拆分成80-20的57个文件(参见表4一平均表示跨所有产生式的平均性能。加权平均基于遇到的示例数来分配平均值中的权重)。尽管对训练集的执行几乎完美,但对测试集的执行只是良好而远非完美。特征表示中的较大的训练集和/或改变可改善一般化。对于文档和数学等式域两者,具有80个端点的典型输入在具有1GMRAM的1.7GHz奔腾4上花费约30秒来剖析。表4:UWIII文档结构提取任务的结果<table>tableseeoriginaldocumentpage15</column></row><table>该等式数据库包括180个表达式以及具有诸如义和3等51个不同数学符号的语法。结果在以下表5中示出。表5:数学表达式识别任务的结果<table>tableseeoriginaldocumentpage15</column></row><table>该系统和方法的实例提供了可学习来对打印文档的组成部分进行同时分段和识别的分析框架。该框架相当通用,因为剖析过程的所有参数都是使用训练示例的数据库来设置的。该框架的有效性和通用性已通过提出两种应用来证明页面布局结构提取和数学表达式识别。在第一种情况下,对该算法的输入是页面上行的集合,而输出是节、栏和段落结构。在第二种情况下,输入是页面上连接组成部分的集合,而输出是一组识别的数学符号和再现输入所必需LaTeX代码。尽管最终系统相当不同,但只需对学习和剖析过程的极少修改来产生准确的识别系统。鉴于以上示出并描述的示例性系统,参考图7和8的流程图将更好地理解可根据各实施例来实现的方法。尽管出于解释简明的目的,方法被示出并描述为一系列框,但是可以理解和明白,各实施例不受框的次序的限制,因为根据一个实施例,某些框可按不同的次序和/或与此处示出并描述的其它框同时发生。此外,并非所有示出的框都是实现根据各实施例的方法所必需的。各实施例可在诸如程序模块等由一个或多个组件执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可按各实施例的各实例种所需地组合或分布。在图7中,示出了根据一个实施例的一方面的帮助文档视觉结构分析的方法700的流程图。方法700通过接收与文档的视觉特征相关联的输入704而开始。然后向文档视觉结构的推断应用语法剖析过程706,从而结束流程708。语法剖析过程可包括但不限于,采用机器学习等来构造有助于语法成本函数的分类器的过程。机器学习可包括但不限于,诸如基于感知的技术等常规的机器学习技术。转向图8,示出了根据一个实施例的一方面的帮助文档视觉结构分析的方法800的另一流程图。方法800通过接收与文档的视觉结构相关联的输入804而开始。然后利用复杂局部和/或全局特征来从输入中提取文档的视觉结构806,从而结束流程808。可所利用各种可任选机制来扩充视觉结构提取,包括但不限于,机器学习、剖析上推、快速特征、和/或图像评分等。例如,机器学习可帮助剖析以便于生成图表。然后可将图表转换成被分程传送到分类过程的后续的一组加标签的示例。该分类过程可利用该后续的一组加标签的示例以及机器学习来训练一组分类器。该分类过程然后可确定在肯定和否定示例之间的标识属性。标识属性允许分类器帮助向正确和/或不正确的剖析分配正确的成本。类似地,可向剖析过程提供剖析上推以便于更高效地学习正确的剖析。可提供一快速特征过程来通过计算文档特征的整合图像和/或利用整合图像的星座图来计算剖析图像,以提高剖析效率。图像评分过程可通过为用于剖析的成本函数提供剖析的图像的得分来促进剖析。为了提供用于实现各实施例的各方面的附加上下文,图9及以下讨论旨在提供对其中可实现各实施例的各方面的合适的计算环境900的简要概括描述。尽管上文各实施例是在可运行在本地计算机和/或远程计算机上的计算机程序的计算机可执行指令的一般上下文中描述的,然而本领域的技术人员可以认识到,各实施例也可结合其它程序模块来实现。一般而言,程序模块包括执行特定的任务和/或实现特定的抽象数据类型的例程、程序、组件、数据结构等等。此外,本领域的技术人员可以理解,本发明的方法可以采用其它计算机系统配置来实施,'包括单处理器或多处理器计算机系统、小型机、大型计算机,以及个人计算机、手持式计算设备、基于微处理器和/或可编程消费电子产品等等,其每一个可以在操作上与一个或多个相关联的设备通信。所示的各实施例的各方面也可以在分布式计算环境中实施,其中,某些任务由通过通信网络链接的远程处理设备来执行。然而,各实施例的某些(如果不是全部)方面可在独立计算机上实施。在分布式计算环境中,程序模块可以位于本地和/或远程存储器存储设备中。如本申请中所使用的,术语"组件"意指计算机相关的实体,无论是硬件、硬件和软件的组合、软件还是执行中的软件。例如,组件可以是,但不限于,运行在处理器上的进程、处理器、对象、可执行码、执行的线程、程序和计算机。作为说明,运行在服务器上的应用程序和/或服务器都可以是组件。另外,组件可包括一个或多个子组件。参考图9,用于实现各实施例的各方面的示例性系统环境900包括常规计算机902,计算机卯2包括处理单元904、系统存储器906和将包括系统存储器的各种系统组件耦合至处理单元904的系统总线908。处理单元904可以是各种市场上可购买的处理器或专用处理器的任一种。另外,处理单元可被实现为由诸如可并联连接的一个以上处理器形成的多处理器。系统总线908可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线、以及使用诸如PCI、VESA、微通道、ISA和EISA等常规总线体系结构中的任一种的局部总线。系统存储器906包括只读存储器(ROM)910和随机存取存储器(RAM)912。基本输入/输出系统(BIOS)914包括如在启动时帮助在计算机902内的元件之间传输信息的基本例程,它被储存在ROM910中。计算机902还可包括例如硬盘驱动器916,磁软盘驱动器918(例如,对可移动磁盘920进行读写),以及光盘驱动器922(例如,对CD-ROM盘924或其它光学介质进行读写)。硬盘驱动器916、磁盘驱动器918和光盘驱动器922可以分别通过硬盘驱动器接口926、磁盘驱动器接口928和光驱接口930连接到系统总线908。驱动器916-922及其相关联的计算机可读介质为计算机902提供了对数据、数据结构、计算机可执行指令等的非易失性存储。尽管以上对计算机可读介质的描述涉及硬盘、可移动磁盘以及CD,然而本领域的技术人员应当理解,计算机可读的其它类型的介质,诸如磁带盒、闪存卡、数字视频盘、Bernoulli盒式磁带等,也可用于示例性操作环境900中,并且此外,任何这类介质可包含用于执行各实施例的方法的计算机可执行指令。多个程序模块可储存在驱动器916-922和RAM912中,包括操作系统932、一个或多个应用程序934、其它程序模块936和程序数据938。操作系统932可以是任何适当的操作系统或操作系统的组合。作为示例,应用程序934和程序模块936可包括根据一个实施例的一方面的识别方案。用户可通过一个或多个用户输入设备,诸如键盘940和定位设备(例如,鼠标942)将命令和信息输入到计算机902中。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、无线遥控器、扫描仪等等。这些和其它输入设备通常通过耦合到系统总线908的串行端口接口944连接到处理单元904,但也可通过其它接口连接,如并行端口、游戏端口或通用串行总线(USB)。监视器946或其它类型的显示设备也通过诸如视频适配器948等接口连接到系统总线908。除监视器946之外,计算机902可包括其它外围输出设备(未示出),诸如扬声器、打印机等等。可以理解,计算机902可以使用到一个或多个远程计算机960的逻辑连接在网络化环境中操作。远程计算机960可以是工作站、服务器计算机、路由器、对等设备或其它常见网络节点,并通常包括相对于计算机902所描述的许多或所有元件,尽管为简明性目的,图9中仅示出了存储器存储设备962。图9中所描绘的逻辑连接包括局域网(LAN)964和广域网(WAN)966。这些联网环境常见于办公室、企业范围计算机网络、内联网和因特网。当在LAN联网环境中使用时,例如,计算机902通过网络接口或适配器968连接到局域网964。当在WAN联网环境中使用时,计算机902通常包括调制解调器(例如,电话、DSL、电缆等)970,或连接到LAN上的通信服务器,或具有用于通过WAN966,如通过因特网建立通信的其它装置。调制解调器970可以对计算机902是内置或外置的,它通过串行端口接口944连接到系统总线908。在联网环境中,程序模块(包括应用程序934)和/或程序数据938可储存在远程存储器存储设备962中。可以理解,所示的网络连接是示例性的,并且当实现一个实施例的一方面时,可以使用在计算机902和960之间建立通信链路的其它手段(例如,有线或无线)。根据计算机编程领域的技术人员的实践,各实施例已经参考由诸如计算机902或远程计算机960等计算机执行的动作和操作的符号表示来描述,除非另外指明。这些动作和操作有时被称为计算机执行的。可以理解,动作和符号地表示的操作包括处理单元904对表示数据位的电信号的操纵,这导致电信号表示的所得的变换或精简,以及在存储器系统(包括系统存储器906、硬盘驱动器916、软盘920、CD-ROM924、以及远程存储器962)中的各存储器位置处对数据位的维护,由此重新配置或以其它方式更改了计算机系统的操作以及其它信号处理。维护这些数据位的存储器位置是具有对应于数据位的特定的电、磁或光属性的物理位置。图IO是各实施例可与其交互的示例计算环境1000的另一框图。系统1000还示出了包括一个或多个客户机1002的系统。客户机1002可以是硬件和/或软件(例如,线程、进程、计算设备)。系统100还包括一个或多个服务器1004。服务器1004也可以是硬件和/或软件(例如,线程、进程、计算设备)。客户机1002和服务器1004之间的一种可能的通信可以采用适用于在两个或多个计算机进程之间传输的数据分组的形式。系统1000包括可用于促进客户机1002和服务器1004之间的通信的通信框架1008。客户机1002连接到可用于储存对客户机1002本地的信息的一个或多个客户机数据存储1010。类似地,服务器1004连接到可用于储存对服务器1004本地的信息的一个或多个服务器数据存储1006。可以理解,各实施例的系统和/或方法同样可在帮助识别的计算机组件和非计算机相关组件中使用。此外,本领域的技术人员将认识到,各实施例的系统和/或方法可用于各种各样的电子相关技术,包括但不限于计算机、服务器和/或手持式电子设备等。以上描述的包括各实施例的示例。当然,不可能为了描述各实施例而描述组件或方法的每一可想像的组合,但是本领域的普通技术人员可以认识到,各实施例的许多进一步组合和置换都是可能的。因此,本主题旨在包含落入所附权利要求书的精神和范围之内的所有这些更改、修改和变型。此外,就在详细描述或权利要求书中使用术语"包括"而言,该术语旨在以类似于术语"包含"在用作权利要求书中的过渡词时所解释的方式是包含性的。权利要求1.一种帮助识别的系统,包括接收组件,它接收与文档的视觉结构相关联的输入;以及语法组件,它至少部分地采用所述文档的视觉结构的语法分层结构模型来帮助对所述输入进行语法剖析。2.如权利要求1所述的系统,其特征在于,所述语法组件还包括文档结构提取组件,它利用局部和/或全局特征来提取与所述文档相关联的布局结构。3.如权利要求2所述的系统,其特征在于,所述文档结构提取组件利用机器学习、图像评分、剖析学习上推、和/或快速特征来帮助提取所述文档布局结构。4.如权利要求1所述的系统,其特征在于,所述语法组件还包括剖析组件,它采用至少一个分类器来帮助从全局搜索中确定一最优剖析。5.如权利要求4所述的系统,其特征在于,所述剖析组件采用所述分类器来帮助确定语法成本函数。6.如权利要求5所述的系统,其特征在于,所述分类器包括经由常规的机器学习技术来训练的分类器。7.如权利要求6所述的系统,其特征在于,所述机器学习技术至少部分地包括基于感知器的技术。8.如权利要求1所述的系统,其特征在于,所述语法组件利用至少部分地基于有辨别力的语法模型的语法剖析过程。9.如权利要求1所述的系统,其特征在于,所述语法组件至少部分地釆用动态编程来确定所述结构化布局的最优剖析。10.—种帮助识别的方法,包括接收与文档的视觉结构相关联的输入;以及向所述文档视觉结构的推断应用一语法剖析过程。11.如权利要求10所述的方法,其特征在于,还包括至少部分地采用所述文档的视觉结构的语法分层结构模型来帮助对所述文档视觉结构输入进行语法剖析。12.如权利要求10所述的方法,其特征在于,所述语法剖析过程基于一有辨别力的语法模型。13.如权利要求IO所述的方法,其特征在于,还包括基于一语法成本函数来剖析所述输入;所述语法成本函数至少部分地经由帮助从全局搜索中确定最优剖析的机器学习技术来导出。14.如权利要求13所述的方法,其特征在于,还包括将至少一个剖析表示为图像;以及对所述图像评分来帮助所述语法成本函数确定所述最优剖析。15.如权利要求14所述的方法,其特征在于,还包括计算至少一个文档特征的整合图像和/或计算多个整合图像的至少一个星座图来帮助剖析所述输入。16.如权利要求13所述的方法,其特征在于,还包括利用AdaBoost来帮助剖析所述输入。17.—种帮助识别的系统,包括用于接收与文档的视觉结构相关联的输入的装置;以及用于至少部分地采用所述文档的视觉结构的语法模型来帮助对所述视觉结构输入进行语法剖析的装置。18.如权利要求17所述的系统,其特征在于,还包括-用于利用经由机器学习技术训练的至少一个分类器来剖析所述视觉结构输入的装置。19.一种采用如权利要求IO所述的方法的设备,包括选自由计算机、服务器'和手持式电子设备组成的组的至少一个。20.—种采用如权利要求1所述的系统来帮助导入和/或导出文档视觉结构的识别系统。全文摘要利用文档的二维表示来提取有助于文档识别的分层结构。利用统计剖析算法的二维自适应来对该视觉结构进行语法剖析。这允许识别布局结构(例如,栏、作者、标题、脚注等—)等,使得文档的结构组成部分能被准确地解释。还可采用其它技术来帮助文档布局识别。例如,可采用利用机器学习、基于图像表示的剖析评分、上推技术和/或“快速特征”等的语法剖析技术来帮助文档识别。文档编号G06K9/72GK101253514SQ200680031501公开日2008年8月27日申请日期2006年6月30日优先权日2005年7月1日发明者M·希尔曼,P·A·沃拉申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1