一种基于示例页面的网页正文提取方法

文档序号:6523076阅读:322来源:国知局
一种基于示例页面的网页正文提取方法
【专利摘要】本发明公开一种从网页中过滤掉广告、无关链接、图片等噪声信息,提取网页正文的方法。其特征在于利用同一网站栏目页面在结构、内容上的相似性,快速、准确地提取网页正文。该方法首先由用户指定一个示例页面,然后系统利用页面标签,做初步过滤,再基于编辑距离计算待处理页面和示例页面文本间的相似性,快速识别页面正文所处位置边界,从而从含噪声的页面文本中提取纯正的正文内容。本发明具有操作简单、易行,快速准确的特点。其技术方案可广泛用于网页文本信息采集、搜索、转载、挖掘分析等系统中。
【专利说明】一种基于示例页面的网页正文提取方法
【技术领域】
[0001]本发明涉及网页正文提取实现方法,特别是从网页中提取正文文本信息的技术。【背景技术】
[0002]当前是一个信息爆炸的年代,收集和理解信息的能力,是很多企业取得竞争优势的关键。因特网的快速普及,使得网络已成为信息产生、传播、扩散、接收的主要场所。甚至传统的报纸、杂志、书籍等也都开始电子化,以网络文本的形式出现。为此快速收集网络信息,并对其进行检索、分类整理、转载、存储和挖掘分析成为人们的迫切需要。
[0003]HTML是创建网页的一种标签语言,现为国际标准,由万维网联盟(W3C)维护。任何网页其实就是由HTML标签组成的描述性文本,HTML标签可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分。头部描述浏览器所需的信息,主体包含所要说明的具体内容。尽管各个网站生成网页的技术千差万别,但在客户浏览器端,所有的网页都支持以HTML格式展现。都能通过规范的标准方式获得相同的HTML文本信息。
[0004]现有的网络正文抽取,一般采用的是基于规则模板的方法,即对特定的网站,通过分析其页面结构,确定正文所处的页面标签边界。这种方式存在很大缺陷:由于不同网站采用不同的技术开发,而且网站页面也可能频繁改版,这就需要信息收集机构花费大力的人力、物力去维护模板规则。即使有专业工具软件的支持,模板规则的定义操作仍然非常复杂,尤其需要操作人员深入掌握网页开发技术才能对网页结构正确理解,才能准确抽取。
[0005]本 申请人:通过对国内外近百个知名网站的各个栏目进行统计分析,发现几乎所有的文本网站都具有如下几个特征:
1.在同一主题板块,时间相距不是太远(未改版的话)的两个页面通常具有相同的页面布局,并有相似的广告、热点导航等。并且,不包括正文内容在内的其它网页文本的相似度非常高;即基于模板的网页正文提取方法,需要使用包装器(Wrapper)来抽取网页中的有效信息,包装器是一个程序,该程序基于页面的布局特征,针对特定的一类网页,编写解析器,解析出正文在页面中的位置,这种方法的优点是实现简单,文本抽取正确率极高,但缺点是通用性差,每一类网页都要编写特定的包装器,不适宜大规模页面的抽取,另外如果某一类页面发生了变化,那么该类页面的包装器就会失效,必须重新修改。
[0006]2.网页正文本身在页面文本中是连续聚集在一起的,很少在正文中间被广告、导航文本插入打断。
[0007]3.几乎所有网站的网页正文都被〈P〉或<div>两个HTML标签包含。缺点在于网页正文中包含〈P〉或<div>两个HTML标签的段落太多,运算复杂,耗时较长,具体发明可参见申请号2010105533273,一种名为基于DIV位置的网页正文抽取方法和装置。

【发明内容】

