专利名称:一种网页信息抽取的系统及方法
技术领域:
本发明属于网络信息处理领域,尤其涉及一种网页信息抽取的系统及方法。
背景技术:
现在的网页抽取技术可以根据应用的领域分为针对特定领域的网页抽取 技术和通用的网页抽取技术。
在针对特定领域的网页抽取技术中,通常需要对待抽取的内容做出一些前 提假设。例如对新闻网页正文的抽取,对网页中某些特定属性的抽取,如对产 品价格的抽取。该类方法往往根据待抽取对象的特征,通过统计学的方法或者 通过总结出发式规则的方法,对网页进行抽取。但是由于抽取对象的特殊性, 限制了该类方法的通用性及可以抽取的信息的种类和数量。
在通用的网页抽取技术中,根据网页抽取工具的自动化程度,分为手工构 建规则的抽取系统,半有监督的抽取系统,无监督的抽取系统和有监督的抽取 系统。
在手工构建规则的抽取系统中,使用者通过对每个网站手工编写一个包装
器(wrapper)进行抽取,wrapper所使用的语言可以是一个通用的编程语言 或者是特别设计的用于的抽取的语言,该类工具需要用户有着一定计算机和编 程方面的知识,所以这种方法的代价相当高,对于大量网站和海量网页的抽取 这种花费往往是无法容忍。
半有监督的抽取系统相对于有监督的抽取系统,通常不需要用户对网页中 的数据做出准确的标注就可以生成用于抽取的规则,因此该类系统被称为半有 监督的抽取系统。该类系统虽然不需要用户对网页中的数据做出标注,但是该 类系统往往需要用户做后续处理,例如选择出目标模式和想要抽取的数据,并 且所有的该类系统都是为了抽取记录级别的数据。所以该类系统的抽取精度通 常不能满足需要准确抽取网页中属性信息的要求。在无监督的抽取系统中,不需要用户标注出任何的训练数据,所以在生成
wrapper的过程中也就不需要与用户交互的界面。不同于有监督的抽取系统中抽取的数据是由用户标注出的,无监督的抽取系统抽取数据是由数据本身决定,即无监督的系统通常认为网页实际上是一个由程序生成的网页模板加入后台数据库中的数据生成的,而无监督的抽取系统的任务就是抽取这些后台数据库中的数据。但是由于这种全自动的抽取方式往往会抽取出许多用户不需要的信息,用户需要的一些信息却可能没有抽取出来,并且由于没有标注抽取出的数据集成和理解也成为了一个难题。
有监督的抽取系统通常是输入一系列由用户标注好的网页,然后利用所述训练网页生成wrapper文件,最后利用生成的wrapper文件对相似的网页中的信息进行抽取。在该类的系统中,往往不要专门的编程人员只需要一些普通的使用者经过一些简单的训练在图形用户界面上标注出所要抽取的数据就可以了,并且该类的抽取系统抽取精度较高,抽取出的数据由于有标签也便于理解和集成。本发明中所介绍的系统就是一种有监督的抽取系统。
现在随着英特网上信息的爆炸似的增长,而网页作为网络上重要的信息载体,如何从网页中抽取出需要的信息日益成为一个重要的研究课题。但是英特网上网页都是服务于用户浏览的,网页中的信息被很多网页标签和格式信息所包围从而造成了从网页中抽取信息的困难。
目前比较流行的一种精确率较高的半自动有监督的抽取方法是从某个网站抓取下来由同一个网页模板生成网页,从中选取几个网页作为训练网页,由用户标注出这些网页中需要抽取的信息,然后通过机器学习的方式从这些训练网页中学习出要抽取的数据区的上下文特征,最后生成用于抽取的wrapper文件。对该网站中的其他网页就使用该wrapper进行自动的抽取了。但是这种方法存在如下问题。
第一,目前网页抓取程序在抓取网站中类似网页时判断的依据都是这些网页是否在同一个url路径下,但是现在的网站上存在着大量的动态url,甚至存在这种情况,有些网页所在的url路径即使相同网页之间的结构也可能很不相似。这样就会导致由训练网页生成的wrapper文件对网页集合中由不同网页模板生成的网页无法抽取。
第二,即使这些网页由同一个网页模板生成,但是网页中存在很多的非模板节点,且不同网页的非模板节点之间存在各种差异,那么对于只由部分训练
网页生成的wrapper文件往往无法涵盖所有的这些差异,造成了 wra卯er文件对无法胜任对这部分网页抽取的任务,而传统的方式是对于这些无法正确抽取的网页,将其提交给用户,让用户去标注出这些网页中的数据区,然后再将这些网页作为训练网页提供给网页抽取程序重新生成wr即per 。
第三,目前的网页抽取系统都存在精确度,自动化程度同所需要的人工的干预之间的矛盾,比如有着较高精确度,需要较少训练样例的抽取系统在抽取阶段往往需要较长的运行时间无法满足在线即时抽取的需要,而可以在抽取阶段有着较高效率的系统,往往需要较多训练网页和人工干预才能够生成精确率和召回率都较好的wrapper文件。
第四,现在的网站更新速度快,在生成正确的wr邻per文件后,随着网站的改版,利用旧版网页生成的wrapper文件就无法完成对改版后的网站中网页抽取的任务。
第五,现阶段很多网页抽取技术都是针对某种类型的网站,如只能针对新闻网页进行抽取,或者只能对某个对象的某些产品进行抽取,如只能对产品的价格和名称等属性进行抽取。
现在迫切需要一个通用的可以跨领域的对任意指定的需要抽取的信息都可以完成抽取的工具。
发明内容
为了解决上述的技术问题,本发明提供了一种网页信息抽取的系统及方法,能够对应不同类的网页生成多个模板,并对网页中多个属性进行抽取。本发明公开了一种网页信息抽取的系统,包括:
模板生成模块,用于从网页集合中选取待自动标注网页,根据用户标注的训练网页对所述待自动标注网页进行分类,同时生成所述训练网页对应的类别的网页模板;
网页同质化模块,用于依据所述类别的网页模板屏蔽属于所述类别的待自动标注网页同所述类别的网页模板间的差异;
自动标注模块,用于解析所述类别的训练网页,生成第一包装器文件,按所述第一包装器文件对所述类别的待自动标注网页进行自动标注,以生成新的训练网页;
包装器文件生成模块,用于解析所有训练网页,生成第二包装器文件;
在线抽取模块,用于应用所述第二包装器文件对所述网页集合中未被选取的网页信息进行抽取。
所述模板生成模块进一步用于进行所述从网页集合中选取待自动标注网页的操作,构建用户标注的训练网页的DOM树和所述待自动标注网页的DOM树,所述训练网页对应的类别的网页模板为所述训练网页的DOM树,计算所述训练网页的DOM树同所述待自动标注网页的DOM树的相似度,以进行相似度比较,如果所述相似度大于预设阈值,则所述待自动标注网页属于所述训练网页对应的类别,否则,提示用户对所述待自动标注网页进行标注,以生成新的训练网页,构建所述新的训练页的DOM树和待自动标注网页的DOM树,新的训练网页对应的类别的网页模板为所述新的训练网页的DOM树,将新的训练页的DOM树同待自动标注网页的DOM树进行所述相似度比较,以完成分类。
所述模板生成模块还用于利用所述类别中的待自动标注网页的DOM树简化所述网页模板。
所述模板生成模块在简化所述网页模板时进一步用于识别出所述网页模板中的重复数据节点,将所述网页模板同所述类别的待自动标注网页的DOM树进行匹配,将所述网页模板中未被匹配并且不为所述重复数据节点的节点删除。
所述模板生成模块在识别所述网页模板中的重复数据节点时进一步用于在所述网页模板中确定一条被标记记录中的所有节点的共同祖先节点,查找所述祖先节点的所有同名的邻居节点,判断以所述同名的邻居节点为根节点的子树同以所述被标记记录中的节点为根节点的子树的相似度是否大于预设阈值,如果是,则所述同名的邻居节点和所述被标记记录中的节点为重复数据节点;否则,在所述祖先节点的上一层节点中查找直到找到重复数据节点或查找到所述网页模板的根节点为止。
所述模板生成模块在将所述网页模板简化后还用于将所述网页模板中以除所述被标记记录中的节点外的重复数据节点为根节点的子树同以所述被标记记录中的节点为根节点的子树进行匹配,将以除所述被标记记录中的节点外的重复数据节点为根节点的子树中未被匹配的节点屏蔽。所述网页同质化模块进一步用于将同一类别中所述待自动标注网页的
DOM树同所述网页模板进行匹配,将所述待自动标注网页的DOM树中未被匹配
的节点屏蔽。
所述自动标注模块,在解析所述类别的训练网页,生成第一包装器文件时进一步用于将所述训练网页转化为标记序列,定位所述标注的数据的前后分隔符,确定所述分隔符的左右规则。
所述自动标注模块,在解析所述类别的训练网页,生成第一包装器文件时还用于将每个分隔符作为不确定状态机的一个状态,将每个分隔符对应的左右规则作为从当前状态跳转到下一状态的跳转规则。
所述包装器文件生成模块进一步用于将所述训练网页转化为标记序列,定
位所述标注的数据的前后分隔符,确定所述分隔符的左右规则;每个分隔符为不确定状态机的一个状态,每个分隔符对应的左右规则为从当前状态跳转到下一状态的跳转规则。
所述在线抽取模块进一步用于将所述网页集合中未被选取的网页转化为标记序列,遍历所述标记序列中标记,判断标记是否符合当前状态的跳转规则,如果是,则跳转到下一状态,在所述当前状态和所述下一状态分别对应一个属性的前后分隔符时,将所述当前状态对应的分隔符和所述下一状态对应的分割符间网页文本作为所述分隔符对应的属性的值保存。
本发明还公开了一种网页信息抽取的方法,包括
步骤l,从网页集合中选取待自动标注网页,根据用户标注的训练网页对所述待自动标注网页进行分类,同时生成所述训练网页对应的类别的网页模
板;
步骤2,依据所述类别的网页模板屏蔽属于所述类别的待自动标注网页同所述类别的网页模板间的差异;
步骤3,解析所述类别的训练网页,生成第一包装器文件,按所述第一包装器文件对所述类别的待自动标注网页进行自动标注,以生成新的训练网页;
步骤4,解析所有训练网页,生成第二包装器文件;
步骤5,应用所述第二包装器文件对所述网页集合中未被选取的网页信息进行抽取。
所述步骤l进一步为步骤131,进行所述从网页集合中选取待自动标注网页的操作;
步骤132,构建用户标注的训练网页的D0M树和所述待自动标注网页的DOM树,所述训练网页的DOM树作为所述训练网页对应的类别的网页模板,计算所述训练网页的DOM树同所述待自动标注网页的DOM树的相似度,如果所述相似度大于预设阈值,确定所述待自动标注网页属于所述训练网页对应的类别,否则,执行步骤133;
所述步骤133,提示用户对所述待自动标注网页进行标注,以生成新的训练网页,执行所述步骤132。
所述步骤132还包括
步骤141,利用所述类别中的待自动标注网页的D0M树简化所述网页模板。所述步骤141进一步为
步骤151,识别出所述网页模板中的重复数据节点;
步骤152,在确定所述待自动标注网页属于所述训练网页对应的类别后,将所述网页模板同所述类别的待自动标注网页的D0M树进行匹配,将所述网页模板中未被匹配并且不为所述重复数据节点的节点删除。
所述步骤151进一步为
步骤161,在所述网页模板中确定一条被标记记录中的所有节点的共同祖先节点,查找所述祖先节点的所有同名的邻居节点;
步骤162,判断以所述同名的邻居节点为根节点的子树同以所述被标记记录中的节点为根节点的子树的相似度是否大于预设阈值,如果是,则确定所述同名的邻居节点和所述被标记记录中的节点为重复数据节点;否则,在所述祖先节点的上一层节点中查找直到找到重复数据节点或査找到所述网页模板的根节点为止。
所述步骤141后还包括
步骤171,将所述网页模板中以除所述被标记记录中的节点外的重复数据节点为根节点的子树同以所述被标记记录中的节点为根节点的子树进行匹配,
步骤172,将所述以除所述被标记记录中的节点外的重复数据节点为根节点的子树中未被匹配的节点屏蔽。
所述步骤2进一步为,
步骤181,将同一类别中所述待自动标注网页的D0M树同所述网页模板进行匹配,将所述待自动标注网页的DOM树中未被匹配的节点屏蔽。
所述步骤3中在解析所述类别的训练网页,生成第一包装器文件进一步
为,
步骤191,将所述训练网页转化为标记序列,定位所述标注的数据的前后 分隔符,确定所述分隔符的左右规则。
所述步骤191后还包括
将每个分隔符作为不确定状态机的一个状态,将每个分隔符对应的左右规 则作为从当前状态跳转到下一状态的跳转规则。
所述步骤4进一步为,
步骤211,将所述训练网页转化为标记序列,定位所述标注的数据的前后 分隔符,确定所述分隔符的左右规则;
步骤212,每个分隔符作为不确定状态机的一个状态,每个分隔符对应的 左右规则为从当前状态跳转到下一状态的跳转规则。
所述步骤5进一步为
步骤221,将所述未被选取的网页转化为标记序列;
步骤222,遍历所述标记序列中标记,判断标记是否符合当前状态的跳转 规则,如果是,则跳转到下一状态;
步骤223,在所述当前状态和所述下一状态分别对应一个属性的前后分隔 符时,将所述当前状态对应的分隔符和所述下一状态对应的分割符间网页文本 作为所述分隔符对应的属性的值保存。
本发明的有益效果在于,通过模板生成模块,将网页按照模板进行分类, 将同一类的网页聚类在一起利用同一个wrapper进行抽取提高了抽取的准确 率;通过网页同质化和自动标注模块,屏蔽某类网页之间差异从而标注出所有 这些网页中的目标数据,进而可以作为wrapper生成模块的训练网页,此时这 些网页之间的差异被wrapper学习并写入到抽取规则中,就可以在实际的抽取 阶段对这些不同类型的网页进行抽取,提高了网页抽取的召回率;通过 wrapper生成模块和在线抽取模块,对训练网页的上下文token序列特征进行 学习从而获得基于数据段上下文特征的抽取规则,这种规则在抽取阶段可快速 的对海量的数据进行抽取;并且因为本发明只依赖于网页中目标数据的上下文 序列特征进行抽取,不需要对网页的类型和所要抽取的数据类型做出更多的限制,所以本发明可以对绝大部分类型的网页和其中的数据进行抽取。
图1是本发明网页信息抽取的系统的结构图2是模板生成模块功能实现流程图3是本发明网页信息抽取方法的流程图。
具体实施例方式
下面结合附图,对本发明做进一步的详细描述。 本发明的系统结构如图l所示,包括
模板生成模块101,用于从网页集合中选取待自动标注网页,根据用户标 注的训练网页将所述待自动标注网页分类,同时生成训练网页对应的类别的网 页模板。
网页同质化模块102,用于依据所述类别的网页模板屏蔽属于所述类别的 待自动标注网页同所述类别的网页模板间的差异。
自动标注模块103,用于解析所述类别的训练网页,生成第一war卯er (包 装器)文件,按所述第一wrapper文件对所述类别的待自动标注网页进行自动 标注,以生成新的训练网页。
包装器文件生成模块104,用于解析所有训练网页,生成第二wr即per文件。
在线抽取模块105,用于应用所述第二wra卯er文件对所述网页集合中未 被选取的网页信息进行抽取。
wrapper文件为抽取规则的集合。wrapper文件中的抽取规则是对要求抽 取的数据的上下文的token序列特征的描述。
在一个具体实施例中,模板生成模块101的具体实现方式如下所述。
文档对象模型(DOM)是W3C制定的标准接口规范。可以用DOM模型将一 个网页的组织结构描述成一棵树,通常称为D0M树。树中的每个节点是一个对 象。DOM树不仅描述了网页的结构,还定义了节点对象的行为,能够利用对象 的方法和属性,方便地对树中的节点和内容作动态操作,如访问、修改、添加 和删除操作。模板生成模块101具体实现流程如图2所示
步骤S201,提示用户标识训练网页,用户标注完成后,进入步骤S202。
一具体实现方法为通过一个用户界面工具,用户通过在浏览器中使用鼠标 划出想要抽取的数据。
步骤S202,从网页集合中选取待自动标注网页,构建训练网页的DOM树, 标记为TempTree,和待自动标注网页的DOM树,标记为Tree。
步骤S203,识别TempTree中的重复数据节点。
重复数据节点为DOM树中的相似记录的节点。比如论坛网页中的主贴会跟 随很多的跟帖,所述跟帖为重复数据区节点。 具体识别重复数据节点的方法为
在TempTree中确定一条被标记记录中的所有节点的共同祖先节点,查找 该祖先节点的所有同名的邻居节点;判断以同名的邻居节点为根节点的子树同 以被标记记录中的节点为根节点的子树的相似度是否大于预设阈值,如果是, 则确定同名的邻居节点和被标记记录中的节点为重复数据节点;否则,在所述 祖先节点的上一层节点中査找直到找到重复数据节点或査找到TempTree的根 节点为止。
步骤S204,获取一棵Tree。
步骤S205,判断是否有未被处理的Tree,如果是,执行步骤S206,否则, 执行步骤S210。
步骤S206,计算Te即Tree同Tree的相似度。
在计算Tree与TempTree的相似度的过程为,首先使用树匹配算法计算 Tree与TempTree的相似度,相似度的计算公式是,两棵树之间的编辑距离除 以两棵树的节点的绝对平均值。
步骤S207,判断相似度是否大于预设阈值,如果相似度大于预设阈值, 确定所述待自动标注网页属于所述训练网页对应的类别,执行步骤S208,否 则,执行步骤S201。
步骤S208,简化TempTree 。
将TempTree同Tree进行匹配,将TempTree中未被匹配并且不为重复数 据节点的节点删除。
网页模板为TempTree,其中包括同类别的Tree中共有的节点和重复数据节点。
步骤S209,归一化TempTree。
归一化为利用标注出的数据子树去化简训练页面中的其他数据子树,将所 有的数据子树化为具有统一结构的数据子树。
具体方式为将TempTree中以除被标记记录中的节点外的重复数据节点为 根节点的子树同以被标记记录中的节点为根节点的子树进行匹配,将以除所述 被标记记录中的节点外的重复数据节点为根节点的子树中未被匹配的节点屏 蔽。
屏蔽为通过打标签的方式告诉程序,该部分的内容是可以被忽略。 步骤S210,结束。
最终获得的TempTree为类别的网页模板。 网页同质化模块102具体实现方式如下所述。
将同一类别中待自动标注网页的DOM树同网页模板进行匹配,将待自动标 注网页的DOM树中未被匹配的节点屏蔽,从而使自动标注模块203能够应用网 页模板生成的第一 wrapper文件对该类别中的待自动标注网页进行自动标注。
屏蔽为通过打标签的方式告诉程序,该部分的内容是可以被忽略。
自动标注模块103具体实现方式如下所述。
将训练网页转化为token(标记)序列,定位所述标注的数据的前后分隔 符,确定分隔符的左右规则。将每个分隔符作为不确定状态机的一个状态,将 每个分隔符对应的左右规则作为从当前状态跳转到下一状态的跳转规则。
由于类别中的待自动化标注网页都有统一的结构,应用抽取规则对该类别 中待自动化标注网页做出自动标注。
该类别中的待自动化标注网页经过同质化模块处理后,网页之间的结构很 相似。学习到的人工标注的训练网页中目标数据的上下文token序列规则和经 过网页同质化模块的处理的待自动标注网页的目标数据的上下文token序列 有着相同的特征。根据第一 wrapper文件和待自动标注的训练网页,通过定位 待自动标注网页中数据段的左右分隔符,在找到分隔符位置后使用和人工标注 相同的标签插入到分隔符的位置处,从而实现网页的自动标注。
包装器文件生成模块104的具体实现方式如下所述。
将所述训练网页转化为标记序列,定位所述标注的数据的前后分隔符,确
16定所述分隔符的左右规则;每个分隔符为不确定状态机的一个状态,每个分隔 符对应的左右规则为从当前状态跳转到下一状态的跳转规则。
网页由两种token组成,html token和alph token其中网页内部的html 标签对应着html token, alph标签之间的内容对应着alph token。
在生成第二 wra卯er文件的过程中,首先将训练网页转化为token序列, 化为由html token和alph token组成的token序列,定位到网页中标注的数 据所在token的位置,。
从标注数据前分隔符所在位置开始向前搜索,直到遇到第一个word token 或上一个标注数据的分隔符为止,在上述搜索的过程中遇到的所有token都作 为标注数据的前标签左规则。
word token定义为内容不是完全由符号组成alph token。
从标注数据前分隔符所在位置开始向前搜索,直到遇到第一个word token 或上一个标注数据的后分隔符为止,在上述搜索的过程中遇到的所有token 都作为标注数据的前标签左规则。
同理,从标注数据的后分割符向后寻找直到遇到第一个word token或者 下一个标注数据的前分隔符为止,在上述过程中遇到的所有的token作为标注 数据的后分隔符的右规则。
从标注数据的后分割符向前寻找直到遇到第一个word token或者标注数 据的前分隔符为止,在上述过程中遇到的所有的token作为标注数据的后分隔 符的左规则。
html token中保存了对应html标签的名字,例如Html (〈div〉)在这个 htmltoken中记录了 html标签的名字div。 Alphtoken对应了网页中两个网页 标签之间的部分,并且该部分完全由一些非字符的符号组成。将训练网页依照 上述约定序列化,然后找出训练网页中标注数据的前后分隔符,并记录下该分 隔符左右token序列。
一个网页片段的举例如下所示。
Author〈tr>〈tdXa>〈/a〉〈a〉 {AET: author} Daniel {/AET: author} </a><br〉 〈div〉Faxmer
其中,{AET: author}和{/AET: author}为分隔符,标记出了网页中作者 信息,作为分隔符左右序列规则分别如下前分隔符的左规则
alph (Author) html (〈tr〉) html (〈td》html (<a》html (</a》html (〈a》;
前分隔符的右规则:walph(—);
后分隔符的左规则:alphC);
后分隔符的右规则html (〈/a〉)html (〈br〉)html (〈div〉) alph (Farmer)。 为了生成可以抽取所有相似的其他网页的第二 wrapper文件,要求分隔符 规则需要有泛化能力,因而在分隔符规则中引入了通配符"_",表示只要该 token属于该类别,无需考虑该token的具体内容,便可以匹配上。例如在上 面的(AET:authoH分隔符的右规则是alph(—),那么只要遇到一个包含字符 (character)和数字的文本,则确定该分隔符规则就被匹配。另外由于部分 网页的上下文的token序列中出现的token的数目,类型和顺序存在着不同, 为此引入了 "或"描述符,从一个状态跳转到另一个状态时其左规则或者右规 则存在多个对应的规则,只要满足了其中的某一个规则,则确定其左规则或者 右规则被匹配。例如现在有另一个网页片段其形式如下所示,
Author: <tr〉〈tdXa> {AET: author} Alex {/AET: author} 〈/a>〈br><div〉Gen
6ral
前分隔符的左规则
alph (Author) html (<tr》html (<td》html (〈a》html (</a》html (〈a》| alph (Author) html (<tr》html (〈td》html (〈a》 前分隔符的右规则:alph(—)
后分隔符的左规则:alph(—) -后分隔符的右规则html (</a〉) html (<br〉) html (<div〉) alph (J 在这里不仅前分隔符的左规则中添加了一条规则,同时后分割符的右规则 的最后一个token也发生了改变,原来的alph (Farmer)变成了alph(—)。这 是由于在添加新的训练网页后在同一位置出现了 General和Farmer两个 token,导致了泛化,最终分隔符规则中的alphtoken中的内容被泛化成为
了 ,, ,,
其前分隔符{AET: author}的左规则中相比于上一个例子中少了 〈aX/a〉标 签,那么原有的分隔符规则就不能够对这个例子进行抽取,为此将这个网页标 注出籴并将其作为训练网页重新生成规则,新的规则如前在前分隔符的左规则中添加了一条
alph (Author) html (<tr》html (<td》html (〈a》html (</a》html (<a》规则。
最后当处理完所有的训练网页后就会生成最终用于抽取的第二 wrapper 文件,在该第二 wrapper文件中会包含所有属性的分隔符的左右规则和状态属 性之间跳转的规则以及记录之间跳转的规则。
前一记录的结束的分隔符和后一记录的开始的分隔符对应的左右规则为 记录之间跳转的规则。
前一属性的后分隔符和后一属性的前分隔符对应的左右规则为属性之间 跳转的规则。
例如某论坛网页中有多个回帖我们需要抽取出每个回帖的作者和回帖内 容,每个回帖被认为是一个记录。现用A和⑨A表示作者属性的前后分隔符,C 和表示回帖内容属性的前后分隔符,RB和RE表示记录开始和记录结束分隔 符。wra卯er文件中包含了 RB到跳转A的左右规格,A跳转到⑥A的左右规则, 錢A跳转到C的左右规则,C跳转到l的左右规则,@C跳转到RE的规则和RE 跳转到RB的规则,通过找到所有分隔符之间的跳转规则,实现对页面中所有 记录和所有属性的识别。
在线抽取模块105的具体实现方式如下所述。
具体实现方式如下所述。
将待抽取的网页转化为token序列,在转成为token序列的过程中,token 序列的组成同第二 wrapper文件生成中的token类型和生成方法。读入第二 wrapper文件,将其解析成为一个保存在内存中的不确定自动机中。遍历token 序列,对每个token,确定token所在当前状态是否符合该状态的跳转规则, 如果是,则跳转到下一状态,在当前状态和下一状态分别对应一个属性的前后 分隔符时,将当前状态对应的分隔符和下一状态对应的分割符间网页文本作为 分隔符对应的属性的值保存。
本发明网页信息抽取方法的流程图如图3所示。
步骤S301,从网页集合中选取待自动标注网页,根据用户标注的训练网 页将所述待自动标注网页分类,同时生成训练网页对应的类别的网页模板。 步骤S301的进一步包括步骤311,进行所述从网页集合中选取待自动标注网页的操作。
步骤312,构建用户标注的训练网页的D0M树和所述待自动标注网页的DOM 树,所述训练网页的D酒树为所述训练网页对应的类别的网页模板。
步骤313,在所述训练网页的DOM树中确定一条被标记记录中的所有节点 的共同祖先节点,查找所述祖先节点的所有同名的邻居节点;判断以所述同名 的邻居节点为根节点的子树同以所述被标记记录中的节点为根节点的子树的 相似度是否大于预设阈值,如果是,则确定所述同名的邻居节点和所述被标记 记录中的节点为重复数据节点;否则,在所述祖先节点的上一层节点中査找直 到找到重复数据节点或査找到所述训练网页的DOM树的根节点为止。
步骤314,计算所述训练网页的DOM树同所述待自动标注网页的DOM树的 相似度,如果所述相似度大于预设阈值,确定所述待自动标注网页属于所述训 练网页对应的类别,将所述网页模板同所述类别的待自动标注网页的D0M树进 行匹配,将所述网页模板中未被匹配并且不为所述重复数据节点的节点删除, 将所述网页模板中以除所述被标记记录中的节点外的重复数据节点为根节点 的子树同以所述被标记记录中的节点为根节点的子树进行匹配,将所述以除所 述被标记记录中的节点外的重复数据节点为根节点的子树中未被匹配的节点 屏蔽;否则,执行步骤315;
所述步骤315,提示用户对所述待自动标注网页进行标注,以生成新的训 练网页,执行步骤S312。
步骤S302,依据所述网页模板屏蔽待自动标注网页同其所属类别的网页 模板间的差异。
所述步骤S302进一步为将同一类别中所述待自动标注网页的D0M树同所 述网页模板进行匹配,将所述待自动标注网页的D0M树中未被匹配的节点屏 蔽。
步骤S303,解析所述类别对应的训练网页,生成第一包装器文件,按所 述第一包装器文件对所述类别的待自动标注网页进行自动标注,以生成新的训 练网页。
所述步骤S303进一步为,将所述训练网页转化为标记序列,定位所述标 注的数据的前后分隔符,确定所述分隔符的左右规则,将每个分隔符作为不确 定状态机的一个状态,将每个分隔符对应的左右规则作为从当前状态跳转到下一状态的跳转规则;;依据第一包装器文件进行自动标注。
步骤S304,解析所有训练网页,生成第二包装器文件。 所述步骤S304进一歩包括
步骤341,将所述训练网页转化为标记序列,定位所述标注的数据的前后 分隔符,确定所述分隔符的左右规则;
步骤342,每个分隔符为不确定状态机的一个状态,每个分隔符对应的左 右规则为从当前状态跳转到下一状态的跳转规则。
步骤S305,应用所述第二包装器文件对所述网页集合中未被选取的网页 信息进行抽取。
所述步骤S305进一步为将所述未被选取的网页转化为标记序列;遍历所 述标记序列中标记,判断标记是否符合当前状态的跳转规则,如果是,则跳转 到下一状态;在所述当前状态和所述下一状态分别对应一个属性的前后分隔符 时,将所述当前状态对应的分隔符和所述下一状态对应的分割符间网页文本作 为所述分隔符对应的属性的值保存。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条 件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于 以上的说明,而是由权利要求书的范围来确定的。
权利要求
1. 一种网页信息抽取的系统,其特征在于,包括模板生成模块,用于从网页集合中选取待自动标注网页,根据用户标注的训练网页对所述待自动标注网页进行分类,同时生成所述训练网页对应的类别的网页模板;网页同质化模块,用于依据所述类别的网页模板屏蔽属于所述类别的待自动标注网页同所述类别的网页模板间的差异;自动标注模块,用于解析所述类别的训练网页,生成第一包装器文件,按所述第一包装器文件对所述类别的待自动标注网页进行自动标注,以生成新的训练网页;包装器文件生成模块,用于解析所有训练网页,生成第二包装器文件;在线抽取模块,用于应用所述第二包装器文件对所述网页集合中未被选取的网页信息进行抽取。
2. 如权利要求l所述的网页信息抽取的系统,其特征在于, 所述模板生成模块进一步用于进行所述从网页集合中选取待自动标注网页的操作,构建用户标注的训练网页的D0M树和所述待自动标注网页的D0M 树,所述训练网页对应的类别的网页模板为所述训练网页的DOM树,计算所述 训练网页的D0M树同所述待自动标注网页的D0M树的相似度,以进行相似度比 较,如果所述相似度大于预设阈值,则所述待自动标注网页属于所述训练网页 对应的类别,否则,提示用户对所述待自动标注网页进行标注,以生成新的训 练网页,构建所述新的训练页的DOM树和待自动标注网页的DOM树,新的训练 网页对应的类别的网页模板为所述新的训练网页的D0M树,将新的训练页的 D0M树同待自动标注网页的D0M树进行所述相似度比较,以完成分类。
3. 如权利要求2所述的网页信息抽取的系统,其特征在于, 所述模板生成模块还用于利用所述类别中的待自动标注网页的D0M树简化所述网页模板。
4. 如权利要求3所述的网页信息抽取的系统,其特征在于, 所述模板生成模块在简化所述网页模板时进一步用于识别出所述网页模板中的重复数据节点,将所述网页模板同所述类别的待自动标注网页的D0M树进行匹配,将所述网页模板中未被匹配并且不为所述重复数据节点的节点删 除。
5. 如权利要求4所述的网页信息抽取的系统,其特征在于, 所述模板生成模块在识别所述网页模板中的重复数据节点时进一步用于在所述网页模板中确定一条被标记记录中的所有节点的共同祖先节点,査找所述祖先节点的所有同名的邻居节点,判断以所述同名的邻居节点为根节点的子树同以所述被标记记录中的节点为根节点的子树的相似度是否大于预设阈值,如果是,则所述同名的邻居节点和所述被标记记录中的节点为重复数据节点;否则,在所述祖先节点的上一层节点中査找直到找到重复数据节点或查找到所述网页模板的根节点为止。
6. 如权利要求5所述的网页信息抽取的系统,其特征在于, 所述模板生成模块在将所述网页模板简化后还用于将所述网页模板中以除所述被标记记录中的节点外的重复数据节点为根节点的子树同以所述被标 记记录中的节点为根节点的子树进行匹配,将以除所述被标记记录中的节点外 的重复数据节点为根节点的子树中未被匹配的节点屏蔽。
7. 如权利要求2所述的网页信息抽取的系统,其特征在于, 所述网页同质化模块进一步用于将同一类别中所述待自动标注网页的D0M树同所述网页模板进行匹配,将所述待自动标注网页的D0M树中未被匹配 的节点屏蔽。
8. 如权利要求l所述的网页信息抽取的系统,其特征在于, 所述自动标注模块,在解析所述类别的训练网页,生成第一包装器文件时进一歩用于将所述训练网页转化为标记序列,定位所述标注的数据的前后分隔 符,确定所述分隔符的左右规则。
9. 如权利要求8所述的网页信息抽取的系统,其特征在于, 所述自动标注模块,在解析所述类别的训练网页,生成第一包装器文件时还用于将每个分隔符作为不确定状态机的一个状态,将每个分隔符对应的左右 规则作为从当前状态跳转到下一状态的跳转规则。
10. 如权利要求1所述的网页信息抽取的系统,其特征在于, 所述包装器文件生成模块进一步用于将所述训练网页转化为标记序列,定位所述标注的数据的前后分隔符,确定所述分隔符的左右规则;每个分隔符为不确定状态机的一个状态,每个分隔符对应的左右规则为从当前状态跳转到下 一状态的跳转规则。
11. 如权利要求io所述的网页信息抽取的系统,其特征在于,所述在线抽取模块进一步用于将所述网页集合中未被选取的网页转化为 标记序列,遍历所述标记序列中标记,判断标记是否符合当前状态的跳转规则, 如果是,则跳转到下一状态,在所述当前状态和所述下一状态分别对应一个属 性的前后分隔符时,将所述当前状态对应的分隔符和所述下一状态对应的分割 符间网页文本作为所述分隔符对应的属性的值保存。
12. —种网页信息抽取的方法,其特征在于,包括步骤l,从网页集合中选取待自动标注网页,根据用户标注的训练网页对 所述待自动标注网页进行分类,同时生成所述训练网页对应的类别的网页模 板;步骤2,依据所述类别的网页模板屏蔽属于所述类别的待自动标注网页同 所述类别的网页模板间的差异;步骤3,解析所述类别的训练网页,生成第一包装器文件,按所述第一包 装器文件对所述类别的待自动标注网页进行自动标注,以生成新的训练网页;步骤4,解析所有训练网页,生成第二包装器文件;步骤5,应用所述第二包装器文件对所述网页集合中未被选取的网页信息 进行抽取。
13. 如权利要求12所述的网页信息抽取的方法,其特征在于, 所述步骤l进一步为步骤131,进行所述从网页集合中选取待自动标注网页的操作; 步骤132 ,构建用户标注的训练网页的D0M树和所述待自动标注网页的D0M 树,所述训练网页的DOM树作为所述训练网页对应的类别的网页模板,计算所 述训练网页的D0M树同所述待自动标注网页的D0M树的相似度,如果所述相似 度大于预设阈值,确定所述待自动标注网页属于所述训练网页对应的类别,否 则,执行步骤133;所述步骤133,提示用户对所述待自动标注网页进行标注,以生成新的训 练网页,执行所述步骤132。
14. 如权利要求13所述的网页信息抽取的方法,其特征在于,所述步骤132还包括步骤141 ,利用所述类别中的待自动标注网页的DOM树简化所述网页模板。
15. 如权利要求14所述的网页信息抽取的方法,其特征在于,所述步骤141进一步为步骤151,识别出所述网页模板中的重复数据节点;步骤152,在确定所述待自动标注网页属于所述训练网页对应的类别后,将所述网页模板同所述类别的待自动标注网页的D0M树进行匹配,将所述网页模板中未被匹配并且不为所述重复数据节点的节点删除。
16. 如权利要求15所述的网页信息抽取的方法,其特征在于,所述步骤151进一步为步骤161,在所述网页模板中确定一条被标记记录中的所有节点的共同祖先节点,查找所述祖先节点的所有同名的邻居节点;步骤162,判断以所述同名的邻居节点为根节点的子树同以所述被标记记录中的节点为根节点的子树的相似度是否大于预设阈值,如果是,则确定所述同名的邻居节点和所述被标记记录中的节点为重复数据节点;否则,在所述祖先节点的上一层节点中査找直到找到重复数据节点或査找到所述网页模板的根节点为止。
17. 如权利要求16所述的网页信息抽取的方法,其特征在于,所述步骤141后还包括步骤171,将所述网页模板中以除所述被标记记录中的节点外的重复数据节点为根节点的子树同以所述被标记记录中的节点为根节点的子树进行匹配,步骤172,将所述以除所述被标记记录中的节点外的重复数据节点为根节点的子树中未被匹配的节点屏蔽。
18. 如权利要求13所述的网页信息抽取的方法,其特征在于,所述步骤2进一步为,步骤181,将同一类别中所述待自动标注网页的DOM树同所述网页模板进行匹配,将所述待自动标注网页的DOM树中未被匹配的节点屏蔽。
19. 如权利要求12所述的网页信息抽取的方法,其特征在于,所述步骤3中在解析所述类别的训练网页,生成第一包装器文件进一步为,歩骤191,将所述训练网页转化为标记序列,定位所述标注的数据的前后分隔符,确定所述分隔符的左右规则。
20. 如权利要求19所述的网页信息抽取的方法,其特征在于,所述步骤191后还包括-将每个分隔符作为不确定状态机的一个状态,将每个分隔符对应的左右规则作为从当前状态跳转到下一状态的跳转规则。
21. 如权利要求12所述的网页信息抽取的方法,其特征在于,所述步骤4进一步为,步骤211,将所述训练网页转化为标记序列,定位所述标注的数据的前后分隔符,确定所述分隔符的左右规则;步骤212,每个分隔符作为不确定状态机的一个状态,每个分隔符对应的左右规则为从当前状态跳转到下一状态的跳转规则。
22. 如权利要求21所述的网页信息抽取的方法,其特征在于,所述步骤5进一步为步骤221,将所述未被选取的网页转化为标记序列;步骤222,遍历所述标记序列中标记,判断标记是否符合当前状态的跳转规则,如果是,则跳转到下一状态;步骤223,在所述当前状态和所述下一状态分别对应一个属性的前后分隔符时,将所述当前状态对应的分隔符和所述下一状态对应的分割符间网页文本作为所述分隔符对应的属性的值保存。
全文摘要
本发明涉及网页信息抽取的系统和方法,系统包括模板生成模块,用于从网页集合中选取待自动标注网页,根据用户标注的训练网页将待自动标注网页分类,生成分类的类别的网页模板;网页同质化模块,用于依据网页模板屏蔽待自动标注网页同其所属类别的网页模板间的差异;自动标注模块,用于解析类别对应的训练网页,生成第一包装器文件,按第一包装器文件对待自动标注网页进行自动标注,以生成新的训练网页;包装器文件生成模块,用于解析所有训练网页,生成第二包装器文件;在线抽取模块,用于应用第二包装器文件对网页集合中未被选取的网页信息进行抽取。本发明能够对应不同类的网页生成多个模板,并对网页中多个记录和每个记录多个属性进行抽取。
文档编号G06F17/30GK101464905SQ200910076548
公开日2009年6月24日 申请日期2009年1月8日 优先权日2009年1月8日
发明者丁国栋, 博 吴, 刚 张, 宇 王, 程学旗 申请人:中国科学院计算技术研究所