首页> 中国专利> 基于统计和网页结构的Web正文内容抽取方法

基于统计和网页结构的Web正文内容抽取方法

摘要

本发明公开了一种基于统计和网页结构的Web正文内容抽取方法,根据目标网页的HTML源码文档解析得到DOM树,获取各个文本节点的完整标签路径,计算每条完整标签路径对应的文本统计信息标签路径比,将文本统计信息标签路径比的标准差作为系统阈值,然后依次判定每个文本节点的文本统计信息标签路径比是否大于系统阈值,对其进行内容抽取,否则判定以该文本节点为中心的窗口中文本统计信息标签路径比最大值是否大于系统阈值,如果是再判定该最大值对应的完全标签路径与文本节点完整标签路径的编辑距离是否小于阈值,如果是则对其进行内容抽取,其他情况都过滤其内容。本发明结合网页结构和网页文本统计信息来实现对Web网页正文内容的抽取。

著录项

  • 公开/公告号CN105630941A

    专利类型发明专利

  • 公开/公告日2016-06-01

    原文格式PDF

  • 申请/专利权人 成都电科心通捷信科技有限公司;

    申请/专利号CN201510977385.1

  • 发明设计人 孙健;汤露阳;

    申请日2015-12-23

  • 分类号G06F17/30(20060101);

  • 代理机构成都行之专利代理事务所(普通合伙);

  • 代理人温利平;陈靓靓

  • 地址 610041 四川省成都市双流县西南航空港经济开发区创业中心

  • 入库时间 2023-12-18 15:46:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-07

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20200617 变更前: 变更后: 申请日:20151223

    专利申请权、专利权的转移

  • 2018-11-06

    授权

    授权

  • 2017-08-08

    著录事项变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20151223

    著录事项变更

  • 2016-06-29

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20151223

    实质审查的生效

  • 2016-06-01

    公开

    公开

说明书

技术领域

本发明属于Web正文抽取技术领域,更为具体地讲,涉及一种基于统计和网页结构的Web正文内容抽取方法。

背景技术

随着互联网高速发展,Web上的网页数目以指数级速度增长,并且网页信息不仅仅包括与主题相关的正文文本,还包括比如广告、导航信息等大约占据网页文本内容30%-50%的噪声信息。面对内容丰富但混杂的Web网页,如何从中抽取出研究人员感兴趣的正文内容,为后续工作比如基于网页内容的二次开发、数据挖掘等提供了基础的支持,因此Web正文内容抽取的研究具有重要的意义。

伴随着Web的发展,研究者们对网页正文内容抽取技术的研究也在不断地深入,但是仍然存在各种各样的不足。早期,有人提出利用正则表达式对网页正文进行抽取,这是种在HTML源码基础上做字符级别的检索,利用正则表达式匹配规则,抽取网页中感兴趣的内容,这种方法优点是无需考虑网页结构特征,所以简单、速度快。但缺点也很明显,如正则表达式不够直观,严重依赖网页编写格式,维护困难。后来,研究者认识到HTML半结构化的结构可以提供一种新的抽取策略—基于包装器的网页内容抽取。根据W3C的标准,任何HTML源码都可以解析成为一颗DOM树,包装器就是根据特定网站的网页DOM树的标签节点特征,设计抽取规则。目前最流行的网页抽取组件Jsoup(Java)和BeautifulSoup(Python)包装器抽取方法的实现。这种方法的缺点是它往往只能处理一种数据源,适用性差,并且抽取规则工作量大,不易维护。随着机器学习技术的兴起,人们认识到可以基于数据挖掘的思想去实现一个普遍适用的自动化的网页正文的抽取策略。这种基于机器学习的网页抽取算法有很多分类,其中基于启发式规则和无监督学习的网页抽取算法是最好实现并且效果最好的。如早期有一种MSS算法(MaximumSubsequenceSegmentation),算法思想是将网页解析为一个token序列(包括标签和文本字符),然后以token序列为基础,为每个token打分(标签负分,文本字符正分)后找到这个token序列中分数最大的子序列,判定为正文序列。这种方法没有利用网页的结构,导致其文本性能并不好。后来的研究者充分利用了网页的结构,做了各种各样的改进,如有人提出的基于DOM的文本密度正文抽取方法、基于标签路径比例的正文内容抽取方法,比起早期方法有了很大的进步,但是经常会有正文内容抽取精度不足,正文内容抽取不全的缺点。

