CN105190596B - 自动组成评估器 - Google Patents

自动组成评估器 Download PDF

Info

Publication number
CN105190596B
CN105190596B CN201380058371.9A CN201380058371A CN105190596B CN 105190596 B CN105190596 B CN 105190596B CN 201380058371 A CN201380058371 A CN 201380058371A CN 105190596 B CN105190596 B CN 105190596B
Authority
CN
China
Prior art keywords
parameters
text
file
threshold condition
document
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.)
Active
Application number
CN201380058371.9A
Other languages
English (en)
Other versions
CN105190596A (zh
Inventor
杰弗里·费希尔
戴维·保罗·利维
约翰·萨利文
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN105190596A publication Critical patent/CN105190596A/zh
Application granted granted Critical
Publication of CN105190596B publication Critical patent/CN105190596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

在此提供了用于对表示一个有待评估的文档的一个第一文件的组成进行评估的系统和方法。一种评估方法将该第一文件转换成一个第二文件。该第二文件包括与该第一文件的该组成相对应的多个对象。该评估方法还基于该多个对象确定多个参数;基于一个规则引擎提供的多个组成规则评估这些参数;生成多个评估结果并存储这些评估结果;以及基于这些评估结果生成一个评估结论。该评估结论根据这些组成规则指示文档的符合性。

Description

自动组成评估器
说明书
相关申请的交叉引用
本申请要求在美国专利和商标局于2012年9月7日提交的并且标题为“自动组成评估(AUTOMATED COMPOSITION EVALUATION)”的美国临时申请号61/698,437的优先权权益,该申请通过引用以其全部内容结合于此。
领域
本申请的主题总体上涉及用于自动组成评估的系统、方法和计算机软件;具体地用于评估一个或多个文档的组成是否符合预先确定的格式。
背景
文档(如科技文档)可以包括如文本、表格、数学方程和图形等内容对象。经常令人期望的是,以使得文档具有可以能够使文档的操作方便的标准格式的方式编排这各种内容对象。例如,通过以标准格式编排科技文档,这些文档的某些操作(如阅读、编辑、搜索、比较和出版)可以变得没那么繁重。而且,符合标准格式还可以提供附加益处,如创建出版的期刊的一致的外观、减少未来设计工作、以及由于消除了期刊特定要求而提高期刊生产过程和IT维护的效率。
然而,当前用于编排文档符合标准格式的方法大多数是手动执行的。其结果是,科技文档的标准格式符合性的验证方法会是耗时、劳动密集、易于出错并且昂贵的。相应地,目标是提供用于针对目的标准格式符合性执行文档的自动组成评估的方法、系统和计算机软件。
概述
在一个实施例中,披露了一种用于对表示一个有待评估的文档的一个第一文件的组成进行评估的计算机实现的方法。该方法可以由操作性地偶联至一个或多个存储器装置的一个或多个处理器执行。该方法包括将该第一文件转换成一个第二文件。该第二文件包括与该第一文件的该组成相对应的多个对象,并且该多个对象包括至少一个文本对象。此外,该方法包括基于该多个对象确定一个或多个参数。该一个或多个参数包括与该至少一个文本对象相关联的一个或多个文本参数、与该文档的至少一页相关联的一个或多个页参数、以及与该文档相关联的一个或多个文档参数。该方法进一步包括基于一个规则引擎提供的多个组成规则对该一个或多个参数进行评估。该方法进一步包括生成多个评估结果并将这些评估结果存储在该一个或多个存储器装置内;以及基于这些评估结果生成一个评估结论。该评估结论根据这些组成规则指示该文档的符合性。
在另一个实施例中,披露了一种非瞬态计算机可读存储介质。该计算机可读存储介质存储多个指令,当被一台计算机执行时,这些指令致使该计算机执行一种对表示一个有待评估的文档的一个第一文件的组成进行评估的方法。该方法可以由操作性地偶联至一个或多个存储器装置的一个或多个处理器执行。该方法包括将该第一文件转换成一个第二文件。该第二文件包括与该第一文件的该组成相对应的多个对象,并且该多个对象包括至少一个文本对象。此外,该方法包括基于该多个对象确定一个或多个参数。该一个或多个参数包括与该至少一个文本对象相关联的一个或多个文本参数、与该文档中的至少一页相关联的一个或多个页参数、以及与该文档相关联的一个或多个文档参数。该方法进一步包括基于一个规则引擎提供的多个组成规则对该一个或多个参数进行评估。该方法进一步包括生成多个评估结果并将这些评估结果存储在该一个或多个存储器装置内;以及基于这些评估结果生成一个评估结论。该评估结论根据这些组成规则指示该文档的符合性。
在另一个实施例中,披露了一种用于对表示一个有待评估的文档的一个第一文件的组成进行评估的系统。该系统包括一个处理器,该处理器被配置成用于将该第一文件转换成一个第二文件。该第二文件包括与该第一文件的该组成相对应的多个对象,并且该多个对象包括至少一个文本对象。此外,该系统包括一个解释器,该解释器被配置成用于基于该多个对象确定一个或多个参数。该一个或多个参数包括与该至少一个文本对象相关联的一个或多个文本参数、与该文档的至少一页相关联的一个或多个页参数、以及与该文档相关联的一个或多个文档参数。该系统进一步包括一个评估器,该评估器被配置成用于:基于一个规则引擎提供的多个组成规则评估该一个或多个参数;生成多个评估结果并将这些评估结果存储在一个或多个存储器装置内;以及基于这些评估结果生成一个评估结论,该评估结论根据这些组成规则指示该文档的符合性。
应理解,前述大体描述以及以下的详细描述两者都只是示例性和说明性的,而不限制所要求的发明。
附图简要说明
结合在本说明书中并构成本说明书一部分的附图展示了各实施例和所披露的实施例的各方面,并且与本描述一起用于解释所披露的实施例的原理。在附图中:
图1展示了与某些披露的实施例一致的示例性系统环境;
图2是与某些披露的实施例一致的示例性自动组成评估过程的流程图;
图3A是与某些披露的实施例一致的示例性文件解释过程的流程图;
图3B是与某些披露的实施例一致的另一示例性文件解释过程的流程图;
图4是与某些披露的实施例一致的示例性评估和符合性确定过程的流程图;
图5A是与某些披露的实施例一致的示例性文本对象评估过程的流程图;
图5B是与某些披露的实施例一致的示例性标注评估过程的流程图;
图5C是与某些披露的实施例一致的示例性表格评估过程的流程图;
图5D是与某些披露的实施例一致的示例性方程评估过程的流程图;
图5E是与某些披露的实施例一致的示例性图形评估过程的流程图;
图5F是与某些披露的实施例一致的示例性栏评估过程的流程图;
图6是与某些披露的实施例一致的示例性页评估过程的流程图;
图7是与某些披露的实施例一致的示例性文档评估过程的流程图;以及
图8是与某些披露的实施例一致的示例性符合性确定过程的流程图。
详细说明
现将详细参考所披露的示例性实施例,在附图中展示了这些实施例的示例。在一切可能之处,在附图中使用的相同参考数字将指代相同或相似的部分。
与所披露的实施例相关的方法、系统和制品提供用于对尤其期刊出版行业中的各种文档(如期刊文章、学术论文、博客文章、新闻文章和基于网络的文章或内容)的组成进行评估的特征。
图1展示了与某些披露的实施例一致的示例性自动组成评估系统100。一方面,自动组成评估系统100可以包括自动组成评估器110、一个或多个处理器120和存储器124。自动组成评估器110可以包括阅读器112、解释器114、评估器116和规则引擎122。
与本披露一致,阅读器110可以执行各种输入功能,如读取、接收或获得外部文件,如科技文档,需要对该外部文件的格式进行评估。为了输入该文件,阅读器110可以包括例如磁盘读取接口;网络接口,如以太网接口、Wi-Fi接口、蓝牙接口、蜂窝接口;USB接口、HDMI接口、闪电(Lightning110输入该外部文件时,该阅读器可以将所输入的文件发送或传送至解释器114。解释器114可以解释、转换、或以其他方式转变所输入的文件并生成可评估格式的文件,以下对应图2对此进行了详细讨论。简要地,具有可评估格式的文件可以包括能够被评估器116处理的组成信息。评估器116可以基于规则引擎122中定义的组成规则集评估该组成信息。参照图2至图8讨论了评估过程的细节。
与所披露的实施例一致,自动组成评估系统100的组件(包括自动组成评估器110)可以包括一个或多个如以图1中的示例性形式示出的处理器120。该处理器(多个)可以包括一个或多个处理装置,如来自英特尔公司的酷睿™、至强™、和凌动™族或AMD公司的炫龙™、羿龙™、速龙™和闪龙™族的微处理器。该处理器(多个)可以包括提供同时执行并行进程能力的单核或多核处理器系统。
例如,该处理器(多个)可以包括配置有本领域的技术人员所熟知的虚拟处理技术的单核处理器。在某些实施例中,该处理器(多个)可以包括同时执行和控制多个进程的逻辑处理器。该处理器(多个)可以实现虚拟机技术、或其他类似已知的技术以提供执行、控制、运行、操控、存储等等多个软件进程、应用、程序等等能力。在某些实施例中,该处理器(多个)可以包括多核处理器装置(例如,双核或四核),这些装置被配置成用于提供并行处理功能性以使自动组成评估系统100的计算机组件能够同时执行多个进程。
可以实现提供用于在此披露的能力的其他类型的处理器装置。例如,处理器可以表示与自动组成评估系统100相关联的一个或多个服务器或其他计算装置。例如,处理器可以表示被配置成用于在局域网或广域网上一起运行的分布式处理器网络。可替代地,该处理器(多个)可以包括处理装置,该处理装置被配置成用于执行从与自动组成评估系统100的自动组成评估器110或其他组件相关联的其他处理装置接收和向其发送信息、指令等的软件指令。在某些方面,处理器(多个)120可以被配置成用于执行存储器中存储的软件指令以执行与所披露的实施例一致的一个或多个过程。
与所披露的实施例一致,自动组成评估系统100的组件(包括自动组成评估器110)还可以包括一个或多个如以图1中的示例性形式示出的存储器装置(如存储器124)。该存储器装置(多个)可以存储分别被处理器120(多个)执行的软件指令,如与一个或多个应用相关联的指令、网络通信进程、操作系统软件、与所披露的实施例相关的软件指令、以及任何其他类型的已知可以被处理装置执行的应用或软件。该存储器装置(多个)可以包括易失性或非易失性、磁性、半导体、磁带、光学、可移除、非可移除、或其他类型的存储装置或有形计算机可读介质。该存储器装置(多个)可以包括分布在局域网或广域网上的两个或更多个存储器装置,或者可以包括单个存储器装置。在所披露的实施例中,该存储器装置(多个)可以包括数据库系统(如数据库存储装置),这些数据库系统被配置成用于接收访问、处理和发送这些存储装置内存储的信息的指令。
在某些实施例中,自动组成评估器110还可以包括如通过网络(未示出)、或任何其他合适的通信基础设施提供与自动组成评估系统100的其他组件通信的一个或多个附加组件(未示出)。
这种网络可以包括促进自动组成评估系统100的各组件(例如,像自动组成评估器110、处理器(多个)120、存储器123、数据库(未示出)、外部存储装置(未示出)、用户输入装置(未示出)、输出装置(未示出)等)之间的通信和数据传输的任何类型的网络。
该网络可以包括局域网(LAN)、广域网(WAN)(如互联网),并且可以包括单个网络或多个网络的组合。进一步地,该网络可以反映单种类型的网络或不同类型的网络的组合,如用于有线和/或无线通信的互联网和公共交换网。该网络可以利用云计算技术。而且,可以通过允许图1中展示的各实体手动或亲自执行的与财务账户相关联的操作的贸易基础设施或渠道实现该网络的任何部分。该网络不局限于以上示例,并且自动组成评估系统100可以实现允许图1中所包括的实体(和其他未示出的实体)交换数据和信息的任何类型的网络。
尽管图1描述了自动组成评估系统100内的一定数量的实体和处理/计算组件,但在不脱离所披露的实施例的范围的情况下,可以实现任何数量的组件或其组合。如上所述,例如,阅读器112、解释器114、评估器116、规则引擎122还可以通过网络相互通信。此外,自动组成评估器110、处理器120、和存储器124不是互斥的。例如,在一个所披露的实施例中,自动组成评估器110、处理器120、和存储器124可以由单独的组件实现,并且可以与同一实体或与不同实体相关联。而且,阅读器112、解释器114、评估器116和规则引擎122不可以互斥;例如,阅读器112和解释器114可以与同一实体、同一实体的不同位置、同一实体的附属实体、或母实体及其附属实体相关联。类似地,评估器116和规则引擎122可以与同一实体、同一实体的不同位置、同一实体的附属实体、或母实体及其附属实体相关联。因此,所描述的实体不局限于以上离散描述。进一步地,当组合自动组成评估系统100的不同组件(例如,评估器116和规则引擎122等)时,这些计算和处理装置以及这些软件执行的软件可以集成到本地系统或分布式系统中。
如所披露的,本文中的组件、过程和实施例使自动组成评估系统100能够评估、调整和编辑文件(如科技文档)的组成。图2是与某些披露的实施例一致的示例性自动组成评估过程140的流程图。在某些实施例中,自动组成评估系统100的自动组成评估器110、处理器120、存储器124和其他组件(未示出)可以执行软件指令来执行图2中的文件组成评估过程140。下文进一步详细描述了过程140中的每个步骤。
一方面,自动组成评估系统100执行软件指令来接收用于评估的文件(如文档)(步骤150)。该文件可以是科技文档,包括文本、表格、方程、图形、图表、以及任何其他可以存在于该文档中的对象。该文件可以是微软Word、微软幻灯片、Adobe PDF、标记语言文件的格式,或另一种格式。
标记语言文件使用标记语言以可以在句法上与文本区分开的方式对文本文档进行注释。标记语言的示例包括可扩展标记语言(XML)和超文本标记语言(HTML)。标记语言经常包括特殊字符,如用于指示注释的标记。作为一个示例,在XML下,标记字符串以开始标记“<”开始并且以结束标记“>”结束。标记还可以用于指示标记文件的各章节。因此,例如,与“评估文档”相关的章节可以从<eval_document 1>开始并且以</eval_document 1>结束。
在一个实施例中,处理器(多个)120执行来自存储器124的软件指令来执行文件转换过程(步骤160)。作为步骤160的文件转换过程的一部分,在步骤150接收的文件可以被转换或转变成自动组成评估器110能够处理的可评估文件。作为一个示例,在步骤150接收的文件可以是应用生成的XML文档并且在步骤160的文件转换过程中可以被转换成评估器标准XML文件。可评估文件(如评估器标准XML文件)在下文中还可以被称为“度量文件(metrics file)”。该转换可以例如由可扩展样式表语言转换(XSLT)来实现。XSLT是用于将XML文档转换成其他XML文档或如HTML(针对网页)等其他对象、或转换成之后可以被转变成可移植文档格式(PDF)、附言和可移植网络图形(PNG)格式的XSL格式化对象的语言。通过步骤160的文件转换过程获得的示例性XML文件(可以通过XSLT实现)如下所示。
<?xml version=”1.0” encoding=”UTF-8”
<eval_document mse_new”zz0101010” sz_units=”mm”>
<eval_page physical_no=”1” logical_no=”235” sz_width=”207.9625”
  sz_height=”276.225”>>
 <eval_para maxConsecutiveHyphens=“” maxInterlineSpacing=“”>
  <eval_line sz x=”14.8158” sz_y=”51.8583” sz_area_left=”14.8158”
 sz_area_right=”192.0875” sz_area_top=”45.5083”
    sz_area_bottom=”51.8583” sz_th=”3.5278” sz_tlb=”0”
   sz_tvs=”0” sz_twb=”2.0959” hyphenated=”yes”/>
  </eval_para>
 </eval_page>
</eval_document>
在以上示例中,度量文件可以具有与标准应用生成的XML文件的格式类似的格式,但还可以包括与正在被评估的文档有关的某些附加信息。与该标准应用生成的XML文件类似,度量文件可以包括构成标记部分的字符串、字符、以及对象。作为一个示例,构成标记部分的字符串可以从字符“<”开始并且以“>”结束。这些字符串被称为标记(tag)。这些标记可以包括例如开始标记、结束标记以及空元素标记。在示例性评估器标准XML文件的以上说明中,<eval_document mse_new”zz0101010” sz_units=”mm”>是开始标记,而</eval_ document>是结束标记。逻辑文档组件或者以开始标记开始并且以匹配的结束标记结束或者仅由空元素标记(如<line-break />)组成。
在一个实施例中,在步骤160的文件转换过程中,处理器(多个)120执行来自存储器124的软件指令以便对在步骤150接收的文件进行提取、分类、重新安排或以其他方式将其转换成度量文件,如评估器标准XML文件。作为一个示例,在以上说明性度量文件中,与文本行相关联的参数由“eval_line”标记指示;与页相关联的参数由“eval_page”标记指示;等等对应于图3A和图3B,详细描述了以上说明性度量文件中的参数。简言之,这些参数可以表示对象的特性,如文本行、表格、方程、图形、页和文档。参数可以包括数值参数,如以上说明性度量文件中所示的行参数的“x”和“y”坐标。参数还可以包括文本参数、布尔型参数、定性参数,或者是任何其他令人期望的形式。尽管以上说明性度量文件演示与一定数量的对象相关联的一定数量的参数,但度量文件可以包括任何数量的参数和任何数量的对象。
度量文件中所包括的对象的类型可以包括文本行、段落、表格、方程、图形、栏、页、文档、和/或以上对象的任何组合,如框(frame)。框可以包括同一类型或不同类型的对象中的一个或多个对象。例如,框可以包括彼此靠近的若干行文本或段落。框还可以包括若干表格。度量文件可以包括对象、框、或这两者的组合。
除了标记部分,度量文件还可以包括构成内容部分的字符串、字符、对象、以及框,这些可以不与标记相关联。内容包括在步骤150过程中接收的文件中的实质性材料,如原始文档中的文本、表格、方程、以及图形的组成。度量文件可以包括标记部分和内容部分中的一者或两者。
在步骤160的文件转换过程中,处理器(多个)120可以执行存储器124中存储的软件指令来以不同方式处理在步骤150中接收的文件的组成信息。作为一个示例,如果所接收的文件是包括所有可用组成信息的标准应用生成的XML文件,则处理器(多个)120可以执行对组成信息进行提取、排序、拷贝、分类或以其他方式将其转换成多个对象(如表格、方程、图形、栏、页和文档)的软件指令;以及生成相应的度量文件。可替代地,如果在步骤150中接收的文件例如是纯文本文件、微软Word文件、或Adobe PDF文件,则处理器(多个)120可以首先例如通过将该文件转换成标准XML文件并且然后生成度量文件来创建对该文件中的不同对象进行标识的标记。此外,处理器(多个)120还可以纠正在步骤150中接收的文件中可能存在的任何格式化错误。在某些实施例中,步骤160的文件转换过程还可以由带有或不带有处理器(多个)120和存储器124的自动组成评估器110(如由解释器114)执行。
在一个实施例中,自动组成评估器110的阅读器112可以执行软件指令来执行文件读取过程(步骤170)。阅读器112可以获得在步骤160的文件转换过程中生成的度量文件。阅读器112可以将该度量文件存储在自动组成评估系统100的存储器124或任何其他存储组件中。
在某些实施例中,解释器114可以执行文件解释过程(步骤200)。解释器114可以将在步骤160的文件转换过程中生成的度量文件当作输入文件,或者将该度量文件和在步骤150中接收的文件两者当作输入文件。作为一个示例,解释器114可以首先取度量文件并确定该度量文件是否包括所期望的用于评估的组成信息。如果所有期望的组成信息是可获得的,则解释器114可以继续进行以解释该度量文件。然而,如果解释器114确定某些期望的组成信息丢失,则其可以试图解释丢失的信息本身(如下文将描述的)或者可以试图从在步骤150中接收的文件中获得丢失的信息。例如,如果度量文件不包括表格对象的宽度信息,则解释器114可以直接从在步骤150中接收的文件中获得那条信息。然而,如果解释器114不能获得所需要的信息,则解释器114可以终止步骤200的解释过程,或者可以继续该解释过程但要报告错误消息。
如果解释器114确定所有期望的组成信息在度量文件中可获得,或者可以从在步骤150中接收的文件中获得,或者可以被解释,则解释器114可以执行该文件解释过程(步骤200)。对应于图3A和图3B,详细描述了步骤200。简言之,解释器114可以获得与度量文件中的多个对象相关联的组成信息并生成一个或多个参数,该一个或多个参数可以用于评估和符合性确定过程(步骤300)。作为一个示例,如果解释器114确定某些期望的参数(如最大连续连字符(maxConsecutiveHyphens))或最大行间间距(maxInterlineSpacing)在度量文件中丢失,则该解释器可以试图从该度量文件中计算或导出丢失的信息。如果度量文件包括每个连续连字符实例的连续连字符的数量,或包括所有行的行间间距的数量,则解释器114可以计算相应的最大数值以获得丢失的最大连续连字符和最大行间间距。然而,如果度量文件不包括上述数量信息,则解释器114可以在其计算最大值之前试图从在步骤150中接收的文件中获得该信息。
在某些实施例中,评估器116可以执行评估和符合性确定过程(步骤300)。对应于图5A至图5E和图6至图8,详细描述了步骤300的评估和符合性确定过程。简言之,评估器116可以基于规则引擎122提供的多个组成规则评估步骤200的文件解释过程生成的参数。这些组成规则可以用于确定例如在步骤150中接收的文件是否符合预设的标准。这些组成规则可以由规则引擎122预先配置并加载到自动组成评估系统100的存储器124。还可以根据需要对这些组成规则进行更新。
评估器116可以通过例如将这些参数与这些组成规则进行比较来评估这些参数。使用参数maxConsecutiveHyphens作为一个示例,如果maxConsecutiveHyphens的组成规则设置为四的阈值,则出现多于四个连续连字符会引起最大连续连字符超过该阈值的结果。然后,评估器116可以基于这些结果生成结论并确定在步骤150中接收的文件是否符合组成规则。
图3A是与某些披露的实施例一致的示例性文件解释过程200的流程图。文件解释过程200以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括阅读器112、解释器114、评估器116和处理器120)执行。为了示例性目的,图3A被披露为由解释器114执行。
自动组成评估系统100可以通过解释器114执行软件指令来确定文本对象的一个或多个参数(过程200)。文本对象的一个或多个参数有时还被称为文本参数。文本对象可以包括文本,如字符、字符串、行、段落、章节、栏等。自动组成评估系统100还可以将例如文本的行或段落分割或分开成多个文本对象。因此,文本的一行或一个段落可以对应于一个或多个文本对象。在某些实施例中,自动组成评估系统100可以确定文本对象的一个或多个参数,包括输入文档中的所有文本、或输入文档中的文本的任何部分,如页中的段落或栏内的文本。
自动组成评估系统100通过解释器114可以确定文本对象中的文本行的坐标(步骤202)。这些坐标可以是2维x,y坐标。一方面,可以从度量文件或者从在步骤150接收的输入文件确定坐标信息。自动组成评估系统100还可以确定文本对象中的文本行的行距(leading)信息(步骤202)。行距信息可以包括文本的连续行的基线之间的距离。例如,以微软Word为格式,行距是行间距(line spacing)或行间间距(inter-line spacing),即,文本行之间的竖直行间距。行距还可以包括字体大小。例如,行之间2磅间距的10磅文本可以对应于12磅的行距。还可以从度量文件或者从输入文件确定行距信息。
自动组成评估系统100通过解释器114可以标识文本对象的标题(步骤204)。标题的格式化要求可以与正文文本行的格式化要求不同。例如,标题可以具有更大的字体大小、更宽的行距公差等。因此,可以将不同的格式化要求强加于标题上,并且可以与文本行的其他部分有区别地评估标题。在某些实施例中,在步骤204中,可以标识不同级别的标题。例如,文档可能具有多个级别的标题,从而总结整个文档的主题、栏、章节和段落。这多个标题级别中的每个级别会要求与其他级别不同的格式。自动组成评估系统100通过解释器114可以通过使用例如度量文件中的标记标识不同的标题级别。解释器114还可以通过任何其他手段(如通过解释文本行的坐标、文本行在文档中的位置、文本行间距以及与文档的其他部分的关系)来标识标题。
自动组成评估系统100通过解释器114可以确定标注的位置(步骤206)。标注可以包括通过线、箭头、或与对象的特征类似的图形(如图示或图形)连接的文本串,并且给予关于那个特征的信息。标注还可以包括文本串,该文本串指代与该文本串相关联但不一定与其连接的对象。标注可能连接或指代的对象包括表格、方程、图形(如示意图、图表、绘图、图像(被称为“非文本对象”))、以及任何其他期望的对象。非文本对象是可以具有或可以不具有文本包裹在其周围的对象并且可以距离相应的标注一定距离。非文本对象可以被编排在文本下方、文本上方、或文本的同一层内。非文本对象还可以与一个或多个标注连接。例如,微软Word格式的标注可以是特殊的文本框,该文本框带有或不带有可以指向文档中的不同位置的小“尾巴(tail)”。非文本对象还可以指相应标注中的一个或多个标注,但不一定与其连接。例如,标注可以仅包括字符串,如“图x”,而图x是被编排在文档中的某个地方的图形对象。自动组成评估系统100可以确定标注的位置,包括例如非文本对象是否被编排在相关联标注的前面。自动组成评估系统100还可以确定标注是否恰好与非文本对象相关联和是否有不与任何非文本对象相关联的任何标注(即,孤立标注)。
自动组成评估系统100通过解释器114可以确定对象(包括文本对象、非文本对象、以及度量文件中的任何其他对象)的位置(步骤208)。除了其他事项以外,自动组成评估系统100可以确定大对象(major object)和小对象(minor object)的位置、浮动对象和固定对象、以及对象或有序对象的位置和/或顺序。大对象和小对象可以指对象的大小。例如,具有页宽度的对象可以被称为大对象,而具有栏宽度的对象可以被称为小对象。大对象和小对象可以是固定对象或浮动对象。固定对象固定就位,这样使得其相对于某个其他对象的位置在重编页码过程中保持不变。例如,图形对象可以固定文本对象上,这样使得它们始终好像在一起。另一方面,浮动对象可以改变其位置。
当自动组成评估系统100确定非文本对象的位置时,该系统还可以确定非文本对象与其相关联的标注的距离(在步骤206确定标注的位置)。例如,非文本对象(如浮动对象)可以被编排成若干文本行或有时若干页远离其标注。因此,自动组成评估系统100可以确定标注与相应的浮动对象之间的行数或页数。一方面,可以按一定顺序编排某些对象。例如,被称为“图2”的图形对象可以不被编排在对象“图1”后面。自动组成评估系统100可以确定例如“图1”与“图2”之间的行数或页数以及“图1”与“图2”对象的相对位置。
自动组成评估系统100通过解释器114还可以确定例如标题和脚注的位置(未示出步骤)。在确定标题的位置时,自动组成评估系统100可以计算所标识的标题后面的行数(例如,从步骤204开始)。自动组成评估系统100还可以获得是否将不同的标题级别分开的指示。而且,自动组成评估系统100还可以确定被编排在栏结束附近的标题在标题后是否具有所要求的最少数量的文本行。自动组成评估系统100还可以确定以上没有描述的对象的位置,包括任何其他期望类型的位置。
自动组成评估系统100通过解释器114可以确定XPath内容(步骤210)。度量文件(如可评估的XML文件)可以包括XPath内容。XPath(即,XML路径语言)是用于从XML文档中选择节点和用于从XML文档的内容中计算值(例如,字符串、数字、或布尔值)的查询语言。可以关于上下文节点评估XPath表达式。作为一个示例,XPath可以包括被称为定位路径(location path)的表达式类型。定位路径由定位步骤序列组成,并且每个定位步骤可以具有三个组成部分,即,轴、节点测试、以及零或更多谓词。轴具有说明符,如“子(child)”或“后裔(descendant)”,该说明符指定从上下文节点导航的方向。然后,节点测试和谓词进一步定义对哪些节点进行导航。例如,节点测试“A”要求所有被导航的节点必须具有标签“A”。谓词会进一步要求所选择的节点具有某些性质。如果度量文件包括XPath内容,则自动组成评估系统100可以根据XPath表达式执行评估过程。即,评估器将根据预定义的次序执行评估。
在某些实施例中,自动组成评估系统100可以基于度量文件中的标记执行该评估过程。例如,如说明性度量文件中所示,度量文件可以通过包括标记如“<eval_line … />”指示文本对象,因此,自动组成评估系统100可以将该对象标识为文本对象,确定该文本对象的一个或多个参数,并且通过将该一个或多个参数与文本对象的相关组成规则进行比较来执行该评估过程。
自动组成评估系统100通过解释器114可以确定系统字符连接信息(步骤212)。作为一个示例,系统字符连接可以包括将单词断开在两个连续行上的连字符。在某些实施例中,不可以在单词内随机添加或编排系统字符连接,而是其必须根据字符连接规则进行编排。在某些实施例中,例如,系统字符连接不可以被编排在不可接受的音节处,并且城市名等内可以没有字符连接。在步骤212,自动组成评估系统100可以确定例如文本对象中的行是否包括连字符和获得与连字符相关联的相关信息,如连续连字符的数量、连字符的断开位置、以及包括这些连字符的文本。
自动组成评估系统100通过解释器114还可以确定对齐信息(步骤214)。对齐(justification)是栏中的文本或图像的排版对准设置或沿着栏的左右边距的对准测量。作为一个示例,如果栏沿着左右边距对准,则其可以被称为“对齐”。在对齐文本中,单词之间的间距被拉伸或有时被压缩以便使文本与左右边距两者对齐。自动组成评估系统100可以确定例如所有文本行是否对齐,是否有任何分散对齐(loose justification)(即,任何没有对齐的行),以及该对齐是否符合预定义的标准。为了确定对齐信息,自动组成评估系统100可以使用例如在步骤202确定的坐标和行距信息。
本领域内的普通技术人员将认识到如所述对应于步骤202至214的文件解释过程200仅是为了说明而不是排他性或限制性的。自动组成评估系统100通过解释器114可以确定或解释步骤202至214中没有描述或包括的信息。例如,自动组成评估系统100还可以确定空白区信息、标签标记信息、行中最后字符信息、下标和上标信息、和任何其他与文本对象相关的信息。自动组成评估系统100还可以执行步骤202至214中包括的某些但不是所有步骤。而且,虽然次序如图3A中所示,但自动组成评估系统100还可以执行文件解释过程200。
图3B是与某些披露的实施例一致的另一个示例性文件解释过程240的流程图。文件解释过程240以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括阅读器112、解释器114、评估器116和处理器120)执行。为了示例性目的,图3B被披露为由解释器114执行。
自动组成评估系统100通过解释器114可以执行软件指令来确定表格对象的一个或多个参数。(过程240)。表格对象可以包括以行和列安排的数据。电子表格例如是表格。表格可以包括以行和列安排的文本。
自动组成评估系统100通过解释器114可以确定表格对象的栏间空白(gutter)的总宽度(步骤242)。表格栏间空白是表格中两个相邻单元格、行或列之间的间距。自动组成评估系统100可以通过例如度量文件中的标示标记来标识表格中的某些或所有栏间空白。标识表格栏间空白后,自动组成评估系统100可以对表格栏间空白的总数进行计数并且还返回这些表格栏间空白的总宽度(或其他期望的尺寸)。自动组成评估系统100可以进一步将总栏间空白宽度与表格的宽度进行比较并且确定例如栏间空白宽度与表格宽度的比率。
自动组成评估系统100通过解释器114可以确定表格中的任何列是否没有内容(未示出步骤)。即,自动组成评估系统100可以搜索空的表格列。如果例如发现表格中的具体列是空的,则可以建议不需要该列并因此可以将其移除。
自动组成评估系统100通过解释器114可以确定表格对象的列数据宽度、或该数据的任何参数(步骤244)。列数据宽度是表格中的列内包括的数据宽度。例如,自动组成评估系统100可以确定某一列中的数据宽度比相应列宽或者更长或者更短。并且取决于该结果,可能需要调整列或数据或者两者的宽度,这样使得数据令人期望地适应其相应的列。
自动组成评估系统100通过解释器114可以确定对表格对象进行编排的重新尝试的次数(步骤246)。在某些实施例中,度量文件可以包括指示已经若干次试图布置表格对象的信息。这种情况可能发生,例如,因为表格对象具有超过页宽的宽度,因为表格对象需要被编排在其相应的标注附近但缺乏空间,或者因为任何其他可能阻止表格对象第一次被正确布置的原因。当表格对象第一次没有被正确布置时,会有后续若干次尝试将其正确布置。自动组成评估系统100可以确定已经进行的重新布置尝试的次数。而且,自动组成评估系统100还可以为其他非文本对象(如方程对象和图形对象)中的每个对象确定重新尝试的次数。
自动组成评估系统100通过解释器114可以确定表格对象中的行和列的数量(步骤248)、和坐标信息(如x,y坐标)、以及表格对象的和/或表格对象中的列的尺寸信息(步骤250)。例如,自动组成评估系统100可以确定表格对象中的行和列的总数、表格对象中的每个行和列的宽度和高度、以及每个表格对象的位置。
自动组成评估系统100通过解释器114可以确定表格对象中的每个单元格中的文本行的数量(步骤252)。自动组成评估系统100还可以确定表格对象中的空白区的数量(未示出步骤)。自动组成评估系统100还可以确定文本行在单元格中的布置,如字体、对齐、行距、标题、字符连接、换行、对准等(未示出步骤)。
本领域内的普通技术人员将认识到自动组成评估系统100通过解释器114可以确定除了对应于图3A和图3B描述的那些参数以外的参数。自动组成评估系统100可以用任何次序确定与文本对象、表格对象、图形对象、方程对象、栏、页、以及整个文档相关的任何参数。作为一个示例,自动组成评估系统100还可以确定文本对象的参数,包括字符之间的间距、单词之间的间距、文本块之间的行距的变化、在行结束但不是段落结束处的空白区、以及以或者物理连字符或者自由选定连字符结束的连续行的数量。自动组成评估系统100还可以确定标签标记是否与贴有标签的项断开;某些特殊字符是否作为行中的第一个字符或最后一个字符出现;系统连字符是否跟着某些特殊字符等。如此处描述的文本对象可以包括例如纯文本、附属资料文本、以及元数据。纯文本对象可以包括输入文档的正文文本。附属资料文本可以包括结论、附录、词汇表、索引等。元数据提供关于基础数据(如正文文本或其他对象)的信息。例如,元数据可以包括数据的创建方式、数据的用途、数据创建时间和日期、数据的作者等。
作为另一个示例,自动组成评估系统100还可以确定各大对象、小对象、固定对象或浮动对象的编排。例如,自动组成评估系统100可以确定大对象是否和其他类似的对象一起按顺序被编排、附录中的对象标注是否被编排在附录后面等。
作为另一个示例,自动组成评估系统100还可以确定表格对象的参数,包括表格的取向(如是否对其进行旋转)、方程是否出现在表格中、表格是否包裹到下一栏或页而没有堆积等。而且,自动组成评估系统100还可以确定方程对象的参数,包括方程的尺寸、方程是否具有多个行、方程是否溢出等。
此外,在某些实施例中,自动组成评估系统100还可以确定标记的参数,包括是否存在某些类型的标记。例如,自动组成评估系统100可以确定是否有上划线标记、等宽间距标记、乘积标记、多节表格、引文等。
此外,在某些实施例中,自动组成评估系统100还可以确定对象之间的关系。例如,自动组成评估系统100可以确定某一文本对象、表格对象、方程对象、或图形对象可以位于单栏或单页内,或者可以位于多个栏或多个页上。此外,自动组成评估系统100还可以确定表格对象需要被编排在标注、或另一个表格对象、相关方程对象或相关图形对象附近。
本领域内的普通技术人员将认识到如所述对应于步骤242至252的文件解释过程240仅是为了说明而不是排他性或限制性的。自动组成评估系统100通过解释器114可以确定或解释步骤242至252中没有描述或包括的信息,以上描述了其中的一些信息。自动组成评估系统100还可以执行步骤242至252中包括的某些但不是所有步骤。而且,虽然次序如图3B中所示,但自动组成评估系统100还可以执行文件解释过程240。
图4是与某些披露的实施例一致的示例性评估和符合性确定过程300的流程图。评估和符合性确定过程300以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括阅读器112、解释器114、评估器116、规则引擎122和处理器(多个)120)执行。为了示例性目的,图4被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来执行文本对象评估过程(步骤400)、标注评估过程(步骤410)、表格评估过程(步骤420)、方程评估过程(步骤440)、以及栏评估过程(步骤460)。对应于图5A至图5E,详细描述了步骤400、410、420、440以及460。简言之,自动组成评估系统100可以执行评估过程400、410、420、440以及460以便基于多个相应的组成规则获得一个或多个结果。
自动组成评估系统100通过评估器116和规则引擎122还可以执行软件指令来执行页评估过程(步骤500)和文档评估过程(步骤600)。对应于图6和图7,详细描述了步骤500和600。简言之,自动组成评估系统100可以执行评估过程500和600以便基于多个相应的组成规则获得一个或多个结果。
本领域内的普通技术人员将认识到评估过程400、410、420、440、460、500以及600仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估过程。例如,自动组成评估系统100还可以执行度量文件中所包括的任何其他对象的评估过程。此外,自动组成评估系统100还可以执行某些但不是所有步骤步骤400、410、420、440、460、500以及600。而且,虽然次序如图4中所示,但自动组成评估系统100还可以执行步骤400、410、420、440、460、500以及600。例如,自动组成评估系统100可以在其执行文本对象评估过程400之前执行步骤420的表格对象评估过程。
此外,无需在执行步骤500的页评估过程和步骤600的文档评估过程之前执行步骤400、410、420、440和460中的一个或多个步骤。作为一个示例,自动组成评估系统100可以评估某一页中的所有文本对象和非文本对象并且然后通过将那页中的文本对象和非文本对象的评估结果考虑在内来执行那页的评估过程。自动组成评估系统100还可以首先评估该页而不评估那页中的文本对象和非文本对象。作为另一个示例,自动组成评估系统100可以评估整个输入文档中的所有文本对象和非文本对象并且然后针对该输入文档中的每一页执行页评估过程。换言之,可以按照所期望的任何顺序执行如图4中所示的过程300中的所有步骤。
图5A是与某些披露的实施例一致的示例性文本对象评估过程400的流程图。文本对象评估过程400以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括评估器116、规则引擎122和处理器120)执行。为了示例性目的,图5A被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估连续连字符(步骤402),以便确定文本对象中的连续连字符的数量是否满足第一文本阈值条件。例如,自动组成评估系统100可以确定如果文本对象(如正在被评估的段落或文本块)中有多于4个连续连字符则可以生成、记录和/或存储结果(步骤409)。结果可以是任何指示评估过程的结果的数字数据或文本数据。例如,结果可以是文本字符串,如“失败(fail)”、“警告(warning)”和“仅供参考(information only)”。因此,如果自动组成评估系统100确定有少于4个连续连字符,其可以生成结果并将其记录为“仅供参考”。然而,如果自动组成评估系统100确定有多于4个连续连字符,则其可以生成结果并将其记录为“警告”。结果还可以是数值,如指示评估结果的分数或点。例如,如果自动组成评估系统100确定有少于4个连续连字符,则其可以不从最初的分数(如100个点)减去点或减去少量点(如从总计100个点中扣除20个点),并将该分数存储存储装置(如存储器124)中。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估字符间间距(步骤404),以便确定文本对象中的字符间间距是否满足第二文本阈值条件。作为一个示例,自动组成评估系统100可以确定字符间间距是否大于组成规则中定义的最大允许值(如2.1 mm)、或小于组成规则中定义的最小允许值(如0 mm),并且生成、记录和/或存储相应的结果(步骤409)。如果自动组成评估系统100确定字符间间距符合组成规则,则自动组成评估系统100可以继续进行到下一个步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估单词间间距(步骤406),以便确定文本对象中的单词间间距是否满足第三文本阈值条件。作为一个示例,如果自动组成评估系统100确定单词间间距大于组成规则中定义的最大允许值(如4 mm)、或小于组成规则中定义的最小允许值(如0.5 mm),则其相应地生成、记录和/或存储结果(步骤409)。如果该评估器确定单词间间距符合组成规则,则自动组成评估系统100可以继续进行到下一个步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估行间间距(步骤408),以便确定文本对象中的行间间距是否满足第四文本阈值条件。作为一个示例,如果自动组成评估系统100确定行间间距大于组成规则中定义的最大允许值(如10mm)、或小于组成规则中定义的最小允许值(如0 mm),则其生成、记录和/或存储相应的结果(步骤409)。如果自动组成评估系统100确定行间间距符合组成规则,则其可以继续进行到下一步骤来基于这些组成规则对度量文件中所包括的其他参数进行评估,或者可以继续进行到过程400结束。
尽管以上示例展示了文本阈值条件中的每个条件是单个值,但组成规则中定义的文本阈值条件还可以具有多于单个数值。作为一个示例,取决于行是正文文本行还是标题,针对行间间距的文本阈值条件可以具有多于一个值。例如,1级标题与正文行之间的间距的行间间距阈值可以具有10 mm的最大值和5 mm的最小值,而正文行与正文行之间的间距的行间间距阈值可以具有5.3 mm的最大值和0 mm的最小值。此外,评估步骤还可以生成多于一个结果,如正在被评估的同一对象中的多于一个方面的结果。
本领域内的普通技术人员将认识到文本对象评估过程400中的步骤402、404、406和408仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估步骤。例如,自动组成评估系统100还可以执行度量文件中所包括的任何其他参数的评估过程。此外,自动组成评估系统100还可以执行文本对象评估过程400中的某些(但不是所有)步骤402、404、406和408。而且,虽然次序如图4A中所示,但自动组成评估系统100还可以执行文本对象评估过程400中的步骤402、404、406和408。例如,自动组成评估系统100可以在其执行步骤402之前执行步骤408。
图5B是与某些披露的实施例一致的示例性标注评估过程410的流程图。标记评估过程410以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括评估器116、规则引擎122和处理器120)执行。为了示例性目的,图5B被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估对象的尺寸(步骤412),以便确定一个或多个对象(如表格对象、方程对象和图形对象)的尺寸(如长度)是否满足第一标注阈值条件。例如,如果对象的长度大于包括该对象的页的长度,则自动组成评估系统100可以生成、记录和/或存储相应的结果(步骤419)。如果自动组成评估系统100确定该对象的长度小于等于该页的长度,则该系统可以继续进行到下一步骤。一个或多个对象可以与一个或多个标注相关联。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估“编排图形失败”错误(步骤414),以便确定是否不可以编排一个或多个对象(如表格对象、方程对象和图形对象)。例如,自动组成评估系统100可以确定是否存在“编排图形失败”错误代码。如图3B中所示的步骤246中所讨论的,在某些实施例中,度量文件可以包括指示已经试图若干次布置对象(如表格对象、方程对象和图形对象)的信息。这种情况会发生,例如,因为对象具有超过页的宽度/长度的宽度/长度;对象需要被编排在其相应的标注附近但缺乏空间;编排机构不可以加载输入文档所引用的所需的图形对象;方程对象被断开或者没有被正确生成;编排机构不可以生成后向顺序项,因为可能找不到ID所引用的元素;在可以编排对象之前已经到达输入文档的结束;或者因为任何其他可能阻止第一次正确编排对象的原因。
当对象第一次没有被正确编排时,会有后续若干次尝试将其正确布置。自动组成评估系统100可以确定已经进行的重新布置尝试的次数。当预定义重新尝试次数一直试图编排对象但仍然不能编排时,可以生成“编排图形失败”代码并且将其包括在度量文件中。因此,自动组成评估系统100可以确定是否存在“编排图形失败”错误代码。如果存在这种错误代码,则自动组成评估系统100可以生成、记录和/或存储相应的结果(步骤419)。如果自动组成评估系统100确定不存在这种错误代码、或任何其他错误代码,则其可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估标注距离页数(步骤416),以便确定标注与其相关联的对象之间的距离是否满足一个或多个标注阈值条件。如以上所披露的,对象的位置可以距离其标注若干文本行或若干页远。如果自动组成评估系统100确定行数或页数大于第二标注阈值条件,则该系统可以生成、记录和/或存储相应的结果(步骤419)。类似地,如果自动组成评估系统100确定行数或页数小于第三标注阈值条件,则该系统可以生成、记录和/或存储相应的结果(步骤419)。如果自动组成评估系统100确定该标注与其相关联的对象之间的距离在组成规则中所定义的可接受范围内,则该系统可以继续进行到下一步骤来基于这些组成规则对度量文件中所包括的其他参数进行评估,或者可以继续进行到过程410结束。
本领域内的普通技术人员将认识到标注评估过程410中的步骤412、414、416和418仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估步骤。例如,自动组成评估系统100还可以执行度量文件中所包括的任何其他参数(如对应于图3A和图3B所描述的那些参数)的评估过程。此外,自动组成评估系统100还可以执行标注评估过程410中的某些(但不是所有)步骤412、414和416。而且,虽然次序如图5B中所示,但自动组成评估系统100还可以执行标注评估过程410中的步骤412、414和416。例如,自动组成评估系统100可以在其执行步骤412之前执行步骤416。
图5C是与某些披露的实施例一致的示例性表格评估过程420的流程图。表格评估过程420以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括评估器116、规则引擎122和处理器120)执行。为了示例性目的,图5C被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估表格宽度(步骤422),以便确定表格对象的尺寸(如表格宽度)是否满足第一表格阈值条件。例如,如果表格对象的宽度大于包括该表格对象的页的宽度,则自动组成评估系统100可以生成、记录和/或存储相应的结果(步骤429)。如果自动组成评估系统100确定该表格对象的宽度小于等于该页的宽度,则该系统可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行用于评估表格堆积的软件指令(步骤424),以便确定表格对象是否堆积。表格对象有时可以包括比列更多的行,或者反之亦然。例如,表格对象可以具有10行,但2列。因此,该表格对象的形状或布置在其竖直尺寸上长而在其横向尺寸上短。长表格对象可能不是令人期望的,或者可能不被正确编排在文档中。因此,可以通过例如将行中的某些行分开并且将分开的行编排到未被分开的行的那侧来堆积表格对象。作为一个示例,具有10行×2列的表格对象可以被堆积成其具有5行×4列。因此,堆积后的表格可以被正确编排在文档中。因此,自动组成评估系统100可以确定表格是否堆积。例如,如果表格没有被堆积和没有被正确或令人期望的方式编排,则自动组成评估系统100可以生成、记录和/或存储相应的结果(步骤429)。自动组成评估系统100还可以试图为了正确编排而堆积表格。如果自动组成评估系统100确定该表格对象被堆积和/或被正确或令人期望的方式编排,则该系统可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估列数据宽度(步骤426)以便确定列数据宽度是否满足第二表格阈值条件和/或第三表格阈值条件。如以上所讨论的,列数据宽度是表格对象中的列内所包含的数据宽度。例如,自动组成评估系统100可以确定某一列中的数据宽度比相应列宽或者更长或者更短。并且取决于该结果,可能需要调整列和列数据之一或两者的宽度,这样使得列数据可以令人期望地适应其相应的列。而且,列数据可以横跨表格对象中的多个列。但列数据宽度不可以大于整张表格的宽度或包含该表格的页的宽度。因此,如果自动组成评估系统100确定列数据宽度大于第二表格阈值条件(如整张表格的宽度)和/或大于第三表格阈值条件(如页的宽度),则该系统可以生成、记录和/或存储相应的结果(步骤429)。如果自动组成评估系统100确定列数据宽度在组成规则中所定义的可接受范围内,则该系统可以继续进行到下一步骤来基于这些组成规则对度量文件中所包括的其他参数进行评估,或者可以继续进行到过程420结束。
本领域内的普通技术人员将认识到表格评估过程420中的步骤422、424和426仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估步骤。例如,自动组成评估系统100还可以执行度量文件中所包括的任何其他参数(如对应于图3A和图3B所描述的那些参数)的评估过程。此外,自动组成评估系统100还可以执行表格评估过程420中的某些(但不是所有)步骤422、422和426。而且,虽然次序如图5C中所示,但自动组成评估系统100还可以执行表格评估过程420中的步骤422、422和426。例如,自动组成评估系统100可以在其执行步骤422之前执行步骤424。
图5D是与某些披露的实施例一致的示例性方程评估过程440的流程图。方程评估过程440以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括评估器116、规则引擎122和处理器120)执行。为了示例性目的,图5D被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估方程尺寸(步骤442),以便确定方程对象的尺寸(如方程宽度)是否满足第一方程阈值条件。例如,如果方程对象的宽度大于包括该方程对象的页的宽度,则自动组成评估系统100可以生成、记录和/或存储相应的结果(步骤449)。如果自动组成评估系统100确定该方程对象的宽度小于等于该页的宽度,则该系统可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估断开处的字符(步骤444),以便确定换行处的字符是否满足第二方程阈值条件。换行将一行换到下一行。方程对象可以包括多行并且因此可能需要在某些点处断开。然而,方程对象中的断点不可以被编排在任意位置处。例如,断点不可以被编排在阵列中间、或在根部或脚本处。因此,如果自动组成评估系统100确定方程对象中的断点处的字符构成不正确的换行,则该系统可以生成、记录和/或存储相应的结果(步骤449)。否则,该系统可以继续进行到下一步骤来基于这些组成规则对度量文件中所包括的其他参数进行评估,或者可以继续进行到过程440结束。
本领域内的普通技术人员将认识到方程评估过程440中的步骤442和444仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估步骤。例如,自动组成评估系统100还可以执行度量文件中所包括的任何其他参数(如对应于图3A和图3B所描述的那些参数)的评估过程。此外,自动组成评估系统100还可以执行方程评估过程440中的某一(但不是两者)步骤442和444。而且,虽然次序如图5D中所示,但自动组成评估系统100还可以执行方程评估过程440中的步骤442和444。例如,自动组成评估系统100可以在其执行步骤442之前执行步骤444。
图5E是与某些披露的实施例一致的示例性图形评估过程450的流程图。图形评估过程450以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括评估器116、规则引擎122和处理器120)执行。为了示例性目的,图5E被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估图形尺寸(步骤452),以便确定图形对象的尺寸(如图形宽度)是否满足第一图形阈值条件。例如,如果图形对象的宽度大于包括该图形对象的页的宽度,则自动组成评估系统100可以生成、记录和/或存储相应的结果(步骤445)。如果自动组成评估系统100确定该图形对象的宽度小于等于该页的宽度,则该系统可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估图形旋转(步骤454),以便确定图形对象(如图表、图像、曲线等)是否被旋转、旋转方向和旋转程度。图形对象可以被旋转以便被编排,但图形对象的取向会受影响。因此,如果自动组成评估系统100确定图形对象被旋转,则该系统可以生成、记录和/或存储相应的结果(步骤459)。否则,该系统可以继续进行到下一步骤来基于这些组成规则对度量文件中所包括的其他参数进行评估,或者可以继续进行到过程450结束。
本领域内的普通技术人员将认识到图形评估过程450中的步骤452和454仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估步骤。例如,自动组成评估系统100还可以执行度量文件中所包括的任何其他参数(如对应于图3A和图3B所描述的那些参数)的评估过程。此外,自动组成评估系统100还可以执行方程评估过程450中的某些(但不是所有)步骤452和454。而且,虽然次序如图5E中所示,但自动组成评估系统100还可以执行图形评估过程450中的步骤452和454。例如,自动组成评估系统100可以在其执行步骤452之前执行步骤454。
图5F是与某些披露的实施例一致的示例性栏评估过程460的流程图。在文档中,栏可以是为文本对象保留的竖直区域。例如,科技文章可能将一页分成两个竖直区域、或两个竖直栏。然而,栏还可以包括其他对象,如表格、方程和图形对象。栏评估过程460以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括评估器116、规则引擎122和处理器120)执行。为了示例性目的,图5F被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估空白区块(步骤464),以便确定空白区块是否满足第一栏阈值条件。空白区可以指作为显示屏或打印机上的空白出现的所有字符。空白区可以包括空格字符、制表符、并且有时包括其他不具有虚拟形式的特殊字符(例如,报警字符和零字符)。例如,如果自动组成评估系统100确定栏对象的结束处的空白区大于组成规则中定义的第一栏阈值条件(如22磅),则自动组成评估系统100可以生成、记录和/或存储相应的结果(步骤479)。如果自动组成评估系统100确定空白区小于等于该第一栏阈值条件,则该系统可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估结束位置(多个)(步骤466)以便确栏的结束位置是否满足第二栏阈值条件和第三栏阈值条件。可以要求栏的结束位置在某一范围内,这样使得一页或多页上的栏平衡。最后一页上的栏可以不需要像其他页一样平衡。如果自动组成评估系统100确定栏对象的结束位置大于第二栏阈值条件或小于第三栏阈值条件,则该系统可以生成、记录和/或存储相应的结果(步骤479)。如果自动组成评估系统100确定栏对象的结束位置在组成规则中所定义的可接受范围内,则该系统可以继续进行到下一步骤来基于这些组成规则对度量文件中所包括的其他参数进行评估,或者可以继续进行到过程460结束。
本领域内的普通技术人员将认识到栏评估过程460中的步骤464和466仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估步骤。例如,自动组成评估系统100还可以执行度量文件中所包括的任何其他参数(如对应于图3A和图3B所描述的那些参数)的评估过程。此外,自动组成评估系统100还可以执行表格评估过程460中的某些(但不是所有)步骤464和466。而且,虽然次序如图5F中所示,但自动组成评估系统100还可以执行栏评估过程460中的步骤464和466。例如,自动组成评估系统100可以在其执行步骤464之前执行步骤466。
图6是与某些披露的实施例一致的示例性页评估过程500的流程图。页评估过程500以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括评估器116、规则引擎122和处理器120)执行。为了示例性目的,图6被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估行间间距的差异(步骤504),以便确定文本对象中的行间间距的差异是否满足第一和第二页阈值条件。如以上对应于图5A所讨论的,自动组成评估系统100确定某一文本对象内的行间间距是否满足相应的阈值条件。在步骤504,自动组成评估系统100可以确定文本对象之间的行间间距的差异是否满足第一页阈值条件。该第一页阈值条件可以是例如单个最小值或最大值、最小值和最大值两者、或值范围。该第一页阈值条件定义在组成规则中。如果差异在接受范围之外,则自动组成评估系统100可以生成、记录和/或存储相应的结果(步骤509)。如果自动组成评估系统100确定这些差异在该接受范围内,则该系统可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估栏结束位置(步骤506),以便确定栏的结束位置是否满足第二页阈值条件。该第二页阈值条件可以是例如单个最小值或最大值、最小值和最大值两者、或值范围。如以上对应于图5F所讨论的,自动组成评估系统100确定某一栏对象的结束位置是否满足相应的阈值条件。然而,还可能需要使不同栏的结束位置平衡。因此,如果自动组成评估系统100确定栏的结束位置的差异满足该第二栏阈值条件,如大于最小值或小于最大值,则该系统可以生成、记录和/或存储相应的结果(步骤509)。如果自动组成评估系统100确定这些差异在组成规则中定义的可接受范围内,则该系统可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估重叠框(步骤508),以便确定框是否重叠。框是文档中的一页或若干页的一部分。如以上所讨论的,框可以包括同一类型或不同类型的对象中的一个或多个对象。例如,框可以包括彼此靠近的若干行文本或段落。框还可以包括若干表格。因此,自动组成评估系统100可以确定框是否彼此重叠。例如,如果第一框包括也包括在第二框内的对象,则自动组成评估系统100确定该第一框和该第二框有重叠,并且该系统可以生成、记录和/或存储相应的结果(步骤509)。如果自动组成评估系统100确定这些框没有重叠,则该系统可以继续进行到下一步骤来基于组成规则对度量文件中所包括的其他参数进行评估,或者可以继续进行到过程500结束。
本领域内的普通技术人员将认识到页评估过程500中的步骤504、506和508仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估步骤。如行间间距的差异、栏结束位置的差异和重叠框等参数还被称为页参数。例如,自动组成评估系统100还可以执行度量文件中所包括的任何其他页参数(如对应于图3A和图3B所描述的那些参数)的评估过程。此外,自动组成评估系统100还可以执行页评估过程500中的某些(但不是所有)步骤504、506和508。而且,虽然次序如图6中所示,但自动组成评估系统100还可以执行页评估过程500中的步骤504、506和508。例如,自动组成评估系统100可以在其执行步骤504之前执行步骤506。
图7是与某些披露的实施例一致的示例性文档评估过程600的流程图。文档评估过程600以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括评估器116、规则引擎122和处理器120)执行。为了示例性目的,图7被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估错误发生(步骤604),以便基于多个组成规则确定当评估参数时是否发生至少一个错误。如以上对应于图5A至图5F和图6所讨论的,自动组成评估系统100可以执行多个评估过程(如文本评估过程400、标注评估过程410、表格评估过程420、方程评估过程440、图形评估过程450、栏评估过程460以及页评估过程500)中的一个或多个。在步骤604,自动组成评估系统100可以确定在这些评估过程中是否发生任何错误或异常。自动组成评估系统100在按照对应于图5A至图5F和图6所述的执行对应的评估过程时可以确定某些错误和异常。然而,在那些过程中可能没有确定、捕捉或以其他方式检测到某些其他错误和异常。因此,可以在步骤604确定这些错误。如果自动组成评估系统100确定发生这种错误或异常,则自动组成评估系统100可以生成、记录和/或存储相应的结果(步骤609)。如果自动组成评估系统100确定没有发生这种错误或异常,则该系统可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估文本面积与浮动面积的比率(步骤606),以便确定包括至少一个文本对象的文本面积与其他对象(如至少一个表格对象、至少一个方程对象、以及至少一个图形对象中的一个或多个)的面积的面积比率是否满足第一和第二文档阈值条件。例如,自动组成评估系统100可以针对单页、多页或整个文档计算所有文本对象的面积的总和以及所有非文本对象的面积的总和。如果自动组成评估系统100确定该面积比率小于第一文件阈值条件(如1)或者大于第二文件阈值条件,则该系统可以生成、记录和/或存储相应的结果(步骤609)。如果自动组成评估系统100确定该面积比率在组成规则中定义的可接受范围内,则该系统可以继续进行到下一步骤。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来评估最后一页上的栏结束位置(步骤608),以便确定最后一页上的栏的结束位置是否满足第三文件阈值条件。如以上所讨论的,因为最后页上的内容可能没有占据整页,最后一页上的栏的结束位置可以与其他页不同。例如,最后一页可以仅具有一栏占据该页的竖直长度的一半。如果自动组成评估系统100确定最后一页上的栏的所有结束位置的最大值小于等于第三文件阈值条件,则该系统可以生成、记录和/或存储相应的结果(步骤609)。如果自动组成评估系统100确定最后一页上的栏的所有结束位置的最大值在可接受范围内,则该系统可以继续进行到下一步骤来基于这些组成规则对度量文件中所包括的其他参数进行评估,或者可以继续进行到过程600结束。
本领域内的普通技术人员将认识到文档评估过程600中的步骤604、606和608仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估步骤。错误发生的数量、面积比率、和文档中最后一页上的栏结束位置有时还被称为文档参数。例如,自动组成评估系统100还可以执行度量文件中所包括的任何其他文档参数(如对应于图3A和图3B所描述的那些参数)的评估过程。此外,自动组成评估系统100还可以执行页评估过程600中的某些(但不是所有)步骤604、606和608。而且,虽然次序如图7中所示,但自动组成评估系统100还可以执行页评估过程660中的步骤604、606和608。例如,自动组成评估系统100可以在其执行步骤604之前执行步骤606。
图8是与某些披露的实施例一致的示例性符合性确定过程700的流程图。符合性确定过程700以及其中任何或所有单独步骤可以由自动组成评估系统100的任何组件(包括评估器116、规则引擎122和处理器120)执行。为了示例性目的,图8被披露为由评估器116和规则引擎122执行。
自动组成评估系统100通过评估器116和规则引擎122可以执行检查软件指令,以便获得与这些对象中的一个或多个对象(如文本对象、表格对象、方程对象、图形对象、栏、页以及文档整体中的至少一项)相对应的至少一个结果(步骤720)。如以上对应于图5A至图5F、图6以及图7所讨论的,自动组成评估系统100可以执行一个或多个评估过程并且获得与这些过程相关的一个或多个结果。在步骤720,自动组成评估系统100可以选择性地获得这些结果中的某些结果以便确定符合性。如以上所讨论的,这些结果中的某些结果可以包括用于指示不可接受的结果的“失败”状态。因此,如果在步骤720获得的具体结果指示“失败”状态,则自动组成评估系统100可以确定该文档不符合组成规则并且因此可以不需要获得其他结果用于确定符合性。然而,在某些实施例中,如果所获得的结果指示除了“失败”状态以外的状态,如“供参考”状态,则自动组成评估系统100仍然可以获得其他结果。在某些实施例中,自动组成评估系统100可以获得所有结果,而不管这些结果中的任何结果是否指示“失败”状态。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令以确定结果的优先级数据(步骤740)并基于该优先级数据确定正在被评估的文档是否符合组成规则(步骤760)。作为一个示例,具体结果或结果组合的优先级数据可以指示结果是“结论性的(conclusive)”还是“非结论性的(non-conclusive)”。结论性的结果可以指示具体结果、或若干结果的组合对于自动组成评估系统100而言足够得出决定性的符合性结论。作为一个示例,自动组成评估系统100可能已经获得三个结果,所有这些结果指示“失败”状态(或者任何其他状态,如“警告”或“仅供参考”)。自动组成评估系统100可以确定三个结果中的每个结果的优先级各自是“非结论性的”。但自动组成评估系统100可以确定这三个结果的组合使该优先级成为“结论性的”。
在某些实施例中,优先级数据可以指示多于两种类型,如像上述“结论性”和“非结论性”状态。相反,优先级数据可以指示任何期望数量的类型,如“结论性的”、“早期的(early)”、“中间的(middle)”和“非结论性的”。而且,规则引擎122可以定义组成规则,这样使得结果的结论性可以是任何期望的方式。例如,规则引擎122可以定义如果评估过程产生两个“失败”状态结果和一个“警告”状态结果,则优先级是结论性的。本领域内的普通技术人员将认识到任何结果组合可以是可能指示任何类型的优先级数据。
基于优先级数据,自动组成评估系统100可以确定文档是否符合组成规则(步骤760)。例如,如果优先级数据包括一项或多项结论性优先级数据,则自动组成评估系统100可以确定文档不符合组成规则。在某些实施例中,如果自动组成评估系统100确定文档不符合,则该系统可以继续进行到步骤780以生成包括指示这种不符合性的结论的报告。
然而,在某些实施例中,即使自动组成评估系统100确定文档不符合,该系统可以通过规则引擎122调整组成规则并第二次执行评估过程,如对应于图5A至图5E、图6以及图7所描述的那些评估过程。作为一个示例,自动组成评估系统100可以确定不符合性(尽管是结论性的)仅可能是由于稍微违反了相关组成规则引起的。因此,自动组成评估系统100可以更新(放宽)组成规则中的某些规则,这样使得这些规则容许性更大。然后,自动组成评估系统100可以重新运行上述评估过程中的任何或所有过程以确定文档是否符合更新后的组成规则。而且,还可以不时地更新这些组成规则以反映例如新发展的标准。因此,如果新的组成规则集可用,则自动组成评估系统100还可以重新运行任何或所有评估过程。
自动组成评估系统100通过评估器116和规则引擎122可以执行软件指令来生成符合性结论(步骤780)。如以上所讨论的,在步骤760,自动组成评估系统100确定输入文档是否符合组成规则。在某些实施例中,自动组成评估系统100还生成结论(如报告、消息、或屏幕显示)以向使用者指示正在被评估的文档是否符合。除了生成结论以外,在某些实施例中,自动组成评估系统100还可以根据结果编辑、改变或调整文档,以便使文档符合组成规则。
本领域内的普通技术人员将认识到符合性确定过程700中的步骤720、740、760和780仅是为了说明而不是排他性或限制性的。自动组成评估系统100可以执行任何其他期望的评估步骤。此外,自动组成评估系统100还可以执行页评估过程700中的某些(但不是所有)步骤720、740、760和780。而且,虽然次序如图8中所示,但自动组成评估系统100还可以执行页评估过程700中的步骤720、740、760和780。
对于本领域内的技术人员而言,其他特征和功能性将从本说明的考虑和所披露的实施例的实践中变得明显。例如,图2至图8中的过程不局限于上述次序。在不脱离所披露的实施例的精神和范围的情况下,可以实现这些次序的变化(如移除和/或添加其他过程步骤)。
所披露的实施例的特征和其他方面以及原理可以在各实施例中实现。可以专门构建这种环境和相关应用用于执行所披露的实施例的各个过程和操作,或者它们可以包括被程序代码选择性激活或配置成用于提供必要的功能性的通用计算机或计算平台。在此披露的过程可以由硬件、软件和/或固件的合适的组合实现。例如,所披露的实施例可以实现可以执行专业软件程序的通用机器,这些专业软件程序执行与所披露的实施例一致的过程。可替代地,所披露的实施例可以实现被配置成用于执行专业软件程序的专业设备或系统,这些专业软件程序执行与所披露的实施例一致的过程。
所披露的实施例还涉及包括程序指令或程序代码的有形或非瞬态计算机可读介质,当被一个或多个处理器执行,这些程序指令或程序代码执行一项或多项计算机实现的操作。这些程序指令或程序代码可以包括专门设计和构建的指令或代码、和/或计算机软件领域内的普通技术人员众所周知并且可获得的指令和代码。例如,所披露的实施例可以执行高级和/或低级软件指令,例如,像可以由处理器使用解释器执行的机器代码(例如,像编译器产生的机器代码)和/或高级代码。
此外,所披露的实施例可以应用于不同类型的过程和操作。任何承担复杂任务的实体可以使用与和所披露的实施例相关的某些原理一致的系统、方法和制品来规划、分析、监控和完成该任务。此外,任何与文章评估或出版的任何阶段相关联的实体还可以使用与某些披露的实施例一致的系统、方法和制品。
此外,尽管所披露的实施例的各方面被描述成与存储器和其他有形计算机可读存储介质中存储的数据相关联,但本领域内的技术人员将认识到这些方面还可以存储在许多类型的有形计算机可读存储介质(如辅助存储装置,像硬盘、软盘、或CD-ROM、或其他形式的RAM或ROM)上并从其中被执行。相应地,所披露的实施例不局限于上述示例,而是根据其等效方案的整个范围由所附权利要求书定义。