[0008]本发明的目的在于提供一种让用户操作更为简单,能过滤掉页面中大量存在的广告、热点链接等噪声信息的网页正文提取方式,从而方便地从网页中收集、转载、挖掘分析所需的正文文本。
[0009]本发明由下述步骤构成:(I)用户或程序指定一个示例页面;(2)利用网页标签初步过滤,获得含正文的文本;(3)利用编辑距离模型计算待提取页面文本与示例页面文本间的相似性,识别正文边界;(4)提取正文。
[0010]指定任意一个示例页面即可对与示例页面相似的待提取页面进行正文提取。
[0011]对待提取页面和示例页面进行初步过滤处理以提高后续正文提取的准确性和效率,初步过滤的方法是利用符合W3C标准的innerHTML属性获得包含HTML标签的内容网页正文,再用正则表达式去除HTML标签,得到滤后的两文本分别为相似文本。
[0012]这样可确保该方法具有通用性,使得获取的文本内容与网站所基于的开发语言以及浏览器无关。为后面描述方便起见,称该过滤后的两文本分别为PageA和PageB。
[0013]对相似文本应用文本相似性分析技术识别网页正文的开始和结束边界,文本相似度的计算基于相似模型,需要计算两个相似度序列值,步骤如下:
(1)对齐相似文本字符串的头部,
(2)从上至下开始分别截取相似文本指定长度的子字符串,记作sl,s2,
(3)计算sl,s2的相似值,
(4)向后移动一个字符,继续截取下一个指定长度的子字符串,仍记作sl,s2,
(5)转到步骤(2)重复上述过程,直到末尾,将这样获得的相似序列记作FS;
类似地,
(1)对齐相似文本的尾部,
(2)从下至上开始分别截取相似文本指定长度的子字符串,记作sl,s2,
(3)计算sl,s2的相似值,
(4)向前移动一个字符,继续截取下一个指定长度的子字符串,仍记作sl,s2,
(5)转到步骤(2)重复上述过程,直到头部,将这样获得的相似序列记作BS。
[0014]获得两个相似序列,据此识别正文的边界,分析两个序列,即开始和结束时相似度值比较高,中间相似度值迅速变小,出现转折;
而这个转折点对应的就是正文的边界,其中序列FS的转折点对应的是正文的头部,序列BS的转折点对应正文的尾部;
根据序列值的方式反推,即可得到正文在相似文本中的首尾边界位置,从而可抽取出正文,将噪声文本信息过滤掉。
[0015]本发明的优点在于,通用性强,克服了不同类网页需要不同包装器来抽取网页中有效信息的缺点,具有通用性。本发明具有操作简单、易行,快速准确的特点,文本抽取准确率极高。其技术方案可广泛用于网页文本信息采集、搜索、转载、挖掘分析等系统中。
【专利附图】

