Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Recommender Systems in E-Commerce

4,448 views

Published on

介绍电子商务推荐系统技术基础

  • Be the first to comment

Recommender Systems in E-Commerce

  1. 1. 电子商务推荐系统入门基础 出家如初,成佛有余 http://www.yeeach.com 2009年1月
  2. 2. 目 录 电子商务推荐系统简介 电子商务推荐系统算法基础 电子商务推荐系统算法介绍 2
  3. 3. 推荐系统简介-背景分析 随着电子商务的快速发展,电子商务系统中的信息“超载 ”现象越来越严重,面对商品信息的“海洋”,消费者很 难快速有效地挑选出他所需要的商品。在准确识别客户消 费偏好的基础上,电子商务推荐系统可以向客户提供商品 信息和建议,模拟销售人员帮助客户完成购买过程,从而 使客户避免信息“超载”所带来的麻烦 。 2009-2-1
  4. 4. 电子商务推荐系统定义 电子商务中的推荐系统(Recommendation Systems)是利 用统计学、人工智能数据挖掘等技术,分析访问者在电子 商务网站的访问行为,产生能帮助访问顾客访问感兴趣的 产品信息的推荐结果,引导顾客的购买行为,从而产生可 观的利润。 推荐结果的准确性是决定推荐系统成败的关键因素,如果 系统向客户推荐的商品是客户不需要的,那么客户就会对 推荐系统失去信心,把推荐信息当作垃圾信息 4
  5. 5. 电子商务推荐系统作用 增加网站的访问量,提升销售额 增加单个商品被访问的机会 增加顾客在网店上的停留时间,浏览更多的商品 帮助顾客发现他真正感兴趣的商品,提升购物体验 将电子商务网站的浏览者转变为购买者 提高电子商务网站的交叉销售能力 提高客户对电子商务网站的忠诚度 2009-2-1
  6. 6. 电子商务推荐系统作用 •People (Shoppers) 人(购物者) •Behavioral Targeting g g 行为定位 •Website •Collaborative optimization filtering 网站优化 协同过滤 •Most •Website Analytics •Catalog popular 网站分析 目录 products 最受欢迎的 产品 •Places (Websites) •Products (Targets) 地点(网站) 产品(目标)
  7. 7. 成功的推荐系统应用标杆 领域 推荐系统 电子商务 amazon.com,ebay.com,卓越(amazon.cn),当当(dangdang.com),淘宝 (taobao.com) 音乐 社区 潘多拉(pandora.com),last.fm,友播(yobo.com),cdnow.com,音乐八宝盒 潘多拉(pandora com) last fm 友播(yobo com) cdnow com 音乐八宝盒 (8box.cn),slacker .com,iLike .com,Genius (iTunes) 图书/图片社区 豆瓣(douban.com),,librarything.com,flickr.com, 社会化媒体 玩聚(j 690 del.icio.us,玩聚(ju690.com),techmeme.com,stumbleupon.com,reddit .com, d li i )th t bl ddit dailyme.com 电影社区 tivo.com,netflix.com,flixster.com, moviefinder.com,movieLens,reel.com 其他 strands .com,likecube .com,inSuggest .com,collarity .com,baynote com, stylefeeder .com
  8. 8. 电子商务推荐系统业务表现形式 Browsing:客户提出对特定商品的查询要求,推荐系统根 据查询要求返回高质量的推荐 Similar Item:推荐系统根据客户购物篮中的商品和客户 可能感兴趣的商品推荐类似的商品 Email:推荐系统通过电子邮件的方式通知客户可能感兴 趣的商品信息 Text Comments:推荐系统向客户提供其他客户对相应产 品的评论信息 2009-2-1
  9. 9. 电子商务推荐系统业务表现形式 Average Rating:推荐系统向客户提供其他客户对相应产 品的等级评价 Top-N:推荐系统根据客户的喜好向客户推荐最可能吸引 客户的N件产品 Ordered Search Results:推荐系统列出所有的搜索结果 ,并将搜索结果按照客户的兴趣降序排列 2009-2-1
  10. 10. 电子商务推荐系统数据源 Visitor Behavior Product Details Session States Historical Data、 历史数据 访问者行为 产品细节 停留状态 Visitor’s Past Clickstream Products Viewed Type of Web Page Shopping Behavior 点击流 浏览的产品 页面类型 访问者过去的购买 Location of Product Refer URL 行为 in Catalog URL指向 产品在目录中的位置 Aggregated Past Searches Brand Broadband Speed User’s Behavior 搜索 品牌 宽带速度 访问者过去购买行 Manufacturer IP Address 为汇总 IP地址 厂商 Visitor’s Past Duration of Page Descriptions Searches View 产品描述 访问者过去的搜索 页面浏览停留的时 Ratings 间 产品排行 Geography Order of Page Views 区域 页面浏览的顺序
  11. 11. 电子商务推荐系统输入数据1 客户输入(Targeted Customer Inputs) 隐式浏览输入(Implicit navigation):客户的浏览行为作为推荐系统的 输入,但客户并不知道这一点 显式浏览输入(Explicit navigation) :客户的浏览行为是有目的向推荐 系统提供自己的喜好 关键词和项目属性输入 :客户输入关键 关键词和项目属性输入(Keywords and Item attributes):客户输入关键 词或项目的有关属性以得到推荐系统有价值的推荐 用户购买历史(Purchase hi t ):用户过去的购买纪录 用户购买历史(P h history):用户过去的购买纪录 2009-2-1
  12. 12. 电子商务推荐系统输入2 社区输入(Community Inputs) 项目属性(Item Attribute):社团对商品风格和类别的集体评判 社团购买历史(Community Purchase History):社团过去的购买纪 录 文本评价(Text Comments):其他客户对商品的文本评价,计算机 并不知道评价是好是坏 评分(Rating):其他客户对商品的评分,计算机可以对评分进行处 理 2009-2-1
  13. 13. 电子商务推荐系统输出 建议(Suggestion) 单个建议(Single Item) 未排序建议列表(Unordered List) 排序建议列表(Ordered List) 预言(Prediction):系统对给定项目的总体评分 个体评分(Individual Rating):输出其他客户对商品的个体评分 评论(Review):输出其他客户对商品的文本评价 2009-2-1
  14. 14. 电子商务推荐系统推荐技术分类 基于内容过滤(Content-Based filt i ) 基于内容过滤(C t t B d filtering 基于内容过滤的电子商务推荐系统通过比较项(商品)之间的相似性而 不是用户之间的相似性实现推荐功能 基于协同过滤( Collaborative filtering ) Item-Based(Item-to-Item Correlation):推荐系统根据客户感兴 趣的产品推荐相关的产品 User-Based(People-to-People Correlation):推荐系统根据客户 与其他已经购买了商品的客户之间的相关性进行推荐 混和型( Hybrid Recommendation ) 基于协同过滤和基于内容过滤这两种技术都有它们本身的优缺点, 推荐系统就结合使用这两种技术,尽量利用它们的优点而避免其缺 推荐系统就结合使用这两种技术 尽量利用它们的优点而避免其缺 点,提高推荐系统的性能和推荐质量 2009-2-1
  15. 15. 电子商务推荐系统推荐技术分类 基于内容( Content-Based )过滤的推荐系统 基于内容过滤的推荐系统通过比较项(商品)之间的相似性而不是 用户之间的相似性实现推荐功能。其忽略用户的购买行为,它只考 虑商品和商品之间的相似关系 优点:简单,有效;建模和商品间的相似性度量可以脱机进行,因 而推荐响应时间快 缺点:难以区分商品信息的品质和风格,而且不能为用户发现新的 感兴趣的商品,只能发现和用户已有兴趣相似的商品 15
  16. 16. 电子商务推荐系统推荐技术分类 基于协同过滤( Collaborative filtering )技术的推荐系 统 基于协同过滤技术的电子商务推荐系统并不分析商品之间的相似 性,而是学习目标用户和历史用户之间购买行为的相似性,而不依 赖商品的特征,从而根据相似历史用户的购买行为生成推荐结果 优点:能为用户发现新的感兴趣的商品;不需要考虑商品的特征,任 何形式的商品都可以推荐 缺点:用户对商品的评价矩阵非常稀疏(即稀疏性问题);随着系统 用户和商品的增多,系统的性能会越来越低(即可扩展性问题);如 果从来没有用户对某一商品加以评价,则这个商品就不可能被推荐 (即最初评价问题)quot; 16
  17. 17. 电子商务推荐系统推荐技术分类 混和型( Hybrid Recommendation )推荐系统 由于基于协同过滤和基于内容过滤这两种技术都有它们本身的优 缺点,在实际应用中,一些推荐系统就结合使用这两种技术,尽量利 用它们的优点而避免其缺点,提高推荐系统的性能和推荐质量“比 如,为了克服协同过滤的稀疏性问题,可以利用用户浏览过的商品 预期用户对其他商品的评价,这样可以增加商品评价的密度,利用 这些评价再进行协同过滤,从而提高协同过滤的性能 17
  18. 18. 目 录 电子商务推荐系统简介 电子商务推荐系统算法基础 电子商务推荐系统算法介绍 18
  19. 19. 关联规则的基本概念 关联规则是数据挖掘研究的主要方法之一,侧重于确定数 据中不同领域之间的联系。 支持度和置信度总是伴随着关联规则存在的,它们是对关 联规则的必要的补充。 例:在销售手机的商店中,70%的包含手机的交易中包含充电器, 在所有交易中,有56%同时包含这两种物品。于是规则表示为 手机=>充电器 (support=56%, confidence= 70%) 其中的support=56%是说,在所有的销售中中同时包含手机销售和 充电器销售的概率。 confidence=70%是说,所有销售中,在出现手机销售的情况下出 现充电器销售的概率,即条件概率。 19
  20. 20. 关联规则的基本概念-支持度 支持度公式: support(A ⇒ B)=P(A ∪ B) 支持度揭示了A和B同时出现的频率,如果A和B一起出现的 频率非常小,那么就说明了A和B之间的联系并不大;但若 一起出现的频率非常频繁,那么A和B总是相关联。
  21. 21. 关联规则的基本概念-置信度 置信度公式:confidence(A ⇒ B)=P(B|A) 置信度揭示了A出现时,B是否一定会出现,如果出现则其 大概有多大的可能出现。如果置信度为100%,则说明了A出 现时,B一定出现。那么,对这种情况而言,假设A和B是 市场上的两种商品,就没有理由不进行捆绑销售了。 如果置信度太低,那么说明A和B关系并不大.
  22. 22. 相关分析的基本概念 相关分析(correlation analysis)是研究现象之间是否 存在某种依存关系,并对具体有依存关系的现象探讨其相 关方向以及相关程度,是研究随机变量之间的相关关系的 一种统计方法。 相关分析是用相关系数(r)来表示两个变量间相互的直 线关系,并判断其密切程度的统计方法。相关系数r没有 单位。在-1~+1范围内变动,其绝对值愈接近 1,两个变 量间的直线相关愈密切,愈接近0,相关愈不密切。相关 系数若为正,说明一变量随另一变量增减而增减,方向相 同;若为负,表示一变量增加、另一变 量减少,即方向 相反,但它不能表达直线以外(如各种曲线)的关系。 22
  23. 23. 相似性算法 余弦相似性(cosine-based similarity) r n ∑R r Rvi rr ui uv sim(u , v) = cos(u , v) = uu ur = i =1 r u×v n n ∑R ∑R 2 2 ui vi 相关相似性(Pearson相关系数 ) i =1 i =1 ∑ ( Rui − Ru )( Rui − Rv ) i∈I uv sim(u , v) = ∑ ∑ ( Rui − Ru ) 2 ( Rvi − Rv ) 2 i∈Iuv i∈Iuv 修正的余弦相似性(adjusted-cosine similarity) ∑ ( Rui − Ri )( Rui − Ri ) i∈I uv sim(u, v) = ∑ ∑ ( Rui − Ri ) 2 ( Rvi − Ri ) 2 i∈Iuv i∈Iuv
  24. 24. 分类分析( Classification ) 分类其目的是建立一个分类函数或分类模型(也称作分类 器),该模型能把数据 库的数据项映射到给定类别中的某 一个。分类是有指导的学习。根据设定的分组,将不同的 数据分配到不同的分组,然后研究每个组的特点。如客户 跳槽分析。 24
  25. 25. 聚类分析- Clustering 电子商务推荐系统中的聚类技术将具有相似爱好的客户分 配到相同的族中,聚类产生之后,根据族中其他客户对某 商品的评价就可以得到系统对该商品的评价 Clustering 是将数据分为几组,其目的是要将组与组之 间的差异找出来,同时也要将一个组之中的成员的相似性 找出来。 2009-2-1
  26. 26. Clustering VS. Classification 聚类分析(Clustering)与分类分析(Classification) 不同的是,你不晓得它会以何种方式或根据什么来分类。 所以你必须要有一个分析师来解读这些分类的意义。聚类 分析帮助我们决定将哪些组合更有意义。聚类是把一组个 体按照相似性归成若干类别, 即“物以类聚”。它的目 的是使属于同一类别的个体之间的距离尽可能地小,而不 同类别的个体间的距离尽可能地大。 26
  27. 27. 贝叶斯网络- Bayesian Network 电子商务推荐系统中的Bayesian网络技术利用训练集创建 相应的模型,模型用决策树表示,节点和边表示客户信息 模型的建立可以离线进行,一般需要数小时或数天,得到 的模型非常小,对模型的使用非常快 这种方法适合客户的兴趣爱好变化比较慢的场合 推荐精度和最近邻技术差不多 2009-2-1
  28. 28. 其他可用于推荐系统的数据挖掘技术 决策树: 分析不同的影响因素对分析目标的影响,找到关键的影响因素。 决策树法的优点是直观,但随着数据复杂性的提高,其分支树也 会增多,管理困难。 遗传算法 遗传算法是一种基于生物进化过程的组合优化方法。其基本思想 是:随着时间的更替,只有适合的物种才得以进化。将这种思想 用于数据挖掘就是根据遗传算法获得最适合的模型,并据此对数 据模型进行优化。 神经网络 神经网络从经验中学习,常用于发现一组输入数据和一个结果之 间的未知联系。 28
  29. 29. 目 录 电子商务推荐系统简介 电子商务推荐系统算法基础 电子商务推荐系统算法介绍 29
  30. 30. 推荐系统一般框架 推荐系统一般框架 •推荐方法 •候选对象 •推荐对象
  31. 31. 协同过滤主要步骤 •输入用户评价矩阵 •计算最近邻居 •产生推荐
  32. 32. 基于关联规则的推荐算法 常用关联规则算法 Apriori,AprioriTid,DHP,FP-tree等 基本算法: 使用关联规则发现算法找出所有满足最小支持度和最小置信度的关联规 则R 找出R中所有被客户支持的关联规则R1,即关联规则左边的所有商品都 被客户购买 找出被关联规则R1所预测并且没有被客户所购买的所有商品P 根据P中商品在关联规则R1中的置信度排序,如果某商品被多个规则预 测,则取置信度最大者作为排序依据,挑选前N个商品作为算法输出 2009-2-1
  33. 33. 基于User-Based的协同过滤 基本思想:使用统计技术寻找与目标客户有相同喜好的邻 居;然后根据目标客户多个邻居的观点产生向目标客户的 推荐 基本步骤: 表示(Representation):对客户已经购买的商品进行建模 邻居形成(Neighborhood Formation):寻找目标客户所对应的邻 居 推荐产生(Recommendation Generation):从目标客户的邻居中 产生N项产品推荐 33
  34. 34. User-Based的用户相似度算法 n ∑R rr Rvi 余弦相似性 rr ui uv sim(u, v) = cos(u , v) = uu ur = i =1 r u×v n n ∑R ∑R 2 2 ui vi i =1 i =1 相关相似性(Pearson相关系数 ) ∑ ( Rui − Ru )( Rui − Rv ) i∈I uv sim(u , v) = ∑ ∑ ( Rui − Ru ) 2 ( Rvi − Rv ) 2 i∈Iuv i∈Iuv 修正的余弦相似性 ∑ ( Rui − Ri )( Rui − Ri ) i∈I uv sim(u , v) = ∑ ∑ ( Rui − Ri ) 2 ( Rvi − Ri ) 2 i∈I uv i∈Iuv
  35. 35. User-Based的相似性算法-余弦相似性 Similarity b t Si il it between items i & j is computed it i td by isolating the users who have rated them and then applying a similarity computation technique. Cosine-based Cosine based Similarity – items are vectors in the m dimensional user space (difference in rating scale between users is not taken into account).
  36. 36. d的相似性算法 相关相似性 User-Based的相似性算法-相关相似性 U B Correlation-based Similarity - using the Pearson-r correlation (used only in cases P l ti ( d li where the uses rated both item I & item j). R(u,i) = rating of user u on item i. R(i) = average rating of the i-th item.
  37. 37. User-Based的相似性算法-修正的余弦相似性 Adjusted Cosine Similarity – each pair in the co-rated set corresponds to a different user. td t dt diff t (takes care of difference in rating scale). R(u,i) = rating of user u on item i. R(u) = average of the u-th user.
  38. 38. 基于User-Based的协同过滤-推荐算法 由目标客户的邻居产生N件商品推荐,可以采用如下两种 不同方法产生推荐 最频繁项目推荐(Most-frequent Item Recommendation) 扫描目标客户每一个邻居的购买数据,对其购买的商品进行计数 ,选择出现频率最高且目标客户没有购买的前N件商品最为推荐 结果 基于关联的推荐(Association Rule-based Recommendation): 类似于基于关联规则的推荐算法,只是将目标客户的邻居作为算 法的输入 38
  39. 39. 基于Item-based协同过滤算法 基本思路 根据目标客户已经评价过的项目与目标项目的相似性,选择k个最 相似的项目{i1, i2, ……, ik},同时得到k个最相似的项目与目标项 目的相似度,记为{si1, si2, ……, sik},然后将目标客户对这k个最相 似的项目的评分及这k个最相似的项目与目标项目的相似度的加权 平均值作为对目标项目的评分 基本假设:能够引起用户兴趣的项,必定与其之前评分高的相似 基本步骤 1)得到User-item的评分数据; 2)针对项的最近邻搜索,即对项进行相似度计算; 3)产生推荐。但相对于 User-based 方法,Item-based 方法最 大的改进是提高了协同过滤方法的扩展性及性能。 39
  40. 40. 基于Item-based协同过滤-相似性算法 计算项目i和j之间的相似性: 从所有的用户中分离出同时对项目 和项目j进行评价的用户 从所有的用户中分离出同时对项目i和项目j进行评价的用户 根据上面得到的数据计算项目i和项目j的相似性 2009-2-1
  41. 41. 基于Item-based协同过滤-相似性算法 n ∑R rr Rvi 余弦相似性 rr ui uv sim(u, v) = cos(u , v) = uu ur = i =1 r u×v n n ∑R ∑R 2 2 ui vi i =1 i =1 相关相似性(Pearson相关系数 ) ∑ ( Rui − Ru )( Rui − Rv ) i∈I uv sim(u , v) = ∑ ∑ ( Rui − Ru ) 2 ( Rvi − Rv ) 2 i∈Iuv i∈Iuv 修正的余弦相似性 ∑ ( Rui − Ri )( Rui − Ri ) i∈I uv sim(u , v) = ∑ ∑ ( Rui − Ri ) 2 ( Rvi − Ri ) 2 i∈I uv i∈Iuv
  42. 42. 基于Item-based协同过滤-推荐算法 基于Item based协同过滤 推荐算法 基于内容的推荐,即为用户对项目的兴趣度 Pui = R (U u , Di ) 协同过滤推荐 ∑ sim(u , n) × ( Rni − Rn ) Pui = Ru + n∈NBS ∑ sim(u , n) n∈NBS sim(u,n)表示用户u与用户n之间的相似性, 表示用户n对项目i的评分(这里即兴趣度), Rni 和n 分别表示用户u和用户n对项目的平均评分。 Ru R NBS表示用户的最近邻居集
  43. 43. Slope One-简单高效的推荐算法 基本思路 平均值也可以代替某两个未知个体之间的打分差异,事物A对事物 B的平均很差是:((3 - 4) + (2 - 4)) / 2 = -1.5,也就是说 人们对事物B的打分一般比事物A的打分要高1.5,于是Slope one 算法就猜测Z对事物B的打分是4 + 1.5 = 5.5 43
  44. 44. Slope One-简单高效的推荐算法 加权算法 有n个人对事物A和事物B打分了,R(A->B)表示这n个人对A和对B打分的平 均差(A-B),有m个人对事物B和事物C打分了,R(C->B)表示这m个人对 C和对B打分的平均差(C-B),注意都是平均差而不是平方差,现在某个 用户对A的打分是ra,对C的打分是rc,那么A对B的打分可能是: rb = (n * (ra - R(A->B)) + m * (rc - R(C->B)))/(m+n) 参考资料 http://en.wikipedia.org/wiki/Slope_One 44
  45. 45. 参考资料 Wiki: http://en.wikipedia.org/wiki/Collaborative_filtering http://en.wikipedia.org/wiki/Web_analytics http://en.wikipedia.org/wiki/Recommendation_system 图书 Programming Collective Intelligence: Building Smart Web 2.0 Applications Web Analytics: An Hour a Day Data Mining:Concepts and Techniques Mining the Web:Transforming Customer Data into Cutomer Value Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management 45
  46. 46. 参考资料 开源项目 Open Source Collaborative Filtering Written in Java Carrot2 Clustering Engine Weka 3: Data Mining Software in Java Taste 46
  47. 47. 参考资料 Blog http://glinden.blogspot.com/ http://guwendong.cn/ http://www.weigend.com/ http://www.chinawebanalytics.cn/ 数学之美系列 Mining Social Data for Fun and Insight 47
  48. 48. 谢 谢! 48

×