APP下载

基于文本行特征的网页正文信息抽取方法研究

2017-11-02刘志杰潘洋

软件导刊 2017年10期
关键词:通用性正文网页

摘要:目前互联网上网页来源众多、结构各异,针对网页正文信息抽取精度及通用性问题,提出一种基于文本行特征的网页正文信息抽取方法。首先根据正文特征将明显不是正文内容的噪声去除,通过预处理将页面转换成文本和行号的集合,根据网页正文文本行信息字数较长这一特点,设定阈值并删除不符合阈值要求的文本行。正文信息行距一般相隔较近且含有中文标点符号,根据这一特征进一步删除不符合要求的文本行,最后整合出网页正文信息。将该方法与网页正文提取工具印象笔记(Evernote)、有道剪报工具(YNote)进行对比实验,实验结果表明该方法在平均准确率上高于YNote、Evernote,具有一定的通用性。
关键词:网页信息抽取;正文特征;网页去噪;正文抽取DOIDOI:10.11907/rjdk.172123
中图分类号:TP301文献标识码:A文章编号:16727800(2017)0100015040引言
为了让用户快速获取信息,Jim Cowie和Yorick Wilks[1]于1996年提出信息抽取这一概念。很多学者根据不同的抽取需求提出不同的信息抽取方法,而在网页正文信息抽取方面热度较高,但抽取方法普遍存在通用性不强的问题,究其原因有:网页结构千变万化、网页信息呈现方式各不相同、网页噪声等。文献[2]指出噪声数据占据了网页的40%以上,并预测这个比例还会以每年6%以上的速度增长,这给Web信息检索带来严重干扰。网页噪声的存在直接导致检索结果的准确率降低[3]。因此,基于文本行特征过滤噪音信息,得到需要抽取的页面正文信息,对于信息检索具有重要意义。
Rahman、Hartono等[4]在2001年提出正文抽取一词, 在Web信息正文抽取研究中,前人根据不同的抽取需求做了大量工作。
基于包装器的方法主要利用网页模块化和结构化特征提取网页正文,该方法根据页面布局特点、规律等设计统一模板,对得到的模板进行分析以获取页面中的正文。文献[5]在TSIMMIS中首次提出包装器方法,该方法需要人工编写抽取规则,对于结构相似的模板页面能精确定位到正文信息,但缺点是通用性不强,只适用于特定页面。此外,人工书写规则容易出错,不便于维护。
基于网页标签的方法依赖HTML语言中的特定标签,如、
等,这类方法一般适用于正文处于特定标签的情况,对特征标签依赖很大,对页面的内容布局要求很高,无法处理其它布局类型的页面。文献[6]提出的基于统计的方法只适用于所有的正文信息放在一个table的情况,对于不是这种结构布局的页面则无法使用,通用性较低。文献[7]根据标签对网页进行划分,计算标签的长宽比以及判定段落文字相关度来确定正文内容。这类方法对table标签依赖较大,适用性不强。
基于文档树的方法[8]基本思路是:将HTML网页解析成DOM树的结构,通过统计节点的链接长度、文本长度、链接与文本数量比例等信息确定正文节点,根据路径相似度抽取正文,最终整合成网页正文。这种方法预处理工作较复杂,效率较低。
基于视觉特征的页面分块算法VIPS(Vision based Page Segmentation)[9],根据页面中的文字大小、背景颜色、逻辑块和逻辑块之间的间距等视觉特征来分割语义块,达到页面分块效果,对页面块之间水平和垂直方向的分隔条赋予权值,并通过配置网页信息抽取规则从中抽取信息。VIPS算法主要是将页面进行分块,网页信息提取需要信息抽取规则,使这种方法通用性受限,增加了算法复杂度。
上述方法或依赖人工书写规则,或依赖标签,或预处理较复杂,导致通用性和准确率降低。一个好的正文提取方法应该具有较好的通用性和较高的准确率[10],本文在前人研究的基础上提出一种基于文本行特征的网页正文信息抽取方法——contentExtractor,该方法对不同结构的网页有较好的适应性。
1网页正文信息抽取方法
基于文本行特征的网页正文信息抽取方法,是一种利用正文文本行特点、网页页面结构特征,将不符合要求的文本内容及噪声去除,保留符合正文特征要求的行文本方法。
1.1文本行特征
通过对大多数网页统计发现:虽然网页内容各异,结构不同,但其文字信息均由3类组成:正文文本、标签文本以及锚点文本。正文文本通常含有较多的文字信息,文字数量较大,同时含有较多的逗号、句号等标点符号,用于表达网页的主题信息;标签文本同样含有较少的字数,不含标点,主要用于说明;锚点文本含有的字数较少,并且排列整齐,通常不含有标点,主要用于导航栏和广告链接[11]。对于要抽取的正文来说,标签文本、锚点文本即为噪声内容,具有干扰影响,在抽取正文内容时应当去除。根据网页页面正文文本字数较多,文本长度较大,含有标点符号且正文内容较集中这些特征,对网页正文信息进行抽取。
基于文本行特征的网页正文信息抽取方法contentExtractor,主要分为预处理模块、抽取模块,流程如图1所示。
1.2预处理模块
通过人工分析网页源文件发现,有大量的非正文内容噪声存在于页面之中,预处理模块主要是将网页源码中的噪声过滤掉,减少其对正文内容提取的干扰。需要过滤的网页噪声包括:①内部样式文本,即样式块;②HTML标签之前的文本,网页正文通常出现在标签之后;③JavaScript脚本;④HTML注释。
具体步骤如下:①获取页面标题,一般的网页标题处于区域中标签之间,在获取网页源码后,提取标签之间的内容作为页面标题并保存。若无法提取到标题,则从区域中的标签提取;②使用正则表达式过滤上述网页噪声;③过滤所有的html标签,只保留文本信息;④删除HTMl符号实体,如空格、制表符等;⑤統计每行的字符长度并标以行号。