Claims (30)

1.一种对表示一个有待评估的文档的一个第一文件的组成进行评估的方法,该方法由一个或多个操作性地偶联至一个或多个存储器装置的处理器执行并且包括:
将该第一文件转换成一个第二文件,该第二文件包括与该第一文件的该组成相对应的多个对象,其中,该多个对象包括至少一个文本对象;
基于该多个对象确定一个或多个参数,该一个或多个参数包括与该至少一个文本对象相关联的一个或多个文本参数、与该文档中的至少一页相关联的一个或多个页参数、以及与该文档相关联的一个或多个文档参数;
基于一个规则引擎提供的多个组成规则评估该一个或多个参数;
生成多个评估结果并将这些评估结果存储在该一个或多个存储器装置内;以及
基于这些评估结果生成一个评估结论,该评估结论根据这些组成规则表明该文档的符合性。
2.如权利要求1所述的方法,其中,该第二文件是在一个包括至少一个标记标签的评估器标准可扩展标记语言(XML)文件内。
3.如权利要求1所述的方法,其中,该多个对象进一步包括:
至少一个非文本对象,该至少一个非文本对象包括至少一个表格对象、至少一个方程对象、至少一个图形对象中的一项或多项;以及
至少一个栏,该至少一个栏包括该文本对象和该非文本对象中的至少一个。
4.如权利要求3所述的方法,其中,基于该多个对象确定该一个或多个参数包括以下各项中的至少一项:
获得与至少一个标注相关联的一个或多个标注参数,该至少一个标注与该至少一个表格对象、该至少一个方程对象、或该至少一个图形对象中的一项或多项相对应;以及
获得与该至少一个表格对象、该至少一个方程对象、或该至少一个图形对象中的一项或多项相对应的一个或多个浮动参数。
5.如权利要求3所述的方法,其中,基于该多个对象确定该一个或多个参数包括:
确定与该至少一个表格对象相关联的一个或多个第一表格参数,这些第一表格参数与该至少一个表格对象的至少一个第一尺寸相对应;以及
确定与该至少一个表格对象相关联的一个或多个第二表格参数,这些第二表格参数与该至少一个表格对象中的一行和一列中的至少一个的至少一个第二尺寸相对应。
6.如权利要求3所述的方法,其中,基于该多个对象确定该一个或多个参数包括:
确定与该至少一个方程对象相关联的一个或多个方程参数;以及
对应于该至少一个方程对象,确定与至少一个断开相关联的至少一个字符。
7.如权利要求1所述的方法,其中,基于该多个组成规则评估该一个或多个参数包括:
基于与该至少一个文本对象相关联的该一个或多个文本参数确定以下各项中的至少一项
该至少一个文本对象的连续连字符的数量是否满足一个第一文本阈值条件;
一个或多个字符间间距是否满足一个第二文本阈值条件;
一个或多个单词间间距是否满足一个第三文本阈值条件;以及
一个或多个行间间距是否满足一个第四文本阈值条件。
8.如权利要求4所述的方法,其中,基于该多个组成规则评估该一个或多个参数包括:
基于该一个或多个标注参数和该一个或多个浮动参数中的至少一项确定以下各项中的至少一项
该至少一个表格对象、至少一个方程对象、以及至少一个图形对象中的一项或多项的尺寸是否满足一个第一标注阈值条件;
是否不能编排该至少一个表格对象、至少一个方程对象、以及至少一个图形对象中的该一项或多项中的至少一项;以及
至少一个标注距离是否满足一个第二标注阈值条件和一个第三标注阈值条件,该至少一个标注距离是基于这些标注参数和这些浮动参数计算的。
9.如权利要求5所述的方法,其中,基于该多个组成规则评估该一个或多个参数包括:
基于该一个或多个第一表格参数和该一个或多个第二表格参数中的至少一项确定以下各项中的至少一项
该至少一个表格对象的尺寸是否满足一个第一表格阈值条件,以及
列数据宽度是否满足一个第二表格阈值条件和一个第三表格阈值条件;以及
确定该至少一个表格对象是否堆积。
10.如权利要求6所述的方法,其中,基于该多个组成规则评估该一个或多个参数包括以下各项中的至少一项:
基于该一个或多个方程参数确定该至少一个方程对象的尺寸是否满足一个第一方程阈值条件;以及
基于与该至少一个断开相关联的该至少一个字符确定该至少一个字符是否满足一个第二方程阈值条件。
11.如权利要求3所述的方法,其中,基于该多个组成规则评估该一个或多个参数包括以下各项中的至少一项:
确定该至少一个图形对象的尺寸是否满足一个第一图形阈值条件,以及
确定该至少一个图形对象是否旋转。
12.如权利要求3所述的方法,其中,基于该多个组成规则评估该一个或多个参数包括以下各项中的至少一项:
确定一个空白区块是否满足一个第一栏阈值条件;以及
确定一个结束位置是否满足一个第二栏阈值条件和一个第三栏阈值条件。
13.如权利要求3所述的方法,其中,基于该多个组成规则评估该一个或多个参数包括基于该一个或多个页参数确定以下各项中的至少一项:
该至少一个文本对象的行间间距的一个或多个差异是否满足一个第一页阈值条件;以及多个栏结束位置的一个或多个差异是否满足一个第二页阈值条件。
14.如权利要求3所述的方法,其中,基于该多个组成规则评估该一个或多个参数包括基于该一个或多个文档参数确定以下各项中的至少一项:
当基于该多个组成规则评估该一个或多个参数时是否出现至少一个错误;
该至少一个文本对象与该至少一个非文本对象的面积比是否满足一个第一文件阈值条件和一个第二文件阈值条件;以及
该文档的最后一页上的多个栏结束位置是否满足一个第三文件阈值条件。
15.如权利要求3所述的方法,其中,生成这些评估结果包括:
生成与该至少一个文本对象、该至少一个非文本对象、该至少一个栏、该至少一页和该第一文件中的一项或多项相对应的评估结果;以及
确定这些评估结果的优先级数据,该优先级数据包括一个结论性的优先级和一个非结论性的优先级中的至少一个。
16.如权利要求15所述的方法,其中,基于这些评估结果生成该评估结论包括基于该优先级数据确定该文档是否符合这些组成规则。
17.一种存储指令的非瞬态计算机可读存储介质,当被一台计算机执行时,这些指令致使该计算机执行一种对表示一个有待评估的文档的一个第一文件的组成进行评估的方法,该方法由一个或多个操作性地偶联至一个或多个存储器装置的处理器执行并且包括:
将该第一文件转换成一个第二文件,该第二文件包括与该第一文件的该组成相对应的多个对象,其中,该多个对象包括至少一个文本对象;
基于该多个对象确定一个或多个参数,该一个或多个参数包括与该至少一个文本对象相关联的一个或多个文本参数、与该文档中的至少一页相关联的一个或多个页参数、以及与该文档相关联的一个或多个文档参数;
基于一个规则引擎提供的多个组成规则评估该一个或多个参数;
生成多个评估结果并将这些评估结果存储在该一个或多个存储器装置内;以及
基于这些评估结果生成一个评估结论,该评估结论根据这些组成规则表明该文档的符合性。
18.如权利要求17所述的计算机可读存储介质,其中,该多个对象进一步包括:
至少一个非文本对象,该至少一个非文本对象包括至少一个表格对象、至少一个方程对象、至少一个图形对象中的一项或多项;以及
至少一个栏,该至少一个栏包括该文本对象和该非文本对象中的至少一个。
19.如权利要求18所述的计算机可读存储介质,其中,基于该多个对象确定该一个或多个参数包括:
确定与该至少一个表格对象相关联的一个或多个第一表格参数,这些第一表格参数与该至少一个表格对象的至少一个第一尺寸相对应;以及
确定与该至少一个表格对象相关联的一个或多个第二表格参数,这些第二表格参数与该至少一个表格对象中的一行和一列中的至少一个的至少一个第二尺寸相对应。
20.如权利要求18所述的计算机可读存储介质,其中,基于该多个对象确定该一个或多个参数包括:
确定与该至少一个方程对象相关联的一个或多个方程参数;以及
对应于该至少一个方程对象,确定与至少一个断开相关联的至少一个字符。
21.如权利要求17所述的计算机可读存储介质,其中,基于该多个组成规则评估该一个或多个参数包括:
基于与该至少一个文本对象相关联的该一个或多个文本参数确定以下各项中的至少一项
该至少一个文本对象的连续连字符的数量是否满足一个第一文本阈值条件;
一个或多个字符间间距是否满足一个第二文本阈值条件;
一个或多个单词间间距是否满足一个第三文本阈值条件;以及
一个或多个行间间距是否满足一个第四文本阈值条件。
22.如权利要求19所述的计算机可读存储介质,其中,基于该多个组成规则评估该一个或多个参数包括:
基于该一个或多个第一表格参数和该一个或多个第二表格参数中的至少一项确定以下各项中的至少一项
该至少一个表格对象的尺寸是否满足一个第一表格阈值条件,以及
列数据宽度是否满足一个第二表格阈值条件和一个第三表格阈值条件;以及确定该至少一个表格对象是否堆积。
23.如权利要求20所述的计算机可读存储介质,其中,基于该多个组成规则评估该一个或多个参数包括以下各项中的至少一项:
基于该一个或多个方程参数确定该至少一个方程对象的尺寸是否满足一个第一方程阈值条件;以及
基于与该至少一个断开相关联的该至少一个字符确定该至少一个字符是否满足一个第二方程阈值条件。
24.如权利要求18所述的计算机可读存储介质,其中,基于该多个组成规则评估该一个或多个参数包括以下各项中的至少一项:
确定该至少一个图形对象的尺寸是否满足一个第一图形阈值条件,以及
确定该至少一个图形对象是否旋转。
25.如权利要求18所述的计算机可读存储介质,其中,基于该多个组成规则评估该一个或多个参数包括以下各项中的至少一项:
确定一个空白区块是否满足一个第一栏阈值条件;以及
确定一个结束位置是否满足一个第二栏阈值条件和一个第三栏阈值条件。
26.如权利要求18所述的计算机可读存储介质,其中,基于该多个组成规则评估该一个或多个参数包括基于该一个或多个页参数确定以下各项中的至少一项:
该至少一个文本对象的行间间距的一个或多个差异是否满足一个第一页阈值条件;以及多个栏结束位置的一个或多个差异是否满足一个第二页阈值条件。
27.如权利要求18所述的计算机可读存储介质,其中,基于该多个组成规则评估该一个或多个文档参数包括基于该一个或多个文档参数确定以下各项中的至少一项:
当基于该多个组成规则评估该一个或多个参数时是否出现至少一个错误;
该至少一个文本对象与该至少一个非文本对象的面积比是否满足一个第一文件阈值条件和一个第二文件阈值条件;以及
该文档的最后一页上的多个栏结束位置是否满足一个第三文件阈值条件。
28.如权利要求18所述的计算机可读存储介质,其中,生成这些评估结果包括:
生成与该至少一个文本对象、该至少一个非文本对象、该至少一个栏、该至少一页和该第一文件中的一项或多项相对应的评估结果;以及
确定这些评估结果的优先级数据,该优先级数据包括一个结论性的优先级和一个非结论性的优先级中的至少一个。
29.如权利要求28所述的计算机可读存储介质,其中,基于这些评估结果生成该评估结论包括基于该优先级数据确定该文档是否符合这些组成规则。
30.一种用于对表示一个有待评估的文档的一个第一文件的组成进行评估的系统,该系统包括:
一个处理器,该处理器被配置成用于将该第一文件转换成一个第二文件,该第二文件包括与该第一文件的该组成相对应的多个对象,其中,该多个对象包括至少一个文本对象;
一个解释器,该解释器被配置成用于基于该多个对象确定一个或多个参数,该一个或多个参数包括与该至少一个文本对象相关联的一个或多个文本参数、与该文档中的至少一页相关联的一个或多个页参数、以及与该文档相关联的一个或多个文档参数;
一个评估器,该评估器被配置成用于
基于一个规则引擎提供的多个组成规则评估该一个或多个参数:
生成多个评估结果并将这些评估结果存储在一个或多个存储器装置内;以及
基于这些评估结果生成一个评估结论,该评估结论根据这些组成规则表明该文档的符合性。
CN201380058371.9A 2012-09-07 2013-09-06 自动组成评估器 Active CN105190596B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261698437P 2012-09-07 2012-09-07
US61/698437 2012-09-07
PCT/US2013/058629 WO2014039911A2 (en) 2012-09-07 2013-09-06 Automated composition evaluator

