CN102567530A - 一种文章类型网页智能抽取系统及其方法 - Google Patents
一种文章类型网页智能抽取系统及其方法 Download PDFInfo
- Publication number
- CN102567530A CN102567530A CN2011104551565A CN201110455156A CN102567530A CN 102567530 A CN102567530 A CN 102567530A CN 2011104551565 A CN2011104551565 A CN 2011104551565A CN 201110455156 A CN201110455156 A CN 201110455156A CN 102567530 A CN102567530 A CN 102567530A
- Authority
- CN
- China
- Prior art keywords
- piecemeal
- article
- len
- text field
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
一种文章类型网页智能抽取系统,包括:待抽取网页载入模块、包装器查询模块、网页抽取模块、抽取失败网页收集模块、学习判断模块、网页学习模块、抽取包装器管理模块。
Description
技术领域
本发明涉及一种在互联网中进行文章实时智能抓取的系统及其方法,可以应用于需要大规模精准、实时地抓取文章的门户网站、搜索引擎网站等互联网领域。
背景技术
互联网门户类网站每天都有大量的文章转载需求,并且对文章的质量要求很高。现有很多抓取系统可以满足这个需求,但是它们都困扰于下面三个问题:
1)采用机器自动生成抽取包装器技术的抓取系统可以大量抓取文章,但是无法做到文章的精准抽取,抓取文章的可用性低;
2)采用人工生成抽取包装器技术的抓取系统文章抽取结果精准,但是要对互联网上千个网站进行抽取包装器的生成和更新维护工作,普通垂直爬虫无法很好担负这一工作,只能依赖大量的人力参与;
3)安全、高效的实时抓取技术。在要求高实时性抓取的时候,需要对抓取网站服务器频繁的发起链接和下载请求,这将会给对方服务器造成很大的压力,进而会导致对方采用封禁策略如拒绝访问等来保证服务器正常工作,这将导致抓取失败。同时高实时的抓取需求,非常耗费网络、服务器等硬件资源,导致成本上升。
本发明专利较好的解决了上述问题。
本发明专利还具有更多传统抓取系统没有的优点:
通过同站学习可以自动将网站中非文章页面比如频道页、专题页、列表页、广告页过滤;
可以对抓取文章进行近似文档排重;
可以对抓取文章进行语义理解,自动分类,自动生成摘要和关键词;
可以准确寻找某文章数目50以内的分页序列并对分页内容进行顺序合并;
可以对网站抓取范围进行灵活配置。支持抓取网站、频道、任意页面上一个或多个列表区域所属的文章。
在实际应用中,本抓取系统转载文章质量很高,可以直接对外发布面向用户,同时自动适应上千个抓取网站的模版变化,极大的减少了抓取需要的人力参与,在大面积改善门户类网站的新闻覆盖度和实时性同时,也降低了门户类网站的人力成本。
在所有门户类网站中,本专利都有应用场景,可以有效改善其新闻的覆盖度和实时性,同时降低人力成本。
同时新闻类搜索引擎中,本专利也可以应用。
信息抽取领域现在有很多技术方案,核心都是如何生成和维护抽取包装器。技术上主要分下面两类:
1)采用机器自动生成抽取包装器技术的抽取系统可以大量抓取文章,但是无法做到文章的精准抽取,抓取文章的可用性低;
2)采用人工生成抽取包装器技术的抽取系统,文章抽取结果精准,但是要对互联网上千个网站进行抽取包装器的生成和更新维护工作,只能依赖大量的人力参与;
本发明专利的抽取模块以自主研发的“基于同站学习和自动规则生成的文章自动抽取”方法为核心,很好地解决了上面两个问题。
在实际应用中,本技术方案实现了抽取包装器的机器自动生成和维护,使抽取不需要大量的人力参与;同时还实现了文章的精准抽取,抽取结果很少冗余和遗漏,可用性很高。
本发明中涉及一下技术术语,解释如下:
抽取包装器:网页信息抽取是信息抽取中的一类,网页信息抽取的包装器生成技术目前发展成为一个较为独立的领域。包装器是由一系列抽取规则以及应用这些规则的计算机代码组成的,专门从特定信息源中抽取需要的信息并返回结果的程序;
基于同站学习和自动规则生成的文章自动抽取方法:本发明包含的一个包装器自动生成方法,可以精准智能的从网页中抽取出文章信息;
同站学习:按网站为单位,收集一个网站足够量的网页,一起进行机器统计学习,进而从中生成需要的规则;
爬虫(或者抓取爬虫):抓取系统中单独指负责网页下载的模块;
本系统研发的抽取包装器包括两个库:
Style树或者路径库:
Style的集合库。Style指的是某个DOM节点在DOM树中进行节点上寻,直到到body节点,构建出的这样一条路径及其权重信息。在库中,路径都以网站为单位组织,同路径合并成一条,并记录频率作为权重;
模式库:
此处所谓模式包括
1)一个是方法中分段后每一段的如下特征码:
模式=md5((内容:text/img)+段落tag前向遍历序列+site name)+value
其中value是权重信息,也即模式的出现频率。
2)还有一个是对这些段进行统计学习后生成的自动正则:
模式=正则。
发明内容
本发明的文章类型网页智能抽取系统包括:
(1)待抽取网页载入模块,定时查询本地索引,发现新索引就按照索引将网页载入系统内存中;
(2)包装器查询模块,对所有待抽取的网页,查询具体抽取包装器信息,如果查询到,就按照抽取包装器,进入抽取模块,进行具体抽取,否则,将网页标记为抽取失败;
(3)网页抽取模块,从网页中抽取出具体文章信息,借助已有的抽取包装器;
(4)抽取失败网页收集模块,将本轮抽取失败的网页收集起来,按网站分类,以方便进行集中学习;
(5)学习判断模块,按同网站查询抽取失败网页集合,根据每一网站的失败网页数量,计算此网站本轮抽取成功失败比例,决定是否进入网页学习模块;
(6)网页学习模块,对所有失败网页进行机器学习,最后生成新的抽取包装器;
(7)抽取包装器管理模块,对系统的抽取包装器进行管理,也即对路径库和模式库进行管理,,并提供包装器使用接口给网页抽取模块,提供包装器更新接口给网页学习模块。
所述网页抽取模块还包括:
HTML解析模块,对传入网页,解析html构建DOM树;
正文域寻找模块,根据包装器信息,寻找正文域;
文章头和分页信息提取模块,用于提取文章头信息和文章分页信息;
正文域修正模块,用于修正正文域;正文域分块模块,用于对正文域分块,同时进行分块属性判定和冗余分块去除;
分段过滤模块,用于对正文域进行分段,同时逐段过滤;
数据整理模块,用于合并和整理信息,形成文章类型结果;
数据整理模块,用于生成最后文章信息。
所述网页学习模块还包括:
HTML解析模块,对传入网页,解析html构建DOM树;
正文域寻找模块,用于寻找正文域;
路径库更新模块,用于入库合并,同时对路径库进行整理;
文章头和分页信息提取模块,用于提取文章头信息和文章分页信息;
正文域修正模块,用于修正正文域;
正文域分块模块,用于对正文域分块,同时进行分块属性判定和冗余分块去除;
分段学习模块,进行正文域分段,逐段构建模式,入模式库合并;
模式归纳模块,对所有模式进行归纳,生成规则,入模式库合并;
包装器整理模块,对系统包装器进行整理,去除已经无效的信息。
所述正文域分块模块,还包括:
频繁模式识别模块,采用MDR方法来识别频繁模式;
分块模块,对得到的频繁模式,进行分块标题寻找、分块父节点上寻,以得到最合适的分块节点组合,然后组合形成分块;
分块标记模块,在正文域DOM树中对所有识别出来的分块进行标记。
本发明的文章类型网页智能抽取方法包括如下步骤:
步骤1,待抽取网页载入。每隔一段时间就载入所有待抽取的网页集合;如果没有待抽取网页,直接进入步骤6;
步骤2,包装器查询。对所有待抽取的网页,查询具体抽取包装器信息,如果查询到,就进入步骤4,进行具体抽取;否则,抽取失败,进入步骤5;
步骤3,网页抽取。按照包装器,对网页进行具体抽取,抽取结束后将抽取结果组织成文章类型;
步骤4,标记抽取失败。将抽取失败网页标记,以方便步骤6收集,同时转步骤2;
步骤5,收集所有抽取失败网页,形成抽取失败网页集合;
步骤6,学习判断。按同网站查询抽取失败网页集合,对每一网站的失败网页集合,判断此网站本轮抽取成功失败比例,决定是否进行机器学习;如果学习,加入待学习网页集合;
步骤7,网页学习。对每一个网站的所有失败网页进行学习,生成新的抽取包装器;
步骤8,抽取包装器管理。将新的抽取包装器放入包装器集合中;
步骤9,结束。
本发明的文章类型网页智能抽取方法核心环节是抽取环节、学习环节。抽取环节,即,上述步骤3,包括如下步骤:
步骤3.1,HTML解析。对传入网页,解析html构建DOM树;
先对html做预处理,包括字符格式转换,script/style内容过滤,不可视字符剔除等;然后根据html代码及html规范,采用HtmlParser组件来解析网页并得到DOM树;
步骤3.2,寻找正文域;在抽取包装器的style树中查询此网站的定位路径,提取出正文域路径,然后按照路径,在DOM树中遍历,定位到具体DOM节点,这个节点就是我们要找的正文域;
步骤3.3,提取文章头信息和文章分页信息;文章头信息,主要是文章标题信息的提取步骤包括:
(1)提取正文域内开头的若干行,分别计算这些行的标题匹配度并提取最大,得到域内的候选标题行;此处“行”是指根据html的换行标签比如<br>、<P>等对整个网页的DOM树进行分割后形成的一些相邻dom节点集合,以及其对应的html代码;
(2)正文域前边的若干行,分别计算这些行的标题匹配度并提取最大,得到域前的候选标题行;
(3)然后,根据启发规则及标题匹配度比较,从中选择一个做标题;
标题匹配度的衡量公式如下:
Pt=a*(1-lenpunc/lenall)+b*(1-lentitle/lenmax_title)+c*(1-lenkeywords/lenmax_keywords)+d*(1-lensummery/lenmax_summery)+e*(1-lenauthortext/lenmax_authortext)+f*WH+g*Hlen
其中:
lenpunc是行中标点符号长度;
lenall是行中所有文字长度;
lentitle是行内容和网页中title字段内容的编辑距离;
lenmax_title是行内容和网页中title字段内容中的最大值;
Keywords指的是网页自带的关键词信息;summery指的是网页自带的摘要字段;authortext指的是网页url对应的锚文字;这三种类型变量意义和上述类似;
WH是标签类型加权,行所属的所有节点中出现h1 h2…center等标签,会给节点加权;
Hlen是节点内容长度加权,在大量统计后发现,标题长度在16-23间最常见,其它区间都有各自的分布概率,以此计算出节点的长度加权;
a,b,c,d,e,f,g是各个因素的影响因子,在应用中可以修正。
文章分页信息,其识别方法是,在正文域的尾部寻找若干行,逐行进行数字序列发现;如果发现了连续的数字序列,比如“1,2,3,4,5,6…”等,而且这些数字本身带有的url链接信息和本网页属于一个网站,则识别成功。
步骤3.4,修正正文域;
借助于新闻文章格式的提示帮助,结合上面步骤的文章头信息,文章尾信息(分页信息),可以修正正文域,使其更加尽量精确:
1)在域前寻找到文章头(标题、时间等)后,对正文域修正:
文章头在域内,剪去文章头以前信息;
文章头在域外,合并之间部分入正文域;
2)在域尾寻找到文章尾信息后(分页等):
如果文章尾在域内,则剪去域中尾后部分;
如果文章尾在域外,不修正。
步骤3.5,对正文域分块;包括分块和分块属性判定及冗余分块去除两个步骤;其中分块的步骤如下:
步骤3.5.1,采用MDR方法来识别频繁模式(这个方法是Bing liu提出的);
步骤3.5.2,对得到的模式,进行分块标题寻找、分块等父节点上寻,以得到最合适的分块节点组合;然后组合形成分块;
步骤3.5.3,在正文域DOM树中对所有识别出来的分块进行标记;
同时,在构建分块树时依据以下准则:
(1)同父所有子节点中,标记出的分块之间节点也是一个分块,第一个分块之前的节点是一个分块,最后边分块之后节点是一个分块;
(2)如果节点子树中存在标记出的分块,则节点本身也是一个分块;
其中正文域分块之分块属性判定和冗余分块去除;具体去除方法是:
(1)在得到的分块中,判定其链接文字和总体文字数目比。
(2)如果分块的链接比大于阈值(0.5f),则认为是冗余分块,树中去除,用hr标签替代;
(3)对剩余的频繁模式识别出的分块,由于它们明确的语义信息,将为它们做好标记,使它们在后续操作中不再拆分(比如一个电视节目表格);
步骤3.6,正文域分段过滤;
对正文域分块树进行分段,从而得到正文分段序列。之所以要分段,是因为经过一些观察后发现,冗余信息都是以段或多段的形式出现的,所以为了后续动作中去除冗余信息的方便,对正文域进行了段化。
然后进行正文域分段之逐段过滤;
(1)生成模式。对所有段,提取其html代码,进行html片段简化,只留下tag名称和内容,取md5 key,构建成模式;
模式表达如下:
模式=md5((内容:text/img)+段落tag前向遍历序列+site name)+value
其中value是权重信息,也即模式的出现频率;
(2)逐段过滤。将得到的模式放入包装器的模式库,进行入库合并;
模式库查询到相同模式,则模式加权,也即将value字段合并加权;
如果没有查找到,则入库。
步骤3.7,数据整理,结果生成;合并整理信息,抽取摘要等,抽取成功;
步骤3.8,抽取结束。
在学习环节,即,上述步骤7,包括:
步骤7.1,HMTL解析。对传入网页,解析html构建DOM树;
步骤7.2,寻找正文域;通过正文域识别方法来定位正文域。
定位正文域的目的是初步寻找正文的合理区域,减少方法处理的Dom树范围,同时减少了方法的出错概率;
正文包含在一个或多个嵌套的Div、Table节点中,正文定域就是寻找最合适的这样一个Div或Table;通过一个信息度最高的Div或Table来实现;信息度计算公式:
H=lennot_link*log(1+lenlink/lenallTxt)+a*lennot_link*log(1+lennot_link/lenhtml)
其中:
a是影响因子,目前默认为0.5;
lennot_link是节点中非连接文字长度;
lenallTxt是节点中所有文字长度;
lenhtml是节点的html长度;
计算时,log中参数加1,使log运算结果都>0;
找到这个想要的Div或者Table后,在DOM树中回溯到body节点,回溯结束后,就形成了一条路径;回溯过程中,记录经过DOM节点的位置信息,也即每一个DOM节点在父节点中的从左到右的序号。
最后,得到一条DOM树路径,同时路径的节点还有其位置信息
步骤7.3,路径入库合并;将上述路径并入系统包装器之路径库,并入时,同路径合并加权;
如果发现重复的路径,进行合并加权,加权是修改DFS字段,也即将新路径的DFS值加入旧路径;
如果没有发现重复,新路径入库就可以了;
步骤7.4,提取文章头信息和文章分页信息;包括:
文章头信息,主要是标题信息的提取方法是:
(1)提取正文域内开头的若干行,分别计算这些行的标题匹配度并提取最大,得到域内的候选标题行;
(2)正文域前边的若干行,分别计算这些行的标题匹配度并提取最大,得到域前的候选标题行;
(3)然后,根据启发规则及标题匹配度比较,从中选择一个做标题;
标题匹配度的衡量公式如下:
Pt=a*(1-lenpunc/lenall)+b*(1-lentitle/lenmax_title)+c*(1-lenkeywords/lenmax_keywords)+d*(1-lensummery/lenmax_summery)+e*(1-lenauthortext/lenmax_authortext)+f*WH+g*Hlen
其中:
lenpunc是行中标点符号长度;
lenall是行中所有文字长度;
lentitle是行内容和网页中title字段内容的编辑距离;
lenmax_title是行内容和网页中title字段内容中的最大值;
Keywords指的是网页自带的关键词信息;summery指的是网页自带的摘要字段;authortext指的是网页url对应的锚文字;这三种类型变量意义和上述类似;
WH是标签类型加权,行所属的所有节点中出现h1 h2…center等标签,会给节点加权;
Hlen是节点内容长度加权,在大量统计后发现,标题长度在16-23间最常见,其它区间都有各自的分布概率,以此计算出节点的长度加权;
a,b,c,d,e,f,g是各个因素的影响因子,在应用中可以修正。
文章分页信息识别方法是,在正文域的尾部寻找若干行,逐行进行数字序列发现;如果发现了连续的数字序列,比如“1,2,3,4,5,6…”等,而且这些数字本身带有的url链接信息和本网页属于一个网站,则识别成功;
步骤7.5,修正正文域;
借助于新闻文章格式的提示帮助,结合上面步骤的文章头信息,文章尾信息(分页信息),可以修正正文域,使其更加尽量精确:
1)在域前寻找到文章头(标题、时间等)后,对正文域修正:
文章头在域内,剪去文章头以前信息;
文章头在域外,合并之间部分入正文域;
2)在域尾寻找到文章尾信息后(分页等):
如果文章尾在域内,则剪去域中尾后部分;
如果文章尾在域外,不修正。
步骤7.6,对正文域分块,包括分块以及分块属性判定以及冗余分块去除;其中分块的具体步骤如下:
步骤7.6.1,采用MDR方法来识别频繁模式(这个方法是Bing liu提出的);
步骤7.6.2,对得到的频繁模式,进行分块标题寻找、分块等父节点上寻,以得到最合适的分块节点组合;然后组合形成分块;
步骤7.6.3,在正文域DOM树中对所有识别出来的分块进行标记;
同时,在构建分块树时依据以下准则:
(1)同父所有子节点中,标记出的分块之间节点也是一个分块,第一个分块之前的节点是一个分块,最后边分块之后节点是一个分块;
(2)如果节点子树中存在标记出的分块,则节点本身也是一个分块;
其中分块属性判定和冗余分块去除的方法如下:
(1)在得到的分块中,判定其链接文字和总体文字数目比。
(2)如果分块的链接比大于阈值(0.5f),则认为是冗余分块,树中去除,用hr标签替代;
(3)对剩余的频繁模式识别出的分块,由于它们明确的语义信息,将为它们做好标记,使它们在后续操作中不再拆分(比如一个电视节目表格);
步骤7.7,分段学习,先进行正文域分段;
对正文域分块树进行分段,从而得到正文分段序列。之所以要分段,是因为经过一些观察后发现,冗余信息都是以段或多段的形式出现的,所以为了后续动作中去除冗余信息的方便,对正文域进行了段化。
在分完段后,所有段,生成模式;
模式生成过程是,对所有段,提取其html代码,进行html片段简化,只留下tag名称和内容,取md5key,构建成模式;
模式表达如下:
模式=md5((内容:text/img)+段落tag前向遍历序列+site name)+value
其中value是权重信息,也即模式的出现次数。
然后进行逐个模式的学习。学习方式是:
将得到的模式放入包装器的模式库,进行入库合并。模式库查询到相同模式,则模式加权,也即将value字段合并加权;如果没有查找到,则入库就可以了;
步骤7.8,模式归纳,也即自动正则生成;
模式归纳的具体步骤如下:
步骤7.8.1:对库中所有模式,提取原串,按网站分组,每组按字符串相似度进行聚类,得到高内聚的几个分组;
步骤7.8.2:对得到每个分组,其内,对每对分段计算其合并后的正则,得到所有可能的不同正则;这些正则的出现频率按高低排序,取最大的那个;再验证第二大的那个,如果能够覆盖组内部分未覆盖分段且权重适当,则其也是可取的模式;
提取两个分段的模式:递归地寻找两个分段剩余部分最优共同片段;片段前部分就是不同,需要合并的地方;这总体是一个借助二维表格动态规划的方法;
步骤7.8.3:对得到的所有正则,保留那些权重高于某个阈值项的,然后加入模式库中;
模式归纳结束后,得到若干条正则;加入权重value信息,入模式库中;
步骤7.9,结束。
上述所有学习环节最后都更新了两个库:style树库(路径库)、模式库;将更新后的这两个库整理入总体包装器库,完成了所有学习步骤。
本发明技术上主要包括如下几个关键点:
信息抽取技术(抽取包装器生成技术)。采用人工生成和维护抽取包装器的抓取系统,可以精准抽取文章信息,但是不能自动发现和适应抓取源的变化,及时修正包装器;从而导致文章抽取出现失败,且不能自动修复;相应,维护人力和成本太高;现有采用智能技术如统计学习、最大熵模型、网页视觉分块方法等生成抽取包装器的抓取系统,可以做到自动维护抽取包装器,从而减少了人力成本;但是实际应用中,存在抽取错误(内容冗余和缺失)较多,对全互联网域的不同网站适应性不强的问题;有些不能做到包装器的及时更新修正,抓取失败多。
实时抓取技术。在要求高实时性抓取的时候,需要对抓取网站服务器频繁的发起链接和下载请求,如果不能做好频率控制,将给对方服务器造成很大的压力,进而会导致对方采用封禁策略如拒绝访问等来保证服务器正常工作,这将导致抓取失败。同时高实时的抓取需求,极其耗费网络等硬件资源,导致成本上升。现有很多抓取系统通过采用抓取频率控制、增加抓取服务器的方式来保障抓取的实时性。
大规模文档近似排重技术。现有很多技术和系统能对文档进行近似排重,本系统采用自己开发的关键词提取技术,结合倒排索引这个一高效查找模型,实现了大规模文档的快速近似排重。
文章自动关键词技术。常用的自动关键词技术,有两个缺点,一个是不能很好的发现新词和组合词,如“利比亚动乱”;另外就是经常会出现错词,准确度不够。本系统对我们常用的关键词提取技术进行了改进,从而能够更多地发现新词和组合词,能够使关键词提取更准确。
附图说明
图1文章实时智能抓取系统模块结构图;
图2文章实时智能抓取系统数据流程图;
图3本发明的文章类型网页智能抽取系统模块结构图;
图4网页抽取模块的模块结构图;
图5网页学习模块的模块结构图;
图6正文域分块模块的模块结构图;
图7基于同站学习和自动规则生成的文章自动抽取方法的总体流程图;
图8基于同站学习和自动规则生成的文章自动抽取方法的总体流程图;
图9基于同站学习和自动规则生成的文章自动抽取方法的学习环节流程图;
图10正文域分块模块的数据流程图;
图11抽取方法之正文域修正示意图;
图12--图19基于凤凰网的网页抽取示例。
具体实施方式
实时智能抓取系统共由5个模块或者子系统构成,如图1所示。包括:实时抓取模块,文章类型网页智能抽取系统,文档近似排重模块,文档自动分类模块,文章发布模块。
本发明的文章类型网页智能抽取系统的详细技术方案
信息抽取领域现在有很多技术方案,核心都是如何生成和维护抽取包装器。技术上主要分下面两类:
1)采用机器自动生成抽取包装器技术的抽取系统可以大量抓取文章,但是无法做到文章的精准抽取,抓取文章的可用性低;
2)采用人工生成抽取包装器技术的抽取系统,文章抽取结果精准,但是要对互联网上千个网站进行抽取包装器的生成和更新维护工作,只能依赖大量的人力参与;
本发明专利的抽取模块以自主研发的“基于同站学习和自动规则生成的文章自动抽取”方法为核心,很好地解决了上面两个问题。
在实际应用中,本技术方案实现了抽取包装器的机器自动生成和维护,使抽取不需要大量的人力参与;同时还实现了文章的精准抽取,抽取结果很少冗余和遗漏,可用性很高。
本发明的文章类型网页智能抽取系统主要包括如下几个子模块,如图3:
(1)待抽取网页载入模块,主要负责定时查询本地索引,发现新索引就按照索引将网页载入系统内存中;
(2)包装器查询模块,对所有待抽取的网页,查询具体抽取包装器信息,如果查询到,就按照抽取包装器,进入抽取模块,进行具体抽取,否则,将网页标记为抽取失败;
(3)网页抽取模块,负责从网页中抽取出具体文章信息。借助已有的抽取包装器;
(4)抽取失败网页收集模块,负责将本轮抽取失败的网页收集起来,按网站分类,以方便进行集中学习;
(5)学习判断模块,按同网站查询抽取失败网页集合,根据每一网站的失败网页数量,计算此网站本轮抽取成功失败比例,决定是否进入网页学习模块;
(6)网页学习模块,负责对所有失败网页进行机器学习;最后生成新的抽取包装器;
(7)抽取包装器管理模块,负责对系统的抽取包装器进行管理,也即对路径库和模式库进行管理,,并提供包装器使用接口给网页抽取模块,提供包装器更新接口给网页学习模块。
所述网页抽取模块还包括:
HTML解析模块,对传入网页,解析html构建DOM树;
正文域寻找模块,根据包装器信息,寻找正文域;
文章头和分页信息提取模块,用于提取文章头信息和文章分页信息;
正文域修正模块,用于修正正文域;正文域分块模块,用于对正文域分块,同时进行分块属性判定和冗余分块去除;
分段过滤模块,用于对正文域进行分段,同时逐段过滤;
数据整理模块,用于合并和整理信息,形成文章类型结果;
数据整理模块,用于生成最后文章信息。
所述网页学习模块还包括:
HTML解析模块,对传入网页,解析html构建DOM树;
正文域寻找模块,用于寻找正文域;
路径库更新模块,用于入库合并,同时对路径库进行整理;
文章头和分页信息提取模块,用于提取文章头信息和文章分页信息;
正文域修正模块,用于修正正文域;
正文域分块模块,用于对正文域分块,同时进行分块属性判定和冗余分块去除;
分段学习模块,进行正文域分段,逐段构建模式,入模式库合并;
模式归纳模块,对所有模式进行归纳,生成规则,入模式库合并;
包装器整理模块,对系统包装器进行整理,去除已经无效的信息。
所述正文域分块模块,还包括:
频繁模式识别模块,采用MDR方法来识别频繁模式;
分块模块,对得到的频繁模式,进行分块标题寻找、分块父节点上寻,以得到最合适的分块节点组合,然后组合形成分块;
分块标记模块,在正文域DOM树中对所有识别出来的分块进行标记。
网页抽取和学习模块的核心是“基于同站学习和自动规则生成的文章自动抽取”方法。
文章类型网页智能抽取方法主要包括两个部分:抽取环节、学习环节。
文章类型网页智能抽取方法的总体流程图如图7所示,具体步骤是:
步骤1,待抽取网页载入。每隔一段时间就载入所有待抽取的网页集合;如果没有待抽取网页,进入步骤6;
步骤2,包装器查询。对所有待抽取的网页,查询具体抽取包装器信息,如果查询到,就进入步骤4,进行具体抽取;否则,抽取失败,进入步骤5;
步骤3,网页抽取。按照包装器,对网页进行具体抽取,抽取结束后将抽取结果组织成文章类型;
步骤4,标记抽取失败。将抽取失败网页标记,以方便步骤6收集,同时转步骤2;
步骤5,收集所有抽取失败网页,形成抽取失败网页集合;
步骤6,学习判断。按同网站查询抽取失败网页集合,对每一网站的失败网页集合,判断此网站本轮抽取成功失败比例,决定是否进行机器学习;如果学习,加入待学习网页集合;
步骤7,网页学习。对每一个网站的所有失败网页进行学习,生成新的抽取包装器;
步骤8,抽取包装器管理。将新的抽取包装器放入包装器集合中;
步骤9,本轮抽取结束。
抽取方法核心环节是抽取环节、学习环节。下面逐一进行具体介绍。
抽取环节,即,上述步骤3,流程如图8所示:
步骤3.1,HTML解析。对传入网页,解析html构建DOM树;
先对html做预处理,包括字符格式转换,script/style内容过滤,不可视字符剔除等;然后根据html代码及html规范,采用HtmlParser组件来解析网页并得到DOM树;
步骤3.2,寻找正文域;
正文域指的是DOM树中的某个DOM节点,它包含了文章的主要内容信息。寻找方式是,在抽取包装器的style树中查询此网站的定位路径,提取出正文域路径,然后按照路径,在DOM树中遍历,定位到具体DOM节点,这个节点就是我们要找的正文域;
步骤3.3,提取文章头信息和文章分页信息;
文章头信息包括文章标题信息,文章时间信息,文章出处信息等。
提取标题的方法大致如下:
(1)提取正文域内开头的若干行,分别计算这些行的标题匹配度并提取最大,得到域内的候选标题行;此处“行”是指根据html的换行标签比如<br>、<P>等对整个网页的DOM树进行分割后形成的一些相邻dom节点集合,以及其对应的html代码;
(2)正文域前边的若干行,分别计算这些行的标题匹配度并提取最大,得到域前的候选标题行;
(3)然后,根据启发规则及标题匹配度比较,从中选择一个做标题;
标题匹配度的衡量公式如下:
Pt=a*(1-lenpunc/lenall)+b*(1-lentitle/lenmax_title)+c*(1-lenkeywords/lenmax_keywords)+d*(1-lensummery/lenmax_summery)+e*(1-lenauthortext/lenmax_authortext)+f*WH+g*Hlen
其中:
lenpunc是行中标点符号长度;
lenall是行中所有文字长度;
lentitle是行内容和网页中title字段内容的编辑距离;
lenmax_title是行内容和网页中title字段内容中的最大值;
Keywords指的是网页自带的关键词信息;summery指的是网页自带的摘要字段;authortext指的是网页url对应的锚文字;这三种类型变量意义和上述类似;
WH是标签类型加权,行所属的所有节点中出现h1 h2…center等标签,会给节点加权;
Hlen是节点内容长度加权,在大量统计后发现,标题长度在16-23间最常见,其它区间都有各自的分布概率,以此计算出节点的长度加权;
a,b,c,d,e,f,g是各个因素的影响因子,在应用中可以修正。
文章时间信息、文章出处信息是在文章标题位置的下面若干行中进行匹配查找,由于正文域和标题确定后,这个部分很小,所以识别准备度很高;
文章分页信息等识别方法是,在正文域的尾部寻找若干行,逐行进行数字序列发现;如果发现了连续的数字序列,比如“1,2,3,4,5,6…”等,而且这些数字本身带有的url链接信息和本网页属于一个网站,则识别成功;
步骤3.4,修正正文域;
借助于新闻文章格式的提示帮助,结合上面步骤的文章头信息,文章尾信息(分页信息),可以修正正文域,使其更加尽量精确:
如图6所示(其中文章尾信息指的是分页信息),修正方式如下:
1)在域前寻找到文章头(标题、时间等)后,对正文域修正:
文章头在域内,剪去文章头以前信息;
文章头在域外,合并之间部分入正文域;
2)在域尾寻找到文章尾信息后(分页等):
如果文章尾在域内,则剪去域中尾后部分;
如果文章尾在域外,不修正。
步骤3.5,对正文域分块,包括分块以及分块属性判定和冗余分块去除两个步骤,其中所述分块:
正文域分块目的是将页面分成几个完整的区域,逐个区域进行属性判定,进而去除冗余,提高抽取结果的精准度。
正文域分块方法步骤如下:
步骤3.5.1,采用MDR方法来识别频繁模式(这个方法是Bing liu提出的);
步骤3.5.2,对得到的模式,进行分块标题寻找、分块等父节点上寻,以得到最合适的分块节点组合;然后组合形成分块;
步骤3.5.3,在正文域DOM树中对所有识别出来的分块进行标记;
同时,在构建分块时依据以下准则:
(1)同父所有子节点中,标记出的分块之间节点也是一个分块,第一个分块之前的节点是一个分块,最后边分块之后节点是一个分块;
(2)如果节点子树中存在标记出的分块,则节点本身也是一个分块;
步骤3.6,对正文域分块之分块属性判定和冗余分块去除等;
在得到的分块中,判定其链接文字和总体文字数目比;
如果分块的链接比大于阈值(0.5f),则认为是冗余分块,树中去除,用hr标签替代;
对剩余的频繁模式识别出的分块,由于它们明确的语义信息,将为它们做好标记,使它们在后续操作中不再拆分(比如一个电视节目表格);
步骤3.7,正文域分段过滤;
对正文域分块树进行分段,从而得到正文分段序列。之所以要分段,是因为经过一些观察后发现,冗余信息都是以段或多段的形式出现的,所以为了后续动作中去除冗余信息的方便,对正文域进行了段化。
然后进行正文域分段之逐段过滤;
(1)生成模式。对所有段,提取其html代码,进行html片段简化,只留下tag名称和内容,取md5key,构建成模式;
模式表达如下:
模式=md5((内容:text/img)+段落tag前向遍历序列+site name)+value
其中value是权重信息,也即模式的出现频率;
(2)逐段过滤。将得到的模式放入包装器的模式库,进行入库合并;
模式库查询到相同模式,则模式加权,也即将value字段合并加权;
如果没有查找到,则入库。
步骤3.8,数据整理,结果生成;合并整理信息,抽取摘要等,抽取成功;
步骤3.9,抽取结束。
学习环节和抽取环节很多步骤是对应的,有些步骤是相同的。
学习环节,即,上述步骤7,流程如图9所示:
步骤7.1,HMTL解析。对传入网页,解析html构建DOM树;
同抽取环节;
步骤7.2,寻找正文域;
和抽取环节不同,学习环节通过正文域识别方法来定位正文域。
定位定域的目的是初步寻找正文的合理区域,减少方法处理的Dom树范围,同时减少了方法的出错概率;而且,实验中发现,很多网页在正文定域这个阶段就已经正确提出了正文;
根据实验统计,所有的正文都会包含在一个或多个嵌套的Div、Table节点中,所以正文定域的思想就是寻找最合适的这样一个Div或Table来;我们的方法是寻找一个信息度最高的Div或Table来;
信息度计算公式:
H=lennot_link*log(1+lenlink/lenallTxt)+a*lennot_link*log(1+lennot_link/lenhtml)
其中:
a是影响因子,目前默认为0.5;
lennot_link是节点中非连接文字长度;
lenallTxt是节点中所有文字长度;
lenhtml是节点的html长度;
计算墒时,log中参数加1,使log运算结果都>0;
公式考虑链接文字比,可以保证找到非连接文字尽可能多的候选节点;
公式考虑非连接文字和html长度比,可以保证候选节点足够收缩避免找到的候选节点太宽泛;
最后我们找到这个想要的Div或者Table,然后在DOM树中回溯到body节点,回溯结束后,就形成了一条路径;回溯过程中,记录经过DOM节点的位置信息,也即每一个DOM节点在父节点中的从左到右的序号。
最后,我们得到一条DOM树路径,同时路径的节点还有其位置信息,比如:
“Div index=3 DFS=1==>Body index=0 DFS=1==>www.ifeng.com”
步骤7.3,路径入库合并;将上述路径并入系统包装器之路径库,并入时,同路径合并加权;
如果发现重复的路径,进行合并加权,加权是修改DFS字段,也即将新路径的DFS值加入旧路径;
如果没有发现重复,新路径入库就可以了;
步骤7.4,提取文章头信息和文章分页信息;
同抽取环节;
步骤7.5,修正正文域;
同抽取环节;
步骤7.6,对正文域分块;
同抽取环节;
步骤7.7,正文域分块之分块属性判定和冗余分块去除等;
同抽取环节;
步骤7.8,分段学习;
先对正文域分段,方式同抽取环节;
在分完段后,所有段,生成模式;
模式生成过程是,对所有段,提取其html代码,进行html片段简化,只留下tag名称和内容,取md5 key,构建成模式;
模式表达如下:
模式=md5((内容:text/img)+段落tag前向遍历序列+site name)+value
其中value是权重信息,也即模式的出现次数。
然后将得到的模式放入包装器的模式库,进行入库合并。模式库查询到相同模式,则模式加权,也即将value字段合并加权;如果没有查找到,则入库就可以了;
步骤7.9,模式归纳,也即自动正则生成;
模式库中上一步骤得到的模式,有很多事可以正则合并的;
如下所示,类似这些模式是应该正则合并的:
“更多精彩内容,请进健康频道”
“更多精彩图片,请进图片频道”
“更多精彩新闻,请进资讯频道”
合并后模式:
“更多精彩*,请进*频道”
合并后,我们就得到了模式库的另外一种类型的模式:正则。
这个过程叫做模式归纳。
模式归纳的具体步骤如下:
步骤7.9.1:对库中所有模式,提取原串,按网站分组,每组按字符串相似度进行聚类,得到高内聚的几个分组。
字符串相似计算:简单分词,以“词”为单位,计算词编辑距离,得到相似度;分词时html tag为一个词,英文一个单词为一个词,汉字一个字或标点符号为一个词;
聚类方法:K-Means方法;
步骤7.9.2:对得到每个分组,其内,对每对分段计算其合并后的正则,得到所有可能的不同正则;这些正则的可能性(出现频率)按高低排序,取最大的那个(其覆盖面必然最宽);再验证第二大的那个,如果能够覆盖组内部分未覆盖分段且权重适当,则其也是可取的模式;
如何提取两个分段的模式:递归地寻找两个分段剩余部分最优共同片段;片段前部分就是不同,需要合并的地方;这总体是一个借助二维表格动态规划的方法;
不同部分处理:数字不同,则用″\d″合并;数字字母混合不同,用″\d[a-z]″代替;其它不同,用″*″代替;如果是数字不同,则不同部分扩展到各自所属的所有数字序列,以提高适应性;
比如:
″/imgs/89089089.jpg″合并为″/imgs/\d*?.jpg″
″/imgs/89010197.jpg″
步骤7.9.3:对得到的所有正则,保留那些权重高于某个阈值项的,然后加入模式库中;
模式归纳结束后,得到若干条正则;加入权重value信息,入模式库中;
步骤7.10,结束。
上述所有学习环节最后都更新了两个库:style树库(路径库)、模式库;将更新后的这两个库整理入总体包装器库,完成了所有学习步骤。
以下为本抽取系统实际操作示例。
以抓取凤凰网的台湾即时新闻http://news.ifeng.com/taiwan/rss/rtlist_0/index.shtml为例,总个
抽取系统的流程如下:
之前这个即时新闻列表中的所有网页已经被抓取,接下来进入本网页抽取系统:
步骤1,待抽取网页载入。每隔一段时间就载入所有待抽取的网页集合;如果没有待抽取网页,进入步骤6;
此处将抓取到的所有网页载入,计有42篇;
步骤2,对每一个网页,进行包装器查询。根据这批网页的域名www.ifeng.com的提示,我们进入包装器中,查询具体抽取包装器信息,如果查询到,就进入步骤4,进行具体抽取;否则,抽取失败,进入步骤5;
步骤3,网页抽取。按照查询得到的抽取包装器,对网页进行具体抽取,抽取结束后将抽取结果组织成文章类型;后续将以一个链接为“http://news.ifeng.com/mil/3/detail_2011_11/21/10798106_0.shtml”的网页为例,给出具体抽取实例;
步骤4,标记抽取失败。将抽取失败网页标记,以方便步骤6收集,同时转步骤2;
步骤5,收集所有抽取失败网页,形成抽取失败网页集合;此处我们共有26篇抽取失败;
步骤6,学习判断。按同网站查询抽取失败网页集合,对每一网站的失败网页集合,判断此网站本轮抽取成功失败比例,决定是否进行机器学习;如果学习,加入待学习网页集合;
此处我们的抽取成功了16个网页,共有网页42个,成功比例是16/42<0.5,所以需要进行学习;
步骤7,网页学习。对每一个网站的所有失败网页进行学习,生成新的抽取包装器;学习的相应实例将在后面给出;
步骤8,抽取包装器管理。将新的抽取包装器放入包装器集合中;
步骤9,本轮抽取结束。
在上述实例中,需要展开阐述一个具体的网页抽取步骤。此处,我们用一篇网页“http://news.ifeng.com/mil/3/detail_2011_11/21/10798106_0.shtml”,网站是www.ifeng.com为例,演示通过我们的网页抽取步骤,如何得到一篇完整而准确的文章信息。
系统读入一轮待抽取的网页,逐篇处理,其中一篇的链接地址是“http://news.ifeng.com/mil/3/detail_2011_11/21/10798106_0.shtml”,网站是www.ifeng.com;如图12所示:
1.HTML解析,最后构建出DOM树;
先需要进行网页预处理;字符格式转换,script/style内容过滤,不可视字符剔除等;
然后根据html代码及html规范,采用HtmlParser组件来解析网页并得到DOM树;
2.寻找正文域;
通过www.ifeng.com这个域名,在路径库中查到如图13所示这条路径(style):
这样一条dom树路径,指导我们找到如图14所示红框正文域:
3.提取文章头、分页信息;
具体如何抽取标题、分页信息,方法如下:
首先,文章头信息,主要是标题信息的提取方法是:
(1)提取正文域内开头的若干行,分别计算这些行的标题匹配度并提取最大,得到域内的候选标题行;
(2)正文域前边的若干行,分别计算这些行的标题匹配度并提取最大,得到域前的候选标题行;
(3)然后,根据启发规则及标题匹配度比较,从中选择一个做标题;
标题匹配度的衡量公式如下:
Pt=a*(1-lenpunc/lenall)+b*(1-lentitle/lenmax_title)+c*(1-lenkeywords/lenmax_keywords)+d*(1-lensummery/lenmax_summery)+e*(1-lenauthortext/lenmax_authortext)+f*WH+g*Hlen
其中:
lenpunc是行中标点符号长度;
lenall是行中所有文字长度;
lentitle是行内容和网页中title字段内容的编辑距离;
lenmax_title是行内容和网页中title字段内容中的最大值;
Keywords指的是网页自带的关键词信息;summery指的是网页自带的摘要字段;authortext指的是网页url对应的锚文字;这三种类型变量意义和上述类似;
WH是标签类型加权,行所属的所有节点中出现h1 h2…center等标签,会给节点加权;
Hlen是节点内容长度加权,在大量统计后发现,标题长度在16-23间最常见,其它区间都有各自的分布概率,以此计算出节点的长度加权;
a,b,c,d,e,f,g是各个因素的影响因子,在应用中可以修正。
然后,文章分页信息识别方法是,在正文域的尾部寻找若干行,逐行进行数字序列发现;如果发现了连续的数字序列,比如“1,2,3,4,5,6…”等,而且这些数字本身带有的url链接信息和本网页属于一个网站,则识别成功;本实例的网页没有分页;
4.修正正文域;
修正的方式如图11所示,具体阐述如下:
借助于新闻文章格式的提示帮助,结合上面步骤的文章头信息,文章尾信息(分页信息),可以修正正文域,使其更加尽量精确:
1)在域前寻找到文章头(标题、时间等)后,对正文域修正:
文章头在域内,剪去文章头以前信息;
文章头在域外,合并之间部分入正文域;
2)在域尾寻找到文章尾信息后(分页等):
如果文章尾在域内,则剪去域中尾后部分;
如果文章尾在域外,不修正。
5.正文域进行分块,包括分块步骤,以及分块属性判定和冗余分块去除步骤;
分块的步骤包括:
1)MDR方法来识别频繁模式;
2)频繁模式标题寻找等组合节点形成分块。
如图16所示,我们得到了两个分块。
分块属性判定和冗余去除的方式是:
在得到的分块中,判定其链接文字和总体文字数目比;
如果分块的链接比大于阈值(0.5f),则认为是冗余分块,去除(实际上在树中用hr标签替代);
对剩余的频繁模式识别出的分块,由于它们明确的语义信息,将为它们做好标记,使它们在后续操作中不再拆分。
最后正文域被处理后,我们得到如图17所示结果。
6.正文域分段过滤;包括分段、逐段过滤两个步骤;
正文域进行分段,从而得到正文分段序列。
分段后的结果如图18所示:
其中每一个黑色方框中的内容,是一个分段。
逐段过滤,按段入模式库进行模式匹配过滤;
逐个段落提取模式,然后入库匹配;
其中,以下模式被匹配上:
d61477010e231562869e1c39917e1d71==>
1396==>
http://res.img.ifeng.com/58114ce5495e21c0/2011/1102/rdn_4eb0f7f96d1ed.jpg==>
www.ifeng.com:#div#<img src=″http://res.img.ifeng.com/58114ce5495e21c0/2011/1102/rdn_4eb0f7f96d1ed.jpg″/>==>
--------
这将过滤掉步骤18中的尾部图片分段模式,这个图片是一个广告信息,应该被剔除;
最后正文域提取完毕,结果如图19所示。
7.数据整理,结果生成。抽取关键词、摘要等信息,组装成一篇精确抽取的文章;
方法结束。
在总体抽取实例中,还需要展开阐述网页学习的具体步骤。
我们的实例中,共有26篇网页抽取失败,这批网页将全部进入网页学习;
以对其中每一个网页学习为例,其步骤如下:
1.HMTL解析。对传入网页,解析html构建DOM树;
具体方法同上一个抽取实例;
2.寻找正文域;通过正文域识别方法来定位正文域;
(1)提取出网页DOM树中所有的Div、Table节点,然后逐个节点按照如下信息度计算公式计算节点信息度:
H=lennot_link*log(1+lenlink/lenallTxt)+a*lennot_link*log(1+lennot_link/lenhtml)
其中:
a是影响因子,目前默认为0.5;
lennot_link是节点中非连接文字长度;
lenallTxt是节点中所有文字长度;
lenhtml是节点的html长度;
计算时,log中参数加1,使log运算结果都>0;
(2)找到所有节点中信息度最大的那个节点;如图14所示红框正文域,就是我们找到的这个节点;
(3)找到这个想要的Div或者Table后,在DOM树中回溯到body节点,回溯结束后,就形成了一条路径;回溯过程中,记录经过DOM节点的位置信息,也即每一个DOM节点在父节点中的从左到右的序号。
(4)最后,得到如图20所示的一条DOM树路径,同时路径的节点还有其位置信息,DFS信息都是1,也即出现频次是1;
3,路径入库合并;将上述路径并入系统包装器之路径库,并入时,同路径合并加权;
如果发现重复的路径,进行合并加权,加权是修改DFS字段,也即将新路径的DFS值加入旧路径;
如果没有发现重复,新路径入库就可以了;
4,提取文章头信息和文章分页信息;
具体方法同上一个网页抽取实例的对应步骤;
5,修正正文域;
具体步骤同上一个网页抽取实例的对应步骤;
6,对正文域分块,包括分块以及分块属性判定以及冗余分块去除;
具体步骤同上一个网页抽取实例的对应步骤;
7,分段学习,包括正文域分段、逐段生成模式、逐段学习三个步骤;
分段的步骤同上一个网页抽取实例的对应步骤;
逐段生成模式的步骤同上一个网页抽取实例的对应步骤;
d61477010e231562869e1c39917e1d71==>
1396=>
http://res.img.ifeng.com/58114ce5495e21c0/2011/1102/rdn_4eb0f7f96d1ed.jpg=>
www.ifeng.com:#div#<img src=″http://res.img.ifeng.com/58114ce5495e21c0/2011/1102/rdn_4eb0f7f96d1ed.jpg″/>==>
--------
其中第二个字段就是具体的value信息;
将得到的模式放入包装器的模式库,进行入库合并。模式库查询到相同模式,则模式加权,也即将value字段合并相加;如果没有查找到,则入库就可以了;
8,模式归纳,也即自动正则生成;
模式归纳的具体步骤如下:
步骤8.1:对库中所有模式,提取原串,按网站分组,每组按字符串相似度进行聚类,得到高内聚的几个分组;
步骤8.2:对得到每个分组,其内,对每对分段计算其合并后的正则,得到所有可能的不同正则;这些正则的出现频率按高低排序,取最大的那个;再验证第二大的那个,如果能够覆盖组内部分未覆盖分段且权重适当,则其也是可取的模式;
提取两个分段的模式:递归地寻找两个分段剩余部分最优共同片段;片段前部分就是不同,需要合并的地方;这总体是一个借助二维表格动态规划的方法;
步骤8.3:对得到的所有正则,保留那些权重高于某个阈值项的,然后加入模式库中;
模式归纳结束后,得到若干条正则;加入权重value信息,入模式库中;
9,结束。
Claims (28)
1.一种文章类型网页智能抽取系统,包括:
(1)待抽取网页载入模块,定时查询本地索引,发现新索引就按照索引将网页载入系统内存中;
(2)包装器查询模块,对所有待抽取的网页,查询具体抽取包装器信息,如果查询到,就按照抽取包装器,进入抽取模块,进行具体抽取,否则,将网页标记为抽取失败;
(3)网页抽取模块,从网页中抽取出具体文章信息,借助已有的抽取包装器;
(4)抽取失败网页收集模块,将本轮抽取失败的网页收集起来,按网站分类,以方便进行集中学习;
(5)学习判断模块,按同网站查询抽取失败网页集合,根据每一网站的失败网页数量,计算此网站本轮抽取成功失败比例,决定是否进入网页学习模块;
(6)网页学习模块,对所有失败网页进行机器学习,最后生成新的抽取包装器;
(7)抽取包装器管理模块,对系统的抽取包装器进行管理,也即对路径库和模式库进行管理,并提供包装器使用接口给网页抽取模块,提供包装器更新接口给网页学习模块。
2.如权利要求1所述的文章类型网页智能抽取系统,其特征在于,所述网页抽取模块还包括:
HTML解析模块,对传入网页,解析html构建DOM树;
正文域寻找模块,根据包装器信息,寻找正文域;
文章头和分页信息提取模块,用于提取文章头信息和文章分页信息;
正文域修正模块,用于修正正文域;
正文域分块模块,用于对正文域分块;同时进行分块属性判定和冗余分块去除;
分段过滤模块,用于对正文域进行分段,同时逐段过滤;
数据整理模块,用于合并和整理信息,形成文章类型结果。
3.如权利要求1所述的文章类型网页智能抽取系统,其特征在于,所述网页学习模块还包括:
HTML解析模块,对传入网页,解析html构建DOM树;
正文域寻找模块,用于寻找正文域;
路径库更新模块,用于入库合并,同时对路径库进行整理;
文章头和分页信息提取模块,用于提取文章头信息和文章分页信息;
正文域修正模块,用于修正正文域;
正文域分块模块,用于对正文域分块,同时进行分块属性判定和冗余分块去除;
分段学习模块,进行正文域分段,逐段构建模式,入模式库合并;
模式归纳模块,对所有模式进行归纳,生成规则,入模式库合并;
包装器整理模块,对系统包装器进行整理,去除已经无效的信息。
4.如权利要求2或3所述的文章类型网页智能抽取系统,所述正文域分块模块,还包括:
频繁模式识别模块,采用MDR方法来识别频繁模式;
分块模块,对得到的频繁模式,进行分块标题寻找、分块父节点上寻,以得到最合适的分块节点组合,然后组合形成分块;
分块标记模块,在正文域DOM树中对所有识别出来的分块进行标记。
5.一种文章类型网页智能抽取方法,其包括如下步骤:
步骤1,待抽取网页载入;每隔一段时间就载入所有待抽取的网页集合;如果没有待抽取网页,直接进入步骤6;
步骤2,包装器查询;对所有待抽取的网页,查询具体抽取包装器信息,如果查询到,就进入步骤4,进行具体抽取;否则,抽取失败,进入步骤5;
步骤3,网页抽取;按照包装器,对网页进行具体抽取,抽取结束后将抽取结果组织成文章类型;
步骤4,标记抽取失败;将抽取失败网页标记,以方便步骤6收集,同时回到步骤2;
步骤5,收集所有抽取失败网页,形成抽取失败网页集合;
步骤6,学习判断;按同网站查询抽取失败网页集合,对每一网站的失败网页集合,判断此网站本轮抽取成功失败比例,决定是否进行机器学习;如果学习,加入待学习网页集合;
步骤7,网页学习;对每一个网站的所有失败网页进行学习,生成新的抽取包装器;
步骤8,抽取包装器管理;将新的抽取包装器放入包装器集合中;
步骤9,结束。
6.根据权利要求5所述的方法,其中所述步骤3,网页抽取,包括如下步骤:
步骤3.1,HTML解析;对传入网页,解析html构建DOM树;
步骤3.2,寻找正文域;
步骤3.3,提取文章头信息和文章分页信息;
步骤3.4,修正正文域;借助于新闻文章格式的提示帮助,结合上面步骤的文章头信息、文章分页信息,可以修正正文域,使其更精确:
步骤3.5,对正文域分块;然后进行分块属性判定和冗余分块去除;
步骤3.6,正文域分段过滤;先对正文域分块树进行分段,从而得到正文分段序列;然后进行逐段过滤;
步骤3.7,数据整理,结果生成;合并整理信息,抽取摘要等,抽取成功;
步骤3.8,结束。
7.根据权利要求6所述的方法,其中所述步骤3.1,先对html做预处理,包括字符格式转换,script/style内容过滤,不可视字符剔除等;然后根据html代码及html规范,采用HtmlParser组件来解析网页并得到DOM树。
8.根据权利要求6所述的方法,其中所述步骤3.2,在抽取包装器的style树中查询此网站的定位路径,提取出正文域路径,然后按照路径,在DOM树中遍历,定位到具体DOM节点,这个节点就是我们要找的正文域。
9.根据权利要求6所述的方法,其中所述步骤3.3中,所述文章头信息,主要是标题信息,提取步骤包括:
(1)提取正文域内开头的若干行,分别计算这些行的标题匹配度并提取最大,得到域内的候选标题行;此处“行”是指根据html的换行标签比如<br>、<P>等对整个网页的DOM树进行分割后形成的一些相邻dom节点集合,以及其对应的html代码;
(2)提取正文域开头外,前边的若干行,分别计算这些行的标题匹配度并提取最大,得到域前的候选标题行;
(3)然后,根据启发规则及标题匹配度比较,从中选择一个做标题;
10.根据权利要求9所述的方法,其中所述标题匹配度,其衡量公式如下:
Pt=a*(1-lenpunc/lenall)+b*(1-lentitle/lenmax_title)+c*(1-lenkeywords/lenmax_keywords)+d*(1-lensummery/lenmax_summery)+e*(1-lenauthortext/lenmax_authortext)+f*WH+g*Hlen
其中:
lenpunc是行中标点符号长度;
lenall是行中所有文字长度;
lentitle是行内容和网页中title字段内容的编辑距离;
lenmax_title是行内容和网页中title字段内容中的最大值;
Keywords指的是网页自带的关键词信息;summery指的是网页自带的摘要字段;authortext指的是网页url对应的锚文字;这三种类型变量意义和上述类似;
WH是标签类型加权,行所属的所有节点中出现h1 h2…center等标签,会给节点加权;
Hlen是节点内容长度加权,在大量统计后发现,标题长度在16-23间最常见,其它区间都有各自的分布概率,以此计算出节点的长度加权;
a,b,c,d,e,f,g是各个因素的影响因子,在应用中可以修正。
11.根据权利要求6所述的方法,其中所述步骤3.3中,所述文章分页信息,其识别方法是,在正文域的尾部寻找若干行,逐行进行数字序列发现;如果发现了连续的数字序列,比如“1,2,3,4,5,6…”等,而且这些数字本身带有的url链接信息和本网页属于一个网站,则识别成功。
12.根据权利要求6所述的方法,其中所述步骤3.4,包括:
1)在域前寻找到文章头后,对正文域修正:
文章头在域内,剪去文章头以前信息;
文章头在域外,合并之间部分入正文域;
2)在域尾寻找到文章尾信息后:
如果文章尾在域内,则剪去域中尾后部分;
如果文章尾在域外,不修正。
13.根据权利要求6所述的方法,其中所述步骤3.5中正文域分块步骤,包括:
步骤3.5.1,采用MDR方法来识别频繁模式;
步骤3.5.2,对得到的模式,进行分块标题寻找、分块等父节点上寻,以得到最合适的分块节点组合;然后组合形成分块;
步骤3.5.3,在正文域DOM树中对所有识别出来的分块进行标记。
14.根据权利要求13所述的方法,其中所述步骤3.5.2,组合形成分块时,,依据以下准则:
(1)同父所有子节点中,标记出的分块之间节点也是一个分块,第一个分块之前的节点是一个分块,最后边分块之后节点是一个分块;
(2)如果节点子树中存在标记出的分块,则节点本身也是一个分块。
15.根据权利要求6所述的方法,其中所述步骤3.5中分块属性判定和冗余分块去除步骤,方法如下:
在得到的分块中,判定其链接文字和总体文字数目比;
如果分块的链接比大于阈值(0.5f),则认为是冗余分块,树中去除,用hr标签替代;
对剩余的频繁模式识别出的分块,由于它们明确的语义信息,将为它们做好标记,使它们在后续操作中不再拆分。
16.根据权利要求6所述的方法,其中所述步骤3.6,所述正文域逐段过滤方法是,先进行正文域分段,分段方法是根据换行html标签进行切分;然后逐段生成模式;然后进行过滤,过滤方法是,如果模式在包装器的模式库中查询匹配,则模式加权,同时段去除;如果不匹配,则构建新模式,入库,置权为最低。
17.根据权利要求5所述的方法,其中所述网页学习步骤7,包括:
步骤7.1,HMTL解析;对传入网页,解析html构建DOM树;
步骤7.2,寻找正文域;通过正文域识别方法来定位正文域;
步骤7.3,路径入库合并;
将路径并入系统包装器之路径库,并入时,同路径合并加权,加权是修改频率值,也即将新路径的出现频率值加入旧路径;如果没有发现重复,新路径入库就可以了;
步骤7.4,提取文章头信息和文章分页信息;
步骤7.5,修正正文域;
步骤7.6,正文域分块;同时进行分块属性判定和冗余分块去除;
步骤7.7,分段学习。先进行正文域分段;对正文域分块树进行分段,从而得到正文分段序列;然后分段学习,对所有段生成模式,然后入库学习;
步骤7.8,模式归纳,也即自动正则生成;
步骤7.9,结束。
18.根据权利要求17所述的方法,其中在所述步骤7.2,
正文包含在一个或多个嵌套的Div、Table节点中,所述所述寻找正文域就是寻找最合适的一个Div或Table;通过一个信息度最高的Div或Table来实现;所述信息度计算公式:
H=lennot_link*log(1+lenlink/lenallTxt)+a*lennot_link*log(1+lennot_link/lenhtml)
其中:
a是影响因子,目前默认为0.5;
lennot_link是节点中非连接文字长度;
lenallTxt是节点中所有文字长度;
lenhtml是节点的html长度;
计算时,log中参数加1,使log运算结果都>0;
19.根据权利要求18所述的方法,其中,找到所述最合适的Div或者Table后,在DOM树中回溯到body节点,回溯结束后,就形成了一条路径;回溯过程中,记录经过DOM节点的位置信息,也即每一个DOM节点在父节点中的从左到右的序号;最后,得到一条DOM树路径,同时路径的节点还有其位置信息。
20.根据权利要求17所述的方法,其中所述步骤7.4中,所述文章头信息,主要是标题信息,提取步骤包括:
(1)提取正文域内开头的若干行,分别计算这些行的标题匹配度并提取最大,得到域内的候选标题行;此处“行”是指根据html的换行标签比如<br>、<P>等对整个网页的DOM树进行分割后形成的一些相邻dom节点集合,以及其对应的html代码;
(2)正文域前边的若干行,分别计算这些行的标题匹配度并提取最大,得到域前的候选标题行;
(3)然后,根据启发规则及标题匹配度比较,从中选择一个做标题;
21.根据权利要求20所述的方法,其中所述标题匹配度的衡量公式如下:
Pt=a*(1-lenpunc/lenall)+b*(1-lentitle/lenmax_title)+c*(1-lenkeywords/lenmax_keywords)+d*(1-lensummery/lenmax_summery)+e*(1-lenauthortext/lenmax_authortext)+f*WH+g*Hlen
其中:
lenpunc是行中标点符号长度;
lenall是行中所有文字长度;
lentitle是行内容和网页中title字段内容的编辑距离;
lenmax_title是行内容和网页中title字段内容中的最大值;
Keywords指的是网页自带的关键词信息;summery指的是网页自带的摘要字段;authortext指的是网页url对应的锚文字;这三种类型变量意义和上述类似;
WH是标签类型加权,行所属的所有节点中出现h1 h2…center等标签,会给节点加权;
Hlen是节点内容长度加权,在大量统计后发现,标题长度在16-23间最常见,其它区间都有各自的分布概率,以此计算出节点的长度加权;
a,b,c,d,e,f,g是各个因素的影响因子,在应用中可以修正。
22.根据权利要求17所述的方法,其中,所述步骤7.4,所述文章分页信息识别方法是,在正文域的尾部寻找若干行,逐行进行数字序列发现;如果发现了连续的数字序列,比如“1,2,3,4,5,6…”等,而且这些数字本身带有的url链接信息和本网页属于一个网站,则识别成功。
23.根据权利要求17所述的方法,其中,所述步骤7.5,借助于新闻文章格式的提示帮助,结合上面步骤的文章头信息、文章分页信息,可以修正正文域,使其更加精确;包括:
1)在域前寻找到文章头后,对正文域修正:
文章头在域内,剪去文章头以前信息;
文章头在域外,合并之间部分入正文域;
2)在域尾寻找到文章分页信息后:
如果文章尾在域内,则剪去域中尾后部分;
如果文章尾在域外,不修正。
24.根据权利要求17所述的方法,其中,所述步骤7.6之正文域分块步骤包括如下步骤:
步骤7.6.1,采用MDR方法来识别频繁模式(这个方法是Bing liu提出的);
步骤7.6.2,对得到的频繁模式,进行分块标题寻找、分块等父节点上寻,以得到最合适的分块节点组合;然后组合形成分块;
步骤7.6.3,在正文域DOM树中对所有识别出来的分块进行标记。
25.根据权利要求24所述的方法,其中,所述分块组合方式,依据以下准则:
(1)同父所有子节点中,标记出的分块之间节点也是一个分块,第一个分块之前的节点是一个分块,最后边分块之后节点是一个分块;
(2)如果节点子树中存在标记出的分块,则节点本身也是一个分块。
26.根据权利要求17所述的方法,其中,所述步骤7.6之分块属性判定及冗余分块去除步骤,依据如下准则:
在得到的分块中,判定其链接文字和总体文字数目比;
如果分块的链接比大于阈值(0.5f),则认为是冗余分块,树中去除,用hr标签替代;
对剩余的频繁模式识别出的分块,由于它们明确的语义信息,将为它们做好标记,使它们在后续操作中不再拆分。
27.根据权利要求17所述的方法,其中,所述步骤7.7,分段学习,包括:
所述正文域分段方法是:
根据正文域中换行标签的提示,进行内容分割,换行标签之间内容,便是一段;
所述生成模式以及分段学习过程是:
(1)对所有段,提取其html代码,进行html片段简化,只留下tag名称和内容,取md5 key,构建成模式;
模式表达如下:
模式=md5((内容:text/img)+段落tag前向遍历序列+site name)+value
其中value是权重信息,也即模式的出现频率;
(2)然后将得到的模式放入包装器的模式库,进行入库合并;
模式库查询到相同模式,则模式加权,也即将value字段合并加权;
如果没有查找到,则入库。
28.根据权利要求17所述的方法,其中,所述步骤7.8,
所述模式归纳的骤如下:
步骤7.10.1:对库中所有模式,提取原串,按网站分组,每组按字符串相似度进行聚类,得到高内聚的几个分组。
步骤7.10.2:对得到每个分组,其内,对每对分段计算其合并后的正则,得到所有可能的不同正则;这些正则的出现频率按高低排序,取最大的那个;再验证第二大的那个,如果能够覆盖组内部分未覆盖分段且权重适当,则其也是可取的模式;
提取两个分段的模式:递归地寻找两个分段剩余部分最优共同片段;片段前部分就是不同,需要合并的地方;这总体是一个借助二维表格动态规划的方法;
步骤7.10.3:对得到的所有正则,保留那些权重高于某个阈值项的,然后加入模式库中;
模式归纳结束后,得到若干条正则;加入权重value信息,入模式库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110455156.5A CN102567530B (zh) | 2011-12-31 | 2011-12-31 | 一种文章类型网页智能抽取系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110455156.5A CN102567530B (zh) | 2011-12-31 | 2011-12-31 | 一种文章类型网页智能抽取系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567530A true CN102567530A (zh) | 2012-07-11 |
CN102567530B CN102567530B (zh) | 2014-06-11 |
Family
ID=46412929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110455156.5A Active CN102567530B (zh) | 2011-12-31 | 2011-12-31 | 一种文章类型网页智能抽取系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567530B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609456A (zh) * | 2012-01-12 | 2012-07-25 | 凤凰在线(北京)信息技术有限公司 | 一种文章实时智能抓取系统和方法 |
CN103064827A (zh) * | 2013-01-16 | 2013-04-24 | 盘古文化传播有限公司 | 一种网页内容抽取的方法及装置 |
CN103258058A (zh) * | 2013-06-03 | 2013-08-21 | 贝壳网际(北京)安全技术有限公司 | 页面展现方法、系统及浏览器 |
CN103389972A (zh) * | 2013-07-26 | 2013-11-13 | Tcl集团股份有限公司 | 一种基于简易信息聚合获取正文的方法及装置 |
CN103473369A (zh) * | 2013-09-27 | 2013-12-25 | 清华大学 | 基于语义的信息采集方法及系统 |
CN103714116A (zh) * | 2013-10-31 | 2014-04-09 | 北京奇虎科技有限公司 | 网页信息提取方法及设备 |
CN104182429A (zh) * | 2013-05-28 | 2014-12-03 | 腾讯科技(深圳)有限公司 | 网页处理方法和终端 |
CN104636481A (zh) * | 2015-02-16 | 2015-05-20 | 浪潮集团有限公司 | 一种网页模板的提取方法和装置 |
CN105404699A (zh) * | 2015-12-29 | 2016-03-16 | 广州神马移动信息科技有限公司 | 一种搜索财经文章的方法、装置及服务器 |
CN105589913A (zh) * | 2015-06-15 | 2016-05-18 | 广州市动景计算机科技有限公司 | 一种提取页面信息的方法及装置 |
CN106407344A (zh) * | 2016-09-06 | 2017-02-15 | 努比亚技术有限公司 | 一种生成搜索引擎优化标签的方法和系统 |
CN107391559A (zh) * | 2017-06-08 | 2017-11-24 | 广东工业大学 | 基于块、模式识别及行文本的通用论坛正文提取算法 |
CN108932339A (zh) * | 2018-07-12 | 2018-12-04 | 浪潮软件集团有限公司 | 一种在Impala数据库中获得查看查询计划所必需参数值的方法 |
CN109086361A (zh) * | 2018-07-20 | 2018-12-25 | 北京开普云信息科技有限公司 | 一种基于网页节点间互信息的网页文章信息自动抽取方法及系统 |
CN109144513A (zh) * | 2018-08-22 | 2019-01-04 | 上海嘉道信息技术有限公司 | 一种自动抽取列表页的方法 |
CN109582886A (zh) * | 2018-11-02 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 页面内容提取方法、模板的生成方法及装置、介质及设备 |
CN111813890A (zh) * | 2020-07-22 | 2020-10-23 | 江苏宏创信息科技有限公司 | 一种基于大数据的政策画像ai建模系统及方法 |
WO2021226954A1 (zh) * | 2020-05-14 | 2021-11-18 | 深圳市欢太科技有限公司 | 信息爬取方法、装置、电子设备及存储介质 |
CN115658993A (zh) * | 2022-09-27 | 2023-01-31 | 观澜网络(杭州)有限公司 | 一种网页的核心内容的智能化抽取方法及系统 |
WO2023125284A1 (zh) * | 2021-12-30 | 2023-07-06 | 华为技术有限公司 | 搜索方法及电子设备 |
CN116912867A (zh) * | 2023-09-13 | 2023-10-20 | 之江实验室 | 结合自动标注和召回补全的教材结构提取方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273441A1 (en) * | 2004-05-21 | 2005-12-08 | Microsoft Corporation | xParts-schematized data wrapper |
CN1786965A (zh) * | 2005-12-21 | 2006-06-14 | 北大方正集团有限公司 | 一种新闻网页正文信息的提取方法 |
CN101350019A (zh) * | 2008-06-20 | 2009-01-21 | 浙江大学 | 基于预定义槽间向量模型的网页信息抽取方法 |
CN101464905A (zh) * | 2009-01-08 | 2009-06-24 | 中国科学院计算技术研究所 | 一种网页信息抽取的系统及方法 |
CN101515287A (zh) * | 2009-03-24 | 2009-08-26 | 崔志明 | 一种用于复杂页面的包装器自动生成方法 |
-
2011
- 2011-12-31 CN CN201110455156.5A patent/CN102567530B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273441A1 (en) * | 2004-05-21 | 2005-12-08 | Microsoft Corporation | xParts-schematized data wrapper |
CN1786965A (zh) * | 2005-12-21 | 2006-06-14 | 北大方正集团有限公司 | 一种新闻网页正文信息的提取方法 |
CN101350019A (zh) * | 2008-06-20 | 2009-01-21 | 浙江大学 | 基于预定义槽间向量模型的网页信息抽取方法 |
CN101464905A (zh) * | 2009-01-08 | 2009-06-24 | 中国科学院计算技术研究所 | 一种网页信息抽取的系统及方法 |
CN101515287A (zh) * | 2009-03-24 | 2009-08-26 | 崔志明 | 一种用于复杂页面的包装器自动生成方法 |
Non-Patent Citations (1)
Title |
---|
李亚桥等: "基于树结构的包装器全自动生成方法的研究", 《河北工业大学学报》, vol. 36, no. 6, 31 December 2007 (2007-12-31), pages 41 - 46 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609456A (zh) * | 2012-01-12 | 2012-07-25 | 凤凰在线(北京)信息技术有限公司 | 一种文章实时智能抓取系统和方法 |
CN103064827A (zh) * | 2013-01-16 | 2013-04-24 | 盘古文化传播有限公司 | 一种网页内容抽取的方法及装置 |
CN104182429A (zh) * | 2013-05-28 | 2014-12-03 | 腾讯科技(深圳)有限公司 | 网页处理方法和终端 |
CN104182429B (zh) * | 2013-05-28 | 2017-08-25 | 腾讯科技(深圳)有限公司 | 网页处理方法和终端 |
CN103258058B (zh) * | 2013-06-03 | 2016-09-21 | 贝壳网际(北京)安全技术有限公司 | 页面展现方法、系统及浏览器 |
CN103258058A (zh) * | 2013-06-03 | 2013-08-21 | 贝壳网际(北京)安全技术有限公司 | 页面展现方法、系统及浏览器 |
CN103389972A (zh) * | 2013-07-26 | 2013-11-13 | Tcl集团股份有限公司 | 一种基于简易信息聚合获取正文的方法及装置 |
CN103389972B (zh) * | 2013-07-26 | 2017-12-26 | Tcl集团股份有限公司 | 一种基于简易信息聚合获取正文的方法及装置 |
CN103473369A (zh) * | 2013-09-27 | 2013-12-25 | 清华大学 | 基于语义的信息采集方法及系统 |
CN103714116A (zh) * | 2013-10-31 | 2014-04-09 | 北京奇虎科技有限公司 | 网页信息提取方法及设备 |
CN104636481A (zh) * | 2015-02-16 | 2015-05-20 | 浪潮集团有限公司 | 一种网页模板的提取方法和装置 |
CN105589913A (zh) * | 2015-06-15 | 2016-05-18 | 广州市动景计算机科技有限公司 | 一种提取页面信息的方法及装置 |
US10515142B2 (en) | 2015-06-15 | 2019-12-24 | Guangzhou Ucweb Computer Technology Co., Ltd | Method and apparatus for extracting webpage information |
CN105404699A (zh) * | 2015-12-29 | 2016-03-16 | 广州神马移动信息科技有限公司 | 一种搜索财经文章的方法、装置及服务器 |
CN106407344A (zh) * | 2016-09-06 | 2017-02-15 | 努比亚技术有限公司 | 一种生成搜索引擎优化标签的方法和系统 |
CN106407344B (zh) * | 2016-09-06 | 2019-11-15 | 努比亚技术有限公司 | 一种生成搜索引擎优化标签的方法和系统 |
CN107391559A (zh) * | 2017-06-08 | 2017-11-24 | 广东工业大学 | 基于块、模式识别及行文本的通用论坛正文提取算法 |
CN107391559B (zh) * | 2017-06-08 | 2020-06-02 | 广东工业大学 | 基于块、模式识别及行文本的通用论坛正文提取算法 |
CN108932339A (zh) * | 2018-07-12 | 2018-12-04 | 浪潮软件集团有限公司 | 一种在Impala数据库中获得查看查询计划所必需参数值的方法 |
CN109086361B (zh) * | 2018-07-20 | 2019-06-21 | 北京开普云信息科技有限公司 | 一种基于网页节点间互信息的网页文章信息自动抽取方法及系统 |
CN109086361A (zh) * | 2018-07-20 | 2018-12-25 | 北京开普云信息科技有限公司 | 一种基于网页节点间互信息的网页文章信息自动抽取方法及系统 |
CN109144513A (zh) * | 2018-08-22 | 2019-01-04 | 上海嘉道信息技术有限公司 | 一种自动抽取列表页的方法 |
CN109144513B (zh) * | 2018-08-22 | 2022-02-11 | 上海嘉道信息技术有限公司 | 一种自动抽取列表页的方法 |
CN109582886A (zh) * | 2018-11-02 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 页面内容提取方法、模板的生成方法及装置、介质及设备 |
WO2021226954A1 (zh) * | 2020-05-14 | 2021-11-18 | 深圳市欢太科技有限公司 | 信息爬取方法、装置、电子设备及存储介质 |
CN111813890A (zh) * | 2020-07-22 | 2020-10-23 | 江苏宏创信息科技有限公司 | 一种基于大数据的政策画像ai建模系统及方法 |
WO2023125284A1 (zh) * | 2021-12-30 | 2023-07-06 | 华为技术有限公司 | 搜索方法及电子设备 |
CN115658993A (zh) * | 2022-09-27 | 2023-01-31 | 观澜网络(杭州)有限公司 | 一种网页的核心内容的智能化抽取方法及系统 |
CN116912867A (zh) * | 2023-09-13 | 2023-10-20 | 之江实验室 | 结合自动标注和召回补全的教材结构提取方法和装置 |
CN116912867B (zh) * | 2023-09-13 | 2023-12-29 | 之江实验室 | 结合自动标注和召回补全的教材结构提取方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102567530B (zh) | 2014-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567530B (zh) | 一种文章类型网页智能抽取系统及其方法 | |
CN102609456A (zh) | 一种文章实时智能抓取系统和方法 | |
Lin et al. | Discovering informative content blocks from web documents | |
CN106570171A (zh) | 一种基于语义的科技情报处理方法及系统 | |
CN103491205B (zh) | 一种基于视频搜索的关联资源地址的推送方法和装置 | |
CN101957816B (zh) | 基于多页面比较的网页元数据自动抽取方法和系统 | |
US8868621B2 (en) | Data extraction from HTML documents into tables for user comparison | |
CN104281702B (zh) | 基于电力关键词分词的数据检索方法及装置 | |
CN101908071B (zh) | 一种提高搜索引擎搜索效率的方法及其系统 | |
CN104298662B (zh) | 一种基于有机物命名实体的机器翻译方法及翻译系统 | |
CN101599089B (zh) | 视频服务网站内容更新信息的自动搜索与抽取系统及方法 | |
US7516397B2 (en) | Methods, apparatus and computer programs for characterizing web resources | |
CN109271477A (zh) | 一种借助互联网构建分类语料库的方法及系统 | |
CN101968819B (zh) | 面向广域网的音视频智能编目信息获取方法 | |
CN102254014A (zh) | 一种网页特征自适应的信息抽取方法 | |
CN103177120B (zh) | 一种基于索引的XPath查询模式树匹配方法 | |
CN101404036B (zh) | PowerPoint电子演示文稿的关键词抽取方法 | |
CN101373532A (zh) | 旅游领域faq中文问答系统实现方法 | |
CN102339294B (zh) | 一种对关键词进行预处理的搜索方法和系统 | |
CN110362824A (zh) | 一种自动纠错的方法、装置、终端设备及存储介质 | |
CN103226599A (zh) | 一种精确提取网页内容的方法及系统 | |
CN110970112B (zh) | 一种面向营养健康的知识图谱构建方法和系统 | |
CN105022806A (zh) | 基于翻译模板的互联网网页建构移动页面的方法与系统 | |
CN103870495A (zh) | 用于从网站中提取信息的方法和装置 | |
CN103761312B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |