您现在的位置是:首页 > IT基础架构 > 软件与服务 >

电子商务中点击流数据仓库的应用研究

2009-08-27 18:17:00作者:白连红 徐澍 来源:

摘要电子商务网站逐渐成为商务智能中数据量最大的地方之一,把数据仓库技术引入电子商务应用中,把用户在电子商务网站上的点击流(Click Stream)和Web日志文件作为数据源,利用高效的改进的关联规则算法,可以有效地分析出其中蕴涵的如用户行为模式这样的知识,利用这些知识,商务...

0引言

随着Internet的飞速发展,越来越多的研究机构、团体以及个人开始注意到网络,并通过Web应用来发布信息与客户交流。与传统商业模式不同,在互联网上,Web用户与网站信息提供者之间不存在直接的信息沟通和反馈渠道。什么样的信息最受用户欢迎?不同用户对信息有什么不同的需求?增加或减少信息服务内容对用户点击量的影响如何?这些是网站经营者需要得到回答的问题,也是经营者今后为网站发展进行决策的依据。同时,创建数据仓库作为企业管理决策支持系统的基础,已得到越来越多企业领导者的认同,也是企业经营管理决策与信息化结合的趋势所在。数据仓库的构建可以通过实际调查用户需求,创建各类模型,利用系统分析与设计方法实现。

点击流数据仓库将网络与数据仓库技术结合起来,它的数据来源与一般数据仓库不同,来自点击流数据,通过收集、整理、转换这些数据,建立针对Web点击信息的各种维度,进而分析网站用户的行为并最终探索导致这些行为的内在原因是点击流数据仓库的建设初衷。通过点击流数据仓库将描述用户行为,的数据转为决策者可以利用的有效信息,为网站经营者提供决策支持。通过分析包含在点击流仓库中的用户行为模式,商务人员能够拓展他们的市场,改善客户关系,降低成本,使操作流水化,有效地辅助他们改进商业策略。

1点击流数据仓库的研究现状

目前,数据仓库一词尚没有一个统一的定义,著名的数据仓库专家W.H.Inmon在其著作《Bu“dingtheDataWarehoused一书中给予如下描述:数据仓库(DataWarehouse)是一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策。数据仓库是二十多年来许多不同领域的技术综合而成的产物。数据仓库技术的产生为IT业重新确定了其必须解决的关键问题。

传统数据仓库是针对某个主题,对传统操作型数据库中的数据进行抽取、清洗和转换,加载到数据仓库中,形成多维数据集。决策者可通过OLAP(在线分析处理)或数据挖掘工具对从不知晓的企业运营的内在知识进行挖掘,挖掘隐含在内部的商业知识、商业模式或针对企业以往发展,探索成功与失败的原因。而随着电子商务应用的推广,企业希望能更加及时有效地与客户交流,及时推出相应营销策略,但传统地Web分析工具无法满足要求。通常,Web分析工具能提供一些有利于分析网站基本流量和访问模式的概要级信息,了解网站的基本运行状况。但要探究导致网站用户行为的内在因素或其他一些商务问题时,Web分析工具则显得力不从心。

把点击流数据引入数据仓库可以预测用户行为的数据模型,有效提高系统的人性化。点击流数据仓库的建立完全遵从传统数据仓库建立的原则,其优势源于点击流数据是一种真正改进了的数据资源集,加上数据仓库系统本身的成熟应用,使点击流数据仓库具有其他方式或工具无法比拟的优势。点击流数据仓库可以说是数据仓库方面最令人激动的新发展,它把传统企业用于决策的支持体系应用到互联网这个高速发展的平台。随着Web应用的进一步展开,数据仓库在电子商务中的应用也会进一步深入,并更好地支持商务决策。

2传统的数据仓库系统应用模型

传统的数据仓库系统的体系结构主要由如下4个部分组成:

(1)数据源,是数据仓库系统的基础,是整个系统的数据源泉。

(2)数据的存储与管理,是整个数据仓库系统的核心。数据仓库的关键是数据的存储和管理,其组织管理方式决定了它有别于传统数据库,同时,也决定了其对外部数据的表现形式。