Publications (2)

Publication Number Publication Date
CN105190596A CN105190596A (zh) 2015-12-23
CN105190596B true CN105190596B (zh) 2018-03-27

Family

ID=50234656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380058371.9A Active CN105190596B (zh) 2012-09-07 2013-09-06 自动组成评估器

Country Status (10)

Country Link
US (1) US9384179B2 (zh)
EP (1) EP2893463A4 (zh)
JP (1) JP6505600B2 (zh)
KR (1) KR102110281B1 (zh)
CN (1) CN105190596B (zh)
BR (1) BR112015005059A2 (zh)
CA (1) CA2884242C (zh)
HK (1) HK1212484A1 (zh)
MX (1) MX344637B (zh)
WO (1) WO2014039911A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6262708B2 (ja) * 2014-12-31 2018-01-17 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド 深い検索性を有するオブジェクト化及びハードコピーからオリジナルの電子ファイルを検出するドキュメント検出方法
WO2017002130A1 (en) * 2015-07-01 2017-01-05 Tnq Books And Journals Private Limited Transformation of marked-up content to a reversible file format for automated browser based pagination
US10318614B2 (en) * 2015-07-01 2019-06-11 Tnq Books And Journals Private Limited Transformation of marked-up content into a file format that enables automated browser based pagination
US10453014B2 (en) * 2015-07-14 2019-10-22 Bank Of America Corporation Systems and methods for utilizing compliance drivers to conserve system resources and reduce compliance violations
CN112216337B (zh) * 2020-09-11 2024-03-29 深圳市金泰克半导体有限公司 固件参数检测方法、装置及固件设置方法
KR20220118037A (ko) * 2021-02-18 2022-08-25 삼성전자주식회사 전자 장치 및 이의 제어 방법

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262192A (ja) * 1994-03-25 1995-10-13 Fuji Xerox Co Ltd 構造化文書検査装置
US5893123A (en) * 1995-06-22 1999-04-06 Tuinenga; Paul W. System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet
US6006240A (en) * 1997-03-31 1999-12-21 Xerox Corporation Cell identification in table analysis
AU5615000A (en) * 1999-06-14 2001-01-02 Thomson Corporation, The System for converting data to a markup language
JP3701197B2 (ja) * 2000-12-28 2005-09-28 松下電器産業株式会社 分類への帰属度計算基準作成方法及び装置
AU2002334721B2 (en) * 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
NO316480B1 (no) * 2001-11-15 2004-01-26 Forinnova As Fremgangsmåte og system for tekstuell granskning og oppdagelse
US7146361B2 (en) * 2003-05-30 2006-12-05 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, including a search operator functioning as a Weighted AND (WAND)
US7308643B1 (en) * 2003-07-03 2007-12-11 Google Inc. Anchor tag indexing in a web crawler system
KR20060061790A (ko) * 2003-07-08 2006-06-08 유에스 링크스 엘엘씨 가상 문서 아키텍쳐를 통해 공동 편집과 어카운트빌리티를용이하게 하는 자동 출판 시스템
US20050050298A1 (en) * 2003-08-25 2005-03-03 International Business Machines Corporation Method and system for mapping open grid services architecture service data to native resource representation
GB2424103A (en) * 2003-11-21 2006-09-13 Agency Science Tech & Res Method and system for validating the content of technical documents
US7448022B1 (en) * 2004-02-10 2008-11-04 Prasad Ram Dynamic software composition in a component-based software system
US20050257201A1 (en) * 2004-05-17 2005-11-17 International Business Machines Corporation Optimization of XPath expressions for evaluation upon streaming XML data
ATE510259T1 (de) * 2005-01-31 2011-06-15 Ontoprise Gmbh Abbilden von web-diensten auf ontologien
US20060288015A1 (en) * 2005-06-15 2006-12-21 Schirripa Steven R Electronic content classification
US7827484B2 (en) * 2005-09-02 2010-11-02 Xerox Corporation Text correction for PDF converters
US20070079236A1 (en) * 2005-10-04 2007-04-05 Microsoft Corporation Multi-form design with harmonic composition for dynamically aggregated documents
CN101383838B (zh) * 2007-09-06 2012-01-18 阿里巴巴集团控股有限公司 一种Web界面在线评估的方法、系统和装置
US20090198488A1 (en) * 2008-02-05 2009-08-06 Eric Arno Vigen System and method for analyzing communications using multi-placement hierarchical structures
GB2471432A (en) * 2008-04-03 2010-12-29 Icurrent Inc Information display system based on user profile data with assisted and explicit profile modification
US8261186B2 (en) * 2009-01-02 2012-09-04 Apple Inc. Methods for efficient cluster analysis
US8610761B2 (en) * 2009-11-09 2013-12-17 Prohectionworks, Inc. Systems and methods for optically projecting three-dimensional text, images and/or symbols onto three-dimensional objects
US20130205202A1 (en) * 2010-10-26 2013-08-08 Jun Xiao Transformation of a Document into Interactive Media Content
US8645819B2 (en) 2011-06-17 2014-02-04 Xerox Corporation Detection and extraction of elements constituting images in unstructured document files
SG11201402943WA (en) * 2011-12-06 2014-07-30 Perception Partners Inc Text mining analysis and output system
US9098471B2 (en) * 2011-12-29 2015-08-04 Chegg, Inc. Document content reconstruction
US20130227397A1 (en) * 2012-02-24 2013-08-29 Microsoft Corporation Forming an instrumented text source document for generating a live web page

