CN113806665A - 基于非模式化Web数据模型的网页分块方法 - Google Patents
基于非模式化Web数据模型的网页分块方法 Download PDFInfo
- Publication number
- CN113806665A CN113806665A CN202111124602.4A CN202111124602A CN113806665A CN 113806665 A CN113806665 A CN 113806665A CN 202111124602 A CN202111124602 A CN 202111124602A CN 113806665 A CN113806665 A CN 113806665A
- Authority
- CN
- China
- Prior art keywords
- tree
- node
- nim
- data
- webpage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000903 blocking effect Effects 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims description 212
- 238000013499 data model Methods 0.000 title claims description 26
- 230000000007 visual effect Effects 0.000 claims abstract description 43
- 238000004458 analytical method Methods 0.000 claims abstract description 30
- 230000000694 effects Effects 0.000 claims abstract description 22
- 230000011218 segmentation Effects 0.000 claims abstract description 16
- 238000006243 chemical reaction Methods 0.000 claims abstract description 13
- 238000013523 data management Methods 0.000 claims abstract description 9
- 238000000605 extraction Methods 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 18
- 238000002372 labelling Methods 0.000 claims description 16
- 238000000638 solvent extraction Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 238000013075 data extraction Methods 0.000 claims description 8
- 210000001072 colon Anatomy 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 235000019580 granularity Nutrition 0.000 claims description 5
- 238000003058 natural language processing Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 239000003086 colorant Substances 0.000 claims description 3
- 238000007418 data mining Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 238000004445 quantitative analysis Methods 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 abstract description 20
- 238000007726 management method Methods 0.000 abstract description 6
- 238000000926 separation method Methods 0.000 abstract description 4
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 13
- 238000005192 partition Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9558—Details of hyperlinks; Management of linked annotations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
针对海量Web数据管理问题,本申请提出一种无模式的Web数据管理模型NIM,成功实现了Web数据到NIM对象结构的自动转换,将Web页面分割成多个语义块,分析各语义块的内部结构,确定语义块在NIM中所属的属性类型。针对Web页面分块,设计两种网页分块算法,针对索引型页面,设计一种基于树定量匹配的网页分块算法;针对主题型页面,提出一种新的基于PoP树的网页分块算法,将Web页面作为由视觉块和分隔条组成,通过两次分割完成Web页面分块。其次,分析各语义块的内部结构,确定各语义块在NIM中所属的属性类型,实现Web数据到NIM对象结构的自动转换。实验表明,两种网页分块算法和语义块内部结构解析算法都具有较好的效果,实现了高效网页分块。
Description
技术领域
本申请涉及一种Web数据网页分块方法,特别涉及一种基于非模式化Web数据模型的网页分块方法,属于网页分块方法技术领域。
背景技术
Web在给人们提供信息资源的同时,也使人们面临了一个新的问题,即如何从海量的Web信息中获取对用户有用的信息。为了解决这个问题,现有技术构建了以Web搜索引擎为主的检索服务,但对于用户给定的查询,这些搜索引擎服务返回的结果往往并不能够满足用户的需求,这个问题的产生主要是因为目前大部分的Web页面采用了半结构化的HTML语言编写,从而使得Web数据的语义信息表达不够清晰。因此,如何将Web上大量的半结构化数据转换成结构化数据成为信息检索领域的重要问题,即Web信息抽取。Web信息抽取的主要任务是把Web页面上的半结构化数据提取出来,以更为结构化、语义化的方式表示,从而为Web应用提供有效的数据支持。
完成Web数据的抽取工作后,对这些Web数据建立相应的模式,以一种结构化的形式存储在数据库中。然而,利用Web信息抽取技术和数据库管理Web数据,存在以下的不足:第一,由于Web数据的复杂性、异构性和动态性,使得Web信息抽取面临巨大的困难,与现有的文本文档相比,Web页面的内容具有多主题性,会包含多种主题信息,实际应用中的Web信息抽取只针对某一类应用的抽取,即与某个主题有关的信息抽取,与主题无关的信息都被视为噪声,然而不同的应用会对应不同的主题,因此在某些应用中被视为噪声的信息,可能正是其它应用需要的主题信息;第二,由于Web页面具有复杂的语义层次结构,利用现有的数据库模型管理Web数据时,很难对这些数据建立一个完整的模式,同时数据之间的语义信息也不能够完整表示。
现有技术基于DOM树的网页分块方法利用网页的DOM树结构以及DOM树结点的标签信息,一方面只考虑了<table>的背景颜色,没有考虑到<table>的空间属性,比如table的大小和坐标位置,另一方面只将DOM树中底层的<table>进行分块,而没有将视觉相近的块进行合并,因此在含有大量<table>标签的页面上会产生大量的语义块,分块的准确度不高,DOM树的引入只是为了在浏览器中显示Web页面的布局结构,并不是用来描述Web页面的语义结构,因此基于DOM树结构的网页分块方法并不能取得较好的分块效果。
现有技术基于位置关系的网页分块方法利用了页面的布局结构,根据页面各分块的相关信息以及分块与分块之间的逻辑距离和物理距离等信息对分块进行合并,最后生成一个分块树。基于位置关系的网页分块方法能保证一定的分割粒度,但其分块效果依赖网页所用的标签是否规范,因此该方法只适合于内容简单,结构标准的网页,不能用于复杂页面的分块,具有一定的局限性,同时算法的执行过程比较复杂,效率不高。
现有技术基于图论的网页分块方法将网页的结构映射成一种图结构,将网页分块问题转换成图的分割问题。基于图论的网页分块方法具有较好的适用性,能够应用于所有Web页面的分块,但由于表示网页结构的图比较大,导致图分割的效率比较低,因此该方法不具备实用性。
现有技术基于视觉特征的网页分块方法结合网页的视觉特征,通过制定一些启发式规则将网页划分成多个语义块。VIPS算法主要有三个步骤:第一,基于DOM树结构,提取页面内的视觉块;第二,检测视觉块之间的分隔条,并设置分隔条的权重;第三,根据分隔条的权重,对视觉块进行重构。基于视觉特征的网页分块方法,既能保证一定的分割粒度,又能使分块结果具有较好的语义性和层次性。
现有技术的没有可靠的大规模网页分块方法,本申请的难点和待解决的问题主要集中在以下方面:
第一,现有技术的Web页面采用了半结构化的HTML语言编写,从而使得Web数据的语义信息表达不够清晰,无法将Web上大量的半结构化数据转换成结构化数据,缺少对Web应用提供有效的数据支持。同时,利用Web信息抽取技术和数据库管理Web数据,存在以下的不足:第一,由于Web数据的复杂性、异构性和动态性,使得Web信息抽取面临巨大的困难,Web页面的内容具有多主题性,会包含多种主题信息,实际应用中的Web信息抽取只针对某一类应用的抽取,与主题无关的信息都被视为噪声,然而不同的应用会对应不同的主题,因此在某些应用中被视为噪声的信息,可能正是其它应用需要的主题信息;第二,由于Web页面具有复杂的语义层次结构,利用现有的数据库模型管理Web数据时,很难对这些数据建立一个完整的模式,同时数据之间的语义信息也不能够完整表示;
第二,现有技术基于DOM树的网页分块没有考虑到<table>的空间属性,只将DOM树中底层的<table>进行分块,而没有将视觉相近的块进行合并,因此在含有大量<table>标签的页面上会产生大量的语义块,分块的准确度不高,DOM树的引入只是为了在浏览器中显示Web页面的布局结构,并不是用来描述Web页面的语义结构,因此基于DOM树结构的网页分块方法并不能取得较好的分块效果;现有技术基于位置关系的网页分块依赖网页所用的标签是否规范,因此该方法只适合于内容简单,结构标准的网页,不能用于复杂页面的分块,具有一定的局限性,同时算法的执行过程比较复杂,效率不高。现有技术基于图论的网页分块由于表示网页结构的图比较大,导致图分割的效率比较低,因此该方法不具备实用性。
第三,现有技术利用和管理海量Web数据一般采用数据库模型,但Web数据是一种半结构化的数据,而现有技术的数据库模型中存储的数据必须是结构化的数据,因此利用数据库模型对Web数据进行存储与管理时,需要对Web数据建立相应的模式,由于Web页面结构的多样性,现有技术很难对所有的Web数据建立统一的模式。基于这些问题,亟需一种非模式化Web数据模型;
第四,现有技术的网页分块数据库模型需要建立与Web数据对应的模式结构,而且无法完整的表示数据之间的关系,灵活性更强很差,另外,现有技术的Web信息抽取技术,只是关心Web上与某一类主题有关或与某个领域有关的数据,无法将Web上所有的数据进行统一管理,无法通过查询处理过滤一些噪声信息,很难挖掘出有意义的数据,一方面,在抽取的内容上,局限在预定义或某一特定领域的信息上,另一方面,在抽取技术上,Web页面内容的自然语言处理和语义分析处理的难度较大,缺乏实际利用价值。
发明内容
针对以上问题,本申请提出一种无模式的Web数据管理模型NIM,一方面,与现有技术数据库模型相比,利用NIM对Web数据进行管理时,不需要建立与Web数据对应的模式结构,而且能够完整地表示数据之间的关系,因此NIM的灵活性更强;另一方面,与现有的Web信息抽取技术相比,NIM并不只是关心Web上与某一类主题有关或与某个领域有关的数据,而是将Web上所有的数据进行统一管理,通过查询处理,过滤一些噪声信息,挖掘出有意义的数据,因此NIM的应用范围更广。利用NIM对Web数据进行管理时,将每个Web页面视为一个对象,页面上的各语义块构成对象的属性值,采用NIM所提出的思想对Web信息进行抽取,一方面,在抽取的内容上,不局限在预定义或某一特定领域的信息上,另一方面,在抽取技术上,Web页面内容的自然语言处理和语义分析处理的难度降低,因此,本申请实现了Web数据到NIM对象结构的自动转换,设计了一种有效的网页分块算法,将Web页面分割成相应的符合NIM模型需要的语义块,同时对语义块的内部结构进行分析,确定各语义块在NIM中所属的属性类型。
为实现以上技术特征,本申请所采用的技术方案如下:
基于非模式化Web数据模型的网页分块方法,提出一种无模式的Web数据管理模型NIM,NIM中每个Web页面被视为一个对象,页面上的数据构成对象的属性值,NIM采用一种树结构表示对象的内部结构,对象和对象之间通过Web超链接关联在一起,形成一种图结构;
本申请实现Web数据到NIM对象结构的自动转换,利用NIM对Web数据进行表示时,首先将Web页面分割成多个语义块,其次分析各语义块的内部结构,确定语义块在NIM中所属的属性类型,包括两个方面:基于NIM的网页分块以及语义块内部结构解析;首先,针对Web页面分块,设计两种网页分块算法,针对索引型页面,设计一种基于树定量匹配的网页分块算法,采用树的编辑距离来衡量DOM树中子树之间的相近度,挖掘出网页中的数据区域,完成网页分块;针对主题型页面,提出一种基于PoP树的网页分块算法,将Web页面作为由视觉块和分隔条组成,采用一种新的结构PoP树表示页面,结合网页的DOM树结构和布局结构,通过两次分割完成Web页面分块;完成网页分块后,分析各语义块的内部结构,确定各语义块在NIM中所属的属性类型,实现Web数据到NIM对象结构的自动转换;
索引型页面分块利用索引型页面DOM树结构的特征,即DOM树结构中存在大量结构相近的子树,并利用树的编辑距离来度量子树之间的相近度,最后基于树的编辑距离,挖掘出网页中的数据区域,从而将页面划分成多个语义块,具体包括:索引型页面结构解析、网页标签树架构、树定量匹配法、网页分块RNQC方法;
主题型页面分块采用基于PoP树的网页分块方法PRQC,将网页分块划分为两个阶段:第一阶段,基于DOM树架构的分析,结合HTML标签特征,将网页划分为几个大的分块;第二阶段,利用网页的几何布局架构,结合各分块的视觉信息、位置信息,基于递归的XY-Cut方法对各分块进行二次分割,具体包括:PoP树模型、一级分块、二级分块、PRQC驱动网页分块。
基于非模式化Web数据模型的网页分块方法,进一步的,非模式化Web数据模型NIM:设计四种扩展性强的数据类型,分别为:文本类、对象引用类、属性-值对类、列表类,NIM将每个Web页面作为一个对象,页面中的数据构成对象的属性值,Web页面存在大量的其它Web页面的链接,每个链接指向另一个页面及对象,即对象与对象之间的关系;
NIM数据既设置有层次的树形结构,对象与对象之间又形成关联的网络结构,每个NIM对象都为一个层次树结构,包含四种类型结点,对应四种属性值类型,即文本申请结点、对象引用结点、属性-值对结点以及列表结点;基于NIM对象中与其它对象的关联关系,抽象出对象与对象之间的边,形成一个对象关联的图结构,NIM的查询有遍历对象内部的树查询,也有搜索对象与对象间关联的图查询,同时也有树查询与图查询融合的混合查询;
一方面将数据密集型Web页面中所有的信息都抽取下来,利用NIM进行表示和整合,在数据抽取的过程中,减少自然语言处理和语义分析处理,对于一个信息抽取系统来说,其中的Web数据抽取过程的任务难度得以降低;另一方面,对这些以NIM表示和整合的数据,采用相应的无模式的查询语言,在查询的过程中对数据进行筛选,能够获取用户的目标结果。
基于非模式化Web数据模型的网页分块方法,进一步的,基于NIM的Web数据表达:在对Web数据进行表示时,NIM采用“[类名]对象名<对象的URI>{属性值}”的结构表示每个Web页面,其中对象属性值包含四种类型具体定义及表示形式为:
第一类,文本类:表示纯文本,直接利用文本内容进行表示;
第二类,对象引用类:表示超文本,采用<a,b>的表示形式,其中a为超文本的文本信息,b为超文本的超链接;
第三类,属性-值对类:表示带有标题的语义块,采用c:d的表示形式,其中c为属性名,d为属性值,属性名表示语义块内的标题,属性值表示标题下的内容,表示成文本类、对象引用类、列表类或递归的表示成属性-值对类;
第四类,列表类:表示含有多个属性的语义块,采用{属性1,属性2,...,属性n}的表示形式;
一个Web页面按照多个不同粒度的分块,直接转化成NIM对象,在对象所属类已知的情况下,为每个NIM对象划分所属类;通过Web页面间的超链接,Web页面间的跳转被表示成NIM对象间的关系,其中通过URI唯一标识每一个NIM对象。
基于非模式化Web数据模型的网页分块方法,进一步的,基于NIM的Web数据查询:NIM的查询语言包括查询部分和结果架构部分两部分,查询部分通过变量保存查询的信息,结果架构部分指定相应的变量输出结果;查询语句的形式为:queryB1,...,EnconstructS,其中B1,...,Bn表示查询表达式部分,S表示结果架构部分,NIM的查询包含树查询、图查询及树查询与图查询的混合形式,树查询基于NIM的树结构,在对象内部进行的查询,图查询基于NIM的图结构,在对象与对象之间进行的查询;
1)对象内部的树查询:NIM对象的属性-值对类型属性在树结构中被拆分成多个结点,其中属性名构成属性结点,属性值构成属性结点的子结点,树的根结点是一个列表结点,其子结点包含属性结点、列表结点和文本申请结点,列表结点的值为空,属性结点的值为属性-值对类型属性的属性名,它的子结点是属性-值对类型属性的属性值形成的结点;文本申请结点的值为文本类型属性的值,并且不含任何子结点;文本申请点为叶子结点;对于对象引用结点,它的值为对象引用类型属性的值,也不含任何子结点,在树结构中以叶子结点的形式存在;
2)对象之间的图查询:NIM的图是有向图,图中的每个结点表示一个对象,边上的信息表示对象之间的关系,基于对象的内部结构,NIM将一个对象到另一个对象的路径抽象成这两个对象之间的边,对象之间的边表示对象与对象之间的语义关系,在边的构建过程中不考虑列表结点,如果两个对象的边不含有任何语义信息,则将这条边标注为“null”,当把所有Web页面数据按照NIM的对象结构存储管理时,形成一个信息量丰富的图模型,对象与对象之间的语义关系能够很好的在这个图模型中体现,最后将这个图模型应用于语义搜索或数据挖掘;
3)树查询与图查询的融合形式:在树查询表达式和图查询表达式中,NIM采用相近的层次结构,树查询表达式和图查询表达式并不完全分离,通过对象引用结点,将二者融合在一起,从一个对象内部进行查询时,可能会查找到一个对象引用结点,通过这个对象引用结点,可以查找到它指向的对象,从而完成一个对象到另一个对象的查询,即图查询,在树查询表达式和图查询表达式中,对于一个对象,综合使用这两种形式进行查询。
基于非模式化Web数据模型的网页分块方法,进一步的,索引型页面结构解析:索引型页面存在的大量相近结构的信息为数据记录,语义相关的数据记录组织在一起形成数据区域,结合索引型页面的DOM树结构,数据区域具有三个特征:
(1)结构相近的数据记录固定在页面内的同一个区域,并且采用相近的结构进行组织,形成数据区域;
(2)数据区域内部的数据记录具有连续性;
(3)将网页的HTML文档转换成DOM树结构时,网页面内的数据区域由具有相同父结点的多棵相邻子树组成,并且这些子树具有相近的HTML标签结构;
本申请采用树定量匹配网页分块方法,挖掘数据区域,完成对索引型网页的分块。
基于非模式化Web数据模型的网页分块方法,进一步的,树定量匹配法:为挖掘出页面中的数据区域,对同一父结点下的不同子树的相近度进行计算,树的编辑距离是一种度量两棵树之间异构程度的定量法,采用编辑距离计算字符串之间相近度的方法,并对其定义如下:
定义一:给定两个字符串C和R,编辑距离Dis(C,R)定义为使C和R成为相同字符串需要的最少编辑操作次数,其中第一种操作是把某个字符zw1变为zw2,第二种操作是插入某个字符,第三种操作是删除某个字符;
树的编辑距离定义:树R1到树R2的编辑距离Dis(R1,R2)定义为利用编辑操作将树R1转化为树R2所需的最小代价,编辑操作包括:一是结点删除操作delete(v),即从一棵子树中删除一个结点v;二是结点插入操作insert(x,v),即插入一个结点v到一棵子树x中;三是结点替换操作replace(v,u),即将一棵子树上的结点v替换成结点u,同时对每种编辑操作,赋予相应的代价,分别记作del_cost,ins_cost,rep_cost,树的编辑距离等价为寻找树R1和树R2之间的最小编辑代价的映射关系,定义五和定义六分别给出这种映射关系的具体内容以及树编辑距离的具体计算式;
定义二:假定R是一棵树,R[i]表示树先序遍历过程中的第i个结点,则树R1和树R2之间的映射集合N(i,j)对任意的(i1,j1),(i2,j2)∈N满足以下条件:
1)i1=i2当且仅当j1=j2;
2)R1[i1]是R1[i2]的左结点当且仅当R2[j1]是R2[j2]的左结点;
3)R1[i1]是R1[i2]的祖先结点当且仅当R2[j1]是R2[j2]的祖先结点;
条件1)确保在映射集合中每个结点最多只出现一次,条件2)确保在映射集合中兄弟结点之间的顺序关系,条件3)确保在映射集合中结点之间的层次关系;
定义三:设树R1和R2之间的映射集合为N(i,j),其中i,j分别代表R树1和树R2的标签,令T表示i和j不相同的数据对数量,对应所需替换操作的次数,A表示T1中没出现在N中的结点,对应所需删除操作的标次数,J表示T2中没出现在N中的结点,对应所需插入操作的次数,树的编辑距离Aic(T1,T2)的计算公式如下:
Aic(T1,T2)=|T|×tep_cost+|A|×del_cost+|J|×ins_cost
其中,tep_cost、del_cost、ins_cost均赋值为1。
基于非模式化Web数据模型的网页分块方法,进一步的,网页分块RNQC方法:通过基于树编辑距离计算的树定量匹配方法,判断DOM树中任意一个父结点下面是否存在结构相近的子树,若存在,将该父结点及其子树在网页中所占的区域当作一个数据区域,采用自顶向下的方式从DOM树的根结点开始,递归寻找数据区域,最终将页面划分成多个数据区域,该过程首先调用DetectRegion(qNode,r),将结点qNode下面的数据区域添加到DataRegion中,然后对qNode的子结点中不被DataRegion包含的子结点child递归调用RNQC(child,t),并将child下面的数据区域添加到DataRegion中,该方法的时间复杂度为O(M),M表示以qNode结点为根的树的结点个数;
假设qNode结点有m棵子树,用S(qNode)=<R1,R2,...,Rm>表示,其中Ri表示以qNode的第i个结点组成的子树,函数DetectRegion(qNode,t)通过不断改变qNode的子树的结点组合,计算出不同结点组合的相近度,找到一个最优的相近子树定量匹配结果T(qNode)={<Ri,...,Rj>,...,<Rk,...,Rm>},其中<Ri,...,Rj>表示由qNode的第i个子树到第j个子树组成的一个数据区域,当从T的第一个子结点E1开始计算时,结点组合的形式如下:
第一种:(E1,E2),(E2,E3),(E3,E4),(E4,E5),(E5,E6),(E6,E7),(E7,E8);
第二种:(E1-E2,E3-E4),(E3-E4,E5-E6),(E5-E6,E7-E8);
第三种:(E1-E3,E4-E6);
其中Ei表示以Ei为父结点的子树,计算每种组合的重复单元数,返回重复单元数最多的组合情况所形成的数据区域,调用DetectRegion(qNode,t)计算结果为:T(qNode)={<R1,R2,R3>,<R5,R6,R7>},表示T的子结点中存在两个数据区域,分别由R1、R2、R3和R4、R5、R6构成。
基于非模式化Web数据模型的网页分块方法,进一步的,一级分块:一级分块利用HTML元素的标签信息,基于W3CHTML4.0规范,将DOM树结点分为两类:
A类,内联结点:如果结点的标签只影响文字的显示效果而不引起换行,则这类结点为内联结点;
B类,换行结点:具有换行性质的结点;
在对DOM树结点进行类型标注时,对于叶子结点,根据结点的标签信息按照内联结点和换行结点的定义进行标注,而对其它父结点,综合父结点的标签信息及子结点的类型对父结点进行标注,采用后序遍历的方式对DOM树的结点进行标注;
标注完DOM树的结点后,对于连续的内联结点,结点之间无间隙,将这些内联结点合并为一个区域,而对于换行结点,通过对DOM树进行深度遍历,找到下一个换行结点,将这两个结点之间的所有结点合并为一个区域。
基于非模式化Web数据模型的网页分块方法,进一步的,二级分块:一级分块阶段结束后,网页被划分成多个大的分块,每个分块表示成一个矩形RcT={(x1,y1),(x2,y2)},其中(x1,y1)表示矩形的左上结点的坐标,(x2,y2)表示矩形的右下结点坐标,每个RcT含有多个子RcT,对各分块采用递归的XY-Cut算法进行二次划分,将每个区域分割成多个子区域,并对这些子区域进行递归处理,直到没有叶子结点可以被继续分割;
传入一级分块得到的各分块RcT,对于每个分块,检测整个分块内的水平分隔条和垂直分割条,若存在水平分隔条,则对该分块进行水平分割,并形成一些小的分块SmRcTSet;如果不存在水平分隔条,只存在垂直分隔条,则对该分块进行水平分割,并形成一些小的分块集合SmRcTSet;若水平和垂直分隔条都不存在,则该块将不被分割,对于形成的每个小分块smallRcT,递归调用XY-Cut方法,最终完成二级分块,在分隔条检测过程中,需要结合分隔条的高度或宽度及分隔条两边区域的视觉信息设置分隔条的权重,同时设定一个临界值,只有权重大于临界值的分隔条才被视为真正的分隔条,分隔条权重的设置具体内容为:
(1)对于水平分隔条,分隔条的高度越大,该分隔条的权重就越大;
(2)对于垂直分隔条而言,分隔条的宽度越大,该分隔条的权重就越大;
(3)如果分隔条两侧区域的背景颜色不相同,那么该分隔条的权重增加;、
(4)对于水平分隔条,如果分隔条上面视觉块的字体属性和下面视觉块的字体属性差异越大,该水平分隔条的权重越大,如果分隔条上面视觉块字体的font-size值小于下面视觉块字体的font-size值,那么该水平分隔条的权重增加更多;
(5)对于水平分隔条,如果分隔条上面视觉块的内容架构和下面视觉块的内容架构相近(比如内容都是纯文本信息),那么该水平分隔条的权重降低;
XY-Cut分块过程为,首先对RcT_1进行分隔条检测,提取两条水平分隔条,形成RcT_2,RcT_3,RcT_4,然后对这三个RcT进行分隔条检测,RcT_3被分割成两个RcT_5和RcT_6,对于RcT_6,由于检测出的水平分隔条两边的区域视觉信息一致,使得分隔条的权重较小,并不能成为真正意义上的分隔条,最终将RcT_1划分成四个RcT,即RcT_2,RcT_4,RcT_5,RcT_6。
基于非模式化Web数据模型的网页分块方法,进一步的,语义块架构解析:本申请分析每个语义块的内部结构,构建出语义块的逻辑架构,语义块架构解析包含两个阶段:第1阶段,利用语义块内的信息检测出块内的标题,第2阶段,语义块的内部可能存在多级层次关系,对已检测出的标题进行层次标注,构建出语义块的逻辑架构;
本申请利用语义块内字体的视觉信息、下划线和标点符号进行标题检测,其中,字体的视觉信息包括字体的大小和颜色,标点符号主要使用冒号,通过对大量语义块内部标题的观察分析,制定以下规则计算语义块内的单元权重:
规则一,如果某单元的文本信息以冒号结束,那么该单元的权重将会提高;
规则二,如果某单元对应的HTML标签为H1-H6,那么该单元的权重将会增加;
规则三,如果某单元内的字体颜色与大多数单元不同,那么该单元的权重将会增加;
规则四,如果某单元内的字体被加粗,那么该单元的权重将会增加;
规则五,如果该单元内的字体大小与大多数单元不同,那么该单元的权重将会增加;
对于语义块内的每个单元,首先根据制定的规则计算该单元的权重,然后求出该语义块内所有单元的平均权重,最后将每个单元的权重与平均权重进行比较,如果权重大于平均权重,那么该单元被认为是标题;
由于语义块的内部可能存在多级标题的情况,因此标题检测完成后,对检测出的标题进行层次标注,最后构建语义块的逻辑架构;
假定语义块内出现的视觉顺序的第一个标题,其层次最高,设置为1,按顺序依次比较相邻的两个标题,当前的标题记为CTitle,其前面的标题记为PTitle:如果CTitle的权重等于PTitle的权重,那么将CTitle的层次设置为PTitle的层次;如果CTitle的权重大于PTitle的权重,那么将CTitle的层次设置为PTitle的层次加1;如果CTitle的权重小于PTitle的权重,那么将CTitle的层次设置为PTitle的层次减1;
完成标题的层次标注后,利用这些标题将语义块的视觉架构图转换成逻辑架构图,最终通过逻辑架构图很容易确定语义块在NIM中所属的属性类型。
与现有技术相比,本申请的创新点和优势在于:
第一,针对海量的Web数据管理问题,本申请提出一种无模式的Web数据管理模型NIM,在NIM中,每个Web页面被视为一个对象,页面上的数据构成对象的属性值,NIM采用一种树结构表示对象的内部结构,对象和对象之间通过Web超链接关联在一起,形成一种图结构;本申请成功实现了Web数据到NIM对象结构的自动转换,利用NIM对Web数据进行表示时,首先将Web页面分割成多个语义块,其次分析各语义块的内部结构,确定语义块在NIM中所属的属性类型。首先,针对Web页面分块,设计两种网页分块算法,针对索引型页面,设计一种基于树定量匹配的网页分块算法;针对主题型页面,提出一种基于PoP树的网页分块算法,将Web页面作为由视觉块和分隔条组成,采用一种新的结构PoP树表示页面,通过两次分割完成Web页面分块工作。其次,分析各语义块的内部结构,确定各语义块在NIM中所属的属性类型,实现Web数据到NIM对象结构的自动转换。实验结果表明,本申请设计的两种网页分块算法和语义块内部结构解析算法都具有较好的效果,实现了高效网页分块;
第二,本申请提出一种新的非模式化Web数据模型NIM,包括基于NIM的Web数据表达和基于NIM的Web数据查询,在对海量的Web数据进行管理时,不需要对数据进行建模,因此相对于用现有技术的数据库模型管理Web数据,NIM效率更高、更方便,而且能更好的表达对象与对象之间的语义关系,同时从基于NIM的Web数据表示得出,为实现Web数据的自动化管理,NIM的关键问题之一就是将每个Web页面的数据准确转换成NIM的对象结构,本申请解决了Web数据到NIM的对象结构的自动转换问题,一方面与现有技术Web信息抽取中的记录抽取不同,可以将数据密集型Web页面中所有的信息都抽取下来,利用NIM进行表示和整合,在数据抽取的过程中,减少了自然语言处理和语义分析处理,对于一个信息抽取系统来说,其中的Web数据抽取过程的任务难度得以降低;另一方面,对这些以NIM表示和整合的数据,采用相应的无模式的查询语言,在查询的过程中对数据进行筛选,能够获取用户的目标结果,具有巨大的实际意义和广泛的应用前景;
第三,索引型页面分块方法利用索引型页面DOM树结构的特征,,并利用树的编辑距离来度量子树之间的相近度,最后基于树的编辑距离,挖掘出网页中的数据区域,从而将页面划分成多个语义块,索引型页面分块方法可以较好的解决索引型页面的分块问题,但由于主题型页面不具有索引型页面的特征,因此索引型页面分块方法并不适合主题型页面的分块,本申请从页面显示布局的角度解析Web页面,从页面的布局角度出发,进一步构建了另一种表示Web页面的树结构-PoP树,并针对主题型页面,设计了一种基于PoP树的网页分块方法。基于PoP树的网页分块方法PRQC,将网页分块划分为两个阶段,PoP树相对于DOM树,能够更好的描述网页的语义架构,因此与基于DOM树架构的分块方法比较,基于PoP树的分块方法具有更好的分块效果,本申请二种网页分块方法充分互补,网页分块效率和质量得到进一步提升;
第四,本申请提出两种网页分块方法,即基于树定量匹配的网页分块方法RNQC和基于PoP树的网页分块方法PRQC,RNQC方法适用于索引型页面的分块,在分析这类页面的DOM树架构基础上,利用基于树的编辑距离方法来挖掘数据区域,从而完成网页分块,而PRQC方法适用于任何类型页面的分块,PRQC方法综合利用页面的DOM树架构和页面的几何布局特征,将Web页面的分块分为两个阶段,即基于网页的HTML标签信息的一级分块和基于递归的XY-Cut方法的二级分块,完成网页的分块工作后,提出分析每个语义块内部架构的方法,将语义块的视觉架构转换成对应的逻辑架构,确定语义块在NIM中所属的属性类型,完成Web数据到NIM对象的自动转换,实现基于非模式化Web数据模型的网页分块。
附图说明
图1是网页分块RNQC方法的数据区域示意图。
图2是本申请的RcT结构示意图。
图3是本申请的XY-Cut分块过程示意图。
图4是实验一中t值选择的实验结果图。
图5是实验二中RNQC与VIPS分块效果对比图。
图6是实验二中PRQC与VIPS分块效果对比图。
图7是实验三中标题检测结果对比图。
图8是实验三中层次标记结果对比图。
具体实施方法
下面结合附图,对本申请提供的基于非模式化Web数据模型的网页分块方法的技术方案进行进一步的描述,使本领域的技术人员能够更好的理解本申请并能够予以实施。
由于Web数据是一种半结构化的数据,并且数据的结构复杂,利用现有技术的数据库模型管理海量的Web数据时,需要对Web数据人工建立复杂的模式结构,因此大幅降低了管理效率。针对海量的Web数据管理问题,本申请提出一种无模式的Web数据管理模型NIM,在NIM中,每个Web页面被视为一个对象,页面上的数据构成对象的属性值,NIM采用一种树结构表示对象的内部结构,对象和对象之间通过Web超链接关联在一起,形成一种图结构;
本申请实现Web数据到NIM对象结构的自动转换,利用NIM对Web数据进行表示时,首先将Web页面分割成多个语义块,其次分析各语义块的内部结构,确定语义块在NIM中所属的属性类型。因此,本申请的研究内容包括两个方面:基于NIM的网页分块以及语义块内部结构解析。首先,针对Web页面分块,设计两种网页分块算法,针对索引型页面,设计一种基于树定量匹配的网页分块算法,采用树的编辑距离来衡量DOM树中子树之间的相近度,挖掘出网页中的数据区域,完成网页分块工作;针对主题型页面,提出一种基于PoP树的网页分块算法,将Web页面作为由视觉块和分隔条组成,采用一种新的结构PoP树表示页面,结合网页的DOM树结构和布局结构,通过两次分割完成Web页面分块工作。其次,完成网页分块后,分析各语义块的内部结构,确定各语义块在NIM中所属的属性类型,实现Web数据到NIM对象结构的自动转换。实验结果表明,本申请设计的两种网页分块算法和语义块内部结构解析算法都具有较好的效果。
一、非模式化Web数据模型NIM
现有技术利用和管理海量Web数据一般采用数据库模型,但Web数据是一种半结构化的数据,而现有技术的数据库模型中存储的数据必须是结构化的数据,因此利用数据库模型对Web数据进行存储与管理时,需要对Web数据建立相应的模式,由于Web页面结构的多样性,现有技术很难对所有的Web数据建立统一的模式。基于这些问题,本申请提出一种新的非模式化Web数据模型NIM。
NIM设计四种扩展性强的数据类型,分别为:文本类、对象引用类、属性-值对类、列表类,NIM将每个Web页面作为一个对象,页面中的数据构成对象的属性值,Web页面存在大量的其它Web页面的链接,每个链接指向另一个页面及对象,即对象与对象之间的关系。
NIM数据既设置有层次的树形结构,对象与对象之间又形成关联的网络结构,每个NIM对象都为一个层次树结构,包含四种类型结点,对应四种属性值类型,即文本申请结点、对象引用结点、属性-值对结点以及列表结点;基于NIM对象中与其它对象的关联关系,抽象出对象与对象之间的边,形成一个对象关联的图结构,NIM的查询有遍历对象内部的树查询,也有搜索对象与对象间关联的图查询,同时也有树查询与图查询融合的混合查询。
一方面与现有技术Web信息抽取中的记录抽取不同,可以将数据密集型Web页面中所有的信息都抽取下来,利用NIM进行表示和整合,在数据抽取的过程中,减少了自然语言处理和语义分析处理,对于一个信息抽取系统来说,其中的Web数据抽取过程的任务难度得以降低;另一方面,对这些以NIM表示和整合的数据,采用相应的无模式的查询语言,在查询的过程中对数据进行筛选,能够获取用户的目标结果。
(一)基于NIM的Web数据表达
完成Web页面的分块及确定各语义块在NIM中所属的属性类型后,直接采用NIM对其进行表达,在对Web数据进行表示时,NIM采用“[类名]对象名<对象的URI>{属性值}”的结构表示每个Web页面,其中对象属性值包含四种类型具体定义及表示形式为:
第一类,文本类:表示纯文本。直接利用文本内容进行表示;
第二类,对象引用类:表示超文本,采用<a,b>的表示形式,其中a为超文本的文本信息,b为超文本的超链接;
第三类,属性-值对类:表示带有标题的语义块,采用c:d的表示形式,其中c为属性名,d为属性值,属性名表示语义块内的标题,属性值表示标题下的内容,表示成文本类、对象引用类、列表类或递归的表示成属性-值对类;
第四类,列表类:表示含有多个属性的语义块,采用{属性1,属性2,...,属性n}的表示形式。
一个Web页面按照多个不同粒度的分块,直接转化成NIM对象,在对象所属类已知的情况下,为每个NIM对象划分所属类;通过Web页面间的超链接,Web页面间的跳转被表示成NIM对象间的关系,其中通过URI唯一标识每一个NIM对象。
(二)基于NIM的Web数据查询
NIM的查询语言包括查询部分和结果架构部分两部分,查询部分通过变量保存查询的信息,结果架构部分指定相应的变量输出结果;查询语句的形式为:queryB1,...,EnconstructS,其中B1,...,Bn表示查询表达式部分,S表示结果架构部分,NIM的查询包含树查询、图查询及树查询与图查询的混合形式,树查询基于NIM的树结构,在对象内部进行的查询,图查询基于NIM的图结构,在对象与对象之间进行的查询。
1.对象内部的树查询
NIM对象的属性-值对类型属性在树结构中被拆分成多个结点,其中属性名构成属性结点,属性值构成属性结点的子结点,树的根结点是一个列表结点,其子结点包含属性结点、列表结点和文本申请结点,列表结点的值为空,属性结点的值为属性-值对类型属性的属性名,它的子结点是属性-值对类型属性的属性值形成的结点;文本申请结点的值为文本类型属性的值,并且不含任何子结点;文本申请点为叶子结点;对于对象引用结点,它的值为对象引用类型属性的值,也不含任何子结点,在树结构中以叶子结点的形式存在。
NIM的树查询采用对象的树结构,并通过变量绑定查询返回的结果,NIM使用$符标注变量,树查询中使用单斜线“/”和双斜线“//”表示查询过程中的跳层,“/”表示在树结构中跳单层的查询,“//”表示在树结构中跳多层的查询,“/”和“//”限定只能在对象内部进行查询,而当查询结果为一个对象引用节列表结点点时,如果需要进入该对象内进行查询,使用符号“\”表示将当前的对象引用结点当作一个对象进行处理,NIM通过Web页面的URI来唯一标识一个对象,通过Web页面中的超链接来确定一个对象,探索下一个对象。
然而,一方面有一些对象被其它页面引用时,并没有相应链接,另一方面一个同名的对象可能对应多个页面。因此,在NIM查询语言中,首先通过对象名去获取所有同名的对象,并在使用“\”时,对于非对象引用类型的结点,将其作为对象名,去获取相应的对象,进行进一步的查询,另外,在查询表达式中,使用“[]”来筛选查询结果,满足特定的需求。同时,引入模糊的查询路径,使用“%”和“?”表示单个或多个字符。
2.对象之间的图查询
NIM的图是有向图,图中的每个结点表示一个对象,边上的信息表示对象之间的关系,基于对象的内部结构,NIM将一个对象到另一个对象的路径抽象成这两个对象之间的边,对象之间的边表示对象与对象之间的语义关系,在边的构建过程中不考虑列表结点,如果两个对象的边不含有任何语义信息,则将这条边标注为“null”,当把所有Web页面数据按照NIM的对象结构存储管理时,形成一个信息量丰富的图模型,对象与对象之间的语义关系能够很好的在这个图模型中体现,最后将这个图模型应用于语义搜索或数据挖掘。
3.树查询与图查询的融合形式
在树查询表达式和图查询表达式中,NIM采用相近的层次结构,树查询表达式和图查询表达式并不完全分离,通过对象引用结点,将二者融合在一起,从一个对象内部进行查询(树查询)时,可能会查找到一个对象引用结点,通过这个对象引用结点,可以查找到它指向的对象,从而完成一个对象到另一个对象的查询,即图查询,在树查询表达式和图查询表达式中,对于一个对象,综合使用这两种形式进行查询。
二、网页分块算法
万维网存在二种类型的网页:一种是以超链接文字为主的网页,这类网页不会用成段的文字进行内容描述,而是包含大量指向其它相关网页的超链接,是索引型页面;还有一类网页利用成段的文字对一个或者多个主题进行描述(如新闻网页),页面内的链接文字相对于非链接文字所占比例小,是主题型页面,索引型页面中超链接文本占绝大部分,非链接文本占的比例少,而主题型页面的情况却恰好相反。因此,可以根据二种类型页面的这种差异设计出一种简洁的识别方法,即根据整个页面中超链接文本个数与非链接文本个数的比例T来识别,并通过实验得到一个临界值t,对于任一页面,如果计算得到的R值不小于t,则判定这个页面为索引型页面,否则为主题型页面。因此本申请设计两种网页分块方法:索引型页面分块方法和主题型页面分块方法。
(一)索引型页面分块方法
1.索引型页面结构解析
索引型页面存在的大量相近结构的信息为数据记录,语义相关的数据记录组织在一起形成数据区域,结合索引型页面的DOM树结构,数据区域具有三个特征:
(1)结构相近的数据记录固定在页面内的同一个区域,并且采用相近的结构进行组织,形成数据区域;
(2)数据区域内部的数据记录具有连续性;
(3)将网页的HTML文档转换成DOM树结构时,网页面内的数据区域由具有相同父结点的多棵相邻子树组成,并且这些子树具有相近的HTML标签结构;
本申请采用树定量匹配网页分块方法,挖掘数据区域,完成对索引型网页的分块。
2.网页标签树架构
网页标签树,只保留HTML DOM树的结构特征(DOM树结点的标签信息),方便用于子树相近度的度量中。本申请基于Jsoup解析器架构DOM树,并将DOM树转换成对应的标签树,利用Jsoup工具包架构的DOM树中结点的类型为Element。
3.树定量匹配法
为挖掘出页面中的数据区域,对同一父结点下的不同子树的相近度进行计算,树的编辑距离是一种度量两棵树之间异构程度的定量法,能较好的反映两棵树的相近程度。
树的编辑距离采用编辑距离计算字符串之间相近度的方法,并对其定义如下:
定义一:给定两个字符串C和R,编辑距离Dis(C,R)定义为使C和R成为相同字符串需要的最少编辑操作次数,其中第一种操作是把某个字符zw1变为zw2,第二种操作是插入某个字符,第三种操作是删除某个字符;
树的编辑距离定义:树R1到树R2的编辑距离Dis(R1,R2)定义为利用编辑操作将树R1转化为树R2所需的最小代价,编辑操作包括:一是结点删除操作delete(v),即从一棵子树中删除一个结点v;二是结点插入操作insert(x,v),即插入一个结点v到一棵子树x中;三是结点替换操作replace(v,u),即将一棵子树上的结点v替换成结点u,同时对每种编辑操作,赋予相应的代价,分别记作del_cost,ins_cost,rep_cost,树的编辑距离等价为寻找树R1和树R2之间的最小编辑代价的映射关系,定义五和定义六分别给出这种映射关系的具体内容以及树编辑距离的具体计算式。
定义二:假定R是一棵树,R[i]表示树先序遍历过程中的第i个结点,则树R1和树R2之间的映射集合N(i,j)对任意的(i1,j1),(i2,j2)∈N满足以下条件:
1)i1=i2当且仅当j1=j2;
2)R1[i1]是R1[i2]的左结点当且仅当R2[j1]是R2[j2]的左结点;
3)R1[i1]是R1[i2]的祖先结点当且仅当R2[j1]是R2[j2]的祖先结点。
条件1)确保在映射集合中每个结点最多只出现一次,条件2)确保在映射集合中兄弟结点之间的顺序关系,条件3)确保在映射集合中结点之间的层次关系;
定义三:设树R1和R2之间的映射集合为N(i,j),其中i,j分别代表R树1和树R2的标签,令T表示i和j不相同的数据对数量,对应所需替换操作的次数,A表示T1中没出现在N中的结点,对应所需删除操作的标次数,J表示T2中没出现在N中的结点,对应所需插入操作的次数,树的编辑距离Aic(T1,T2)的计算公式如下:
Aic(T1,T2)=|T|×tep_cost+|A|×del_cost+|J|×ins_cost
其中,tep_cost、del_cost、ins_cost均赋值为1。
4.网页分块RNQC方法
通过基于树编辑距离计算的树定量匹配方法,判断DOM树中任意一个父结点下面是否存在结构相近的子树,若存在,将该父结点及其子树在网页中所占的区域当作一个数据区域,采用自顶向下的方式从DOM树的根结点开始,递归寻找数据区域,最终将页面划分成多个数据区域,该过程首先调用DetectRegion(qNode,r),将结点qNode下面的数据区域添加到DataRegion中,然后对qNode的子结点中不被DataRegion包含的子结点child递归调用RNQC(child,t),并将child下面的数据区域添加到DataRegion中。该方法的时间复杂度为O(M),M表示以qNode结点为根的树的结点个数。
假设qNode结点有m棵子树,用S(qNode)=<R1,R2,...,Rm>表示,其中Ri表示以qNode的第i个结点组成的子树,函数DetectRegion(qNode,t)通过不断改变qNode的子树的结点组合,计算出不同结点组合的相近度,找到一个最优的相近子树定量匹配结果T(qNode)={<Ri,...,Rj>,...,<Rk,...,Rm>},其中<Ri,...,Rj>表示由qNode的第i个子树到第j个子树组成的一个数据区域。如图1所示,当从T的第一个子结点E1开始计算时,结点组合的形式如下:
第一种:(E1,E2),(E2,E3),(E3,E4),(E4,E5),(E5,E6),(E6,E7),(E7,E8);
第二种:(E1-E2,E3-E4),(E3-E4,E5-E6),(E5-E6,E7-E8);
第三种:(E1-E3,E4-E6);
其中Ei表示以Ei为父结点的子树,计算每种组合的重复单元数,返回重复单元数最多的组合情况所形成的数据区域,调用DetectRegion(qNode,t)计算结果为:T(qNode)={<R1,R2,R3>,<R5,R6,R7>},表示T的子结点中存在两个数据区域,分别由R1、R2、R3和R4、R5、R6构成。
5.索引型页面分块方法总结
索引型页面分块方法利用索引型页面DOM树结构的特征,即DOM树结构中存在大量结构相近的子树,并利用树的编辑距离来度量子树之间的相近度,最后基于树的编辑距离,挖掘出网页中的数据区域,从而将页面划分成多个语义块。索引型页面分块方法可以较好的解决索引型页面的分块问题,但由于主题型页面不具有索引型页面的特征,因此索引型页面分块方法并不适合主题型页面的分块。本申请从页面显示布局的角度解析Web页面,虽然Web页面具有不同的风格,但在页面布局上,却采用了相同的规则。因此从页面的布局角度出发,本申请构建了另一种表示Web页面的树结构---PoP树,并针对主题型页面,设计了一种基于PoP树的网页分块方法。
(二)主题型页面分块方法
HTML DOM树的引入只是为了在浏览器中显示Web页面的布局结构,并不用来描述Web页面的语义结构。对于HTML DOM树中具有相同父结点的两个结点而言,它们在语义上并不一定有关联,反之,具有语义关联的两个结点,它们可能处在HTML DOM树的不同子树中。因此利用HTML DOM树结构表示HTML文档的语义信息,效果并不好。当用户浏览Web页面时,经常会利用视觉信息,特别是分隔条,将页面上没有语义关联的视觉块区分开。从视觉的角度,视觉块和分隔条构成Web页面的整体布局,基于网页的几何布局结构,构建另一种结构模型-PoP树,并设计一种基于PoP树的网页分块方法PRQC,RRPC方法分为二个阶段:
(1)阶段一:基于DOM树结构和HTML标签的分析进行一级分块;
(2)阶段二:基于页面的几何布局结构,利用递归的XY-Cvt方法进行二级分块。
1.PoP树模型
PoP树的架构定义为一个三元组T=<M,S,C>,具体含义为:
(1)M={mi}表示这个区域内部DOM树结点的集合;
(2)S={Ti}表示区域T内所有子区域的集合;
(3)C={s(si,sj)|si,sj∈S}表示这些子区域之间的分隔条集合。
PoP树模型的架构与HTML标签无关,同一种页面显示可能会对应多种DOM树架构,但只对应一种PoP树架构,对于任意的Web页面,都有与之相对应的唯一的PoP树架构,从而有利于对页面进行语义分析,对于一个Web页面,PoP树的构建是从树根区域root_Region出发,检测出区域root_Region内的分隔条集合C,在C上将root_Region划分为多个子区域,这些子区域构成root_Region的子区域集合M,再递归处理它的子区域,直到形成叶子区域,本申请在构建PoP树的过程中,第一阶段利用DOM树的架构和HTML标签进行一级分块,将网页划分成几个大的分块,第二阶段利用网页的几何布局对这些分块进行二级分块,最终形成PoP树架构。
2.一级分块
一级分块利用HTML元素的标签信息,基于W3CHTML4.0规范,将DOM树结点分为两类:
A类,内联结点:如果结点的标签只影响文字的显示效果而不引起换行,则这类结点为内联结点;
B类,换行结点:具有换行性质的结点;
在对DOM树结点进行类型标注时,对于叶子结点,根据结点的标签信息按照内联结点和换行结点的定义进行标注,而对其它父结点,综合父结点的标签信息及子结点的类型对父结点进行标注,采用后序遍历的方式对DOM树的结点进行标注。
标注完DOM树的结点后,对于连续的内联结点,结点之间无间隙,将这些内联结点合并为一个区域,而对于换行结点,通过对DOM树进行深度遍历,找到下一个换行结点,将这两个结点之间的所有结点合并为一个区域。
3.二级分块
一级分块阶段结束后,网页被划分成多个大的分块,每个分块表示成一个矩形RcT={(x1,y1),(x2,y2)},其中(x1,y1)表示矩形的左上结点的坐标,(x2,y2)表示矩形的右下结点坐标,每个RcT含有多个子RcT,如图2所示,对各分块采用递归的XY-Cut算法进行二次划分,将每个区域分割成多个子区域,并对这些子区域进行递归处理,直到没有叶子结点可以被继续分割。
传入一级分块得到的各分块RcT,对于每个分块,检测整个分块内的水平分隔条和垂直分割条,若存在水平分隔条,则对该分块进行水平分割,并形成一些小的分块SmRcTSet;如果不存在水平分隔条,只存在垂直分隔条,则对该分块进行水平分割,并形成一些小的分块集合SmRcTSet;若水平和垂直分隔条都不存在,则该块将不被分割,对于形成的每个小分块smallRcT,递归调用XY-Cut方法,最终完成二级分块,在分隔条检测过程中,需要结合分隔条的高度或宽度及分隔条两边区域的视觉信息设置分隔条的权重,同时设定一个临界值,只有权重大于临界值的分隔条才被视为真正的分隔条,分隔条权重的设置具体内容为:
(1)对于水平分隔条,分隔条的高度越大,该分隔条的权重就越大;
(2)对于垂直分隔条而言,分隔条的宽度越大,该分隔条的权重就越大;
(3)如果分隔条两侧区域的背景颜色不相同,那么该分隔条的权重增加;、
(4)对于水平分隔条,如果分隔条上面视觉块的字体属性和下面视觉块的字体属性差异越大,该水平分隔条的权重越大,如果分隔条上面视觉块字体的font-size值小于下面视觉块字体的font-size值,那么该水平分隔条的权重增加更多;
(5)对于水平分隔条,如果分隔条上面视觉块的内容架构和下面视觉块的内容架构相近(比如内容都是纯文本信息),那么该水平分隔条的权重降低。
XY-Cut分块过程如图3所示,首先对RcT_1进行分隔条检测,提取两条水平分隔条,形成RcT_2,RcT_3,RcT_4,然后对这三个RcT进行分隔条检测,RcT_3被分割成两个RcT_5和RcT_6,对于RcT_6,由于检测出的水平分隔条两边的区域视觉信息一致,使得分隔条的权重较小,并不能成为真正意义上的分隔条,最终将RcT_1划分成四个RcT,即RcT_2,RcT_4,RcT_5,RcT_6。
4.PRQC驱动网页分块
一级分块和二级分块完成后,整个Web页面构建成一棵PoP树,树中的叶子结点对应网页中一个具体的区域,由此完成网页的分块工作。
传入DOM树的根结点qPatent后,首先调用LabelDomTree(qPatent)函数对DOM树的结点进行标注,标注完成后,通过函数getModes(qPatent)得到DOM树的所有结点,然后调用CteatTegion(qNodes)函数对DOM树的结点进行合并,将DOM树对应的网页划分成多个区域,最后对每个区域T采用递归的XY-Cut(T)方法进行划分,最终形成PoP树,把PoP树的叶子结点映射到网页中,完成网页的分块工作。
5.主题型页面分块方法总结
基于PoP树的网页分块方法PRQC,将网页分块划分为两个阶段:第一阶段,基于DOM树架构的分析,结合HTML标签特征,将网页划分为几个大的分块;第二阶段,利用网页的几何布局架构,结合各分块的视觉信息、位置信息,基于递归的XY-Cut方法对各分块进行二次分割。PoP树相对于DOM树,能够更好的描述网页的语义架构,因此与基于DOM树架构的分块方法比较,基于PoP树的分块方法具有更好的分块效果。
(三)语义块架构解析
当完成页面的分块工作后,页面被划分为多个语义块,每个语义块内包含多个小的单元,为了能够确定语义块在NIM中所属的属性类型,本申请分析每个语义块的内部结构,构建出语义块的逻辑架构,语义块架构解析包含两个阶段:第1阶段,利用语义块内的信息检测出块内的标题,第2阶段,由于语义块的内部可能存在多级层次关系,因此需要对已检测出的标题进行层次标注,才能构建出语义块的逻辑架构。
本申请利用语义块内字体的视觉信息、下划线和标点符号进行标题检测,其中,字体的视觉信息包括字体的大小和颜色,标点符号主要使用冒号,通过对大量语义块内部标题的观察分析,制定以下规则计算语义块内的单元权重:
规则一,如果某单元的文本信息以冒号结束,那么该单元的权重将会提高;
规则二,如果某单元对应的HTML标签为H1-H6,那么该单元的权重将会增加;
规则三,如果某单元内的字体颜色与大多数单元不同,那么该单元的权重将会增加;
规则四,如果某单元内的字体被加粗,那么该单元的权重将会增加;
规则五,如果该单元内的字体大小与大多数单元不同,那么该单元的权重将会增加;
对于语义块内的每个单元,首先根据制定的规则计算该单元的权重,然后求出该语义块内所有单元的平均权重,最后将每个单元的权重与平均权重进行比较,如果权重大于平均权重,那么该单元被认为是标题。
由于语义块的内部可能存在多级标题的情况,因此标题检测完成后,对检测出的标题进行层次标注,最后构建语义块的逻辑架构。
假定语义块内出现的视觉顺序的第一个标题,其层次最高,设置为1,按顺序依次比较相邻的两个标题,当前的标题记为CTitle,其前面的标题记为PTitle:如果CTitle的权重等于PTitle的权重,那么将CTitle的层次设置为PTitle的层次;如果CTitle的权重大于PTitle的权重,那么将CTitle的层次设置为PTitle的层次加1;如果CTitle的权重小于PTitle的权重,那么将CTitle的层次设置为PTitle的层次减1。
完成标题的层次标注后,利用这些标题将语义块的视觉架构图转换成逻辑架构图,最终通过逻辑架构图很容易确定语义块在NIM中所属的属性类型。
三、实验结果与分析
主要涉及到两个方面的实验,一方面需要验证网页分块方法的有效性,另一方面需要验证在语义块架构解析阶段,标题检测方法和层次标注方法的效果。实验一验证RNQC方法的效果,实验二验证PRQC方法的效果,并将这两个方法的分块效果与VIPS方法进行对比,实验三验证标题检测方法和层次标注方法的效果。
(一)实验一:验证RNQC方法的效果
在验证本申请提出的索引型页面分块方法RNQC的有效性之前,首先通过实验确定RNQC方法的临界值t(子树相近度临界值)。从网站上下载110个索引型页面进行实验,t分别取0.5,0.6,0.7,0.8和0.9,考察t取不同值时分块的准确率,实验结果如图4所示,当t取0.7时,RNQC方法的分块效果最好。t取值太小,不能很好的区分不同语义块的架构,可能会将两个不同语义块合并在一起;t取值太大,使得属于同一个语义块的子树必须具有很高的相近度才能被划分到同一个语义块,而在实际的索引型页面中,由于HTML标签的灵活性,属于同一个语义块的数据记录对应的标签架构并不一定具有很高的相近度,因此可能会将本应该属于同一个语义块的数据记录分离,确定RNQC方法的临界值t为0.7后,从网站上下载480个索引型页面作为测试集,人工对分块结果进行分类,将RNQC方法与VIPS方法的分块效果进行对比,VIPS方法PDoc值设置为6,实验结果如图5所示,从图5中可以看出,本申请提出的RNQC方法有(196+249)/480=92.7%的索引型页面可以准确地被划分成多个语义块,而VIPS方法只有(137+248)/480=80.2%准确率,因此证明了RNQC方法的有效性,并且RNQC方法分块效果主要取决于相近度临界值的设定,而VIPS方法的分块效果取决于大量的启发式规则的制定,RNQC方法相对于VIPS方法适应性更强,但RNQC方法只适用于于索引型页面的分块,比VIPS方法适用范围小。
(二)实验二:验证PRQC方法的效果
为了验证本申请提出的页面分块方法PRQC的有效性,从网站上下载了480个主题类型页面作为测试集,人工对分块结果进行分类,并与VIPS方法进行效果对比,采用准确率作为评价标准,实验结果如图6所示,从表5-2中可以看出,本申请提出的PRQC方法有(186+251)/480=80.6%的页面可以准确地被划分成多个语义块,而VIPS方法只有(153+234)/480=86.8%准确率,因此证明了PRQC方法的有效性,并且PRQC方法在分块过程中使用了更少的启发式规则,比VIPS的适应性好。
(三)实验三:验证标题检测方法和层次标注方法的效果
为了验证标题检测方法和层次标注方法的效果,从实验二得到的语义块中选取340个划分正确的语义块进行标题检测和层次标注实验,并采用准确率、召回率和F-score值对实验结果进行评价,其中F-score=(2×准确率×召回率)/(准确率+召回率)。
首先人工统计出这340个语义块内一共含有638个标题,然后再利用本申请设计的标题检测方法对这些语义块内的标题进行检测,实验结果如图7所示,从图7中可以看出,通过本申请提出的标题检测方法返回了574+49=623个结果,其中有49个结果是错误的,574个结果是正确的,因此召回率=574/638=90.0%,准确率=574/623=92.1%。错误标题的产生主要因为存在非标题的文本使用了表示标题的标签,或为了突出效果,采用了与标题相近的显示效果,而未检测出的标题(638-574=64个)主要是由于这些标题的显示和普通文本区别不大,因此从显示效果上很难辨别。
在检测出的574个正确标题的基础上,人工对这些标题进行层次标注,共有一级标题335个,二级标题239个,利用文中提出的层次标注方法对这574个标题进行标注,实验结果如图8所示,从图8可以看出,对于一级标题,本申请提出的层次标注方法共标注出271+56=327个,其中271个标注正确,56个标注错误,因此召回率=271/335=80.9%,准确率=271/327=82.9%;对于二级标题,层次标注方法共标注出192+36=228个,其中192个标注正确,36标注错误,因此召回率=192/239=80.3%,准确率=192/228=84.2%,从实验结果可以看到前一阶段的标题检测结果直接影响了层次标注的效果,由于标题检测阶段存在错误的标题和未检测出的标题,而在层次标注阶段,需要利用相邻两个标题之间的权重来设置当前标题的层次,因此如果遗漏了部分标题或检测出错误的标题都将影响层次标注结果。
四、发明点总结
为了对海量Web数据进行有效管理,本申请提出一个无模式的Web数据管理模型NIM,利用NIM管理数据时,不需要对数据建立模式,能够有效的对Web数据进行存储管理,非模式化Web数据模型NIM主要包括基于NIM的Web数据表示和基于NIM的Web数据查询。
为了能够实现NIM对Web数据的自动化管理,将Web页面准确转换为NIM的数据形式,包括两个部分:Web页面的语义分割和语义块内部架构的分析,因此本申请的核心是网页分块以及语义块架构解析,从而能够实现NIM对Web数据的自动化管理。本申请首先提出Web页面的两种表示方法及Web页面的特征,提出非模式化Web数据模型NIM,包括基于NIM的Web数据表示和基于NIM的Web数据查询两个部分,提出NIM实现Web数据的无模式的半架构化的表示,以及对于NIM表示的数据,相应的查询语言对其进行有效查询和分析;最后,设计两种网页分块方法,针对于索引型页面,设计一种基于树定量匹配的网页分块方法RNQC,RNQC采用树的编辑距离来衡量DOM树中子树之间的相近度,从而挖掘出网页中的数据区域,完成网页分块工作,对于主题型页面,设计一种基于PoP树的网页分块方法PRQC,PRQC方法利用网页的布局架构,将网页看作由视觉块和分隔条组成,采用一种新的架构模型PoP树,将网页分块划分为两个阶段:第一阶段主要利用DOM树的架构和HTML标签进行一级划分,第二阶段采用递归的XY-Cut方法进行二级划分。实验证明本申请设计的两个分块方法都具有较好的效果,网页分块工作完成后,对语义块的内部架构进行分析,将语义块的视觉架构转换成对应的逻辑架构,确定语义块在NIM中所属的属性类型,从而完成Web数据到NIM对象的自动转换。
Claims (10)
1.基于非模式化Web数据模型的网页分块方法,其特征在于,提出一种无模式的Web数据管理模型NIM,NIM中每个Web页面被视为一个对象,页面上的数据构成对象的属性值,NIM采用一种树结构表示对象的内部结构,对象和对象之间通过Web超链接关联在一起,形成一种图结构;
本申请实现Web数据到NIM对象结构的自动转换,利用NIM对Web数据进行表示时,首先将Web页面分割成多个语义块,其次分析各语义块的内部结构,确定语义块在NIM中所属的属性类型,包括两个方面:基于NIM的网页分块以及语义块内部结构解析;首先,针对Web页面分块,设计两种网页分块算法,针对索引型页面,设计一种基于树定量匹配的网页分块算法,采用树的编辑距离来衡量DOM树中子树之间的相近度,挖掘出网页中的数据区域,完成网页分块;针对主题型页面,提出一种基于PoP树的网页分块算法,将Web页面作为由视觉块和分隔条组成,采用一种新的结构PoP树表示页面,结合网页的DOM树结构和布局结构,通过两次分割完成Web页面分块;完成网页分块后,分析各语义块的内部结构,确定各语义块在NIM中所属的属性类型,实现Web数据到NIM对象结构的自动转换;
索引型页面分块利用索引型页面DOM树结构的特征,即DOM树结构中存在大量结构相近的子树,并利用树的编辑距离来度量子树之间的相近度,最后基于树的编辑距离,挖掘出网页中的数据区域,从而将页面划分成多个语义块,具体包括:索引型页面结构解析、网页标签树架构、树定量匹配法、网页分块RNQC方法;
主题型页面分块采用基于PoP树的网页分块方法PRQC,将网页分块划分为两个阶段:第一阶段,基于DOM树架构的分析,结合HTML标签特征,将网页划分为几个大的分块;第二阶段,利用网页的几何布局架构,结合各分块的视觉信息、位置信息,基于递归的XY-Cut方法对各分块进行二次分割,具体包括:PoP树模型、一级分块、二级分块、PRQC驱动网页分块。
2.根据权利要求1所述的基于非模式化Web数据模型的网页分块方法,其特征在于,非模式化Web数据模型NIM:设计四种扩展性强的数据类型,分别为:文本类、对象引用类、属性-值对类、列表类,NIM将每个Web页面作为一个对象,页面中的数据构成对象的属性值,Web页面存在大量的其它Web页面的链接,每个链接指向另一个页面及对象,即对象与对象之间的关系;
NIM数据既设置有层次的树形结构,对象与对象之间又形成关联的网络结构,每个NIM对象都为一个层次树结构,包含四种类型结点,对应四种属性值类型,即文本申请结点、对象引用结点、属性-值对结点以及列表结点;基于NIM对象中与其它对象的关联关系,抽象出对象与对象之间的边,形成一个对象关联的图结构,NIM的查询有遍历对象内部的树查询,也有搜索对象与对象间关联的图查询,同时也有树查询与图查询融合的混合查询;
一方面将数据密集型Web页面中所有的信息都抽取下来,利用NIM进行表示和整合,在数据抽取的过程中,减少自然语言处理和语义分析处理,对于一个信息抽取系统来说,其中的Web数据抽取过程的任务难度得以降低;另一方面,对这些以NIM表示和整合的数据,采用相应的无模式的查询语言,在查询的过程中对数据进行筛选,能够获取用户的目标结果。
3.根据权利要求1所述的基于非模式化Web数据模型的网页分块方法,其特征在于,基于NIM的Web数据表达:在对Web数据进行表示时,NIM采用“[类名]对象名<对象的URI>{属性值}”的结构表示每个Web页面,其中对象属性值包含四种类型具体定义及表示形式为:
第一类,文本类:表示纯文本,直接利用文本内容进行表示;
第二类,对象引用类:表示超文本,采用<a,b>的表示形式,其中a为超文本的文本信息,b为超文本的超链接;
第三类,属性-值对类:表示带有标题的语义块,采用c:d的表示形式,其中c为属性名,d为属性值,属性名表示语义块内的标题,属性值表示标题下的内容,表示成文本类、对象引用类、列表类或递归的表示成属性-值对类;
第四类,列表类:表示含有多个属性的语义块,采用{属性1,属性2,...,属性n}的表示形式;
一个Web页面按照多个不同粒度的分块,直接转化成NIM对象,在对象所属类已知的情况下,为每个NIM对象划分所属类;通过Web页面间的超链接,Web页面间的跳转被表示成NIM对象间的关系,其中通过URI唯一标识每一个NIM对象。
4.根据权利要求1所述的基于非模式化Web数据模型的网页分块方法,其特征在于,基于NIM的Web数据查询:NIM的查询语言包括查询部分和结果架构部分两部分,查询部分通过变量保存查询的信息,结果架构部分指定相应的变量输出结果;查询语句的形式为:queryB1,...,EnconstructS,其中B1,...,Bn表示查询表达式部分,S表示结果架构部分,NIM的查询包含树查询、图查询及树查询与图查询的混合形式,树查询基于NIM的树结构,在对象内部进行的查询,图查询基于NIM的图结构,在对象与对象之间进行的查询;
1)对象内部的树查询:NIM对象的属性-值对类型属性在树结构中被拆分成多个结点,其中属性名构成属性结点,属性值构成属性结点的子结点,树的根结点是一个列表结点,其子结点包含属性结点、列表结点和文本申请结点,列表结点的值为空,属性结点的值为属性-值对类型属性的属性名,它的子结点是属性-值对类型属性的属性值形成的结点;文本申请结点的值为文本类型属性的值,并且不含任何子结点;文本申请点为叶子结点;对于对象引用结点,它的值为对象引用类型属性的值,也不含任何子结点,在树结构中以叶子结点的形式存在;
2)对象之间的图查询:NIM的图是有向图,图中的每个结点表示一个对象,边上的信息表示对象之间的关系,基于对象的内部结构,NIM将一个对象到另一个对象的路径抽象成这两个对象之间的边,对象之间的边表示对象与对象之间的语义关系,在边的构建过程中不考虑列表结点,如果两个对象的边不含有任何语义信息,则将这条边标注为“null”,当把所有Web页面数据按照NIM的对象结构存储管理时,形成一个信息量丰富的图模型,对象与对象之间的语义关系能够很好的在这个图模型中体现,最后将这个图模型应用于语义搜索或数据挖掘;
3)树查询与图查询的融合形式:在树查询表达式和图查询表达式中,NIM采用相近的层次结构,树查询表达式和图查询表达式并不完全分离,通过对象引用结点,将二者融合在一起,从一个对象内部进行查询时,可能会查找到一个对象引用结点,通过这个对象引用结点,可以查找到它指向的对象,从而完成一个对象到另一个对象的查询,即图查询,在树查询表达式和图查询表达式中,对于一个对象,综合使用这两种形式进行查询。
5.根据权利要求1所述的基于非模式化Web数据模型的网页分块方法,其特征在于,索引型页面结构解析:索引型页面存在的大量相近结构的信息为数据记录,语义相关的数据记录组织在一起形成数据区域,结合索引型页面的DOM树结构,数据区域具有三个特征:
(1)结构相近的数据记录固定在页面内的同一个区域,并且采用相近的结构进行组织,形成数据区域;
(2)数据区域内部的数据记录具有连续性;
(3)将网页的HTML文档转换成DOM树结构时,网页面内的数据区域由具有相同父结点的多棵相邻子树组成,并且这些子树具有相近的HTML标签结构;
本申请采用树定量匹配网页分块方法,挖掘数据区域,完成对索引型网页的分块。
6.根据权利要求1所述的基于非模式化Web数据模型的网页分块方法,其特征在于,树定量匹配法:为挖掘出页面中的数据区域,对同一父结点下的不同子树的相近度进行计算,树的编辑距离是一种度量两棵树之间异构程度的定量法,采用编辑距离计算字符串之间相近度的方法,并对其定义如下:
定义一:给定两个字符串C和R,编辑距离Dis(C,R)定义为使C和R成为相同字符串需要的最少编辑操作次数,其中第一种操作是把某个字符zw1变为zw2,第二种操作是插入某个字符,第三种操作是删除某个字符;
树的编辑距离定义:树R1到树R2的编辑距离Dis(R1,R2)定义为利用编辑操作将树R1转化为树R2所需的最小代价,编辑操作包括:一是结点删除操作delete(v),即从一棵子树中删除一个结点v;二是结点插入操作insert(x,v),即插入一个结点v到一棵子树x中;三是结点替换操作replace(v,u),即将一棵子树上的结点v替换成结点u,同时对每种编辑操作,赋予相应的代价,分别记作del_cost,ins_cost,rep_cost,树的编辑距离等价为寻找树R1和树R2之间的最小编辑代价的映射关系,定义五和定义六分别给出这种映射关系的具体内容以及树编辑距离的具体计算式;
定义二:假定R是一棵树,R[i]表示树先序遍历过程中的第i个结点,则树R1和树R2之间的映射集合N(i,j)对任意的(i1,j1),(i2,j2)∈N满足以下条件:
1)i1=i2当且仅当j1=j2;
2)R1[i1]是R1[i2]的左结点当且仅当R2[j1]是R2[j2]的左结点;
3)R1[i1]是R1[i2]的祖先结点当且仅当R2[j1]是R2[j2]的祖先结点;
条件1)确保在映射集合中每个结点最多只出现一次,条件2)确保在映射集合中兄弟结点之间的顺序关系,条件3)确保在映射集合中结点之间的层次关系;
定义三:设树R1和R2之间的映射集合为N(i,j),其中i,j分别代表R树1和树R2的标签,令T表示i和j不相同的数据对数量,对应所需替换操作的次数,A表示T1中没出现在N中的结点,对应所需删除操作的标次数,J表示T2中没出现在N中的结点,对应所需插入操作的次数,树的编辑距离Aic(T1,T2)的计算公式如下:
Aic(T1,T2)=|T|×tep_cost+|A|×del_cost+|J|×ins_cost
其中,tep_cost、del_cost、ins_cost均赋值为1。
7.根据权利要求1所述的基于非模式化Web数据模型的网页分块方法,其特征在于,网页分块RNQC方法:通过基于树编辑距离计算的树定量匹配方法,判断DOM树中任意一个父结点下面是否存在结构相近的子树,若存在,将该父结点及其子树在网页中所占的区域当作一个数据区域,采用自顶向下的方式从DOM树的根结点开始,递归寻找数据区域,最终将页面划分成多个数据区域,该过程首先调用DetectRegion(qNode,r),将结点qNode下面的数据区域添加到DataRegion中,然后对qNode的子结点中不被DataRegion包含的子结点child递归调用RNQC(child,t),并将child下面的数据区域添加到DataRegion中,该方法的时间复杂度为O(M),M表示以qNode结点为根的树的结点个数;
假设qNode结点有m棵子树,用S(qNode)=<R1,R2,...,Rm>表示,其中Ri表示以qNode的第i个结点组成的子树,函数DetectRegion(qNode,t)通过不断改变qNode的子树的结点组合,计算出不同结点组合的相近度,找到一个最优的相近子树定量匹配结果T(qNode)={<Ri,...,Rj>,...,<Rk,...,Rm>},其中<Ri,...,Rj>表示由qNode的第i个子树到第j个子树组成的一个数据区域,当从T的第一个子结点E1开始计算时,结点组合的形式如下:
第一种:(E1,E2),(E2,E3),(E3,E4),(E4,E5),(E5,E6),(E6,E7),(E7,E8);
第二种:(E1-E2,E3-E4),(E3-E4,E5-E6),(E5-E6,E7-E8);
第三种:(E1-E3,E4-E6);
其中Ei表示以Ei为父结点的子树,计算每种组合的重复单元数,返回重复单元数最多的组合情况所形成的数据区域,调用DetectRegion(qNode,t)计算结果为:
T(qNode)={<R1,R2,R3>,<R5,R6,R7>},表示T的子结点中存在两个数据区域,分别由R1、R2、R3和R4、R5、R6构成。
8.根据权利要求1所述的基于非模式化Web数据模型的网页分块方法,其特征在于,一级分块:一级分块利用HTML元素的标签信息,基于W3CHTML4.0规范,将DOM树结点分为两类:
A类,内联结点:如果结点的标签只影响文字的显示效果而不引起换行,则这类结点为内联结点;
B类,换行结点:具有换行性质的结点;
在对DOM树结点进行类型标注时,对于叶子结点,根据结点的标签信息按照内联结点和换行结点的定义进行标注,而对其它父结点,综合父结点的标签信息及子结点的类型对父结点进行标注,采用后序遍历的方式对DOM树的结点进行标注;
标注完DOM树的结点后,对于连续的内联结点,结点之间无间隙,将这些内联结点合并为一个区域,而对于换行结点,通过对DOM树进行深度遍历,找到下一个换行结点,将这两个结点之间的所有结点合并为一个区域。
9.根据权利要求1所述的基于非模式化Web数据模型的网页分块方法,其特征在于,二级分块:一级分块阶段结束后,网页被划分成多个大的分块,每个分块表示成一个矩形RcT={(x1,y1),(x2,y2)},其中(x1,y1)表示矩形的左上结点的坐标,(x2,y2)表示矩形的右下结点坐标,每个RcT含有多个子RcT,对各分块采用递归的XY-Cut算法进行二次划分,将每个区域分割成多个子区域,并对这些子区域进行递归处理,直到没有叶子结点可以被继续分割;
传入一级分块得到的各分块RcT,对于每个分块,检测整个分块内的水平分隔条和垂直分割条,若存在水平分隔条,则对该分块进行水平分割,并形成一些小的分块SmRcTSet;如果不存在水平分隔条,只存在垂直分隔条,则对该分块进行水平分割,并形成一些小的分块集合SmRcTSet;若水平和垂直分隔条都不存在,则该块将不被分割,对于形成的每个小分块smallRcT,递归调用XY-Cut方法,最终完成二级分块,在分隔条检测过程中,需要结合分隔条的高度或宽度及分隔条两边区域的视觉信息设置分隔条的权重,同时设定一个临界值,只有权重大于临界值的分隔条才被视为真正的分隔条,分隔条权重的设置具体内容为:
(1)对于水平分隔条,分隔条的高度越大,该分隔条的权重就越大;
(2)对于垂直分隔条而言,分隔条的宽度越大,该分隔条的权重就越大;
(3)如果分隔条两侧区域的背景颜色不相同,那么该分隔条的权重增加;、
(4)对于水平分隔条,如果分隔条上面视觉块的字体属性和下面视觉块的字体属性差异越大,该水平分隔条的权重越大,如果分隔条上面视觉块字体的font-size值小于下面视觉块字体的font-size值,那么该水平分隔条的权重增加更多;
(5)对于水平分隔条,如果分隔条上面视觉块的内容架构和下面视觉块的内容架构相近(比如内容都是纯文本信息),那么该水平分隔条的权重降低;
XY-Cut分块过程为,首先对RcT_1进行分隔条检测,提取两条水平分隔条,形成RcT_2,RcT_3,RcT_4,然后对这三个RcT进行分隔条检测,RcT_3被分割成两个RcT_5和RcT_6,对于RcT_6,由于检测出的水平分隔条两边的区域视觉信息一致,使得分隔条的权重较小,并不能成为真正意义上的分隔条,最终将RcT_1划分成四个RcT,即RcT_2,RcT_4,RcT_5,RcT_6。
10.根据权利要求1所述的基于非模式化Web数据模型的网页分块方法,其特征在于,语义块架构解析:本申请分析每个语义块的内部结构,构建出语义块的逻辑架构,语义块架构解析包含两个阶段:第1阶段,利用语义块内的信息检测出块内的标题,第2阶段,语义块的内部可能存在多级层次关系,对已检测出的标题进行层次标注,构建出语义块的逻辑架构;
本申请利用语义块内字体的视觉信息、下划线和标点符号进行标题检测,其中,字体的视觉信息包括字体的大小和颜色,标点符号主要使用冒号,通过对大量语义块内部标题的观察分析,制定以下规则计算语义块内的单元权重:
规则一,如果某单元的文本信息以冒号结束,那么该单元的权重将会提高;
规则二,如果某单元对应的HTML标签为H1-H6,那么该单元的权重将会增加;
规则三,如果某单元内的字体颜色与大多数单元不同,那么该单元的权重将会增加;
规则四,如果某单元内的字体被加粗,那么该单元的权重将会增加;
规则五,如果该单元内的字体大小与大多数单元不同,那么该单元的权重将会增加;
对于语义块内的每个单元,首先根据制定的规则计算该单元的权重,然后求出该语义块内所有单元的平均权重,最后将每个单元的权重与平均权重进行比较,如果权重大于平均权重,那么该单元被认为是标题;
由于语义块的内部可能存在多级标题的情况,因此标题检测完成后,对检测出的标题进行层次标注,最后构建语义块的逻辑架构;
假定语义块内出现的视觉顺序的第一个标题,其层次最高,设置为1,按顺序依次比较相邻的两个标题,当前的标题记为CTitle,其前面的标题记为PTitle:如果CTitle的权重等于PTitle的权重,那么将CTitle的层次设置为PTitle的层次;如果CTitle的权重大于PTitle的权重,那么将CTitle的层次设置为PTitle的层次加1;如果CTitle的权重小于PTitle的权重,那么将CTitle的层次设置为PTitle的层次减1;
完成标题的层次标注后,利用这些标题将语义块的视觉架构图转换成逻辑架构图,最终通过逻辑架构图很容易确定语义块在NIM中所属的属性类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124602.4A CN113806665A (zh) | 2021-09-24 | 2021-09-24 | 基于非模式化Web数据模型的网页分块方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124602.4A CN113806665A (zh) | 2021-09-24 | 2021-09-24 | 基于非模式化Web数据模型的网页分块方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806665A true CN113806665A (zh) | 2021-12-17 |
Family
ID=78940421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111124602.4A Pending CN113806665A (zh) | 2021-09-24 | 2021-09-24 | 基于非模式化Web数据模型的网页分块方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806665A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115982443A (zh) * | 2023-03-17 | 2023-04-18 | 杭州实在智能科技有限公司 | 基于视觉分析的屏幕页面结构解析与路径存储方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103371A1 (en) * | 2002-11-27 | 2004-05-27 | Yu Chen | Small form factor web browsing |
CN102253979A (zh) * | 2011-06-23 | 2011-11-23 | 天津海量信息技术有限公司 | 基于视觉的web页面萃取方法 |
CN102799638A (zh) * | 2012-06-25 | 2012-11-28 | 浙江大学 | 一种面向网页内容无障碍访问的页内导航生成方法 |
CN103440239A (zh) * | 2013-05-14 | 2013-12-11 | 百度在线网络技术(北京)有限公司 | 一种基于功能区域识别的网页切分方法及装置 |
CN103514234A (zh) * | 2012-06-30 | 2014-01-15 | 北京百度网讯科技有限公司 | 一种页面信息提取方法和装置 |
CN106802914A (zh) * | 2016-12-06 | 2017-06-06 | 中国电子科技集团公司第三十二研究所 | 启发式多特征规则集网页分块方法 |
CN108628703A (zh) * | 2018-03-19 | 2018-10-09 | 中国科学院信息工程研究所 | 一种基于视觉相似性镜像网站发现方法及系统 |
CN112084451A (zh) * | 2020-09-16 | 2020-12-15 | 哈尔滨工业大学 | 一种基于视觉分块的网页logo提取系统及方法 |
-
2021
- 2021-09-24 CN CN202111124602.4A patent/CN113806665A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103371A1 (en) * | 2002-11-27 | 2004-05-27 | Yu Chen | Small form factor web browsing |
CN102253979A (zh) * | 2011-06-23 | 2011-11-23 | 天津海量信息技术有限公司 | 基于视觉的web页面萃取方法 |
CN102799638A (zh) * | 2012-06-25 | 2012-11-28 | 浙江大学 | 一种面向网页内容无障碍访问的页内导航生成方法 |
CN103514234A (zh) * | 2012-06-30 | 2014-01-15 | 北京百度网讯科技有限公司 | 一种页面信息提取方法和装置 |
CN103440239A (zh) * | 2013-05-14 | 2013-12-11 | 百度在线网络技术(北京)有限公司 | 一种基于功能区域识别的网页切分方法及装置 |
CN106802914A (zh) * | 2016-12-06 | 2017-06-06 | 中国电子科技集团公司第三十二研究所 | 启发式多特征规则集网页分块方法 |
CN108628703A (zh) * | 2018-03-19 | 2018-10-09 | 中国科学院信息工程研究所 | 一种基于视觉相似性镜像网站发现方法及系统 |
CN112084451A (zh) * | 2020-09-16 | 2020-12-15 | 哈尔滨工业大学 | 一种基于视觉分块的网页logo提取系统及方法 |
Non-Patent Citations (3)
Title |
---|
刘守群 等: "一种基于树匹配的网页语义块挖掘算法", 《小型微型计算机系统》, no. 08, 15 August 2009 (2009-08-15), pages 71 - 75 * |
易晨辉 等: "基于LCA分块算法的大学科研人员信息抽取", 《计算机科学与探索》, no. 06, 31 October 2016 (2016-10-31), pages 15 - 26 * |
王一洲 等: "基于网页聚类的正文信息提取方法", 《小型微型计算机系统》, no. 01, 15 January 2018 (2018-01-15), pages 113 - 117 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115982443A (zh) * | 2023-03-17 | 2023-04-18 | 杭州实在智能科技有限公司 | 基于视觉分析的屏幕页面结构解析与路径存储方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cai et al. | Extracting content structure for web pages based on visual representation | |
Mukherjee et al. | Automatic annotation of content-rich html documents: Structural and semantic analysis | |
US20050066269A1 (en) | Information block extraction apparatus and method for Web pages | |
CN103823824A (zh) | 一种借助互联网自动构建文本分类语料库的方法及系统 | |
CN104268148A (zh) | 一种基于时间串的论坛页面信息自动抽取方法及系统 | |
Ji et al. | Tag tree template for Web information and schema extraction | |
CN108733813A (zh) | 面向bbs论坛网页内容的信息提取方法、系统及介质 | |
CN103064966B (zh) | 一种从单记录网页中抽取规律噪音的方法 | |
Li et al. | Visual segmentation-based data record extraction from web documents | |
Liu et al. | Dynamically querying possibilistic XML data | |
CN113806665A (zh) | 基于非模式化Web数据模型的网页分块方法 | |
Jiménez et al. | Frequent tree pattern mining: A survey | |
CN115982390A (zh) | 一种产业链构建和迭代扩充开发方法 | |
Ibrahim et al. | Exquisite: explaining quantities in text | |
CN110083760B (zh) | 一种基于可视块的多记录型动态网页信息提取方法 | |
Rastan | Automatic tabular data extraction and understanding | |
Thakare et al. | Extraction of template using clustering from heterogeneous web documents | |
Alobaid et al. | Knowledge-graph-based semantic labeling: Balancing coverage and specificity | |
CN110543468A (zh) | 一种用于公共安全领域大数据知识库的自动化构建方法 | |
Ye et al. | Detecting and Partitioning Data Objects in Complex Web Pages | |
Zigoris et al. | Unsupervised learning of tree alignment models for information extraction | |
Zhang et al. | Odaies: ontology-driven adaptive Web information extraction system | |
Pembe et al. | Heading-based sectional hierarchy identification for HTML documents | |
Alakukku | Domain specific boilerplate removal from web pages with entropy and clustering | |
Chang et al. | Automatic extraction of information blocks using pat trees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |