基于CSS视觉分块的Web碎片信息抽取算法

时间:2022-06-23 07:38:52

基于CSS视觉分块的Web碎片信息抽取算法

摘 要:为进一步解决在半结构化的Web页面中抽取Web碎片信息的困难,针对Web页面设计的目的是给用户显示相关的信息,浏览器只是呈现的中间手段,在抽取Web碎片信息时应该“以人为本”,从“人”的视觉效果出发,将Web页面按照CSS视觉效果进行分块,提出一种基于CSS视觉分块的Web碎片信息抽取算法。以随机输入的1000个Web碎片信息站点作为实验对象,实验结果表明,算法具有良好的性能,达到了较高的召回率与查准率。

关键词:Web;Web碎片信息;CSS;信息抽取

中图分类号:TP391

随着网络技术的发展,互联网的信息呈现方式正在发生日新月异的变化,微博的出现使人们随时随地都可以分享自己的信息。同时,微博的出现也正在改变着人们关注信息的习惯,网民们获取信息的方式越来越“碎片化”,从传统的“一对多”的信息分享方式变成的“多对多”的信息分享方式。也就是说,在信息碎片化的时代,每个人都是信息的制造者,也是信息的获取者。由于每个人均可以通过碎片信息平台(如新浪微博、腾讯微博)信息,使得碎片信息出现了很大的随意性,信息的构成不再像传统方式的规范化,而出现了多元化、异构化及碎片化。在进行碎片信息抽取的时候,由于其本身可能只是“只言片语”,就有可能被当成信息“噪声”过滤了,因此给信息的抽取与整合带来了一定的困难,针对碎片信息所固有的特点,考虑到信息的分享者是“人”,而非浏览器本身,对信息的抽取应该从浏览器给人的视觉分块出发,提出了一种基于CSS视觉分块的Web碎片信息抽取算法。首先对Web信息抽取的技术进行分析,其次基于CSS视觉分块的Web碎片信息抽取算法,然后通过实验对提出的算法进行验证与分析,最后对算法进行总结。

1 Web信息抽取技术

Web信息抽取的目的就是便于检索或者数据挖掘,从松散的、半结构化的Html网页中抽取出有价值的、隐含的数据信息,并将其结构化存入数据库中。这一概念最早是由Gwiederhold提出的[1]。相应地,Web碎片信息抽取就可以引申为:从无结构或半结构的Web碎片信息网页制取出用户关心的、有价值的信息片段,并形成结构化数据的过程[2]。

目前,有很多研究者在研究Web信息抽取的技术,力求达到准确、高效的效果。纵观目前关于Web信息抽取的研究成果,不难发现,抽取的效果取决于是否能准确找出Web页面中的抽取规则,即抽取规则的生成。通常有基于统计理论的抽取技术、基于DOM树的抽取技术及基于归纳的抽取技术。

基于统计理论的抽取技术是一种传统的抽取方法,主要思想是通过统计网页标签所包含的信息量或链接文本与普通文本的比值来获取网页的主题信息。如孙承杰等人提出的通过获取网页中的标签的源码信息,去掉所有的HTML标签,对文本的长短进行统计,长度较大的就是主题信息[3]。如Gupta等人提出利用链接文本与普通文本的比值来确定页面中的正文分块,如果普通文本比例较大,则认为是所要抽取的目标文本,否则认为是噪声(如广告信息)[4]。可针对Web信息碎片的抽取,这种方法有其局限性,因为Web信息碎片所占的比重小,有可能会被当作噪声去掉,会直接影响抽取算法的召回率。

基于DOM树的抽取技术是通过DOM解析器将Web页面解析为Dom语法树[5],Dom语法树的本质就是在内存中构建XML语法树,它主要包括根元素(Document Element)与节点(Node),其中Node能反映出所有Web页面的所有结构信息,包括文本信息与属性信息,方便了对各节点的操作。基于DOM树的Web信息抽取算法在抽取时先获取HTML源码,再经过预处理,构造XML语法树,然后去噪,最后根据需求抽取信息。如刘军等人提出的基于DOM的网页主题信息的提取技术[6],那赫提出的基于DOM的Web主题信息提取系统的设计与实现[7]。

