一种基于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数据挖掘模式