专利名称:抽取关系型表格的方法和装置的制作方法
技术领域:
本发明总体地涉及信息处理和信息抽取领域,更具体地涉及从非结构化文档中抽取关系型表格的方法和装置。
背景技术:
目前,存在大量的电子文档,例如,互联网上的各种描述产品的文章等。对各种文档进行信息处理、分析、统计等,正成为业界研究和开发的热点。文档可以分为结构化文档和非结构化的文档。结构化文档一般是按照某种预定义的文档对象模型构造的文档,其已经给文档定义了框架,使得各部分的作用一目了然,例如通过一些数据库定义语言或面向对象的编程语言等构建的文档可以称为结构化文档。在本文中,将除了结构化文档外的各种文档统称为非结构化文档。非结构化文档可以分为半结构化文档和无结构文档。网页等诸如HTML或XML格式的文档常被人称为半结构化文档或半结构化数据,从其中的一些标签语言即可以知道所描述对象的属性和值。无结构文档类似于自然语言形式,例如我们常见的后缀为txt的纯文本文档即为一种典型的无结构文档。此外,word格式和pdf格式的文档中也不存在便于理解文章所描述的主体和具体属性的信息,因此也可视为无结构文档。在非结构化文档存在海量表格,其中的关系型表格通常含有丰富的有用信息。所谓关系型表格是就其对现实世界中的事物间关系的模型而命名,一般是二维表格,其中含有多个对象,每个对象具有诸多属性和对应的属性值。图1示出了 Web网页中的一个关系型表格的例子。互联网中有很多含关系型数据的网页,比如说产品参数对比表格网页。以网页为例,自动从网页中抽取关系型表格信息可以用来更好地构建此类网页的索引,有助于搜索。所抽取的海量关系型表格可以用于科研、工程、统计、策略制定、市场调研等,用以提供量化数据。已经存在一些从非结构化文档中检测表格的技术。在文献 I, A Machine Learning B ased Approach for Table Detectionon The Web, Proceedings of the Eleventh International World Wide WebConference (WWW2002)中,描述了一种基于监督的机器学习方法,在训练数据之后,来把每个给定的表格分类成真实的表格或者非真实的表格。在文献2,Uncovering the Relational Web, Proceedings of the IlthInternational Workshop on Web and Databases (WebDB 2008)中,描述了从大的网页库中过滤关系表的简单的方法,其假设每个数据元组是表格中的行,还试图恢复列的标签信息和类型信息。在文献3,US7590647(B2)-Method for extracting, interpreting andstandardizing tabular data from unstructured documents 中,描述了一个系统,方法,计算机程序,能够自动地从非结构化文档中识别,解析,和解释表格数据。该技术对于表格解释,使用标准模板,包含一个标准化数据域的集合;其次,该技术假设每个数据元组是表格中的行。
发明内容
鉴于现有技术中的上述问题,提出了本发明。根据本发明的一个方面,提供了一种从非结构化文档中抽取关系型表格的方法,可以包括:检测非结构化文档中的表格,以获得表格;以及确定指示表格中的对象标识符部分、属性名部分和属性值部分的表格布局。所述非结构化文档可以是网页,以及可以通过解析网页并选择被用来显示表格数据的DOM节点来得到表格。抽取关系型表格的方法还可以包括在确定表格布局之前,规范化所检测的表格的内容。规范化所检测的表格的内容可以包括:对于表格的每个表格单元格计算一段文本,此文本可以为空。对于表格的每个表格单元格计算一段文本可以包括:对于每个无文本节点但含图像节点的单元格,基于图像节点的特征确定一段文本。该抽取关系型表格的方法还可以包括:在确定表格布局之前,过滤表格中的内容,以去除信息含量低的数据。过滤表格中的内容可以包括以下操作中的至少一种:计算表示行的信息含量的行信息量分数,并去除行信息量分数低的行;计算表示列的信息含量的列信息量分数,并去除列信息量分数低的列;计算表示整个表格的信息含量的表格信息量分数,并且如果整个表格的信息量分数低于预定阈值,则丢弃该表格。确定表格布局可以包括:确定表征表格中候选对象标识符部分、候选属性名部分和候选属性值部分的布局的各种候选表格布局;计算各种候选表格布局的一致性分数;基于所计算的各种候选表格布局的一致性分数,确定表格布局,从而确定了表格中的对象标识符部分、属性名部分和属性值部分。可以至少基于下列要素中的一个或几个计算各种候选表格布局的一致性分数:1)对象标识符是否唯一 ;2)属性名是否唯一 ;3)各行之间的相似度分数和各列之间的相似度分数;4)每行的各个单元格间数据的类型一致性,以及每列的各个单元格间数据的类型一致性。根据本发明实施例的一种从非结构化文档抽取关系型表格的装置,可以包括:表格检测部分,检测非结构化文档中的表格,以获得表格;以及表格布局确定部分,确定指明表格中的对象标识符部分、属性名部分和属性值部分的表格布局。根据本发明实施例的抽取关系型表格的方法和装置,并不预先假定每个数据元组是表格中的行,而是可以自动确定表格中的对象标识符部分、属性名部分和属性值部分的表格布局。此外,根据本发明实施例的抽取关系型表格的方法和装置,通过过滤表格数据,从而去除噪声信息,提高抽取表格数据的速率和准确性。
此外,根据本发明实施例的抽取关系型表格的方法和装置,通过规范化表格数据,可以从表格的图像中计算文本,从而抽取图像中的有用信息。根据本发明实施例的一种从非结构化文档抽取关系型表格的方法,可以包括:检测非结构化文档中的表格,以获得表格;规范化表格数据;过滤表格数据;以及确定指示表格中的对象标识符部分、属性名部分和属性值部分的表格布局。根据本发明实施例的一种从非结构化文档抽取关系型表格的方法,该确定指示表格中的对象标识符部分、属性名部分和属性值部分的表格布局可以包括:计算各行是对象标识符区域的可能性分数以及为属性名区域的可能性分数;选择可能性分数最高的行,并相应地确定该行是对象标识符区域或属性名区域;基于行中对象标识符区域或属性名区域的确定,计算各列为属性名区域或对象标识符区域的可能性分数;选择可能性分数最高的列作为属性名区域或对象标识符区域;以及输出对象标识符区域、属性名区域、属性值区域信息。根据该从非结构化文档抽取关系型表格的方法,可以一次性确定表格方向和对象标识符区域或属性名区域,可以迅速、准确地确定表格布局。
图1示出了 Web网页中的一个关系型表格的例子;图2示出根据本发明一个实施例的抽取关系型表格的方法的整体流程图;图3示出了一个示例性表格中的对象标识符部分、属性名部分和属性值部分的表格布局;图4不出了一个表格的各种候选布局的不例。图5示出了在Web环境下实现图2中步骤S2100的示例性表格获取方法的流程图;图6示出了从DOM树获得表格的过程的示意图;图7示出了表格数据规范化的过程的例子;图8示出了规范化含文本节点的表格单元格的例子;图9示出了从图像的属性” src”(其表示图像的来源)来确定图像节点的含义的例子;图10示出了结合图像节点中的“src”和“alt”特征来从图像节点计算文本的例子;图11示出了进行表格数据过滤的示例性方法的流程图;图12不意性不出了表格中低信息含量的行和列的例子;图13示出了根据本发明一个实施例的确定表格布局的示例性方法的流程图;图14示出了行是对象标识符区域的表格例子;图15示出了列是对象标识符区域的表格例子;图16示出了列是对象标识符区域情况下的行间相似度和列间相似度的示意;图17示出根据本发明另一实施例的确定表格布局的示例性方法的流程图;图18示出分局本发明实施例的从非结构化文档抽取关系型表格的装置的总体功能性框图19示出了可以实施本发明实施例的网络系统环境示意图;以及图20是示出按照本发明实施例的从非结构化文档抽取关系型表格的系统的总体硬件框图。
具体实施例方式为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式
对本发明作进一步详细说明。将按如下顺序进行描述:1、关系型表格抽取的整体过程2、从网页提取表格的示例性方法3、表格数据规范化4、表格数据过滤5、确定表格布局的详细操作5.1确定表格布局的一个不例性方法5.2确定表格布局的另一不例性方法6、系统硬件配置6.1从非结构化文档抽取关系型表格的功能性装置6.2网络系统环境6.3从非结构化文档抽取关系型表格的硬件系统7、总结〈1、关系型表格抽取的整体过程〉图2是根据本发明一个实施例的抽取关系型表格的方法的整体流程图。在步骤S2100中,检测非结构化文档中的表格,以获得表格。具体地,在非结构化文档是网页的情况下,可以通过解析网页生成文档对象模型DOM树、并选择被用来显示表格数据的DOM节点来得到表格。在此过程中,可能涉及到“假表格”的识别和过滤。在HTML中,〈TABLE〉标签经常用来呈现视觉信息,例如商业站点广告、导航栏或者其他站点的链接等等,不是为了显示关系型数据,而是例如为了让页面美观、易读。另外,为了便于后续处理,可以进行数据规范化处理,例如对图像节点进行处理,将其转换为文本等。后面,将参考图5对从网页中检测表格的示例性方法进行详细描述。在例如非结构化文档是pdf文档的情况下,在PDF文档的格式说明书中,并没有表格的概念和相应的部件,表格是由线段和例如文字组成。可以解析并建立PDF文档对应的树状结构,进而解析可移植电子文档的内容以获取和表格相关的命令、线条提取单元,用于通过处理这些命令来提取线条和线条位置,用于分析线条的位置关系来提取表格和表格中的内容。另外,前文介绍的文献3中的检测表格的方法以及任何可以获得非结构化文档中的表格的方法均可以用于本发明。在步骤S2200中,确定指示表格中的对象标识符部分、属性名部分和属性值部分的表格布局。对于二维关系型表格,一般地,一个完整的表格由三块区域组成:对象标识符部分,属性名部分和属性值部分。这是对真实世界中事物间关系组织的一种模拟,在真实世界中,一个对象也有一个通常意义上的独特的标识符(名字),我们将之称为对象标识符;属性名表示这个对象的一些特征和属性,也就是说,它们是这个表的构架;剩下的部分,值,是每个属性的具体值内容。在一个二维关系型表格中,有多行或者多列,而且对象标识符行(或列)和属性名列(或行)之间的关系是正交的。我们将这种是对象标识符或属性名的行(或列)称为标识符行(或列)。图3示出了一个示例性表格中的对象标识符部分、属性名部分和属性值部分的表格布局或者说表格结构。在该表格中,最左列是属性名区域,第二行是对象标识符区域,这两者之间的右下区域是属性值区域。而且,在图3所示的表格例子中,除了作为属性名区域的列外的其它每列构成一条记录或所谓的数据元组。在本文中,将这种每列构成一条记录或所谓的数据元组的表格称为列方向表格或者纵向表格,而将每行构成一条记录或所谓的数据元组的表格称为行方向表格或者横向表格。在现有技术中,一般默认为表格是横向表格。但是,实际上,如图3所不,表格可以是列向表格。也就是说,对象标识符区域可以为行,也可以为列。当然,对应地,也就是说,属性名区域可以为列,也可以为行。下文中,将一个表格中对象标识符部分,属性名部分和属性值部分的定位称为表格布局。而对象标识符部分,属性名部分和属性值部分的定位的各种可能组合称为表格候选布局,图4不出了一个表格的各种候选布局的不例。关于确定表格布局,可以存在各种实现方法。一种实现方法是,首先,确定表格的方向,即是横向表格还是列向表格,例如这可以根据行间相似度和列间相似度来加以判断;然后,基于所确定的表格方向,确定对象标识符和属性名区域,例如,如果确定表格是横向表格,则相当于已经确定了对象标识符区域为列,属性名区域为行,因此接下来需要做的是,确定哪一列是对象标识符区域,哪一行是属性名区域,而这可能通过计算各列作为对象标识符区域的可能性分数,和各行作为属性名区域的可能性分数来进行判定。替代地,另一种实现方法是,首先从各行中确定可能的标识符行作为候选标识符行,从各列中确定可能的标识符列作为候选标识符列;然后,基于候选标识符行和候选标识符列的各种组合得到候选表格布局,计算候选表格布局的似然性作为可能性分数,基于各个候选表格布局的可能性分数确定表格布局并确定表格方向,从而确定标识符行和标识符列哪个为对象标识符部分,哪个为属性名部分。下面将参考图13描述确定表格布局的示例性方法。替代地,再一种实现方法是,直接计算各行是对象标识符区域的可能性分数以及是属性名区域的可能性分数,选择最高可能性分数,根据该最高可能性分数是对象标识符区域的可能性分数还是属性名区域的可能性分数,确定具有该最高可能性分数最高的行是对象标识符区域还是属性名区域;进而根据对象标识符区域和属性名区域的正交性,来计算各列为属性名区域或对象标识符区域的可能性分数,基于该可能性分数来确定属性名区域或对象标识符区域。在确定了对象标识符部分、属性名部分之后,表格中的其余部分就是属性值部分。
〈2从网页提取表格的示例性方法〉下面参考图5详细描述在Web环境下实现图2中步骤S2100的示例性表格获取方法。在非结构化文档是网页的情况下,可以通过解析网页并选择被用来显示表格数据的DOM节点来得到表格。具体地,在步骤S2110中,解析网页,构造DOM树。D0M,即文档对象模型(Document Object Model),是一个来自W3C的成熟标准。DOM是一种在浏览器内编程的模型,同时也是XML的主要接口,DOM与语言和平台无关,它是基于树的API,它把所有的数据以父子的节点层次结构装入内存构成一棵树,这些节点的类型可以是元素、文本、属性、注释或其它。它允许开发者读取、创建、删除和编辑XML数据。DOM的一切都是节点,实质上是一些节点的集合。DOM树结构和二叉树很相似,元素的子节点集合就是该元素的分支,但是属性节点不是元素的子节点,它只是描述该元素节点的一些性质而已,属于元素节点结构内部的一部分。这里,例如可以利用HTML解析器解析网页,并生成DOM树。不过,还可以借助于第三方工具,比如CyberNeko HTML解析器来生成DOM树。本领域技术人员熟知DOM树的构造过程,这里不再赘述。另一个方案是基于网页生成含计算后式样信息的DOM树。计算后式样,是指原始网页不能简单的依赖HTML就完成所有的解析工作,还可以结合css、javascrpt等其它信息,计算并渲染后得到更精确的网页。首先,从互联网上下载网页,网页包含:HTML文件,附带的CSS文件,Javascript文件,图像文件等等。给定这些网页文件,网络浏览器构造DOM树。工业界有一些主流的网络浏览器,比如Mozilla Firefox, Windows InternetExplorer, Google Chrome或者Apple Safari。网络浏览器引擎通过分析语法结构来解析HTML代码,构造含计算后式样信息的DOM树,执行一些动态内容(比如Javascript代码),然后在浏览器窗口里渲染网页。然后用户可以在计算机屏幕上浏览网页。同样地,所构造的DOM树和计算后的式样信息可以通过程序接口被其他程序得到。例如Mozilla提供的XULRunner 是一个接 口。在构造完DOM树后,在步骤S2120中,获取具有〈TABLE〉标签的DOM节点,得到HTML表格。具体地,选择所有HTML标签名为〈TABLE〉的DOM节点。对于每个选择的DOM节点,解析以此DOM节点为根的DOM子树,并且构造HTML表格。首先,我们可以根据HTML语法(如,HTML标签“tr”与“td”之间的关系)抽取数行记录,它们属于一表格,将该表格称为HTML表格,如图6(b)所示。在步骤S2130中,将HTML表格转换为单元格矩阵,由此得到表格。具体地,可以根据HTML语法中“span”属性,展开表格单元格,从而HTML表格被转换成一个矩阵,每个矩阵的兀素代表一个表格单兀格。图6示出了从DOM树获得表格的过程的示意图。其中,图6(a)表示一颗DOM树,其根节点的标签名为〈TABLE〉。图6(b)示意性示出了从图6(a)的DOM树抽取记录后得到的HTML表格,图6 (c)示意性地示出了单元格矩阵;图6(d)示意性地示出了将各个单元格填充值后的表格。对如此获取的表格,还可以根据需要进行一些后续处理,例如去噪,去除冗余行等,数据类型转换等。还可以进行表格数据规范化和表格数据过滤等。下面将参考图7-10对表格数据规范化进行详细描述,以及参考图11-12对表格数据过滤进行详细描述。<3表格数据规范化>如此获取的表格可能含有各种格式的信息,为此,可选地,为了便于后续的诸如行、列或表格的信息量分数的计算、行内相似度、行间相似度等的计算,可以对表格数据进行规范化。图7示出了表格数据规范化的过程的例子。利用该示例性方法,可以将所有单元格中的内容规范化为文本。对于原始表格中的每个表格单元格,计算一段文本。这段文本可能是空的。在本文中,图像表格单元格的意思是无文本节点但有一个图像节点的表格单元格。基于图像节点的特征,每个图像表格单元格会被转化成一段文本。如图7所示,在步骤S3100中,从表格中选择一个表格单元格,用于后续规范化处理。在步骤S3200中,规范化含文本节点的表格单元格的文本。例如,在web文档的情况下,可以如下规范化含文本节点的一个表格单元格的文本:a)得到该表格单元格所代表的DOM节点下的所有文本节点;b)连接这些文本,此步骤即合并在一个单元中的数段文本,一个单元可以根据特定的HTML标签(如“span”,“br”等)来判断,合并的顺序可以是按文本的自然顺序。c)如果此文本太长,截断此文本。这是因为目标表格单元的文本值,一般不会太长,通过截断太长的文本,使之更规范一些,可以通过文本长度和预定长度阈值的比较来判断文本是否过长。预定长度阈值可以根据经验值设置或者通过学习算法学习得到。此外,可以记录原始长度以供后续计算信息含量之用。图8示出了规范化含文本节点的表格单元格的例子。可见,该单元格在浏览器上渲染后呈现为文本“35mm Full-frame/Nikon FX”,其对应的html源代码为
权利要求
1.一种从非结构化文档中抽取关系型表格的方法,包括: 检测非结构化文档中的表格,以获得表格;以及 确定指示表格中的对象标识符部分、属性名部分和属性值部分的表格布局。
2.根据权利要求1的抽取关系型表格的方法,其中所述非结构化文档是网页,以及通过解析网页并选择被用来显示表格数据的DOM节点来得到表格。
3.根据权利要求1或2的抽取关系型表格的方法,还包括: 在确定表格布局之前,规范化所检测的表格的内容。
4.根据权利要求3的抽取关系型表格的方法,其中规范化所检测的表格的内容包括: 对于表格的每个表格单元格计算一段文本,此文本可以为空。
5.根据权利要求4的抽取关系型表格的方法,所述对于表格的每个表格单兀格计算一段文本包括: 对于每个无文本节点但含图像节点的单元格,基于图像节点的特征确定一段文本。
6.根据权利要求1或2的抽取关系型表格的方法,还包括: 在确定表格布局之前,过滤表格中的内容,以去除信息含量低的数据。
7.根据权利要求6的抽取关系型表格的方法,所述过滤表格中的内容包括以下操作中的至少一种: 计算表示行的信息含量的行信息量分数,并去除行信息量分数低的行; 计算表示列的信息含量的列信息量分数,并去除列信息量分数低的列; 计算表示整个表格的信息含量的表格信息量分数,并且如果整个表格的信息量分数低于预定阈值,则丢弃该表格。
8.根据权利要求1或2的抽取关系型表格的方法,所述确定表格布局包括: 确定表征表格中候选对象标识符部分、候选属性名部分和候选属性值部分的布局的各种候选表格布局; 计算各种候选表格布局的一致性分数; 基于所计算的各种候选表格布局的一致性分数,确定表格布局,从而确定了表格中的对象标识符部分、属性名部分和属性值部分。
9.根据权利要求8的抽取关系型表格的方法,至少基于下列要素中的一个或几个计算各种候选表格布局的一致性分数: 1)对象标识符是否唯一; 2)属性名是否唯一; 3)各行之间的相似度分数和各列之间的相似度分数; 4)每行的各个单元格间数据的类型一致性,以及每列的各个单元格间数据的类型一致性。
10.一种从非结构化文档抽取关系型表格的装置,包括: 表格检测部分,检测非结构化文档中的表格,以获得表格;以及 表格布局确定部分,确定指明表格中的对象标识符部分、属性名部分和属性值部分的表格布局。
全文摘要
提供了一种从非结构化文档抽取关系型表格的方法和装置。该方法包括检测非结构化文档中的表格,以获得表格;以及确定指示表格中的对象标识符部分、属性名部分和属性值部分的表格布局。根据本发明实施例的抽取关系型表格的方法和装置,并不预先假定每个数据元组是表格中的行,而是可以自动确定表格中的对象标识符部分、属性名部分和属性值部分的表格布局。
文档编号G06F17/30GK103198069SQ201210003480
公开日2013年7月10日 申请日期2012年1月6日 优先权日2012年1月6日
发明者孙军, 谢宣松, 姜珊珊, 郑继川 申请人:株式会社理光