【附图说明】
[0016]附图1为系统结构框图。
[0017]附图2为页面HTML代码与DOM树结构示例。
[0018]附图3两个页面文本的划分示意。
[0019]附图4两个页面文本的实际例子。[0020]附图5为流程框图。
【具体实施方式】
[0021]本发明的特征在于,用户无须了解页面的布局结构和实现技术,而仅通过指定一个示例页面,即相当于告知了计算机提取正文的方式,从而无须进行复杂的操作来定义和维护页面的模板规则。其在计算机中的操作步骤非常简单,用户只需以下两个步骤即可轻松开始页面正文提取工作:
(1)添加新任务到任务列表
对每个任务,用户仅须提供以下4方面的信息:
i 一个示例页面网址;
% 待采集页面网址变化规律信息;
f 采集周期信息;
正文存储信息
(2)启动系统进行自动抽取(如附图1的步`骤12)
系统将自动读取任务列表,根据各个任务信息,轮番、定时地依据所给的网址变化规律获取待采集网页文本,抽取正文,保存/发布到指定位置。
[0022]如附图1所示为本发明的组成结构,主要包括以下功能模块:任务定义模块11、页面采集引擎模块12、正文提取引擎模块13、存储/发布引擎模块18。任务定义模块11实现用户操作界面,指定任务信息,添加到任务列表13中。任务列表为一格式化的文本文件,保存了各条任务信息,每条任务信息包含示例页面网址、待采集页面网址变化规律、采集周期、存储/发布方式等。页面采集引擎12读取任务列表13中的数据,根据每个任务的采集周期,按时访问因特网14采集相应网页信息,形成HTML文本15。正文提取引擎16则根据HTML文本15,和示例网页文本,基于本发明的正文提取技术,从网页中提取正文,滤除广告、导航等噪声信息,形成纯文本17。最后,存储/发布引擎18将根据任务信息指定的存储/发布方式进行结果19的发布。
[0023]如附图1所示的功能结构中,页面采集引擎12主要通过文档对象模型(DocumentObject Model)即DOM技术实现。DOM是一个跨平台、与语言无关的表示和操作HTML、XHTML、XML对象的标准(可参见http://www.w3.0rg/dom/)。任何页面的结构都能用DOM的标签树表示出来,如附图2所示,左边为一网页的HTML代码,而右边为其对应的DOM标签树。利用DOM的应用程序接口(API)可以方便地访问和操作各个DOM结点对象。例如,基于Microsoft.Net框架,其提供的HtmlElement对象的innerText属性就表示<html> </html>标签中所有包含的去除了 html标签的文本。(参见http://msdn.microsoft.com)。基于此,可获得页面的包含正文的文本信息,而排除了大部分的图片、视频等多媒体噪声。并可基于正则表达式初步过滤部分噪声,而不丢失正文内容。
[0024]对待提取页面和示例页面进行初步过滤处理以提高后续正文提取的准确性和效率。初步过滤的方法是利用符合W3C标准的innerHTML属性获得包含HTML标签的内容网页正文,再用正则表达式去除HTML标签。这样可确保该方法具有通用性,使得获取的文本内容与网站所基于的开发语言以及浏览器无关。为后面描述方便起见,称该过滤后的两文本分别为PageA和PageB,,即相似页面,参见附图4。
[0025]正文提取引擎是本发明的核心和关键。其技术出发点是应用到了本说明书【背景技术】部分指出的各网站网页文本所具有的三个普遍特征。基本原理阐述如下:如附图3所示,设PageA是示例页面所对应的经初步过滤后的文本,而PageB则是待提取页面经初步过
滤后的文本。由于正文是连续聚集在一起的,因此可将两个文本都划分成三个部分,即Cia
,Njt,Cat以及Cm,Nb,C?。其中,Na代表示例页面的正文,而1?代表待提取页面
的正文。而1^, Cat则分别代表示例页面正文前后的噪声文本,C^a,C3b则代表待提页面正文前后的噪声文本。举个实际例子,如附图4所示,这是两个实际页面经初步过滤之后的文本。由于篇幅限制,这图中用“…”代替了部分文本,并且为清楚起见,页面正文用下划线进行了标注。例如,对 PageA, “German Chancel1r…Reuters reported” 就是正文,
即图 3 中的Na,而“British Broadcasting—2010 22:31 UK” 即为图 3 中的C., “PrintSponsor…you are able to do s0.”即为示例页面和待提页面在结构和内容上很相似,一般有O而1^和1^则存在非常大的差异,相似程度极低。据此,可基于两文本相似度的变化情况,找到Nj^PNb的首尾边界,最终将1?从PageB中提取出来。
图1中的任务定义模块11可基于任何常见的编程言来实现,如Microsoft.Net下的Visual Basic, C++,C#等实现。任务列表可以文件的形式存在,具体格式,开发人员可自由定义。
[0026]图1中的页面采集引擎模块12,基于DOM和正则表达式可比较方便地实现页面数据的采集和文本的初步过滤。其实现比较容易,具体编程工具可基于Microsoft.Net,也可基于Java,或其它支持DOM对象和正则表达式的开发工具,开发人员可根据具体需要选择。
[0027]图1中正文提取引擎模块,其实现的一个关键是计算文本间的相似性,这可基于Levenshtein的编辑距离来实现,Levenshtein编辑距离定义如下:
【权利要求】
1.一种基于示例页面的网页正文提取方法,其特征在于,由下述步骤构成: (1)用户或程序指定一个示例页面; (2)利用网页标签初步过滤,获得含正文的文本; (3)利用编辑距离模型计算待提取页面文本与示例页面文本间的相似性,识别正文边界; (4)提取正文。
2.根据权利要求1所述的一种基于示例页面的网页正文提取方法,其特征在于,指定任意一个示例页面即可对与示例页面相似的待提取页面进行正文提取。
3.根据权利要求1所述的一种基于示例页面的网页正文提取方法,其特征在于,对待提取页面和示例页面进行初步过滤处理以提高后续正文提取的准确性和效率,初步过滤的方法是利用符合W3C标准的innerHTML属性获得包含HTML标签的内容网页正文,再用正则表达式去除HTML标签,得到滤后的两文本分别为相似文本。
4.根据权利要求1或3所述的一种基于示例页面的网页正文提取方法,其特征在于,对相似文本应用文本相似性分析技术识别网页正文的开始和结束边界,文本相似度的计算基于相似模型,需要计算两个相似度序列值,步骤如下: (1)对齐相似文本字符串的头部, (2)从上至下开始分别截取相似文本指定长度的子字符串,记作sl,s2, (3)计算sl,s2的相似值, (4)向后移动一个字符,继续截取下一个指定长度的子字符串,仍记作sl,s2, (5)转到步骤(2)重复上述过程,直至末尾,将这样获得的相似序列记作FS; 类似地, (1)对齐相似文本的尾部, (2)从下至上开始分别截取相似文本指定长度的子字符串,记作sl,s2, (3)计算sl,s2的相似值, (4)向前移动一个字符,继续截取下一个指定长度的子字符串,仍记作sl,s2, (5)转到步骤(2)重复上述过程,直至顶部,将这样获得的相似序列记作BS。
5.根据权利要求4述的一种基于示例页面的网页正文提取方法,其特征在于,获得两个相似序列,据此识别正文的边界,分析两个序列,即开始和结束时相似度值比较高,中间相似度值迅速变小,出现转折的转折点对应正文的边界,其中序列FS的转折点对应的是正文的头部,序列BS的转折点对应正文的尾部;根据序列值的方式反推,即可得到正文在相似文本中的首尾边界位置,从而可抽取出正文,将噪声文本信息过滤掉。
【文档编号】G06F17/30GK103699591SQ201310665878
【公开日】2014年4月2日 申请日期:2013年12月11日 优先权日:2013年12月11日
【发明者】兰秋军 申请人:湖南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1