Also Published As

Publication number Publication date
EP2893463A2 (en) 2015-07-15
HK1212484A1 (zh) 2016-06-10
US20140075273A1 (en) 2014-03-13
CA2884242C (en) 2023-09-05
WO2014039911A3 (en) 2014-05-08
CN105190596A (zh) 2015-12-23
KR20150081256A (ko) 2015-07-13
BR112015005059A2 (pt) 2017-07-04
JP6505600B2 (ja) 2019-04-24
CA2884242A1 (en) 2014-03-13
MX344637B (es) 2017-01-04
US9384179B2 (en) 2016-07-05
MX2015002953A (es) 2015-09-24
KR102110281B1 (ko) 2020-05-13
WO2014039911A2 (en) 2014-03-13
EP2893463A4 (en) 2016-06-15
JP2015531513A (ja) 2015-11-02

Similar Documents

Publication Publication Date Title
CN105190596B (zh) 自动组成评估器
US8166037B2 (en) Semantic reconstruction
JP2022541199A (ja) データテーブルの画像表現に基づいて構造化されたデータベースにデータ挿入するためのシステムおよび方法。
CA2503636C (en) A method of formatting documents
US8874581B2 (en) Employing topic models for semantic class mining
MXPA04011507A (es) Identificador de estructura de documento.
CN107590219A (zh) 网页人物主题相关信息提取方法
Rastan et al. Texus: A task-based approach for table extraction and understanding
CN102830947A (zh) 一种基于报表打印模板格式实现的报表打印控件
US8914378B2 (en) Specification document check method, program, and system
KR20120051419A (ko) 종속형 스타일 시트 규칙 추출 장치 및 방법
CN102646091A (zh) 依存关系标注方法、装置和系统
CN108536683A (zh) 一种基于机器学习的论文碎片化信息抽取方法
ZA200503517B (en) Multi-layered forming fabric with a top layer of twinned wefts and an extra middle layer of wefts
US20130326336A1 (en) Generating semantic structured documents from text documents
TWI602069B (zh) 以電子格式產生技術文件的系統
Paramonov et al. Heuristic algorithm for recovering a physical structure of spreadsheet header
Bilauca et al. Building table formatting tools
Rockley Single sourcing and information design
Härdle et al. GitHub API based QuantNet mining infrastructure in R
Potvin et al. A Position-Based Method for the Extraction of Financial Information in PDF Documents
CN117520572A (zh) 一种期刊Word文档智能标引的方法
CN116049595A (zh) 一种网页文档信息提取方法及系统
Ding et al. Frequently Asked Question Pair Generation for Rule and Regulation Document
AU2003280227B2 (en) A method of formatting documents

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant