杨文超 乔鸿
山东师范大学管理科学与工程学院 山东 250014
Web信息抽取是一个从网页中抽取主题信息的问题。它将现有的Web信息以更为结构化的方式抽取出来。Web 信息抽取技术的核心是从Web 页面所包含的无结构或半结构的信息中识别用户感兴趣的数据,并将其转化为结构化、语义更为清晰的格式。构建Web 信息抽取器的方法有很多,这些方法大多数都是有监督的学习方法,通过学习样本网页,归纳出网页的抽取规则。但是,目前常见的信息抽取器存在的一个主要问题:从样本网页中学习到的抽取规则只适用于样本所在的网站。这些抽取器不仅维护成本高,而且可适应性差。
最近,有研究者提出了几种不同的可适应性信息抽取的方法,意在网站结构发生变化时不必修改抽取规则,然而这些方法仍然需要大量人工工作。例如:文献[1]提出一种通过聚类规则来对网页进行分块,最后对其进行剪枝,删除掉无用的信息,提取主题信息。文献[2]提出基于扩展DOM树的Web页面信息抽取,能对多信息块的Web页面进行信息抽取。文献[3]提出的一种可适应性的Web信息抽取方法,但仅仅只是针对单信息块的商品信息抽取,而对于多个信息块的网页只能抽取出第一个信息块,影响了信息抽取的精度。基于文献[3]这种思想,我们提出一种基于DOM 树的可适应性多信息块Web信息抽取,以对任何一种网页结构进行有效的信息抽取。
Web信息抽取流程图如图1所示。
图1 Web信息抽取流程图
网页信息主要存在于半结构化的HTML文档中,由于HTML经常可以有一些省略和不规范的写法存在,这就给抽取我们感兴趣的信息增加了难度。本文的方法是首先利用开源的HTML解析程序NekoHtml,修改网页的语法错误,将网页转化为格式良好的HTML文档,将HTML文档解析成DOM树。网页被解析后,转化为DOM树,树的每个节点是一个对象。DOM模型不仅描述了文档的结构,还定义了节点对象的行为,利用对象的方法和属性,可以方便地访问、修改、添加和删除DOM树的节点和内容。我们首先将网页解析成DOM树,给我们的网页抽取带来了极大的方便。
在同一领域里不同网站介绍同一商品的网页,都包含一些与商品有关的相同或相似的关键词。而这些关键词通常放在重要的信息块里面,可以通过确立和定位这些关键词来确定和抽取关键信息块。关键词组与一定的领域知识和商品密切相关,我们需要为不同的商品建立不同的关键词组。对于某一商品的关键词组的选取,要使得该关键词组覆盖尽可能多的网站,同时每个网站包含其中一定数量的关键词。我们可以建立一个商品关键词库,包含多种商品的关键词组。当要抽取某种商品信息时,直接去商品关键词库取得相应商品的关键词组。该方法具有很强的适应性和扩展性。
对于某类商品,获取一定数量的相关网页,对这些网页进行文本分析,提取频繁关键词作为商品的相关关键词。由于属于同一网站的网页往往是经过相同的模版生成的,而不同网站都有各自的模版,因此针对网页是否属于同一网站进行相应不同的处理。本文采用分层抽取的思路来挖掘商品相关关键词。
算法:
输入:某商品一定数量的样本网页;
网站内频繁度λ1,网站间频繁度λ2
输出:该商品的相关关键词集
步骤:
对样本网页根据所在的网站进行分类;
同一网站的网页集频繁关键词提取
{
抽取网页纯文本;
调用分词器对网页文本进行分词处理;
计算网站内关键词的词频 f1;
/* f1= 网站内包含该关键词的样本网页数/该网站的总样本网页数* /
返回网站内的词频大于λ1的关键词集;
}
网站间频繁关键词提取
{
计算网站间关键词的词频f2;
/* f2= 包含该关键词的样本网站数/
所有样本网站数* /
返回网站间的频繁度大于λ2 关键词集;
}
在DOM 树中,每一个文本节点都对应一条从根节点到叶子节点的路径,路径上所有的元素节点都是文本节点的祖先。
由于每一个关键词都对应到文本节点,因此我们可以利用每一个关键词的路径来得到所有关键词的最近公共祖先,从而有效地定位到中心节点,改进了文文献提出的算法。具体算法如下:
输入:关键词组集{ k1,k2,...,kn}
输出:m个中心节点和关键路径
步骤:
(1) 对待抽取的网页建构DOM树结构,深度优先遍历DOM树,
For i : = 1 →m
找到每个关键词ki(i = 1 ,…,n) 对应的m个文本节点,生成对应的遍历路径集合
寻找最长的公共子字符串p11′字符串必须是从pij首个字符开始严格匹配,并将p11′加入到公共子字符串集合{pij′},i ≤m j≤n中,然后累计p11′出现的次数。
End ;
(3) 在集合{ pij′} ,i ≤m j≤n 中出现次数最多的p11′就是关键路径,关键路径中最后一个标签字符是我们要获取的一个信息块的中心节点。
我们采用信息抽取系统中两个经典评测方法评测,即精度和召回率。定义如下:
正确率=正确信息块数/输出的信息块总数;
召回率=正确信息块数/信息块数。
从电子商务网站中60个笔记本类商品信息网页进行抽取(所属品牌,上市时间,屏幕尺寸,标配内存,处理器型号,硬盘容量等通用属性)测试,测试数据如表1。
表1 测试数据
由上面的计算公式得,正确率85%,召回率93.2% 证明该方法是可行的。
本文主要提出的基于DOM树的可适应性多信息块Web信息抽取是对基于DOM 树的可适应性Web信息抽取算法的一种扩充。它利用聚类方法从待抽取的一类网站中获取到关键词组,然后利用NekoHtml构建网页的DOM 树结构,通过遍历DOM 树结构来获取每个关键词在DOM树中每个信息块中的路径,每个路径组的最近祖先节点包含了我们待抽取的一个信息块。该信息抽取方法能够获取比较高的正确率和效率。同时该方法不局限于单信息块存放商品信息的网站,对多信息块存放商品信息的网页也能准确地抽取,因此具有很强的适应性和扩展性,以能适应于各种类型的网页。
[1] 刘军,张净.基于DOM的网页主题信息的抽取.计算机应用与软件.2010.
[2] 王磊,蒋建中,郭军利.基于扩展DOM树的Web页面信息抽取.2007.
[3] 李朝,彭宏,叶苏南,张欢,杨亲遥.基于DOM 树的可适应性Web信息抽取.2009.
[4] 邓健爽,郑启伦,彭宏.基于关键词聚类和节点距离的网页信息抽取[J]计算机科学.2007.