文档介绍:基于行块分布函数的通用网页正文抽取
陈鑫(Xin Chen)
哈尔滨工业大学社会计算与信息检索研究中心(HIT-SCIR) ./
Google Code 开源网址址: http://code./p/cx-extractor/
新浪微博: /cx3180 腾讯微博: http://t./cx3180
欢迎意见和建议: ******@.
前言
对于 Web 信息检索来说,网页正文抽取是后续处理的关键。虽然使用正则表
达式可以准确的抽取某一固定格式的页面,但面对形形色色的 HTML,使用规则
处理难免捉襟见肘。
能不能高效、准确的将一个页面的正文抽取出来,并做到在大规模网页范围
内通用,这是一个直接关系上层应用的难题。
采用建 DOM 树的方法虽然直观也有效,但建树和搜索是多项式时间,且饱
受病态 HTML 的痛苦;采用机器学习或数据挖掘的方法未免有些小题大做。
本算法首次将网页正文抽取问题转化为求页面的行块分布函数,并完全脱离
HTML 标签。通过线性时间建立行块分布函数图,由此图可以直接高效、准确的
定位网页正文。同时采用统计与规则相结合的方法来解决系统的通用性问题。
本系统的设计与实现只为践行“简单的事情总应该用最简单的办法来解决”这
一亘古不变的道理。整个算法实现不足百行代码。我却相信:量不在多,在法。
一、选题背景
正文抽取在信息检索系统中有重要的作用。大多数网页中除了包含有用信
息(正文)外还包含许多噪声信息,例如网站的导航信息、相关链接和广告以及
一些脚本语言等。如果一个信息检索系统是基于网页正文内容进行的,那么当用
户输入查询关键词后,系统只是查找出正文部分和用户查询匹配的网页返回给用
户,这样使得检索出的网页与用户需要更加匹配,从而使用户可以更快地找到自
己所需的内容。另外,基于正文的网页去重、分类聚类以及文摘等的结果都会更
加准确。
如果把完成一个完整通用的信息检索系统类比为烹制一顿美味佳肴,分词
看做是切菜,那么正文提取则是切菜前必需的原料级加工——择菜。因为再出色
的厨师也无法将带有黄叶和泥巴的菜做成佳肴,所以正文提取的任务就是把菜择
好。
二、系统功能
本系统分在线和离线两种运行方式。
在线状态下,输入是一文本文件,里面包含要进行正文抽取的 URL,每个 URL
单独一行;离线状态下,输入是一文件夹,里面包含了所有要进行正文抽取的
HTML 源文件。
哈尔滨工业大学信息检索研究中心(HIT-CIR)
两种运行状态下的输出都是经过正文提取后的文本,具体格式如图 1 所示。
图 1:系统输出文件的格式,包括题目、关键字、发布日期和正文等
三、系统框架
图 2: 系统流程图
四、现有方法的不足
1
哈尔滨工业大学信息检索研究中心(HIT-CIR)
现有第一类方法:基于 Dom 树
1、利用开源包 HTML Tidy 处理 HTML,更正其中错误或不规范的地方;
2、根据较规范的 HTML 建立 Dom 树,然后递归遍历 Dom 树,比较并识别各种
非正文信息,包括广告、链接群和非重要节点信息;
广告信息移除:需要建立经常