论文部分内容阅读
[摘要] web服务器日志中保存了大量的用户访问电子商务系统的记录,我们从中提取所需的数据,运用数据挖掘技术对所提取的数据进行处理和分析,从而得到用户购物的兴趣和习惯,使电子商务系统更能满足用户的需求。
[关键词] 数据挖掘 电子商务 频繁访问路径
在电子商务网站模式下,用户购买商品的过程就是在电子商务网站页面中跳转的过程,用户的每个活动其实也就是对网站上的一个页面对象的点击操作,而这些点击操作都被记录在网站的系统日志中,通过对日志文件的分析挖掘,可以找出用户行为模式;在另一方面,电子商务网站的结构组织是不是符合客户购买商品的规律,通过对网站日志的分析也可以得到。所有这些都离不开数据挖掘技术,本文就是通过对电子商务网站服务器日志文件进行分析,从而进一步指导电子商务网站建设。
在Web中使用数据挖掘,数据最直接的来源是Web服务器日志,它非常明确地记录了访问者的浏览行为,在Web使用记录挖掘中有很重要的地位。每当有获取资源的请求到来时,服务器方将会产生Server1095,Error1095和Cookie1095三种类型的日志文件,记录用户访问和交互的基本信息Web日志文件是由一条条的记录组成,记录了用户对Web页面的一次访问,尽管不同Web服务器的记录格式不尽相同,但都包含用户访问的基本信息。Web服务器文件的记录格式:
一、提取数据
客户在浏览网站时,是以点击超链接方式访问电子商务网站,客户的所有的点击行为可以抽象的点击流来表示,客户的操作轨迹都被记录在服务器日志里,因此我们可以大量收集每个客户的行为数据、深入研究,从这些看似“无意义”的数据中得到有价值的信息和知识。我们可以收集并分析客户的浏览行为,使用数据挖掘方法发现客户的使用模式,向客户提供个性化页面的推荐服务。
同时可以删除web日志中与挖掘算法无关的记录,本文中所需要的数据主要是用户名、请求的页面的时间和页面的地址,其它的数据项不需要,因此都可以删除。
二、用户识别
用户识别是点击流数据预处理过程中一项比较困难的任务,但目前已出现了不少来精确识别一个用户的方法,其中最简单但是误差也最大的一种方法就是根据IP进行识别,此外还有一些嵌入sessionID、让用户进行注册、在客户端写入Cookie标识以及使用嵌入代理的方法每种方法都有其自身的优缺点。在Web日志挖掘中,如果只根据服务器端日志确定用户往往会有一定的误差,确定用户的误差会导致对用户访问事务的划分出现不准确,从而使得数据挖掘的结果也出现偏差。可以根据结果所要的精确度,选择不同的方法进行识别,我们一般选择在客户端写入Cookie的方法即可达到比较好效果。
三、会话事务识别
用户会话的数学表示:用户会话S是一个二元组。Userid是用户号,RS是用户在一段时间内请求的Web页面的集合。RS包含用户请求的页面标识符Pid、访问时间。访问时间长度(是指用户访问一个页面所经历的时间)。
S=—公式1
服务器要并发处理多个用户的请求,要从多个相互交织的用户访问事务中正确区分出所有用户访问事务比较困难。一般都是对用户在客户端浏览行为做不同的假设,然后再在此基础上确定用户访问事务。因此确定的用户访问事务并不能保证完全精确。根据对用户访问行为的不同假设,有四种确定用户访问行为及访问事务的模型:页面类型模型(PageTyPeModel)、参引长度模型(ReferenceLengthModel)、最大向前参引模型(MaximalForward
RefereneeModel)、时间窗口模型(TimeWindowModel)。
我们采用时间窗口模型对用户访问事务进行识别。时间窗口模型中,对用户浏览行为假定的方法是认为用户一次访问的时间都有一个最大的限制。我们采用时间间隔来区分用户访问事务,即如果相邻两个页面请求的间隔时间超过一定的界限,就认为是开始了一次新的用户会话。此时,公式1要满足式公式2:
timei-timet-1≤W,1<i≤k—公式2
在时间窗口模型中划分用户访问事务。其中关键的一步是如何确定时间窗口大小即超时阀值。因为超时阀值的确定直接影响到点击流数据预处理结果的输出,不同的超时阀值会产生不同的用户会话文件。对于超时阀值,我们采用对实际日志进行实验,观察超时阀值与平均用户会话长度及用户会话个数之间的关系来确定。
实验证明,当超时阀值到达60分钟时,会话长度增长于平稳,并且会话个数减少的趋势也趋于平稳,因而在我们的系统中将超时阀设为60分钟。目前,许多商业产品将缺省超时值确定为30分钟,超时的界限以根据站点的使用统计反馈的结果进行调节,直到可以更准确地识别会话。
四、频繁路径的挖掘
用户频繁访问路径是用户在一定时期内多次浏览的连续页面序列,它最能反映在这个时期里用户的浏览兴趣。因此,用户频繁访问路径的挖掘对于了解用户当前兴趣,为用户提供个性化的服务有着非常重要的意义。用户频繁访问路径挖掘算法输入数据为事务识别的结果:用户的MFP集合。输出的是用户的频繁访问路径集合和相应的支持度。据此结论,可以得到用户的兴趣模式。相关定义和概念。
定义1:给定路径P={x1,x2,…xn},任意的p`={xi,xi+1,…xi+j}(i=1,i.+j=n)均为P的子路径(Sub一path),且称P包含p`。
定义2:如果一个Web访问路径P={x1,x2,…xn},满足以下条件:
则称路径P为频繁路径。其中,Smin为预先定义的最小支持度。频繁访问路径就是MFP中满足一定支持度的连续页面序列。
定义3:支持度指包含频繁访问路径的用户会话的数目。定义频繁访问路径的长度为其包含的页面数。设长度为k的频繁遍历路径的集合为FPk,其中最频繁的M个访问路径的集合为FPk_m={Pk_1,…Pk_m}。
定义4候选路径:若两个连续的k-1长的子路径{xj,… xj+k-2}和{xj+1,…xj+k-1}都是FPK-1的元素,即它们的支持度都不小于Pk-1_.m。的支持度,那就称{xj,…xj+k-1}为FKk的候选路径。如会话S包含两个MFP:{a,b,c,d,e}和{f,g},寻找FP3的候选路径需要考虑3个子路径{a,b,c}{b,c,d}{c,d,e},如果{a,b}{b,c}是即FP2中的频繁访问路径,那么{a,b,c}就是一个FP3的候选路径。
用户频繁访问路径挖掘算法,挖掘长度为k的用户频繁访问路径就是设法构造FPk。算法的主要思想是基于候选路径的概念,从MFP中找出长度为k的候选路径{xj,…xj+k-1,},然后计算它在用户所有会话中的支持度。支持度最大的M个路径的集合就是FKk_m。
构造FPk(k>1)的算法如下:
输入:一个用户的MFP的集合Fi。
输出:一个用户的频繁遍历路径集合FPk(k>l)。
for每个Fi. {
for Fi中的每个{x1, x2, ……, xm}{
if (k=m){
for (j =l;j< m-k+l;j++)}
if{ x j,… xj+k-1}己经在FPk中
{xj,…xj+k-1}的支持度加1
else if{ x j,…xj+k-2}的支持度=Sk-1and{xj+l,…xj+k-1}的支持度=Sk-1
将{xj,… xj+k-1}插入FPk;
}
}
}
}
在调用发现频繁遍历路径的算法之前,先要计算每一页在用户会话中的支持度,也就是路径长度为1的情况,然后从2直到k循环调用发现频繁遍历路径的算法,每一次循环都可以利用上一次循环结果中的支持度。
使用该算法分析每个用户会话,得到每个用户频繁遍历路径表,用户频繁遍历路径表:
在电子商务系统的推荐模块里。就可以根据用户的ID号和及其相应的频繁访问路径向用户提供最可能的访问链接,从而达到向用户推荐其最可能需要产品的目的。
五、小结
本文通过对web服务器的日志文件的数据进行处理和分析,使用数据挖掘的方法,从中得到用户的频繁访问路径,来了解用户的购物特性和习惯,从而达到向每个用户推荐产品的目的。Web挖掘是一个十分复杂,但是有广泛应用前景的技术,很多方面都值得我们去探究。
参考文献:
[1]华广颖张慧颖等:关联规则挖掘在企业运作策略调查问卷中的应用[J].工业工程, 2004,(02)
[2]辛燕:基于点击流分析的电子商务智能决策支持系统[D]. 江苏大学,2003
[3]周世东:web数据挖掘在电子商务中应用与研究[D].北方交通大学,2008
[4]朱明著:数据挖掘.中国科学技术大学出版社,2002.2
[关键词] 数据挖掘 电子商务 频繁访问路径
在电子商务网站模式下,用户购买商品的过程就是在电子商务网站页面中跳转的过程,用户的每个活动其实也就是对网站上的一个页面对象的点击操作,而这些点击操作都被记录在网站的系统日志中,通过对日志文件的分析挖掘,可以找出用户行为模式;在另一方面,电子商务网站的结构组织是不是符合客户购买商品的规律,通过对网站日志的分析也可以得到。所有这些都离不开数据挖掘技术,本文就是通过对电子商务网站服务器日志文件进行分析,从而进一步指导电子商务网站建设。
在Web中使用数据挖掘,数据最直接的来源是Web服务器日志,它非常明确地记录了访问者的浏览行为,在Web使用记录挖掘中有很重要的地位。每当有获取资源的请求到来时,服务器方将会产生Server1095,Error1095和Cookie1095三种类型的日志文件,记录用户访问和交互的基本信息Web日志文件是由一条条的记录组成,记录了用户对Web页面的一次访问,尽管不同Web服务器的记录格式不尽相同,但都包含用户访问的基本信息。Web服务器文件的记录格式:
一、提取数据
客户在浏览网站时,是以点击超链接方式访问电子商务网站,客户的所有的点击行为可以抽象的点击流来表示,客户的操作轨迹都被记录在服务器日志里,因此我们可以大量收集每个客户的行为数据、深入研究,从这些看似“无意义”的数据中得到有价值的信息和知识。我们可以收集并分析客户的浏览行为,使用数据挖掘方法发现客户的使用模式,向客户提供个性化页面的推荐服务。
同时可以删除web日志中与挖掘算法无关的记录,本文中所需要的数据主要是用户名、请求的页面的时间和页面的地址,其它的数据项不需要,因此都可以删除。
二、用户识别
用户识别是点击流数据预处理过程中一项比较困难的任务,但目前已出现了不少来精确识别一个用户的方法,其中最简单但是误差也最大的一种方法就是根据IP进行识别,此外还有一些嵌入sessionID、让用户进行注册、在客户端写入Cookie标识以及使用嵌入代理的方法每种方法都有其自身的优缺点。在Web日志挖掘中,如果只根据服务器端日志确定用户往往会有一定的误差,确定用户的误差会导致对用户访问事务的划分出现不准确,从而使得数据挖掘的结果也出现偏差。可以根据结果所要的精确度,选择不同的方法进行识别,我们一般选择在客户端写入Cookie的方法即可达到比较好效果。
三、会话事务识别
用户会话的数学表示:用户会话S是一个二元组
S=
服务器要并发处理多个用户的请求,要从多个相互交织的用户访问事务中正确区分出所有用户访问事务比较困难。一般都是对用户在客户端浏览行为做不同的假设,然后再在此基础上确定用户访问事务。因此确定的用户访问事务并不能保证完全精确。根据对用户访问行为的不同假设,有四种确定用户访问行为及访问事务的模型:页面类型模型(PageTyPeModel)、参引长度模型(ReferenceLengthModel)、最大向前参引模型(MaximalForward
RefereneeModel)、时间窗口模型(TimeWindowModel)。
我们采用时间窗口模型对用户访问事务进行识别。时间窗口模型中,对用户浏览行为假定的方法是认为用户一次访问的时间都有一个最大的限制。我们采用时间间隔来区分用户访问事务,即如果相邻两个页面请求的间隔时间超过一定的界限,就认为是开始了一次新的用户会话。此时,公式1要满足式公式2:
timei-timet-1≤W,1<i≤k—公式2
在时间窗口模型中划分用户访问事务。其中关键的一步是如何确定时间窗口大小即超时阀值。因为超时阀值的确定直接影响到点击流数据预处理结果的输出,不同的超时阀值会产生不同的用户会话文件。对于超时阀值,我们采用对实际日志进行实验,观察超时阀值与平均用户会话长度及用户会话个数之间的关系来确定。
实验证明,当超时阀值到达60分钟时,会话长度增长于平稳,并且会话个数减少的趋势也趋于平稳,因而在我们的系统中将超时阀设为60分钟。目前,许多商业产品将缺省超时值确定为30分钟,超时的界限以根据站点的使用统计反馈的结果进行调节,直到可以更准确地识别会话。
四、频繁路径的挖掘
用户频繁访问路径是用户在一定时期内多次浏览的连续页面序列,它最能反映在这个时期里用户的浏览兴趣。因此,用户频繁访问路径的挖掘对于了解用户当前兴趣,为用户提供个性化的服务有着非常重要的意义。用户频繁访问路径挖掘算法输入数据为事务识别的结果:用户的MFP集合。输出的是用户的频繁访问路径集合和相应的支持度。据此结论,可以得到用户的兴趣模式。相关定义和概念。
定义1:给定路径P={x1,x2,…xn},任意的p`={xi,xi+1,…xi+j}(i=1,i.+j=n)均为P的子路径(Sub一path),且称P包含p`。
定义2:如果一个Web访问路径P={x1,x2,…xn},满足以下条件:
则称路径P为频繁路径。其中,Smin为预先定义的最小支持度。频繁访问路径就是MFP中满足一定支持度的连续页面序列。
定义3:支持度指包含频繁访问路径的用户会话的数目。定义频繁访问路径的长度为其包含的页面数。设长度为k的频繁遍历路径的集合为FPk,其中最频繁的M个访问路径的集合为FPk_m={Pk_1,…Pk_m}。
定义4候选路径:若两个连续的k-1长的子路径{xj,… xj+k-2}和{xj+1,…xj+k-1}都是FPK-1的元素,即它们的支持度都不小于Pk-1_.m。的支持度,那就称{xj,…xj+k-1}为FKk的候选路径。如会话S包含两个MFP:{a,b,c,d,e}和{f,g},寻找FP3的候选路径需要考虑3个子路径{a,b,c}{b,c,d}{c,d,e},如果{a,b}{b,c}是即FP2中的频繁访问路径,那么{a,b,c}就是一个FP3的候选路径。
用户频繁访问路径挖掘算法,挖掘长度为k的用户频繁访问路径就是设法构造FPk。算法的主要思想是基于候选路径的概念,从MFP中找出长度为k的候选路径{xj,…xj+k-1,},然后计算它在用户所有会话中的支持度。支持度最大的M个路径的集合就是FKk_m。
构造FPk(k>1)的算法如下:
输入:一个用户的MFP的集合Fi。
输出:一个用户的频繁遍历路径集合FPk(k>l)。
for每个Fi. {
for Fi中的每个{x1, x2, ……, xm}{
if (k=m){
for (j =l;j< m-k+l;j++)}
if{ x j,… xj+k-1}己经在FPk中
{xj,…xj+k-1}的支持度加1
else if{ x j,…xj+k-2}的支持度=Sk-1and{xj+l,…xj+k-1}的支持度=Sk-1
将{xj,… xj+k-1}插入FPk;
}
}
}
}
在调用发现频繁遍历路径的算法之前,先要计算每一页在用户会话中的支持度,也就是路径长度为1的情况,然后从2直到k循环调用发现频繁遍历路径的算法,每一次循环都可以利用上一次循环结果中的支持度。
使用该算法分析每个用户会话,得到每个用户频繁遍历路径表,用户频繁遍历路径表:
在电子商务系统的推荐模块里。就可以根据用户的ID号和及其相应的频繁访问路径向用户提供最可能的访问链接,从而达到向用户推荐其最可能需要产品的目的。
五、小结
本文通过对web服务器的日志文件的数据进行处理和分析,使用数据挖掘的方法,从中得到用户的频繁访问路径,来了解用户的购物特性和习惯,从而达到向每个用户推荐产品的目的。Web挖掘是一个十分复杂,但是有广泛应用前景的技术,很多方面都值得我们去探究。
参考文献:
[1]华广颖张慧颖等:关联规则挖掘在企业运作策略调查问卷中的应用[J].工业工程, 2004,(02)
[2]辛燕:基于点击流分析的电子商务智能决策支持系统[D]. 江苏大学,2003
[3]周世东:web数据挖掘在电子商务中应用与研究[D].北方交通大学,2008
[4]朱明著:数据挖掘.中国科学技术大学出版社,2002.2