一种基于XML的Web数据挖掘模式

  • 格式:pdf
  • 大小:202.66 KB
  • 文档页数:3

第6期

2006年12月湖南人文科技学院学报

JournalofHunanInstituteofHumanities,ScienceandTechnologyNo.6

Dec.,2006

 收稿日期:2006-08-30.

 作者简介:毛韶阳(1972- ),男,湖南娄底人,湖南人文科技学院数学系讲师,计算机硕士,从事数据挖掘,并行算法等研究。一种基于XML的Web数据挖掘模式

毛韶阳

(湖南人文科技学院数学系,湖南 娄底 417000)

摘 要:互联网的广泛应用使Web数据挖掘成为当前数据挖掘研究的热点,而Web数据的结构却使对其所进行的

数据控制十分复杂,XML的出现为Web数据挖掘技术提供了一个很好的入口。本文分析了XML文档的数据结构,提出

一种经由HTML文档转换成XHTML并最终由XSL所决定的XML文档的Web数据挖掘模式。

关键词:数据挖掘;XML;HTML;Web数据挖掘

中图分类号:TP393.092 文献标识码:A 文章编号:1673-0712(2006)06-0050-02

AMethodofWebDataMiningBasedonXML

MAOShao2yang

(MathematicsDepartment,HunanInstituteofHumanities,ScienceandTechnology,Loudi,417000,China)

Abstract:ThewideuseoftheInternetmakestheWebdataminingbecomethehotpointthatthecurrentdatascoopsouta

research,butthestructureoftheWebdatamakesthedatacontrolcarriedonisverycomplicated.TheXMLemergencescooped

outatechniquetoprovideagoodentrancefortheWebdata.ThedatastructureoftheXMLtextfileisanalyzed,amethodof

throughtheHTMLtextfileconversionbecomeXHTMLcombineendisscoopedoutmodebytheWebdataoftheXMLtextfile.

Keywords:datamining;XML;HTML;webdatamining

数据挖掘(DataMining,DM)是近年来伴随着人工智

能和数据库技术的发展而出现的一种全新信息技术;数据

挖掘目的是发现人们不易觉察的、隐含的模式,从而提高

市场决策能力,检测异常模式,在过去的经验基础上预言

未来趋势等[1]。目前Web上数据挖掘所面临的最大问题

是:Web上的数据是不规则和经常变动的半结构化数据,

缺乏统一固定的模式,从数据库研究的角度来看,Web上

的每个站点都是一个高度复杂的数据源,而且信息组织不

尽相同,导致整个Web形成了一个庞大且异构的数据库环

境,要利用这些资源进行数据挖掘,首先要解决的问题是

寻找一种半结构化数据源模型,然后在此基础上实现数据

的查询和数据源的集成,根据XML的特点,XML可看作是

一种半结构化的数据源模型。XML利用其良好的可扩展

性和自描述性,形式与内容分离,遵循严格的语法及对多

语种的支持等特性,在数据的集成、发送、处理和显示的各

个环节中表现出卓越的性能。

1 理论基础

1.1 数据挖掘与Web数据挖掘数据挖掘就是从大量的、不完全的、有噪声的、模糊

的、随机的实际应用数据中,提取隐含在其中的、人们事先

不知道的、但又是潜在有用的信息和知识的过程。包括分

类(Classification)、回归(Regression)、聚类(Clustering)、概

要(Summarization)、发现变化和偏差(ChangeandDeviation

Detection)以及关联规则(AssociationRules)[2]。当数据挖

掘技术应用在网络环境中的Web时就成为Web数据挖掘

(WebDataMining),它是从Web文件和Web活动中找出

感兴趣的、潜在的有用信息的过程。

1.2 XML技术

XML(eXtensibleMarkupLanguage)是由万维网协会

(W3C)设计,特别为Web应用服务的SGML(StandardGen2

eralMarkupLanguage)的一个重要分支,总的来说,XML是

一种中介标示语言(Meta-MarkupLanguage),可提供描述

结构化资料的格式[3](23)。XML提供了一种独立的运行程

序的方法来共享数据,它是用来自动描述信息的一种新的

标准语言。XML由若干规则组成,这些规则可用于创建标

记语言,

并能用一种被称作分析程序的简明程序处理所有新创建的标记语言,正如HTML为第一个计算机用户阅读

Internet文档提供一种显示方式一样,XML也创建了一种

任何人都能读出和写入的世界语。XML解决了HTML不

能解决的两个Web问题:即Internet发展速度快而接入速

度慢的问题;以及可利用的信息多,但难以找到自己需要

的那部分信息的问题。XML能增加结构和语义信息,可使