基于归纳的抽取技术是基于样本训练的模式,假设某网站具有信息公用模板,并且此模板下生成了大量的页面,然后对这些页面进行样本训练,寻找出网页的结构及文本特征的变化规律,从而获得页面之间相对稳定的相似结构特征,发生变化的只有文本特征。以此来归纳内网页的统一公用模板,并利用公用模板抽取出页面的信息。如石倩等人提出的基于规则归纳的信息抽取系统实现[8]。但基于归纳的抽取技术需要大量的相似页面作为训练的对象,不适应一些页面较少的网站。

2 基于CSS视觉分块的Web碎片信息抽取算法

众所周知,HTML页面的编写具有很强的灵活性与随意性,不同的网页设计者可以按自己的方式设计页面,就导致了页面呈现出异构性,给信息的抽取带来了困难。但网页开发的目标是在浏览器上显示所设计的内容,把设计的视觉效果通过浏览器根据设计的CSS样式将其展现给用户,网页设计的目的给“人”看的,浏览器只是一种显示的手段。因此,在进行Web碎片信息抽取时,将CSS视觉分块引入信息抽取是必要的,因为CSS视觉分块是从“人”的角度出发的,不仅仅是浏览器。2003年微软亚洲研究院首先提出了将VIPS(a Vision-based Page Segmentation Algorithm)[9]将视觉分块引入到了网页信息的分块之中,VIPS主要依靠计算分块的背景颜色、内容字体的大小及空白区域等视觉特征,根据HTML标签特征及相关规则计算Web页面的视觉分块。VIPS算法在某种程度上达到了Web页面视觉分块的要求,但算法本身所采用的启发式规则是基于HTML标签结构的。如果能将CSS视觉特征引入页面分块中,会更加符合网页设计的意图。

定义1 CSS视觉块 构成Web页面的基本单位,也是一个CSS盒子,如图1所示。其是一个矩形的视觉区域,由CSS盒子模型的高(height)、宽(width)、外边距(margin)、内边距(padding)、边框(border)及内容(content)构成。即:

CSS-V={height,width,margin,padding,border,content}

其中,content可以是CSS视觉块,也可以是文本内容,也可以为空。

定义2 CSS页面视觉块B Web页面本身就是一个CSS视觉块,由若干其他的CSS视觉块所构成。

定义3 CSS普通文本视觉块T 内容为文本信息的CSS视觉块。

定义4 CSS链接文本视觉块A 内容为文本信息且含有链接指向的CSS视觉块。

定义5 空块N 内容为空的CSS视觉块。

算法主要思想:对于Web碎片信息的抽取往往中关心上述几种视觉块信息,对于其他的块可以作为干扰噪声去掉。由此根据Web页面的DOM树(Document Object Model Tree),计算出CSS所有的CSS视觉块,去掉不属于{B,T,A}的视觉块,生成视觉块描述文件。如腾讯微博http:///xiangchengguan的视觉块描述文件如图2。常言道“物以类聚”,对于Web碎片信息所在块的识别,尽管信息较短,但它们是以“聚集”的方式出现的,所占用块的面积在整个页面视觉块中占有比率应不小于30%,同时它们的个数在整个页面中也是最多的。因此,需要对所有的CSS视觉块进行分类,分类采用统计的方法进行,即根据CSS-V中的height、width、margin、padding、border及content进行相似度计算,如果结果相同就可视为同一类CSS视觉块,如对图2所示的视觉块描述文件进行分类可得到表1所示的分类结果。

由表1可以计算出,视觉块个数最多为20,它占用的面积在整个页面中的比率最大,因此其必为Web碎片信息的视觉块。

抽取算法分为四步进行:

Step1 计算出CSS所有的CSS视觉块;

Step2 删除不属于{B,T,A}的视觉块,并生成描述视觉块的XML文件;

Step3 统计分类结果,找出Web信息所在的CSS视觉块,并删除其他视觉块;

Step4 对Web信息所在的CSS视觉块进行信息抽取,并将结果格式化后写入数据库。

3 实验

