论文部分内容阅读
Web上有海量的数据,用传统的数据分析方法已无法有效地获取隐藏在海量數据中的有用信息或知识,怎样对这些数据进行复杂的应用是目前信息处理技术研究的热点之一,Web数据挖掘技术以其能在Web环境下从大量的数据中发现隐含的规律性内容,解决数据的应用质量问题而倍受青睐。对于电子商务来说,Web数据挖掘就是要通过对电子商务网站上异构的海量客户数据进行深层次分析,了解网络客户详细的商务行为细节,从中获取对商业决策有价值的信息。Web数据挖掘常用的技术有路径分析、关联规则、序列模式、聚类与分类技术等。对电子商务系统积累的不同来源、不同组织结构的海量数据实施Web挖掘的关键问题是:首先必须屏蔽Web数据源的异构性,其次需要有较完善的半结构化模式抽取技术支持。
一、用XML据模型屏蔽Web数据源的异构性
1. 用XML屏蔽Web数据源异构性的可行性。目前电子商务系统服务器端主要是XML、HTML和关系数据等数据类型。从信息集成角度来看,关系数据模型过于严谨,无法有效地表示半结构化和非结构化数据;HTML对文档的要求也过于完整,且不能定义数据的层次,没有提供编程接口解析它所携带的数据,无法真正实现各种应用程序、数据库及操作系统间的数据交互。XML与关系数据模型和HTML相比,可以表示更多样化的数据格式,能够使不同来源的结构化、非结构化数据很容易地进行合并。采用XML集成多个不同数据源的信息,只需要把来自不同数据源的信息先转成XML文档,然后再处理经过解析器解析的数据流即可。任何应用程序只需要知道两种格式,即本身的和XML的,就可以通过XML为中介实现与其他应用程序的信息交换。
因此,在Web挖掘的数据预处理阶段,可以用XML作为异构数据源集成应用的中间数据模型来屏蔽Web数据源的异构性。
2. HTML文档向XML文档转换的实现。目前已有许多由研究机构和企业开发出的将HTML文档转换为XML文档的软件产品,其中有一些正逐步走向实用。如HTML Tidy就是一个能够出色地完成HTML代码清理转换任务的工具,它由Dave Raggett开发,可以在VisualC 6.0环境中以HTML文档名称为参数执行如下指令被调用来完成转换:
WinExec(“TIDY -o output.xhtml -i test.html”, SW ̄HIDE)
其中output. xhtml为转换结果文件,test. html为待转换的HTML文档名称。
实际应用中,用户可以采用HTML Tidy先将HTML文档转换为XHTML文档。XHTML文档为XML的子集,它结合了部分XML的强大功能及大多数HTML的简单特性,符合XML规范,实施Web数据挖掘时可以直接从XHTML文档上进行数据抽取。
3. 关系数据向XML数据转换的实现。关系数据是完全结构化数据,其结构相对较简单,可以生成具有不同语义的信息视图,并能很自然地用XML形式的数据加以表示。目前很多著名的关系数据库管理系统如Microsoft SQL Server、 IBM DB2 EXTENDER、 ORACLE 91、 SYBASE等都支持对XML数据的存储管理。因此,实际应用中可以利用SQL server 2000 DBMS具有的能从关系数据中产生XML文档,并在关系数据库表中存储XML文档的功能,在分析数据库所包含的表间及表中列间关系的基础上,先建立关系数据库结构和XML文档结构之间的映射关系,再扫描数据库,然后输出XML文档。
二、基于XML的数据查询与抽取的技术实现
由于Web数据的大量信息都与抽取无关,由HTML文档和关系数据转换而来的XML文档以及Web上原有的XML文档中都包含大量的冗余信息,所以需要过滤清洗掉XML文档中的无关数据,并根据一定的规则进行数据抽取,以统一的XML数据模式描述来自不同数据源的数据,形成XML数据集,为下一步数据挖掘算法的实施作好准备。
1. 利用XSL过滤清洗XML文档中的无关数据。XSL是一种用于以可读格式呈现XML数据的可扩展样式表语言(Extensible Stylesheet Language),能够对XML树进行添加和删除元素、查找或选择特定元素等操作。因此,可以利用XSL来处理XML结构的文档,以检索抽取适当的数据。这一抽取过程可通过查找XML数据内的引用点、将数据重新映射成XML、合并结果并处理数据等几个步骤完成。
2. 基于XML的数据查询。由于采用XML作为中间数据模型,因此系统的查询处理可采用下面的逻辑表示形式:
Head:一Body
Head→Unit
Body→Unitl, …, Unitn(Condition)?
Unit→<Label Value>
Label→string|variable
Value→variable|{Unit }
condition→(Predicate)
Head表示杏询的结果,Body表示查询处理;?表示任选,+表示一个或多个;Predicate是条件表达式;Label对应XML的tag,Value对应tag中的值;连接操作均隐含在有相同Label的unit之间。这种逻辑表示有利于表示XML的层次和嵌套结构。(本文受浙江万里学院2007年科研项目“基于Web访问信息挖掘的商业智能发现研究”资助)
(作者单位:浙江万里学院商学院)
一、用XML据模型屏蔽Web数据源的异构性
1. 用XML屏蔽Web数据源异构性的可行性。目前电子商务系统服务器端主要是XML、HTML和关系数据等数据类型。从信息集成角度来看,关系数据模型过于严谨,无法有效地表示半结构化和非结构化数据;HTML对文档的要求也过于完整,且不能定义数据的层次,没有提供编程接口解析它所携带的数据,无法真正实现各种应用程序、数据库及操作系统间的数据交互。XML与关系数据模型和HTML相比,可以表示更多样化的数据格式,能够使不同来源的结构化、非结构化数据很容易地进行合并。采用XML集成多个不同数据源的信息,只需要把来自不同数据源的信息先转成XML文档,然后再处理经过解析器解析的数据流即可。任何应用程序只需要知道两种格式,即本身的和XML的,就可以通过XML为中介实现与其他应用程序的信息交换。
因此,在Web挖掘的数据预处理阶段,可以用XML作为异构数据源集成应用的中间数据模型来屏蔽Web数据源的异构性。
2. HTML文档向XML文档转换的实现。目前已有许多由研究机构和企业开发出的将HTML文档转换为XML文档的软件产品,其中有一些正逐步走向实用。如HTML Tidy就是一个能够出色地完成HTML代码清理转换任务的工具,它由Dave Raggett开发,可以在VisualC 6.0环境中以HTML文档名称为参数执行如下指令被调用来完成转换:
WinExec(“TIDY -o output.xhtml -i test.html”, SW ̄HIDE)
其中output. xhtml为转换结果文件,test. html为待转换的HTML文档名称。
实际应用中,用户可以采用HTML Tidy先将HTML文档转换为XHTML文档。XHTML文档为XML的子集,它结合了部分XML的强大功能及大多数HTML的简单特性,符合XML规范,实施Web数据挖掘时可以直接从XHTML文档上进行数据抽取。
3. 关系数据向XML数据转换的实现。关系数据是完全结构化数据,其结构相对较简单,可以生成具有不同语义的信息视图,并能很自然地用XML形式的数据加以表示。目前很多著名的关系数据库管理系统如Microsoft SQL Server、 IBM DB2 EXTENDER、 ORACLE 91、 SYBASE等都支持对XML数据的存储管理。因此,实际应用中可以利用SQL server 2000 DBMS具有的能从关系数据中产生XML文档,并在关系数据库表中存储XML文档的功能,在分析数据库所包含的表间及表中列间关系的基础上,先建立关系数据库结构和XML文档结构之间的映射关系,再扫描数据库,然后输出XML文档。
二、基于XML的数据查询与抽取的技术实现
由于Web数据的大量信息都与抽取无关,由HTML文档和关系数据转换而来的XML文档以及Web上原有的XML文档中都包含大量的冗余信息,所以需要过滤清洗掉XML文档中的无关数据,并根据一定的规则进行数据抽取,以统一的XML数据模式描述来自不同数据源的数据,形成XML数据集,为下一步数据挖掘算法的实施作好准备。
1. 利用XSL过滤清洗XML文档中的无关数据。XSL是一种用于以可读格式呈现XML数据的可扩展样式表语言(Extensible Stylesheet Language),能够对XML树进行添加和删除元素、查找或选择特定元素等操作。因此,可以利用XSL来处理XML结构的文档,以检索抽取适当的数据。这一抽取过程可通过查找XML数据内的引用点、将数据重新映射成XML、合并结果并处理数据等几个步骤完成。
2. 基于XML的数据查询。由于采用XML作为中间数据模型,因此系统的查询处理可采用下面的逻辑表示形式:
Head:一Body
Head→Unit
Body→Unitl, …, Unitn(Condition)?
Unit→<Label Value>
Label→string|variable
Value→variable|{Unit }
condition→(Predicate)
Head表示杏询的结果,Body表示查询处理;?表示任选,+表示一个或多个;Predicate是条件表达式;Label对应XML的tag,Value对应tag中的值;连接操作均隐含在有相同Label的unit之间。这种逻辑表示有利于表示XML的层次和嵌套结构。(本文受浙江万里学院2007年科研项目“基于Web访问信息挖掘的商业智能发现研究”资助)
(作者单位:浙江万里学院商学院)