发明内容

本发明的目的在于克服现有技术的不足,提供一种基于统计和网页结构的Web正文内容抽取方法,从网页结构出发,结合网页文本统计信息来实现对Web网页正文内容的抽取。

为实现上述发明目的,本发明基于统计和网页结构的Web正文内容抽取方法包括以下步骤:

S1:获取目标网页的HTML源码文档;

S2:以深度优先遍历方式将HTML源码文档解析为DOM树,将文本节点以相同符号标识,获取各个文本节点的完整标签路径;

S3:根据DOM树统计得到每条完整标签路径对应的文本节点,每个文本节点的字符数,每个文本节点的标点符号数,计算算得到每条完整标签路径对应的文本统计信息标签路径比TSRPR(ftpi),其计算公式为:

>TSRPR(ftpi)=Σj=1QiAji×Σj=1QiBjiQi2>

其中,ftpi表示第i条完整标签路径,i=1,2,…,N,N表示完整标签路径的条数,Qi表示第i条完整标签路径所对应的文本节点数量,表示第i条完整标签路径所对应的文本节点中文本节点j的字符数,表示第i条完整标签路径所对应的文本节点中文本节点j的标点符号数;

S4:计算N个文本统计信息标签路径比TSRPR(ftpi)的标准差,将其作为系统阈值Th;

S5:令文本节点序号k=1;

S6:如果文本节点k对应的文本统计信息标签路径比TSRPR(k)>Th,进入步骤S9,否则进入步骤S7;

S7:在以文本节点k为中心、长度为2r+1的窗口中,搜索得到文本统计标签路径比最大的文本节点k′,如果TSRPR(k′)>Th,进入步骤S8,否则进入步骤S10;

S8:计算文本节点k与文本节点k′所对应完整标签路径的编辑距离TPED(k,k′),如果TPED(k,k′)<W,W表示预设阈值,进入步骤S9,否则进入步骤S10;

S9:判定文本节点k是正文内容文本节点,抽取其文本内容;

S10:判定文本节点k不是正文内容文本节点,过滤其文本内容;

S11:如果k=K,K表示文本节点总数,内容抽取结束,否则令k=k+1,返回步骤S6。

本发明基于统计和网页结构的Web正文内容抽取方法,根据目标网页的HTML源码文档解析得到DOM树,将文本节点以相同符号标识,获取各个文本节点的完整标签路径,计算每条完整标签路径对应的文本统计信息标签路径比,计算所有文本统计信息标签路径比的标准差作为系统阈值,然后依次判定每个文本节点,如果其文本统计信息标签路径比大于系统阈值,则对其进行内容抽取,否则判定以该文本节点为中心的窗口中文本统计信息标签路径比最大值是否大于系统阈值,如果是,再判定该最大值对应的完全标签路径与文本节点完整标签路径的编辑距离是否小于阈值,如果是则对其进行内容抽取,其他情况都过滤其内容。

本发明具有以下有益效果:

(1)本发明从网页结构出发,结合网页文本统计信息,实现Web网页正文内容的抽取;

(2)本发明在抽取内容时,根据提出的完整标签路径的编辑距离,利用滑动窗口机制进行内容抽取,可以提高对Web网页正文区域中短文本的抽取能力。

附图说明

图1是本发明基于统计和网页结构的Web正文内容抽取方法的具体实施方式流程图;

图2是本实施例中解析得到的DOM树。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

