基于网页DOM树节点路径相似度的正文抽取
潘心宇1,陈长福2,刘 蓉1,王美清1
【摘 要】由于人工抽取网页信息效率低、成本高,因此根据对大量网页结构的观察,提出基于网页文档对象模型DOM树节点路径相似度的正文抽取方法。依据同网站下的网页结构相同的特点去除网页噪声得到网页的主题内容,然后结合正文节点在DOM树中的路径的相似度抽取正文。通过对不同类型的中文新闻网站上的1 000个网页进行实验,结果表明该方法对于97.6%的网页都能够去除大部分噪声并保持正文内容的完整性,正文抽取结果有93.30%的准确率和95.59%的召回率。所提算法对不同类型的网页都有较好的适应性。 【期刊名称】微型机与应用 【年(卷),期】2016(035)019 【总页数】4
【关键词】DOM树;信息抽取;HTML标签;网页去噪;正文抽取
0 引言
随着互联网技术的快速发展,网页成为人们获取信息的重要来源之一。然而,网页上的数据是海量的,单纯依靠人工手段获取网页信息效率较低,因此需要借助软件对网页信息进行全部或部分地自动过滤和分类。目前常用的自动网页信息获取方法是正文内容抽取,该类方法是一种被广泛应用于互联网数据挖掘的技术,它的目标是从互联网庞大的数据中提取有意义的和有价值的信息,可以用于信息搜索、Web文档分类、数据挖掘、机器翻译、文本摘要等。 常用的正文抽取方法可以分为以下4类:(1)传统的归纳总结正文抽取方法:根据一些信息模式,从特定的信息源中提取相关内容[1]。此方法效率较低、需要
较多的手动操作,独立性以及适应性较差。(2)基于网页布局[2]和视觉[3-4]的正文抽取:该方法很大程度上依赖于网页的风格或者结构。当涉及到有更复杂的嵌套关系的网页时会出现偏差。(3)基于语义单元[5]或者数据挖掘、机器学习[6]的正文抽取:通过使用分词和文本分类,虽然准确率有所提高,但是解决方案比较复杂。(4)基于统计的正文抽取[7]:该方法简单而且具有更好的通用性,但是较低的精确度限制了它的进一步应用。此外,它不能处理短文本、表格文本以及有较长评论的文本。
FINN A等[8]提出正文抽取(Body Text Extrac tion,BTE) 算法,将网页中的文字和标签作为序列,抽取序列中文字最多和标签最少的连续的内容。PINTO D等[9]提出文档斜率曲线(Document Slope Curves,DSC) 算法,在FINN的方法的基础上使用窗口方法实现多正文抽取。MANTRATZIS C等[10]提出链接定额过滤(Link Quota Filters,LQE) 算法,通过网页结构分析,分离正文和导航目录等超链接。DEBNATH S等[11]提出特征提取器(Feature Extractor,FE)算法,选择包含有一定特征的文本、图像而且重复出现次数较少的内容块。GOTTRON T等[12]提出正文代码模糊(Content Code Blur-ring,CCB)算法,选择相同格式的长文本作为网页的正文。刘利等[13]提出基于多特征融合的网页正文信息抽取,从网页的多个特征和设计习惯入手定位正文位置。王利等[14]提出基于内容相似度的正文抽取,根据树节点中文本内容与各级标题的相似度判定小块文本信息的有效性,由此进行网页清洗和正文抽取。
分析网页信息会发现,网页中包含大量与网页主题无关的噪声内容,如广告链接、导航栏、版权信息等。在正文抽取过程中,这些网页噪声会影响抽取效果,因此需要通过去噪方式对网页进行预处理。常用的网页去噪方法有:
YI L等[15]提出用风格树(Style Tree,ST)来表达网页的结构和内容特征,出现相同特征次数多的部分更有可能是噪声数据。GIBSON D等[16]提出Shingle和模板Hash方法。这两种算法的缺点是计算量较大。WANG J Y等[17]提出的主题数据提取(Data-rich Section Extraction,DSE)算法,该算法通过从上到下比较两棵相同模板的文档对象模型 (Document Object Model,DOM)树,去除树中相同的部分,剩下的部分作为网页的主题内容。
根据对现有方法的总结以及对网页特征的分析,本文提出基于DOM树节点路径相似度的正文抽取方法,对于不同结构的网页都有较好的适应性,对来源于新浪、网易、搜狐、腾讯等大型门户网站以及多家各类型网站的1 000个网页进行了抽取实验,实验结果表明本文方法有较好的抽取准确度。
1 网页去噪
目前,大部分网页的源代码是以超文本标记语言 (Hyper Text Markup Language,HTML)的形式存在的。对于同一网站下的不同网页,它们由同一个模板生成,因此这些网页具有相似的结构,而这些网页中相同的部分就是噪声内容,它们与网页所要表达的主题没有关系。本文在DSE算法的基础上,首先将与网页无关的标签及相关代码删除,然后通过将某个网页与同一网站下的2个或多个网页进行对比去除相同部分,从而达到去除噪声的目的。 1.1 删除无关的标签
网页源代码包含了以不同的标签括起来的各段代码。例如,网页标题和一些修饰性代码主要嵌在标签
和的内部,网页主题内容包含在和标签之间,客户端脚本则包含在标签之间。通过对大量HTML文本的研究和分析,发现以下几类标签与网页主题
基于网页DOM树节点路径相似度的正文抽取