为了验证算法的有效性,实验以随机选取的1000个Web碎片信息站点作为测试的数据集,分别对基于统计理论的抽取算法(Ext-ST)、基于DOM树的抽取算法(Ext-DOM)、基于归纳的抽取算法(Ext-I)与基于CSS视觉分块的Web碎片信息抽取算法(EXT-CSSV)进行对比测试。算法均采用C#语言实现,实现过程中通过微软的Visual Studio 2008提供的WebBrowser控件调用IE内核,从而生成CSS视觉分块。实验中运行的硬件环境为Intel? Rentium?III Xeon processor(2 CPUS),2.6GHz。160G硬盘,内存为1GB。存储数据的数据库为Microsoft sql server 2000,操作系统为Microsoft Windows XP。

实验中主要检测查准率与查全率两个指标。查准率为算法抽取到的Web碎片信息中准确的信息数与实际Web碎片信息数的比值。查全率为算法抽取的Web碎片信息数与应抽取的Web碎片信息数的比值。实验结果如表2所示。

为了进一步验证算法的效率,实验中分别采用随机选取500、1000、1500、2000、2500、3000、3500、4000、4500、5000个页面作为输入页面,各算法运行的对比结果以图3所示。

从表2可以看出,基于CSS视觉分块的Web碎片信息抽取算法的查准率为97.14%,查全率为96.87%,均比基于统计理论的抽取算法、基于DOM树的抽取算法及基于归纳的抽取算法要好。在时间效率上,从图3可以看出,随着输入页面数量的增多,基于CSS视觉分块的Web碎片信息抽取算法越占优势。

4 结束语

从半结构化的Web页面中抽取出相关的Web碎片信息,可以作为相关研究工作获取数据的重要前提,可以为研究人员获取相关的Web碎片信息,例如对于Web舆论导向研究具有十分重要的意义。基于CSS视觉分块的Web碎片信息抽取算法从CSS视觉效果出发,不仅考虑到浏览器的因素,更重要的是考虑了网页设计的对象是“人”的因素,从用户所见的视觉效果的角度对Web页面进行分块,可以快速地寻找出碎片信息所在的块,方便了信息的抽取,在一定程序上提高了碎片信息抽取的准确性与效率。目前,基于CSS视觉分块的Web碎片信息抽取算法已经被用于贵州省优秀科技教育人才省长专项资金项目——基于信息碎片与移动网络的信息传播与舆论导向研究中,作为前期获取信息碎片的主要工具之一,并体现出了较强的实用价值。

参考文献:

[1]王贤.基于树结构的DeepWeb数据抽取研究[D].昆明,昆明理工大学,2007.

[2]詹沐清,朱颖.基于Web的信息抽取技术探讨[J].中国科技信息,2013(4):69-70.

[3]王贤.基于统计的网页正文信息抽取方法的研究[J].中文信息学报,2004,18(5):17-22.

[4] GUPTA S,KAISER G.DOM-based content extraction of HTML documents[C]//Proc of the 12th World Wide Web Conference. New York: ACM Presses,2003: 207-214.

[5]李文,郑邦习,邓武.基于XML和DOM技术的Web信息抽取模型[J].大连交通大学学报.2013,34(3):96-99.

[6]刘军,张净.基于DOM的网页主题信息的抽取[J].计算机应用与软件,2010,27(5):188-190.

[7]那赫.基于DOM的Web主题信息提取系统的设计与实现[J].计算机与网络,2010(7):30-31.

[8]石倩,陈荣,鲁明羽.提出的基于规则归纳的信息抽取系统实现[J].计算机工程与应用,2008,44(21):166-170.

[9] Deng Cai, Shipeng Yu, Ji-Rong Wen, and Wei-Ying Ma. VIPS: A Vision-based Page Segmentation Algorithm. Microsoft Technical Report, MSR-TR-2003-79, 2003.

作者简介:向程冠,硕士,讲师,主研领域:数据库技术,数据挖掘与信息检索;熊世桓,硕士,教授,主研领域:计算机网络技术,数据库与软件工程。

上一篇:基于Android平台的老人跌倒检测软件 下一篇:基于K60单片机的SDRAM控制模型设计及实现