Web上网页大致分为两类,一类是导航型网页,一类是主题内容正文型网页。对于主题内容正文型网页的网页噪声信息和内容主题特征进行分析,可以得到以下两个结论:

第一,网页内容布局与其解析树的标签路径之间存在隐含的关联性,即同一块的信息片段对应着类似的解析DOM树标签路径结构。这种网页设计结构,为从标签路径区分web正文内容和噪声信息提供了支持依据。

第二,对主题内容正文型网页,网页内容统计信息中,主要是文本字符长度和文本块标点符号个数,主题正文部分占据了网页内容统计信息的很大部分。从各大商业门户网站、政府网站、教育科研机构网站中随机选取10个主题内容正文性网页,统计网页中标点符号(句号、逗号)在正文内容出现次数N1和整个页面中的出现次数N2,发现N1/N2平均比率达到95%,这说明了网页中文本标点可以作为一个重要的网页正文抽取参数。统计网页中文本正文信息长度C1和网页中所有文本字符长度,C1/C2的平均比率也占到了60%的比率。

所以,基于上述的两个网页结构特征结论,为本发明基于统计和网页结构的Web正文内容抽取方法提供了重要依据。

图1是本发明基于统计和网页结构的Web正文内容抽取方法的具体实施方式流程图。如图1所示,本发明基于统计和网页结构的Web正文内容抽取方法包括以下步骤:

S101:获取网页HTML源码文档:

首先需要获取目标网页的HTML源码文档。如果给定资源为HTML源码文档,可以直接使用,如果给定资源为网页URL,则需要利用网页爬取工具下载对应的HTML源码文档。然后对HTML文档进行规范化处理。规范化处理主要包括移除脚本、注释、样式标签,因此这些信息在页面上是不可见信息,不会通过浏览器呈现给读者,为避免对后续的正文抽取工作产生干扰,需要先移除。

S102:DOM树解析:

利用网页解析工具以深度优先遍历方式将HTML源码文档解析为DOM(DocumentObjectModel,文档对象模型)树,将文本节点以相同符号标识,获取各个文本节点的完整标签路径。采用深度优先遍历的方式是为了保证文本节点的顺序性。

在DOM树中,以标签节点之间的嵌套形式构成树的父子兄弟关系。下面是一个简单的HTML源码文档。

本实施例中采用JAVA开源工具JSoup以深度优先遍历方式进行解析。图2是本实施例中解析得到的DOM树。如图2所示,将叶子节点为文本节点的节点统一用#Text标识,该DOM树中有三个文本节点。从根节点#document到三个叶子节点的完整标签路径分别是:

TagPath1:#document->#html->#head->#title->#Text

TagPath2:#document->#html->#body->#h1->#Text

TagPath3:#document->#html->#body->#a->#Text

S103:计算文本统计信息标签路径比:

网页内容统计信息中主要是文本字符长度和文本块标点符号个数,主题正文部分占据了网页内容统计信息的很大部分。从各大商业门户网站、政府网站、教育科研机构网站中随机选取10个主题内容正文性网页,统计网页中标点符号(句号、逗号)在正文内容出现次数N1和整个页面中的出现次数N2,发现N1/N2平均比率达到95%,这说明了网页中文本标点可以作为一个重要的网页正文抽取参数。统计网页中文本正文信息长度C1和网页中所有文本字符长度,C1/C2的平均比率也占到了60%的比率。因此,通过文本节点的字符数和标点符号数是判断正文内容的一个重要特征。

一旦一个HTML文档被解析成一棵DOM树,这棵树上所有的文本节点的完整标签路径均可被计算出来,并且每个文本节点中的文本特征(文本个数、标点符号个数)均可被计算出来。在实际情况中,不同内容的文本节点对应的完整标签路径可能是完全一致的,因为往往它们在Web内容显示中对应着一个相同的视觉块,即同一条完整标签路径可能对应多个文本节点。因此根据DOM树统计得到每条完整标签路径对应的文本节点,每个文本节点的字符数,每个文本节点的标点符号数。

本实施例中,在统计标点符号时,只统计句号和逗号(包括中英文格式)。根据这三种统计信息就可以计算得到每条完整标签路径对应的文本统计信息标签路径比TSRPR(ftpi),其计算公式为:

>TSRPR(ftpi)=Σj=1QiAji×Σj=1QiBjiQi2>

其中,ftpi表示第i条完整标签路径,i=1,2,…,N,N表示完整标签路径的条数,Qi表示第i条完整标签路径所对应的文本节点数量,表示第i条完整标签路径所对应的文本节点中文本节点j的字符数,表示第i条完整标签路径所对应的文本节点中文本节点j的标点符号数。

根据TSRPR(ftpi)的计算公式可知,具有同样完整标签路径的文本节点的TSTPR值是一致的。TSTPR充分考虑了网页正文内容与噪声内容的特征,以内容块字符长度和内容标点符号为考虑对象参数。具有高值的文本统计信息标签路径比通常聚合了长文本,多标点符号内容块。具有低值的标签路径通常聚合了短文本,少标点符号内容块。这个聚合值可以用来判断网页的内容片段是有意义或没意义,很明显,网页正文内容应该具有相对较高的文本统计信息标签路径比。

S104:计算系统阈值:

计算步骤S103得到的N个文本统计信息标签路径比TSRPR(ftpi)的标准差,将其作为系统阈值Th。系统阈值Th是用来判定文本节点是否为正文内容节点的一个重要条件。

之所以选择TSRPR(ftpi)的标准差的作为系统阈值,而不是选用均值或中值,是考虑到在网页中噪声节点文本对应TSTPR值分布广但值很小,使用TSTPR均值和中值作为系统阈值都达不到很好的文本节点判定效果。

S105:令文本节点序号k=1。文本节点的顺序即步骤S102中采用深度优先遍历时所得到的文本节点顺序。

S106:判断是否文本节点k对应的文本统计信息标签路径比TSRPR(k)>Th,如果是,进入步骤S111,否则进入步骤S107。

S107:窗口搜索:

在以文本节点k为中心、长度为2r+1的窗口中,搜索得到文本统计标签路径比最大的文本节点k′。其中,r≥1,其具体值根据实际需要来设置,为了保证内容抽取的准确,一般来说r的值不会太大,通常r的取值范围为1≤r≤5。

S108:判断是否TSRPR(k′)>Th,如果是,进入步骤S109,否则进入步骤S112。

S109:计算路径编辑距离:

计算文本节点k与文本节点k′所对应完整标签路径的编辑距离TPED(k,k′)。

编辑距离(EditDistance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。例如将字符串S1=”kitten”转成S2=”sitting”:

sitten(k→s)

sittin(e→i)

sitting(→g)

可见,经过三次转换,S1转化为字符串S2,则这两个字符串的编辑距离ED(S1,S2)=3。

由此可以定义完整标签路径的编辑距离(TagPathEditDistance):以标签为单位,实现一条完整标签路径转换成为另一条完整标签路径的最少编辑次数,许可的编辑操作包括标签的替换、插入和删除三种操作。以本实施例中三个文本节点的完整标签路径为例,可以得到两两文本节点的完整标签路径编辑距离如下:

TPED(TagPath1,TagPath2)=2(两次替换操作)

TPED(TagPath1,TagPath3)=1(两次替换操作)

TPED(TagPath2,TagPath3)=2(两次替换操作)

S110:判断是否TPED(k,k′)<W,W表示预设阈值,本实施例中设置为2,如果是,进入步骤S111,否则进入步骤S112。

S111:抽取文本内容:

判定文本节点k是正文内容文本节点,抽取其文本内容。

S112:过滤文本内容:

判定文本节点k不是正文内容文本节点,过滤其文本内容。

S113:判断是否k=K,K表示文本节点总数,如果是,内容抽取结束,否则进入步骤S114。

S114:令k=k+1,返回步骤S106。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号