(3)OLAP服务器,对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势,其具体实现可以分为:ROLAP,MOLAP和HOLAP。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。

(4)前端工具,主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具,以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。


3构造点击流数据仓库的问题

与不包含基于Web数据的数据仓库相比,点击流数据仓库的基本体系结构通常存在较少的变化。主要的区别在数据源、ETL的设计细节和数据仓库的模式设计,所有这些都影响设计,而且他们那对于整个体系结构也有一个推进的作用。

3.1数据源及用户身份的鉴别和跟踪问题

比起典型的传统的数据仓库环境,点击流数据仓库有着更为丰富的数据源,这为有效把握用户使用模式提供了基础,但同时也对点击流数据仓库的开发提出了更高的要求。电子商务系统的用户具有很高的自治特性,所以无法对终端用户进行严格的控制。

要满足用户个性化服务的要求,系统必须能够区别不同类型的用户,包括匿名访问者、重复访问者、注册用户、客户和代表集体行为的个人。如何区分这些不同类型的客户是系统的一个必须任务。

3.2点击流数据仓库的元模式的设计问题

作为数据仓库在Web上的应用,系统必须做到2点:

(1)支持普通类型的点击流分析,如站点流量分析。

(2)提供对Web站点活动和用户行为的复杂分析,包括:特殊应用的跟踪和与该内容相关的用户行为;单个用户的访问和行为的分析;用户最常用的Web站点入口和出口的分析;在线销售的促销分析;基于财政时间的企业报表分析;有关用户请求的物理地域的分析。

3.3数据抽取转换和加载工具(ETL)的相关问题

点击流数据的复杂性决定了ETL子系统是点击流数据仓库的最具挑战性的一部分,ETL部分所需的资源通常会占用整个项目资源的80%。因为应用的不同,现有系统一般不能充分满足需要,因此,需结合系统设计加入合适的点击流转换程序来完成数据的抽取、转换和加载。点击流数据仓库系统中常用的ETL设计步骤如下:

(1)数据源分析,对终端用户和应用环境进行调查,确定系统的数据源的具体位置和格式,从而确定数据源的大部分信息;

(2)使Web站点适合点击流分析,在确定数据仓库的主题应用和数据源的大部分信息之后,要比较两者是否匹配,现存的站点信息能否满足数据分析的要求,若站点不能提供足够的必需信息,必须对站点改进来提供这些信息。这涉及的范围有用户跟踪、页面标记和内容编码、时间同步、日志标识、用户退出标志、Cookies的解码和页面会话终结的处理记录等;

(3)创建高层ETL设计和体系结构,在应用中可以考虑购买现有的ETL系统,但往往需要进一步加入自己需要的特定组件来满足要求;

(4)设计特定点击流的组件,点击流处理组件的设计以用于系统中ETL的体系结构;一般的点击流ETL处理流程如图1所示;

图1点击流ETL处理流程


(5)设计和建立ETL组件维表,在对点击流数据进行预处理及装载到数据分级区域中后,需要建立维表。涉及的维表有时间维、主机维和引用者地理维、站点地理维、内容维、活动维、内部促销维和外部促销维、用户维和物理地理维、聚合维表;

(6)设计和建立事实表ETL组件,包括基础级的用户活动事实表、页面级的事实表、会话级的事实表;

(7)建立数据装载机制和整合ETL程序,为数据管理建立支持。

4用户的Web应用模式的挖掘问题

数据挖掘又称数据库中的知识发现(KnowledgeDiscoveryinDatabase,KDD)指的是从大型数据库的数据仓库中提取人们感兴趣的知识,这些知识是隐含的事未知的潜在有用信息。常用的数据挖掘算法有:人工神经网络、决策树、遗传算法、聚类分析,关联分析、序列分析等方法。这其中在事务数据库中挖掘关联规则是数据挖掘领域中的一个非常重要的研究课题,关联规则是美国IBMAlmadenresearchcenter的RabeshAgrawal等人于1993年首先提出的。最近几年,在数据挖掘研究领域对关联规则挖掘的研究开展得比较积极和深入。

