电子商务-B-第09讲.ppt
电 子 商 务,张文新 副教授,电话:,课 程 安 排,3/34,引言,美国的超市有这样的系统:当你采购了一车商品结账时,售货员小姐扫描完了你的产品后,计算机上会显示出一些信息,然后售货员会友好地问你:我们有一种一次性纸杯正在促销,位于F6货架上,您要购买吗?这句话决不是一般的促销。因为计算机系统早就算好了,如果你的购物车中有餐巾纸、大瓶可乐和沙拉,则86%的可能性你要买一次性纸杯。结果是,你说,啊,谢谢你,我刚才一直没找到纸杯。,第9讲,电子商务商品推荐技术,内容提要,9.1.商品推荐系统概述9.2.商品推荐相关技术9.3.商品推荐系统开发案例,6,9.1.商品推荐系统概述,电子商务推荐系统的作用:将电子商务网站的浏览者转变为购买者(Converting Browsers into Buyers)提高电子商务网站的交叉销售能力(Cross-Sell)提高客户对电子商务网站的忠诚度(Building Loyalty),亚马逊30%的销售额来自于推荐,推荐系统提高顾客忠诚度,在电子商务环境下,客户只需一个鼠标点击就去了竞争者的购物网站,如何获得客户的忠诚度是非常重要的商业战略考虑;推荐系统不断学习客户的购买行为,购买偏好,从而推荐出最满足客户个性化需求的商品,所以客户就会重复光顾能最好满足自身需求的购物网站。,推荐引擎为购物网站,提高交叉销售,提高升级销售,提升销售转化率,提升网站竞争力,提升顾客购物体验,提升顾客忠诚度,推荐引擎,购物网站,推荐引擎的行业应用,用户特征数据商品数据购买数据浏览数据评级数据,关联规则协同过滤基于内容推荐组合推荐,购物网站零售门户网站银行证券保险,数据仓库,数据挖掘,行业应用,11,9.1.商品推荐系统概述,电子商务推荐系统的界面表现形式Browsing:根据客户查询要求返回高质量的推荐Similar Item:推荐系统根据客户购物篮中的商品和客户可能感兴趣的商品推荐类似的商品Email:通过电子邮件的方式通知客户可能感兴趣的商品信息Text Comments:向客户提供其他客户对相应产品的评论信息Average Rating:向客户提供其他客户对相应产品的等级评价 Top-N:根据客户的喜好向客户推荐最可能吸引客户的N件产品 Ordered Search Results:列出所有的搜索结果,并将搜索结果按照客户的兴趣降序排列,多种推荐服务,13/45,14/45,15/45,电子商务推荐导航系统的发展趋势:推荐系统更能体现用户个性化需求,为用户和电子商务营销决策者提供更个性化和智能化的服务。目前研究热点在于:基于关联规则获取用户兴趣知识;基于案例推理实现协同过滤;基于Web挖掘实现语义分析等。,9.1.商品推荐系统概述,个性化的推荐系统,如果我有2百万个网络顾客,我就应该有2百万个网络商店.(“If I have 2 million customers on the web,I should have 2 millions stores on the web.”)Jeff Bezos,CEO of A,9.2.商品推荐相关技术,商品推荐相关技术协同过滤技术(CF,Collaborative Filtering)数据挖掘技术(DM,Data Mining),9.2.商品推荐相关技术,协同过滤技术KNN技术(K-Nearest Neighboring)基于聚类(Clustering-based)的协同过滤基于项目(Item-based)的协同过滤,9.2.商品推荐相关技术,协同过滤技术协同过滤技术的缺陷需要用户提供主观的评价信息;不能处理大规模的数据量;用户的评价信息可能会过时;使用不方便。,9.2.商品推荐相关技术,数据挖掘技术关联规则(Association Rules)发现;序列模式(Sequence Pattern)发现;聚类(Clustering)技术;Web挖掘(Web Mining)技术。,22/34,关联分析:数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联分析的关键是关联规则挖掘。,9.2.商品推荐相关技术,23/34,基本概念:关联自然界中某种事物发生时其他事物也会发生的这样一种联系称之为关联。关联是两个或多个变量取值之间存在的一类重要的可被发现的某种规律性。关联可分为简单关联、时序关联、因果关联。,9.2.商品推荐相关技术,24/34,基本概念:关联分析关联分析目的是寻找给定数据记录集中数据项之间隐藏的关联关系,描述数据之间的密切度。关联分析的结果常有两种:关联规则和序列模式。关联规则用于寻找在同一个事件中出现的不同项的相关性;序列模式寻找的是事件之间时间上的相关性。,9.2.商品推荐相关技术,25/34,基本概念:关联规则关联规则是描述在一个交易中物品之间同时出现的规律的知识模式,更确切的说,关联规则是通过量化的数字描述物品X的出现对物品Y的出现有多大的影响。关联规则发现的主要对象是交易型数据库,一个交易一般由交易处理时间,一组顾客购买的物品,有时也有顾客标识号(如信用卡号)组成。,9.2.商品推荐相关技术,26/34,基本概念:关联规则关联规则举例:以零售业为例,体育用品商场通过对销售数据进行关联分析通常可以发现这些数据中常常隐含形式如下的规律“购买篮球的顾客中有70%的人同时购买篮球运动服,所有交易中有40%的人同时购买篮球和篮球运动服”等等。这些规律即关联规则。,9.2.商品推荐相关技术,27/34,基本概念:关联规则形式化定义关联规则挖掘的交易数据集记为D(一般为交易数据库),DT1,T2,Tk,,Tn,Tk(k1,2,,n)称为交易,对应每一个交易有唯一的标识,记作TID。元素im(m1,2,,p)称为项。设I=i1,i2,im是D中全体项组成的集合,且TkI。,设X是一个I中项的集合,如果XTk,那么称交易Tk包含项集X。若X,Y为项集,XI,YI,并且XY=,则形如X=Y的表达式称为关联规则。,9.2.商品推荐相关技术,28/34,关联规则度量置信度:X出现的前提下,Y出现的频率,即:P(Y|X)支持度:X、Y同时出现的频率,即:P(XY),9.2.商品推荐相关技术,29/34,关联规则度量置信度:X出现的前提下,Y出现的频率,即:P(Y|X)规则XY在交易数据集D中的置信度是对关联规则准确度的衡量。度量关联规则的强度。即在所有出现了X的活动中出现Y的频率,即规则XY的必然性有多大。记为confidence(XY)。计算方法:包含X和Y的交易数与包含X的交易数之比:confidence(XY)=P(YX)=|T:XYT,TD|/|T:XT,TD|100%,9.2.商品推荐相关技术,30/34,关联规则度量支持度:X、Y同时出现的频率,即:P(XY)规则XY在交易数据集D中的支持度是对关联规则重要性的衡量,反映关联是否是普遍存在的规律,说明这条规则在所有交易中有多大的代表性。即在所有交易中X与Y同时出现的频率记为:support(XY)。计算方法:交易数据集中同时包含X和Y的交易数与所有交易数之比:support(XY)=P(XY)=|T:XYT,TD|/|D|100%(其中|D|是交易数据集D中的所有交易数),9.2.商品推荐相关技术,31/34,商品推荐的方法-关联规则挖掘关联规则挖掘:在交易数据、关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式、关联、相关性、或因果结构。描述:给定:(1)交易数据库(2)每笔交易是:一个项目列表(消费者一次购买活动中购买的商品);查找:所有描述一个项目集合与其他项目集合相关性的规则。应用:购物篮分析、交叉销售、产品目录设计、聚集等。,9.2.商品推荐相关技术,32/34,关联规则度量:支持度与置信度,支持度:X、Y同时出现的频率,即:P(XY)置信度:X出现的前提下,Y出现的频率,即:P(Y|X),9.2.商品推荐相关技术,33/34,设最小支持度为50%,最小置信度为 50%,则可得到:A C(50%,66.6%)C A(50%,100%),关联规则度量:支持度与置信度应用举例:,9.2.商品推荐相关技术,支持度:A、C同时出现的频率,即:P(AC)置信度:A出现的前提下,C出现的频率,即:P(C|A),34/34,关联规则挖掘算法之一:Apriori算法,对于 A C:support=support(A、C)=50%confidence=support(A、C)/support(A)=66.6%Apriori的基本思想:频繁项集的任何子集也一定是频繁的,最小值支持度 50%最小置信度 50%,9.2.商品推荐相关技术,35/34,9.2.商品推荐相关技术,关联规则挖掘的关键步骤:挖掘频繁集频繁集:是指满足最小支持度的项目集合;频繁集的子集也一定是频繁的,如,如果AB 是频繁集,则 A B 也一定是频繁集;从1到k(k-频繁集)递归查找频繁集;用得到的频繁集生成关联规则。,问:对于上页的E是否频繁集?,答:否,支持度为25%50%,36/34,Apriori算法连接:用 Lk-1自连接得到Ck修剪:一个k-项集,如果他的一个k-1项集(他的子集)不是频繁的,那他本身也不可能是频繁的。Apriori算法伪代码:Ck:Candidate itemset of size kLk:frequent itemset of size k C1all Candidate itemset of size from DatabaseL1=candidates in C1 with min_supportfor(k=1;Lk!=;k+)do beginCk+1=candidates generated from Lk;for each transaction t in database do increment the count of all candidates in Ck+1 that are contained in t Lk+1=candidates in Ck+1 with min_support endreturn k Lk;,逆反定理:如果 A B 不是频繁集,则AB也一定不是频繁集。,9.2.商品推荐相关技术,37/34,Apriori算法算例现有A、B、C、D、E五种商品的交易记录表,试找出三种商品关联销售情况(k=3),最小支持度=50%。,9.2.商品推荐相关技术,38/34,算例解答,K=1,支持度50,9.2.商品推荐相关技术,39/34,算例解答,9.2.商品推荐相关技术,9.2.商品推荐相关技术,数据挖掘技术Web挖掘技术的优点不需要用户提供主观的评价信息;可以处理大规模的数据量;用户访问模式动态获取,不会过时;使用方便。,9.2.商品推荐相关技术,基于Web挖掘的商品推荐基于Web使用挖掘的商品推荐基于Web使用挖掘和Web内容挖掘的商品推荐,9.2.商品推荐相关技术,基于Web挖掘的商品推荐基于Web使用挖掘的商品推荐基本思路:分析Web日志数据,利用数据挖掘方法发现用户的使用模式,从而向用户提供个性化服务基本过程:离线部分:数据预处理+总体使用特征获取在线部分:推荐引擎,9.2.商品推荐相关技术,基于Web挖掘的商品推荐基于Web使用挖掘的商品推荐基本过程:离线部分:数据预处理数据清洗(Data Cleaning)会话识别(Session Identification)浏览页识别(Pageview Identification)事务识别(Transaction Identification),9.2.商品推荐相关技术,数据预处理的结果浏览页集合P表示为:P=p1,p2,pn用户事务集合T表示为:T=t1,t2,tm每一个事务t T均表示为为浏览页集合P的n维向量:t=,9.2.商品推荐相关技术,基于Web挖掘的商品推荐基于Web使用挖掘的商品推荐基本过程:离线部分:总体使用特征获取路径完善(Path Completion)用户识别(User Identification),9.2.商品推荐相关技术,总体特征获取使用聚类算法得到不同的事务聚类同一个事务聚类内用户之间的浏览模式尽可能相似,而不同事务聚类中用户之间的浏览模式尽可能不同给定事务聚类c和显著性阈值,事务聚类c的总体使用特征prc的计算方法如下:prc=|p P,weight(p,prc)weight(p,prc)=,9.2.商品推荐相关技术,基于Web挖掘的商品推荐基于Web使用挖掘的商品推荐基本过程:在线部分:推荐引擎,9.2.商品推荐相关技术,推荐引擎根据当前的用户会话产生实时的推荐集用户当前会话S可以表示为:S=s1,s2,sn总体使用特征C可以表示为:C=w1C,w2C,wnC,9.2.商品推荐相关技术,推荐引擎使用余弦相似性函数来计算C和S之间的匹配系数:,计算浏览页p的推荐系数Rec(S,p):,9.2.商品推荐相关技术,基于Web挖掘的商品推荐基于Web使用挖掘和Web内容挖掘的商品推荐,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐基于Web使用挖掘的个性化服务的问题:商业网站的用户使用数据比较少;网站内容变化比较频繁。,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐基本思路:在基于Web使用挖掘的基础上,根据浏览页内容之间的相似性为用户提供商品推荐。基本过程:离线部分:数据预处理+内容特征获取在线部分:推荐引擎,对比:基于Web使用挖掘的商品推荐基本思路:分析Web日志数据,利用数据挖掘方法发现用户的使用模式,从而向用户提供个性化服务。,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐离线部分:数据预处理从文本数据和元数据中抽取内容特征内容特征权重的计算方法:元数据而言的权重由商业网站的设计者提供;文本内容特征而言的权重由词频反文献频率(TFIDF)确定。,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐离线部分:数据预处理浏览页p表示为内容特征空间上的k维向量:p=fw(p,f i)为浏览页p在特征f i上的权重必须对将元数据与文本内容特征进行一致化处理。,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐离线部分:内容特征获取浏览页内容特征矩阵的行列互换,每个内容特征看作浏览页空间上的n维向量;使用聚类算法对内容特征进行聚类,每一个内容特征聚类ci由一系列内容特征组成;给定内容特征聚类G和显著性阈值r,其内容特征CG的方法如下:CG=|p P,weight(p,CG)r weight(p,CG)=,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐在线部分:推荐引擎用户当前会话S可以表示为:S=s1,s2,sn内容特征C可以表示为:C=w1C,w2C,wnC,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐在线部分:推荐引擎使用余弦相似性函数来计算C和S之间的匹配系数:,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐在线部分:推荐引擎计算浏览页p的推荐系数Rec(S,p):,9.2.商品推荐相关技术,基于Web挖掘的商品推荐基于Web使用挖掘和Web内容挖掘的商品推荐算法之改进,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐算法之改进改进基本思路:在上述推荐方法的基础上进一步引入Web结构挖掘;如果有许多浏览页都同时链接到浏览页A和浏览页B,则可以认为浏览页A和浏览页B之间具有一定的相关性,如果一个用户访问了浏览页A,则浏览页B对该用户而言很可能是有价值的,从而可以在推荐列表中加上浏览页B。,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐算法之改进基本过程:离线部分:数据预处理+结构特征获取在线部分:推荐引擎,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐算法之改进离线部分:数据预处理通过Crawler构造出网站内部浏览页之间的相互链接情况每个浏览页p可以表示为所有浏览页空间上的n维向量:p=,9.2.商品推荐相关技术,基于Web使用挖掘和Web内容挖掘的商品推荐算法之改进离线部分:结构特征获取使用聚类算法对结构特征进行聚类,每一个结构特征聚类ci由一系列结构特征组成给定结构聚类s和显著性阈值v,其结构特征prs的计算方法如下:prs=|p P,weight(p,prs)weight(p,prs)=,Reference:1 M.Perkowitz and O.Etzioni.Adaptive Web sites:automatically synthesizing Web pages.In Proceedings of 15th National Conference on Artificial Intelligence,Madison,WI,1998.2 S.Chakrabart.Data mining for hypertext:A tutorial survey.ACM SIGKDD Explorations,1(2),pages 1-11,2000.3 D.Dillsus and M.J.Pazzani.Learning Collaborative Information Filters.In Proceedings of ICML98.Pp.46-53.4 B.Mobasher.A Web personalization engine based on user transaction clustering.In Proceedings of the 9th Workshop on Information Technologies and Systems(WITS99),December 1999.5 R.Cooley,B.Mobasher,and J.Srivastava.Data Preparation for mining World Wide Web browsing patterns.Journal of Knowledge and Information Systems,(1)1,1999.6 B.Mobasher,H.Dai,T.Luo,Y.Sun,and J.Zhou.Integrating Web Usage and Content Mining for More Effective Personalization.in Proceedings of the International Conference on E-Commerce and Web Technologies(ECWeb2000),September 2000,Greenwich,UK.,商品推荐系统开发案例(一),资源推荐系统,资源推荐系统,什么是资源推荐系统资源:泛指网络上存在的可共享的数字化信息。资源推荐系统:根据大量用户对众多资源访问(查询和使用)的历史记录,分析用户可能的兴趣所在,提供资源推荐服务,把用户尚未访问、但可能喜欢的资源推荐给用户。,资源推荐系统,推荐的方式用户自定义的个性化资源;把与用户访问过的资源类似的资源推荐给用户;把某些用户访问的资源推荐给与他们兴趣类似的用户。,资源推荐系统,开发任务构造出资源推荐系统的框架,分析各个模块的功能,给出实现的主要流程和细节。分析资源推荐中涉及的主要问题,给出参考的算法。构建一个模拟的应用环境,在该环境中演示资源推荐系统的主要功能和算法。,资源推荐系统,资源推荐的前提假设:用户的兴趣是比较稳定的用户的兴趣是比较稳定的,随时间变化的幅度是比较小的用户的兴趣是在不断变化的,尽管幅度比较小用户较近的对资源的访问能体现用户当前的兴趣时间效应假设:更新的资源具有更大的吸引力,资源推荐系统,如何发现用户兴趣?两个假设:如果一个用户经常访问某类资源,那么他很可能喜欢该类资源;如果一些用户经常访问类似的资源,那么他们的兴趣可能相同。,资源推荐系统,问题:如何进行推荐主要考虑的因素用户对资源类的偏好用户之间的相似度时间效应:兴趣的变化,资源的新颖用户对推荐的配合程度,资源推荐系统,参考定义1:用户的资源类的偏好:对某类资源的访问数量的相对大小作为偏好的程度。用户之间的相似度:当前相似度定义为:如果进一步考虑时间的因素可以考虑形成List of 以dateFactor(Date)的和作为相似度,资源推荐系统,参考定义2:时间效应:兴趣的变化,资源的新颖兴趣保持性依时间而衰减衰减系数,0=1时间效应:资源的新颖资源吸引力以时间而衰减衰减系数,0=1用户对推荐的配合程度用户对推荐资源的访问情况,资源推荐系统,主要数据结构1用户集合 Users;资源集合 Resource;系统访问日志 User Access Log:记录从某个日期(系统定义)开始用户对资源的访问历史;推荐资源访问日志 User Recommend Log:记录在某个日期(用户登录)用户对推荐资源的访问历史;用户-用户相似矩阵 User-User current-similarity matrix:记录从当前的日志计算出的用户与用户之间的相似程度;用户-用户相似系数矩阵 User-User similarity-confidence matrix(User-user similarity-index matrix):记录基于整个访问历史的用户与用户之间的相似性程度。,资源推荐系统,主要数据结构2用户推荐列表 User Recommend List:要推荐给某个用户资源列表;当前推荐列表Selected Recommend List:当前一次推荐给用户的资源列表;用户访问列表 User Access List:某个用户对资源访问的历史记录(从某个日期开始);推荐必要度向量 User recommend needity vector:描述对用户进行推荐的必要度;用户-资源类系数矩阵 User-resourceclass rate matrix:用户对各个资源类的偏好程度;,图:主要处理流程,图:主要流程框架,资源推荐系统,Refresh机制1.整理2.计算用户两两的相似性3.更新用户-资源类偏好系数矩阵4.把当前的相似性矩阵信息添加到相似性系数矩阵5.可以形成每个用户topN的列表,资源推荐系统,相似性系数的更新 更新信息来源一部分来自计算出来的当前相似性矩阵一部分来自用户对推荐列表的访问信息(可以考虑隐性的反馈)更新策略的制定,下面分别提供两类信息更新的参考方案,资源推荐系统,SimIndex的更新-当前相似性矩阵相似性系数体现的是用户的长期的相似性,是推荐的主要根据,我们作以下的假设:用户的兴趣是比较稳定的,随时间变化的幅度是比较小的用户的兴趣是在不断变化的,尽管幅度比较小用户较近的对资源的访问更能体现用户的兴趣这三条假设给策略的制定提供了一定的依据SimIndex=(1-a)*SimIndex+a*SimCurr0a=1a的大小表现的兴趣变化的快慢程度,eg.a=0.2,资源推荐系统,SimIndex的更新-用户对推荐列表的访问信息 这部分主要在于对用户行为的理解与把握上。可以定义promote()和depress()两个方法。参考算法如下:,if 用户未对推荐列表进行访问if 用户的推荐必要度比较高对所有推荐进行depress()考虑降低用户的推荐必要度else降低用户的推荐必要度endifelse对用户访问的推荐进行promote()也可以考虑对用户未访问的资源进行 depress()提高用户的推荐必要度endif,资源推荐系统,用户-资源类系数矩阵的更新 表示某个用户对各类资源的不同偏好以对某类资源的访问数量的相对大小作为偏好的程度(当然可以制定其他的策略)该矩阵的元素为A(user i,resourceclass j)=只要在refresh时,把用户对各类资源的访问次数添加到矩阵对应的元素中,并重新计算比例即可。,资源推荐系统,推荐列表的生成策略有以下几点考虑可以把优先级topN的资源作为推荐的对象;以优先级作为被推荐的概率的大小,进行随机的推荐;考虑时间因素,历史推荐表的资源的优先级应该随时间降低。,资源推荐系统,推荐列表的生成策略把历史推荐列表的资源优先级进行重置比如乘上一个衰减系数,去掉一些优先级很低的资源添加新的推荐资源根据最近一次推荐时间,从最相似的N个用户那里获得资源,并置以相应的优先级。优先级的设置策略可以参考如下:priority(i)=与用户j的相似度*所属资源类的Rate可以进行一定的归一化如果多个用户访问了同一个资源,对值进行累加,资源推荐系统,当前推荐列表的生成参考推荐策略以资源优先级的大小作为被加入当前推荐序列的概率,并把该资源从推荐列表中删除;形成M(eg.M=10)的当前推荐序列。,资源推荐系统,模拟用户交互操作行为1用户登录,记录 6根据产生对应的 2用户输入 7根据产生相关资源列表3用户访问资源 8添加到4用户对访问 9添加到5用户注销 10保存和,88/88,本讲结束,谢谢!,