CN1577328A - 基于视觉的文档分割 - Google Patents
基于视觉的文档分割 Download PDFInfo
- Publication number
- CN1577328A CN1577328A CNA2004100556979A CN200410055697A CN1577328A CN 1577328 A CN1577328 A CN 1577328A CN A2004100556979 A CNA2004100556979 A CN A2004100556979A CN 200410055697 A CN200410055697 A CN 200410055697A CN 1577328 A CN1577328 A CN 1577328A
- Authority
- CN
- China
- Prior art keywords
- block
- visible
- document
- node
- separator
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
基于视觉的文档分割标识文档的语义内容的一个或多个部分。所述一个或多个部分通过在所述文档中标识多个可视块,并检测所述多个可视块的可视块之间的一个或多个分隔符来标识。至少部分地基于所述多个可视块和所述一个或多个分隔符对所述文档构造内容结构,并且所述内容结构标识所述文档的语义内容的一个或多个部分。使用基于视觉的文档分割所获得的内容结构能够在文档检索过程中被可任选地使用。
Description
技术领域
本发明涉及划分文档,尤其涉及基于视觉的文档分割。
背景技术
人们能够访问大量的信息。然而,在任一给定的情况下找到他们所需的特定信息是相当困难的。例如,通过因特网,大量的信息以web页的形式可由人们访问。这类web页的数量可以约为100万或更多。另外,可用的web页经常变化,一些页被添加,其它被删除,其它被修改。
由此,当有人期望找出某一信息,如对问题的答案时,从这一大信息源提取特定的信息的能力变得十分重要。开发了过程和技术来允许用户通过因特网搜索信息,并通常以搜索引擎的方式对用户可用。然而,大部分由于所搜索的web页上的内容的极度宽广的范围,这类搜索引擎缺乏准确度。例如,一些web页包括版权和其它商业相关注意事项,一些web页包括广告。这类商业相关和广告数据不总是与该web页的基础内容相关,并且如果考虑这一因素,由此会降低搜索过程的准确度。作为另一示例,不同的web页可以在长度上大不相同,一些可包括多个主题,而其它包含单个主题。
web页的这些特性会降低搜索过程的准确性。因此,具有一种提高搜索文档的准确性的方法是有益的。
发明内容
本发明描述了基于视觉的文档分割。
依照一个方面,标识了文档的语义内容的一个或多个部分。该一个或多个部分通过在文档中标识多个可视块,并检测多个可视块的可视块之间的一个或多个分隔符来标识。至少部分地基于该多个可视块和该一个或多个分隔符构造该文档的内容结构,并且该内容结构将不同的可视块标识为该文档的语义内容的不同部分。
依照其它方面,在文档检索过程中使用了采用基于视觉的文档分割所获的内容结构。
附图说明
文档中,使用相同的标号标识相同的组件和/或特征。
图1所示是使用基于视觉的文档分割的示例***的结构图。
图2所示是用于执行基于视觉的文档分割的示例过程的流程图。
图3所示是用于执行可视块标识的示例过程的流程图。
图4所示是用于执行可视分隔符检测的示例过程的流程图。
图5a、5b、5c、5d、5e和5f所示是检测水平分隔符的示例。
图6所示是用于执行内容结构构造的示例过程的流程图。
图7所示是生成可视块和内容结构树的示例。
图8所示是用于使用基于视觉的文档分割执行文档检索的示例过程的流程图。
图9所示是用于使用基于视觉的文档分割执行文档检索的另一示例过程的流程图。
图10所示是用于使用基于视觉的文档分割的文档检索的另一示例过程的流程图。
图11所示是可用来实现所描述的技术的一般计算环境的示例。
具体实施方式
本发明描述了基于视觉的文档分割。基于文档的可视外观,基于视觉的文档分割标识包括了该文档的语义内容的文档的多个部分。基于视觉的文档分割可以以多种不同的方式来使用。例如,当搜索文档时可以使用分割,以使搜索结果基于该文档的语义内容部分。
下文的讨论借助于文档以及用于描述文档结构的模型。文档可以是多种格式中的任一种,诸如依照标准通用标记语言(SGML)如可扩充标记语言(XML)格式或超文本标记语言(HTML)格式。在几个实施例中,这些文档是HTML格式的web页。这里讨论的模型可以是描述文档的结构的多种模型中的任一种。在几个实施例中,使用的模型是文档对象模型(DOM)。“文档对象模型”是文档的树结构表示,也称为DOM树。在本发明的许多讨论中,描述文档为HTML格式(如,web页),描述模型为DOM树,并且该文档的每一HTML标签由DOM树中的一个节点表示(DOM树也可包括另外的节点,如#text或#comment节点,可能不表示HTML标签)。然而,可以理解,基于视觉的文档分割也可以用于这些其它文档和/模型。
图1所示是使用基于视觉的文档分割的示例***100的结构图。***100包括具有可视块提取器104、可视分隔符检测器106以及内容结构构造器108的基于视觉的文档分割模块102。文档描述对基于视觉的文档分割模块102是可访问的。这一文档描述是描述文档的结构的模型,如DOM树。文档描述可由另一组件(未示出)生成,并令其对模块102可用,或者可选地,文档自身可对模块102可访问,并且模块102可生成文档描述。
可视块提取器104基于文档描述标识该文档的多个可视块。这一可视块的标识(这里也称为提取)基于文档内的可视提示,如字体大小和/或类型、字体颜色和/或背景信息、HTML标签类型等等。标识的块是该文档的区域。标识的块由提取器104输出并令其对可视分隔符检测器106可用。
可视分隔符检测器106检测不同的标识块之间的分隔符。这些分隔符可以采用多种不同的形式,如文档中的线、文档中的空白区、对不同块的不同背景颜色等等。在特定的实施例中,检测文档中水平和/或垂直方向上的分隔符。令这些检测的分隔符对内容结构构造器108可用。
内容结构构造器108基于提取器104标识的块以及检测器106检测的分隔符对文档生成内容结构。内容结构是表示文档的语义内容的文档的一个或多个部分。内容结构由模块102输出。
然后可以以多种方式使用文档的内容结构。在几个实施例中,***100包括可任选文档检索模块110。文档检索模块110使用来自基于视觉的分割模块102的内容结构来确定返回哪一文档作为对查询的响应。例如,当用户在搜索web页时输入一个或多个搜索条件时,可以使用内容结构来确定哪些web页满足标准。
文档检索过程中使用内容结构的方式可以变化。在一些实施例中,使用内容结构来为响应于查询而检索的文档分级。另外,在一些实施例中,使用内容结构作为扩展搜索标准的基准。这些使用在下文更详细地讨论。
应当注意,这里描述的基于视觉的文档分割使用当显示文档时它所显现的方式。基于视觉的文档分割不需要实际显示文档,并且基于视觉的文档分割也不需要用户实际看见所显示的文档。
图2所示是用于执行基于视觉的文档分割的示例过程140的流程图。过程140由图1的基于视觉的文档分割模块102实现,并可以以软件、固件、硬件或其组合执行。
最初,访问文档描述(行动142)。这一文档描述是例如HTML web页的DOM树。采用了文档描述,标识文档中一个或多个可视块(行动144)。检测标识的可视块之间的分隔符(行动146),并基于标识的可视块和检测的分隔符为文档构造内容结构(行动148)。然后检查内容结构是否满足粒度需求(行动150)。粒度需求是指内容结构的可视块的一致度(DoC),为每一可视块一致到何种程度的量度。如果不满足粒度需求,则过程140返回到行动144,其中在不满足粒度需求的文档内容中标识新可视块。一旦满足了粒度需求,输出该文档的内容结构(行动152)。对行动144、146和148的组合的每次循环(即,标识了可视块、检测了标识的块之间的分隔符并基于标识的可视块和检测的分隔符构造了内容结构)这里称为“轮”。
由此,可以看到,基于视觉的文档分割采用自顶向下的方法。一般而言,标识一组初始的可视块,并如下所述令其对可视分隔符检测和内容结构构造可用。在这些可视块内,在随后的轮中适当地标识另外的可视块(即,对不满足粒度需求的每一可视块在随后的轮中标识另外的可视块)。
如这里所讨论的,假定使用的文档在显示时在形状上为矩形。由此,参考矩形或笛卡尔坐标***(如,X,Y坐标***)描述一些大小、维数、面积等等。可以理解,这些仅作示例,并且矩形形状和坐标***可以不同。在一些实例中,如果使用了非矩形形状,则在执行基于视觉的文档分割之前将其转化为矩形。在其它实例中,在此描述的过程和技术适应于使用这些不同的形状和/或坐标***。
可视块标识
可视块标识,这里也称为可视块提取,基于可视提示标识了文档的不同区域。然后输出这些不同区域的指示并在可视分隔符检测中使用,如后文所详细描述的。可视块标识(如,在图2的行动144中或由图1的可视块提取器104实现)能够如下执行。
一般而言,文档的DOM树中的每一节点能够表示一个可视块。一些大节点(如,具有<TABLE>或<P>标签)通常仅用于组织目的,并且不适合表示单个可视块。因此,这类大节点被进一步划分并由其子节点替代。另一方面,由于叶节点潜在的巨大数量,不应当最初将可视块标识为DOM树中的每一叶节点(尽管由于基于视觉的可视文档分割的自上而下特性,一些这样的叶节点最终可被标识为可视块)。
图3所示是用于执行可视块标识的示例过程170的流程图。过程170以额外的细节说明了图2的行动144。过程170可以软件、固件、硬件或其组合执行。
最初,从DOM树的候选节点组中选择一个节点(行动172)。这一候选节点组指在当前轮中为潜在可视块的DOM树的节点。当执行过程170时可以改变候选节点,如后文更详细讨论的。在特定的实施例中,候选节点组最初为单个节点,单个节点在第一轮中为DOM树的根节点或者在随后的轮中为DOM树的子树的顶部节点(如,对应于不满足粒度需求的可视块的DOM树的一部分的顶部节点)。可选地,最初的候选节点组可以不同,如DOM树中根节点以下一层的节点或DOM树的子树的顶部节点以下一层的节点。
然后检查是否能划分选择的节点(行动174)。如果能划分选择的节点,则向候选节点组添加选择的节点的每一子节点(行动176),并且将选择的节点从候选节点组中移除(行动178)。过程170然后返回到行动172并从候选节点组中选择另一节点。
返回到行动174,如果选择的节点不能被划分,则选择的节点表示一个可视块(行动180),并将其添加到由过程170标识的可视块池(pool)中。对该可视块设置一致度(DoC)(行动182),如后文更详细讨论的,并将选择的节点从候选节点组中移除(行动184)。还检查候选节点组中是否有另外的节点(行动186)。如果候选节点组中有另外的节点,则过程返回到行动172,从候选节点组中选择一个节点。如果候选节点组中没有另外的节点,则完成可视块标识过程170(行动188),行动180中选择的可视块为过程170标识的可视块。然后可以在可视分隔符检测中使用过程170标识的可视块池,如后文更详细讨论的。
基于一个或多个规则确定一个特定节点是否能被划分(行动174中)。这些规则利用关于该节点以及可能DOM树中一个或多个其它节点的一个或多个提示或信息。这类提示或信息的示例包括标签提示、颜色提示、文本提示和大小提示。可以基于这些提示来指定的规则的示例如下。在特定的实施例中,也可以包括缺省规则(如,该节点可以被划分,或者作为替换该节点不能被划分)。如果没有其它规则可用,则使用该缺省规则。
顶块规则:顶块规则基于评估的树中节点的位置。顶块规则规定如果该节点是评估的树中的顶部节点(如,第一轮中DOM树的根节点),则该节点能够被划分。
标签规则:标签规则基于该节点的HTML标签。一些HTML标签如<HR>标签,经常用来从可视的观点分隔不同的主题。标签规则规定,如果该节点的子节点之一的HTML标签不等于一组特定的标签之一(如,该HTML标签为<HR>标签),则该节点能够被划分。
颜色规则: 颜色规则基于该节点的背景色以及该节点的子节点的背景色。颜色规则规定,如果该节点的背景色不同于其至少一个子节点的背景色,则该节点能够被划分。
文本和大小规则:可以使用若干文本和大小规则。在这些规则的一些中,对节点的高度、宽度和/或大小作出参考。节点的高度指当显示一个块时由该节点表示的块的可视高度(如,使用X,Y坐标***以像素表示),节点的宽度指当显示一个块时由节点表示的块的可视宽度(如,使用X,Y坐标***以像素表示),节点的面积表示当显示一个块时由节点表示的块所占用的显示面积(如,使用X,Y坐标***以像素表示)(如,在矩形块的情况下为该节点的宽度和高度的乘积)。可以基于包括在DOM树的节点中的位置定位信息容易地确定这些大小。
这些规则的其中一些(以及本描述中其它地方的讨论)参考有效节点、块节点、文本节点、虚拟文本节点和/或导航节点。有效节点指当显示HTML文档时可见的节点(如,高度和宽度都不等于零)。块节点指具有不同于<A>、<B>、<FONT>、<HR>、<I>、<P>、<STRONG>、<EM>或<TEXT>的某一标签的节点。文本节点指仅包含自由文本的节点。虚拟文本节点指非块节点且仅具有文本节点作为(多个)子节点的节点。导航节点指其高度大于宽度的两倍,且宽度小于200的节点。在特定的实现中,关于导航节点的规则在第一轮中使用,但是在随后的轮中不使用。
可以对具有一般标签(即,对于除<P>标签、<TABLE>标签、<TD>标签和<UL>标签以外的所有HTML标签)的节点使用以下基于文本和大小提示的规则:
·如果该节点没有有效子节点,则该节点不能被划分,并且将该节点从候选节点组中移除;
·如果该节点只有一个有效子节点,并且该子节点不是文本节点,则跟踪到该子节点中(从候选节点组中移除该节点并且用其子节点来替换它);
·如果该节点的大小比其子节点大小的总和大至少三倍,则该节点能够被划分;
·如果该节点的所有子节点是文本节点或虚拟文本节点,则该节点不能被划分;
·如果该节点具有至少一个文本节点子节点或者至少一个虚拟文本节点子节点,并且该节点的宽度或高度小于一阈值(如,150),则该节点不能被划分;
·如果该节点为导航节点,则该节点不能被划分;
·如果该节点具有至少一个文本节点子节点或者至少一个虚拟文本节点子节点,并且还不具有块节点子节点,则该节点不能被划分;
·如果该节点具有多于两个连续<BR>子节点,则该节点不能被划分;以及
·否则,该节点能够被划分。
可以对具有<P>HTML标签的节点使用以下基于文本和大小提示的规则:
·如果该节点没有有效子节点,则该节点不能被划分,并且将该节点从候选节点组中移除;
·如果该节点只有一个有效子节点并且该子节点不是文本节点,则跟踪到该子节点(从候选节点组中移除该节点,并且用其子节点替换它);
·如果该节点的所有子节点是文本节点或虚拟文本节点,则该节点不能被划分;
·如果该节点的所有子节点的大小的总和大于该节点的大小,并且至少一个子节点为块节点,则该节点能够被划分;
·如果该节点具有至少一个文本节点子节点或者至少一个虚拟文本节点子节点,并且该节点的宽度或高度小于一阈值(如,150),则该节点不能被划分;
·如果该节点没有块节点子节点,则该节点不能被划分。
·如果该节点的所有子节点小于一门限(如,宽度<150且高度<100),则该节点不能被划分;
·否则,该节点能够被划分。
可以对具有<TABLE>HTML标签的节点使用以下基于文本和大小提示的规则:
·如果该节点没有有效子节点,则该节点不能被划分,并且从候选节点组中移除该节点;
·如果该节点只有一个有效子节点且该子节点不是文本节点,则跟踪到该子节点(从候选节点组中移除该节点并用其子节点替换它);
·如果该节点的最大子节点的大小小于一阈值(如,250*200),则该节点不能被划分;
·如果该节点的所有子节点小于一阈值(如,宽度<150或高度<100),则该节点不能被划分;
·如果该节点的所有子节点大于一阈值(如,宽度>150且高度>100),则该节点不能被划分;
·如果该节点的一些(大于0)有效子节点大于一阈值(如,宽度>150且高度>100)并且该节点的一些(大于0)有效子节点小于一阈值(如,宽度<150且高度<100),则该节点不能被划分;
·否则,该节点能够被划分。
可以对具有<TD>HTML标签的节点使用以下基于文本和大小提示的规则:
·如果该节点没有有效子节点,则该节点不能被划分,并且从候选节点组中移除该节点;
·如果该节点只有一个有效子节点并且该子节点不是文本节点,则跟踪到该子节点(从候选节点组中移除该节点并用其子节点替换它);
·否则,该节点不能被划分;
可以对具有<UL>HTML标签的节点使用以下基于文本和大小提示的规则:
·如果该节点没有有效子节点,则该节点不能被划分,并且从候选子节点中移除该节点;
·如果该节点只有一个有效子节点,并且该子节点不是文本节点,则跟踪到该子节点(从候选节点组中移除该节点并用其子节点替换它);
·如果该节点没有块节点子节点,则该节点不能被划分;
·如果该节点的所有子节点具有<LI>HTML标签,则该节点不能被划分;
·如果该节点的所有子节点小于一阈值(如,宽度<150且高度<100),则该节点不能被划分。
·否则,该节点能够被划分。
在可视块标识中,一致度(DoC)值是分配给从DOM树提取的可视块的量度。也可以在内容结构构造中对可视块生成不同的一致度(DoC)值,如后文更详细讨论的。可视块(或虚拟块)的DoC值是该可视块(或虚拟块)一致到何种程度的测量。
在可视块标识中分配给块的DoC值可以以多种不同的方式分配。在几个实施例中,基于DOM树中其相应的节点(表示该可视块的节点)分配可视块的DoC值,并且可以基于该节点的HTML标签而变化。以下是在可视块标识中分配DoC时可以遵循的一组示例规则。在以下示例中,DoC值为从1到10范围内的整数,尽管可以可选地使用不同的范围(如,由整数、实数组成等等)。会出现以下规则的多个应用到特定的块,并且不能导致该块的多个DoC值的情况。这一情况可以以多种不同的方式来解决,如选择由规则之一分配的最大DoC值、选择由规则之一分配的最小DoC值、平均由规则分配的DoC值、计算由规则分配的DoC值的加权平均值等等。
以下示例规则用来向具有一般HTML标签(即,对除<P>标签、<TABLE>标签、<TD>标签和<UL>标签之外的所有HTML标签)的可视块分配DoC值:
·如果该节点的所有子节点是文本节点或虚拟文本节点,则设置该块的DoC值为10;
·如果该节点具有至少一个文本节点子节点或至少一个虚拟文本节点子节点,并且该节点的宽度或高度小于一阈值(如,150),则设置该块的DoC值为8;
·如果该节点是导航节点(如,仅在第一轮中,其高度大于其宽度两倍,并且其宽度小于200的节点;在随后的轮中,不应用该规则),则设置该块的DoC值为7;
·如果该节点具有至少一个文本节点子节点或至少一个虚拟文本节点子节点,并且还不具有块节点子节点,则基于该节点的大小设置该块的DoC值如下:
o如果该节点的宽度和高度都小于一第一阈值(如,100),则设置该块的DoC值为8;
o如果该节点的高度小于一第二阈值(如,200)或者宽度小于一第三阈值(如,400),则设置该块的DoC值为7;以及
o如果该节点的面积(如,该节点的宽度和高度的乘积)小于一第四阈值(如,100,000),则设置该块的DoC值为6;以及
·如果上述规则没有一个能够应用到具有一般HTML标签的块,则设置该块的DoC值为5。
使用以下规则对具有<P>HTML标签的可视块分配DoC值:
·如果该节点的所有子节点是文本节点或虚拟文本节点,则设置块的DoC值为10;
·如果该节点具有至少一个文本节点子节点或者至少一个虚拟文本节点子节点,并且该节点的宽度或高度小于一阈值(如,150),则设置该块的DoC值为8;
·如果该节点不具有块节点子节点,则设置该块的DoC值为7;以及
·如果该节点的所有块节点子节点小于一阈值(如,宽度<150且高度<100),则:
o如果该节点具有至少一个文本节点子节点或者至少一个虚拟文本节点子节点,则设置该块的DoC值为7;以及
o否则,设置该块的DoC值为6。
使用以下规则对具有<TABLE>HTML标签的可视块分配DoC值:
·如果该节点的最大子节点小于一阈值(如,250*200),则设置该块的DoC值为8;
·如果该节点的所有子节点小于一阈值(如,宽度<150且高度<100),则设置该块的DoC值为7;以及
·如果该节点的所有有效节点子节点大于一阈值(如,宽度>150且高度>100),则设置该块的DoC值为6。
使用以下示例规则对具有<TD>HTML标签的可视块分配DoC值:
·如果该节点的所有子节点是文本节点或虚拟文本节点,则设置该块的DoC值为10;
·如果该节点具有至少一个文本节点子节点或者至少一个虚拟文本节点子节点,并且该节点的宽度或高度小于一阈值(如,150),则设置该块的DoC值为8;
·如果该节点不具有块节点子节点,则设置该块的DoC值为7;
·如果该节点的所有块节点子节点小于一阈值(如,宽度<150且高度<100),则设置该块的DoC值为7;以及
·如果该节点的最大子节点的大小小于一阈值(如,250*200),则设置该块的DoC值为7。
使用以下示例规则对具有<UL>HTML标签的可视块分配DoC值:
·如果该节点不具有块节点子节点,则设置该块的DoC值为8;
·如果该节点的所有子节点具有<LI>HTML标签,则设置该块的DoC值为8;以及
·如果该节点的所有子节点小于一阈值(如,宽度<150且高度<100),则设置该块的DoC值为8。
例如,可以使用具有DivideDomtree程序或函数(以下表I中示出),以及Dividable程序或函数(以下表II中示出)的算法来实现图3的规则和过程170的示例。在该算法中,值pRoot指当前选择的节点,值nLevel指DOM树中当前选择的节点的层,池指由该算法标识的可视块的组,顶块指DOM树或者本轮中评估的子树的顶节点(如,在第一轮中,顶块指DOM树的根节点),child指当前选择的节点的子节点。以上描述了Dividable程序或函数的具体例程和启发式规则。每次调用DivideDomtree程序或函数时,向其传递DOM树的一个节点作为pRoot的值,并且传递DOM树中该节点的层的值作为nLevel的值。
表 I
算法DivideDomtree(pRoot,nLevel){IF(Dividable(pRoot,nLevel)==TRUE){对pRoot的每一child{DivideDomtree(child,nLevel);}}ELSE{将子树(pRoot)放入池中作为一个块;}} |
表 II
算法Dividable(pRoot,nLevel){IF(pRoot是顶块){RETURN TRUE;}ESLE{对TABLE、TD、P、UL的特殊例程;对一般标签的启发式规则;}} |
可视分隔符检测
可视分隔符检测检测由可视块标识所标识的不同块之间的分隔符。这些分隔符可以是各种不同的形式,如文档中的线、文档中的空白区、对不同块的不同背景色等等。在几个实施例中,检测文档中水平和/或垂直方向上的分隔符。可视分隔符检测(如,图2的行动146中或由图1的可视分隔符检测器106实现)可以如下执行。
检测的分隔符是文档中不可视地与由可视块标识所标识的块的池中的任何块交叉的水平或垂直区域。这些分隔符用作用于区别文档内不同语义的标识符。分隔符由2元组(Ps,Pe)表示,其中,Ps是该分隔符的开始像素,Pe是该分隔符的终止像素。每一像素Ps和Pe被标识为X,Y坐标对,并且通过将Ps和Pe设置为矩形的对角(如,左下角和右上角、左上角和右下角等等)能够确定矩形区域。计算分隔符的宽度为Ps和Pe之间的差(如,在X方向)。
对水平和垂直方向作出参考。通常,在X,Y坐标系中,水平方向指X轴而垂直方向指Y轴。然而,也可以作为替换使用对水平和垂直方向的其它定向。
图4所示是用于执行可视分隔符检测的示例过程200的流程图。过程200以额外的细节说明了图2的行动146。过程200可以以软件、固件、硬件或其组合实现。
最初,使用一个分隔符初始化分隔符列表(行动202)。该一个分隔符包括可能潜在地为(多个)分隔符的文档的显示范围的所有区域。在几个实施例中,这一初始分隔符包括该文档的整个范围,或者可选地,该分隔符可以是包括由虚拟块标识所标识的可视块的池中的所有块的单个矩形区域。
然后从标识的块的池中选择一个块(行动204)。可以以任一多种方式从池中选择块(如,随机地、以它们添加到池的顺序、通过增加或减小大小等等)。然后检查所选择的块是否包含在分隔符列表的分隔符中(行动206)。如果一个块的整个范围都包括在分隔符的范围内,则认为该块包含在分隔符内。如果所选择的块包含在分隔符内,则将该分隔符***成两个分隔符(行动208)。可以以不同的方式完成这一***,如,通过从分隔符列表中移除包含块的分隔符并向分隔符列表添加两个新的分隔符、修改该分隔符的Ps或Pc像素并添加一个新分隔符,等等。分隔符的***导致先前为单个分隔符的分隔符变成该块的两侧的两个较小的分隔符。当检测水平分隔符时,两个较小的分隔符将在块的上方和下方,当检测垂直分隔符时,两个较小的分隔符将在块的左边和右边。
当在行动208***分隔符之后,或者如果所选择的块不包含在分隔符中,检查所选择的块是否跨越了分隔符(行动210)。当检测水平分隔符时,如果一个块的范围与分隔符的一部分交叉但是小于该分隔符的整个高度,则认为该块跨越该分隔符。当检测垂直分隔符时,如果一个块的范围与分隔符的一部分交叉但是小于该分隔符的整个宽度时,则认为该块跨越了该分隔符。
如果所选择的块跨越了分隔符,则更新该分隔符的参数,使该块不再跨越该分隔符(行动212)。这一更新参数指修改该分隔符的Ps和/或Pe像素,使该块不再跨越该分隔符。
在行动212中更新分隔符的参数之后,或者如果选择的块不跨越分隔符,检查所选择的块是否覆盖了分隔符(行动214)。当检测水平分隔符时,如果一个块的范围与分隔符的至少一部分的整个高度交叉,认为该块覆盖了该分隔符。当检测垂直分隔符时,如果一个块的范围与分隔符的至少一部分的整个宽度交叉,则认为该块覆盖了该分隔符。
如果所选择的块覆盖分隔符,则将该分隔符从分隔符列表中移除(行动216)。在行动216中从分隔符列表中移除了该分隔符之后,或者如果选择的块不覆盖分隔符,则检查标识的块的池中是否还有尚未选择的另外的块(行动218)。如果在块的池中有这样的块,则过程返回以在行动204中选择这些剩余块中的一个。然而,如果在块的池中没有这样的块,则从分隔符列表中移除显示的边缘的四个分隔符(如果存在这样的分隔符)(行动202)。
执行分隔符检测来检测水平和垂直分隔符。可以首先检测水平分隔符然后检测垂直分隔符,或者可以首先检测垂直分隔符然后检测水平分隔符,或者可选地,可以并发地检测水平和垂直分隔符。
在几个实施例中,对水平和垂直分隔符执行图4的行动202到218。由此,可以生成两个不同的分隔符列表。以多种方式组合这两个分隔符列表,如采用这两个分隔符列表的合并。例如,可以生成在两个列表之一中包括每一分隔符的最终分隔符列表。
因此,可以从图4看到,可视分隔符检测从包括一个或多个可能分隔符的分隔符列表开始,并且改变这一可能分隔符列表直到检测过程完成,该列表包括检测的分隔符。改变分隔符列表来基于可视块是否与分隔符交迭以及它们如何与分隔符交迭(如,块包含在分隔符中、块跨越分隔符或者块覆盖分隔符)添加新分隔符、移除分隔符和/或修改分隔符的参数。
应当注意,当显示文档时,过程200检测的分隔符可以是多种不同的形式。例如,分隔符可以是文档中的空白区、文档中画出的一个或多个分隔符线、文档中的图像或其它图形、文档中以不同的颜色作出阴影的部分等等。
作为示例,可以在图5a-5f所示的示例中看到水平分隔符的检测。假定可视块标识在图5a的文档248中标识了四个可视块240、242、244和246。使用斜交叉影线示出了可视块240、242、244和246。最初,如图5b所示,分隔符列表中仅有分隔符250。使用垂直线示出图5b到5f中的分隔符。分隔符250包括所有可视块240、242、244和246。还假定可视块240是从可视块池中选择的第一块,可视块242是从可视块池中选择的第二块,可视块244是从可视块池中选择的第三块,可视块246是从可视块池中选择的第四块。
可视块240包含在分隔符250中,因此将分隔符250***成两个分隔符252和254,如图5c所示。类似地,块242包含在分隔符254中,因此将分隔符254***成两个分隔符256和258,如图5d所示。而且,块244包含在分隔符258中,因此将分隔符258***成两个分隔符260和262,如图5e所示。
当分析可视块246时,确定可视块246跨越分隔符256,并且也覆盖分隔符260。因此,更新分隔符256的参数来反映较小的区域,并且从分隔符列表中移除分隔符260,如图5f所示。
另外,过程200检测的每一分隔符被分配一个权值。分隔符的权值是当显示文档时分隔符可视到何种程度的指示(如,具有较高权值的分隔符比具有较低权值的分隔符更可视)。基于分隔符的两侧的可视块的各种特征分配分隔符的权值。分配给分隔符的权值用于比较分隔符(如,比较它们的权值)。分配给分隔符的权值通常不用于其它目的,因此权值能够虚拟地具有任何单位(只要它与同文档中其它分隔符的权值的单位一致的单位一致或者可以转化为该单位)。
应用一组规则来确定分隔符的权值。当涉及块时,规则涉及分隔符的两侧的最近的可视块(例如,在图5f中,最接近分隔符256的可视块在一侧是块240,在另一侧是块246)。以下是可以应用来确定分隔符的权值的一组示例规则:
·当分隔符的不同侧的块之间的距离越大,分隔符的权值越高。距离可以是例如两个块的最近的边缘之间的距离。例如,对于水平分隔符,如果该距离小于或等于10像素,则设置分隔符的权值为15,如果该距离大于10像素而小于或等于20像素,则设置分隔符的权值为25,如果该距离大于20像素,则设置分隔符的权值为35;对于垂直分隔符,如果该距离小于或等于3像素,则设置分隔符的权值为25,如果距离大于3像素,则设置分隔符的权值为45。
·如果可视分隔符与HTML标签(如,<HR>HTML标签)在同一位置,则分隔符的权值更高。例如,如果可视分隔符与<HR>HTML在同一位置,则设置分隔符的权值为50。
·对于水平分隔符,如果分隔符不同侧的块的字体属性(如,字体大小和字体灰度)不同,则改变分隔符的权值。仅当对于块的每一个,块中所有文本具有同一属性时,或者如果块中的文本的至少一个阈值具有同一属性等等,应用这一规则。另外,如果分隔符之前的块中的字体大小大于分隔符之后的块中的字体大小,增加分隔符的权值。例如,如果分隔符之前(如,水平分隔符上方)的块中使用的字体大小大于分隔符之后(如,水平分隔符下方)的块中使用的字体大小,则基于分隔符之前的块中使用的字体大小设置分隔符的权值(如,如果字体大小大于或等于36磅,设置权值为9;如果字体大小大于或等于24磅而小于36磅,设置权值为8;如果字体大小大于或等于18磅而小于24磅,设置权值为7;如果字体大小大于或等于14磅而小于18磅,设置权值为6;如果字体大小大于12磅而小于14磅,设置权值为5;如果字体大小小于或等于12磅,设置权值为零)。然而,如果分隔符之前的块中使用的字体大小小于分隔符之后的块中使用的字体大小,则基于分隔符之后的块中使用的字体大小设置权值(如,如果字体大小大于或等于36磅,设置权值为10;如果字体大小大于24磅而小于36磅,设置权值为9;如果字体大小大于或等于18磅而小于24磅,设置权值为8;如果字体大小大于或等于14磅而小于18磅,设置权值为7;如果字体大小大于12磅而小于14磅,设置权值为6;如果字体大小小于或等于12磅,设置权值为零)。
·如果分隔符不同侧的块的背景色不同,则增加分隔符的权值。例如,如果分隔符不同侧的背景色不同,则设置分隔符的权值为40。
·对于水平分隔符,当分隔符旁边的块的结构十分相似时,则减小分隔符的权值。例如,如果分隔符旁边的块都是具有相同的字体大小和相同的字体灰度的文本块,则设置分隔符的权值为零。
如果对具体情况应用这些规则的多个,则可以选择由这些规则设置的权值的一个,或者可以组合由这些规则设置的权值。例如,可以使用分配的权值的最小一个(或可选地,最大一个)作为该分隔符的权值、使用所有分配的权值的平均值作为该分隔符的权值、使用所有分配的权值的加权平均值作为该分隔符的权值等等。
内容结构构造
内容结构构造基于可视块标识中标识的块以及可视分隔符检测中检测的分隔符对文档生成内容结构。内容结构构造(如,图2的行动148中或由图1的内容结构构造器实现)可以如下执行。
内容结构是表示文档的语义内容的文档的一组一个或多个部分。在几个实施例中,内容结构是语义内容的分层树结构。
图6所示是用于执行内容结构构造的示例过程280的流程图。过程280以另外的细节说明了图2的行动148。过程280可以以软件、固件、硬件或其组合执行。
最初,基于检测的分隔符和标识的可视块生成一个或多个虚拟块(行动282)。通过分析检测的分隔符生成虚拟块,从具有最低权值的分隔符开始。将检测的分隔符两侧的块合并成单个虚拟块。对具有下一较低权值的分隔符继续这一合并,并且继续直到遇到最大权值(这一最大权值可以定义为对这一特定标识的可视块组由上述可视分隔符检测计算的最大权值,或者可选地,可以是某一预定义或预编程的值)。
一旦生成虚拟块,对每一虚拟块确定一致度(行动284)。基于合并来生成该虚拟块的两个块之间的分隔符的权值计算这一一致度(这一分隔符可以在两个可视块之间或在两个虚拟块之间)。在特定的实施例中,依照以下示例规则确定虚拟块的一致度。在一些规则中,使用了两个变量WEIGHT_TMP_TITLE2和WEIGHT_TMP_TITLE1。在检测所有的分隔符之后(如,图4的过程200完成之后)确定WEIGHT_TMP_TITLE2和WEIGHT_TMP_TITLE1变量的值。在两侧具有文本块的所有分隔符按权值储存。这些权值的最高值是赋值给WEIGHT_TMP_TITLE1变量的值,这些权值的第二较高值是赋值给WEIGHT_TMP_TITLE2变量的值。如果没有这类分隔符,则将WEIGHT_TMP_TITLE1和WEIGHT_TMP_TITLE2变量的值都设为值-1。如果仅有一个这样的分隔符,则该分隔符的权值用作WEIGHT_TMP_TITLE1的值,值-1用作WEIGHT_TMP_TITLE2的值。这些示例规则是:
·如果两个合并的块之间的分隔符的权值小于或等于零,则设置一致度为10;
·如果两个合并的块之间的分隔符的权值小于或等于WEIGHT_TMP_TITLE2,则设置一致度为7;
·如果两个合并的块之间的分隔符的权值小于或等于WEIGHT_TMP_TITLE1,则设置一致度为6;
·如果两个合并的块之间的分隔符的权值小于或等于9,则设置一致度为5;
·如果两个合并的块之间的分隔符的权值小于或等于20,则设置一致度为5;
·如果两个合并的块之间的分隔符的权值小于或等于40,则设置一致度为4;
·如果两个合并的块之间的分隔符的权值小于或等于50,则设置一致度为2;
·如果不满足上述任一规则,则设置一致度为1。
然后生成内容结构(行动286)。至少部分地基于粒度需求以及哪一虚拟块,如果有的话,满足该粒度需求来生成内容结构。如上所述,分析内容结构的每一叶节点来确定是否满足粒度需求。在几个实施例中,定义了容许一致度(PDoC)值,并且为满足粒度需求,需要内容结构的每一叶节点具有大于(或可选地,大于或等于)该PDoC值的DoC值。PDoC值可以是预定义值(如,由***设计者根据经验确定)。可以使用用于PDoC值的任一范围的值,较大的值通常导致具有更多但更小可视块的内容结构。PDoC值的一个示例范围是从6到9。
行动286中生成的内容结构可包括虚拟块和/或可视块。将行动282中标识的每一虚拟块的DoC值与PDoC值比较。对于其DoC值大于PDoC值的虚拟块,该虚拟块的子块不作为内容结构中的块输出。
然后输出内容结构(行动288)。可以以任一各种格式输出内容结构,在几个实施例中,以分层树格式输出,树的节点表示虚拟块和/或可视块。
图7所示是生成虚拟块和内容结构树的示例。在图7中,示出了六个可视块300、302、304、306、308和310,由可视块标识所标识。另外,示出了块之间的分隔符312、314、316、318和320,较粗线的分隔符(分隔符314和318)比较细线的分隔符(分隔符312、316和320)具有更大的权值。
每一可视块300-310具有内容结构树322中相应的内容结构块。另外,通过合并块300和302生成虚拟块324,虚拟块324基于分隔符312的权值具有一DoC值。通过合并块304和306生成虚拟块326,虚拟块326基于分隔符316的权值具有一DoC值。通过合并块308和310生成虚拟块328,虚拟块328基于分隔符320的权值具有一DoC值。另外,通过合并虚拟块324、326和328生成虚拟块330。分隔符314和318的权值相同,因此块330的DoC值可以基于分隔符314和318的任一个的权值。
图7所示的基于虚拟块的内容结构输出依赖于虚拟块324、326、328和330的DoC值。例如,如果虚拟块324的DoC值大于PDoC值,则虚拟块324作为内容结构中的块输出,而个别块300和302不作为内容结构中的块输出。然而,如果虚拟块324的DoC值不大于PDoC值,则虚拟块324不作为内容结构中的块输出,而个别块300和302作为内容结构中的块输出。作为另一示例,如果虚拟块330的DoC值大于PDoC值,则虚拟块330作为内容结构中的块输出,而个别块324、326和328不作为内容结构中的块输出,并且个别块300、302、304、306、308和310不作为内容结构中的块输出。
文档检索
可以使用这里描述的基于视觉的文档分割来使用文档检索技术。这类文档检索技术可单独依赖于基于视觉的文档分割,或者可选地与更多传统的搜索技术结合。
图8所示是用于使用这里描述的基于视觉的文档分割执行文档检索的示例过程360的流程图。过程360可以由例如图1的文档检索模块110实现。过程360可以以软件、固件、硬件或其组合执行。过程360可用于检索多种不同类型的文档的任一个,包括,例如,web页(如,在因特网和/或内联网可用)、个人书写的文件、摘要或总结等等。
最初,接收查询(行动362)。通常,由用户输入查询,尽管可选地,可以从某一其它源(如,远程装置、软件应用等等)接收查询。访问从这里描述的基于视觉的文档分割技术获取的块的数据库(行动364)。通常,将先执行基于视觉的文档分割过程并且所得的内容结构(包括可视块和/或虚拟块)已经储存在数据库或某一其它可访问位置中。可选地,基于视觉的文档分割过程可以响应于行动362中的查询接收,在一个或多个文档上执行。
一旦被访问,依照它们与查询标准匹配到何种程度对内容结构的块进行分级(行动366)。可以在行动366中对可视块和/或虚拟块进行分级。行动362中接收的查询包括一个或多个搜索条件,也称为查询标准或查询条件。在几个实施例中,在行动366,仅对包括至少一个搜索条件的块(或者可选地,仅对包括所有搜索条件的块)进行分级。可选地,可以在要分级的块的数量上加上限制(例如,可以配置过程360仅对50或100个块进行分级)。可以以任一多种不同的方式生成基于块的等级。例如,等级可以基于以下的一个或多个:块中包括了多少搜索条件、块中不同搜索条件的位置、块中搜索条件出现的频率等等。
然后基于块等级生成文档等级(行动368)。可以以任一多种方式生成文档等级。在几个实施例中,来自文档的最高等级块的等级用作该文档的等级。可选地,可以组合该文档中所有块的等级(如,通过生成所有块的等级的平均值、通过生成所有块的等级的加权平均值等等)来生成该文档的等级。
然后将文档等级返回到例如请求者(行动370)。可以以任一多种不同的方式返回文档等级,如每一文档的标识符(如,标题或统一资源***(URL))以及数字等级、依照其等级的每一文档的标识符的顺序显示(如,不显示每一文档的明确数字等级)、包括搜索标准的从文档的摘录、依照其等级顺序返回的实际文档等等。
应当理解,可以对过程360进行各种修改。例如,在行动366中,可以不对所有可访问文档进行分级或搜索。作为另一示例,可以在步骤370返回文档的块而不是整个文档。
图9所示是用于使用这里描述的基于视觉的文档分割执行文档检索的另一示例过程400的流程图。过程400可以例如由图1的文档检索模块实现。过程400可以以软件、固件、硬件或其组合执行。与图8的过程360类似,过程400可以用于检索各种不同类型的文档的任一个,包括,例如,web页(如,因特网和/或内联网上可用)、个人书写的文件、摘要或总结等等。
过程400类似于过程360,然而不在所有的可能文档上执行基于视觉的文档分割。相反,执行初始的搜索,然后使用来自初始搜索的文档执行基于视觉的文档分割过程。
最初,接收查询(行动402)。与过程360类似,该查询可以是用户查询或来自某一其它源,并且该查询包括一个或多个搜索条件。在文档组上执行初始文档检索,并且对满足查询标准的文档进行分级(行动404)。可以以任一多种方式执行这一初始检索。行动404中的这一初始检索过程的一个示例在Robertson,S.E的题为“Overview of Okapi Projects”,Journal of Documentation杂志,卷53,第一期,1997年,3-7页中有描述。行动404中也可以使用多种常规web搜索引擎的任一个。
过程400然后继续进行到在初始检索中检索到的文档上执行基于视觉的文档分割(行动406)。然后使用查询标准(搜索条件)以及从基于视觉的文档分割中获取的块执行块检索(行动408),类似于图8的行动366。然后基于块的分级生成细化的文档等级(行动410),与图8的行动366中的上述讨论类似。
然后通过组合来自行动404的初始文档等级和来自行动410的细化文档等级生成最终文档等级(行动412)。可以以任一多种方式执行这一组合。例如,可以对来自行动404和410的等级共同求平均值,或者使用来自行动404和410的等级的加权平均值。可选地,可以使用来自行动404和410的特定文档的最高等级作为该文档的等级。在另一替代方法中,可以使用来自行动410的等级替代来自行动404的等级。
一旦生成最终文档等级,返回该文档等级(行动414),类似于图8的行动370。
图10所示是用于使用这里描述的基于视觉的文档分割执行文档检索的另一示例过程440的流程图。过程440可以如由图1的文档检索模块110实现。过程440可以以软件、固件、硬件或其组合执行。类似于图8的过程360,过程440可以用于检索多种不同类型的文档的任一个,包括,例如,web页(如,在因特网和/或内联网上可用)、由个人书写的文件、摘要或总结等等。
过程440类似于图9的过程400,然而,使用基于视觉的文档分割来扩展查询标准。
最初,接收查询(行动442),类似于图9的行动402。在文档组上执行初始文档检索,并且对满足查询标准的文档进行分级(行动444),类似于图9的行动404。然后在初始检索中检索到的文档上执行基于视觉的文档分割过程(行动446),类似于图9的行动406。
然而,与图9中完成的执行块检索相反,从基于视觉的文档分割获取的内容结构的块连同查询标准一起用来执行查询扩展(行动448)。可以以任一多种方式执行查询扩展。
在几个实施例中,通过使用扩展条件选择的最高级块(如,具有最高等级的十个块,或具有最高等级的10%的块)来执行查询扩展。依照它们满足原始查询条件到何种程度对块进行分级(类似于图8的行动366)。以任一多种已知的方式选择扩展条件,然而,与传统的查询扩展不同,基于从基于视觉的文档分割过程获取的块选择扩展条件。例如,从基于视觉的文档分割过程获取的块中的所有条件(除原始查询条件之外)依照以下条件选择值TSV来加权:
其中,r表示包含条件的块的数量,R表示从基于视觉的文档分割过程获取的块的总数,w(1)表示Q中T的Robertson/Spark Jones权值,其中Q表示原始查询(行动442中接收)并且T表示原始查询中的搜索条件。
给定这些加权扩展条件,选择这些条件的若干个用作扩展条件。可以选择这些条件的不同个数,并且在几个实施例中,选择前十个条件作为扩展条件(即,具有最大条件选择值TSV的十个条件)。
然后基于扩展的查询标准和文档组执行最终检索,并且对满足扩展的查询标准的文档进行分级(行动450)。行动450类似于行动444而执行,除了使用扩展的查询而不是接收的标准。扩展的查询包括原始查询条件以及扩展条件。在几个实施例中,对扩展查询中的条件进行加权。可以以多种方式对该条件进行加权,以当确定哪一文档匹配查询条件和/或当对文档进行分级时对原始查询条件给予优先选择。例如,可以如下对扩展查询的条件进行加权。对于原始条件(在行动442中作为查询的部分接收的条件),该条件的新权值为tf×2,其中tf表示该条件在查询中的频率。对于每一扩展条件,该条件的权值设置如下:
其中,n表示该条件的TSV等级值,m是扩展条件的个数(如,特定实施例中为10)。
然后返回从行动450的最终检索中获取的文档等级(行动452),类似于图9的行动414。
另外,在几个实施例中,上文参考图8、图9或图10讨论的文档检索可采用将上述基于视觉的文档分割过程与固定长度方法组合的组合文档分割方法。在这一组合的文档分割方法中,如上所述地获取可视块(如,参考图2)。给定这些可视块,使用重叠窗来将至少一些块划分成更小的单元。第一个窗从第一可视块的第一个单词开始,并且随后的窗与之前的窗重叠一个特定的数量(如,二分之一)直到块的最后。对应于这些窗的可视块的部分作为最终块输出。对于小于窗的长度(窗通常是固定值)的可视块,可视块作为最终块输出,而不进一步分割。然而,通过将较大的块分割成等于窗的大小的较小的块,减小了不同块的长度的方差。
使用这一组合文档分割方法,在文档检索过程中使用组合文档分割方法输出的最终块来代替内容结构的可视和/虚拟块。
示例环境
图11说明了可用于实现这里描述的技术的一般环境500的一个示例。计算环境500仅为计算环境的一个示例,并非建议对计算机和网络体系结构的使用或功能的范围的局限。也不应将计算环境500解释为具有关于示例计算环境500中说明的任一组件或其组合的依赖或需求。
计算环境500包括以计算机502形式的通用计算装置。计算机500能够实现,例如图1的可视块提取器104、可视分隔符检测器106、内容结构构造器108和/或文档检索模块110。计算机502的组件包括但不限于,一个或多个处理器504、***存储器506以及将各类***组件包括处理器504耦合至***存储器506的***总线508。
***总线508表示任一若干种总线结构类型的一个或多个,包括存储器总线或存储器控制器、***总线、加速图形端口以及使用各类总线结构的处理器或本地总线。作为示例,这类结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及***部件互连(PCI)总线,也称为Mezzanine总线。
计算机502通常包括各种计算机可读媒质。这类媒质可以是可由计算机502访问的任一可用媒质,包括易失和非易失、可移动和不可移动媒质。
***存储器506包括以非易失存储器,如只读存储器(ROM)512和/或非易失存储器,如随机存取存储器(RAM)514形式的计算机可读媒质。基本输入/输出***(BIOS)514,包含如在启动时协助在计算机502内的元件之间传输信息的基本例程,储存在ROM 512中。RAM 510通常包含处理单元504立即可访问和/或当前正在操作的数据和/或程序模块。
计算机502也可包括其它可移动/不可移动、易失/非易失的计算机存储媒质。作为示例,图11示出了用于对不可移动、非易失磁媒质(未示出)进行读写的硬盘驱动器516、用于对可移动、非易失磁盘520(如,“软盘”)进行读写的磁盘驱动器518以及用于对可移动、非易失光盘524如CD-ROM、DVD-ROM或其它光媒质进行读写的光盘驱动器522。硬盘驱动器516、磁盘驱动器518以及光盘驱动器522的每一个通过一个或多个数据媒质接口526连接至***总线508。可选地,硬盘驱动器516、磁盘驱动器518以及光盘驱动器522可以通过一个或多个接口(未示出)连接到***总线508。
驱动器及其相关的计算机可读媒质为计算机502提供了计算机可执行指令、数据结构、程序模块和其它数据的非易失存储。尽管该示例说明了硬盘516、可移动磁盘520以及可移动光盘524,应当理解,也可以使用能够储存可由计算机访问的数据的其它类型的计算机可读媒质,如盒式磁带或其它磁存储设备、闪存卡、CD-ROM、数字多功能盘(DVD)或其它光存储、随机存储存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)等等,来实现该示例计算***和环境。
多个程序模块可储存在硬盘516、磁盘520、光盘524、ROM 512和/或RAM 510中,作为示例,包括操作***526、一个或多个应用程序528、其它程序模块530以及程序数据532。这些操作***526、一个或多个应用程序528、其它程序模块530以及程序数据532的每一个(或其组合)可实现支持分布式文件***的常驻组件的所有或部分。
用户可以通过诸如键盘534和指向设备536(如,“鼠标”)的输入设备向计算机502输入命令和信息。其它输入设备538(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、串行端口、扫描仪和/或其类似物。这些和其它输入设备通过耦合至***总线508的输入/输出接口540连接到处理单元504。但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。
监视器542或其它类型的显示设备也通过接口,如视频适配器544连接到***总线508。除监视器之外,其它***输出设备可包括诸如扬声器(未示出)和打印机546的组件,可通过输入/输出接口540连接到计算机502。
计算机502可以在使用到一个或多个远程计算机,如远程计算机装置548的逻辑连接的网络化环境中操作。作为示例,远程计算装置548可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、对等设备或其它公用网络节点等等。示出远程计算装置548为可包括这里关于计算机502所描述的元件和特点的许多或全部的便携式计算机。
描述计算机502和远程计算机548之间的逻辑连接为局域网(LAN)550和一般广域网(WAN)552。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中实现时,计算机502通过网络接口或适配器554连接至局域网550。当在WAN网络环境中实现时,计算机502通常包括调制解调器556或其它装置,用于通过广域网552建立通信。调制解调器556对计算机502可以是内置或外置的,通过输入/输出接口540或其它合适的机制连接至***总线508。可以理解,示出的网络连接是示例,也可以使用在计算机502和548之间建立通信链路的其它装置。
在网络化环境中,如与计算环境500示出的环境中,描述的与计算机502相关的程序模块或其部分可储存在远程存储器存储设备中。作为示例,远程应用程序558驻留在远程计算机548的存储器设备中。为说明目的,这里示出应用程序和诸如操作***的其它可执行程序组件为离散块,尽管可以认识到,这类程序和组件在不同的时刻驻留在计算装置502的不同存储组件中,并且可由计算机的数据处理器执行。
总结
这里在计算机可执行指令的一般上下文中描述了各种模块和技术,计算机可执行指令如程序模块,由一个或多个计算机或其它装置执行。一般而言,程序模块可包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。通常,程序模块的功能可以如各种实施例中所描述的组合或分布。
这些模块和技术的一个实现可以储存在某一形式的计算机可读媒质中或通过其发送。计算机可读媒质可以是可由计算机访问的任一可用媒质。作为示例而非局限,计算机可读媒质可包括“计算机存储媒质”和“通信媒质”。
“计算机存储媒质”包括以用于储存信息的任一方法或技术实现的易失和非易失、可移动和不可移动媒质,信息如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机访问的任一其它媒质。
“通信媒质”通常在诸如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信媒质包括有线媒质,如有线网络或直接连线连接,以及无线媒质,如声学、RF、红外和其它无线媒质。上述任一的组合也应当包括在计算机可读媒质的范围之内。
这里描述的并在附图中示出了各种流程图。这些流程图中的行动的顺序仅为示例一可以改变这些顺序,以不同的顺序和/或并发地执行这些行动。
另外,这里给出了许多具体数字示例(如,具体的阈值、具体的大小、具体的权值等等)。这些具体数字示例仅为示例,可以可选地使用其它值。
尽管上述描述使用了对结构化特点和/或方法行动特定的语言,应当理解,所附权利要求书中所定义的本发明不限于这里描述的特定的特点或行动。揭示了特定的特点和行动作为实现本发明的示例性形式。
Claims (75)
1.一种标识文档的一个或多个部分的方法,其特征在于,所述方法包括:
在所述文档中标识多个可视块;
检测所述多个可视块的可视块之间的一个或多个分隔符;以及
至少部分地基于所述多个可视块以及所述一个或多个分隔符,对所述文档构造内容结构,其中,所述内容结构将所述不同的可视块标识为所述文档的语义内容的不同部分。
2.如权利要求1所述的方法,其特征在于,所述文档包括web页。
3.如权利要求1所述的方法,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,在所述文档中标识所述多个可视块包括:
标识所述多个节点的候选节点组;
对于所述候选节点组中的每一节点:
确定所述节点是否能够被划分,以及
如果所述节点不能被划分,则将所述节点标识为表示一可视块。
4.如权利要求3所述的方法,其特征在于,如果所述节点不能被划分,则对由所述节点表示的所述可视块设置一致度。
5.如权利要求3所述的方法,其特征在于,如果所述节点不能被划分,则从所述候选节点组中移除所述节点。
6.如权利要求3所述的方法,其特征在于,确定所述节点是否能被划分包括如果所述节点具有带有<HR>超文本标记语言(HTML)标签的子节点,确定所述节点能够被划分。
7.如权利要求3所述的方法,其特征在于,确定所述节点是否能被划分包括如果所述节点的背景色不同于所述节点的子节点的背景色,确定所述节点能够被划分。
8.如权利要求3所述的方法,其特征在于,它还包括检查所述节点是否具有其宽度和高度大于零的子节点,并且如果所述节点没有其宽度和高度大于零的子节点,则从所述候选节点组中移除所述节点。
9.如权利要求3所述的方法,其特征在于,确定所述节点是否能被划分包括如果所述节点的大小比所述节点的子节点的大小的总和大至少一个阈值,确定所述节点能够被划分。
10.如权利要求3所述的方法,其特征在于,确定所述节点是否能被划分包括如果所述节点具有多个连续子节点,每一子节点具有<BR>超文本标记语言(HTML)标签,确定所述节点能够被划分。
11.如权利要求1所述的方法,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,在所述文档中标识所述多个可视块包括至少部分地基于所述多个节点的超文本标记语言(HTML)标签标识不同的可视块。
12.如权利要求1所述的方法,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,在所述文档中标识所述多个可视块包括至少部分地基于所述多个节点的背景色标识不同的可视块。
13.如权利要求1所述的方法,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,在所述文档中标识所述多个可视块包括至少部分地基于所述多个节点是否包括文本以及所述多个节点的大小来标识不同的可视块。
14.如权利要求1所述的方法,其特征在于,检测所述一个或多个分隔符包括:
检测所述可视块之间的一个或多个水平分隔符;以及
检测所述可视块之间的一个或多个垂直分隔符。
15.如权利要求1所述的方法,其特征在于,检测所述一个或多个分隔符包括:
初始化包括所述可视块之间的一个或多个可能分隔符的分隔符列表;
对所述可视块的每一个,分析所述可视块是否与所述分隔符列表的分隔符交迭,并且如果是这样,分析所述可视块如何与所述分隔符交迭;以及
基于所述可视块是否与所述分隔符交迭确定如何处理所述分隔符,并且如果是这样,确定所述可视块如何与所述分隔符交迭。
16.如权利要求15所述的方法,其特征在于,它还包括,如果所述可视块包含在所述分隔符内,确定将所述分隔符***成多个分隔符。
17.如权利要求15所述的方法,其特征在于,它还包括,如果所述可视块跨越所述分隔符,确定修改所述分隔符的参数使所述可视块不再跨越所述分隔符。
18.如权利要求17所述的方法,其特征在于,所述修改包括如果所述分隔符是水平分隔符,则减小所述分隔符的高度。
19.如权利要求17所述的方法,其特征在于,所述修改包括如果所述分隔符是垂直分隔符,则减小所述分隔符的宽度。
20.如权利要求15所述的方法,其特征在于,它还包括,如果所述可视块覆盖所述分隔符,确定从所述分隔符列表中移除所述分隔符。
21.如权利要求1所述的方法,其特征在于,它还包括,对所述一个或多个分隔符的每一个,基于所述分隔符的两侧的可视块的特征分配权值。
22.如权利要求21所述的方法,其特征在于,分配所述权值包括基于所述分隔符的两侧的两个可视块间的距离分配所述权值。
23.如权利要求21所述的方法,其特征在于,分配所述权值包括基于所述分隔符是否与<HR>HTML标签在同一位置分配所述权值。
24.如权利要求21所述的方法,其特征在于,分配所述权值包括基于所述分隔符的两侧的两个可视块中使用的字体大小分配所述权值。
25.如权利要求21所述的方法,其特征在于,分配所述权值包括基于所述分隔符的两侧的两个可视块中使用的背景色分配所述权值。
26.如权利要求1所述的方法,其特征在于,它还包括:
检查所述多个可视块的每一个是否满足一致度阈值;以及
对于不满足所述一致度阈值的所述多个可视块的每一个,在所述可视块内标识多个新的可视块,并且使用所述多个新的可视块重复所述检测和构造。
27.如权利要求1所述的方法,其特征在于,构造所述内容结构包括:
基于所述多个可视块生成一个或多个虚拟块;以及
在所述内容结构中包括所述一个或多个虚拟块。
28.如权利要求27所述的方法,其特征在于,生成所述一个或多个虚拟块包括通过组合所述多个可视块的两个可视块生成所述一个或多个虚拟块。
29.如权利要求27所述的方法,其特征在于,它还包括:
对所述一个或多个虚拟块的每一个确定一致度。
30.如权利要求29所述的方法,其特征在于,对虚拟块确定所述一致度包括至少部分地基于用来生成所述虚拟块的两个可视块之间的分隔符的权值对所述虚拟块确定所述一致度。
31.在其上储存了多个指令的一个或多个计算机可读媒质,其特征在于,当由装置的一个或多个处理器执行所述指令时,使所述一个或多个处理器:
在文档中标识可视块;
检测所述可视块之间的可视分隔符;以及
至少部分地基于所述可视块和所述可视分隔符对所述文档构造标识表示所述文档的语义内容的文档区域的内容结构。
32.如权利要求31所述的一个或多个计算机可读媒质,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,促使所述一个或多个处理器在所述文档内标识可视块的所述指令包括使所述一个或多个处理器执行以下行动的指令:
标识所述多个节点的候选节点组;
对所述候选节点组中的每一节点:
确定所述节点是否能够被划分,以及
如果所述节点不能被划分,则将所述节点标识为表示可视块。
33.如权利要求31所述的一个或多个计算机可读媒质,其特征在于,促使所述一个或多个处理器检测所述可视分隔符的所述指令包括促使所述一个或多个处理器执行以下行动的指令:
检测所述可视块之间的一个或多个水平分隔符;以及
检测所述可视块之间的一个或多个垂直分隔符。
34.如权利要求31所述的一个或多个计算机可读媒质,其特征在于,促使所述一个或多个处理器检测所述可视分隔符的所述指令包括促使所述一个或多个处理器执行以下行动的指令:
初始化包括所述可视块之间的一个或多个可能可视分隔符的分隔符列表;
对所述可视块的每一个,分析所述可视块是否与所述分隔符列表的分隔符交迭,并且如果是这样,分析所述可视块如何与所述分隔符交迭;以及
基于所示可视块是否与所述分隔符交迭确定如何处理所述分隔符,并且如果是这样,确定所述可视块如何与所述分隔符交迭。
35.如权利要求31所述的一个或多个计算机可读媒质,其特征在于,所述指令还促使所述一个或多个处理器:
检查所述可视块的每一个是否满足一致度阈值;以及
对于不满足所述一致度阈值的所述可视块的每一个,在所述可视块中标识新可视块,并且使用所述新可视块重复所述检测和构造。
36.一种搜索多个文档的方法,其特征在于,所述方法包括:
接收对应于查询的查询标准;
访问对应于所述多个文档的多个块,其中,所述多个块的不同块对应于所述多个文档的不同文档,其中,所述多个块通过可视地分割所述多个文档的每一个获得;
至少部分地基于所述块与所述查询标准匹配到何种程度来对所述多个块的一个或多个生成等级;
对所述多个文档的一个或多个生成等级,其中,所述多个文档的每一个的等级至少部分地基于对应于所述文档的所述多个块的等级;以及
返回所述一个或多个已分级文档的至少一个的指示。
37.如权利要求36所述的方法,其特征在于,所述多个文档的每一个包括web页。
38.如权利要求36所述的方法,其特征在于,对所述多个文档之一生成所述等级包括:
标识对应于所述一个文档的所述多个块的每一个的等级;
选择所述标识的等级的最高等级作为所述一个文档的等级。
39.如权利要求36所述的方法,其特征在于,对所述多个文档之一生成所述等级包括:
标识对应于所述一个文档的所述多个块的每一个的等级;
组合所述标识的等级来组成所述一个文档的等级。
40.如权利要求39所述的方法,其特征在于,所述组合包括对所述标识的等级求平均值。
41.如权利要求36所述的方法,其特征在于,所述可视地分割文档包括:
在所述文档中标识多个可视块;
检测所述多个可视块的可视块之间的一个或多个分隔符;以及
至少部分地基于所述多个可视块和所述一个或多个分隔符对所述文档构造内容结构,其中,所述内容结构将所述不同的可视块标识为所述文档的语义内容的不同部分,并且其中,所述不同的可视块是对应于所述文档的所述多个块的块。
42.如权利要求41所述的方法,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,在所述文档中标识所述多个可视块包括:
标识所述多个节点的候选节点组;
对所述候选节点组中的每一节点:
确定所述节点是否能够被划分,以及
如果所述节点不能被划分,则将所述节点标识为表示可视块。
43.在其上储存了多个指令的一个或多个计算机可读媒质,其特征在于,当由装置的一个或多个处理器执行所述指令时,促使所述一个或多个处理器:
接收包括一个或多个搜索条件的查询;
基于多个块与所述一个或多个搜索条件匹配到何种程度对所述多个块进行分级,其中,所述多个块的每一个是多个文档的一个文档的部分,并且其中,所述多个块的每一个通过所述多个文档之一的可视分割获得;
对所述多个文档的每一个,至少部分地基于对作为所述文档的部分的所述块的分级对所述文档进行分级;以及
响应于所述查询,返回所述多个文档的一个或多个的所述等级的指示。
44.如权利要求43所述的一个或多个计算机可读媒质,其特征在于,促使所述处理器对所述文档进行分级的所述指令包括促使所述一个或多个处理器执行以下行动的指令:
对作为所述文档的部分的每一块标识所述等级;
选择所述标识的等级的最高等级作为所述文档的等级。
45.如权利要求43所述的一个或多个计算机可读媒质,其特征在于,促使所述一个或多个处理器对所述文档进行分级的所述指令包括促使所述一个或多个处理器执行以下行动的指令:
对作为所述文档的部分的每一块标识所述等级;
组合所述每一块的等级来生成所述文档的等级。
46.如权利要求43所述的一个或多个计算机可读媒质,其特征在于,文档的所述可视分割包括:
在所述文档中标识多个可视块;
检测所述多个可视块的可视块之间的一个或多个分隔符;以及
至少部分地基于所述多个可视块以及所述一个或多个分隔符对所述文档构造内容结构,其中,所述内容结构将所述不同的可视块标识为所述文档的语义内容的不同部分,并且其中,所述不同的可视块是作为所述文档的部分的所述多个块的块。
47.如权利要求46所述的一个或多个计算机可读媒质,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,在所述文档中标识所述多个可视块包括:
标识所述多个节点的候选节点组;
对所述候选节点组中的每一节点:
确定所述节点是否能够被划分,以及
如果所述节点不能被划分,则将所述节点标识为表示可视块。
48.一种搜索多个web页的方法,其特征在于,所述方法包括:
接收搜索所述多个web页的请求;
基于所述请求对所述多个web页的子集生成第一等级组;
通过可视地分割所述web页子集中的每一web页对所述web页子集生成第二等级组;
至少部分地基于所述第二等级组获取所述web页子集的最终等级组。
49.如权利要求48所述的方法,其特征在于,获取所述最终等级组包括使用所述第二等级组作为所述最终等级组。
50.如权利要求48所述的方法,其特征在于,获取所述最终等级组包括选择所述第一组中的web页的等级以及所述第二组中的web页的等级中之较高者作为web页的所述最终等级。
51.如权利要求48所述的方法,其特征在于,获取所述最终等级足包括对所述第一组中的web页的等级和所述第二组中的web页的等级求平均值来获得web页的所述最终等级。
52.如权利要求48所述的方法,其特征在于,所述可视地分割web页包括:
在所述web页中标识多个可视块;
检测所述多个可视块的可视块之间的一个或多个分隔符;
至少部分地基于所述多个可视块和所述一个或多个分隔符对所述web页构造内容结构,其中,所述内容结构将所述不同的可视块标识为所述web页的语义内容的不同部分。
53.如权利要求52所述的方法,其特征在于,所述web页由具有多个节点的树结构描述,并且其中,在所述web页中标识所述多个可视块包括:
标识所述多个节点的候选节点组;
对所述候选节点组中的每一节点:
确定所述节点是否能够被划分,以及
如果所述节点不能被划分,则将所述节点标识为表示可视块。
54.在其上储存了多个指令的一个或多个计算机媒质,其特征在于,当由装置的一个或多个处理器执行所述指令时,促使所述一个或多个处理器:
基于多个文档与搜索标准匹配到何种程度对所述多个文档生成第一等级;
通过可视地分割所述多个文档的每一个对所述多个文档生成第二等级;以及
至少部分地基于所述第二等级对所述多个文档生成最终等级。
55.如权利要求54所述的一个或多个计算机可读媒质,其特征在于,促使所述一个或多个处理器生成最终等级的所述指令包括促使所述一个或多个处理器使用所述第二等级作为最终等级的指令。
56.如权利要求54所述的一个或多个计算机可读媒质,其特征在于,促使所述一个或多个处理器生成最终等级的所述指令包括促使所述一个或多个处理器选择所述文档的所述第一等级以及所述文档的所述第二等级的任一较高者作为所述多个文档的文档最终等级。
57.如权利要求54所述的一个或多个计算机可读媒质,其特征在于,促使所述一个或多个处理器生成最终等级的所述指令包括促使所述一个或多个处理器通过对所述文档的所述第一等级以及所述文档的所述第二等级求平均值对所述多个文档的一个文档生成最终等级。
58.如权利要求54所述的一个或多个计算机可读媒质,其特征在于,促使所述处理器可视地分割文档的所述指令包括促使所述一个或多个处理器执行以下行动的指令:
在所述文档中标识多个可视块;
检测所述多个可视块的可视块之间的一个或多个分隔符;以及
至少部分地基于所述多个可视块和所述一个或多个分隔符对所述文档构造内容结构,其中,所述内容结构将所述不同的可视块标识为所述文档的语义内容的不同部分。
59.如权利要求58所述的一个或多个计算机可读媒质,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,促使所述一个或多个处理器在所述文档中标识所述多个可视块的所述指令包括促使所述一个或多个处理器执行以下行动的指令:
标识所述多个节点的候选节点组;
对所述候选节点组中的每一节点:
确定所述节点是否能够被划分,以及
如果所述节点不能被划分,则将所述节点标识为表示可视块。
60.一种搜索多个文档的方法,其特征在于,所述方法包括:
接收搜索所述多个文档的请求,其中,所述请求包括查询标准;
基于所述查询标准标识所述多个文档的子集;
对所述文档的子集的每一个,通过可视地分割所述文档标识多个块;
基于所述多个块的内容扩展所述查询标准;以及
基于所述扩展的查询标准标识所述多个文档的第二子集。
61.如权利要求60所述的方法,其特征在于,响应于所述请求返回文档的所述第二子集的标识符。
62.如权利要求60所述的方法,其特征在于,对所述多个文档的所述第二子集的每一文档进行分级;以及
响应于所述请求,返回文档的所述第二子集的标识符以及文档的所述第二子集的每一文档的等级的指示。
63.如权利要求60所述的方法,其特征在于,可视地分割所述文档包括:
在所述文档中标识多个可视块;
检测所述多个可视块的可视块之间的一个或多个分隔符;以及
至少部分地基于所述多个可视块和所述一个或多个分隔符对所述文档构造内容结构,其中,所述内容结构将所述不同的可视块标识为所述文档的语义内容的不同部分,并且其中,所述不同的可视块是所述文档的多个块。
64.如权利要求63所述的方法,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,在所述文档中标识所述多个可视块包括:
标识所述多个节点的候选节点组;
对所述候选节点组的每一节点:
确定所述节点是否能够被划分,以及
如果所述节点不能被划分,则将所述节点标识为表示一可视块。
65.在其上储存了多个指令的一个或多个计算机可读媒质,其特征在于,当由装置的一个或多个处理器执行所述指令时,促使所述一个或多个处理器:
接收一个或多个搜索条件;
标识满足所述一个或多个搜索条件的多个文档;
在所述多个文档的每一个上执行基于视觉的文档分割来标识所述多个文档的每一个的块;
基于所述块与所述一个或多个搜索条件匹配到何种程度对所述标识的块的每一个生成等级;
从所述标识的块的一个或多个衍生一个或多个扩展条件;以及
标识满足所述一个或多个搜索条件以及所述扩展条件的另一多个文档。
66.如权利要求65所述的一个或多个计算机可读媒质,其特征在于,促使所述一个或多个处理器衍生所述一个或多个扩展条件的所述指令促使所述一个或多个处理器从一组顶级标识的块衍生所述一个或多个扩展条件。
67.如权利要求65所述的一个或多个计算机可读媒质,其特征在于,促使所述一个或多个处理器执行基于视觉的文档分割的所述指令包括促使所述一个或多个处理器执行以下行动的指令:
在所述文档中标识多个可视块;
检测所述多个可视块的可视块之间的一个或多个分隔符;以及
至少部分地基于所述多个可视块和所述一个或多个分隔符对所述文档构造内容结构,其中,所述内容结构将所述不同的可视块标识为所述文档的语义内容的不同部分,并且其中,所述不同的可视块是所述文档的块。
68.一种***,其特征在于,它包括:
从文档中提取可视块的可视块提取器;
可视分隔符检测器,耦合来接收所述提取的可视块并基于所述提取的可视块检测所述提取的可视块之间的一个或多个可视分隔符;以及
内容结构构造器,耦合来接收所述提取的可视块和所述检测的可视分隔符并使用所述提取的可视块和所述检测的可视分隔符来对所述文档构造内容结构。
69.如权利要求68所述的***,其特征在于,它还包括:
至少部分地基于对多个文档的一个或多个构造的所述内容结构从所述多个文档检索文档的文档检索模块。
70.如权利要求68所述的***,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,所述可视块提取器通过以下行动从所述文档提取可视块:
标识所述多个节点的候选节点组;
对所述候选节点组中的每一节点:
确定所述节点是否能够被划分,以及
如果所述节点不能被划分,则将所述节点标识为表示可视块。
71.如权利要求68所述的***,其特征在于,所述可视分隔符检测器检测所述可视块之间的一个或多个水平分隔符以及所述可视块之间的一个或多个垂直分隔符。
72.如权利要求68所述的***,其特征在于,所述可视分隔符检测器通过以下行动检测所述一个或多个分隔符:
初始化包括所述可视块之间的一个或多个可能分隔符的分隔符列表;
对所述多个可视块的每一个,分析所述可视块是否与所述分隔符列表的分隔符交迭,并且如果是这样,分析所述可视块如何与所述分隔符交迭;以及
基于所述可视块是否与所述分隔符交迭确定如何处理所述分隔符,并且如果是这样,确定所述可视块如何与所述分隔符交迭。
73.如权利要求68所述的***,其特征在于,所述内容结构构造器还执行:
检查所述多个可视块的每一个是否满足一致度阈值;以及
对不满足所述一致度阈值的所述多个可视块的每一个,将所述可视块返回到所述可视块提取器以从所述可视块提取多个新的可视块,并且还使用所述多个新的可视块令所述可视分隔符检测器检测一个或多个可视分隔符。
74.一种***,其特征在于,它包括:
用于在文档中标识多个可视块的装置;
用于检测所述多个可视块的所述可视块之间的一个或多个分隔符的装置;以及
用于至少部分地基于所述多个可视块和所述一个或多个分隔符对所述文档构造内容结构的装置,其中,所述内容结构将所述不同的可视块标识为所述文档的语义内容的不同部分。
75.如权利要求74所述的***,其特征在于,所述文档由具有多个节点的树结构描述,并且其中,用于在所述文档中标识所述多个可视块的装置包括:
用于标识所述多个节点的候选节点组的装置;
对所述候选节点组中的每一节点:
用于确定所述节点是否能够被划分的装置,以及
如果所述节点不能被划分,用于将所述节点标识为表示可视块的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/628,766 US7428700B2 (en) | 2003-07-28 | 2003-07-28 | Vision-based document segmentation |
US10/628,766 | 2003-07-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1577328A true CN1577328A (zh) | 2005-02-09 |
Family
ID=33541464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100556979A Pending CN1577328A (zh) | 2003-07-28 | 2004-07-28 | 基于视觉的文档分割 |
Country Status (12)
Country | Link |
---|---|
US (2) | US7428700B2 (zh) |
EP (1) | EP1503300A3 (zh) |
JP (1) | JP2005050344A (zh) |
KR (1) | KR20050013949A (zh) |
CN (1) | CN1577328A (zh) |
AU (1) | AU2004203057A1 (zh) |
BR (1) | BRPI0403013A (zh) |
CA (1) | CA2472664A1 (zh) |
MX (1) | MXPA04006932A (zh) |
RU (1) | RU2004123222A (zh) |
TW (1) | TW200508896A (zh) |
ZA (1) | ZA200405370B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102089785A (zh) * | 2008-07-11 | 2011-06-08 | 佳能株式会社 | 文档管理设备、文档管理方法和存储介质 |
WO2012012915A1 (en) * | 2010-07-30 | 2012-02-02 | Hewlett-Packard Development Co | Detecting separator lines in a web page |
CN101515272B (zh) * | 2008-02-18 | 2012-10-24 | 株式会社理光 | 提取网页内容的方法和装置 |
CN102906733A (zh) * | 2010-02-12 | 2013-01-30 | 尼古拉斯·鲁姆 | 文本连续性的指示符 |
US9026907B2 (en) | 2010-02-12 | 2015-05-05 | Nicholas Lum | Indicators of text continuity |
CN105144195A (zh) * | 2013-02-19 | 2015-12-09 | 微软技术许可有限责任公司 | 解析和呈现结构化图像 |
CN102708116B (zh) * | 2005-09-22 | 2016-01-20 | 谷歌公司 | 用于图像处理的***和方法 |
CN109298819A (zh) * | 2018-09-21 | 2019-02-01 | Oppo广东移动通信有限公司 | 选择对象的方法、装置、终端及存储介质 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7421651B2 (en) * | 2004-12-30 | 2008-09-02 | Google Inc. | Document segmentation based on visual gaps |
US8176414B1 (en) * | 2005-09-30 | 2012-05-08 | Google Inc. | Document division method and system |
US8234392B2 (en) * | 2006-11-17 | 2012-07-31 | Apple Inc. | Methods and apparatuses for providing a hardware accelerated web engine |
US8949215B2 (en) * | 2007-02-28 | 2015-02-03 | Microsoft Corporation | GUI based web search |
US7895148B2 (en) * | 2007-04-30 | 2011-02-22 | Microsoft Corporation | Classifying functions of web blocks based on linguistic features |
EP2019361A1 (en) * | 2007-07-26 | 2009-01-28 | Siemens Aktiengesellschaft | A method and apparatus for extraction of textual content from hypertext web documents |
KR100907709B1 (ko) * | 2007-11-22 | 2009-07-14 | 한양대학교 산학협력단 | 블록 그룹핑을 이용한 정보 추출 장치 및 그 방법 |
US8301998B2 (en) | 2007-12-14 | 2012-10-30 | Ebay Inc. | Identification of content in an electronic document |
US8601393B2 (en) * | 2008-01-28 | 2013-12-03 | Fuji Xerox Co., Ltd. | System and method for supporting document navigation on mobile devices using segmentation and keyphrase summarization |
US20090248707A1 (en) * | 2008-03-25 | 2009-10-01 | Yahoo! Inc. | Site-specific information-type detection methods and systems |
EP2304581A4 (en) * | 2008-06-26 | 2014-01-08 | Hewlett Packard Development Co | SELF-ADMINISTRATION OF LOCAL OPERATORS SENT FROM THE FOLLOWING |
US8438472B2 (en) | 2009-01-02 | 2013-05-07 | Apple Inc. | Efficient data structures for parsing and analyzing a document |
US20140033024A1 (en) * | 2009-04-07 | 2014-01-30 | Adobe Systems Incorporated | Multi-item page layout modifications by gap editing |
CN101937438B (zh) * | 2009-06-30 | 2013-06-05 | 富士通株式会社 | 网页内容提取方法和装置 |
JP6116247B2 (ja) * | 2009-10-02 | 2017-04-19 | ムスルリ, アラビンドMUSULURI, Aravind | 視覚的要素をブロック分割し、識別し、インデクスを付けて、ドキュメントを検索するためのシステムおよび方法 |
US8819028B2 (en) * | 2009-12-14 | 2014-08-26 | Hewlett-Packard Development Company, L.P. | System and method for web content extraction |
US8380719B2 (en) * | 2010-06-18 | 2013-02-19 | Microsoft Corporation | Semantic content searching |
US20130091150A1 (en) * | 2010-06-30 | 2013-04-11 | Jian-Ming Jin | Determiining similarity between elements of an electronic document |
US8606789B2 (en) * | 2010-07-02 | 2013-12-10 | Xerox Corporation | Method for layout based document zone querying |
US8874581B2 (en) | 2010-07-29 | 2014-10-28 | Microsoft Corporation | Employing topic models for semantic class mining |
US9317622B1 (en) * | 2010-08-17 | 2016-04-19 | Amazon Technologies, Inc. | Methods and systems for fragmenting and recombining content structured language data content to reduce latency of processing and rendering operations |
EP2431889A1 (en) * | 2010-09-01 | 2012-03-21 | Axel Springer Digital TV Guide GmbH | Content transformation for lean-back entertainment |
WO2012057891A1 (en) * | 2010-10-26 | 2012-05-03 | Hewlett-Packard Development Company, L.P. | Transformation of a document into interactive media content |
US8442998B2 (en) | 2011-01-18 | 2013-05-14 | Apple Inc. | Storage of a document using multiple representations |
WO2013148351A1 (en) * | 2012-03-30 | 2013-10-03 | Bmenu As | System and method for analyzing an electronic documents |
US9524274B2 (en) * | 2013-06-06 | 2016-12-20 | Xerox Corporation | Methods and systems for generation of document structures based on sequential constraints |
KR101429466B1 (ko) * | 2012-11-19 | 2014-08-13 | 네이버 주식회사 | 동적 페이지 분할을 이용한 웹페이지 제공 방법 및 시스템 |
WO2014198336A1 (en) | 2013-06-14 | 2014-12-18 | Wavelight Gmbh | Automatic machine settings for customized refractive surgery |
US9817823B2 (en) * | 2013-09-17 | 2017-11-14 | International Business Machines Corporation | Active knowledge guidance based on deep document analysis |
US10198408B1 (en) * | 2013-10-01 | 2019-02-05 | Go Daddy Operating Company, LLC | System and method for converting and importing web site content |
US9672195B2 (en) * | 2013-12-24 | 2017-06-06 | Xerox Corporation | Method and system for page construct detection based on sequential regularities |
WO2015164278A1 (en) * | 2014-04-20 | 2015-10-29 | Aravind Musuluri | System and method for variable presentation semantics of search results in a search environment |
RU2595557C2 (ru) * | 2014-09-17 | 2016-08-27 | Общество с ограниченной ответственностью "Аби Девелопмент" | Выявление снимков экрана на изображениях документов |
US10733754B2 (en) * | 2017-01-18 | 2020-08-04 | Oracle International Corporation | Generating a graphical user interface model from an image |
US10838699B2 (en) | 2017-01-18 | 2020-11-17 | Oracle International Corporation | Generating data mappings for user interface screens and screen components for an application |
US10891419B2 (en) | 2017-10-27 | 2021-01-12 | International Business Machines Corporation | Displaying electronic text-based messages according to their typographic features |
US11954461B2 (en) | 2018-02-26 | 2024-04-09 | Ukg Inc. | Autonomously delivering software features |
US10769056B2 (en) | 2018-02-26 | 2020-09-08 | The Ultimate Software Group, Inc. | System for autonomously testing a computer system |
US11010284B1 (en) | 2018-05-31 | 2021-05-18 | The Ultimate Software Group, Inc. | System for understanding navigational semantics via hypothesis generation and contextual analysis |
US11113175B1 (en) | 2018-05-31 | 2021-09-07 | The Ultimate Software Group, Inc. | System for discovering semantic relationships in computer programs |
US10747651B1 (en) | 2018-05-31 | 2020-08-18 | The Ultimate Software Group, Inc. | System for optimizing system resources and runtime during a testing procedure |
US10599767B1 (en) | 2018-05-31 | 2020-03-24 | The Ultimate Software Group, Inc. | System for providing intelligent part of speech processing of complex natural language |
US10977155B1 (en) | 2018-05-31 | 2021-04-13 | The Ultimate Software Group, Inc. | System for providing autonomous discovery of field or navigation constraints |
US11176310B2 (en) * | 2019-04-01 | 2021-11-16 | Adobe Inc. | Facilitating dynamic document layout by determining reading order using document content stream cues |
US11194953B1 (en) * | 2020-04-29 | 2021-12-07 | Indico | Graphical user interface systems for generating hierarchical data extraction training dataset |
CN112347353B (zh) * | 2020-11-06 | 2024-05-24 | 同方知网(北京)技术有限公司 | 一种网页去噪的方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619709A (en) * | 1993-09-20 | 1997-04-08 | Hnc, Inc. | System and method of context vector generation and retrieval |
US5802515A (en) * | 1996-06-11 | 1998-09-01 | Massachusetts Institute Of Technology | Randomized query generation and document relevance ranking for robust information retrieval from a database |
US6125361A (en) | 1998-04-10 | 2000-09-26 | International Business Machines Corporation | Feature diffusion across hyperlinks |
WO2000062243A1 (fr) * | 1999-04-14 | 2000-10-19 | Fujitsu Limited | Procede et dispositif d'extraction de chaines de caracteres utilisant un composant de base d'une image de document |
US6880122B1 (en) * | 1999-05-13 | 2005-04-12 | Hewlett-Packard Development Company, L.P. | Segmenting a document into regions associated with a data type, and assigning pipelines to process such regions |
US6754885B1 (en) * | 1999-05-17 | 2004-06-22 | Invensys Systems, Inc. | Methods and apparatus for controlling object appearance in a process control configuration system |
JP3594228B2 (ja) * | 1999-07-01 | 2004-11-24 | シャープ株式会社 | 枠消し装置、枠消し方法、およびオーサリング装置 |
US7346604B1 (en) * | 1999-10-15 | 2008-03-18 | Hewlett-Packard Development Company, L.P. | Method for ranking hypertext search results by analysis of hyperlinks from expert documents and keyword scope |
US6963867B2 (en) * | 1999-12-08 | 2005-11-08 | A9.Com, Inc. | Search query processing to provide category-ranked presentation of search results |
US6584465B1 (en) * | 2000-02-25 | 2003-06-24 | Eastman Kodak Company | Method and system for search and retrieval of similar patterns |
JP3729017B2 (ja) * | 2000-03-27 | 2005-12-21 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置 |
US20020123994A1 (en) * | 2000-04-26 | 2002-09-05 | Yves Schabes | System for fulfilling an information need using extended matching techniques |
JP3425408B2 (ja) * | 2000-05-31 | 2003-07-14 | 株式会社東芝 | 文書読取装置 |
US7003513B2 (en) * | 2000-07-04 | 2006-02-21 | International Business Machines Corporation | Method and system of weighted context feedback for result improvement in information retrieval |
JP3703080B2 (ja) * | 2000-07-27 | 2005-10-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ウェブコンテンツを簡略化するための方法、システムおよび媒体 |
JP3995185B2 (ja) * | 2000-07-28 | 2007-10-24 | 株式会社リコー | 枠認識装置及び記録媒体 |
US6567103B1 (en) * | 2000-08-02 | 2003-05-20 | Verity, Inc. | Graphical search results system and method |
US7356530B2 (en) * | 2001-01-10 | 2008-04-08 | Looksmart, Ltd. | Systems and methods of retrieving relevant information |
US6978420B2 (en) * | 2001-02-12 | 2005-12-20 | Aplix Research, Inc. | Hierarchical document cross-reference system and method |
US7076483B2 (en) * | 2001-08-27 | 2006-07-11 | Xyleme Sa | Ranking nodes in a graph |
TW533142B (en) * | 2001-09-12 | 2003-05-21 | Basevision Technology Corp | Composing device and method for name card |
US20040013302A1 (en) * | 2001-12-04 | 2004-01-22 | Yue Ma | Document classification and labeling using layout graph matching |
US7107525B2 (en) * | 2002-07-23 | 2006-09-12 | Xerox Corporation | Method for constraint-based document generation |
US6947930B2 (en) * | 2003-03-21 | 2005-09-20 | Overture Services, Inc. | Systems and methods for interactive search query refinement |
-
2003
- 2003-07-28 US US10/628,766 patent/US7428700B2/en not_active Expired - Fee Related
-
2004
- 2004-06-28 TW TW093118839A patent/TW200508896A/zh unknown
- 2004-06-28 CA CA002472664A patent/CA2472664A1/en not_active Abandoned
- 2004-07-02 EP EP04015636A patent/EP1503300A3/en not_active Withdrawn
- 2004-07-06 AU AU2004203057A patent/AU2004203057A1/en not_active Abandoned
- 2004-07-06 ZA ZA200405370A patent/ZA200405370B/xx unknown
- 2004-07-16 MX MXPA04006932A patent/MXPA04006932A/es active IP Right Grant
- 2004-07-23 BR BR0403013-3A patent/BRPI0403013A/pt not_active IP Right Cessation
- 2004-07-27 KR KR1020040058540A patent/KR20050013949A/ko not_active Application Discontinuation
- 2004-07-27 RU RU2004123222/09A patent/RU2004123222A/ru not_active Application Discontinuation
- 2004-07-28 CN CNA2004100556979A patent/CN1577328A/zh active Pending
- 2004-07-28 JP JP2004220868A patent/JP2005050344A/ja not_active Withdrawn
-
2006
- 2006-01-09 US US11/275,488 patent/US7613995B2/en not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708116B (zh) * | 2005-09-22 | 2016-01-20 | 谷歌公司 | 用于图像处理的***和方法 |
CN101515272B (zh) * | 2008-02-18 | 2012-10-24 | 株式会社理光 | 提取网页内容的方法和装置 |
US8650473B2 (en) | 2008-07-11 | 2014-02-11 | Canon Kabushiki Kaisha | Document managing apparatus, document managing method, and storage medium |
CN102089785A (zh) * | 2008-07-11 | 2011-06-08 | 佳能株式会社 | 文档管理设备、文档管理方法和存储介质 |
CN102089785B (zh) * | 2008-07-11 | 2014-01-08 | 佳能株式会社 | 文档管理设备和文档管理方法 |
CN102906733A (zh) * | 2010-02-12 | 2013-01-30 | 尼古拉斯·鲁姆 | 文本连续性的指示符 |
US9026907B2 (en) | 2010-02-12 | 2015-05-05 | Nicholas Lum | Indicators of text continuity |
CN102906733B (zh) * | 2010-02-12 | 2016-08-17 | 比蓝阅读器公司 | 文本连续性的指示符 |
US10102182B2 (en) | 2010-02-12 | 2018-10-16 | Beeline Reader, Inc. | Indicators of text continuity |
US8867837B2 (en) | 2010-07-30 | 2014-10-21 | Hewlett-Packard Development Company, L.P. | Detecting separator lines in a web page |
WO2012012915A1 (en) * | 2010-07-30 | 2012-02-02 | Hewlett-Packard Development Co | Detecting separator lines in a web page |
CN105144195A (zh) * | 2013-02-19 | 2015-12-09 | 微软技术许可有限责任公司 | 解析和呈现结构化图像 |
CN109298819A (zh) * | 2018-09-21 | 2019-02-01 | Oppo广东移动通信有限公司 | 选择对象的方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CA2472664A1 (en) | 2005-01-28 |
US20060106798A1 (en) | 2006-05-18 |
JP2005050344A (ja) | 2005-02-24 |
AU2004203057A1 (en) | 2005-02-17 |
US7428700B2 (en) | 2008-09-23 |
ZA200405370B (en) | 2005-03-15 |
MXPA04006932A (es) | 2005-03-23 |
US7613995B2 (en) | 2009-11-03 |
EP1503300A2 (en) | 2005-02-02 |
BRPI0403013A (pt) | 2005-03-22 |
TW200508896A (en) | 2005-03-01 |
RU2004123222A (ru) | 2006-01-27 |
US20050028077A1 (en) | 2005-02-03 |
KR20050013949A (ko) | 2005-02-05 |
EP1503300A3 (en) | 2006-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1577328A (zh) | 基于视觉的文档分割 | |
CN1284107C (zh) | 用于搜索一组信息项的信息检索设备和方法 | |
CN101069184A (zh) | 信息处理装置和方法、及程序 | |
JP5551187B2 (ja) | 文献分析システム | |
CN1257470C (zh) | 评价网页的装置和方法 | |
CN1143239C (zh) | 用来分析表格图像的方法和设备 | |
CN1320485C (zh) | 图像检索装置和图像检索装置的关键词赋予方法 | |
US7991769B2 (en) | System and method for budgeted generalization search in hierarchies | |
CN1669029A (zh) | 自文件集合中自动搜寻概念层次结构的方法及*** | |
CN1942877A (zh) | 信息提取*** | |
US8019758B2 (en) | Generation of a blended classification model | |
EP2284733A2 (en) | Multi-modal information access | |
CN1848108A (zh) | 包括手写数据的电子文档的显示装置及方法 | |
US20100079464A1 (en) | Information processing apparatus capable of easily generating graph for comparing of a plurality of commercial products | |
CN101044481A (zh) | 用于搜索、导航和排名个人网中的文档的方法、***和计算机程序产品 | |
CN1268710A (zh) | 数据库检索装置及方法 | |
JP2007233913A (ja) | 画像処理装置及びプログラム | |
CN1559044A (zh) | 信息解析方法以及装置 | |
CN1186287A (zh) | 用于字符识别的方法和装置 | |
CN1991837A (zh) | 结构化文档处理装置和方法 | |
WO2000052645A1 (fr) | Dispositif de traitement d'image document, procede d'extraction de titre de document et procede d'information d'etiquetage de document | |
CN1839401A (zh) | 信息处理装置及信息处理方法 | |
CN1467659A (zh) | 图面搜索支持设备和图面搜索方法 | |
CN1786947A (zh) | 基于网页页面布局提取网页核心内容的***、方法和程序 | |
CN1892641A (zh) | 用于在电子表单中隐藏模型内的敏感数据的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |