CN105518667A - 理解供搜索的表格 - Google Patents

理解供搜索的表格 Download PDF

Info

Publication number
CN105518667A
CN105518667A CN201480047962.0A CN201480047962A CN105518667A CN 105518667 A CN105518667 A CN 105518667A CN 201480047962 A CN201480047962 A CN 201480047962A CN 105518667 A CN105518667 A CN 105518667A
Authority
CN
China
Prior art keywords
row
candidate
theme
name
arranges
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480047962.0A
Other languages
English (en)
Other versions
CN105518667B (zh
Inventor
王仲远
K·佐恩
Z·陈
K·查克拉巴蒂
J·P·菲尼根
V·R·纳拉萨亚
S·乔德里
K·甘加姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105518667A publication Critical patent/CN105518667A/zh
Application granted granted Critical
Publication of CN105518667B publication Critical patent/CN105518667B/zh
Active 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • 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/2455Query execution
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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/901Indexing; Data structures therefor; Storage structures
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

用于理解供搜索的表格的方法、系统、和计算机程序产品。标识表格的主题列,使用其它表格检测列标题,并用知识检库检测列标题。可以在结构化数据搜索系统(SDSS)中利用方法,所述结构化数据搜索系统索引结构化信息,例如在关系型数据库中的表格或从网页提取的html表格。SDSS允许用户使用包括关键字搜索和数据查找数据的不同的机制在结构化信息(表格)上进行搜索。

Description

理解供搜索的表格
相关申请的交叉引用
不适用
背景
1.背景和相关技术
计算机系统及相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已转变了人们生活和工作的方式。现在,计算机系统通常执行在计算机系统出现以前人工执行的许多任务(例如,文字处理、日程安排、帐目管理等)。最近,计算机系统彼此耦合并耦合到其他电子设备以形成计算机系统及其他电子设备可在其上传输电子数据的有线和无线计算机网络。因此,许多计算任务的执行被分布在多个不同的计算机系统和/或多个不同的计算环境中。
搜索引擎可以被用在包括因特网的网络上以定位用户感兴趣的信息。搜索引擎通常使用在诸如因特网之类的网络上连续爬行网页的爬行器,以索引内容。为了找到内容,用户向搜索引擎提交一个或多个搜索项。搜索引擎标识被认为包含与所述一个或多个搜索项有关的内容的页面。搜索引擎随后将到所标识的页面的链接返回给用户。用户可以随后选择(例如“点击”)链接以查看对应页面的内容。
结构化数据搜索系统(SDSS)类似地爬行诸如因特网之类的网络以索引结构化信息。结构化信息可以包括在关系型数据库中的表格或从网页提取的HTML表格。为了找到内容,用户将一个或多个搜索项提交给SDSS。SDSS标识被认为包含与所述一个或多个搜索项有关的内容的结构化数据,例如表格。搜索引擎随后将结构化数据返回给用户。用户可以随后将结构化数据整合入他们的应用中。
为了有效索引结构化数据,例如表格,对结构化数据的至少一些理解是必要的。网络上的一些表格可以明确地定义他们的主题列和列标题。SDSS可以相对有效地索引这些类型的表格。网络上的其他表格可能没有明确地定义他们的主题列和/或列标题。SDSS可能不能索引这些其他类型的表格。
由于在因特网上的内容生成的多样性,因特网上的表格的相当部分缺少明确定义的主题列和/或明确定义的列标题。因为SDSS可能不能够索引缺少明确的主题列和/或明确定义的列标题的表格,响应于用户搜索返回这样的表格是相当不可能的。这样,对于用户来说要找到缺少明确的主题列和/或缺少明确定义的列标题的表格是非常困难的,即使这样的表格的内容将是有用的。
简要概述
本发明涉及用于理解供搜索的表格的方法、系统、和计算机程序产品。本发明的各方面包括标识表格的主题列,使用其它表格检测一个表格的列标题,并用知识库检测表格的列标题。
提供该概述以便以简化形式介绍概念的选集,所述概念在以下详细描述中被进一步描述。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。
本发明的附加特征和优点将在以下描述中叙述,并且其一部分根据本描述将是显而易见的,或者可通过对本发明的实践来获知。本发明的特征和优点可通过在所附权利要求书中特别指出的工具和组合来实现和获得。本发明的这些以及其它特征、优点和特征将根据以下描述和所附权利要求而变得更显而易见,或者可通过如此后阐述的对本发明的实践而获知。
附图简述
为了描述可获得本发明的上述和其它优点和特征的方式,将通过参考附图中示出的本发明的具体实现来对以上简要描述的本发明进行更具体描述。可以理解,这些附图仅描述本发明的一些实现,从而不被认为是对其范围的限制,本发明将通过使用附图用附加特征和细节来描述和说明,在附图中:
图1示出便利于从结构化数据的一个或多个数据集中构建一个或多个索引的示例计算机体系结构。
图2示出便利于标识表格的主题列的示例计算机体系结构。
图3示出了用于标识表格的主题列的示例方法的流程图。
图4示出便利于检测表格的列标题的示例的计算机体系结构。
图5示出了用于检测表格的列标题的示例方法的流程图。
图6示出示例表格。
图7示出被用于从实例集中推断概念的各种公式。
图8示出了示例标题行。
图9示出被用于计算所提取的属性的典型性分数的各种公式。
图10示出示例表格。
图11示出便利于理解表格的示例体系结构。
详细描述
本发明涉及用于理解供搜索的表格的方法、系统、和计算机程序产品。本发明的各方面包括标识表格的主题列,使用其它表格检测一个表格的列标题,并用知识库检测表格的列标题。
本发明的各实现可包括或利用专用或通用计算机,该专用或通用计算机包括诸如举例而言一个或多个处理器和系统存储器的计算机硬件,如以下更详细讨论的。本发明范围内的各实现还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其它计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。`由此,作为示例而非限制,本发明的各实现可包括至少两种显著不同种类的计算机可读介质:计算机存储介质(设备)和传输介质。
计算机存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(如基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可以包括可以用来携带所需要的以计算机可执行的指令或数据结构的形式存在的程序代码装置并可以被通用或专用计算机访问的网络和/或数据链路。上述的组合应当也被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(设备)(或反之亦然)。例如,通过网络或数据链接接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质(设备)。因而,应当理解,计算机存储介质(设备)可被包括在还利用(甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
本发明还可以在云计算环境中实现。在该描述和下面的权利要求书中,“云计算”被定义为用于允许对可配置计算资源的共享池的按需网络访问的模型。例如,云计算可被用于市场,以便提供对可配置计算资源的共享池的普遍存在且方便的按需访问。可配置计算资源的共享池可经由虚拟化而被快速地供应,并可利用低管理努力或服务提供商干预来发布,并随后因此被缩放。
云计算模型可由各种特性组成,诸如按需自服务、广泛网络访问、资源池、快速灵活性、测定的服务等。云计算模型还可形成各种服务模型,诸如例如软件即服务(SaaS)、平台即服务(PaaS)以及基础结构即服务(IaaS)。云计算模型还可以使用不同的部署模型来部署,诸如私有云、社区云、公共云和混合云等。在本说明书和权利要求中,“云计算环境”是在其中部署了云计算的环境。
在这些描述和下面的权利要求中,“表格”被定义为使用垂直列和水平行的模型的数据元素(值)的集合。行和列的每个交集表示一个单元格。行可以由出现在指定列子集(例如被标识为关键字索引)中的值来标识。可以在数据库中、web页面中、从在图像(例如白板)中所捕获的有组织的数据集中找到表格,在其它文件(例如便携文档格式(“PDF”)文件)中找到表格,或在其它源等找到表格。本发明的各方面可以被用于理解来自任何这些源中的表格。
表格的一个或多个列可以是主题列。主题列包含该表格有关的实体的名字。表格中的其它列表示主题列中的实体的关系或属性。主题列可以被看作为近似关键字(approximatekey)。
表格的一行可以是列标题。表格的列标题包含了表格的列的名字。
简要参考图10,图10描述了表格1000。表格1000具有主题列1021“郡名”和列标题1022。
本发明的各方面包括标识表格的主题列,使用其它表格检测一个表格的列标题,并用知识检库检测表格的列标题。
索引构建体系结构
图1示出便利于从结构化数据的一个或多个数据集中构建一个或多个索引的示例计算机体系结构100。参考图1,计算机体系结构100包括表格提取和分类模块101、表格理解模块102、表格注释模块103、特征计算模块104、索引构建模块106、web快照111、有组织数据集112、点击日志113、知识库114和索引121、122和123。表格提取和分类模块101、表格理解模块102、表格注释模块103、特征计算模块104、索引构建模块106、网页快照111、经组织的数据集112、点击日志113和知识库114以及索引121、122和123中的每个都可在网络上彼此相连(或为网络的一部分),所述网络例如是诸如局域网(“LAN”)、广域网(“WAN”)和甚至因特网。因此,表格提取和分类模块101、表格理解模块102、表格注释模块103、特征计算模块104、索引构建模块106、网页快照111、经组织的数据集112、点击日志113和知识库114以及索引121、122和123中的每个以及任何其它连接的计算机系统及其组件都可以创建消息相关数据并通过网络交换与消息相关数据(例如,网际协议(“IP”)数据报和利用IP数据报的其它更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等)。
通常,计算机体系结构100可以利用web快照111,以及可能还有一个或多个有组织的数据集112来构建一个或多个索引121、122和123。计算机体系结构100可以从web快照111和/或中有组织的数据集112中提取表格(例如web表格),理解或注释所提取的表格,并基于表格的理解/注释来构建一个或多个索引121、122和123。索引121、122和123随后可以被索引服务组件用于检索用户查询的候选结果并且基于相关性来对候选结果排名。索引121、122和123中的每个可以是不同类型的索引,例如诸如将标记映射到标识符并包含标记的逆文档频率的串映射索引、可被用于检索用户的查询的排名最前的表格的关键字(逆)或特征索引,或者可以被用于生成所检索的表格的预览/摘录并在当被请求时取回完整表格的表格内容索引。
在计算机体系结构100内,表格提取和分类模块101可以接收Web快照111和/或有组织的数据集作为输入。Web快照111可以包括超文本标记语言(HTML)格式的表格(例如web表格)。有组织的数据集112可以包括网站特定格式的表格,例如诸如来自data.gov或theWorldBank(世界银行)的数据。Web快照111和有组织的数据集可以使用抓取网站、理解这些网站的格式并提取表格的包装器和/或爬行器来创建。例如,Web快照111可以从抓取因特网中创建。这样,Web快照111可以包括web表格。web表格可以是关系型的或非关系型的。一些表格可以明确地定义主题列和列标题。其它表格可能缺乏主题列和/或列标题的明确定义。
表格提取和分类模块101可以从Web快照111和/或有组织的数据集112中提取表格。表格提取和分类模块101可以过滤出没有价值的表格,例如诸如用于导航/布局目的的表格。表格提取和分类模块101可以从任意剩余的表格中将表格分类为关系型的和/或非关系型的表格。在一个方面,表格提取和分类模块101还过滤出非关系型的表格。表格提取和分类模块101可以输出表格(例如关系型表格)以供计算机体系结构100中的其它模块使用。
点击日志113可以包括为多个网络用户所记录的链接选择信息(“点击”)。对于因特网,点击日志113可以包括针对更大的多个用户的链接选择信息。知识库114可以包括不同类别的知识库。一种类别的知识库可以包含关于实体(例如诸如在web快照111和/或有组织数据集112中的web表格)和在实体之间的关系的结构化信息。例如,知识库可以包括关于实体的信息,包括:实体名、实体类型、实体属性以及实体属性的值。另一种类别的知识库可以是从Web文档(例如使用文本模式)中所提取的知识库。
`表格理解模块102可以接收由表格提取和分类模块101所提取的表格(例如web表格、关系型表格等)作为输入。表格理解模块102可以使用各种不同的表格理解算法来理解表格。一些表格可能缺乏被明确定义的主题列和/或被明确定义的列标题。因此,表格理解算法可以被配置为当表格没有明确定义这样的信息时标识表格的主题列和/或检测表格的列标题。表格理解模块102可以利用点击日志113和知识库114来帮助理解表格。表格理解模块102可以输出表格的所标识的主题列和检测到的列标题。
表格理解模块102可以接收由表格提取和分类模块101所提取的表格(例如web表格、关系型表格等)。表格注释模块103也可以(例如从表格理解模块102)接收表格的所标识的主题列和所检测到的列标题。表格注释模块103可以使用各种不同的表格注释算法来用没有被明确定义为与表格相关联的相关内容来注释表格。例如,在包含表格的web页面上,<table>和</table>标签内的内容(例如单元格值和列名)可以在支持关键字和数据查找搜索中非常有用。
然而,在支持关键字和数据查找搜索中还存在没有位于<table>和</table>标签内的有用的附加内容。例如,附加内容可以在web页面上的<table>和</table>标签之外,附加内容可以在包含到该web页面的链接的其它web页面中,附加内容可以在点击日志数据中,等。这样,表格注释算法可以被配置为标识这个附加内容并用该附加内容注释对应的表格。随后,索引构建模块106可以在该附加内容以及<table>和</table>标签内的内容上生成倒排索引。
表格注释模块103可以利用点击日志113和知识库114来帮助标识附加内容和用附加内容注释对应的表格。表格注释模块103可以输出用对应的附加内容所注释的表格。
特征计算模块104可以接收表格(例如web表格、关系型表格等等)。特征计算模块104可以使用各种特征计算算法来计算表格的(静态)特征。所计算的(静态)特征可以被用于排名。例如,特征计算模块104可以计算web表格的静态(即查询独立的)特征以供在相关排名中使用。排名可以被用于帮助在许多web表格满足搜索查询时更好地使web表格浮现(例如更加有名、更加流行或更加相关)。特征计算模块104可以输出表格的经计算的(静态)特征。
特征计算模块104可以被用于注释或非注释表格。当特征计算模块104接收注释的表格时,各种特征计算算法可以使用注释中包含的附加内容来计算(静态)特征。
索引构建模块106可以接收表格(例如web表格、关系型表格等等)。索引构建模块106可以使用各种索引构建算法来从所接收的表格中构建一个或多个索引121、122和123。索引构建模块106可以接收注释的或未注释的表格。当索引构建模块106接收注释的表格时,在构建索引时,各种索引构建算法可以使用注释中所包含的附加的内容。使用构建模块106也可以访问表格的经计算的(静态)特征。当索引构建模块106访问表格的经计算的(静态)特征时,各种索引构建算法可以在构建索引时使用经计算的(静态)特征。
随后,索引可以被用于促进搜索,包括关键字搜索和数据查找数据搜索。关键字搜索可以包括用户输入关键字查询(诸如“非洲国家gdp”)到搜索引擎(或其它类似的系统或模块)。搜索引擎(或其它类似的系统或模块)返回适当满足用户的信息需求的经排名的表格列表。用于查找数据的数据搜索包括用户向搜索引擎(或其它类似的系统或模块)指定(例如从电子表格中)实体集以及可选的附加关键字。搜索引擎(或其它类似的系统或模块)返回包含该指定的实体集的所请求信息的表格。
主题列标识
图2示出便利于标识表格的主题列的示例计算机体系结构200。参考图2,计算机体系结构200包括候选列选择模块201、分数计算模块202以及主题列选择模块203。候选列选择模块201、分数计算模块202以及主题列选择模块203中的每个都可在网络上彼此相连(或为网络的一部分),所述网络例如是诸如局域网(“LAN”)、广域网(“WAN”)和甚至因特网。因此,候选列名选择模块201、分数计算模块202以及主题列选择模块203以及任何其它连接的计算机系统及其组件都可以创建消息相关数据并通过网络交换与消息相关数据(例如,网际协议(“IP”)数据报和利用IP数据报的其它更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等)。
候选列选择模块201、分数计算模块202以及主题列选择模块203可以被包括在表格理解模块102中。或者,候选列选择模块201、分数计算模块202以及主题列选择模块203可以在表格理解模块102之外工作。
候选列选择模块201被配置为接收表格(例如web表格)并选择表格的一个或多个列作为候选主题列。候选列选择模块201可以基于一个或多个选择考虑选择一个列作为候选主题列。候选列选择模块201可以考虑其它许多列如何从表格的左边分隔列。对于至少某些表格来说,最左边的列经常是主题列。
候选列选择模块201可以考虑列是数字的或非数字的列。对于至少一些表格来说,主题列经常是非数字的。这样,候选列选择模块可以考虑列是数字的或非数字的列。候选列选择模块201可以计算列是数字或不是数字的分数。可以从列的值中移除前缀和后缀的标记。例如,具有收入或价格信息的列可以包含$或mil作为在前缀/后缀的标记。这些标记可以被移除以展示代表性数据。对于一个列,可以计算为数字的单元格的数目的分数。例如,如果列具有100个单元格,且80个单元格具有数字的值,则80%的单元格是数字。被确定为具有超出指定阈值的数字单元格的列可以在进一步考虑作为主题列时被排除。
这样,对于非数字列,候选列选择模块201可以考虑其它许多列如何从表格的左边分隔列。
候选列选择模块201可以考虑一个列中的单元格值的差异性。对于至少某些表格来说,主题列是近似关键字(即主题列包含大多数为不同的值,但可以包含一些副本)。可以考虑几种不同的差异度测量来用于列,包括不同的单元格值的数目与单元格总数的比率,最多重复的值的出现的数目等。
分数计算模块202被配置为确定候选列中的值在其它表格的主题列中同时出现的频率有多频繁。对于至少一些表格来说,表格的列是主题列中的实体的属性/关系。例如,首都城市的列可以是在对应的主题列中州的属性/关系。这样,在真实的主题列中的值与非主题列中的值相比可以更加频繁与列名同时出现。
分数计算模块202可以计算每个候选列的列分数。在一个方面中,分数计算模块202可以选择超出指定差异度的阈值(例如7)的N个(例如3个)最左边的非数字列作为候选主题列。对于每个候选主题列,分数计算模块202计算候选主题列中的每个值跨多个其它表(集)与每个列名出现了多少次。对于每个值/列名,共同出现的次数与该值跨多个其它表(集)出现的次数相除以获得共同出现的分数。例如,如果值在50个表格的主题列中出现,且在总数为500的表格中出现,则共同出现分数为50/500=0.1(or10%)。
分数计算模块202可以使用列中的每个值的共同出现的分数来计算该列的列分数。例如,V1,V2,…,Vn可以表示列中的值集。C1,C2,…,Cm可以是列名。这样,f(Vi,Cj)表示在主题列中可能包含Vi的表格的共同出现分数,其中Cj是列名。可以将一种或多种聚集函数用于从一个列的所有f(Vi,Cj)中计算该列的列分数。一些值和列名可以是尾部值/列名,因此,即使具有更高f(Vi,Cj)的少量值/列名也能贡献出更高的整体分数。一种聚集函数通过取一列的指定排在最前数目的共同出现分数的平均来计算该列的分数。
替代地和/或组合地,分数计算模块202还可以考虑知识库中的表格(例如web表格)和列名中的实体的共同出现。表格(例如web表格)的列是在主题列中的实体的属性/关系。这样,列名可以出现在知识库中的相同概念/类型内。分数计算模块202可以为捕捉与实体和列名的重叠的任意可能的概念(即与实体重叠的概念)计算概念分数。具有最适当(例如最高)概念分数的列可以被选择。
分数计算模块202还可以使用知识库来确定候选主题列名值在知识库中是否具有匹配表格的属性。匹配表格的知识库的属性可以被用于标识表格中的多个主题列。例如,分数计算模块202可以学习表格内的实体-属性关系。就是说,表格可以是关于州(State)的,可以具有首府(Capitol),并且接着首府的是人口列,该列是首府人口(它可以是与州人口不同的列)。
主题列选择模块203被配置为接收列和/或列的概念分数。从接收的分数中,主题列选择模块203可以选择一个或多个列作为主题列。例如,基于列分数和/或概念分数,主题列选择模块203可以将列分类成主题列或非主题列。
图3示出用于标识表格主题列的一示例方法300的流程图。方法300将参考计算机架构200的组件和数据来描述。
方法300包括从表格中选择指定数目的列作为候选主题列候选,每个主题列候选是表格的主题列的一个候选,每个主题列候选包括多个值(301)。例如,候选列选择模块201可以访问表格211(例如web表格)。如所示,表格211包括列221,222,223,224,225等。每个列包括多个值。列221包括值221A、221B、221C、221D等。列222包括值222A、222B、222C、222D等。列223包括值223A、223B、223C、223D等。列224包括值224A、224B、224C、224D等。列225包括值225A、225B、225C、225D等。
候选列选择模块201可以选择列221和223作为候选主题列。例如,列221和223可以在表格211的最左边的N个非数字列内,而列221和223中的值可以也满足差异性阈值。候选列选择模块201可以将列221和223发送给分数计算模块202。另一方面,列222可以是数字列和/或在列222中的值可能不是足以区分的。这样,列222不被考虑为候选主题列。
分数计算模块202可以从候选列选择模块201接收列221和223。
方法300包括,对于每个主题列候选,从多个值中标识与跨多个其它表格的一个或多个列名成对的任意值的出现(302)。例如,对于列221,分数计算模块202可以标识在表格集212中的任意一个表格中的与列名成对的值221A、221B、221C、221D等的任何出现。类似地,对于列223,分数计算模块202可以标识在表格集212中的任意一个表格中的与列名成对的值223A、223B、223C、223D等的任何出现。在一个方面中,表格集212包含多个关系型web表格。
方法300包括,例如,对于每个主题列候选,基于所标识的出现计算主题候选列的分数,所计算的分数指示候选列是主题列的可能性(303)。例如,分数计算模块202可以计算列221的分数231,并计算列223的分数233。
在一些方面中,要么替代地和/或组合地,分数计算模块202在分别计算分数231和233时考虑列221和223中的值的出现与在知识库214中的相同概念/类型内的实体。
分数计算模块202可以将列221/分数231和列223/分数233发送给主题列选择模块203。主题列选择模块203可以从分数计算模块202接收列221/分数231和列223/分数233。
方法300包括根据候选分数选择至少一个主题列候选作为表格的主题列(304)。例如,主题列选择模块203可以根据分数231和233将列223分类为主题列。将列作为主题列的选择可以被发送给一个或多个表格注释模块203、特征计算模块104以及索引构建模块106中的一个或多个。
在一些实现中,标识了多个主题列。例如,表格可以包括多种指向表格的主题的方式,例如诸如,以不同的语言,使用缩写等。主题列也可能分隔在多个列之间,例如诸如名(firstname)和姓(lastname)。
对于主题列检测,可以利用在web表格的语料库中的列名对的共同出现。如果候选主题列的列名对与以某种规律出现,则它是主题列和属于该主题的属性的可能性增加。可以类似地考虑实际单元格值。
这样,标识主题列是有用的,因为可以随后确定其它列是主题列的属性。用户可以搜索特定属性。当用户具有他们自己的表格时,主题列检测可以针对数据查找数据搜索来执行。例如,用户可以在与特定主题相关的电子表格上工作。用户可以输入“加入人口”来搜索覆盖特定主题局域并具有人口的表格。
使用表格的列标题检测
图4示出便利于检测表格的列标题的示例的计算机体系结构。参考图4,计算机体系结构400包括候选列名构建模块401、频率计算模块402以及列标题检测模块403。候选列名构建模块401、频率计算模块402以及列标题检测模块403中的每个都可在网络上彼此相连(或为网络的一部分),所述网络例如是诸如局域网(“LAN”)、广域网(“WAN”)和甚至因特网。因此,候选列名构建模块401、频率计算模块402以及列标题检测模块403以及任何其它连接的计算机系统及其组件都可以创建消息相关数据并通过网络交换与消息相关数据(例如,网际协议(“IP”)数据报和利用IP数据报的其它更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等)。
候选列名构建模块401、频率计算模块402以及列标题检测模块403可以被包括在表格理解模块102中。或者,候选列名构建模块401、频率计算模块402以及列标题检测模块403可以在表格理解模块102之外工作。
候选列名构建模块401被配置为从表格定义数据中构建候选列名。表格定义数据可以包括定义表格的数据以及从表格导出的数据。候选列名构建模块401可以创建候选列名集,所述集包括在专门的列标题中(例如在<th>或<thead>超文本标记语言(HTML)标签内)出现的列名和/或出现在表格中的第一行的数据中的列名。
频率计算模块402可以被配置为在任意表格中(例如表格集424中)要么作为列名要么作为单元格值出现的每个串的出现频率。频率计算模块402可以计算包含作为候选列名的串的表格的数目(CCNFreq)以及包含该串(但不作为候选列名)的表格的数目(Non-CCNFreq)。
列标题检测模块可以被配置为基于表格中的串的CCNFreqs和Non-CCNFreqs来检测表格中的一行作为列标题。例如,当数据的第一行中的串(值)具有比Non-CCNFreq更高的CCNFreq时,第一行更可能是列标题。
具体而言,例如,V1,V2,…,Vn可以表示表格的第一数据行中的值。CCNFreq(Vi)指示在其中出现Vi的表格的数目,所述Vi要么作为明确的列标题(例如在<th>或<thead>之内),要么作为数据的第一行(例如当没有明确定义列标题时)。Non-CCNFreq(Vi)指示在其中出现Vi的表格的数目,所述Vi没有作为明确的列标题或作为数据的第一行。当CCNFreq(Vi)>Non-CCNFreq(Vi)的值的Vi分数超过指定的阈值(例如5),可以选择一个行作为列标题。在一些方面中,列标题检测模块403根据公式457选择列标题。在公式457中,θ可以依据与检测列标题相关联的严格度来变化。
列标题检测模块403还可以考虑如果表格已经被明确定义了列名和/或任意值V1,V2,…,Vn是数字。如果表格已经明确定义了列名,则包含了除被明确定义的列名之外的名字的行较不可能是列标题。类似地,如果行含有数字值,该行较不可能是列标题。
还可以考虑候选单元格中的个别的标记的频率。在一方面,频率计算模块402可以被配置为每个标记在串(例如候选列名)中出现的频率,所述串在任意表格中(例如在表格集424中)要么作为列名出现,要么作为单元格值出现。例如,可以从串“Avg.Rainfall”中标识出标记“Avg.”和“Rainfall”。可以分别计算“Avg.”和“Rainfall”的频率,因为这些标记可以在其它位置中出现。例如,“Rainfall”可以单独作为列名出现。“Avg.”可以在列名“Avg.Temperature”中出现。
频率计算模块402还可以在标记级别频率上实现适当的聚集函数。
列标题检测模块403可以被配置为基于表格中的标记的CCNFreqs和Non-CCNFreqs来检测表格中的一行作为列标题。
图5示出了用于检测表格的列标题的示例方法500的流程图。方法500将参考计算机架构400的组件和数据来描述。
方法500包括从定义表格的数据中构造该表格的候选列名集(501)。例如,候选列名构造模块401可以接收表格411和表格定义412。表格定义412可以定义表格411的一些属性。如所示,表格411包括行421(第一行)、422、423等。每个行包含可能是列名的值。行421包括值421A、421B、421C等。行422包括值422A、422B、422C等。行423包括值423A、423B、423C等。
从表格定义412中,候选列名构造模块401可以确定没有为表格411明确定义列名。这样,候选列名构造模块401可以从行421(第一行)的值中构建候选列名集。例如,候选列名构造模块401可以构造候选列名421A、候选列名421B等。
候选列名构造模块401可以将候选列名421A、候选列名421B等发送给频率计算模块402。频率计算模块402可以从候选列名构造模块401接收候选列名421A、候选列名421B等。
方法500包括对于在候选列名集中的每个候选列名:通过从其它表格集中标识一个或多个其它表格来计算该候选列名的候选列名频率,所述一个或多个其它表格也包含了该候选列名作为候选列名(502)。例如,频率模块402可以计算候选列名421A的候选频率411,可以计算候选列名421B的候选频率413等。为了计算候选频率411,频率模块402可以从表格集424(例如web表格集)中标识一个或多个表格,该一个或多个表格也包含候选列名421A作为候选列。类似地,为了计算候选频率413,频率模块402可以从表格集424中标识一个或多个表格,该一个或多个表格也包含候选列名421B作为候选列。类似计算可以用于计算其它候选列名(即行421中的其它值)的候选频率。
方法500包括对于在候选列名集中的每个候选列名:通过从其它表格集中标识第二一个或多个其它表格来计算该候选列名的非候选列名频率,所述第二一个或多个其它表格包含了该候选列名但没有被作为候选列名(503)。例如,频率模块402可以计算候选列名421A的非候选频率412,可以计算候选列名421B的非候选频率414等。为了计算非候选频率412,频率模块402可以从表格集424中标识一个或多个表格,该一个或多个表格也包含候选列名421A但不作为候选列名。类似地,为了计算非候选频率413,频率模块402可以从表格集424中标识一个或多个表格,该一个或多个表格也包含候选列名421B但不作为候选列名。类似计算可以用于计算其它候选列名(即行421中的其它值)的非候选频率。
频率计算模块402可以将候选列名421A与候选频率411以及非候选频率412一起发送给列标题检测模块403。类似地,频率计算模块402可以将候选列名421B与候选频率413以及非候选频率414一起发送给列标题检测模块403。列标题检测模块403可以从频率检测模块402一起接收候选列名421A与候选频率411以及非候选频率412。类似地,列标题检测模块403可以从频率检测模块402一起接收候选列名421B与候选频率413以及非候选频率414。列标题检测模块403还可以访问表格定义数据412和表格411。
方法500包括当包含在行中的至少一个指定阈值的候选列名具有大于非候选列名频率的候选列名频率时将表格的该行选作为列标题(504)。例如,列标题检测模块403可以检测行421作为列标题或表格411。列标题检测模块403可以确定行421中的指定阈值(例如5)的候选列名具有大于非候选频率的候选频率。例如,对于候选列名421A,列标题检测模块403可以确定候选频率411大于非候选频率412。类似地,对于候选列名421B,列标题检测模块403可以确定候选频率413大于非候选频率414。使用知识库的列标题检测
A.使用概念化来检测标题是否正确
可以使用知识库来检测列标题和/或改善列标题检测(例如选择行作为列标题的置信度增加)。通常,可以从实例集中推断出概念,并且概念可以被称作为“概念化”。概念化可以基于知识库。在一些方面中,概念化可以被用于确定标题是否正确。转向图6,图6示出了示例表格600(例如web表格)。在表格600内,可以从值澳大利亚、美国、南非等中推断出列标题602“国家”。这样,列标题602是在列601中的值的上位词或概念。那么,列标题602“国家”很可能是正确的列标题。
转到图7,图7示出被用于从实例集中推断概念的各种公式。知识库(例如在知识库114中的)可以包括数千万的概念-实例对。公式701表示观察到的实例集。对于观察到的实例,可以抽象出更多的描述实例的代表性概念集。可以使用公式702中所描述的朴素贝叶斯模型来估计概念的概率。在公式702中,ck是概念,而如公式703中所述,其中,P(ei,ck)与实例和概念的共同出现成比例,而P(ck)与观察到的ck的频率大致成比例。在公式702中,拉普拉斯平滑被用于过滤出噪声并引入概念多样性。
基于公式701、702和703,具有较大后验概率的概念被排名为描述观察到的实例的更加可能的概念。例如,给定实例“中国”、“俄罗斯”、“印度”和“美国”,国家可以被建议为概念。然而,给定实例“中国”、“印度”和“俄罗斯”,新兴市场可以被建议为概念。
B.使用属性数据和属性概念化技术
包含名字的标题行可以包含更多明显的列名,这些列名可以属于同一概念。转向图8,图8示出示例列标题800。列标题800的列名可以属于同一概念。
通常,可以从列标题中提取列名以生成列名列表。随后,可以确定列名列表中的列名是否可以被概念化为相同的上位词。可以在web语料库上使用基于概念和基于实例的属性提取的句法模式来处理文档和提取属性。基于概念提取的句法模式可以被表示为:the〈a〉of(the/a/an)〈c〉[is]。基于实例提取的句法模式可以被表示为:the〈a〉of(the/a/an)〈i〉[is]。
在句法模式内,〈a〉是要从匹配句法模式的文本中获得的目标属性,〈c〉是要被获得属性的概念,而〈i〉是概念〈c〉中的实例(子概念或实体)。〈c〉和〈i〉两者可以形成知识库语义网络。例如,为了查找概念〈c〉=wine(葡萄酒)的属性。从句子“...theacidityofawineisanessentialcomponentofthewine...”(葡萄酒的酸性是葡萄酒的必要成分),〈a〈=acidity(酸性)是wine的候选属性。而且,从句子“thetasteofBordeauxis...”(波尔多葡萄酒的味道是)〈a〉=taste(味道)是“Bordeaux”的属性。从知识库中,可以确定“Bordeaux”是wine的概念的一个实例。这样,〈a〉=taste也是wine的候选属性。
通过属性列表,可以确定每个属性对于概念来说有多重要和/或多典型。这样,可以为属性计算典型性分数。更具体地,
P(c|a)指示了给定属性a概念c有多典型。
P(a|c)指示了给定概念c属性a有多典型。
为了计算典型性分数,考虑两种情况:来自基于概念的提取的属性和来自基于实例的提取的属性。
图9示出被用于计算所提取的属性的典型性分数的各种公式。对于基于概念的提取,可以获得具有格式(c,a,n(c,a))的属性列表。根据c来分组该列表,可以确定关于c的所观察到的属性列表以及它们的频率分布。通过这个信息,可以如在格式901中所述获得典型性分数P(a|c)。
对于基于实例的提取,可以获得具有格式(i,a,n(c,a))的一个或多个属性列表。可以从不同的数据语料库,例如诸如web文档、查询日志和知识库,中分别获得每个不同的基于实例的列表。可以从每个不同的基于实例的列表中计算单独的典型性分数。随后,基于实例的列表的单独的典型性分数可以与基于概念的列表的典型性分数聚合。为了将基于实例的模式与概念相连,P(a|c)可以被扩展为如在公式902中所示。
通过在公式902中扩展,可以计算P(a|i,c)和P(i|c)以确定典型性分数。例如,考虑基于实例的模式“theageofGeorgeWashington”(乔治华盛顿的年龄)。基于实例的模式可以对概念president(总统)的典型性打分做出贡献,知道“GeorgeWashington”是概念president的一个实例。在公式902中,P(a|i,c)量化了“GeorgeWashington”的年龄的属性典型性(当其基础概念是president时),而P(i|c)表示“GeorgeWashington”对于概念president有多少代表性。
在这种简化的假设下,可以如公式903所示计算P(a|i,c),而如公式904所示计算P(i|c)。基于公式903和904,可以从知识库中获得P(c|i)。P(c|i)表示概念c对于给定实例i有多少可能。P(c|i)=1是在知识库中观察到概念-实例,而P(c|i)=0与之相反。
利用典型性分数,可以使用机器来自行推断。也就是基于属性集来查找更可能的概念。例如,为了查找如在公式905中所示的概念其中,A是属性序列。可以使用公式906中所描述的朴素贝叶斯模型来估计概念的概率。
C.使用试探规则来检测列标题
试探规则也可以被用于检测列标题。例如,当标题行的单元格类型不同于其它单元格的单元格类型时,标题行更可能是列名标题。转向图10,图10示出了示例表格1000(例如web表格)。在表格1000中,单元格1013、1014、1015、1016和1017是串,但列1003、1004、1005、1005和1007的其它单元格中的值是数字。这样,单元格1013、1014、1015、1016和1017更加可能是列标题(即列标题1022)的部分。这样,即使该行没有被明确定义为列标题,标识列标题1022作为列标题也是可能的。
列中一个单元格中的标记的长度和/或数目与其它单元格中的标记的长度和/或数目的对比也可以被考虑。例如,单元格1011包括两个标记“County(郡)”和“Name(名字)”。主题列1021中的其它单元格包含一个标记。类似地,单元格1012包括两个标记“County(郡)”和“Seat(所在地)”。列1002中的其它单元格包含一个标记。这样,单元格1011和1012更加可能是列标题(例如列标题1022)的部分。
还可以考虑列中的一个单元格和其它单元格的内容是否可以用同一或不同的常规表达式来概述。例如,列1013包含单元格值“YearFounded(建立年份)”,“1854”、“1839”、“1760”等。然而,“YearFounded”用与概述“1854”、“1839”、“1760”等中的每个的最小常规表达式不相同的最小常规表达式来概述。因此,单元格1013很可能是列标题(例如列标题1022)的部分。
在另一个示例中,列可以包含单元格值“SocialSecNo(社交安全码)”,“123-45-678”,“345-67-8901”,“678-90-1234”。所有单元格具有相同数目的字符。然而,“SocialSecNo”是用与概述“123-45-678”,“345-67-8901”,“678-90-1234”中的每个的最小常规表达式不相同的最小常规表达式来概述的。这样,含有“SocialSecNo”的单元格更加可能是列标题的部分。
多行列标题
本发明的各方面可以被用于检测多行列标题。例如,一些表格具有在每个页有价值的行处复制的标题行。其它表格使用多个标题行,其中一个行是更加通用的而另一个行是更加特殊的。例如,表格可以具有一个行,该行具有跨第一和第二列的单元格值“Temperature(温度)”。该表格可以具有另一行,该另一行具有在第一列中为“Avg”和在第二列中为“Max”的单元格值。候选列名构造模块401、频率计算模块402以及列标题检测模块403可以被配置为检测表格的多个标题行。
理解表格
图11示出便利于理解表格的示例体系结构1100。参考图11,计算机体系结构1100包括主题列检测器1101和列标题检测器1102。主题列检测器1101和列标题检测器1102的每一个可通过诸如例如局域网(“LAN”)、广域网(“WAN”)或甚至因特网等网络(或作为网络的一部分)彼此连接。因此,主题列检测器1101和列标题检测器1102以及任何其它连接的计算机系统及其组件都可以创建消息相关数据并通过网络交换与消息相关数据(例如,网际协议(“IP”)数据报和利用IP数据报的其它更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等)。
通常,主题列检测器1101可以检测表格的一个或多个主题列。为了检测一个或多个主题列,主题列检测器1101可以实现计算机体系结构200的一个或多个模块并使用任意如所述的相关的算法。通常,列标题检测器1102可被配置为检测表格的列标题。为了检测列标题,列标题检测器1102可以实现计算机体系结构200的一个或多个模块并使用任意如所述的相关的算法。
主题列检测器1101和列标题检测器1102可以被包括在表格理解模块102中。或者,主题列检测器1101和列标题检测器1102可以在表格理解模块102之外工作。
如所述,表格1111(例如web表格)包括列1112A-1112F以及行1113A-1113M。主题列检测器1101和列标题检测器1102中的每个可以访问表格1111。
主题列检测器1101可以检测表格1111的主题列。为了确定表格1111的主题列,主题列检测器1101可以考虑列1112A、1112D和1112E(3个最左边非数字列)。使用任意所述的算法,主题列检测器1101可以计算列1112A、1112D和1112E中的每个的分数。例如,可以从表格值与列名在其它表格中的共同出现和/或表格实体和列名在知识库中的共同出现中计算列分数。基于所计算的分数,可以将来自列1112A,1112D和1112E中的一个列检测作为表格1111的主题列。例如,列1112A可以被选择作为表格1111的主题列。
主题列检测器1102可以检测表格1111的主题行。为了确定表格1111的列标题,列标题检测器1102可以使用任意所述的算法,例如诸如使用web表格的列标题检测、使用知识库的列标题检测、概念化、试探等,以检测表格1111的一行作为列标题。例如,列标题检测器1102可以从定义表格1111的数据中构造表格1111的候选列名集。列标题检测器1102候选可以为每个候选列名计算候选列名频率和非候选列名频率。列标题检测器1102候选可以基于所计算的频率选择表格1111的一行作为列标题。例如,行1113A可以被检测为表格1111的列标题。
可以在结构化数据搜索系统(SDSS)中使用本发明的各实现,所述系统索引结构化信息,例如在关系型数据库中的表格或从web页面中提取的html表格,并且允许用户在结构化信息(表格)上搜索。SDSS可以在结构化信息上索引并提供多种搜索机制。一种搜索机制是关键字搜索,其中,用户提出诸如“africancountriesgdp(非洲国家gdp)”的关键字查询给SDSS。SDSS返回经排名的适当满足用户的信息需求的表格列表。另一种机制是数据查找数据,其中,用户为SDSS指定(例如存在于电子表格内)实体集以及可选的附加关键字。SDSS返回包含了该实体集的所请求的信息的表格。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实现在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。

Claims (33)

1.一种用于检测表格的一个或多个主题列的方法,所述方法包括:
从表格中选择指定数目的列作为主题列候选,每个主题列候选是表格的主题列的一个候选,每个主题列候选包括多个值;
对于每个主题列候选:
从所述多个值中标识与跨多个其它表格的一个或多个列名成对的任意值的出现;以及
基于所标识的出现计算所述主题候选列的分数,所计算的分数指示所述候选列是主题列的可能性;以及
根据所述候选分数选择至少一个主题列候选作为所述表格的主题列。
2.如权利要求1所述的方法,其特征在于,从所述表格中选择指定数目的列作为主题列候选包括选择所述表格的指定数目的最左列作为主题列候选。
3.如权利要求2所述的方法,其特征在于,从所述表格中选择指定数目的最左列作为主题列候选包括选择所述表格的指定数目的最左非数字列作为主题列候选。
4.如权利要求1所述的方法,其特征在于,从所述表格中选择指定数目的列作为主题列候选包括基于在指定数目的列中的单元格值的差异从所述表格中选择所述指定数目的列作为主题列候选。
5.如权利要求1所述的方法,其特征在于,从所述表格中选择指定数目的列作为主题列候选包括将来自关系型表格的指定数目的列作为候选。
6.如权利要求1所述的方法,其特征在于,从所述表格中选择指定数目的列作为主题列候选包括将来自web表格的指定数目的列作为候选。
7.如权利要求1所述的方法,其特征在于,从所述多个值中标识与跨多个其它表格的一个或多个列名成对的任意值的出现包括从所述多个值中标识与跨多个web表格的一个或多个列名成对的任意值的出现。
8.如权利要求1所述的方法,其特征在于,选择至少一个所述主题列候选作为所述表格的主题列包括选择多个所述主题列候选作为所述表格的主题列。
9.一种在计算机系统处的用来检测包括一个或多个行的表格的列标题的方法,所述方法包括:
从定义所述表格的数据中构造所述表格的候选列名集;
对于所述候选列名集中的每个候选列名:
通过从其它表格集中标识也包含作为一候选列名的所述候选列名的一个或多个其它表格来计算所述候选列名的候选列名频率;以及
通过从其它表格集中标识包含所述候选列名但不作为候选列名的第二一个或多个其它表格来计算所述候选列名的非候选列名频率;以及
当包含在表格的一行中的至少一个指定阈值的候选列名具有大于非候选列名频率的候选列名频率时将该行选作为列标题。
10.如权利要求9所述的方法,其特征在于,还包括在构造候选列名集之前确定定义所述表格的所述数据没有明确定义列标题。
11.如权利要求10所述的方法,其特征在于,确定定义所述表格的所述数据没有明确定义列标题包括确定定义所述表格的所述数据不包括超文本标记语言(HTML)<th>标签并且不包括超文本标记语言(HTML)<thead>标签。
12.如权利要求9所述的方法,其特征在于,还包括在构造候选列名集之前确定所述表格缺少明确被定义的列标题。
13.如权利要求9所述的方法,其特征在于,构造所述表格的候选列名集包括从包括在所述表格的所述第一行中的列名构造所述表格的候选列名集。
14.如权利要求9所述的方法,其特征在于,构造所述表格的候选列名集包括构造关系型web表格的候选列名集。
15.如权利要求9所述的方法,其特征在于,选择所述表格的一行作为列标题包括选择所述表格的所述第一行作为列标题。
16.如权利要求9所述的方法,其特征在于,还包括通过所选行的至少一个列是包含在所述至少一个列中的单元格值的上位词来增加在选择所述表格的所述行作为所述列标题中的置信度。
17.一种在计算机系统处的用来检测包括一个或多个行的表格的列标题的方法,所述方法包括:
构造所述表格的候选列名集;
基于在所述候选列名集中所包括的一个列中包含的单元格值推断该列是在所述列中包含的所述单元格值的上位词;以及
选择包含所述列的所述行作为所述表格的列标题。
18.如权利要求17所述的方法,其特征在于,推断在所述候选列名集中所包括的一个列是在所述列中包含的单元格值的上位词包括通过参考知识库推断在所述候选列名集中所包括的一个列是在所述列中包含的所述单元格值的上位词。
19.如权利要求18所述的方法,其特征在于,通过参考知识库推断在所述候选列名集中所包括的一个列是在所述列中包含的单元格值的上位词包括从所述知识库中提取一个或多个概念属性和一个或多个实例属性。
20.如权利要求18所述的方法,其特征在于,在选择包含所述列的所述行作为所述表格的列标题之前,确定包括在所述候选列名集中的所述列标题的单元格类型和所述列中的其他单元格的单元格类型不同的另一个列。
21.一种系统,所述系统包括:
一个或多个处理器;
系统存储器;以及
一种或多种计算机存储介质,所述计算机存储介质上存储有表示主题列检测器的计算机可执行指令,所述主题列检测器用于检测表格的一个或多个主题列,所述主题列检测器被配置为:
从所述表格中选择指定数目的列作为主题列候选,每个主题列候选是所述表格的主题列的一个候选,每个主题列候选包括多个值;
对于每个主题列候选:
从所述多个值中标识与跨多个其它表格的一个或多个列名成对的任意值的出现;以及
基于所标识的出现计算所述主题候选列的分数,所计算的分数指示所述候选列是主题列的可能性;以及
根据所述候选分数选择至少一个主题列候选作为所述表格的主题列。
22.如权利要求21所述的系统,其特征在于,所述主题列检测器被配置为从所述表格中选择指定数目的列作为主题列候选包括所述主题列检测器被配置为选择所述表格的指定数目的最左列作为主题列候选。
23.如权利要求21所述的系统,其特征在于,所述主题列检测器被配置为从所述表格中选择指定数目的列作为主题列候选包括所述主题列检测器被配置为基于在一指定数目的列中的单元格值的差异从所述表格中选择所述指定数目的列作为主题列候选。
24.如权利要求21所述的系统,其特征在于,所述主题列检测器被配置为从所述多个值中标识与跨多个其它表格的一个或多个列名成对的任意值的出现包括所述主题列检测器被配置为从所述多个值中标识与跨多个web表格的一个或多个列名成对的任意值的出现。
25.如权利要求21所述的系统,其特征在于,所述主题列检测器被配置为选择至少一个主题列候选作为所述表格的主题列包括所述主题列检测器被配置为选择多个主题列候选作为所述表格的主题列。
26.一种系统,所述系统包括:
一个或多个处理器;
系统存储器;以及
一种或多种计算机存储介质,所述计算机存储介质上存储有表示列标题检测器的计算机可执行指令,所述主题列检测器用于检测表格的一个或多个主题列,所述主题列检测器被配置为:
从定义所述表格的数据中构造所述表格的候选列名集;
对于所述候选列名集中的每个候选列名:
通过从其他表格集中标识也包含作为一候选列名的所述候选列名的一个或多个其他表格来计算所述候选列名的候选列名频率;以及
通过从其他表格集中标识包含所述候选列名但不作为一候选列名的第二一个或多个其他表格来计算所述候选列名的非候选列名频率;以及
当包含在表格的一行中的至少一个指定阈值的候选列名具有大于非候选列名频率的候选列名频率时将该行选作为列标题。
27.如权利要求26所述的系统,其特征在于,还包括所述主题列检测器被配置为在构造候选列名集之前确定所述表格缺少明确被定义的列标题。
28.如权利要求26所述的系统,其特征在于,所述主题列检测器被配置为构造所述表格的候选列名集包括从包括在所述表格的所述第一行中的列名构造所述表格的候选列名集。
29.如权利要求26所述的系统,其特征在于,还包括所述主题列检测器被配置为通过所选行的至少一个列是包含在所述至少一个列中的单元格值的上位词来增加在选择所述表格的所述行作为所述列标题中的置信度。
30.一种系统,所述系统包括:
一个或多个处理器;
系统存储器;以及
一种或多种计算机存储介质,所述计算机存储介质上存储有表示列标题检测器的计算机可执行指令,所述主题列检测器用于检测表格的一个或多个主题列,所述主题列检测器被配置为:
构造所述表格的候选列名集;
基于在所述候选列名集中所包括的一个列中包含的单元格值推断该列是在所述列中包含的所述单元格值的上位词;以及
选择包含所述列的所述行作为所述表格的列标题。
31.如权利要求30所述的系统,其特征在于,所述主题列检测器被配置为推断在所述候选列名集中所包括的一个列是在所述列中包含的单元格值的上位词包括所述主题列检测器被配置为通过参考知识库在所述候选列名集中所包括的一个列是在所述列中包含的所述单元格值的上位词。
32.如权利要求30所述的系统,其特征在于,所述主题列检测器被配置为通过参考知识库推断在所述候选列名集中所包括的一个列是在所述列中包含的单元格值的上位词包括所述主题列检测器被配置为从所述知识库中提取一个或多个概念属性和一个或多个实例属性。
33.如权利要求30所述的系统,其特征在于,还包括所述主题列检测器被配置为在选择包含所述列的所述行作为所述表格的列标题之前,确定包括在所述候选列名集中的所述列标题的单元格类型和所述列中的其他单元格的单元格类型不同的另一个列。
CN201480047962.0A 2014-06-30 2014-06-30 理解供搜索的表格的方法、系统和计算机存储介质 Active CN105518667B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/081109 WO2016000115A1 (en) 2014-06-30 2014-06-30 Understanding tables for search

Publications (2)

Publication Number Publication Date
CN105518667A true CN105518667A (zh) 2016-04-20
CN105518667B CN105518667B (zh) 2019-06-18

Family

ID=54930742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480047962.0A Active CN105518667B (zh) 2014-06-30 2014-06-30 理解供搜索的表格的方法、系统和计算机存储介质

Country Status (7)

Country Link
US (2) US9734181B2 (zh)
EP (1) EP3161673B1 (zh)
JP (1) JP6434542B2 (zh)
CN (1) CN105518667B (zh)
BR (1) BR112016027272A2 (zh)
RU (1) RU2671047C2 (zh)
WO (1) WO2016000115A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110020342A (zh) * 2017-08-31 2019-07-16 北京国双科技有限公司 数据的处理方法及装置
CN110516048A (zh) * 2019-09-02 2019-11-29 苏州朗动网络科技有限公司 pdf文档中表格数据的提取方法、设备和存储介质
CN111897884A (zh) * 2020-07-20 2020-11-06 北京用友薪福社云科技有限公司 数据关系信息显示方法、终端设备
CN112287660A (zh) * 2019-12-04 2021-01-29 上海柯林布瑞信息技术有限公司 Pdf文件中的表格解析方法及装置、计算设备、存储介质
CN112560418A (zh) * 2019-09-26 2021-03-26 Sap欧洲公司 从自由形式的表格式数据创建行项目信息
CN112287660B (zh) * 2019-12-04 2024-05-31 上海柯林布瑞信息技术有限公司 Pdf文件中的表格解析方法及装置、计算设备、存储介质

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6493413B2 (ja) * 2014-11-14 2019-04-03 富士通株式会社 データ取得プログラム、データ取得方法及びデータ取得装置
US10545942B2 (en) 2016-06-13 2020-01-28 International Business Machines Corporation Querying and projecting values within sets in a table dataset
WO2018066144A1 (ja) * 2016-10-07 2018-04-12 富士通株式会社 インデックス付きデータ生成プログラム、インデックス付きデータ生成方法、インデックス付きデータ生成システム、検索プログラム、検索方法、および検索システム
US20210042649A1 (en) * 2018-03-08 2021-02-11 Nec Corporation Meaning inference system, method, and program
JP6817246B2 (ja) * 2018-03-22 2021-01-20 Kddi株式会社 データ処理装置、データ処理方法及びデータ処理プログラム
US10878195B2 (en) * 2018-05-03 2020-12-29 Microsoft Technology Licensing, Llc Automated extraction of unstructured tables and semantic information from arbitrary documents
US11163764B2 (en) * 2018-06-01 2021-11-02 International Business Machines Corporation Predictive data distribution for parallel databases to optimize storage and query performance
US11157496B2 (en) * 2018-06-01 2021-10-26 International Business Machines Corporation Predictive data distribution for parallel databases to optimize storage and query performance
US11443106B2 (en) 2018-09-20 2022-09-13 International Business Machines Corporation Intelligent normalization and de-normalization of tables for multiple processing scenarios
US10831798B2 (en) 2018-09-20 2020-11-10 International Business Machines Corporation System for extracting header labels for header cells in tables having complex header structures
US11514258B2 (en) 2018-09-20 2022-11-29 International Business Machines Corporation Table header detection using global machine learning features from orthogonal rows and columns
US10776573B2 (en) 2018-09-20 2020-09-15 International Business Machines Corporation System for associating data cells with headers in tables having complex header structures
JP7180420B2 (ja) * 2019-01-31 2022-11-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11270065B2 (en) * 2019-09-09 2022-03-08 International Business Machines Corporation Extracting attributes from embedded table structures
US11636082B2 (en) 2020-06-23 2023-04-25 International Business Machines Corporation Table indexing and retrieval using intrinsic and extrinsic table similarity measures
US20230161774A1 (en) * 2021-11-24 2023-05-25 International Business Machines Corporation Semantic annotation for tabular data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198069A (zh) * 2012-01-06 2013-07-10 株式会社理光 抽取关系型表格的方法和装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680324B2 (en) * 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
US7054871B2 (en) * 2000-12-11 2006-05-30 Lucent Technologies Inc. Method for identifying and using table structures
US20060230016A1 (en) * 2005-03-29 2006-10-12 Microsoft Corporation Systems and methods for statistics over complex objects
US7740281B2 (en) * 2007-01-31 2010-06-22 The Ergonomic Group Method and system for producing certified documents and the like
JP4778474B2 (ja) * 2007-05-14 2011-09-21 日本電信電話株式会社 質問応答装置、質問応答方法、質問応答プログラム並びにそのプログラムを記録した記録媒体
US20100114902A1 (en) * 2008-11-04 2010-05-06 Brigham Young University Hidden-web table interpretation, conceptulization and semantic annotation
US8312366B2 (en) * 2009-02-11 2012-11-13 Microsoft Corporation Displaying multiple row and column header areas in a summary table
CN101556606B (zh) * 2009-05-20 2010-12-01 同方知网(北京)技术有限公司 一种基于Web数值表格抽取的数据挖掘方法
US10394754B2 (en) * 2010-03-08 2019-08-27 International Business Machines Corporation Indexing multiple types of data to facilitate rapid re-indexing of one or more types of data
US20110270815A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Extracting structured data from web queries
US20170262529A1 (en) * 2010-10-01 2017-09-14 Google Inc. Sponsor answers and user-approved, system-suggested links in a social search engine
EP2469421A1 (en) * 2010-12-23 2012-06-27 British Telecommunications Public Limited Company Method and apparatus for processing electronic data
US8566308B2 (en) * 2011-01-26 2013-10-22 International Business Machines Corporation Intelligent adaptive index density in a database management system
JP5536687B2 (ja) * 2011-01-31 2014-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 目次と見出しの対応付け方法、対応付け装置、及び対応付けプログラム
US20130080444A1 (en) * 2011-09-26 2013-03-28 Microsoft Corporation Chart Recommendations
US9020947B2 (en) 2011-11-30 2015-04-28 Microsoft Technology Licensing, Llc Web knowledge extraction for search task simplification
DE102012200600A1 (de) 2012-01-17 2013-07-18 Siemens Aktiengesellschaft MRT- Lokalspulenpositions-Erkennung in einem MRT-System
WO2013110289A1 (en) * 2012-01-23 2013-08-01 Microsoft Corporation Borderless table detection engine
US9665572B2 (en) * 2012-09-12 2017-05-30 Oracle International Corporation Optimal data representation and auxiliary structures for in-memory database query processing
US9047333B2 (en) * 2012-09-20 2015-06-02 Cray Inc Dynamic updates to a semantic database using fine-grain locking
EP2728493A1 (en) * 2012-11-01 2014-05-07 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus and computer program for detecting deviations in data repositories
US9116940B1 (en) * 2013-04-15 2015-08-25 Google Inc. Searching for join candidates
CN103605641A (zh) * 2013-11-11 2014-02-26 清华大学 一种汉语缩略语自动发现的方法及装置
US9940365B2 (en) * 2014-07-08 2018-04-10 Microsoft Technology Licensing, Llc Ranking tables for keyword search

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198069A (zh) * 2012-01-06 2013-07-10 株式会社理光 抽取关系型表格的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JINGJING WANG 等: ""Understanding Tables on the Web"", 《INTERNATIONAL CONFERENCE ON CONCEPTUAL MODELING》 *
JU FAN 等: ""A hybrid machine-crowdsourceing system for matching web tables"", 《2014 IEEE 30TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING》 *
MOHAMED YAKOUT 等: ""InfoGather:entity augmentation and attribute sidcovery by holistic matching with web tables"", 《SIGMOD "12 PROCESSINGS OF THE 2012 ACM SIGMOD INTERNATIONALA COFERENCE ON MANAGEMENT OF DATA》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110020342A (zh) * 2017-08-31 2019-07-16 北京国双科技有限公司 数据的处理方法及装置
CN110516048A (zh) * 2019-09-02 2019-11-29 苏州朗动网络科技有限公司 pdf文档中表格数据的提取方法、设备和存储介质
CN112560418A (zh) * 2019-09-26 2021-03-26 Sap欧洲公司 从自由形式的表格式数据创建行项目信息
CN112287660A (zh) * 2019-12-04 2021-01-29 上海柯林布瑞信息技术有限公司 Pdf文件中的表格解析方法及装置、计算设备、存储介质
CN112287660B (zh) * 2019-12-04 2024-05-31 上海柯林布瑞信息技术有限公司 Pdf文件中的表格解析方法及装置、计算设备、存储介质
CN111897884A (zh) * 2020-07-20 2020-11-06 北京用友薪福社云科技有限公司 数据关系信息显示方法、终端设备
CN111897884B (zh) * 2020-07-20 2024-02-23 北京用友薪畴数字科技有限公司 数据关系信息显示方法、终端设备

Also Published As

Publication number Publication date
US9734181B2 (en) 2017-08-15
WO2016000115A1 (en) 2016-01-07
US10853344B2 (en) 2020-12-01
RU2016152191A3 (zh) 2018-07-02
EP3161673A4 (en) 2018-05-23
JP2017525033A (ja) 2017-08-31
RU2016152191A (ru) 2018-07-02
JP6434542B2 (ja) 2018-12-05
US20170322964A1 (en) 2017-11-09
RU2671047C2 (ru) 2018-10-29
BR112016027272A2 (pt) 2021-06-08
CN105518667B (zh) 2019-06-18
EP3161673B1 (en) 2020-12-02
US20150379057A1 (en) 2015-12-31
EP3161673A1 (en) 2017-05-03

Similar Documents

Publication Publication Date Title
CN105518667A (zh) 理解供搜索的表格
US10268703B1 (en) System and method for associating images with semantic entities
CN103049575B (zh) 一种主题自适应的学术会议搜索系统
US20170212899A1 (en) Method for searching related entities through entity co-occurrence
CN103810218A (zh) 一种基于问题簇的自动问答方法和装置
WO2012142553A2 (en) Identifying query formulation suggestions for low-match queries
CN106484797A (zh) 基于稀疏学习的突发事件摘要抽取方法
US9251202B1 (en) Corpus specific queries for corpora from search query
CN105389329A (zh) 一种基于群体评论的开源软件推荐方法
US11249993B2 (en) Answer facts from structured content
CN103714118A (zh) 图书交叉阅读方法
CN115563313A (zh) 基于知识图谱的文献书籍语义检索系统
US20170235835A1 (en) Information identification and extraction
US20160012091A1 (en) Annotating structured data for search
US20150074121A1 (en) Semantics graphs for enterprise communication networks
US9984684B1 (en) Inducing command inputs from high precision and high recall data
CN111752898B (zh) 一种文件处理方法及装置
Jeong et al. Determining the titles of Web pages using anchor text and link analysis
CN114547233A (zh) 数据查重方法、装置及电子设备
CN113420219A (zh) 用于查询信息纠错的方法、装置、电子设备及可读存储介质
CN105159899B (zh) 一种搜索的方法和装置
Meng et al. Chinese microblog entity linking system combining wikipedia and search engine retrieval results
US20240020476A1 (en) Determining linked spam content
Doshi et al. SemAcSearch: A semantically modeled academic search engine
CN105512484A (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
GR01 Patent grant
GR01 Patent grant