CN102741838B - 块分割、识别与索引视觉元素及搜索文档的***与方法 - Google Patents

块分割、识别与索引视觉元素及搜索文档的***与方法 Download PDF

Info

Publication number
CN102741838B
CN102741838B CN201080054420.8A CN201080054420A CN102741838B CN 102741838 B CN102741838 B CN 102741838B CN 201080054420 A CN201080054420 A CN 201080054420A CN 102741838 B CN102741838 B CN 102741838B
Authority
CN
China
Prior art keywords
block
document
methods
visual element
list
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.)
Expired - Fee Related
Application number
CN201080054420.8A
Other languages
English (en)
Other versions
CN102741838A (zh
Inventor
A·穆苏卢里
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 CN102741838A publication Critical patent/CN102741838A/zh
Application granted granted Critical
Publication of CN102741838B publication Critical patent/CN102741838B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种分割、识别、索引视觉元素并搜索文档的方法包括为每个文档生成元数据,使用元数据将所述文档分割成块,执行对被识别的块的块操作,使用数据和元数据规则识别并索引内嵌视觉元素,使用配置文件识别并索引块视觉元素,搜索包含视觉元素的文档。

Description

块分割、识别与索引视觉元素及搜索文档的***与方法
相关申请的交叉参考
本专利申请要求2009年10月2日提交的题为《块分割、识别与索引视觉元素及搜索文档的***与方法》的第61/247,973号美国临时专利申请的优先权,并以引用的方式纳入本文中。
公开领域
本公开总体上涉及搜索数据源方法和***。尤其是它涉及到根据搜索者的需求定制计算机搜索的方法。还进一步涉及到显示搜索结果的方法,以这种方式有助于容易理解通过搜索得到的信息的性质与范围。
背景
本节的说明仅提供与本公开相关的背景信息,且并不一定能构成现有技术。
在当今信息时代,用户能通过他们的本地计算机接触到大量数据,并能通过内联网和被称为因特网的全球计算机网络接触到无限量的数据。
用户为了找到期望的信息,通常使用本领域中已无所不在以各种形式出现并被熟知的搜索引擎。一些搜索引擎被嵌入到程序中。在正在程序中打开的一个文档中,通常使用这种搜索引擎找到信息。典型常用的文档搜索引擎包括 Notepad(记事本)搜索功能和搜索功能。另一方面,桌面搜索引擎使用户能够在本地计算机上查找信息。典型常用的桌面搜索引擎包括 XP Search和OS Finder。网络搜索引擎能使用户通过因特网(或内联网)找到信息。典型常用的网络搜索引擎包括一些搜索引擎是混合的,因为他们既搜索本地数据源还搜索远程数据源。
寻找所期望主题的信息的用户为了使用搜索引擎,通常把由与该主题相关的关键词或关键词组组成的搜索查询输入到该搜索引擎的搜索界面中。如果是在单个文档中执行该搜索的话,该搜索引擎通常会在该文档中突出显示这些匹配。如果是在多个文档中执行该搜索的话,该搜索引擎通常会显示一份报告,报告中有转至包含这些搜索关键词的相关文档的优先列表的链接。通常每个结果还会包括一个简短的文本概述。该概述是包含了搜索查询的关键词的文档中的一个或多个文本片段。
尽管现有的搜索引擎有很多用处和优点,但技术中还是存在着不足。通过网络搜索引擎的一个典型的互联网搜索找到了大规模数量的无关数据。这使用户花费相当长的时间和相当大的精力去筛选信息,才能找到符合他需求的相对少的网页。
搜索引擎返回如此多的无关结果的原因是通过关键词本身的索引和搜索并不是合适的方法。例如,在现有的搜索引擎中,对“印度”感兴趣的用户要将搜索结果指定并限定到诸如“首都/新德里”之类的“键/值”对是不可能的。
现有的搜索引擎的另一个缺点是对于还不知道与所感兴趣的主题有关的关键词是什么的用户而言,这些搜索引擎就是无用的。例如,如果用户想要找到与《侏罗纪公园》相似的电影,那么他通过关键词“侏罗纪公园”和“相似”来搜索是没有用的,因为这仍会返回还包括了单词“相似”的有关“侏罗纪公园”的页面。
现有的搜索引擎还有一个缺点是它们无法以一种能使用户容易理解搜索结果的性质与类型的方式来呈现结果。
用于在内联网、外联网、局域网、个人电脑甚至是单个文档中搜索的***通常也有上述同样的缺点。
鉴于上述缺点,则需要找到一个从数据源搜索到与感兴趣主题相关的有用信息的有效方法。
概述
为了对本公开的几个观点有一个基本的理解,下面提供本公开的简略概述。本概述并不是本公开的完整描述。它的目的不是确定本公开的关键元素,也不是划定本公开的范围。它的唯一目的是作为之后会介绍的更多详细描述的序言以简略的形式介绍本公开的一些概念。
本公开可同样适用于在内联网、外联网、大型或小型网络、个人电脑和个人程序/文档/文件上从数据源搜索信息。因此,当有时在互联网搜索方面描述我们的公开和本文给出的使用的例子时,这应理解为是本公开的使用和效用的例子,它并不是为了说明任何它们使用范围的限制。相反,应将本公开理解为能同样适用于诸如内联网、广域网、局域网、个人计算机***和个人程序/文档/文件之类的***。
本公开可同样适用于搜索及使用已知的或未来开发用于通信或传输数据的任何协议和技术,诸如(但不限于)HTTP、HTTPS、FTP、File、TCP/IP和POP3。因此,当有时在HTTP和TCP/IP方面描述我们的公开和给出的使用的例子时,这应理解为是本公开的使用和效用的例子,它并不是为了说明任何它们使用范围的限制。相反,应将本公开理解为能同样适用于此项技术中已知的或未来开发用于发送及/或接收数据的任意类型的本地或网络协议和技术。
本公开可同样适用于搜索及返回至包含文本和可选表示语义(界面外观指令)的链接,诸如(但不限于)HTML、DHTML、XML、SGML、PDF、E-mail、 Word文档、 Powerpoint文档、新闻组发布帖、多媒体对象、图像交换格式图片和/或Shockwave Flash文件。可以隐性或显性地在本领域已知的或未来开发的语言中详细定义表示语义,该语言诸如(但不限于)CSS。如果是显性定义的文档的表示语义,表示语义可以与数据一同包括在相同文件中,或是在外部文件中定义,或是取两者结合。文档的外部表示语义文件在这里可以被定义为介绍文件。因此,当有时在HTML和CSS方面描述我们的公开和这里给出的使用的例子时,这应理解为是本公开的使用和效用的例子,它并不是为了说明任何它们使用范围的限制。相反,应将本公开理解为能同样适用于在此项技术中被集成为一个单元或未来开发的任意文档、文件或文件集,包括了有可选表示语义指令的文本、音频和视频对象、图像和其他多媒体对象。
本公开通常涉及了从数据源搜索信息的方法和***。尤其是它涉及了基于视觉的识别、提取并索引片段或部分的文档的方法及匹配段落、表格、列表、菜单、固定宽度文本、键/值、图表、问题/回答、时间轴及交互(在下文中被称为“视觉元素”)类型的方法,该方法类似于人们通过在显示界面上查看文档所做的方式。
在本公开的一方面,人在视觉元素类型的文档中通过在诸如显示屏之类的显示界面或纸张上该文档的呈现来识别并/或提取视觉元素。而在本公开的另一方面,该***在视觉元素类型的文档中在块和配置文件的帮助下自动识别并/或提取视觉元素。在本发明的另一方面,人与***的结合可以用于视觉元素的识别和提取。
块是文档的一个逻辑单元。配置文件是当在显示界面上块作为该文档的一部分被显示时以识别并将匹配的块分类成视觉元素类型这样的方式设计的一组规则,该方式与人通过视觉上查看块来分类块的方式完全相似。
本公开的另一目的是索引并排序找到的视觉元素。
本公开的另一目的是向用户提供界面用以通过将结果限定为一个或多个视觉元素类型搜索与主题相关的信息。其中,该搜索界面在搜索查询输入阶段向用户提供建议,还在结果报告中向用户提供了更多建议。
本公开的另一目的是作为对用户搜索查询的反馈将优先搜索结果以水平列表和/或垂直列表和/或网格的形式显示出来。
本公开的另一目的是展示作为每个搜索结果的段落文本的简略概述。本概述是包含了搜索查询的关键词的文档中的一个或多个文本片段。在本公开的另一方面,本概述结果是以与初始文档中找到的同样的视觉类型被展示的,比如初始文档中找到的表格中的表格视觉类型的结果概述。而在另一方面,该结果概述是以与初始文档中找到的同样的视觉类型和表示语义被展示的。
本公开的另一目的是当用户使用还包含了视觉元素类型的搜索查询来执行搜索时在结果报告中展示广告。在本公开的另一方面,商人可以参与还包含了视觉元素类型的搜索查询得到的结果报告上的广告空位的投标。而在本公开的另一方面,文档作者或文档所有者可以为该文档的视觉元素付费以使其被索引并作为搜索结果的一部分被包括在内。
附图简述
图1是根据本公开的实施例示出的示例搜索引擎***的框图。
图2是示出图1的示例搜索引擎的计算设备的框图。
图3描述了示例文档的源内容数据。
图4描述了图3的源内容数据的示例表示语义。
图5描述了图3的源内容数据的示例元数据。
图6描述了块识别的示例标准数据。
图7描述了块识别的示例标准数据。
图8描述了向显示设备呈现的图3的源内容数据的示例。
图9描述了展示了由图2的块分割和索引逻辑构件执行的块划分的图8的呈现。
图10描述了由图2的块分割和索引逻辑构件执行的示例块划分。
图11描述了由图2的块分割和索引逻辑构件执行的示例块划分。
图12描述了图11的块的合并。
图13是展示了每个字体系列、字体大小和字体粗细组合的重要性值的部分表格。
图14描述了由图2的块分割和索引逻辑构件执行的示例块划分。
图15描述了包含“列表”类型的视觉元素的示例源内容数据。
图16描述了包含“固定宽度文本”类型的视觉元素的示例源内容数据。
图17描述了图16的源内容数据的示例表示语义数据。
图18描述了包含“列表”类型的视觉元素的示例源内容数据。
图19描述了图18的源内容数据的示例表示语义数据。
图20描述了包含“列表”类型的视觉元素的示例源内容数据。
图21描述了包含“段落”类型的视觉元素的示例源内容数据。
图22描述了图21的源内容数据的示例表示语义数据。
图23描述了包含“表格”类型的视觉元素的示例源内容数据。
图24描述了图23的源内容数据的示例表示语义数据。
图25描述了包含“表格”类型的视觉元素的示例源内容数据。
图26描述了图25的源内容数据的示例表示语义数据。
图27描述了包含“键/值”类型的视觉元素的示例源内容数据。
图28描述了图27的源内容数据的示例表示语义数据。
图29描述了包含“问题/回答”类型的视觉元素的示例源内容数据。
图30描述了包含“菜单”类型的视觉元素的示例源内容数据。
图31描述了图30的源内容数据的示例表示语义数据。
图32描述了包含“固定宽度文本”类型的视觉元素的示例源内容数据。
图33描述了图32的源内容数据的示例表示语义数据。
图34描述了包含“时间轴”类型的视觉元素的示例源内容数据。
图35描述了包含“图表”类型的视觉元素的示例源内容数据。
图36描述了包含“交互”类型的视觉元素的示例源内容数据。
图37描述了根据本公开的实施例示出的示例源内容数据。
图38是描述了图2中块分割和索引逻辑构件的示例结构和功能的流程图。
图39描述了可以由图1的搜索引擎***向用户展示的示例图形用户界面(GUI)。
图40描述了可以由图1的搜索引擎***向用户展示的另一个示例GUI。
图41描述了当用户在图1的搜索引擎***中输入搜索查询时会为该用户提供关键词建议的示例GUI。
图42描述了作为对“列表”类型视觉元素的用户搜索的反馈可以由图1的搜索引擎***向用户展示的示例结果报告。
图43描述了作为对“列表”类型视觉元素的用户搜索的反馈可以由图1的搜索引擎***向用户展示的另一个示例结果报告。
图44描述了作为对“列表”和“表格”类型视觉元素的用户搜索的反馈可以由图1的搜索引擎***向用户展示的示例结果报告。
详细描述
本公开涉及搜索和索引文档的***与方法。根据本公开的实施例的***使用在网络上定位文档(或网页)的抓取器。一旦该文档被定位,该***基于预定义的规则将每个被定位的文档分成块。另外,该***基于预定义的规则在每个文档内定位视觉元素。例如,该***基于预定义的规则在文档内定位表格、段落、标题、列表和固定宽度文本。通过分析该文档源内容、该文档的表示语义和与该文档有关的元数据来确定视觉元素。一旦发现了这些视觉元素,就将其编入索引。然后用户就可以搜索包含视觉元素的文档。
图1根据本公开的示例实施例描述了网络搜索引擎***100。***100包括网络服务器101、搜索引擎服务器102和客户端103。网络服务器101、搜索引擎服务器102和客户端103全都通过网络104通信。
网络104可以包括在此项技术中已知的或未来开发的任意类型的网络。鉴于此,网络104可以是以太网、局域网(LAN)或广域网(WAN),比如因特网或各种网络的结合。
示例搜索引擎服务器102包括抓取器逻辑构件105、块分割和索引逻辑构件106,搜索引擎逻辑构件107以及文档和语义数据108、索引数据109和广告数据110。
在示例搜索引擎苏服务102中,抓取器逻辑构件105获取网络文档,尤其是HTML网页和它们所关联的层叠样式表(CSS)介绍文件,并将它们存储到文档和表示数据108中。抓取器逻辑构件105是自动化的浏览器,它跟踪每个到在被抓取的文档中它所遇到的文档的链接。每个链接标识出网络服务器101提供的一个网页111。为简便起见,图1所示一台网络服务器101仅为一个网页111提供服务。然而,只要网络服务器101通信连接到网络104,该网络服务器101可以为多个文档提供服务并且抓取器逻辑构件105可以获取链接所标识和网络服务器所提供服务的任意文档。应注意网页111可以是网页或者文档。
应注意抓取器逻辑构件105可以存储与该文档相关的额外信息,比如在文档和表示数据109中标识出该文档的链接、该文档最后被修改的日期和时间、该文档被抓取的日期和时间和该文档的大小等等。
还应注意在块分割和索引逻辑构件106很方便获取要被搜索的文档及其相关的介绍文件的情况下的那些实例中,可以不需要抓取器逻辑构件105。
搜索引擎服务器102还包括了块分割和索引逻辑构件106。块分割和索引逻辑构件106分析在文档和表示数据108中的文档及其相关的介绍文件。对于每个文档,块分割和索引逻辑构件106将该文档划分为逻辑单元,这里也称为块,并在配置文件的帮助下识别那些是每个块的一部分的视觉元素。它还在索引数据109中创建了被识别的视觉元素的索引。如图3至图38,还将进一步解释说明块分割和索引逻辑构件109。
一旦在索引数据109中创建并存储了该索引,用户113通过在客户端计算设备103上运行的客户端逻辑构件112可以输入由关键词组成的搜索查询和可以识别用户感兴趣搜索的信息的类型的一个或多个视觉元素类型。如图39至图44,还将进一步详述为接收用户搜索查询而由客户端逻辑构件112向用户113展示的示例界面。
客户端逻辑构件112可以包括,比如,互联网浏览器;但是,可以在本公开的其他实施例中使用用以与用户113交互并与搜索引擎逻辑构件107通信的其他类型的客户端逻辑构件112。客户端逻辑构件112通过网络104向搜索引擎服务器102传送该用户搜索查询。搜索引擎逻辑构件107一旦接收到该用户搜索查询,就检查索引数据存储109以判断它是否包含了匹配由在该用户的搜索查询中的视觉元素类型所缩小的用户搜索查询的用语。如果是这样的,那么搜索引擎逻辑构件107就编译在指定的视觉元素类型中包含全部或一些关键词的所有文档的优先列表,并将该列表返回给客户端逻辑构件106,该客户端逻辑构件106在窗口中向用户113显示该结果。
在另一个实施例中,搜索引擎逻辑构件107一旦接收到该用户搜索查询,就不会通过在该用户搜索查询中的视觉元素类型缩小搜索结果,而是可以赋予文档与在用户搜索查询中指定的视觉元素类型中找到的关键词更高的关联或更高的排名。因此,如果两个网页(或文档)有个单词在该用户搜索查询中与该关键词相匹配且这两个网页的其中之一在该用户搜索查询的指定类型的视觉元素中具有该关键词,而其他条件相同,则作为对该搜索查询的反馈,在由该用户指定类型的视觉元素中具有该关键词的该网页会在发送给用户的搜索结果中有更高的排名。相应地,该搜索结果不仅是基于一个给定的网页是否并多大程度上具有与关键词匹配的单词,而且还基于该匹配的单词被使用时的上下文(例如,这些匹配的单词是在一个指定类型的视觉元素中被使用的)。
在另一个实施例中,作为对该用户搜索查询的反馈,除该搜索结果之外,搜索引擎逻辑107还可以包括来源于广告数据110的广告。
图2根据本公开的实施例描述了示例搜索引擎服务器102。搜索引擎服务器102是合适的计算环境的唯一的一个实例,它的目的不是建议限制本公开的使用或效用的范围。
搜索引擎服务器102可以包括总线206、处理器201、存储器202、网络设备203、计算设备204和输出设备205。总线206可以包括允许在计算设备200的部件之间通信的一条通路。
存储器202存储抓取器逻辑构件105、块分割和索引逻辑构件106、搜索引擎逻辑构件107、文档和表示数据108、索引数据109和广告数据110。可以在软件、硬件、固件或这三者的结合中实现这些组件。在该示例实施例中,抓取器逻辑构件105、块分割和索引逻辑构件106、搜索引擎逻辑构件107、文档和表示数据108、索引数据109、广告数据110作为存储在存储器102中的软件被展现出来。
存储器202可以是在此项技术中已知的或未来开发的用于电子存储数据和/或逻辑的任意类型的计算机存储器,包括易失性和非易失性存储器。鉴于此,该存储器202可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、任意的磁性计算机存储设备,该磁性计算机存储设备包括硬盘、软盘或磁带及光盘。
处理器201包括用于翻译或执行存储在存储器202中的任务或指令的处理硬件。应注意该处理器201可以是微处理器、数字处理器或其他类型的配置用于运行及/或执行指令的电路。
网络设备203可以是在此项技术中已知的或未来开发的用于在网络104(图1)上通信的任意类型的网络设备(比如,调制解调器)。鉴于此,搜索引擎服务器102(图1)通过该网络设备203在网络104上(图1)与网络服务器101(图1)和客户端计算设备103(图1)通信。
输入设备204是在此项技术中已知的或未来开发的用于从用户114(图1)处接收数据的任意类型的输入设备。作为一个实例,该输入设备204可以是键盘、鼠标、触摸屏、串行端口、扫描仪、照相机或麦克风。
输出设备205可以是在此项技术中已知的或未来开发的用于向用户114(图1)显示数据的任意类型的输出设备。作为一个实例,该输出设备205可以是液晶显示器(LCD)或其他类型的视频显示设备、扬声器、或打印机。
应注意本公开也可以在通信连接到该网络的多个计算设备执行搜索引擎服务器102(图1)的任务或指令的分布式计算环境下实行。
还应注意,该搜索引擎服务器102的组件可以由软件、硬件、固件或其任意组合来实现。在该示例搜索引擎服务器102中,根据图1所示,所有的组件都是由存储在存储器202中的软件实现的。
图3至图14例示了通过块分割和索引逻辑构件106将文档划分成块,这还增强了***在该文档内定位视觉元素的能力。
如之前所述,块是文档的一个逻辑单元。如下所述可以是一种解释块的方式:字母组成了单词,单词组成了句子,句子组成了块,块组成了更大的块,而文档本身则是最大的块。取决于该文档类型,换行符、标记、表示语义和/或计算所得数据能帮助识别块。
如上所述,因为块可以包含内部块,所以块可以被嵌套。包含了内部块的块可以被称为该内部块的父块,相应地,该内部块也可以被称为子块。父块包围了它的全部子块。应注意由于嵌套的缘故,一个块可以有多个父块。没有子块的块是一种特殊类型的块,它可以被称为块项(block item)。整个文档是一个逻辑单元并且因此也有一个块被作为根块(root block)。除了根块之外的每个块都有一个父块。
为了记录块的嵌套,每个块都被赋予一个级别。赋予块级别使得两个有相同数量父块的块一定有相同的级别且两个有不同数量父块的块一定有不同的级别。在本公开的示例实施例中,块的级别等于其父块的数量。根块的级别是零。
一旦抓取器逻辑构件105(图1)下载了该文档和任意的与该文档有关的介绍文件到文档和表示数据108(图1)中,块分割和索引逻辑106(图1)就分析该文档源内容及其表示语义并生成初始的元数据。元数据,本文作为术语而被使用,大体上理解为包括了任意与该文档相关的被聚集起来的、所具有的或计算所得的信息。鉴于此,元数据可以包括这些东西如标记、标记属性、隐性和显性表示语义、该文本的位置数据(如果该文档被呈现在显示设备上)、评论、额外的关于该文本本身的计算所得值(比如该文本是否是一个块、该文本是否是块项、平均字体大小等)及额外的从先前所识别/计算所得的元数据中计算所得值。这些元数据的实例都是典型示例,在其他实施例中可以使用其他类型的元数据。
应注意通过执行块分割和索引逻辑构件106(图1),初始元数据可以被更多的元数据扩充。还应注意该文档的不同分割可能产生不同的元数据。还应注意聚集起来的元数据的数量和类型根据文档类型的不同而不同。
图3描述了通过抓取器逻辑构件105(图1)下载并存储在文档和表示数据108(图1)中的一部分示例HTML文档300的源内容301。该源内容301由<DIV>元素302和<DIV>元素303组成。两个空<BR>元素304和305被嵌套在<DIV>元素303中。应注意该源内容301由标记内容和文本内容组成。
图4描述了为HTML文档300(图3)通过抓取器逻辑构件105(图1)下载并存储在文档和表示数据108(图1)中的示例表示语义400的表示语义部分401。表示语义401涉及了源内容301(图3)。
图5描述了为<DIV>元素303(图3)由块分割和索引逻辑构件106(图1)生成的一部分元数据500。元数据500包括多个元数据属性501-512。每个元数据属性都是由一个键/值对组成的。元数据属性501和502是从<DIV>元素303(图3)的标记推导而来的。元数据属性503是从显性表示语义401(图4)推导而来的。元数据属性504、505和506是从文档300(图3)的隐性表示语义推导而来的。元数据属性507到510是从文档300(图3)的呈现推导而来的。元数据属性507和508标识了在显示界面上用户所看到的在<DIV>元素303(图3)中的文本内容所开始的开始位置。元数据属性509和510分别标识了在显示界面上用户所看到的在<DIV>元素303(图3)中的文本内容的宽度和高度。应注意在虚拟显示界面的存储器202(图2)中可以完成呈现计算元数据的文档。
元数据属性511和512是由块分割和索引逻辑构件106(图1)计算推导而来的,且在如图6至图12还会进行进一步详述的块识别过程之后被扩充到<DIV>元素303(图3)的现有元数据。假定<DIV>元素303(图3)在块识别过程中通过块分割和索引逻辑构件106(图1)被标识为一个块。该信息被保存在元数据属性511中。元数据属性512保存了该块的计算所得级别。
块分割和索引逻辑构件106(图1)在从文档源内容和表示语义初始计算元数据后执行的下一步是识别块。为了判断该文档的一段是否是一个块,块分割和索引逻辑构件106(图1)检查该文档的该段是否满足了至少一个块识别标准集中的所有标准。在该标准集中的每个标准都是计算出真或假的关于元数据属性的一个规则。块识别标准集的设计方式是使得对于该标准集中的所有标准仅有块部分的计算结果为真。
一种考虑出块识别标准集的标准的方式可以是从视觉上观察文档并识别出该文档中的块、生成该文档内容的元数据、识别并生成那些特定的能视觉上被识别为块的部分的元数据属性。
应注意可以有多个块识别标准集且如果文档段满足了至少一个块识别标准集,则该文档段就是一个块。
图6描述了块识别标准集600的实例。标准集600仅由一个标准601组成。对于标准601,具有元数据属性键的任意段等于“display”且对应的元数据属性值等于“block”时计算结果为真。应注意<DIV>元素303(图3)有一个满足了标准601的元数据属性505(图5),因此也满足了标准集600。由于该<DIV>元素303(图3)满足了至少一个标准集,所以它是一个块。
图7描述了另一个块识别标准集700的实例。标准集700由两个标准701和702组成。标准701要求要有键为“start-tag”的元数据属性且其对应的元数据属性值为“br”。标准702要求不应有键显示的元数据属性且其对应的元数据值应非空。<BR>元素304(图3)和305(图3)的元数据(未示出)同时满足了标准集700的两个标准。因此,空的<BR/>元素也是块。
图8是由源内容301(图3)标识出的文档300(图3)的部分801在显示界面上用户所看到的图。应注意虽然源内容301(图3)由标记内容和文本内容组成,但当该文档被呈现在该显示界面上时用户也仅能看见该文本内容。
图9是示出了由源内容301(图3)识别出的文档300(图3)的部分中的所有的块的图。在图9中使用了实线框来标示由块分割和索引逻辑构件106(图1)通过块识别标准集而识别出的块901至906。应注意块项902是块901的子块。进一步注意,块904是块903的一个直接子块,而块905是块903的子块但并不是块903的直系子块。
在本公开的示例实施例中,该文档中的所有文本段可以属于一个块项。它未必一定是同一个块项。而且,任何文本段都不应属于多个块项。在块项902中的文本满足了这些条件因为该文本属于且仅属于一个块项902。但是,应注意属于块的一部分但不属于任何块项的一部分的文本段907至911是各自独立的。这些各自独立的文本段被块分割和索引逻辑构件106(图1)指定为块项。文本段907被指定为具有父块903的块项。类似地,剩余的文本段908至911都被指定为块项。应注意块项也是块。
应注意在其他实施例中,仅有一些甚至没有独立的文本段可以被指定为块项。
在这个阶段,块分割和索引逻辑构件106(图1)已将整个文档划分为块且一个被识别的块的列表准备就绪。接下来,块分割和索引逻辑构件106(图1)对在该块列表中的块执行一系列的操作。
块分割和索引逻辑构件106(图1)执行的第一个块操作是从该块列表中识别并移动任意的空块。为了完成该目标,块分割和索引逻辑构件106(图1)按级别的降序遍历所有在该块列表中被识别的块并对每个块检查该块是否为空。如果判定该块为空时,该块就从该块列表中移除。如果在显示界面上没有呈现或绘出任何与块有关的东西,则认为该块是空块。可以通过空快识别标准集来识别空块。块被识别为空块一定要满足至少一个空块识别标准集中的所有标准。诸如显示为空、可见为隐藏、显示大小为零、溢出为隐藏或块中的文本和边框均不可见之类的元数据属性帮助识别空块,也是空块识别标准集中标准的候选。
再者,该识别空块的技术可以通过处理文档并将其结果与视觉上观察该被呈现的文档相比较得到完善。如果一个块的任何部分都没有被呈现在屏幕上且该程序无法将该块标识为空块时,则存在着识别出需要合并入块分割和索引逻辑构件106(图1)的空块的广义元数据属性的组合。而另一方面,如果块分割和索引逻辑构件106(图1)将一个块标识为空块且在显示界面上呈现该文档时可以看到该块的一些部分的话,则存在着一组不是也不应为了用于识别空块而将块标识为空的广义的元数据属性。
如之前所述,块分割和索引逻辑构件识别了源内容301(图3)中的块901至911。从图8的源内容301(图3)的呈现可以推断出,块905和906的任何部分都没有在显示界面上显示,因此块905和906是空块。块分割和索引逻辑构件106(图1)判定块905和906是空块,因为这两个块的文本和边框均不可见,块分割和索引逻辑构件106(图1)还将这两个块从该块列表中移除。还应注意移除块905和906会产生具有三个子块项908、909、910而非五个子块项的块904。
块分割和索引逻辑构件106(图1)执行的下一步操作是检查块项是否有覆盖。从位置元数据可知每个块项占有矩形区域。如果两个或更多个块项之间互相有覆盖,则所有覆盖的块项可以从该块列表中删除。
应注意在其他实施例中,仅有被其他块覆盖的块才可以从该块列表中删除。而在另一个实施例中,仅有被其他非透明的块覆盖的块才可以从该块列表中删除。
块分割和索引逻辑构件106(图1)执行的下一步块操作是从该块列表中识别并移除中间块。如果一个块仅有一个直系子块,则认为它是中间块。
图10是示出用户所看到的一部分文档(不按比例)的图,框被添加到该图上在该部分标示由块分割和索引逻辑构件106(图1)所识别的块。该段由四个块1001至1004组成。假定块1001的级别是2,块1002的级别是3,1003和1004的级别是4。块分割和索引逻辑构件106(图1)计算出该块1001仅有一个直系子块1002,因此块1001是中间块且从该块列表中移除。现在中间块1001的子块1002、1003、1004成为了块1001直系父块(未示出)的子块。而且,中间块1001中的所有块的级别都被重新计算,从而块1002有了新级别2、块1003和1004有了新级别3。
应注意诸如表格行块、页眉块、页脚块和标题块之类的一些其他的块也可以被认为是中间块。
块分割和索引逻辑构件106(图1)执行的下一步操作是将符合条件的块合并为更大的块。当用户查看一个被呈现的文档段时,如果他发现并认出单个逻辑单元的话,而块分割和索引逻辑构件106(图1)识别出同一个文档段有不止一个块,则这两个或更多个被识别的块成为要合并成单个块的候选。
假定图11描述了(不按比例)一部分该被呈现的文档,还假定块分割和索引逻辑构件106(图1)识别出图11中的被添加的框所标示的三个块1101、1102和1103。块分割和索引逻辑构件106(图3)识别出三个块,而查看文档的用户仅可以识别出一个逻辑单元。因为块1102从日期开始且它可以是时间轴视觉元素的一部分且块1103不是从日期开始,则这两个块可以被合并。当块1102和1103被合并为单个块1201(图12)时,块1101有资格成为一个中间块,因此移除该块从而导致重新计算块1201(图12)的父块和级别。在用添加框合并这些符合条件的块以标示这些符合条件的块之后,图12描述了与图11中的该文档的同一部分。该合并导致移除三个块1101、1102和1103并将一个块1201添加到该块列表中。
应注意为了确定要被合并的符合条件的块,除了该元数据以外还可以包含分析块数据、还分析相邻块数据。
块分割和索引逻辑构件106(图1)执行的下一步操作是计算在该块列表中的每个块项的字体元数据属性块项字体系列、块项字体大小和块项字体粗细。由于块项中的不同文本段可以有不同的字体特征(字体系列、字体大小和字体粗细),所以计算出该块项中的所有文本的典型字体特征可能是有用的。当块项字体系列是典型字体系列时,对于该块项中的所有文本来说,块项字体大小就是典型字体大小,块项字体粗细就是典型字体粗细。
为了计算出一个块项的典型字体元数据属性,准备了一组三元组,该三元组用于块项的文本中的每个可见单词,由该单词的字体系列元数据属性值、字体大小元数据属性值和字体粗细元数据属性值组成。最常出现(统计模式)的三元组的字体系列、字体大小和字体粗细分别是块项字体系列、块项字体大小和块项字体粗细各自的元数据属性值。块项中的不同三元组的总数也可能是有用的且可以存储在该块项的另一个元数据属性块项变化值中。
应注意对于那些具有由仅仅几个单词组成的文本的块项而言,不要使用最常出现的三元组,而是使用有最大字体大小值或最大字体粗细值或最大重要性值的三元组,这对于计算字体元数据属性可能是有用的。如图13详述了三元组的重要性值。还应注意在其他实施例中,除了不可见单词以外,下标单词、上标单词、属于特定字体系列的单词比如Webdings,也无需在计算块项字体元数据属性时考虑。而在另一个实施例中,在计算块字体元数据属性时,三元组可以是为字符准备的而非单词,或可以使用统计平均值而非统计模式。
块分割和索引逻辑构件106(图1)还可以计算额外的元数据属性块项重要性,如图13所定义,它仅适用于块项。块项的块项重要性元数据属性可以被认为是关于该文档剩余部分的该块项的重要性。块项的块项重要性元数据属性是该块的块项字体系列、块项字体大小或块项字体粗细的函数。通常来说,块项字体大小或块项字体粗细越大,其他条件相同,则块项重要性越大。
在本公开的示例实施例中,块分割和索引逻辑构件106(图1)提供给预先填入了每个字体系列、字体大小和字体粗细的三元组组合的重要性值的查找表。图13描述了该查找表1300的一部分。三元组1301由字体系列“Arial”、字体大小“8”和字体粗细“700”组成,它的重要性值为1.11302。因此,对于块项字体系列值为Arial、块项字体大小值为8且块项字体粗细值为700的块项而言,块项重要性是1.1。
应注意在另一个实施例中,该查找表的重要性值可以具有下限和上限的范围,而不是一个单一的数字,因此块项重要性是一个范围值。
应注意在另一个实施例中,块分割和索引逻辑构件106可以执行额外的块操作,这还会将这些块分成多个块或是将块合并为更大的块。如果块分割和索引逻辑构件106(图1)将该文档划分为块可能没有与用户观察该被呈现的文档并人工将该文档划分为逻辑单元产生相同的结果,则可能需要这些操作。可能需要的要将该块分成多个块的一个实例是假设该直系子块遵循的模式是块项重要性值较大的多个块之后跟着一系列块项重要性值较低的块。
一旦完成了所有的块操作,块分割和索引逻辑构件106(图1)执行的下一步是识别该块列表中每个块的不是块项的标题块项。块的标题块项通常位于该块的顶部,可能有更大的字体大小或更大的字体粗细或与该块中的其余子块都不同的字体系列或居中或背景颜色。
在本公开的示例实施例中,为了使块的直系子块项被指定为该直系父块的标题块,该直系子块需要位于该父块的前三个块中并/或是居中的并/或有与其余直系块不同的前景或背景色并/或有比其余子块项(不一定是直系块)更大的块项字体大小和/或块项字体粗细和/或块项重要性。
应注意其他实施例在识别块的标题块项时可以使用其他元数据条件。还应注意从视觉上观察文档的用户及块分割和索引逻辑构件106(图1)必须能识别出块中相同标题块项。如果块分割和索引逻辑构件106(图1)识别出块中错误的标题块项或无法识别出块中正确的标题块项,则一定要修改识别标题块项的元数据条件。
图14是示出用户所看到的一部分文档(不按比例)的图,框被添加到该图上在该部分标示由块分割和索引逻辑构件106(图1)所识别的块。假定已经计算出块1401中所有子块项的块项字体大小和块项重要性元数据属性值。还假定块项1402在块1401的所有子块项中有最大的块项字体大小和块项重要性元数据属性值。块项1402还定位于块1401的前三个块中。因此,块项1402是块1401的标题块。类似地,在块1403的所有子块项中,块项1404有最大的块项字体大小和块项重要性值且定位于块1403的所有子块中的第一个。因此,块项1404是块1403的标题块。块1406没有一个直系子块项能满足成为标题块所需要的条件。因此,块1406没有标题块。
假定块1406被识别为一列表视觉元素,这里会进一步详述,且还假定块1405被识别为该列表视觉元素的标题。由于该视觉元素是该块1403的一部分且块项1404是它的标题块,所以块项1404也可以被认为是该列表视觉元素的标题。而且,块1403是块1401的一部分且块1402是它的标题块,因此块1402也可以被认为是该列表视觉元素的标题。在本公开的示例实施例中,视觉元素可以只有一个标题。由于标题1405是这三个被识别的标题中最接近该视觉元素的,因此它被认为是该列表视觉元素的标题。在另一个实施例中,视觉元素可以有多个标题且这三个被识别的标题都可以被认为是该视觉元素的标题。
一旦识别了标题块,块分割和索引逻辑构件106(图1)执行的下一步是识别和索引视觉元素。有两种类型的视觉元素,比如,内嵌视觉元素和块视觉元素。内嵌视觉元素包括一个块项的一部分,而块视觉元素包括一个或多个块。通常,内嵌视觉元素在块项中的一句语句中被找到。
现在如图15至37进一步详述不同的视觉元素的确定和定位。尤其是,将该文档划分为块还对在文档内定位视觉元素的过程有帮助。在图15至37中添加在源内容上的是矩形虚线框,用来描述由块分割和索引逻辑构件106(图1)所识别的块。将会如图15至37详述的是,块分割和索引逻辑构件106(图1)在内嵌视觉元素和块视觉元素的配置文件的数据和元数据规则的帮助下识别并索引在该源内容中的的视觉元素。
为了识别内嵌视觉元素,块分割和索引逻辑构件106(图1)遍历该块列表中的所有块项。对于每个块项,块分割和索引逻辑构件106在数据和元数据规则的帮助下识别出语句并找出每个语句中的视觉元素。块分割和索引逻辑构件106(图1)还为每个找到的视觉元素及其视觉元素标题和视觉元素特征在索引数据109(图1)中创建索引。
应注意一组数据和元数据规则不仅识别出该视觉元素还可以识别出该视觉元素的类型、该视觉元素的标题和其他视觉元素特定的特征。还应注意可以有若干个识别组的内嵌视觉元素,且如果该语句或部分语句满足这些组中的至少一组,则该语句或部分语句是内嵌视觉元素。
如图15,在显示界面上查看文档源内容1501的呈现(未示出)的用户在块1502的第二句语句中识别出一列表视觉元素。一组广义的数据和元数据规则包括:具有单词“are”的语句后面跟着一个“:”,之后是一系列由“,”分隔的单词,之后是单词“and”和一组没有由“,”分隔的单词,就像人类用户将块1502中的第二句语句识别为一列表视觉元素的方式一样。而且,在词组“are:”之前的语句的部分被识别为该视觉元素的标题且每个由跟在词组“are:”之后的“,”或“and”分割开的单词被识别为一个列表项。应注意人类用户将该语句的相同部分识别为标题和列表项。
应注意上述的广义组数据和元数据规则可以不识别出所有的内联列表视觉元素。如果查看文档的人类用户识别出一个内联列表视觉元素且上述的该组数据和元数据规则没有识别出该内联列表视觉元素,则对于块分割和索引逻辑构件106(图1)可能需要新一组的数据和元数据规则以识别不同格式的内联列表视觉元素。因此,对于每个内嵌视觉元素类型,可以存在若干组数据和元数据规则,且该语句或部分该语句一定要满足这些组中的至少一组以被识别为该组被定义要识别的该类型的视觉元素。
图16描述了源内容1601,图17描述了适用于源内容1601的表示语义1701。在源内容1601中识别出的内嵌视觉元素是一个固定宽度文本的视觉元素。一个单词“text-decoration”以表示固定宽度文本的字体“courier”而出现。因此,该单个单词构成了一个视觉元素。应注意查看段1601的用户在该段被呈现时也将该单个单词“text-decoration”识别为固定宽度文本。
为了识别文档中的块视觉元素,块分割和索引逻辑构件106(图1)从在该块列表中具有最高级别的块(非块项)开始,判断该整个块和所有它的子块是否匹配配置文件,比如识别视觉元素的一组规则。如果该整个块匹配了配置文件,所产生的由该整个块及其标题和视觉元素特征组成的视觉元素被索引并存储在索引数据109(图1)中,且该块从该块列表中移除。如果该整个块没有匹配配置文件且只要子块的一子集匹配了配置文件,所产生的由子块的该子集及其标题和视觉元素特征组成的视觉元素被索引并存储在索引数据109(图1)中,且子块所匹配的子集从该块列表中移除。如果甚至连子块的子集都无法匹配配置文件,该整个块及其所有子块将从该块列表中删除并移除。由于删除了块,将再次检查该块列表中的所有块。对于任意块操作如果有任何块是合适的,就执行该块操作,这会在本文做进一步详述,操作包括比如移除空块、消除中间块、块合并或块划分。从具有最高级别的块列表中选出新的块(非块项),且该过程将一直重复直至没有剩余的块可以匹配配置文件为止。
配置文件识别出特定类型的块视觉元素,且它是由一组规则组成。配置文件中的每个规则都由两部分组成。第一个部分识别一个或多个块。第二个部分计算该被识别的块的一个或多个数据和/或元数据属性。例如,配置文件规则可以是:具有元数据属性表格列索引值的块的所有子块等于一定有相同文本且一定没有等于零的边框元数据属性值的块。如果一个或多个块满足了至少一个配置文件的所有规则,该组块可以被识别为该配置文件旨在识别的该类型的视觉元素。
配置文件还可以识别该视觉元素的标题及其他视觉元素特征。如果该配置文件没有识别出任何标题,该视觉元素所被识别出的父块标题块中的一个块可以被认为是该视觉元素的标题。
如图18和19,当呈现出(未示出)文档源内容1800时,人类用户所识别的该视觉元素是列表视觉元素。用于确定该列表视觉元素的配置文件寻找由一张两列的表格组成的块,该表格的第一列该表格块的块项都有同样的字符长度小于三的无字母、无数字的字符。块1802及其子块项1803至1808满足了这样的配置文件的条件,因此该整个块1802是列表视觉元素。而且,在该列表视觉元素之前的块项1801由词组“list of”组成,因此块分割和索引逻辑构件106将该之前的块项识别为该被识别出的列表视觉元素的标题。
应注意块分割和索引逻辑构件106(图1)在准备元数据时计算跨越整个块1802的<TABLE>元素的表格元数据属性。这些表格元数据属性可以包括值为3的“表格行”属性和值为2的“表格列”元数据属性。而且对于每个跨越块项1903至1808的<TD>元素,块分割和索引逻辑构件106计算表格单元格元数据属性。对于跨越整个块1805的<TD>元素,“表格单元格行索引”元数据属性会将该行索引值标识为2,且“表格单元格列索引”元数据属性会将该列索引值标识为1。将块1802识别为一个列表的配置文件可以利用这些表格和表格单元格元数据属性。
该配置文件还识别了该列表视觉元素特征。“表格单元格列索引”值为2的块项1804、1806和1808的每个都被识别为一个列表项。该配置文件还从块项1803的文本中推导出,将这样的列表识别为具有星形符号的列表。
表示语义1900将由<TABLE>元素组成的块1802识别为被呈现时没有边框,还将该被识别的时间元素确认为列表视觉元素。
如图20,当呈现出文档源内容2000时,人类用户识别出的该视觉元素也是列表视觉元素。用于确定列表视觉元素的配置文件可以寻找到由无序的列表组成的块和不存在嵌入到子块的文本内容中的字符“-”或“:”的至少两个子块项。这样一个配置文件会将块2002识别为列表视觉元素。而且在块2002之前的块项2001有比其他块项2003-2006的块项重要性元数据属性值更大的块项重要性元数据属性值,块项2001也是由仅仅一句包含复数个单词的语句组成的;因此块项2001被识别为该列表视觉元素的标题。
应注意块分割和索引逻辑构件106(图1)在准备元数据时计算跨越整个块2002的<UL>元素的列表元数据属性。这些列表元数据属性可以包括值为4的列表项元数据属性,因为在该<UL>元素中有四个<LI>元素。而且对于每个跨越整个块项2003至2006的<LI>元素,块分割和索引逻辑构件106计算列表项元数据属性。对于跨越整个块2005的<LI>元素,识别出其索引的其列表项索引元数据属性值为3。将块2002识别为一个列表的配置文件可以利用这些表格和表格单元格元数据属性。
该配置文件还识别了该列表视觉元素属性。从块项2003至2006中的每个<LI>元素的列表项索引元数据属性来看,块项2003至2006中的每个都被识别为列项。而且从跨越整个块2002的<UL>元素的隐性表示语义推断而来的元数据来看,该配置文件将该列表识别为具有实心圆符号的列表。
应注意所述的上面两个用于判断块是否是列表视觉元素的配置文件的配置文件规则不是详尽的,在判断块是否是列表视觉元素时块分割和索引逻辑构件106(图1)还可以考虑附加的配置文件规则。
还应注意虽然提供了两个配置文件来识别列表视觉元素,但是如果查看被呈现的文档的用户在该文档的一段中识别出一个列表且这两个配置文件均没有将该段识别为列表视觉元素的话,可能就需要更多个识别列表视觉元素的配置文件。
如图21和22,当根据表示语义2200呈现出文档源内容2100时,人类用户所识别的该视觉元素是段落视觉元素。用于确定段落视觉元素的配置文件可以寻找到由至少三句语句和/或至少两百个单词组成的块。这样的配置文件会将块2101识别为段落视觉元素。由于该配置文件没有识别出任何标题,块2101的父块(未示出)的一个或所有标题快可以被认为是该被识别的段落视觉元素的标题。
应注意除了该标题以外,识别段落视觉元素的配置文件也可以识别出该段落视觉元素中的大小、语句的数量和其他段落特征。
应注意所述的用于判断块是否是段落的配置文件规则不是详尽的,在判断块是否是段落视觉元素时块分割和索引逻辑构件106(图1)还可以考虑附加的配置文件规则。
还应注意虽然提供了一个配置文件来识别段落视觉元素,但是如果查看被呈现的文档的用户在该文档的一段中识别出一个段落且该配置文件无法将该段识别为段落视觉元素的话,可能就需要更多个识别段落视觉元素的配置文件。
如图23和24,当根据表示语义2400呈现出文档源内容2300时,人类用户所识别的该视觉元素是表格视觉元素。用于识别该表格的配置文件可以寻找到由一张表格组成的块,其中该表格的各块的第一列没有同样的文本。而且,该表格的至少一个第一列块有长度大于五个字符的文本内容且该表格文本内容的至少一个第一列块不会以标点符号结束。这样的配置文件规则会将块2302识别为表格视觉元素。而且在块2302之前的块2301以文本“following table:”结束,该文本组成了块2301的包含了文本“following table:”的该被识别的表格视觉元素的标题的最后一句语句。由于块项2303和2304比块2302中的其他子块有更大的块项重要性元数据属性值且这两个块是第一行的一部分且这两个块的标记标签是<TH>,所以这两个块被识别为表格头。
应注意该配置文件也可以将块2305至2310识别为表格单元格,因为<TD>元素跨越了每一个这些块的整体。而且该配置文件还可以将该表格视觉元素识别为具有三行两列的表格视觉元素。
如图25和26,当根据表示语义2600呈现出文档源内容2500时,人类用户所识别的该视觉元素是表格视觉元素。用于识别表格视觉元素的配置文件可以寻找到表示语义“display”(显示)为“table”(表格)且有可见边框的块和表示语义“display”(显示)为“table-cell”(表格单元格)且有可见边框的其子块,且该表格单元格块遍布于一个以上的行和列中。这样的配置文件会将块2502识别为表格视觉元素。与块2301(图23)类似的是,块2501的最后一句语句也会被识别为该被识别的表格视觉元素的标题。由于块2503和2504是第一行的一部分且比块2502中的其他块有更大的块项重要性,所以这两个块被识别为头块。因为块2505至2510有显性的元数据属性显示值表格单元格,所以它们会被识别会表格单元格。
应注意所述的上面两个用于判断块是否是表格视觉元素的配置文件规则不是详尽的,在判断块是否是表格视觉元素时块分割和索引逻辑构件106(图1)还可以考虑附加的配置文件规则。
还应注意虽然提供了两个配置文件来识别表格视觉元素,但是如果查看被呈现的文档的用户在该文档的一段中识别出一个表格且这两个配置文件均没有将该段识别为表格视觉元素的话,可能就需要更多个识别表格视觉元素的配置文件。
如图27和28,当根据表示语义2800呈现出文档源内容2700时,人类用户所识别的该视觉元素是键/值视觉元素。用于确定键/值视觉元素的配置文件寻找出一个两列的表格块,其中除去第一行的块之外的每个第一列的块文本内容都以冒号结束。此外,第一行的块跨越了两列。这样的配置文件将块2701识别为键/值视觉元素,其中第一行的块2702是该被识别的键/值视觉元素的标题。而且通过该配置文件,第一列的块2703、2705和2707都会被识别为键,第二列的块2704、2706、2708都会被识别为这些键的值。
应注意上述的用于判断块是否是键/值视觉元素的配置文件的配置文件规则不是详尽的,在判断块是否是键/值视觉元素时块分割和索引逻辑构件106(图1)可以考虑附加的元数据规则。
还应注意虽然提供了一个配置文件来识别键/值视觉元素,但是如果查看被呈现的文档的用户在一段中识别出一个键/值属性且该配置文件无法将该段识别为键/值视觉元素的话,可能就需要更多个识别键/值视觉元素的配置文件。
如图29,当呈现出文档源内容2900时,人类用户所识别的该时间元素是问题/回答视觉元素。用于确定问题/回答视觉元素的配置文件是为了寻找到一个块,该块的文本内容以字符串“Q:”开始以字符串“?”结束且该块后面跟着一个标签为<P>的块。这样的配置文件将块2901和2902识别为问题/回答视觉元素。而且文本内容以“Q:”开始以字符串“?”结束的块2901被识别为问题,跟在块2901后面的块2902被识别为回答。
应注意上述的用于判断是否块是问题/回答视觉元素的配置文件的配置文件规则不是详尽的,在判断块是否是问题/回答视觉元素时块分割和索引逻辑构件106(图1)可以考虑附加的配置文件规则。
还应注意虽然提供了一个配置文件来识别问题/回答视觉元素,但是如果查看被呈现的文档的用户在一段中识别出一个问题/回答视觉元素且该配置文件无法将该段识别为问题/回答视觉元素的话,可能需要更多个识别问题/回答视觉元素的配置文件。
如图30和31,当根据表示语义3100呈现出文档源内容3000时,人类用户所识别的该视觉元素是菜单视觉元素。用于确定菜单视觉元素的配置文件是为了寻找到一个有内联显示且都是超链接的子列表项块的无序的列表块,而且该无序列表块位于该文档的前20%的区域。这样的配置文件会将块3001识别为菜单视觉元素。列表项块元素3002至3005的每个都还会被识别为该被识别的菜单视觉项的菜单项。
应注意上述的用于判断块是否是菜单视觉元素的配置文件的配置文件规则不是详尽的,在判断块是否是菜单视觉元素时块分割和索引逻辑构件106(图1)可以考虑附加的配置文件规则。
还应注意虽然提供了一个配置文件来识别菜单视觉元素,但是如果查看被呈现的文档的用户在一段中识别出一个菜单且该配置文件无法将该段识别为菜单视觉元素的话,可能需要更多个识别菜单视觉元素的配置文件。
如图32和33,当根据表示语义3300呈现出文档源内容3200时,人类用户所识别的该视觉元素是固定宽度文本视觉元素。用于判断该文档是否包含固定宽度文本视觉元素的配置文件寻找到具有除去第一行的块之外的所有块项字体系列元数据属性值与固定宽度字符的字体系列相同的块的表格块。这样的配置文件会将块3201识别为固定宽度文本视觉元素。而且第一行的块3202有最大的块项重要性值且有着与其他行不一样的表示语义。因此,块3202被识别为该被识别的固定宽度文本视觉元素的标题。
应注意上述的用于判断块是否是固定宽度文本视觉元素的配置文件的配置文件规则不是详尽的,在判断块是否是固定宽度文本视觉元素时块分割和索引逻辑构件106(图1)可以考虑附加的配置文件规则。
还应注意虽然提供了一个配置文件来识别固定宽度文本视觉元素,但是如果查看被呈现的文档的用户在一段中识别出一个固定宽度文本且该配置文件无法将该段识别为固定宽度文本视觉元素的话,可能需要更多个识别固定宽度文本视觉元素的配置文件。
如图34,当呈现出文档源内容3400时,人类用户所识别的该视觉元素是时间轴视觉元素。用于识别时间轴视觉元素的配置文件寻找到无序的列表块,其所有块都是从后面跟着“-”或“:”的年份开始。这样的配置文件会将块3402识别为时间轴视觉元素。而且位于块3402紧邻上方的块有一句包含单词“timeline”(时间轴)的语句。因此,无序列表项3403至3407都会被识别为时间轴事件。
应注意上述的用于判断块是否是时间轴视觉元素的配置文件的配置文件规则不是详尽的,在判断块是否是时间轴视觉元素时块分割和索引逻辑构件106(图1)可以考虑其他规则。
还应注意虽然提供了一个配置文件来识别时间轴视觉元素,但是如果查看被呈现的文档的用户在一段中识别出一个时间轴且该配置文件无法将该段识别为时间轴视觉元素的话,可能需要更多个识别时间轴视觉元素的配置文件。
如图35,当呈现出文档源内容3500时,人类用户所识别的该视觉元素是图表视觉元素。用于识别图表视觉元素的配置文件寻找到有一张图片及包含单词“chart”(图表)的替换文本的块,且其紧邻上方的块有一句包含单词“chart”(图表)的语句。这样的配置文件会将块3502识别为图表视觉元素。只有一句语句的块3501被识别为该被识别的图表视觉元素的标题。
应注意上述的用于判断块是否是图表视觉类型的配置文件的配置文件规则不是详尽的,在判断块是否是图表视觉元素时块分割和索引逻辑构件106(图1)可以考虑附加的配置文件规则。
还应注意虽然提供了一个配置文件来识别图表视觉元素,但是如果查看被呈现的文档的用户在一段中识别出一个图表且该配置文件无法将该段识别为图表视觉元素的话,可能需要更多个识别图表视觉元素的配置文件。
如图36,当呈现出文档段3600时,人类用户所识别的该视觉元素是交互视觉元素。用于识别交互视觉元素寻找到有一个对象的块且其紧邻上方的块项有语句包含单词“interactive”(交互)的语句。这样的配置文件会将块3602识别为交互视觉元素。只有一句语句的块3601被识别为该被识别的交互视觉元素的标题。
应注意上述的用于判断块是否是交互视觉元素的配置文件的配置文件规则不是详尽的,在判断块是否是交互视觉元素时块分割和索引逻辑构件106(图1)可以考虑其他规则。
还应注意虽然提供了一个配置文件来识别交互视觉元素,但是如果查看被呈现的文档的用户在一段中识别出一个交互对象且该配置文件无法将该段识别为交互视觉元素的话,可能需要更多个识别交互视觉元素的配置文件。
图37示出了源内容3700,在该源内容中该文档作者提供了块分割和索引逻辑构件106(图1)的提示以识别块时间轴视觉元素。提示vse时间轴3708将时间轴视觉元素的标题识别为覆盖了整个块3701的<DIV>元素,且包含了一个时间轴视觉元素。提示vse标题3709将时间轴视觉元素识别为覆盖了块3702的<H2>元素。提示vse事件3710将跨越了块3703的<LI>元素识别为该时间轴事件。类似地,块3704至3707中的提示vse事件将跨越块3704至3707的每个<LI>元素识别为该时间轴事件。
应注意可以预定义提示,搜索引擎服务器102(图1)可以规定这些提示为该文档作者的合理使用。还应注意虽然在该示例实施例中将类属性当做提示使用,但是在其他实施例中也可以使用其他的已开发的或未来开发的方法来规定提示,这些方法例如资源描述框架(RDF)、属性资源描述框架(RDFa)和/或微格式。
应注意预定义的提示还可以由搜索引擎服务器102(图1)规定用于图片、表格、列表、菜单、图表、固定宽度文本、交互、键/值和问题/回答视觉元素类型并提供给文档作者用于识别文档中的视觉元素。还应注意除识别标题以外,这些预定义的规则还可以由搜索引擎服务器102(图1)规定并提供给文档作者用于识别视觉元素特征。
应注意在一个实施例中,如果存在着提示,则可以使用提示仅为了验证块分割和索引逻辑构件106(图1)是否正确识别了该视觉元素和/或视觉元素特征。在另一个实施例中,可以将提示作为用于识别视觉元素和/或视觉元素特征的配置文件的替代物。在另一个实施例中,可以一起使用提示和配置文件来识别视觉元素和/或视觉元素特征。
图38是描述了图1及本文所示的块分割和索引逻辑构件106的示例高级结构和功能的流程图。在步骤3800中,块分割和索引逻辑构件106(图1)识别了要处理的候选文档。在步骤3801中,块分割和索引逻辑构件106(图1)生成该文档和该文档内容段的初步的元数据。在步骤3802中,使用该初步的元数据,将该文档划分为称作块的逻辑单元并使用上述的块识别规则准备了一个块的列表。在步骤3803中,块分割和索引逻辑构件106(图1)执行了限定块的块操作。块操作可以添加、删除或修改该块列表中的块。在步骤3804中,块分割和索引逻辑构件106(图1)为每个在该块列表中也不是块项的块识别标题(如果有的话)。在步骤3805中,如果有找到了任意的被索引的内嵌视觉元素,通过使用上述的数据和元数据规则来检查该块列表中的每个块项的内嵌视觉元素。在步骤3806中,如果有找到了任意的被索引的块视觉元素,通过使用上述的配置文件来检查该块列表中的每个块的块视觉元素。
应注意步骤3802至3806中的每个步骤都生成进一步的元数据,该进一步的元数据扩大了在步骤3801中生成的元数据。
应注意虽然将该文档划分为块并执行块操作有助于识别视觉元素,但是在其他实施例中,通过将数据和元数据规则应用于源内容段而不用识别块就可以识别视觉元素。
一旦抓取器逻辑构件105找到的文档被块分割了且在这些文档中的视觉元素被识别并索引了,就可以从这些文档中搜索视觉元素。
因此,图39描述了示例图形用户界面(GUI),在本公开的一个实施例中可以使用它。通过客户端逻辑构件112(图1)可以向用户113(图1)显示这样的GUI或通过搜索引擎逻辑构件107(图1)向用户114(图1)显示它。
GUI 3900由多个按钮3901-3910组成,每个按钮都对应于一种类型的要执行的搜索。另外,GUI 3900还由用于输入用户113或114希望搜索的关键词的文本域3911和用于选择开始搜索的“Search”(搜索)按钮3912组成。
上述的每个按钮3901-2910中的每一个按钮都对应于不同的要搜索的视觉元素类型。该用户通过选择对应的按钮3901-3910来选择一个或多个视觉元素类型,然后该用户在文本域3911输入关键词,然后该用户选择“Search”(搜索)按钮3912。
如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“Paragraph”(段落)的结果,则该用户选择按钮3901。如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“Table”(表格)的结果,则该用户选择按钮3902。如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“List”(列表)的结果,则该用户选择按钮3903。如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“Menu”(菜单)的结果,则该用户选择按钮3904。如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“Graphs”(图表)或“Charts”(图表)的结果,则该用户选择按钮3905。如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“Fixed Width Text”(固定宽度文本)的结果,则该用户选择按钮3906。如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“Interactive Data”(交互数据)的结果,则该用户选择按钮3907。如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“Key/Value”(键/值)的结果,则该用户选择按钮3908。如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“Question/Answer”(问题/回答)的结果,则该用户选择按钮3909。如果该用户希望对在文本域3911中输入的关键词进行搜索并要得到“Timeline”(时间轴)的结果,则该用户选择按钮3910。
搜索引擎逻辑构件107(图1)还支持使用运算符和修饰符。运算符是预定义的代码字,其语法由搜索引擎逻辑构件107(图1)规定,运算符被输入到文本域3911中,不会被搜索引擎逻辑构件107(图1)翻译成关键词。在本公开的示例实施例中,运算符的代码字是不区分大小写的,它输入时的语法是在操作符代码字中操作符的后面总是跟着一个“:”且后面也可以跟着搜索关键词。
为了搜索“diabetes”(糖尿病)并得到“Paragraph”(段落)的结果,假定根据搜索引擎逻辑构件107(图1)的定义要得到“Paragraph”(段落)的结果的该代码字是“p”,则该用户可以将“p:diabetes”(p:糖尿病)或“P:diabetes”(P:糖尿病)输入到文本域3911中并选择“Search”(搜索)按钮3912。类似地,其他视觉元素可以有其他代码字。而且,为了搜索“diabetes”(糖尿病)并得到“Paragraph”(段落)或“Table”(表格)的结果,假定根据搜索引擎逻辑构件107(图1)的定义要得到“Paragraph”(段落)的结果的该代码字是“p”、“Table”(表格)的该代码字是“tb”,则该用户可以输入“p||tb:diabetes”(p||tb:糖尿病)或“tb||p:diabetes”(tb||p:糖尿病)到文本域3911中并选择“Search”(搜索)按钮3912。应注意“||”在该语法中代表“or”(或)且是一个修饰符。
“or”(或)修饰符还可以作为关键词的一部分来使用。比如,为了搜索“cars”(汽车)或“vans”(货车)并得到“Paragraph”(段落)的结果,该用户可以输入“p:cars||vans”(p:汽车||货车)到文本域3911中并选择“Search”(搜索)按钮3912。或者,该用户可以输入“cars||vans”(汽车||货车)到文本域3911中,选择“Paragraph”(段落)的结果的按钮3901,然后选择“Search”(搜索)按钮3912。
“not”(否)修饰符用于排除特定的结果。例如,为了得到有关“jaguar”(美洲虎)猫(cats)且不是jaguar”(美洲虎)汽车(car)的“Table”(表格)结果,该用户可以输入“tb:jaguar~car”(tb:j美洲虎~汽车)到文本域3911中并选择“Search”(搜索)按钮3912。或者,该用户可以输入“jaguar~car”(美洲虎~汽车)到文本域3911中,选择“Table”(表格)结果的按钮3902,然后选择“Search”(搜索)按钮3912。
预定义的运算符“comp”让用户一次搜索到所有的视觉元素。这消除了要选择按钮3901-3910的所有按钮的需要。为了搜索“diabetes”(糖尿病)并得到所有视觉元素类型的结果,该用户可以输入“comp:diabetes”(comp:糖尿病)或“COMP:diabetes”(COMP:糖尿病)到文本域3911中并选择“Search”(搜索)按钮。
预定义的运算符“site”让用户将搜索结果限定到一个位置或域中。为了仅从新闻域中搜索“diabetes”(糖尿病)并得到“Table”(表格)的结果,该用户可以输入“site:news.bbc.co.uk tb:diabetes”(site:news.bbc.co.uk tb:糖尿病)或“tb:diabetes site:news.bbc.co.uk”(tb:糖尿病site:news.bbc.co.uk)到文本域3911中并选择“Search”(搜索)按钮3912。或者,该用户可以输入“site:news.bbc.co.uk diabetes”(site:news.bbc.co.uk糖尿病)或“diabetes site:news.bbc.co.uk”(糖尿病site:news.bbc.co.uk)到文本域3911中,选择“Table”(表格)结果的按钮3902,然后选择“Search”(搜索)按钮3912。
如果该用户希望,则该用户可以将视觉元素特征指定为搜索查询的一部分。可以通过GUI组件或运算符完成这个操作,且这会导致缩小或增大与那些视觉元素满足该视觉元素特征的文档的相关性。
当搜索“Paragraph”(段落)结果时,该用户可以规定关键词必须是该标题的一部分,或者“Paragraph”(段落)结果必须是至少或等于或至多一个特定的长度。
当搜索“Table”(表格)结果时,该用户可以规定关键词必须是该标题的一部分,或者必须是表格头的一部分,或者必须是表格标题的一部分,或者必须是表格单元格的一部分,或者“Table”(表格)结果必须是至少或等于或至多一个特定的行数或列数。
当搜索“List”(列表)结果时,该用户可以规定关键词必须是该标题的一部分,或者必须是列表标题的一部分,或者“List”(列表)结果必须是至少或等于或至多一个特定的列表项数。
当搜索“Menu”(菜单)结果时,该用户可以规定他对横向或竖向显示的“Menu”(菜单)结果感兴趣。
当搜索“Graphs”(图表)或“Charts”(图表)结果时,该用户可以规定关键词必须是该标题的一部分,或者必须是图表标题的一部分,或者“Graphs”(图表)或“Charts”(图表)结果是直方图或哈里斯图或霍夫曼图或条形图或柱形图或折线图或步线图或样条区域图或范围柱形图或股票走势图或圆环图或气泡图或烛状图或饼图。
当搜索“Fixed Width Text”(固定宽度文本)结果时,该用户可以规定关键词必须是该标题的一部分,或者“Fixed Width Text”(固定宽度文本)结果必须是至少或等于或至多一个特定的长度。
当搜索“Key/Value”(键/值)结果时,该用户可以规定关键词必须是该标题的一部分,或者必须是“Key”(键)的一部分,或者必须是“Value”(值)的一部分,或者“Key/Value”(键/值)结果必须有至少或等于或至多一定数量的键/值项。
当搜索“Question/Answer”(问题/回答)结果时,该用户可以规定关键词必须是该标题的一部分,或者必须是“Question”(问题)的一部分,或者必须是“Answer”(回答)的一部分。
当搜索“Timeline”(时间轴)结果时,该用户可以规定关键词必须是该标题的一部分,或者必须是该时间轴事件的一部分。
图40描述了GUI 4000,它与GUI 3900的运作方式相同。但是,GUI 4000并不是由对应于每个视觉元素类型的按钮3901-3910(图39)组成,而是由选择复选框4001-4010组成。在操作过程中,用户113或114(图1)选择一个或多个选择复选框4001-4010,在文本域4011中输入关键词,然后选择“Search”(搜索)按钮4012。
图41描述了GUI 4100,客户端逻辑构件112(图1)向用户113(图1)显示该GUI或者搜索引擎逻辑构件107(图1)向用户114(图1)显示该GUI,且当该用户在输入视觉元素类型“list”(列表)搜索关键词4102时该GUI向该用户提供建议4104。该用户按下按钮4101,这表明了该搜索会被限定为视觉元素类型“list”(列表)。图41中所示的按钮4101上的斜线背景被添加用来表明该按钮的按下状态,该斜线背景并不是真正的GUI 4100的一部分。建议4104是基于“list”(列表)选择4101和搜索查询关键词给出的,且会随着该用户更新搜索查询4102而更新。如果该用户喜欢来自建议框4104的建议,他可以挑出该建议并按下“Search”(搜索)按钮4103来执行那条建议的查询。
应注意建议4104可以取决于该搜索查询中所选的视觉元素类型,且选择不同的视觉元素类型可能导致不同的关键词建议4104。还应注意在另一个实施例中,建议4104不仅是随着用户输入搜索关键词4102而更新,而且该搜索查询的结果还可以无需该用户按下“Search”(搜索)按钮4103就随着用户输入搜索关键词而即刻更新。
图42描述了GUI 4200,客户端逻辑构件112(图1)向用户113(图1)显示该GUI或者搜索引擎逻辑构件107(图1)向用户114显示该GUI,其搜索结果是作为该用户按下“Search”(搜索)按钮4203后的结果被显示,且该GUI使用搜索关键词“Diabetes Symptoms”(糖尿病症状)4202来执行搜索。该用户按下了按钮4201,这表明了该搜索被限定为视觉元素类型“list”(列表)。图42中所示的按钮4201上的斜线背景被添加用来表明该按钮的按下状态,该斜线背景并不是真正的GUI 4200的一部分。搜索结果4204、4205和4206以水平格式向用户显示,例如,搜索结果是一个接着一个显示的。每个搜索结果4204、4205、4206都有一个题目,它也是一个到初始网页111(图1)的链接。该题目的后面跟着一个简短的摘要。该摘要是该网页与该搜索查询有关的那部分。该摘要以与在初始网页111(图1)中所找到的视觉元素类型相同的视觉元素类型被显示。搜索结果4204将“Polyuria”(多尿症)和“Polydipsia”(烦渴)作为一个有圆形符号的列表显示出,这是因为块分割和索引逻辑构件106(图1)将该列表从网页111(图1)中索引和抽取出,且网页111(图1)的单词是以圆形符号的列表的形式呈现的。搜索结果4205将“Weight Loss”(减肥)和“Polydipsia”(烦渴)作为一个有数字符号的列表显示出,这是因为块分割和索引逻辑构件106(图1)将该列表从网页111(图1)中索引和抽取出,且网页111(图1)的单词是以数据符号的列表的形式呈现的。搜索结果4206将“Blurred Vision”(视力模糊)和“Weight Loss”(减肥)作为一个有小写字母符号的列表显示出,这是因为块分割和索引逻辑构件106(图1)将该列表从网页111(图1)中索引和抽取出,且网页111(图1)的单词是以小写字母符号的列表的形式呈现的。该摘要的后面跟着一个到网页111(图1)的URI。GUI 4200在搜索结果4204、4205和4206的右边有广告部分4208。商人可以参与投标以求在广告部分4208中显示他们的广告。如果搜索结果多得无法在一个页面中显示出来的话,这些结果可以被分成多页显示。该用户使用分页控件4207可以访问这多个网页。
图43示出了并排显示比如垂直显示的搜索结果4305和4306的另一个实例。如果有上一页或下一页的话,该用户可以使用上一页链接4307或下一页链接4308来查看更多个搜索结果。广告部分4304和4309是商人可以投标放置他们的广告的地方。虽然图4300中没有示出广告部分的其他位置,但是广告部分并不限于上面和下面的搜索结果。它们也可以被放置在结果页面的右边、左边或任何地方。
图44示出了以网格视图显示的搜索结果4405、4406、4407、4408、4409和4410的另一个实例。图4400描述了用户在执行对关键词“Diabetes”(糖尿病)4403的搜索。图4400也描述了用户通过按下按钮4401和4402分别将该搜索结果限定为“table”(表格)和“list”(列表)。图44中所示的按钮4401和4402上的斜线背景被添加用来表明该按钮的按下状态,该斜线背景并不是真正的GUI 4400的一部分。搜索结果4407将一部分的摘要显示为表格的形式,这是因为块分割和索引逻辑构件106(图1)将该摘要从网页111(图1)中抽取出且网页111(图1)的该部分是以表格的形式呈现的。
虽然参照特定优选的实施例详述了本公开,但还是可以向本领域的技术人员建议各种改变和修改,其意图在于本公开应包括在所附的权利要求的范围内的改变和修改。

Claims (94)

1.一种处理文档的方法,所述方法包括:
生成文档的初始元数据,该文档具有源内容和表示语义;
基于所述初始元数据将所述文档划分为一个或多个被识别的块,每个块表示该文档内的逻辑单元,该识别基于将生成的一段的初始元数据中的键/值对与块识别标准集中的标准进行比较,其中,对于至少一个标准集中的所有标准,关于元数据计算为真指示所述文档的所述段是块;
准备所述一个或多个被识别的块的一个块列表;
使用块操作在所述块列表中处理所述一个或多个被识别的块;
识别所述块列表中的至少一个被识别的块的至少一个标题块项。
2.如权利要求1所述的方法,其特征在于,根据一种标记语言格式化文档源内容。
3.如权利要求1所述的方法,其特征在于,以纯文本形式格式化所述文档源内容。
4.如权利要求1所述的方法,其特征在于,根据一种可通过界面访问的语言格式化所述文档源内容。
5.如权利要求1所述的方法,其特征在于,所述文档具有隐性表示语义。
6.如权利要求1所述的方法,其特征在于,所述文档在链接文件中具有显性表示语义。
7.如权利要求1所述的方法,其特征在于,所述文档具有显性嵌入式表示语义。
8.如权利要求1所述的方法,其特征在于,所述初始元数据是可以从文档源内容推导而来的任何信息。
9.如权利要求1所述的方法,其特征在于,所述初始元数据是可以从所述文档显性和/或隐性表示语义推导而来的任何信息。
10.如权利要求1所述的方法,其特征在于,所述初始元数据是可以从所述文档的呈现推导而来的任何信息。
11.如权利要求1所述的方法,其特征在于,所述初始元数据是从先前计算所得的元数据中计算所得的任何信息。
12.如权利要求1所述的方法,其特征在于,使用预定义的元数据规则将所述文档划分成所述块。
13.如权利要求1所述的方法,其特征在于,所述块是内嵌的。
14.如权利要求1所述的方法,其特征在于,整个文档是一个块。
15.如权利要求1所述的方法,其特征在于,没有子块的块被识别为块项。
16.如权利要求1所述的方法,其特征在于,对于所述块列表中的块项,计算得出包括块字体系列、块字体大小和块字体粗细的块项字体元数据属性。
17.如权利要求16所述的方法,其特征在于,在计算块项字体元数据属性时使用统计模式。
18.如权利要求16所述的方法,其特征在于,在计算块项字体元数据属性时使用统计平均值。
19.如权利要求16所述的方法,其特征在于,在计算块项字体元数据属性时使用数学公式。
20.如权利要求1所述的方法,其特征在于,对于所述块列表的块项,计算得出块项重要性元数据属性。
21.如权利要求1所述的方法,其特征在于,当将所述文档分为块时所生成的额外的信息扩大为现有的元数据。
22.如权利要求1所述的方法,其特征在于,准备所述块列表还包括使用预定义的元数据规则将空块从所述块列表中移除。
23.如权利要求1所述的方法,其特征在于,准备所述块列表还包括使用预定义的元数据规则将覆盖块从所述块列表中移除。
24.如权利要求1所述的方法,其特征在于,准备所述块列表还包括使用预定义的元数据规则将中间块从所述块列表中移除。
25.如权利要求1所述的方法,其特征在于,准备所述块列表还包括使用预定义的数据和元数据规则合并块。
26.如权利要求1所述的方法,其特征在于,准备所述块列表还包括使用预定义的元数据规则***块。
27.如权利要求1所述的方法,其特征在于,当准备所述的被识别的块的列表时所生成的额外的信息扩大为现有的元数据。
28.一种根据与搜索查询的相关性处理和识别文档的方法,所述方法包括:
生成文档的初始元数据,所述文档具有源内容和表示语义;
基于所述初始元数据识别所述文档的一个或多个块,每个块表示该文档内的逻辑单元,该识别基于将生成的一段的初始元数据中的键/值对与块识别标准集中的标准进行比较,其中,对于至少一个标准集中的所有标准,关于元数据计算为真指示所述文档的所述段是块;
将所述文档划分为块;
准备被识别的块的一个列表;
使用块操作处理所述块列表中的块;
识别所述块列表中的每个块的标题块;
如果存在内嵌视觉元素,使用预定义的数据和元数据规则识别所述块列表中的块项的至少一个内嵌视觉元素;
如果存在块视觉元素,使用预定义的配置文件识别所述块列表中的至少一个块的至少一个块视觉元素;
生成所找到的视觉元素的索引;
通过图形用户界面GUI从用户接收搜索查询数据,其中,所述搜索查询数据包括至少一个所选视觉元素类型;并且
识别每个被确定与所述搜索查询相关的文档并生成对所述搜索查询的反馈,所述反馈包括搜索结果。
29.如权利要求28所述的方法,其特征在于,根据一种标记语言格式化文档源内容。
30.如权利要求28所述的方法,其特征在于,以纯文本形式格式化所述文档源内容。
31.如权利要求28所述的方法,其特征在于,根据一种可通过界面访问的语言格式化所述文档源内容。
32.如权利要求28所述的方法,其特征在于,所述文档具有隐性表示语义。
33.如权利要求28所述的方法,其特征在于,所述文档在链接文件中具有显性表示语义。
34.如权利要求28所述的方法,其特征在于,所述文档具有显性嵌入式表示语义。
35.如权利要求28所述的方法,其特征在于,所述初始元数据是可以从所述文档源内容推导而来的任何信息。
36.如权利要求28所述的方法,其特征在于,所述初始元数据是可以从所述文档显性和/或隐性表示语义推导而来的任何信息。
37.如权利要求28所述的方法,其特征在于,所述初始元数据是可以从所述文档的呈现推导而来的任何信息。
38.如权利要求28所述的方法,其特征在于,所述初始元数据是从先前计算所得的元数据中计算所得的任何信息。
39.如权利要求28所述的方法,其特征在于,使用预定义的元数据规则将所述文档划分成所述块。
40.如权利要求28所述的方法,其特征在于,所述块是内嵌的。
41.如权利要求28所述的方法,其特征在于,整个文档就是一个块。
42.如权利要求28所述的方法,其特征在于,没有子块的块被识别为块项。
43.如权利要求28所述的方法,其特征在于,所述文档源内容的一部分文本属于且仅属于一个块项。
44.如权利要求28所述的方法,其特征在于,对于所述块列表中的块项,计算得出包括块字体系列、块字体大小和块字体粗细的块项字体元数据属性。
45.如权利要求28所述的方法,其特征在于,在计算块项字体元数据属性时使用统计模式。
46.如权利要求28所述的方法,其特征在于,在计算块项字体元数据属性时使用统计平均值。
47.如权利要求28所述的方法,其特征在于,在计算块项字体元数据属性时使用数学公式。
48.如权利要求28所述的方法,其特征在于,对于所述块列表的块项,计算得出块项重要性元数据属性。
49.如权利要求28所述的方法,其特征在于,当将所述文档分为块时所生成的额外的信息扩大为现有的元数据。
50.如权利要求28所述的方法,其特征在于,所述的准备所述被识别的块的所述列表还包括使用预定义的元数据规则将空块从所述块列表中移除。
51.如权利要求28所述的方法,其特征在于,所述的准备所述被识别的块的所述列表还包括使用预定义的元数据规则将覆盖块从所述块列表中移除。
52.如权利要求28所述的方法,其特征在于,所述的准备所述被识别的块的所述列表还包括使用预定义的元数据规则将中间块从所述块列表中移除。
53.如权利要求28所述的方法,其特征在于,所述的准备所述被识别的块的所述列表还包括使用预定义的数据和元数据规则合并块。
54.如权利要求28所述的方法,其特征在于,所述的准备所述被识别的块的所述列表还包括使用预定义的元数据规则***块。
55.如权利要求28所述的方法,其特征在于,当准备所述的被识别的块的列表时所生成的额外的信息扩大为现有的元数据。
56.如权利要求28所述的方法,其特征在于,所述视觉元素具有列表类型。
57.如权利要求28所述的方法,其特征在于,所述视觉元素具有表格类型。
58.如权利要求28所述的方法,其特征在于,所述视觉元素具有段落类型。
59.如权利要求28所述的方法,其特征在于,所述视觉元素具有菜单类型。
60.如权利要求28所述的方法,其特征在于,所述视觉元素具有键/值类型。
61.如权利要求28所述的方法,其特征在于,所述视觉元素具有问题/回答类型。
62.如权利要求28所述的方法,其特征在于,所述视觉元素具有固定宽度文本类型。
63.如权利要求28所述的方法,其特征在于,所述视觉元素具有图表类型。
64.如权利要求28所述的方法,其特征在于,所述视觉元素具有交互类型。
65.如权利要求28所述的方法,其特征在于,所述视觉元素具有时间轴类型。
66.如权利要求28所述的方法,其特征在于,所述预定义的配置文件是关于一个或多个预定义的块的预定义的数据和元数据规则的集合。
67.如权利要求28所述的方法,其特征在于,标题从所述标题块被识别为既是内嵌视觉元素也是块视觉元素。
68.如权利要求28所述的方法,其特征在于,视觉元素特定的特征被识别为既是内嵌视觉元素也是块视觉元素。
69.如权利要求28所述的方法,其特征在于,在所述文档源内容中文档作者或所有者提供与至少一个视觉元素有关的至少一个预定义的提示。
70.如权利要求69所述的方法,其特征在于,所述提示识别所述视觉元素。
71.如权利要求69所述的方法,其特征在于,所述提示识别视觉元素类型。
72.如权利要求69所述的方法,其特征在于,所述提示识别视觉元素标题。
73.如权利要求69所述的方法,其特征在于,所述提示识别视觉元素特征。
74.如权利要求28所述的方法,其特征在于,准备用于所述内嵌视觉元素和所述块视觉元素的索引包括一个视觉元素标题和一个视觉元素特定的特征。
75.如权利要求28所述的方法,其特征在于,所述GUI包括使用户选择用于识别所述视觉元素类型的一个切换按钮,所述切换按钮与关键词输入文本框相邻。
76.如权利要求28所述的方法,其特征在于,所述GUI包括使用户选择用于识别所述视觉元素类型的一个复选框,所述复选框与关键词输入文本框相邻。
77.如权利要求28所述的方法,其特征在于,当在所述接收步骤中接收所述搜索查询时,所述GUI显示与所述搜索查询相关的数据。
78.如权利要求28所述的方法,其特征在于,当在所述接收步骤中接收所述搜索查询时,所述GUI显示与所述搜索查询相关的反馈结果。
79.如权利要求28所述的方法,其特征在于,所述搜索查询包括对至少一个视觉元素类型的请求。
80.如权利要求28所述的方法,其特征在于,所述搜索查询包括对至少一个视觉元素特定的特征的请求。
81.如权利要求28所述的方法,其特征在于,所述搜索查询包括对至少一个否定修饰符的请求。
82.如权利要求28所述的方法,其特征在于,所述搜索查询包括对至少一个修饰符的请求。
83.如权利要求28所述的方法,其特征在于,所述搜索查询包括对至少一个有限定的位置运算符的请求。
84.如权利要求28所述的方法,其特征在于,所述搜索查询包括对至少一个视觉元素类型标识符运算符的请求。
85.如权利要求28所述的方法,其特征在于,所述搜索查询包括对至少一个包含全部的修饰符的请求。
86.如权利要求28所述的方法,其特征在于,以所述用户所请求的视觉元素类型示出所述搜索结果。
87.如权利要求28所述的方法,其特征在于,以所述视觉元素类型和与在初始文档中找到的视觉元素相同的表示语义示出所述搜索结果。
88.如权利要求28所述的方法,其特征在于,以水平列表格式示出所述搜索结果。
89.如权利要求28所述的方法,其特征在于,以垂直列表格式示出所述搜索结果。
90.如权利要求28所述的方法,其特征在于,以网格格式示出所述搜索结果。
91.如权利要求28所述的方法,其特征在于,所述的生成所述反馈步骤还包括显示广告数据。
92.如权利要求28所述的方法,其特征在于,所述的生成所述反馈步骤还包括基于所选的视觉元素类型显示广告数据。
93.一种分割***,其包括:
一台与一个或多个网络服务器通信连接的网络设备;
被配置用于通过所述网络设备从所述一个或多个网络服务器接收至少一个文档的逻辑构件,所述逻辑构件还被配置用于生成所述文档的初始元数据,该文档包含文档内容,基于所述初始元数据识别所述文档的一个或多个块,每个块表示该文档内的逻辑单元,该识别基于将生成的一段的初始元数据中的键/值对与块识别标准集中的标准进行比较,其中,对于至少一个标准集中的所有标准,关于元数据计算为真指示所述文档的所述段是块,分割文档内容,将所述文档划分为一个或多个被识别的块;准备所述一个或多个被识别的块的一个列表,其中每个块包括至少一个块项,所述逻辑构件还被配置用于使用块操作处理所述被识别的块,并识别每个所述被识别的块中的任何标题块项。
94.一种搜索***,其包括:
一台与一个或多个网络服务器通信连接的网络设备;
被配置用于通过所述网络设备从所述一个或多个网络服务器中取回文档的逻辑构件,所述逻辑构件还被配置用于生成所述文档的初始元数据,其中所述文档具有文档内容,基于所述初始元数据识别所述文档的一个或多个块,每个块表示该文档内的逻辑单元,该识别基于将生成的一段的初始元数据中的键/值对与块识别标准集中的标准进行比较,其中,对于至少一个标准集中的所有标准,关于元数据计算为真指示所述文档的所述段是块,分割所述文档内容,将所述文档划分为块,准备所述被识别块的一个列表,其中每个块包括至少一个块项,所述逻辑构件还被配置用于使用块操作处理所找到的块,使用数据和所述元数据识别每个块项中的视觉元素,所述逻辑构件还被配置用于使用配置文件识别每个所述被识别的块和块项中的任意的块视觉元素并生成所找到的视觉元素的索引,所述逻辑构件还被配置用于作为搜索查询的一部分,接收来自用户的对一个或多个视觉元素的请求,其中所述搜索查询还包括一个视觉元素类型,并生成对所述用户的搜索查询的反馈。
CN201080054420.8A 2009-10-02 2010-10-04 块分割、识别与索引视觉元素及搜索文档的***与方法 Expired - Fee Related CN102741838B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24797309P 2009-10-02 2009-10-02
US61/247,973 2009-10-02
PCT/US2010/051357 WO2011041795A1 (en) 2009-10-02 2010-10-04 System and method for block segmenting, identifying and indexing visual elements, and searching documents

Publications (2)

Publication Number Publication Date
CN102741838A CN102741838A (zh) 2012-10-17
CN102741838B true CN102741838B (zh) 2017-05-03

Family

ID=43823993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080054420.8A Expired - Fee Related CN102741838B (zh) 2009-10-02 2010-10-04 块分割、识别与索引视觉元素及搜索文档的***与方法

Country Status (7)

Country Link
US (4) US10223455B2 (zh)
EP (1) EP2483816A4 (zh)
JP (1) JP6116247B2 (zh)
CN (1) CN102741838B (zh)
AU (2) AU2010300317C1 (zh)
CA (1) CA2776541A1 (zh)
WO (1) WO2011041795A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499000B2 (en) * 2009-07-30 2013-07-30 Novell, Inc. System and method for floating index navigation
US9229984B2 (en) * 2011-01-25 2016-01-05 Hewlett Packard Enterprise Development Lp Parameter expressions for modeling user defined function execution in analytical data processing systems
US9355145B2 (en) 2011-01-25 2016-05-31 Hewlett Packard Enterprise Development Lp User defined function classification in analytical data processing systems
EP2857986A4 (en) * 2012-05-31 2015-10-14 Fujitsu Ltd INDEX GENERATION PROGRAM AND RESEARCH PROGRAM
US9721010B2 (en) * 2012-12-13 2017-08-01 Microsoft Technology Licensing, Llc Content reaction annotations
US10242080B1 (en) * 2013-11-20 2019-03-26 Google Llc Clustering applications using visual metadata
US10503357B2 (en) * 2014-04-03 2019-12-10 Oath Inc. Systems and methods for delivering task-oriented content using a desktop widget
WO2016126665A1 (en) * 2015-02-04 2016-08-11 Vatbox, Ltd. A system and methods for extracting document images from images featuring multiple documents
JP6631337B2 (ja) * 2016-03-14 2020-01-15 コニカミノルタ株式会社 検索装置およびプログラム
US10459900B2 (en) 2016-06-15 2019-10-29 International Business Machines Corporation Holistic document search
US10698485B2 (en) * 2016-06-27 2020-06-30 Microsoft Technology Licensing, Llc Augmenting text narration with haptic feedback
CN107742096A (zh) * 2017-09-26 2018-02-27 阿里巴巴集团控股有限公司 获取图表特征信息的方法及装置、电子设备、存储介质
CN110633399A (zh) * 2018-06-01 2019-12-31 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
CN109284480B (zh) * 2018-07-27 2024-01-16 创新先进技术有限公司 一种业务文档处理方法、装置及服务器
US11194953B1 (en) * 2020-04-29 2021-12-07 Indico Graphical user interface systems for generating hierarchical data extraction training dataset
WO2021231338A1 (en) * 2020-05-09 2021-11-18 The Rocket Science Group Llc Generating and modifying content using data structures
CN112100426B (zh) * 2020-09-22 2024-05-24 哈尔滨工业大学(深圳) 基于视觉和文本特征的通用表格信息检索的方法与***
US20230046539A1 (en) * 2021-08-12 2023-02-16 Toyota Research Institute, Inc. Method and system to align quantitative and qualitative statistical information in documents
US11657078B2 (en) * 2021-10-14 2023-05-23 Fmr Llc Automatic identification of document sections to generate a searchable data structure

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963920B1 (en) * 1993-11-19 2005-11-08 Rose Blush Software Llc Intellectual asset protocol for defining data exchange rules and formats for universal intellectual asset documents, and systems, methods, and computer program products related to same
US5991739A (en) * 1997-11-24 1999-11-23 Food.Com Internet online order method and apparatus
US6763496B1 (en) * 1999-03-31 2004-07-13 Microsoft Corporation Method for promoting contextual information to display pages containing hyperlinks
US6275229B1 (en) * 1999-05-11 2001-08-14 Manning & Napier Information Services Computer user interface for graphical analysis of information using multiple attributes
US20030050927A1 (en) * 2001-09-07 2003-03-13 Araha, Inc. System and method for location, understanding and assimilation of digital documents through abstract indicia
US7177948B1 (en) * 1999-11-18 2007-02-13 International Business Machines Corporation Method and apparatus for enhancing online searching
US20060173873A1 (en) * 2000-03-03 2006-08-03 Michel Prompt System and method for providing access to databases via directories and other hierarchical structures and interfaces
JP3719089B2 (ja) * 2000-03-16 2005-11-24 松下電器産業株式会社 文書処理装置
US9311499B2 (en) * 2000-11-13 2016-04-12 Ron M. Redlich Data security system and with territorial, geographic and triggering event protocol
US8677505B2 (en) * 2000-11-13 2014-03-18 Digital Doors, Inc. Security system with extraction, reconstruction and secure recovery and storage of data
JP3941610B2 (ja) * 2002-07-08 2007-07-04 日本電気株式会社 情報抽出方法、情報抽出装置および情報抽出プログラム
JP2004054631A (ja) * 2002-07-19 2004-02-19 Internatl Business Mach Corp <Ibm> 情報検索システム、情報検索方法、html文書の構造解析方法及びプログラム
CN1567303A (zh) * 2003-07-03 2005-01-19 富士通株式会社 结构文档信息块的自动分割方法和装置
US7428700B2 (en) * 2003-07-28 2008-09-23 Microsoft Corporation Vision-based document segmentation
JP2005108006A (ja) * 2003-09-30 2005-04-21 Sorun Corp 文書データ管理方法、文書データ管理システム及び文書データ管理用コンピュータプログラム
US8150824B2 (en) * 2003-12-31 2012-04-03 Google Inc. Systems and methods for direct navigation to specific portion of target document
US7941397B2 (en) * 2004-02-25 2011-05-10 International Business Machines Corporation Dynamically capturing data warehouse population activities for analysis, archival, and mining
US20050210008A1 (en) * 2004-03-18 2005-09-22 Bao Tran Systems and methods for analyzing documents over a network
US8719700B2 (en) * 2010-05-04 2014-05-06 Xerox Corporation Matching a page layout for each page of a document to a page template candidate from a list of page layout candidates
US20100004957A1 (en) * 2006-01-27 2010-01-07 Robert Ball Interactive system and methods for insurance-related activities
US20070150494A1 (en) * 2006-12-14 2007-06-28 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
JP2008257537A (ja) * 2007-04-06 2008-10-23 Fuji Xerox Co Ltd 情報登録装置、情報検索装置、情報検索システム、情報登録プログラム、および情報検索プログラム
US8335754B2 (en) * 2009-03-06 2012-12-18 Tagged, Inc. Representing a document using a semantic structure
US20110016427A1 (en) * 2009-07-17 2011-01-20 Andre Gene Douen Systems, Methods and Articles For Managing Presentation of Information
US8595220B2 (en) * 2010-06-16 2013-11-26 Microsoft Corporation Community authoring content generation and navigation

Also Published As

Publication number Publication date
US9703874B2 (en) 2017-07-11
US10223455B2 (en) 2019-03-05
JP6116247B2 (ja) 2017-04-19
AU2016203199A1 (en) 2016-06-16
US20220215063A1 (en) 2022-07-07
AU2010300317C1 (en) 2016-09-01
CN102741838A (zh) 2012-10-17
CA2776541A1 (en) 2011-04-07
US20190147010A1 (en) 2019-05-16
US11314824B2 (en) 2022-04-26
US20150363495A1 (en) 2015-12-17
AU2010300317A1 (en) 2012-05-24
AU2010300317B2 (en) 2016-06-09
US20110082868A1 (en) 2011-04-07
EP2483816A4 (en) 2014-04-02
EP2483816A1 (en) 2012-08-08
WO2011041795A1 (en) 2011-04-07
JP2013506913A (ja) 2013-02-28

Similar Documents

Publication Publication Date Title
CN102741838B (zh) 块分割、识别与索引视觉元素及搜索文档的***与方法
US11354356B1 (en) Video segments for a video related to a task
US7873901B2 (en) Small form factor web browsing
US20110191336A1 (en) Contextual image search
US20150067476A1 (en) Title and body extraction from web page
JP5212610B2 (ja) 代表画像又は代表画像群の表示システム、その方法、およびそのプログラム並びに、代表画像又は代表画像群の選択システム、その方法およびそのプログラム
US9645987B2 (en) Topic extraction and video association
KR20160107187A (ko) 검색 결과에서의 논리적인 질문 응답 기법
US8577887B2 (en) Content grouping systems and methods
De Boer et al. DIVE into the event-based browsing of linked historical media
US10783192B1 (en) System, method, and user interface for a search engine based on multi-document summarization
US11651039B1 (en) System, method, and user interface for a search engine based on multi-document summarization
JP4904920B2 (ja) 雛形文書作成プログラム、雛形文書作成方法および雛形文書作成装置
CN110866408A (zh) 数据库制作装置以及检索***
US20090313558A1 (en) Semantic Image Collection Visualization
Gali et al. Extracting representative image from web page
CN103150307A (zh) 从网络中查找与主题词相关的名称的方法和设备
Masuda et al. Video scene retrieval using online video annotation
CN113407678A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1177533

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1177533

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170503

CF01 Termination of patent right due to non-payment of annual fee