经过以上步骤预处理后,原始页面源码即转换成了行号和页面内容组成的文本。
1.3抽取模块
通过分析各类网站,可以发现正常情况下网页正文部分所包含的字符数目最多,内容较为集中,行距较近[12]。基于这种网页特征,正文信息抽取过程如下:
(1)设置行文本长度阈值L,遍历预处理模块中生成的文本,以当前行文本长度大于或等于阈值L的行作为正文文本的起始行linefirst1,以当前字数为0的行作为结尾行linelast1,这一部分正文组记为P1;继续遍历剩余文本,以同样的规则确定正文组,直到得到初始文本中的所有正文组,依次记为P1、P2…Pn。
(2)设置行距阈值D,比较正文组之间的行距。若行距大于阈值D,则删去这个行距下方的正文组,剩余正文组则为网页的正文部分;若行距小于阈值D,则判断所有的正文组均为网页的正文部分。
(3)删除步骤(2)中尾部正文组中不包含句号的句子,优化提取的正文内容。提取模块流程如图2所示。
整合抽取模块中提取出来的内容,将已确定为正文内容的部分和标题部分整合一并输出,即为页面正文信息。
2实验与分析
2.1实验数据及对比方法选取
大多数文献采用的数据只选取大的门户网站网页作为提取页面,这种情况会导致数据集不全面,存在一定的局限性。为了验证contentExtractor方法的通用性,本文采用的数据集除了新浪、网易、人民网、新华网、搜狐网等门户网站的页面外,还选取了新浪博客、CSDN、博客园等博客类网站页面。
为验证contentExtractor方法的准确性,将该方法与网页正文提取工具印象笔记(Evernote)、有道剪报工具(YNote)进行对比实验。对比工具如表1所示。
2.2评价方法
在页面信息提取过程中,用提取准确率P(Precision)和信息召回率R(Recall)两个指标衡量正文信息提取效果,其中准确率P在已提取信息的网页个数基础上计算,而信息召回率R在网页总数的基础上计算 [13]。主要数据定义如表2所示。
2.3实验结果
实验运行环境为Intel Core i74710MQ处理器,CPU为2.5GHz,内存为8.00GB,操作系统为Windows。首先将前面提到的新闻网页和博客网页源代码存储在本地文件中,作为实验测试数据,同时与另外2款网页正文提取工具——有道剪报工具(YNote)、印象笔记工具(Evernote)进行对比实验。在contentExtractor正文提取中,根据对实验数据的统计及分析,首先将阈值设置为:L=60,D=10,再根据控制变量法,在保持阈值D不变的情况下,改变阈值L的取值。根据实验结果,最终确定当行文本长度阈值L=80时,提取效果较好(如果网页正文的行文本长度的最大值小于80,则行文本长度的最优阈值为60)。实验结果如图3、图4所示。
2.4实验分析
从图3可以看出,contentExtractor在新浪、网易等新闻网页中的提取准确率比Evernote高出0.28%,和Ynote相比,两者准确率相近。在新浪博客等博客类网页中,contentExtractor的准确率均高于Ynote和Evernote,这是因为在这类网页部分含有评论区且评论区域有较多的文本内容,在提取这类页面信息时可能会将整个评论区内容提取出来,造成准确率降低。contentExtractor在平均准确率上高于其余两者。准确率P和召回率R在某些情况下是矛盾的。从图4可以看出,Evernote在召回率上高于Ynote,和contentExtractor在新闻类页面中相差不大,而在博客类页面中,contentExtractor召回率高出0.3%,整体平均值高于Evernote工具和Ynote工具,这在一定程度上验证了本文方法的有效性和通用性。
3结语
本文结合网页页面文本行特征进行分析,提出了一种基于文本行特征的网页正文信息抽取方法。通过采用相同数据集与其它提取工具进行对比实验,结果显示本文方法表现出较好的抽取效果。通过分析抽取过程中的错误页面发现还存在一些不足,在提高抽取效率、页面噪声过滤等方面需要进一步改进和研究。从实验结果可以看出,contentExtractor方法的抽取并不针对特定的新闻网页,对其它类型网页同样具有一定效果,该方法具有通用性。
参考文献参考文献:
[1]COWIE J,LEHNERT W.Information extraction[J]. Communications of the ACM,1996,39(1):8091.
[2]GIBSON D, PUNERA K, 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,ACM,2005:830839.
[3]謝方立,周国民,王健.基于节点类型标注的网页主题信息抽取方法[J].计算机科学,2016(S2):3149.
[4]RAHMAN A F R, ALAM H, HARTONO R. Content extraction from html documents[C].1st Int,Workshop on Web Document Analysis (WDA2001),2001:14.
[5]HAMMER J, MCHUGH J, GARCIAMOLIN H. Semistructured data: the TSIMMIS experience[C].Proceedings of the First EastEuropean Symposium on Advance in Databases and Information Systems,1997:18.
[6]孙承杰,关毅.基于统计的网页正文信息抽取方法的研究[J].中文信息学报,2004,18(5):1722.
[7]时达明,林鸿飞,杨志豪.基于网页框架和规则的网页噪音去除方法[J].计算机工程,2007,33(19):276278.
[8]林子熠,沈备军.基于统计的自动化Web新闻正文抽取[J].计算机应用与软件,2010,27(12):232235.
[9]CAI D, YU S, WEN J R, et al. VIPS a visionbased page segmentation algorithm[J]. Microsoft Research,2003.
[10]向菁菁,耿光刚,李晓东.一种新闻网页关键信息的提取算法[J].计算机应用,2016(8):20822120.
[11]孙桂煌,刘发升.基于正文特征的网页正文信息提取方法[J].现代计算机:专业版,2008(9):3438.
[12]陈千.主题网络爬虫关键技术的研究与应用[D].北京:北京理工大学,2015.
[13]秦成磊.Web文本挖掘若干关键问题研究及其在机电产品在线评测中的应用[D].上海:上海应用技术大学,2016.
责任编辑(责任编辑:杜能钢)

猜你喜欢

通用性正文网页
Improving polyp detection at colonoscopy: Non-technological techniques
更正声明
更正启事
Solution of the Dipoles in Noncommutative Space with Minimal Length∗
基于CSS的网页导航栏的设计
基于元模型的通用性列控仿真平台基础环境研究
抛丸机吊具的通用性设计以及抛丸器的布置
基于URL和网页类型的网页信息采集研究
网页制作在英语教学中的应用
10个必知的网页设计术语