数据库与信息管理本栏目责任编辑:闻翔军Web数据挖掘研究李国慧(潍坊学院数学与信息科学学院,山东潍坊261061)摘要:基于Web的数据挖掘是一个结合数据挖掘和WWW的热门研究主题,它是现代科学技术相互渗透与融合的必然结果。
本文阐述了Web数据挖掘的定义、分类和过程,并对Web数据挖掘的应用与发展前景进行了探讨。
关键词:Internet;数据挖掘;Web数据挖掘中图分类号:TP302文献标识码:A文章编号:1009-3044(2008)04-10592-03TheReasearchofWebDataMiningLIGuo-hui(SchoolofMathematicsandInformationScience,WeifangUniversity,Weifang261061,China)Abstract:DataMiningbasedontheWebisapopularresearchtopicthatjoinsthedataminingandWWWtogether.Itistheinevitableoutcomethatthemodernsciencetechniquepermeatesmutuallywithfusion.Thisarticlehavesetforthdefinition,classificationandprocessthattheWebdatamining,andhavecarriedoutinvestigationanddiscussionontheapplicationthattheWebdataminingwithdevelopingaprospect.Keywords:Internet;DataMining;WebDataMining1引言伴随着网络和通信技术的飞速发展,作为全球最大的信息服务平台的Internet正在以前所未有的速度渗入到人类的生产和生活的各个方面。
Internet的普及同时推动了WWW(WorldWideWeb万维网)的迅猛发展,据统计每2个小时就有一个新的WWW服务器产生,WWW作为信息发布和交流的全球性媒体,它的内容涵盖了包括科研、教育、商业、金融、军事等各个领域。
Web已发展成为一个跨国界的巨大信息空间,Web页面的数量以惊人的速度增长,正是由于Web上包含巨大的信息量使得越来越多的用户感觉到在WWW上寻找自己想要的信息犹如“大海捞针”一样困难。
据说,99%的Web信息相对99%的用户来说都是无用的。
用户关心的其实只是Web信息中极少的一部分,而且大量的无关信息会干扰甚至淹没用户感兴趣的内容。
所以如何快速、准确且高效地从浩瀚的Web信息资源中搜寻和发现用户感兴趣的信息和知识己经成为一个迫切需要解决的问题。
而将传统的数据挖掘技术与Web有机地结合在一起,进行Web挖掘是解决这些问题的一个有效的途径。
Web数据挖掘是对已有Web资源的有效利用,其主要目标是从分散在Internet上的半结构化的HTML页面中挖掘用户所需信息,形成结构化数据,且结构化的结果数据可用于数据库挖掘、文本生成等后续Web信息处理。
2Web数据挖掘概念在国内对于Web挖掘众说纷纭,有学者将网络环境下的数据挖掘归入网络信息检索与网络信息内容的开发,也有的在信息服务的角度上提出“信息挖掘”,指出其有别于传统的信息检索,能够在异构数据组成的信息库中,从概念及相关因素的延伸比较上找出用户需要的深层次的信息,并提出信息挖掘将改革传统的信息服务方式而形成一个全新的适合网络时代要求的信息服务组合。
Web数据挖掘(WebDataMining)简称Web挖掘,是数据挖掘技术在Web环境下的应用,它将数据挖掘技术应用在Web上,从大量的Web文档集合和在站点内进行浏览的相关数据中发现蕴涵的、未知、有潜在应用价值的、非平凡的模式(Pattern)的过程。
它所处理的对象包括:静态网页、Web数据库、Web结构、用户使用记录等信息[1]。
通过对这些信息的挖掘,可以得到仅通过文字检索所不能得到的信息。
基于Web的数据挖掘和传统的基于数据仓库的数据挖掘有着不同的含义。
根据W.J.Frawley和G.P.Shapiro等人的定义,一般的数据挖掘指从大型数据库的数据中提取人们感兴趣的知识,而这些知识是隐含的,事先未知的、潜在的有用信息,它侧重在于从己有的信息中提取规律性的知识[2]。
而Web挖掘的研究对象是以半结构化和无结构文档为中心的Web,这些数据没有统一的模式,数收稿日期:2008-01-12作者简介:李国慧,潍坊学院数学与信息科学学院教师,硕士研究生,研究方向:计算机技术。
本栏目责任编辑:闻翔军数据库与信息管理据的内容和表示互相交织,数据内容基本上没有语义信息进行描述,仅仅依靠HTML语法对数据进行结构上的描述。
为了对这种半结构化数据进行分析和处理,Web挖掘必须和其研究手段结合起来。
由于涉及到很多的知识领域,Web挖掘现在是多个研究方向的交汇点,包括数据库、信息获取、人工智能、机器学习、模式识别、统计学、自然语言处理等。
3Web数据挖掘的分类在数据挖掘领域,如果面对的数据类型不同就会采用不同的挖掘算法。
因此,根据所挖掘的Web数据的类型,可以将Web挖掘分为以下三类:Web内容挖掘(WebContentMining)、Web结构挖掘(WebStructureMining)、Web使用挖掘(WebUsageMining)[3]。
如图1所示:图1Web挖掘结构3.1Web内容挖掘Web内容挖掘可以看作是Web信息检索(IR)和信息挖掘(IE)的结合,是指对Web上大量文档集合的“内容”进行总结、分类、聚类、关联分析以及利用Web文档进行趋势预测等,是从Web文档内容或其描述中抽取知识的过程,主要分为文本信息的挖掘和多媒体信息的挖掘。
目前的研究主要集中在利用词频统计、分类算法、机器学习、元数据(MetaData)、部分HTML结构信息发现、数据间隐藏的模式发现并生成抽取规则(ExtractionRule),并从页面中分离出概念(Concept)和实体(Entity)数据。
由于文本仍是信息传递的主要方式,而且文本处理技术相对比较成熟;因此文本数据的挖掘,在研究和应用上都比较普遍。
文本的知识发现最早是由Feldman和Dagan首先提出来的。
文本挖掘不仅指的是单独文档中的信息提取,同时也包括分析文档集合的模式和趋势。
3.2Web结构挖掘Web结构挖掘是从Web组织结构和链接关系中推导知识,它分为Web文档内部结构挖掘(Intra-DocumentStructure)和文档间的超链结构挖掘(Inter-DocumentStructure)。
根据科学引文分析理论,文档之间的互连数据中蕴涵着丰富有用的信息。
在通常的搜索引擎中没有考虑到结构的复杂性,仅将Web看作是一个平面文档的集合,忽略其结构信息。
挖掘页面的结构和Web结构,可以用来指导对页面进行分类和聚类,找到权威页面、中心页面,从而提高检索的性能。
同时还可以用来指导网页采集工作,提高采集效率。
其中比较有代表性的工作是PageRank和CLEVER,它们正是利用了文档间的链接信息查找相关的Web页。
有关这方面研究的算法有:PageRank、HITS(Hyperlink-InducedTopicSearch)及改进的HITS(将内容信息加入到链接结构中)和Hub/Authority。
PageRank是典型的Web结构挖掘算法,其核心思想在于发现权威性页面[4]。
PageRank算法是Web超链接结构分析中最成功的代表之一,是评价网页权威性的一种重要工具。
PageRank是一种静态的链接分析算法,每个URL有一个确定的PageRank值,该值不随查询关键字的不同而改变。
Kleinberg提出了一种与查询有关的HITS算法,HITS中最重要的两个概念是Hubs和Authority。
Hub/Authority方法的基本思想:现实中当我们搜索某个给定话题的Web页面时,不仅希望得到相关的Web页面,而且希望检索到的Web页面是权威Web页面。
3.3Web使用挖掘Web使用挖掘是Web挖掘中与传统数据挖掘技术交叉点最多的领域。
一般数据挖掘的基本方法如聚类、分类等算法在这里都可以得到应用。
现在的Web使用挖掘一般都是指Web日志的挖掘。
Web访问日志,是登陆某个Web站点的用户经过一系列的站点浏览后,系统自动记录的用户浏览行为数据,诸如用户的IP、用户的访问时间、浏览过页面的URL、请求方法、请求的字节数、客户端的操作系统和浏览器版本号等。
Web日志挖掘过程大体分为四个阶段:数据预处理、挖掘算法实施、模式分析、可视化。
Web日志挖掘系统的体系结构如图2所示。
4Web数据挖掘的过程Web数据的特点决定了对其进行有效数据挖掘具有极大的挑战性。
根据Web数据的特点,结合数据挖掘的一般过程,可以将Web数据挖掘流程描述如图3所示的5个功能模块,即数据采集、数据预处理、数据挖掘、分析与评估和知识表述模块。
各模块的功能如图3。
4.1数据采集图2Web日志挖掘系统的体系结构图3面向Web的数据挖掘功能模块按照主题相关的原则,数据采集模块完成从外部的Web环境中有选择地获取数据,为后面的数据挖掘提供素材和资源。
Web环境所提供的数据源包括Web页面数据、超链接数据和记录用户访问情况的数据等。
根据数据源形式的不同可以将Web数据挖掘分为基于内容的挖掘、基于结构的挖掘和基于用户使用的挖掘3种,每一种数据挖掘类型在数据采集过程中会使用不同的方法和技术,但它们都有共同的基本过程。
通常,数据采集由数据搜索、数据选择和数据收集等3个相对独立的过程组成。
4.2数据预处理数据预处理模块主要对数据采集所获得的源数据进行加工处理和组织重构,构建相关主题的数据仓库,为下一步的数据挖掘过程创建基础平台。
数据预处理是为数据挖掘所做的前期准备,它主要包括数据清理、数据集成、数据变换、数据约简等。
4.3数据挖掘数据挖掘模块是数据挖掘系统的核心部分[6],它的主要功能是运用各种数据挖掘技术,从海量的经过预处理的数据中提取出潜在的、有效且能被人理解的知识模式。
概括地讲,数据挖掘的最终目标只有描述和预测两个,所谓描述就是用可理解的模式表达数据所包含的属性和特征信息;而预测则是指根据属性的现有数据值找出其规律性,进而推测出其在未来可能出现的属性值。
数据挖掘过程一般由3个主要的阶段组成:数据准备、挖掘操作、结果表达和解释。
数据挖掘算法对数据有一定的要求,如数据冗余性小,数据属性之间的相关性小,数据出错率小等。
而现实世界所采集到的数据通常具有杂乱性、冗余性、小完整性等特点,为此数据挖掘必须经过数据准备阶段以提高数据挖掘质量。