当前位置:文档之家› Web数据挖掘系统的设计及关键技术研究

Web数据挖掘系统的设计及关键技术研究

Web 数据挖掘系统的设计及关键技术研究刘敏钰,薛鸿民(陕西教育学院计算机系,陕西西安710061)收稿日期:2004-11-27作者简介:刘敏钰(1964-),女,陕西合阳人,副教授,主要研究方向为信息技术教育及计算机网络。

摘 要:Web 数据挖掘是一种新兴的边缘科学技术,它涉及到机器学习、数据挖掘、信息检索、自然语言处理、数据库以及人工智能等技术,可用于网络检索、网站建设以及电子商务等方面。

本文在对Web 数据挖掘技术详细研究的基础上,提出了一个Web 数据挖掘的通用系统框架,并对信息收集、信息选择和预处理、模式的提取和用户接口等各个组成部分所使用的技术和存在的问题及解决的方法进行了讨论。

本文结合Web 自身的特点,提出了一个智能网页收集器WebCrawier ,它除具有一般Web Robot 的基本功能外,还采用了一种既考虑文本重要性又考虑链接结构的URL 排序方法,从而确保收集的Web 页面是Web 比较优秀的部分。

关键词:信息检索;数据挖掘;Web中图分类号:TP274+.2 文献标识码:A 文章编号:1671-654X (2005)01-0059-04引言Internet 及WWW (Worid Wide Web )的出现极大地改变了人们的工作、学习和生活。

Web 上巨大的信息使人们处于Rich Data Poor Information 的境地。

人们获取信息的主要手段———搜索引擎存在着搜索范围比较窄、搜索结果不准确、基于句法的查询接口、不能提供多媒体搜索服务等缺点,所以无法满足人们需求,而Web 数据挖掘的出现能部分解决此类问题。

Web 数据挖掘(Data Mining )就是利用数据挖掘技术从网络文档和服务中发现和提取信息。

数据挖掘也称为KDD ,是指从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、有用的信息和知识的过程[1]。

1 发展现状及面临的问题Web 数据挖掘有两种方法———直接对Web 文档进行挖掘和构造Web 数据仓库进行挖掘。

传统的从Web 上提取信息的搜索引擎和近来的从Web 上智能提取信息的搜索工具都是直接对Web 文档进行挖掘。

Web 是一个没有标准、没有结构的异构系统,可以将其转换并看作一个多层数据库,用数据库技术进行管理和挖掘。

IBM ,NEC 等机构对Web 数据挖掘进行了大量的研究,并取得了一定的成果[2]。

S.Charkrabarti [3]对超文本数据挖掘进行了研究,并指出基于知识的算法将会在Web 数据挖掘中扮演重要的角色;B.Pinkerton [4]对信息的收集和评价方法进行了讨论并引入了结构挖掘来评价查询结果;Osmar.R.Zaiane 等还对Web 多媒体数据挖掘进行了研究,并提出了一个多媒体数据挖掘的系统原型。

1998年,S.Brin 和L.Page [5]提出了PageRank 算法并将其应用到Googie 。

与国外相比,国内对数据挖掘的研究稍晚,主要开始20世纪90年代中期。

对数据挖掘的研究要在1998年以后。

南京大学、北京大学、中科院计算技术研究所等等对Web 内容挖掘进行了一定的研究,国防科技大学、上海交通大学、西安交通大学、复旦大学等对Web 访问信息挖掘进行了大量研究。

邹涛[6]、王继成[7]、王实[8]、高文[8]、张卫丰[9]等对Web 内容挖掘以及Web 信息检索的技术进行了研究。

国防科技大学、上海交通大学、西安交通大学等对用户访问站点的路径访问模式进行了初步研究。

此外,一些数据挖掘和智能信息检索的学术团体也十分活跃,如数据挖掘讨论组、南京大学BBS 的数据挖掘版和智能信息检索论坛等。

但是国内的科研力量和研究水平与国外有一定差距,还没有提出独到而又新颖理论和方法。

本文在对Web 数据挖掘技术详细研究的基础上,提出了一个Web 数据挖掘的通用系统框架,并对信息收集、信息选择和预处理、模式的提取和用户接口等第35卷 第1期2005年3月航空计算技术Aeronauticai Computer TechnigueVoi.35No.1Mar.2005各个组成部分所使用的技术和存在的问题及解决的方法进行了讨论。

2 WEB 数据挖掘及分类“Web 数据挖掘(Web Mining )”一词是由0.Etzi-oni 在1996年提出的,他指出Web 上的信息已经“结构化”,从而能够方便有效地进行Web 数据挖掘,同时将Web 数据挖掘分为三个过程———资源发现(Source Finding )、信息提取(Information Extraction )和概括(Generalization )。

2.1Web 数据挖掘的定义Web 数据挖掘就是利用数据挖掘技术从网络文档和服务中发现和提取信息。

它的一般处理过程可用图1来表示:图1 Web 数据挖掘的处理过程图1中,资源发现(Resource Finding )是指从Web 获取并返回文本资源的过程。

文本资源最常见的是HTML 文档,其他的还有电子邮件,新闻组,BBS 等。

信息的选择和预处理(Information Selection and Pre -processing )是对第一步所返回的资源进行的各种形式的处理过程,如去掉HTML 文档中的标签(tags )。

模式提取是从各个站点或站点间获取通用模式,它常用机器学习和传统的数据挖掘技术。