网络使用挖掘主要是通过运用数据挖掘手段从网络使用中发现用户的使用模式,来提高网络服务,它一般分为数据预处理、模式识别、模式分析。在引入点击流的数据仓库的基础上,主要放在模式识别和模式分析方面。

经典的关联规则描述如下:

算法的基本思想:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样,然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。挖掘关联规则的总体性能由第一步决定,第二步相对容易实现。

Apriori核心算法分析为了生成所有频集,使用了递推的方法.其核心思想简要描述如下:

L1={large1-itemsets};
for(k=2;Lk-1<>F;k++)dobegin
Ck=apriori-gen(Lk-1);//新的候选集
foralltransactionstiDdobegin
Ct=subset(Ck,t);//事务t中包含的候选集
forallcandidatesciCtdo
c.count++;
end
Lk={ciCk︱c.count>=minsup)
end
Answer=L1∪L2∪…∪Lk-1∪Lk;

首先,产生频繁1-项集L1,然后是频繁2-项集L2,直到有某个r值使得Lr为空,这时算法停止。这里在第k次循环中,过程先产生候选k-项集的集合Ck,Ck中的每一个项集是对两个只有一个项不同的属于Lk-1的频集做一个(k-2)-连接来产生的。Ck中的项集是用来产生频集的候选集,最后的频集Lk必须是Ck的一个子集。Ck中的每个元素需在交易数据库中进行验证来决定其是否加入Lk,这里的验证过程是算法性能的一个瓶颈。这个方法要求多次扫描可能很大的交易数据库,即如果频集最多包含10个项,那么就需要扫描交易数据库10遍,这需要很大的I/O负载。可能产生大量的候选集,以及可能需要重复扫描数据库,是Apriori算法的两大缺点。

而Web应用系统的点击流数据数据库数据量是非常大的,Apriori算法扫描整个数据库进行支持度的计算效率是比较低的,因此我们必须对利用Apriori算法的性质,在保证不影响挖掘结果的情况下,对Apriori算法进行改进,改进算法简介如下:

利用Lk-1对事务数据库D进行筛选,不符合最小支持度的元素如果在Lk-1中没有包含它们的集合,就从事务数据库中删除这部分元素,而且将项数等于(k-1)的事务删除,以缩小数据库,然后由新产生的事务数据库D产生候选项集Ck,减少候选项集在数据库中查找的记录数,这将会有效地提高算法的执行速度。

改进的Apriori算法利用事务数据库D产生1-项集C1,然后扫描数据库D,对每个项的出现次数计数,确定频繁1-项集同时将不满足最小支持度的条件的项从D中删除,并且将项数少于2的事务从D中删除,产生新的事务数据库D2,然后由D2产生候选2-项集C2,可以减少候选2-项集C2中项的数量,这样可以有效的缩小事务数据库D并减少k-项集项Ck的数量提高效率。

将该算法用于Web用户使用模式的挖掘,可以在很大程度上提高挖掘过程的效率。

5结语

(1)笔者主要对点击流数据仓库应用系统的相关设计问题做了论述,讨论了在设计过程中需要考虑的一些问题,如:数据源及用户身份的鉴别和跟踪问题、点击流数据仓库的元摸式的设计问题、数据抽取转换和加载工具(ETL)的相关问题、数据分析工具(OLAP)的相关问题、用户的Web应用模式的挖掘问题等,引入点击流数据仓库可以有效地提升用户的商务智能应用水平;

(2)在数据挖掘部分,笔者引入一种改进的关联规则算法,与点击流数据仓库结合起来可以有效改进挖掘的效率,但在多层次分析方面仍需改进,而且算法效率本身还有进一步提高的空间;

(3)ETL设计部分是数据仓库设计中最为复杂的部分,可以考虑设计通用的Web应用领域的构件库来提高系统实施的效率,这个方面还需做进一步的研究。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们