一种基于标点密度的网页正文提取方法

2015-05-30 22:06杨钦杨沐昀
智能计算机与应用 2015年4期

杨钦 杨沐昀

摘 要:本文提出了一种基于DOM树的正文提取方法。该方法是在基于DOM树的文本密度的正文提取算法的框架上改进而来的。基于对文言文翻译网站的观察,本方法使用标点符号密度取代原方法的文本密度。通过随机选取50篇文言文翻译网页作为测试集,本文提出的方法获得了更好的准确率、召回率和F值。

关键词:DOM;标点密度;文本密度;正文提取

中图分类号:TP312 文献标识码:A 文章编号:2095-2163(2015)04-

A Method of Webpage Content Extraction based on Point Density

YANG Qin, YANG Muyun

(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)

Abstract: This paper proposes a DOM based content extraction method. It is improved from the DOM based content extraction via text density. Based on the observation of classical Chinese translation websites, the paper uses point density to replace text density.50 classical Chinese translaiton webpages are randomly chosen as the test data set, the proposed method obtains better precision, recall, and F-measure.

Keywords: DOM; Point Density; Text Density; Content Extraction

0引 言

互联网的快速发展使其已经成为一个天然庞大的数据来源,而且其影响也正在日渐提升之中。搜索引擎、网络数据挖掘等技术正是使用这些网络数据来发现有用的信息和知识。具体来说,这些技术的研究对象就是网页的正文内容。但在现实状况下,网页的正文却通常是和网页的其他内容如导航信息、广告、版权说明等混合掺杂在一起。这些内容和网页的主题并无任何关系,而只是噪声信息,因而对有关网页课题的探索研究造成全局性的复杂且重大的影响。

基于此,为了提升网络数据挖掘和信息检索等的设计研究性能,即可利用网页正文提取技术从网页中去除噪声信息提取网页正文。总体来说,正文提取可以提升相关研究的工程实际性能,并已在现实中获得了广泛的应用。使用WEB作为语料库吸引了自然语言处理领域众多的研究者的关注参与。通过自动下载相关网页,并进行正文提取,就可以较短的时间,较小的代价构建一个大型语料库。此外,移动手机的大量普及则使得网页需要适应较小的屏幕。综上可知,针对网页进行正文提取的需求已是日显迫切。然而,提取网页正文却是一个困难的任务。早在2005年,Gibson等[1]就估计出网络上的噪声信息的比例将在40%~50%,并且准确预言了这个比例还会不断上升。现如今,网页的布局和风格已比从前更趋复杂,这一现象也随即愈加严重。现在的网页大多使用格式标签和

等代替结构标签来展示网页的格式信息。但诸多较早使用的正文提取方法却已无法适应这一变化,其表现则呈显著大幅下降态势。根本原因在于,近年来的网页很多都不再使用如、等特定的HTML线索,而那些正文提取算法中使用的却仍是这些经典标志。

在本文中,提出了一个从网页中提取正文的高效算法。该算法不仅可以提取网页正文,而且保持了原有的网页结构信息。文中的正文提取方法主要基于对文言文翻译网站的观察:网站中的噪声信息往往是一些导航和其他链接信息,基本没有标点符号;而网页的正文则含有大量的标点符号。同时,噪声信息和正文信息在网页中总是作为整体出现,因此在DOM树中属于某一个祖先节点。

首先,研究提出了衡量网页标签重要性的指标:标点符号密度(简称标点密度,记为PointDensity)。当一个网页用一颗DOM树来表示后,即需计算DOM树中每个节点的标点密度。标点密度高的节点表示这个节点在网页中对应的标签的内容更可能是正文,相反则更可能是噪声信息。此后,则将沿用基于DOM树的文本密度的正文提取框架,并使用标点密度和(PointDensitySum)来提取完整的正文。最终仿真实验表明,本文提出的方法快速、准确,且可获得比文本密度方法更好的结果。

不近如此,研究提出的方法还具有和文本密度方法一样的优势,也就是没有过多考虑网页的结构,同时也没有寻找特定的HTML线索。另外,本文研究也保持了网页原有的结构信息,利用本文方法将能输出处理后的html文档,并不仅仅是没有任何格式的文本。