最后一步的模式分析验证(Analysis )是对获取模式的解释。

从以上四步的处理过程可以看出:Web 数据挖掘是从Web 数据中发现获取潜在有用信息的整个过程,它包含了传统的知识发现(KDD )处理过程,可以将Web 数据挖掘看成是KDD 技术在Web 数据上的应用与扩展。

2.2Web 数据挖掘的分类Web 上各种形式的文档和用户访问信息就构成了Web 数据挖掘的对象。

Web 包括三种类型的数据:Web 页面数据、Web 结构数据和Web 日志文件。

根据数据挖掘对象的不同可以将Web 数据挖掘分为Web 内容挖掘(Web Content Mining )、Web 结构挖掘(Web Structure Mining )和Web 访问信息挖掘(Web Usage Mining )三类。

Web 内容挖掘是指从Web 的文档中发现提取有用信息;Web 结构挖掘是指对HTML 页面间的链接结构进行挖掘;Web 访问信息挖掘是从网络访问者的交谈(session )或活动(behavior )中提取信息,如图2所示。

图2 Web 数据挖掘的分类3 Web 数据挖掘系统的设计Web 数据挖掘系统划分为四个大的子功能模块:信息资源的收集、信息选择和预处理、模式提取和用户接口(模式评价),如图3所示。

图3 Web 数据挖掘的功能结构图信息资源的收集是从Web 获取并返回资源的整个过程,首先要确定一个起始URL 集合,然后Crawler 根据这些URL 再从Web 上进行新的收集。

信息的选择和预处理是对返回资源的各种形式的预处理。

模式提取就是从Web 页中发现模式,系统的目标就是找到与用户查询相关的文档(现将对用户输入的预处理包括在内)。

模式的分析验证的方法有二:一是通过用户的评价,二是用通用的评价参数。

以下就分别对上面的各个部分进行详细的研究和讨论。

3.1用户接口用户接口给用户提供了一个查询接口,用户可以通过接口来加强对挖掘内容以及质量的控制。

它为用户提供两个级别的选择:!宁缺毋滥,"一网打尽。

根据用户不同的选择做相应的处理。

宁缺毋滥就是保证搜索的质量而不追求数量,这样的查准率较高而查全率较低;而一网打尽可以说是追求数量这样的查准率较低而查全率较高。

此外查询的可视化也属于这一部分。

它以简单直观的方式列出查询的结果。

此外用户接口还应该支持高级用户,支持布尔操作,特定域或类的查询等。

3.2网页的收集网页的收集一般是通过Crawler 来实现的。

其基本思想是把Web 看作一个有向图,然后再根据深度优先或广度优先算法进行遍历.Crawler 模块收集Web 上的网页以便索引模块进・06・ 航空计算技术 第35卷 第1期行进一步的分析。

Crawier以一个或一组URL为起点,对相应的Web进行访问并下载其HTML源码,从中抽取新的URL,Crawier从新的URL开始重复以上处理过程。

重复这一过程直到满足一定的条件终止Crawier。

由于Web自身的巨大容量以及动态性,在实际的实现过程中可能会出现许多问题,以下是在设计时几个重要的考虑因素:3.2.l 页面的选取任何一个Crawier都不能将整个Web上的所有页面下载下来,现在即使是最综合的搜索引擎也只能索引Web的一小部分。

从而Crawier应仔细的选择要访问的Web页面,通过对访问队列中的URL进行优先级排序以便首先访问重要的页面。

使得Crawier访问的那部分Web是最有价值的部分[4]。

3.2.2 页面的更新Web是一个动态异构的数据环境,Crawier下载页面以后,应该重新访问下载的文件以探测网页的变化并更新下载的文档集。

但是Web页的变化速度是不同的,Crawier就需要考虑重新访问页面的策略。

理想的情况是根据各个页面的更新速度Crawier进行同步地更新。

在实际实现过程中应该对页面进行更新预测,如果某一页面很少改变,Crawier重新访问的时间间隔就长一些,在较短的时间内访问那些改变更快的页。

这样既保持了页面的新鲜性又节约了网络资源。

3.2.3 并行工作由于Web的巨大容量,Crawier通常是在多台机器上运行并且并行地下载页面。

在有限的时间内下载大量的页面这种并行处理是必需的。

显然这些并行的Crawier应该很好地协调以避免多次访问同一个Web站点。

Crawier应严格执行采用的收集策略、协调可能会导致通信过载。

从而限制了同时工作的Crawier的数目。

3.3页面的存储和索引页面存贮器是一个管理大量的由ROBOT收集到的Web页面的大规模页面存贮器。

它应该为ROBOT 提供一个接口使得ROBOT能够很方便地进行页面的存贮,同时它还要为索引器提供接口使得在进行页面索引和查询时能够很容易地访问到所需的页面。

考虑到Web上信息量巨大的特征,一个有效的页面存贮器应该能够将分布在多台计算机上的存贮设备有效地组织起来。

它要提供页面的随机访问和流访问两种方式,随机访问主要用于查询,当终端用户需要某一页面时,它应该能够很容易地从存贮器中得到。

流访问主要用于页面的管理,如页面更新。

Web页面变化相当快,存贮器应该能够快速地更新以保持与Web的同步。

但存贮器的更新策略要依赖于ROBOT的运行方式和更新策略,一个一直运行的从不停止的ROBOT应该采用直接更新策略,将访问到的页面直接与旧的页面合并,并替换已经存在的页面。

相关主题