摘 要:电子商务系统中商品推荐技术可以帮助电子商务网站有效地提高商品的销量,对电子商务发展有重要作用。本文分析了商品推荐的流程,结合数据挖掘技术的关联分析技术给出了一个商品推荐模型。
关键词:电子商务;关联规则;数据挖掘
引言
目前电子商务的发展越来越迅猛,电子商务的规模与结构也越来越复杂。大量的商品信息使用户不能有效获得商品信息,电子商务系统的商品推荐技术能够有效地增强商品信息的针对性,提高电子商务网站吸引客户与销售能力。
基于数据挖掘技术的推荐算法可以有效地利用于对电子商务系统中的信息进行挖掘与推荐,因此数据挖掘技术是研究电子商务商品推荐技术的主要途径。数据挖掘技术主要用于对有效的数据进行算法应用,得出合理的算法来进行数据挖掘,目前研究电子商务商品推荐技术主要的算法有聚类技术、关联规则等。本文主要研究关联规则技术,给出一个基于关联规则的商品推荐系统模型。
1 电子商务推荐系统
电子商务推荐系统根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。电子商务推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务。购物网站的推荐系统为客户推荐商品,自动完成个性化选择商品的过程,满足客户的个性化需求。
2 数据挖掘中关联规则
2.1关联规则
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。
2.2关联规则挖掘的相关算法
(1)Apriori算法:使用候选项集找频繁项集
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。
(2)基于划分的算法
Savasere等设计了一个基于划分的算法。这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频集,然后把产生的频集合并,用来生成所有可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块可以被放入主存,每个阶段只需被扫描一次。而算法的正确性是由每一个可能的频集至少在某一个分块中是频集保证的。
(3)FP-树频集算法
针对Apriori算法的固有缺陷,J. Han等提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息,随后再将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个FP-tree可以放入主存中。实验表明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。
3 一个基于关联规则的商品推荐模型
3.1 商品推荐模型
通过对电子商务网站的原始数据进行分析可以得出用户行为习惯与商品关联信息,从而得出电子商务网站的推荐销售商品,在这过程中应用信息技术相关手段主要为两个方面,第一网站的原始数据的有效获取,第二应用相关的信息手段对有效数据进行分析。数据挖掘技术中关联规则分析可以应用于电子商务网站的数据分析,由此得出用户行为与商品销售的关联规则。基于得出的关联规则建立规则库,应用用户实际的购买清单于规则模型库,通过模型库引擎计算,给出电子商务网站的实际商品推荐列表。
在此过程中,获取的原始数据源将有几个方面,数据库、网站记录、客户文档都是其中一部分,内容比较复杂需要进行数据预处理得出有效的数据集来应用关联规则分析。关联规则分析的方式根据数据集的特点可以应用多种算法,基本的传统算法由于算法自身缺陷无法非常有效适应数据规模的变化可以进行改进。产生的规则集不能直接应用于记录分析需要建立模型库适用于模型引擎。图3.1给出了一个基于关联规则的商品推荐系统模型。
图3.1 一个基于关联规则的商品推荐系统模型
3.2 算法描述
上述基于关联规则的商品推荐系统模型的关键是建立规则集,而建立规则集的根本是关联规则算法的应用。
Apriori算法是很多关联规则算法的基础,算法名字源于算法使用了频繁项集性质的先验(Prior)知识。Apriori算法过程主要分为两步:第一步通过迭代找出事务数据库D中的所有频繁项集,即支持度大于等于用户预先设定的min_sup的项集;第二步利用第一步找出的频繁项集构造出满足用户给定最低信任度minconf的有用规则。
Apriori算法中检索所有频繁项集是整个算法的核心。
Agrawal等已经证明了关联规则具有如下性质:
性质1 频繁项集的子集必定是频繁项集。
性质2 非频繁项集的超集一定是非频繁的。
Apriori算法利用性1,通过已知的频繁项集构成长度更大的项集,并将其称为后选频繁项集。后选频繁k项集的集合Ck是指由可能成为频繁k项集的项集组成的结合。之后只需要计算后选频繁项集的支持度,而不必计算所有不同项集的支持度,因此减少了部分计算量。Apriori具体算法如下:
(1) L1 = find_frequent_1-itemsets(D);
(2) for (k=2;Lk-1≠Φ;k++) {
(3) Ck = apriori_gen(Lk-1, min_sup);// Ck是k个元素的候选集
(4) for each transaction t∈D {
(5) Ct = subset(Ck,t); // Ct是所有t包含的候选集元素
(6) for each candidate c∈ Ct
(7) c.count++;}
(8) Lk ={c∈Ck c.count≥min_sup}}
(9) Return L= ∪k Lk;
apriori_gen()函数以Lk-1为参数,用Lk-1和Lk-1进行连接操作生成一个超集作为后选频繁项集。
然后就是剪枝(Prune)操作,剪枝是基于这样一个原因:任何非频繁的(k-1)项集必定不是频繁k项集的子集,所以当后选k项集的某个(k-1)子集不是Lk-1中的成员时,则该后选频繁项集不可能成为频繁项集,应当从Ck中删除。
应用Apriori算法进行关联规则分析可以有效地挖掘出复杂数据库的关联规则从而形成构成优异的商品推荐系统。
4 结束语
基于关联规则对网站数据与用户数据进行分析可以有效地得出进行商品推荐的规则从而有效地进行商品推荐,Apriori算法在关联规则分析过程中是一种实用的分析算法。基于关联规则的商品推荐模型可以应用于实际的电子商务系统当中。
参考文献:
.计算机工程与应用,2004,40(34):183—185.