基于新型主题信息量化方法的Web主题信息提取研究,本文主要内容关键词为:主题论文,信息论文,方法论文,Web论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
[分类号]TP391
1 引言
随着Internet及其技术的迅猛发展,网络已经成为人类有史以来最为庞大的数据库。但是Web页面除了含有表达主题的内容外,还有大量导航链接、广告链接和版权声明等与主题关系不大或者基本无关的内容。这些与Web页面主题内容关系不大或者基本无关的数据被通称为页面的噪音数据。噪音数据的存在给以Web页面数据为基础的应用带来了很大挑战:在Web信息检索领域,噪音数据会导致索引结构规模变大、检索准确度下降;在网页摘要领域,噪音数据会降低摘要的准确率;在主题搜索领域,噪音数据会导致主题漂移。因此快速准确地从Web页面中抽取出主题内容成为当前信息抽取领域的研究热点之一,具有较高的实际应用价值。
2 相关研究
在Web页面主题信息提取领域,国内外相关研究人员已经作了大量的研究。文献[1]提出信息块(Content Block)概念,以页面中Table标签作为处理元素将页面分割成块。对于使用同一个模板生成的网页集,找出在该网页集中多次出现的内容,作为冗余内容,而共同出现较少的内容块作为信息块。但该方法必须局限于同一模板的网页集,因此不够通用。
文献[2]提出一种基于统计的方法来实现对新闻类网页主题信息的抽取,实现简单,对新闻类网页处理效果不错,但该方法只适合于网页的所有主题信息位于同一个Table标记中的情况。
文献[3]基于DOM(Document Object Model)规范,扩展了STU(Semantic Textual Unit)模型,提出STU-DOM树模型,在删除无关节点的同时有效保留了与主题相关的文字和链接。但该文并没有区分Table标签的两种不同作用,对于结构复杂、噪音较多的网页会留下较多的噪音信息。
本文在研究大量文献的基础上,提出了一种新的定义和量化主题信息的方法:把网页主题信息分为三种形式,对不同形式的主题信息采用不同的方法进行量化计算。在处理过程上,把这种新方法结合分块思想运用到IB-DOM树模型中,并采用分治思想,把网页主题信息提取分为主题信息区域定位和主题信息区域噪音过滤两个阶段进行有针对性的处理。这种方法较好地解决了网页主题信息抽取领域中主题信息完整性与主题信息准确性之间的矛盾。
3 主题信息提取算法
3.1 基本定义
(1)网页主题信息
从内容形式上,Web上的网页大致可以分为有主题型网页、目录型网页和图片网页三种类型。有主题型网页通常通过成段的文字或者表格描述一个或多个主题,虽然也会有图片和超链接,但这些图片和超链接并不是网页的主体;图片网页中内容是通过图片体现的,图片丰富,而文字仅仅是对图片的一个说明,因而文字不多;目录型网页通常不会描述一件事物,而是提供指向相关网页的超链接,因此网页中超链接密集。
本文所述的网页主题信息所针对的就是有主题型网页。在过去的文献资料中,对于网页主题信息的定义和量化,本文认为主要存在三点不足:
①凡提到主题信息,一般指的就是成段的文字,对图片、表格等形式的信息重视不够。
②在处理过程中并没有对文本段落中的文字和数据表格中的文字加以区分。
③对文字段落的相关信息往往是以单个文字或词为单位进行统计的。
上述网页主题信息的定义和量化方法存在诸多不足:
①随着技术的发展,主题信息的形式趋于多元化,图片等新媒体形式在信息展示方面的作用越来越大,因此必须把图片等新媒体形式纳入到主题信息提取的概念中;
②数据表格是Web上展示信息的非常有效的手段,具有简洁、清晰、对比性强的特点。数据表格虽然也含有文字,但是它和成段的文字特点明显不同,因此不能简单地以处理成段文字的方法来处理数据表格;
③单个文字不是相对独立的信息单位,不能反映文字段落的内在特征,而基于词的方式需要介入分词,影响处理效率。
基于上述原因,结合现阶段Web页面的特点,本文提出了一种新型的网页主题信息的定义和量化方法:
①在网页主题信息的构成上,本文把网页主题信息分为成段文字、数据表格、图片三种信息形式。
②在网页主题信息的量化上,本文根据上述三种不同形式信息的特点采用不同的量化方法:对成段文字采用具有相对独立意义的语句作为其基本信息单元;对相关图片采用图片单元作为其基本信息单元;对数据表格采用非空数据单元格作为其基本信息单元。
(2)文档对象模型(Document Object Model,DOM)
DOM是由W3C组织制定的创建和操作HTML和XML的标准接口规范。HTML文档被解析后,转化为DOM树,树的每一个节点是一个对象。DOM模型不仅描述了文档的结构,还定义了节点对象的属性和行为。通过这些属性和行为,可以方便地访问、修改、添加和删除DOM树的节点和内容[4]。
(3)信息块(Information Block,IB)
在视觉上,一个网页可以划分为若干视觉区域,同一视觉区域在外观属性上具有相似性;从内容上看,属于同一视觉区域的内容往往具有较大相关性;从网页源文件的结构上来看,这些在视觉上具有相似性、在内容上具有较大相关性的区域往往位于同一个HTML标签内部。本文把这些在结构上位于同一个HTML标签下,在内容上具有较大相关性,在外观上具有较大相似性的区域称为信息块。
(4)语义信息
本文中语义信息特指能够概括信息块内容构成的信息。在本文中语义信息分为积极语义信息和消极语义信息。积极语义信息是指倾向于与主题相关的信息;消极语义信息是指倾向于网页噪音的信息。
(5)IB-DOM树[3]
向DOM树中某些具有信息块划分作用的节点添加语义信息所生成的DOM树称为IB-DOM树。此处的IB-DOM树的作用同文献[3]中的STU-DOM树作用类似,不同点在于:选择的分块标签不一样;给分块标签所添加的语义信息不一样。
图1是一段HTML源文件及其DOM树、IB-DOM树的结构示意图。在图1所示的IB-DOM树中,具有语义信息的节点为“TABLE”和“DIV”,NS、NA、NI为语义信息,分别表示信息块内标点符号数目、超链接数目和图片数目。
图1 一段HTML源文件及其DOM、IB-DOM树示意图
3.2 算法描述
从整体上看,Web主题信息提取过程可以分为两个阶段:主题信息区域定位;主题信息区域噪音信息过滤,如图2所示。主题信息区域定位算法的作用是在IB-DOM树的基础上,以信息块为处理单位,根据信息块的积极语义信息自上而下迅速定位到包含主题信息的信息块;噪音过滤算法是在主题信息区域定位算法的基础上,对已知的包含主题信息的信息块进行过滤,得到比较“干净”的描述主题信息的文字段落以及相关图片和表格。
图2 系统流程图
图3 主题信息区域定位算法流程图
3.3 主题信息区域定位算法
主题信息区域定位算法又可以细分为网页解析、清理无用节点、分块、统计语义信息、定位主题区域5个处理流程,如图3所示,关键步骤是分块和统计语义信息计算。
(1)网页解析
将HTML文档转化为DOM树的过程就是解析。为了研究的方便,本文使用的是经过简化处理的HtmlTidy的动态链接库。
(2)清理无用节点
所谓无用节点主要是指与主题信息抽取无关的节点,如脚本(Script)、样式控制信息(Style)、注释(Comment)等。
(3)分块算法
分块是将DOM树转化为IB-DOM树的过程,也就是在DOM树中给某些具有信息块划分作用的标签添加语义信息的过程。
HTML中常见的具有信息块划分作用的标签有table、div、td、tr、p等,其中以table和div标签最为常见。但是table标签有时候并不是以规划布局作用出现的,而是以展示数据的作用出现,而只有起到布局作用的table标签才能用来划分信息块。在本文中称被用来进行Web页面规划布局的table标签为布局表格;称被用来组织、展示数据的table标签为数据表格。
对于table标签类型的判断,文献[5]总结出了三条规则:
①一个数据表格必须至少包含两个单元格来表达属性和值;
②一个单元格如果包含太多的超链接、表单或图片,则它不是数据表格;
③如果一个表格嵌套了其他表格,则将被嵌套的表格作为一个图形处理,来确定表格的类型。
在上述三条规则的基础上,本文又添加了一条经验性的补充规则:
④如果一个table标签中含有〈caption〉、〈th〉标签,则该table标签在很大程度上就是数据表格。
经过实验分析,本文用div标签和布局表格作为分块节点。本文的分块算法为:从根节点开始递归遍历DOM树,遇到div节点时,则将其作为一个信息块,统计并为其添加积极语义信息(语义信息统计算法见下文语义信息统计算法);遇到table节点时,调用table标签类型判别算法,如果是布局表格,则将其作为一个信息块,统计并为其添加积极语义信息。
(4)语义信息统计算法
因为在主题信息区域定位算法中用到只是信息块的积极语义信息,所以此处所统计的只是信息块的积极语义信息(消极语义信息的统计方法在下文噪音过滤算法中有详细说明)。
在本文的定义中,网页主题信息主要是由成段文字、数据表格和相关图片构成的,因此统计信息块的积极语义信息主要就是统计信息块内上述三种信息形式的基本信息单元的数量。
经过实验分析,对于成段文字,本文采用逗号和句号的数量作为其语义信息的统计值;对数据表格采用非空单元格的数量(即非空td和th的标签数量)作为其语义信息统计值;对相关图片采用相关图片的数量作为其语义信息的统计值。
经观察笔者还发现:成段的文字通常置于具有分段作用的标签中、或者被具有换行作用的标签分成段落;具有重要意义的信息通常会被某些具有增强显示效果的标签修饰,比如〈H1〉、〈strong〉、〈b〉等。
基于以上考虑,除了统计构成主题信息的三种信息形式的基本信息单元的数量外,还需要统计那些经常被用来划分文字段落的标签数量以及具有突出信息重要性的标签数量。经过多次实验,本文统计的是修饰成段文字的p、br标签和含有非空文本节点的H1标签的数量。
在实际的处理过程中,从Web页面整体上看,图片链接属于噪音的范畴,但在主题信息区域内,相关图片则属于主题信息不可缺少的一部分。为了解决上述矛盾,本文引入了一个处理技巧:在主题信息区域定位阶段,由于尚未定位到主题区域,暂不把图片作为信息块的积极语义信息进行统计;在噪音信息过滤阶段,因为处理的对象是定位到的主题信息区域,则把满足一定条件的图片作为信息块的积极语义信息进行统计(图片过滤算法3.4中将有详细介绍)。
(5)定位主题信息区域算法
该算法的作用是根据信息块的积极语义信息的权值和上下文语境自上而下迅速定位到包含主题信息的信息块。
定位主题信息区域算法:以IB-DOM树的Body节点为起始(Body节点被看作最顶层的信息块),广度优先遍历其孩子信息块,如果存在某一孩子信息块其积极语义信息权值占父信息块的积极语义信息权值的比重大于一定阈值,则以该孩子信息块为处理对象递归进行上述过程,如果找不到满足阈值要求的孩子信息块,则以父信息块作为主题信息区域返回。
这里的阈值选取非常重要,可以确定的是:阈值越大,主题信息完整率越高,但噪音数据量也越大;阈值越小,主题信息完整率越低,噪音数据量也越小。定位算法首要考虑的是保证主题信息的完整性,因此该阈值选取的要求是在基本保证主题信息完整的基础上尽量减少所包含的噪音数据。
信息块的积极语义信息权值指的是信息块内积极语义信息的某种数学加权方法得到的量化值。如果信息块用字母B表示,信息块内文字段落的句子数量用NS(B)表示,信息块内非空数据单元格数目用NTC(B)表示,信息块内修饰成段文字的p或者br标签数量用NP(B)表示,信息块内含有非空文本节点的H1标签数量用NH(B)表示,信息块积极语义信息权值用PW(B)表示,则本文所采用的积极语义信息权值计算公式为:
PW(B)=NS(B)+NTC(B)+NP(B)+2*NH(B) (1)
通过多次实验发现,在采用公式(1)所定义的积极语义信息权值计算方法的情况下,当阈值的取值约为0.75时,主题信息的完整性和准确性之间达到了一个较好的平衡。
3.4 主题信息区域噪音过滤算法
噪音过滤算法的作用是依据信息块的噪音信息和上下文语境滤掉主题信息区域内的噪音数据。
噪音信息过滤算法可以分为过滤无关图片、重新计算信息块语义信息和过滤噪音块三部分。算法流程如图4所示。
图4 主题信息区域噪音过滤流程图
(1)过滤无关图片算法
该过程目的是过滤掉与主题无关的图片。通过观察分析,笔者总结出以下特点:
①与主题相关图片尺寸一般比较大,小图片通常为噪音信息;
②与主题相关图片的长宽比例一般比较协调;
③与主题相关图片一般以img标签单独出现,如果img标签嵌在具有跳转作用的节点内部,如〈A〉标签,则该图片通常为噪音;
④与主题相关图片通常穿插在文字里面,因此图片所在的信息块一般会有较多文字。
根据上述特征,经过多次实验,本文给出以下几条过滤规则:
①如果图片的长度或者宽度小于一定阈值,则过滤掉,本文选取的阈值为100;
②如果图片的Height和Width比例大于一定阈值,则过滤掉,本文的过滤条件为:如果Height/Width不在1/3到3之间,则过滤掉;
③如果图片嵌在具有跳转作用的标签内,则过滤掉,本文主要考虑跳转节点为〈a〉;
④如果图片的长宽信息没有给出,则判断图片所在的最内层信息块和其父信息块的文字数目,如果两者的文字数目均小于一定阈值,则过滤掉,经实验分析,本文选取的阈值为15。
(2)重新统计信息块语义信息算法
在主题信息区域定位算法中,在统计信息块的语义信息时,得到的语义信息并不完整:一是没有把图片计入积极语义信息中,二是没有统计信息块的消极语义信息。
在经过主题信息区域定位和过滤无关图片的处理后,图片已经由原来的在整体上属于噪音信息转变为在整体上属于与主题相关的信息,因此必须把图片加入到信息块的积极语义信息中;另一方面出于后续过滤噪音块过程的需要,也必须为信息块统计并为其添加消极语义信息。
这里的积极语义信息的统计和权值计算方法同上文介绍的基本一样,唯一的变化是这里把图片也作为积极语义信息进行统计和计算。
笔者认为在有主题型网页中,噪音数据主要由具有跳转、交互作用的HTML节点构成,比如〈A〉、〈form〉、〈firame〉、〈input〉、〈image〉等,网页噪音的基本信息单元为构成噪音的HTML节点。因此统计信息块的消极语义信息就是统计具有跳转、交互作用的HTML节点数量。在本文实际算法中统计的是〈A〉、〈iframe〉、〈frame〉、〈input〉、〈form〉这些节点的数量,而计算消极语义信息权值所采用的方法就是将上述标签数量进行累加。
(3)过滤噪音块
噪音块的判定主要根据信息块的积极语义信息和消极语义信息权值的比值来确定,本文认为满足下述三种情况之一的信息块就是噪音块:
①如果信息块的积极语义信息的权值为0;
②如果信息块的消极语义信息与积极语义信息权值的比值大于4∶1;
③如果信息块的消极语义信息的权值大于信息块积极语义信息的权值,并且该信息块内的文字数目小于50,文本节点的平均文字数目小于5。
过滤噪音块算法简要描述为:递归遍历主题信息区域内的子信息块,如果是噪音块,则删除该信息块。
4 实验结果
在实验中,笔者分别从新浪、搜狐、网易、腾讯、新华网、千龙网、联合早报等大型网站的新闻、教育、健康、体育、财经、娱乐等栏目选取了大约100个网页对本文提出的算法进行了测试。
评测标准分为5个等级:
(1)好:主题区域定位正确,与主题相关信息完整,基本没有噪音信息;
(2)较好:主题区域定位正确,与主题相关信息完整,有少量噪音信息;
(3)中:主题区域正确,与主题相关信息完整,但含有较多噪音信息,但噪音信息量仍明显小于主题相关信息;主题区域定位基本正确,主题信息有部分缺失,但缺失信息量不大于20%,基本无噪音数据或者含有少量噪音数据;
(4)较差:主题区域定位基本正确,主题相关信息有部分丢失,丢失量超过20%但小于50%;主题区域定位正确,主题相关信息完整,但噪音信息明显偏大;
(5)差:主题信息区域定位错误或者有较多主题信息丢失。
实验结果如表1所示:
表1 网页主题信息提取结果
网页总量 好
较好 中
较差 差
新浪 1008611210
搜狐 1008312410
网易 1007610
1121
腾讯 10086 9203
新华网
1008710120
千龙网
10090 7021
联合早报 1008510104
统计 700
59369
2189
通过实验结果可以看出,在本文提出的评价标准中,提取效果达到好和较好的比例达到了(593+69)/700×100%=94.4%。
通过对实验结果进行分析,可以发现,导致少数网页主题信息提取效果较差的原因有:
(1)主题相关信息不在选定标签所划分的信息块中;
(2)大量噪音信息以成段文字的形式出现;
(3)数据表格中含有大量超链接;
(4)与主题相关图片嵌在具有跳转作用的标签中,如〈a〉标签。
5 结语
本算法与同类其他大多数算法相比,优点是较好地解决了与主题相关图片和数据表格的提取问题,在主题信息的准确性上也有了提高。在主题信息的完整性上优于文献[2]中的方法,并且克服了主题信息只能位于同一个table节点下的局限性;在主题信息的准确性上优于文献[3]中提出的方法。
本文在前人研究的基础上提出的新型网页主题信息的定义和量化方法具有以下优点:
(1)在网页主题信息定义上,本文提出主题信息是由成段文字、相关图片和数据表格构成的,突破了传统的重文字,轻图片和表格的思想;
(2)在语义信息量化上,本文根据成段文字、图片和表格的各自特点,对上述三种形式的主题信息采用了不同的语义信息量化方法,更能反映三种不同形式主题信息的内在特点;
(3)本文采用了分治思想,把整个主题信息提取过程分为两个阶段,不同阶段处理不同的重点问题,对图片在不同的阶段也采取了不同的处理方法,这种思想比较符合自然规律和人类认识问题的规律。从实验结果来看,这种方法较好地解决了网页主题信息完整性与准确性之间的矛盾。
收稿日期:2008-09-24
收修改稿日期:2008-10-21