计算机和服务器即时处理多种形式的信息。因此,运用

XML的扩展功能不仅能从Web服务器下载大量的信息,

还能大大减少网络业务量。

XML主要有三个要素:Schema(模式)、XSL(eXtensibl2

eStylesheetLanguage可扩展样式描述语言)和XLL(eXtensi2

bleLinkLanguage可扩展链接语言)[4]。其中,Schema规定

了XML文件的逻辑结构;XSL用来描述文档如何显示,它

能在客户端使Web变成文档的表示法,从而不需要再与服

务器进行交互通信;XLL功能更加强大,使用XLL可以多

方向链接,而且链接不再局限于页面层级之间,也可以建

立在对象层级之间。由于XML能够标记更多的信息,因

而能使用户很轻松地找到他们所需要的信息。

2 一种基于XML的

Web数据挖掘的实现模式

当今许多网站的信息仍然是用HTML语言来描述的,

只能在浏览器中提供数据的显示方式,要真正做到高效准

确的挖掘数据非常困难,人们尝试用多种方法来解决这个

问题,大多数方法都采用一些专用查询语言把HTML页面

的各个部分映射成代码,将Web页面上的信息填入到数据

库中,但这需要开发人员花时间去学习一种专门的查询语

言;而且还不够健壮到能处理不可避免的对目标Web页面

的简单更改。针对上述问题,本文将提供一种把现有的

Web页面转换成XML格式,并使用工具处理XML结构的

数据以检索出适当的数据。

实现步骤:

(1)查找资源:从目标Web文档中得到数据。(2)信

息选择和预处理:从取得的Web资源中剔除无用信息和将

信息进行必要的整理。(3)把数据源映射成XHTML。(4)

查找数据内的引用点:可以同机器或分析人员交互完成。

(5)将数据映射成XML;(6)合并结果并处理数据。其处

理过程如下:

图1 基于XML的Web数据挖掘流程首先确定要挖掘数据的页面;然后从Web文档中自动

去除广告连接、去除多余格式标记、自动识别段落或者字

段并将数据组织成规整的逻辑形式甚至是关系表;调用

XMLHelper.tidyHTML()将其转换成XHTML文件;然后根

据具体要抽取的数据的情况编写出XSL文档以约定XML

的输出,并调用ParseXMLFromInputSource()和Trans2

formXML()实现对给定的XHTML文档进行给定的XSL的

变换;抽取所需的数据;调用OutputXMLToFile()将它写入

一个文件中,最后调用MergeXML()把多次抽取获得的数

据写入到一个文档中供抽取者使用。

3 应用实例:

下面结合一个具体的例子来说明抽取方法。

假设要了解某地几个月以来的温度变化情况,可利用

前面所述的方法从公众网站上抽取所需数据,把http://

weather.yahoo.com/forecast/USAK0002.html作为研究对

象,这是美国Alaska洲AdakIsland的天气信息,使用另存

为把网页存为HTML文档,在剔除广告等无用其它信息后

作为信息源;然后,将数据从HTML转换成XML,使用Tidy

库提供的函数在XMLHelper.tidyHTML()方法中执行转

换,接受URL作为一个参数并返回一个XML文档作为

结果。

页面中的绝大多数信息与抽取信息无关,只需要在

XML树中找到一个特定的区域,从中抽取所关心的数据,

如温度的信息。首先检查Web页面,可以发现要抽取的数

据处于页面的中下部区域,很容易推断出需要查找的数据

可能包含在哪一个

包含像“Lows”和“High”等字样,无论当天的数据可能是什

么。记下观察到的内容,考虑页面所生成的XHTML,搜索

“Lows”的文本,如果该文本确实被包含在一个数据表中,

该表将被作为引用点或锚(包含搜索关键字的数据表)。

找到这个锚,可以使用XPath表达式来完成:

/html/body/center/table[6]/tr[2]/td[2]/table[2]/

tr/td/table[6]

表达式指定了从根元素到锚的路径,但对页

面布局的修改易导致该方法失效,较好的方法是根据周围

的内容指定锚,把XPATH表达式重新构造成:

//table{starts-with(tr/td/font/b,”Lows”)}

最好的方法是利用XSL将XML树转换成字符串的

方法:

//table[starts-with(normalize-space(.),”Lows”)]

拥有这个锚,就可以创建实际抽取数据的代码,这些

代码将以XSL文件的形式出现。XSL文件的目的是标识

锚,即指定如何从锚获取正在查找的数据(以简短跳跃的

方式),并且用所需的格式构造一个XML输出文件。

现在完成了一次数据抽取,(下转第68页)15总第93期毛韶阳:一种基于XML的Web数据挖掘模式