本文的后续章节内容如下:第二节介绍正文提取的相关工作,第三节重点介绍本文提出的基于DOM的标点密度的正文提取。本文在第四节给出了详细的实验设置和结果分析,并在第五节进行了工作总结。

1相关工作

Rahman等[2]在2001年提出正文提取(Content Extraction)这个术语。近十余年,专家学者集中研究如何从网页中抽取正文并提出了众多的解决方法。

正文提取研究的早期,研究者使用正则表达式,通过查找特定的HTML标记形成公共模板,而后使用人工制定的网络抽取器把内嵌在公共模版间的内容抽取出来。这些方法的优势在于其准确性非常高,而其明显的劣势则表现在对不同的网站要创建不同的正则表达式。甚至一个网站可能会有多种结构,而且这些网站还可能会改变其结构或布局。上述情况表明,这类方法需要动态更新。

研究者提出了很多基于网页统计信息的正文提取方法。Finn[3]等在2001年提出Body Text Extraction (BTE)算法。这个算法是为了提升数字图书馆正文分类器的准确性。研究将HTML文档表示为一系列词和标签符号,再通过识别单一的连续的区域来抽取正文,通常识别出来的这个区域包含最多的词和最少的HTML标签。为了克服BTE方法只能发现一个单一的连续的文本块的限制,Pinto等[4]把这个方法扩展成Document Slope Curves (DSC)方法。在该方法中,视窗技术可用于定位文档区域,在这个区域中词标记比标签标记要更加频繁。此次开发技术可用来提升QuASM系统使用网络数据回答问题的性能和效率。

Debnath等[5]提出基于HTML文档块分割的Feature Extractor (FE)和K Feature Extractor (KFE)技术。该方法对每个块分析了设定的特征例如文本的数量,图像和脚本代码,而后再通过选择最符合某个期望特征(如最多的文本)的块来提取正文。Gupta等[6]在2003年尝试把不同的启发式方法结合到Crunch的系统框架中。这个框架基于DOM树,通过定义两类过滤器发现并从DOM树删除非正文内容。这一研究证明了,不同正文提取算法的适当组合会产生比单一的方法更好的结果。此后,Gottron[7]则设计了CombineE框架。这是一个最新的集成框架,能使得正文提取算法的配置变得更加简单。

Mantratzis等[8]在2005年提出Link Quota Filter (LQF)方法。LQF通过识别文本与超链接比例高的DOM元素来确定链接列表和导航信息。这个方法实际是从文档中删除链接块来提取正文。LQF的缺点是算法本身依赖于结构元素,并且只能清除超链接类型的噪声。Gottron[9]在2008年提出Content Code Blurring(CCB)算法。这个方法可在具有相同格式的源码序列中进行正文提取。Weninger等[10]在2010年提出标签比例(CETR)算法。该方法使用HTML文档标签比例从网页中抽取正文。方法中,以行为基础计算标签比例,再将比例结果的直方图聚类成正文和噪声区域。CETR算法简洁且高效的方法,但却容易受到网页源代码风格变化的影响。Kohlschütter等[11]在2010年提出了一个可对网页文本元素实施分类的简单有效的应用技术。具体就是通过分析一些浅文本特征(如平均句长、字数以及文本位置)来识别样板,该方法的理论基础是数量语言学的随机文本生成。

孙飞等[12]在2011年提出Content Extraction via Text Density (CETD)算法。这个方法基于DOM树,使用DOM树节点的文本密度Text Density 和Composite Text Density衡量节点重要性,同时结合DensitySum区分出正文区域和噪声区域,进而提取出正文内容。该方法具有快速、准确、通用的特点,并且最终得到的是结构化文本而不是大多数方法的纯文本。Qureshi等[13]在2012年提出一个基于DOM树的混合模型。研究中结合两个不同的模型,一个模型基于统计特征(文本信息和链接密度),另一个模型则基于格式特性(如字体、风格、位置)。Uzun等[14]在2013年提出一个两步骤相互促进的混合方法。其中的步骤一是使用决策树学习得到抽取正文的规则,步骤二是利用得到的规则进行正文提取。相应地,Insa等[15]也在2013年提出了Words/Leafs Ratio(WLR)算法。这个方法基于DOM树,通过分析结点的文字叶子比率(WLR)和结点的层级关系,从而识别出包含正文的块。

2基于DOM的标点密度的正文提取

