基于DOM的网页信息识别提取技术研究
2013-04-29陈莹朱益多
陈莹 朱益多
摘 要 网络作为巨大的数据源,如何从中提取人们所关心的信息,滤除无用信息,是当今研究的热点。网络舆情分析中网页信息提取技术的研究应运而生。本文提出了一种基于DOM的网页信息识别提取技术,采用贝叶斯函数模型与阈值判别相结合的方式,有效提取网页信息。通过大量实验证明,此算法适用范围广且精确度高。
关键词 网页信息 贝叶斯 提取
中图分类号:TP393.02 文献标识码:A
网络舆情分析中的网页信息提取技术通过对网页进行处理,用一组信息描述所需要提取的信息,将其结构化后保存到数据库中,方便用户获取和利用这些信息。网页信息抽取的关键是保证信息抽取算法的准确性和健壮性。但是该技术主要的问题是要面对不断变化、更新的海量信息,并且大多数是以用于浏览,而不是用于数据操作和应用的HTML文档的形式出现。这就为网页信息抽取带来了极大的不方便。
目前,常见的提取技术有很多种,下面例举几种。傅里叶变换提取技术,该技术采用窗口分段的方法把文字分段,对各个文本分段分别进行傅里叶变换,用频域的欧式距离计算信号特性的差异程度来评价组间及组内元素的差异程度。内容相似度提取算法,该算法将复杂的网页脚本进行简化,并映射成一棵易于操作的树型结构,利用文本相似度计算方法,通过计算树节点中文本内容与各级标题的相似度判定小块文本信息的有用性,由此进行网页清洗与正文抽取,获得网页文本信息。基于数据挖掘的抽取技术,该技术使用文本分类、聚类、隐马尔科夫模型等数据挖掘算法对网页进行分析,将网页代码线性化重构清理后,将页面中的文本按格进行析取并聚类,最终生成正文。以上算法对于普通网页可以得到很好的结果,但对于表格及图片多的网页不能适应。因此,本文提出了一种基于DOM的网页信息识别提取算法。
1 算法思想
观察分析大量网页可以发现虽然互联网中网站复杂繁多,每个网站拥有各自的布局风格,但是每个网站的版块中,各个子网页的布局在一定时期内是基本相同的,这是因为这些网站在建立时运用了统一模板发帖。利用这一特性,本文提出了基于DOM结构的网页正文提取方法,这一方法采用数学模型对网页内容进行识别并提取,对于表格与图片同样适用。提取过程中采用时间分段方式,每隔一段时间下载大量网页,从中选取最大的网页提取模式并保存,之后利用该模式为其他的网页提取正文。
2 方法步骤
具体算法步骤如下:(1)下载大量网页, 选取最大的网页建立DOM树, 在代码中添加路径信息并清理布局样式;(2)用递归的方法遍历子树。遍历过程中采用贝叶斯函数构建识别系统;(3)构建阈值P进行判别,如果大于阈值,则重复第二步;如果小于阈值则提取,结束。
以某网站论坛提取为例,通过爬虫系统下载该论坛中的大量网页,挖掘系统从中选取代码篇幅较大的一个网页作分析。贝叶斯函数识别会影响到其他网页的正文提取,所以该部分需要很高的准确率,篇幅最大的网页一般具有较长的正文,选取这种网页可以提高模式提取的准确性。
对该网页建立DOM树,并对网页进行必要的规范化处理。为了防止后续处理破坏了DOM树的结构,导致后续无法找到原有的行进路径,所以要给每个标签添加上路径编号,记录该子树为父节点的孩子编号。
在处理过程中,我们只关心网页上显示的内容,而不关心网页的布局、样式等,因此删除只影响布局的子树,即删除不包含文本内容的子树。在页面中,除正文外,一般占有较大比重的是导航栏部分。这部分代码拥有大量的超链接,并且这部分DOM树的大部分子树只含有少量文字或超链接,清除这部分代码可以有效提高正文部分在网页中所占的比重。根据这一性质,若某树中只含有少量文字或超链接的子树数占总子树的比率超过了阀值T,那么认为该树是导航栏,并将它删除。
经过前面步骤的清理之后,文字内容长度已大大缩短,正文部分的字数在整个网页文字内容中所占的比重大大增加,因此递归提取出当前DOM树的最小子树,即所要提取的正文部分。
3 阈值P的确定
在清理导航栏步骤实验中,因为还有后续的处理,所以不能完全清理导航栏是可以接受的,但是将正文内容误判当成是导航栏是不可接受的,因此实验过程中引入简单的效果评判机制:若导航栏完全被清除,则得2分;若只有部分导航栏被清除,则得1分;若完全没有效果或出现了误判,则得0分。在实验过程中,选取来自15个网站各8个版块总共58张网页,对阀值P取不同的数值,计算每一个数值得到的清理效果得分总和。实验结果显示:当P小于0.4时,所有网页出现了误判;当P = 0.5、0.9时部分网页也有一定的效果;大部分网页在阀值P取值为0.6、0.7、0.8的时候有较好的效果,当P = 0.6时效果略微优于P = 0.7或0.8,然而在处理某个论坛的网页时,取值0.6、0.7出现了误判,在0.8、0.9时有较好的处理效果。最终当P取0.9时得到了最好的导航栏清理效果,因此根据以上实验结果,最终取P = 0.9。
4 结论
通过对多网站的测试,证明该算法对论坛的各种网页有较好的提取效果,极少正文网页、大量图片网页也能够正确提取,准确率得到了97%。对于网页的处理时间仅用时2秒多,每个论坛版块一般只需要很少的字节来保存路径信息,且不需要人工干预,这比过去的算法有了很大提高,可以满足舆情挖掘系统的快速处理要求。这说明基于DOM结构采用贝叶斯函数进行识别提取的方法具有实际应用意义。