(控制理论与控制工程专业论文)基于xml的web数据挖掘研究.pdf_第1页
(控制理论与控制工程专业论文)基于xml的web数据挖掘研究.pdf_第2页
(控制理论与控制工程专业论文)基于xml的web数据挖掘研究.pdf_第3页
(控制理论与控制工程专业论文)基于xml的web数据挖掘研究.pdf_第4页
(控制理论与控制工程专业论文)基于xml的web数据挖掘研究.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(控制理论与控制工程专业论文)基于xml的web数据挖掘研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士论文基于x m l 的w e b 数据挖掘研究 摘要 w e b 数据挖掘是指利用数据挖掘技术从互联网的海量数据中发现和提取信息,而目 前互联网上的数据信息没有特定的模型,大多数是半结构化的甚至是无结构的数据,这 给数据挖掘带来了很大的麻烦。 本文首先根据w e b 数据挖掘的特点以及x m l 在w e b 挖掘中的应用,设计了一个 基于x m l 的w e b 数据挖掘模型,描述了h t m l 格式的网页文档向x m l 文档的转化过 程,分析了转化过程中的关键技术,重点研究和探讨了针对x m l 文档数据集的数据挖 掘问题。 其次,研究了a p r i o r i 关联规则算法的基本理论与过程,分析了该算法的局限性。 提出了一种基于事务长度分割数据集的改进算法,实验结果证明,改进算法提高了算法 的效率。 最后,详细描述了k - m e a n s 聚类算法的基本理论与过程,分析了该算法对初始中心 点的依赖性,针对初始聚类中心点的选取方法作出了如下改进:( 1 ) 提出了一种基于距 离和聚类的孤立点检测方法,该算法能有效检测出所有的孤立点,从而避免了将孤立点 误选为初始中心点;( 2 ) 结合密度的思想,根据各中心点距离应保持最大的原则对初始 聚类中心点的选取作了改进。实验结果证明,改进算法提高了聚类的准确率。 关键词:x m l ,w e b 数据挖掘模型,关联规则,聚类分析 硕士论文 a b s t r a c t w e bd a t am i n i n gi sam i n i n gt e c h n o l o g yw h i c hd i s c o v e ra n dr e t r i e v ei n f o r m a t i o nf r o m t h e n t e r n e t c u r r e n t l y , t h ed a t a so nt h ei n t e r a c th a v en os p e c i f i cm o d e l ,m o s to fw h i c ha r e s e m i s t r u c t u r e do re v e nu n s t r u c t u r e dd a t a , w h i c hb r i n gd a t am i n i n gag r e a td e a lo ft r o u b l e f i r s to fa l l ,a c c o r d i n gt ot h ec h a r a c t e r i s t i c so fw e bd a t am i n i n ga n dt h ea p p l i c a t i o no f x m li nw e bm i n i n g ,t h i sp a p e rd e s i g n sax l v i l - b a s e dw e bd a t am i n i n gm o d e l ,e x p l a i n st h e p r o c e s so fh t m ld o c u m e n t st r a n s f o n n e d t ox m ld o c u m e n t sa n da n a l y z e st h ek e y t e c h n o l o g yi nt h ep r o c e s s t h ep r o b l e mo fd a t am i n i n gf o rx m ld o c u m e n t sa r em a i n l y d i s c u s s e di nt h ep a p e r s e c o n d l y , t h ep a p e rr e s e a r c h st h eb a s i ct h e o r ya n dt h ep r o c e s so f t h ea p d o r ia s s o c i a t i o n r u l e sa l g o r i t h m ,a n a l y z e st h es h o r t c o m i n g so ft h ea l g o r i t h m ,p r o p o s e sa l li m p r o v e d s e g m e n t a t i o na l g o r i t h mw h i c hb a s e do nt h et r a n s a c t i o nl e n g t h t h ee x p e r i m e n ts h o w st h a t o u rm e t h o di m p r o v e sa p r i o r ia l g o r i t h mp e r f o r m a n c e f i n a l l y , t h ep a p e rd e s c r i b e st h eb a s i ct h e o r ya n dt h ep r o c e s so fk - m e a n sc l u s t e r i n g a l g o r i t h md e t a i l e d l y , a n a l y z e st h ea l g o r i t h m 。sd e p e n d e n c eo i lt h e i n i t i a lc 圮n t r o i d s ,m a k es o m e i m p r o v m e n t sa sf o l l o w s :( 1 ) t h ep a p e rp r o p o s e san e w m e t h o do fe x c l u d i n gi s o l a t e dp o i n t w h i c hw i l lb ea v o i d e da si n i t i a le e n t r o i d s ;( 2 ) a c c o r d i n gt ot h ei d e ao fd e n s i t y , t h ep a p e r s e l e c t si n i t i a lc e n t r o i d sw h i c hs h o u l dk e e pt h em a x i m u md i s t a n c e t h ee x p e r i m e n ts h o w st h a t o l l l m e t h o dg e tb e t t e rr e s u l t s k e yw o r d s :x m l ,w e bd a t am i n i n gm o d e l ,a p r i o f i ,k - m e a n s 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在本 学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发表或 公布过的研究成果,也不包含我为获得任何教育机构的学位或学历而使 用过的材料。与我一同工作的同事对本学位论文做出的贡献均已在论文 中作了明确的说明。 研究生签名:毕1 引月7 日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅或 上网公布本学位论文的部分或全部内容,可以向有关部门或机构送交并 授权其保存、借阅或上网公布本学位论文的部分或全部内容。对于保密 论文,按保密的有关规定和程序处理。 研究生签名:毕 1 铋月7 日 硕士论文基于x m l 的w e b 数据挖掘研究 1 绪论 1 1 课题研究的背景和意义 随着全球网络化、信息化的快速发展,网络上的信息越来越多,w e b 已经成为人们 获取信息的重要途径。目前w 曲的信息容量已超过g o p h e r 和w a i s 而成为全球最大的 信息系统。w e b 的容量增长非常迅速,根据过去的统计,平均每两个小时增加一台服务 器,每天增加数百万个w e b 页面【1 1 。数据的快速增长大大超出了人们分析并从中提取有 用信息的能力,尽管目前大多数数据库系统可以高效地实现数据的录入、查询、简单统 计以及发现数据中隐含知识的功能,但面对w e b 上杂乱无章的海量信息,没有一个统 一的数据模型,每一个站点上的数据都是由各个站点开发人员自行设计与组织,并且数 据本身还存在着自我描述性和动态可变性,使得w e b 数据变得十分复杂。因此,如何 从大量数据中发现有价值的信息或知识,成为一项非常艰巨的任务。人们迫切需要一种 能够对数据进行深层次加工的自动化技术,于是,能够从海量的数据中提取知识和信息 的数据挖掘技术应运而生。 数据挖掘就是从大量的数据中发现隐含的规律性的内容,解决数据的应用质量问 题。通过这些有规律的内容,可以帮助人们分析问题和预测未来的变化,充分利用有用 的数据,废弃虚伪无用的数据,是数据挖掘技术的最重要的应用,而w e b 数据挖掘是 数据挖掘领域一个重要的分支。相对于w e b 上的数据而言,传统的数据库中的数据结 构性很强,即其中的数据为完全结构化的数据,而w e b 上的数据最大特点就是半结构 化。所谓半结构化是相对于完全结构化的传统数据库的数据而言。显然,面向w e b 的 数据挖掘比面向传统数据库的数据挖掘要复杂得多。 随着x m l 的出现和x m l 技术的发展,x m l 已经成为数据表示的一种开放标准, 它独立于机器平台、提供商和编程语言,从而在不同的系统、不同的数据库、不同的语 言之间搭起沟通的桥梁。x m l 和数据挖掘在网络与数据库方面等发挥了重大作用,而 两者的结合能够应用到更多领域 2 】,例如:w e b 服务、政府、电子商务、图书馆和医学 等。x m l 促进了信息间的交流,也为数据挖掘提供了更广阔的信息平台。x m l 可看作 一种半结构化的数据模型,可以很容易地将x m l 的文档描述与关系数据库中的属性对 应起来,实施精确的查询与模型抽取。因此研究基于x m l 的w e b 数据挖掘技术对于 x m l 技术和通用的数据挖掘技术的发展都有很大的促进作用。 1 绪论硕士论文 1 2 课题的研究现状 1 2 1w e b 数据挖掘的研究现状 数据挖掘( d a t a m i n i n g ) 就是从大量的、有噪声的、不完全的、模糊的、随机的数据 中,提取隐含在其中的、人们感兴趣的、潜在有用的信息和知识的过程。在这过程中, 数据源必须是真实的、大量的、含噪声的,根据不同用户感兴趣的知识不同来挖掘信息, 发现的知识必须是可接受的、可理解的和可运用的。而大量的数据被看作是形成知识的 源泉,人们通过对数据进行组织、分析、处理,然后应用数据挖掘技术如关联规则技术、 聚类分析技术等,得到人们感兴趣的知识。这些大量的原始数据可以来自于不同的数据 库,如关系数据库、空间数据库、面向对象数据库,也可以来自于文本数据源、多媒体 数据,以及分布在w e b 上的异构数据源【3 1 。 w e b 数据挖掘是数据挖掘领域中一个重要的分支,指使用数据挖掘技术在w e b 网 页数据中发现潜在的、有用的信息或知识。近些年来,随着互联网技术的迅速发展,因 特网上的信息越来越多,而且现在互联网上获得信息成本非常低,但是由于全球的互联 网都是互连互通的,其中包含的数据量是无法计算的,因此,如何在这个全球最大的数 据信息中发现有用的信息无疑将成为数据挖掘研究领域新的热点。 目前,国外在w e b 数据挖掘方面的发展趋势及主要的研究方向有:数据挖掘基本 理论的研究、学习算法的研究以及数据挖掘的实际应用方面的研究。如近年来统计学回 归法在数据挖掘中的应用、b a y e s ( 1 贝叶斯) 方法【4 】以及b o o s t i n g 方法【5 】的研究和提高、数 据挖掘与数据库的紧密结合等等;在应用方面,随着数据挖掘的商业软件工具不断产生 和完善,很多计算机公司也非常重视数据挖掘的应用开发,其用户主要集中在销售业、 保险公司、电信公司和大型银行。如:w e b w a t c h t 6 】是由c m u ( 卡内基梅隆大学) 开发的 一个可安装在一个w w w 站点上的导游器,它可以对来访用户的访问行为进行在线学 习,通过对站点上主页的超文本结构和以前用户浏览路径的学习,建立起一个经验模型。 国外w e b 的数据挖掘已经有不少成功案例,如著名的s a se n t e r p r i s em i n e r 、i b md b 2 i n t e l l i g e n tm i n e 、n c rt e r a d a t aw a r e h o u s em i n 0 7 】、s p s sc l e m e n t i n e 7 0 、o r a c l e9 id a t a m i n i n g 、s q l s e r v e r 2 0 0 0 数据挖掘组件、德门软件d m i n e r t 8 1 等。 国内从事w e b 数据挖掘的研究起步较晚,尽管已经得到了国内很多企业、学校及 研究所的重视,但还没有形成整体力量。目前进行的大多数研究项目是由政府资助进行 的,如国家自然科学基金、8 6 3 计划、“九五 计划等【9 1 。 w e b 数据挖掘研究内容的重点包括w e b 内容挖掘、w e b 结构挖掘、w e b 用法挖掘。 其中,w e b 内容挖掘的对象包括文本、图象、音频、视频、多媒体和其他各种类型的数 据。而针对无结构化文本进行的w e b 挖掘通常被归类到基于文本的知识发现,也称文 本数据挖掘或文本挖掘,是w e b 数据挖掘中比较重要的技术领域【l o l 。一般从两个不同 2 硕士论文 基于x m l 的w e b 数据挖掘研究 的观点来进行研究:( 1 ) 从资源查找的观点挖掘非结构化文档。非结构化文档主要指w e b 上的自由文本,包括小说、新闻等。在这方面的研究相对比较多一些,大部分研究都是 建立在词汇袋( b a go f w o r d s ) 或称向量表示法的基础上,最常用的算法有t f i d f 算澍1 1 】、 n a i v eb a y e s 算法【1 2 】等。( 2 ) 从数据库的观点挖掘非结构化文档。数据库技术应用于w b b 数据挖掘主要是为了解决w e b 信息的管理和查询问题。从数据库的观点进行w e b 内容 挖掘主要是试图建立w e b 站点的数据模型并加以集成,以支持复杂查询,而不只是简 单的基于关键词的搜索。 w e b 结构挖掘的对象是w e b 本身的超链接,即对w e b 文档的结构进行挖掘。对于 给定的w e b 文档集合,能够通过算法发现它们之间连接情况,文档之间的超链接反映 了文档之间的包含、引用或者从属关系,引用文档对被引用文档的说明往往更客观、更 概括、更准确。w e b 结构挖掘在一定程度上得益于社会网络和引用分析的研究。把网页 之间的关系分为i n c o m i n g 连接和o u t g o i n g 连接,运用引用分析方法找到同一网站内部 以及不同网站之间的连接关系【”】。在w e b 结构挖掘领域最著名的算法是h i t s 算法【1 4 1 和p a g e r a n k 算法【1 5 1 。他们的共同点是使用一定方法计算w e b 页面之间超链接的质量, 从而得到页面的权重。著名的c l e v r 和o o o g l e 搜索引擎就采用了该类算法。此外,w 曲 结构挖掘另一个尝试是在w e b 数据仓库环境下的挖掘,包括通过检查同一台服务器上 的本地连接来衡量w e b 站点的完全性,在不同的w e b 数据仓库中检查副本以帮助定位 镜像站点,通过发现针对某一特定领域超链接的层次属性探索信息流动如何影响w e b 站点的设计。 w e b 用法挖掘即w e b 使用记录挖掘,在新兴的电子商务领域有重要意义,它通过 挖掘相关的w e b 日志记录,来发现用户访问w e b 页面的模式,通过分析日志记录中的 规律,可以识别用户的喜好、忠实度、满意度,可以发现潜在的用户,增强站点的服务 竞争力【l 引。根据对数据源的不同处理方法,w e b 用法挖掘可以分为两类:一类是将w e b 使用记录的数据转换并传递进传统的关系表里,再使用数据挖掘算法对关系表中的数据 进行常规挖掘,如关联规则挖掘、聚类挖掘、分类挖掘等;另一类是将w e b 使用记录 的数据直接预处理再进行挖掘,采用特定的数据结构来描述使用记录中的w e b 数据, 如x m l 数据模型。通常来讲,经典的数据挖掘算法都可以直接用到w e b 用法挖掘上来, 但为了提高挖掘质量,研究人员在扩展算法上进行了努力,包括复合关联规则算法、改 进的序列发现算法等。 尽管w e b 数据挖掘的形式和研究方向层出不穷,但随着电子商务的兴起和迅猛发 展,电子商务系统将是未来w e b 数据挖掘的一个重要应用方向。目前,w e b 结构挖掘 的研究已经相对成熟,基于文本的内容挖掘也已经有许多研究,多媒体挖掘将会成为更 多的研究者的研究方向。但是,数据挖掘中与电子商务关系最为密切的就是w e b 用法 挖掘,这也就意味着在这个领域将会持续得到更多的重视。 3 1 绪论 硕士论文 1 2 2x m l 技术和w e b 数据挖掘研究相结合的研究现状 2 0 0 0 年以后,国内外把x m l 和数据挖掘结合起来的研究逐渐增多,由于x m l 广 泛应用于w e b 上,因此基于x m l 的w e b 数据挖掘研究越来越受到重视,研究的重点 包括x m l 表达的w e b 数据模型,基于w e b 的半结构化数据存储模型,x m l 数据查询 技术等相关问题。x m l 作为新一代的标记语言,正在成为i n t e r a c t 上数据描述和数据交 换的标准。 总体来说,国际上基于x m l 的w e b 数据挖掘的研究起步较早,主要分为两大流派 1 1 7 1 :一派以美国为首,包括日本、新加坡、加拿大、韩国等国,以传统数据库技术为主 要技术基础,重点研究如何利用现有的数据库技术实现对x m l 数据的管理,如w e b 数 据查询系统t u k w i l a 1 8 】和n i a g a r a 1 9 1 ,其底层采用的是关系数据库系统;另一派以德国、 法国为首,包括英国、奥地利等国,重点研究如何对整个x m l 文档进行有效的管理, 目标是研究一种能够对w e b 上的所有x m l 数据进行有效管理的原生x m l 数据库,如 知名的基于x m l 的互联网查询系统x y l e m e 2 0 。 与国外相比,国内对基于x m l 的w e b 数据挖掘的研究稍晚,已经有一些院校和研 究机构开始从事基于x m l 的信息处理和挖掘方面的研究工作。目前,国内的许多科研 单位和高等院校竞相开展数据挖掘的基础理论及其应用研究,这些单位包括中科院计算 技术研究所、清华大学、海军装备论证中心、空军第三研究所等。其中,北京大学开展 了对数据立方体代数的研究;北京系统工程研究所对模糊方法在知识发现中的应用进行 了较深入的研究【9 】;南京大学、四川大学和上海交通大学等单位探讨和研究了非结构化 数据的知识发现以及w e b 数据挖掘。 x m l 正在逐渐成为i n t e r n e t 上数据描述和交换的标准,并且在将来x m l 必将代替 h t m l 而成为w e b 上表示、交换数据的主要格式,以x m l 为基础的新一代因特网技术 是直接面对w e b 数据的,不仅可以很好地兼容原有的w e b 应用,而且可以更好的实现 w e b 中的信息共享和交换。x m l 是一种半结构化的数据模型,可以很容易的将x m l 文档描述与关系数据库中的属性一一对应起来,实施数据的精确查询。现今普遍认为的 数据挖掘形式可以分为知识发现和预言挖掘两大类,目前大部分的研究工作都是在研究 基于x m l 的数据挖掘应用,而x m l 在数据挖掘预言模型中的应用研究的不是太多。 x m l 在数据挖掘预言模型中的主要应用是p m m l ( p r e d i c f i vm o d e lm a r k u pl a n g u g e ) 弘, 它是一种基于x m l 的语言,p m m l 能很好的处理预言模型和预言模型集合。所谓预言 模型集合是指在数据挖掘时产生的一组预言模型。模型集合可以比较容易的处理分布数 据,从分布数据中分别产生一个模型,再将它们组合起来得到一个新的模型。 根据x m l 文档的结构特点及挖掘目标,x m l 文档的挖掘阱】可以分为针对x m l 结 构的挖掘和针对x m l 内容的挖掘两类。x m l 文档的结构挖掘,实质上是对x m l 文档 的d t d ( 文档类型定义) 【2 3 】或x m ls c h e m a ( x m l 模式) 【2 4 1 的挖掘,在实际操作过程中是将 4 硕士论文基于x m l 的w e b 数据挖掘研究 每一个x m l 文档的结构看作是一棵有根、有序的标记树,然后在此基础上对树进行挖 掘,可以根据x m l 文档的结构特征,对文档进行关联规则、分类、聚类等挖掘方法的 探索。而x m l 的内容指的是文档中每个开始标记和结束标记之间的文本部分,对其内 容的挖掘其实也就是对标记的值的挖掘,这一点将在第三章详细介绍。 尽管x m l 的应用前景非常广泛,但由于x m l 规范是近几年才发布的,就总体而 言,x m l 相关技术及其应用还处于研究和探索的阶段。关于x m l 文档的挖掘方法,大 多数是经过预处理过程将x m l 数据转化成关系型数据,然后再用传统的挖掘方法进行 处理。这类方法过程复杂且效果并不理想,转化的过程中会丢失大量的信息。所以,急 需一些简便、有效的挖掘方法来直接对x m l 文档来进行挖掘。国内目前在这一领域的 研究较少,多集中于x m l 文档结构挖掘,侧重于x m l 数据交换的特点,对x m l 文档 的内容挖掘深入研究的不是很多。 1 3 本文研究内容及组织结构 本文从x m l 的特点和w e b 数据挖掘中的技术难点两个方面入手研究,主要研究的。 内容有:( 1 ) 详细描述了x m l 语言的定义、语法规则、特点及相关技术,结合w 曲数 据挖掘的特点,设计了一个基于x m l 的w e b 数据挖掘系统模型,分析了数据预处理阶 段的关键技术。( 2 ) 研究了a p r i o r i 算法的基本原理与过程,分析了该算法的局限性,提 出了基于事务长度分割数据集的算法。( 3 ) 详细描述了k - m e a n s 聚类算法的基本理论与 过程,分析了该算法对初始聚类中心点的依赖性,提出了一种基于距离和聚类的孤立点 检测算法,再结合密度的思想,根据各中心点距离应保持最大的原则对初始聚类中心点 的选取作了改进。 论文的组织结构如下: 第1 章:从总体上阐述了课题的来源和意义、国内外研究现状以及本文的主要工作。 第2 章:详细介绍了x m l 基础知识,包括x m l 的由来、定义、特点、相关技术以 及应用,探讨了w e b 数据挖掘技术,包括w e b 数据挖掘技术的定义、分类、特点以及 挖掘流程和应用。 第3 章:根据w e b 数据挖掘特点以及x m l 技术在w e b 数据挖掘中应用,设计了 一个基于x m l 的w e b 数据挖掘系统的模型,并对模型中数据预处理阶段作了详细分析。 第4 章:重点探讨了a p r i o r i 算法在关联规则挖掘中的应用,阐述了a p r i o r i 算法的 基本原理与过程,分析了该算法的局限性,提出一种基于事务长度分割数据集的改进算 法,实验结果证明,改进算法提高了算法的效率。 第5 章:重点研究了k - m e a n s 算法在关联规则挖掘中的应用,描述了k - m e a n s 算法 的基本原理与过程,分析了该算法对初始中心点的依赖性,提出了一种基于距离和聚类 的孤立点检测算法,再结合密度的思想,根据各中心点距离应保持最大的原则对初始聚 s 1 绪论 硕士论文 类中心点的选取作了改进,实验结果证明,改进算法提高了聚类的准确率。 第6 章:总结与展望,总结了本文的主要工作,给出了以后进一步的研究方向。 6 硕士论文基于x m l 的w e b 数据挖掘研究 2x m l 技术及w e b 数据挖掘概述 2 1x m l 概述 2 1 1x m l 的由来及其意义 x m l ( e x t e n s i b l em a r k u pl a n g u g e ) 全称为可扩展标记语言,是由标准通用标记语言 s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u g e ) 派生而来的,由国际互联网协会在1 9 9 8 年正式提出来的。x m l 正在逐步成为第一代w e b 数据描述和数据交换的标准。x m l 的目标不在于给w e b 页面增加趣味性,而在于它想通过一种方法对文档和数据进行结 构化处理,从而使其能在部门、客户和供应商之间进行交换【2 5 1 。 x m l 是一种跨平台标准,可运行在任何平台和操作系统上。从本质上看,x m l 和 h t m l 都是由s g m l 派生出来的,但x m l 是一种元语言,即为一种描述语言的语言, 而h t m l 是一种实例化的标记语言。x m l 将s g m l 的丰富功能与h t m l 的易用性结 合到w e b 的应用中,并保留了s g m l 的可扩展功能,这使x m l 从根本上有别于h t m l 。 x m l 要比h t m l 强大的多,它对标记不再作限定,而是允许自定义数量不限的标记来 描述文档中的内容,允许采用嵌套的信息结构。x m l 拥有h t m l 的简单特点,弥补了 其诸多不足,还继承了s g m l 的强大功能,但没有其庞大与繁杂。x m l 没有固定的标 记,但能描述数据的形式和结构。x m l 还将数据和显示分开,从而能方便地实现网络 应用和信息共享。x m l 作为一种先进的数据处理方法,将使网络跨越到一个新的境界。 2 1 2 x m l 的语法 x m l 是一种中介标示语言,用来创造标记语言( 比如h t m l ) 的元语言,可提供描述 结构化资料的格式,是一种类似于h t m l 的描述数据的语言。 每一个x m l 都有物理结构和逻辑结构。物理上,x m l 由称为实体的单元组成一个 实体,可以引用其他实体,将它们包含在文件中,x m l 开始于“根( r o o t ) 或文件实体。 逻辑上,x m l 由声明、元素、注释、字符引用和处理指令组成,所有这些都在x m l 中 用显示标记指明。 x m l 文档就是指由x m l 标记语言所定义的符合x m l 规范的文本文档。x m l 文档 由标记和文本数据组成,其中文本数据就是原始的文本。每个x m l 文档都分为两个部 分:序言和文档元素( 根元素) 【2 6 】,具体来看,个x m l 文档的主要构成如图2 1 所示: 7 2x m l 技术及w e b 数据挖掘概述 硕士论文 图2 1x m l 文档基本组成 下面列举一个简单的x m l 文档: 声明 注释 根元素 子元素 m o v i e 2 1 3x m l 的特点 x m l 结合s g m l 和h t m l 的优势于一身,使互联网上的文档更加规范化。具体地 说,x m l 具备以下一些特点: 8 硕士论文基于x m l 的w e b 数据挖掘研究 ( 1 ) 自描述性:x m l 通常包含一个文档类型声明( d t d ) ,因而x m l 文档是自描述 的。x m l 文档中的数据可以被任何能够对x m l 数据进行解析的应用所提取、分析和处 理,非常适用于不同应用间的数据交换,而且这种交换是不以预先规定一组数据结构定 义为前提。x m l 表示数据的方式独立于应用系统,使用者可以自定义所需的标志。 ( 2 ) 可扩展性:x m l 允许信息提供者根据自己的需求和意愿定义任意的标记,数据 经过x m l 的处理之后,表达方式简单易读,同时也易于由其他应用进行进一步的加工 和处理。x m l 允许各个不同的行业根据自己独特的需要制定自己的一套标记【2 刀。 ( 3 ) 结构性:x m l 建立在基本嵌套结构的基础之上,文档组织良好,数据高度结构 化,结构性强,文件结构嵌套可以比较复杂。x m l 文档是一种树形结构的文档,可以 把所有文档的共同属性,如标题、段落、图片等抽取出来,定义成良好的d t d 。 ( 4 ) 内容和表现相分离特性:h t m l 只是描述数据的外观,而x m l 描述数据本身, 能够在结构化的数据中嵌套程序化的描述以表明如何显示数据,同样的数据集允许指定 不同的显示方式,使数据更合理地表现出来,数据存储格式不受显示格式的制约。x m l 使用d t d 或x m ls h c e m a 规定一套关于标记符号的语法、语义规则,比较准确地描述 文件资料的内容、含义、结构、特征和关系等信息,而把资料的外观表现形式交给样式 表( 如c s s 、x s l 等) 处理,这样就把信息的内容和其表现形式合理地隔开,从而大大提 高x m l 信息的可理解性、可交换性和重用性【2 引。 ( 5 ) 平台独立性:x m l 使用普通文本,而不是二进制的数据格式,具有跨平台的优 点,运用x m l 可以有效地解决新旧系统平台、不同应用系统平台之间或者不同数据源 之间的数据共享与交互问题。 ( 6 ) 灵活性:x m l 文档中,数据、数据结构与文档的表现方式是分离的,它与h t m l 的组织方式完全不同,它可通过可扩展的样式表x s l 将数据呈现在不同的终端设备上, 可使用不同的x s l 模板将数据方便地呈现在各种不同系统的浏览器上,而在这些不同 的应用上,数据本身是一样的【2 9 1 。 ( 7 ) 规范、简单性:x m l 与h t m l 一样,x m l 也是源于标准通用标记语言s g m l , 它保留了s g m l 的8 0 的功能,而复杂性只有它的2 0 ,此外,x m l 文档有一套严谨 而简洁的语法结构,这为x m l 解析器获取文档所含信息提供了前提。 2 1 4x m l 的相关技术 自从x m l l 0 规范发布以后,x m l 的有关技术规范不断涌现。w 3 c 在1 9 9 9 年先后 推出了n a m e s p a c e s x m l ( x m l 中的命名空间l 、c s s 2 、a s s o c i a t i n gs y t l es h e e tw i t h x m l ( 将样式表关联到x m l 文档) 等推荐标准。与x m l 有关的重要技术规范主要包括 d t d 、x m l s c h c r n a 、d o m 、s a x 、c s s 、x s l t 、x p a t h 和x q u e r y 等,如图2 2 所示。 9 2x m l 技术及w e b 数据挖掘概述 硕士论文 图2 2 x m l 相关技术分类 ( 1 ) x l v i l 文档的底层结构 基于x m l 的语言通称为x m l 词汇,可以用d t d 、x m l 模式对其加以定义。如果 要使用x m l 词汇,就必须了解其构造规则。 1 ) d t d ( d o c u m e n tt y p ed e f i n i t i o n ) d t d 全称为文档类型定义,描述的是文档的结构,它指明一个元素可以出现多少 次、是否可选以及它是否包含属性等等。它是一套关于标记符的语法规则,定义了可用 在文档中的元素、属性和实体,以及这些内容之间的相互关系。在x m l 中,d t d 是用 来定义文档所具有的逻辑结构的,是x m l 文档的数据模型,允许文档的编写者制定基 于信息描述、体现数据之间逻辑关系的自定义标记,确保文档具有较强的易读性、易检 索性和清晰的语义。 每个有效的x m l 文档必须指定它对于哪个d t d 是有效的。这个d t d 可以包含在 相应的x m l 文档中,或者x m l 文档也可以通过一个外部u r l 连接到d t d 。这样的外 部d t d 可以由不同的文档和w e b 站点共享。 一个完全意义上的x m l 文档不仅仅是“格式良好的”f 文档必须包含一个或多个元 素,且仅包含一个根元素) ,而且还应该是使用了一些自定义标记的“有效的 x m l 文 档。也就是说,它必须遵守d t d 中已声明的种种规定。为了更好的理解d t d 文档的定 义,下面以一个关于d v d 库文档的d t d 来说明: 1 0 硕士论文基于x m l 的w e b 数据挖掘研究 ( a ) 元素类型声明 元素类型声明提供的是关于元素的信息。该声明以i e l e n e n t 文本开始并且列出元 素名及其内容。内容可以是数据类型或是列在d t d 中其他元素: 解释字符数据( p c d a t a ) 说明元素的内容是文本,并且x m l 解释器应该将此文本解 释成字符和实体应用。 、 、 声明中将它们的内容类型定义为了 p c d a i a : ( b ) 属性列表声明 属性声明出现在元素声明之后,它更复杂一些。可以通过添加属性列表声明声明元 素中包含属性: 元素有一个名称为i d 的属性,其中包含的是c d a t a 。关键字# r e q u r e d 表明此属性必需存在。 2 ) x m ls c h e m a x m ls c h e m a 即x m l 模式,与d t d 有很多相似的地方,也是对x m l 文档结构的 定义和描述,其主要作用是用来约束x m l 文件,并验证x m l 文件的有效性。 在d t d 中,每个元素都声明为全局的,所以每个元素必须有唯一的名字并且只能 声明一次。元素可被多个其他元素所引用,但在这些情况下,它们的定义必须完全相同。 然而在x m l s c h e m a 中,上下文是非常重要的。在模式顶层声明的元素被认为是全局声 明。在定义一个复杂类型时,可以参考和使用这些全局定义的元素作为该类型的一个子 部分,也可以同时定义一些新的局部元素,但作用域限制在该复杂类型之内。 x m ls c h e m a 是定义文档逻辑结构的另一种方法,它也是x m l 文档的数据模型, 为一类文档建立了一个模式,规范了文档中的标记和文本可能的组合形式。它不仅包括 了d t d 能实现的所有功能,而且它本身就是规范的x m l 文档。2 0 0 1 年5 月,w 3 c 宣 布将x m ls c h e m a 规范作为w 3 c 的推荐标准,这是x m l 发展史上的一个重要里程碑, 标志着x m l 向前发展迈出了关键的一步。 2x m l 技术及w e b 数据挖掘概述 硕士论文 前面的d t d 改写为s c h e m a 表示如下: x s :s e q u c n c e 爹 在上面的s c h e m a 中第一个定义的是文档元素 。由于它是 元素 的子元素,因而有着全局的作用域。也就是说,该元素的定义在x m l 模式内部的任何 位置都是可用的。可以在模式文档内部的不同位置重用该元素的定义。定义包括如下内 容: 这些声明将元素定义为复合类型元素,复合类型元素包含其他的元素或者至少一个 属性。因为 l i b 卿元素包含了该文档中其他的元素,所以必须将之定义为复合类型元 素。 与d t d 相比,x m l s c h e m a 具有以下三个优点: ( a ) d t d 是用一种与x m l 不同语法编写的,而s c h e m a 使用一种类似x m l 的语言, 直接借助x m l 自身的特性,利用x m l 的基本语法规则来定义x m l 文档的结构,为 1 2 硕士论文基于x m l 的w e b 数据挖掘研究 x m l 的进一步发展奠定了坚实的基础。 d t d 中所有声明都是全局声明,而x m l 模式既有全局声明也有局部声明,可 以视情况而定。s c h e m a 引入了数据类型、命名空间,从而使其具备较强的可扩展性1 3 0 j 。 ( c ) d t d 不能对给定的元素或属性的数据类型进行定义,而x m ls c h e m a 具有一套 完整的数据类型系统,如整型、时间型、作用域限制等等,而且还提供了一套完整的机 制以约束x m l 文档中标记的使用。s c h e m a 利用元素的内容和属性来定义x m l 文档的 整体结构,如哪些元素可以出现在文档中、元素间的关系是什么、每个元素有哪些内容 和属性以及元素出现的顺序和次数等等【3 l 】。 ( 2 ) x m l 编程接口 x m l 有两种处理方式:基于树的和基于事件的。很多x m l 解释器,包括m s x m l 的最新版本对两种模型都支持。基于树的解释器通常被称为d o m ( 文档对象模型) 解释 器,而基于事件的解释器通常被称为s a x ( x m l 简单应用编程接口) 解释器。 1 ) d o m d o m ( d o c m u e n to b j e c tm o d e l ) 全称为文档对象模型,是w 3 c 推荐的x l v i l 文档应用 编程接n ( a p l ) 的标准。所以应用程序都可以使用这个a p i 来操作x m l 、读取信息、添 加节点以及编辑当前的内容。 在d o m 的详细说明书【3 2 】中,“文档”指的是广泛意义上的文档,x m l 用来代表存 储在不同系统上的各种各样的信息,包括那些在传统意义上被看作数据,而不被认为是 文档的信息。现在x m l 可把这样的数据表示为文档,并由d o m 管理。 d o m 起源于动态h t m l ( d h t m l ) ,d h t m l 是浏览器为嵌入页面的脚本语言提供 的一个编程接口,它一出现便受到广泛的欢迎,但由于各种浏览器提供的接口各不相同, 其应用和发展受到很大的制约。于是,w 3 c 于1 9 9 8 年1 0 月提出了d o m 。d o m 是一 个独立于各种浏览器的编程接口,用c o r b a 的接口定义语言( m e ,i n t e r f a c ed e f i n t i o n l a n g u a g e ) 描述。为了保证在不同的平台、不同的编程语言上都能够实现,d o m 将所有 的功能都定义为类似于c o r b a 和c o m 的那种接口( i n t e r f a c e ) 。这种接口不仅可为 j a v e s c r i p t 所调用,也可以为a c t i v e x 、j a v aa p p l e t 或其他网页编程语言所调用。 d o m 通常把x m l 或者h t m l 文档表示为树状结构,它提供给编程人员一个标准 接口来表示x m l 文档和h t m l 文档以及存取和操纵它们。每个树结点都有特定的结点 类型,大多数x m l 文档中最普通的结点类型包含有元素( e l e m e n t ) 、属性( a t t r i b u t e ) 及文 本( t e x t ) 。而属性比较特殊,不是孩子结点,访问属性有一个专门的编程接口 x m l d o m n a m e n o d e m a p 。d o m 主要提供四个接口对象f 4 3 1 ,分别是x m l d o c u m e n t , x m l d o m n o d e ,x m l d o m n o d e l i s t ,x m l d o m n a m e d n o d e m a p ,通过这些对象的方 法和属性来访问对象或操纵对象的结构和数据。它们的作用分别是:x m l d o m 】= m e n t 对象 用于表示x m l 文档树的根结点;) a l d o m n o d e 对象可以表示树中的一个结点,是x m l 1 3 2x m l 技术及w e b 数据挖掘概述 硕士论文 对象模型访问数据的最常用的接口;l d o m n o d e l i s t 对象支持l d o m n o d e 对象 的重复及索引操作;x m l d o m n a m e n o d e m a p 对象提供按属性名字访问的重复及索引操 作。 2 ) s a x ( s i m p l ea p i f o rx m l ) s a x 即简单应用编程接口,是基于事件的方式来处理x m l 文档。基于s a x 的解 释器以一串事件的形式展现x m l 文档,必须对每个事件编写处理程序,这样当事件触 发处理程序时会产生相应的结果。基于事件是指s a x 为应用开发者提供了处理感兴趣 的特定元素的方法,而不必要求在应用层次处理之前预建元素。这种形式的解析对于有 良好事件处理机制的语言非常实用。 两种处理模型都有各自的特点。基于d o m 的解析提供对x m l 文档的完整的读写 访问,并且可以通过遍历文档树对文档内的节点进行访问。它可以对照d t d 或x m l 模式来判断一个x m l 文档是否有效。但是,基于d o m 的解析必须将整个x m l 文档读 入到内存中,所以当遇到比较大的x m l 文档时,d o m 解析可能会变得较慢而且比较 容易消耗内存。很难判断何种x m l 文档才是过大的,因为处理时间会根据处理能力、 内存、可用时间以及是否在单用户或多用户环境下工作( 比如w 曲服务) 而变化【3 3 】。 而基于s a x 的模型是串行操作的,不必建立所有的元素,这是一种事件( e v e n t ) 驱 动的接口,用这种方式来处理x m l 文档,避免了构造完整的树状结构,处理过程实时 进行,一个节点被处理后就被丢弃了就不会再被处理。整个文档并不是一次性的读入内 存,这样避免了由较大的x m l 文档而引起的处理问题。这种处理方法将由用户负责保 存x m l 文档中的可提供后续使用的信息。 ( 3 ) x m l 文档的显示方式 x m l 的一个最重要的特性是把内容和显示格式分开。这样带来了很大的好处,可 以让不同的用户按照各自希望的格式显示同一x m l 文档的数据内容。这也就意味着 x m l 文档本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论