这一节将主要介绍基于DOM树的标点密度的正文提取算法。本文的这一算法是参考孙飞等[12]的基于DOM树的文本密度算法的框架上,并通过优化改进而最终获得实现的。

2.1DOM树

DOM(Document Object Model)的中文名是文档对象模型,也就是一个与语言和平台都无关的协议。该协议允许程序和脚本动态地获取和更新HTML等文档的内容、结构和风格。DOM提供了一系列接口,通过这些接口就可以对文档进行处理,并将这些处理进行展现。DOM把HTML中的所有元素都定义成节点。DOM实际是一个树状结构,DOM树通过树的父子节点和兄弟节点来表示HTML中标签的嵌套关系和并列关系。使用DOM处理HTML网页,实际是把HTML文档处理成一颗树,DOM提供各种处理接口,这样就能通过接口以树的形式对HTML文档进行访问、处理以及呈现。

2.2标点密度

通过对古汉语现代汉语相应网站的观察和分析,可以发现有一个比文本密度更适合的特征。文本密度把所有的文本统一对待,但是文本不同,对于确定一个节点是否为正文节点的作用也是不一样的。相对于其他文本内容来说,标点符号则具有更为显著的标识的作用。

从古汉语现代汉语网页可以看出,标点符号只存在于正文中,不存在于噪声信息中。其他两个即将用到的网站也是这种情况。基于这一原因,即可使用标点替换文本来计算密度更能区分正文和噪声。为了和文本密度进行区分,可将其定义为标点密度。节点i的标点密度是节点i的标点个数PointNumber和节点i的节点个数NodeNumber的比值。其中,PointNumber表示节点所有子树的标点个数之和;NodeNumber表示节点所有子树的节点个数之和。

在算法的实现中,通过对DOM树的遍历,可以得到每一个节点的标点个数和节点个数并计算出其标点密度。这样,DOM树中的节点i的标点密度定义如下:

(1)

式中,Pi表示节点i的标点个数,即PointNumber;Ni表示节点的节点个数,即NodeNumber。当Ni是0时,令Ni=1。

PointDensity反映了网页中对应标签的标点密度。结构简单且包含较多标点符号的标签,其标点密度较高;结构复杂且包含较少标点的节点其标点密度较小。同时,标点密度相对文本密度更独立于网站的结构,而且对正文信息和噪声的区分也将更加有效。

基于链接噪声没有或者很少有标点符号这个观察事实,所提出的标点密度很必然地实现了对超链接噪声的排除,所以此处将不再参照复杂文本密度定义复杂标签密度。

2.3标点密度和

这里,参照文本密度和DensitySum定义标签密度和PointDensitySum。节点i的标签密度和定义为节点i的直接孩子节点的标签密度之和,其公式如下:

(2)

其中,child(i)表示节点i的直接孩子节点集合,PointDensityj表示节点j的文本密度。阈值的选取,将文本密度、文本密度和分别替换为标点密度、标点密度和。这样,先找到标签密度和最大的节点,再将body节点到该节点路径上的最小的节点标签密度作为阈值。

2.4正文提取算法

研究使用孙飞等[16]开发的提取算法,只是将相应的文本密度、文本密度和分别替换为标点密度、标点密度和。算法的输入是网页DOM树的根节点R,和阈值t,输出是网页正文,算法描述如下:

(1)如果节点R的标点密度大于阈值t,则转(2),否则结束;

(2)找到节点R的子树(包括R本身)中标点密度和最大的节点C;

(3)将节点C标记为正文节点;

(4)对节点R的每个孩子节点提取正文。

3 实验

在本节中,首先介绍了实验数据和评价指标。然后,对实验结果进行呈现和讨论。

数据集

本文针对的是古汉语现代汉语平行篇章存在的网站及网页。其中采用的实验数据是随机抽取50个古汉语现代汉语平行篇章网页。标准正文是通过人工方式从网页采选获得的。

3.2评价指标

实验结果的评价采用准确率Precision、召回率Recall和F值。设O为算法输出的网页正文,H为标准正文。把O,H看作汉字及标点符号组成的字符串,那么:

(3)

(4)

(5)

其中,LCS(O,H)表示字符串O,H的最长公共子串,len(LCS(O,H))表示LCS(O,H)的长度,len(O)表示字符串O的长度,len(H)表示字符串H的长度。

3.3实验结果和分析

研究设计实现了文本密度、复杂文本密度和标点密度三个正文提取算法。其在数据集上的实验结果对比可如表1所示。

表1 三种正文提取算法的性能比较

Tab.1 Comparison of three content extraction algorithm

方法\性能 准确率 召回率 F值

标点密度算法 0.891 1 1 0.942 4

文本密度算法 0.881 3 0.983 7 0.929 7

复杂文本密度算法 0.887 9 0.997 3 0.939 4

从实验结果可以看到,使用标点密度的正文提取算法准确率、召回率和F值上均要高于其他两种方法。

4 结束语

本文提出的基于标点密度的网页正文提取方法,该方法的改进创新主要在于使用了更为合适的标点密度替换文本密度。总而言之,这一研究进程就是基于文言文翻译网站上的一个观测事实,即:正文信息含有更多的标点符号而噪声信息基本没有标点符号。由此出发,本文提出的方法获得了比文本密度更好的性能,而且在准确率、召回率和F-值上都有一定的提升。

参考文献:

[1] PUNERA K, GIBSON D, TOMKINS A. The volume and evolution of Web Page Templates[C]// Special interest tracks and posters of the 14th international conference on World Wide Web, Chiba:ACM, 2005:830-839.

[2] RAHMAN A F R, ALAM H, HARTONO R. Content extraction from html documents[C]//1st Int. Workshop on Web Document Analysis (WDA2001), Seattle:[s.n.], 2001: 1-4.

[3] FINN A, KUSHMERICK N, SMYTH B. Fact or fiction: Content classification for digital libraries[C]// DELOS Workshops, Citeseer:Dublin, 2001:1-6.

[4] PINTO D, BRANSTEIN M, COLEMAN R, et al. QuASM: a system for question answering using semi-structured data[C]//Proceedings of the 2nd ACM/IEEE-CS joint conference on Digital libraries, New York:ACM, 2002: 46-55.

[5] DEBNATH S, MITRA P, GILES C L. Automatic extraction of informative blocks from webpages[C]//Proceedings of the Acm Sac, Santa Fe:ACM, 2005:1722-1726.

[6] GUPTA S, KAISER G, STOLFO S. Extracting context to improve accuracy for HTML content extraction[C]//Special interest tracks and posters of the 14th international conference on World Wide Web, Chiba:ACM, 2005: 1114-1115.

[7] GOTTRON T. Combining content extraction heuristics: the CombinE system[C]//Proceedings of the 10th International Conference on Information Integration and Web-based Applications & Services, Linz:ACM, 2008: 591-595.

[8] MANTRATZIS C, ORGUN M, CASSIDY S. Separating XHTML content from navigation clutter using DOM-structure block analysis[C]// Hypertext 05 Proceedings of the Sixteenth Acm Conference on Hypertext & Hypermedia, New York:ACM, 2005:145-147.

[9] GOTTRON T. Content code blurring: A new approach to content extraction[C]// Proceedings of the 2008 19th International Conference on Database and Expert Systems Application, [s.1.]:IEEE Computer Society, 2008:29-33.

[10] WENINGER T, HSU W H, HAN J. CETR: content extraction via tag ratios.[C]// Proceedings of the 19th international conference on World wide web, Raleigh:ACM, 2010:971-980.

[11] KOHLSCHUTTER C, FANKHAUSER P, NEJDL W. Boilerplate detection using shallow text features[C]//Proceedings of the third ACM international conference on Web search and data mining, NewYork:ACM, 2010: 441-450.

[12] SUN F, SONG D, LIAO L. DOM based content extraction via text density[C]// Proceedings of the 34th international ACM SIGIR conference on Research and development in Information Retrieval, Beijing:ACM, 2011:245-254.

[13] QURESHI P A R, MEMON N. Hybrid model of content extraction[J]. Journal of Computer & System Sciences, 2012, 78(4):1248–1257.

[14] UZUN E, AGUN H V, YERLIKAYA T. A hybrid approach for extracting informative content from web pages[J]. Information Processing & Management, 2013, 49(4): 928-944.

[15] INSA D, SILVA J, TAMARIT S. Using the words/leafs ratio in the DOM tree for content extraction[J]. J. Log. Algebr. Program., 2013, 82(8): 311-325.