推荐系统实践 项亮
2020-02-27 418浏览
- 1.
- 2.
- 3.错误!文档中没有指定样式的文字。 1 1 序一 2 推荐在今天互联网的产品和应用中被广泛采用,包括今天大家经常使用的相关搜索、话题推 荐、电子商务的各种产品推荐、社交网络上的交友推荐等。但是,至今还没有一本书从理论上对 它进行系统地分析和论述。《推荐系统实践》这本书恰恰弥补了这个空白。 该书总结了当今互联网主要领域、主要公司、各种和推荐有关的产品和服务,包括: 亚马逊的个性化产品推荐; 3 Netflix的视频和DVD推荐; Pandora的音乐推荐; Facebook的好友推荐; Google Reader的个性化阅读; 各种个性化广告。 4 书的名称虽然是《推荐系统实践》,但作者也阐述了和推荐系统有关的理论基础和评价推荐 系统优劣的各种标准与方法,比如覆盖率、满意度、AB测试等。由于这些评估很大程度上取决于 对用户行为的分析,因此本书也介绍了用户行为分析方法,并且给出了计算机实现的算法。 本书对有兴趣自己开发推荐系统的读者给出了设计和实现推荐系统的方法与技巧,非常具有 指导意义。 本书文笔流畅,可读性较高,是一部值得推荐给IT从业人员的优秀参考书。 5 ——吴军 腾讯副总裁,《数学之美》和《浪潮之巅》作者 6 7
- 4.错误!文档中没有指定样式的文字。 1 1 序 2 的书 了。开 作这本书 , 的 是作者,但交 , 了 人。这 了 流 的一个 大 的 子: , , 书 人, 也可 并 为一 。 书, , 然 应。 公司的 友 有没有兴趣参与 一本推荐系统方 的 推荐技 在互联网领域的应用 广泛,但对相关技 系统介绍的 3 书 非常 ,相关的 文书 是 本。但一方 ,对 读者 是 个 题, 一方 ,这些书大 人员为 标读者,并 推荐技 的 。 参与 补这 空白, 乐 为 书开 的 一 个 , 的 的 ,但 各种 为 人 的 务 至 , 在 作上的 , 应要补 , 了了 ,一 自己 这本书 。 的 ,也因为 作 标和本 4 书 的 没法 进 了。这种 , 实在 好意 在作者 了, 有机 了这 。 , Netflix推荐算法 ,虽然 自己 得 自己 在 。 这 ,非常 地 了 计的技 人员 决 一个技 题,并且 决方 公 出 。这为这个领域的 程人员和 人员 意的 了 ,因 产 了很 有价 值的 方法,使很 被 家 的技 被 广泛地 开 ,使 家 读 5 的方法、 算法 的 被 地发 出 。 在Netflix 中有非常出 的 现,书中总结了很 在Netflix 相关 和 程 作中 的分析 与设 计算法的 。虽然 一 在 推荐技 的发 ,在书中 然 很 本 了 的方法,相 读者读 本书也 。 在大家一 论的 程中, 非常 的书 《 经常 程》 一本非常流行的书, 《 实用, 些对推荐技 程》。 理6 了 的读者 实现自己的推荐系统。出于这个 的,本书 可 地用 和 与读者 交流, 可 地用 的 论 公 ,这对于大 程技 人员 应该是 为 乐 的 。 一方 ,可 是因为 的 ,大 论文 推荐 题 评分 测 题, 实 应用中 常 的是TopN推荐,虽然TopN推荐 题可 评分 题,但并 是 种评分 测算法 用 决TopN推荐 题。本书大部分 在 论TopN推荐 题, 这 的 对实 应用的实现应该 大一 。 ,本书比较系统地 论了 推荐技 应 7
- 5.2 用 实应用 常 的 题, 可 些有机 经 的技 人员 了 推 荐技 。 一 , 大 互联网公司对个性化服务 视, 个性化技 的 业公 司也在 现,个性化的 方兴 ,相 本书 的技 人员 于这一技 。 本书的 , ,虽然 的 , 实 有这 。 ——
- 6.错误!文档中没有指定样式的文字。 1 1 序 2 的 ,可 2010 6 有 大家 论《推荐系统实践》一书 结 的 。实 上 的 论比这还 , 且从 得一 的 在 的 上开 ,一 了 。 论的 在于为 要 一本关于推荐系统的书、从 度 给。 一个 题相对好 。推荐系统是 互联网 常 的 产品 。从电子商务、 3 音乐视频网 , 作为互联网经 的在 广告和 的在 应用推荐, 有推荐系统的 。这些网 和业务的开 者大 是 的 程 , 者有 于 互联网行业的 。 虽然 并非 有相关 的 ,也并非 有在 业中 的经 ,但是大家 的 , 且 满 对 发 推荐系统的 。因此参与 论的 友 从实践者的 度 这本书, 给 一 和实践的 友 。 论并 是空 。在此 , wiki系统, 一发 在上 ,一些 友 开 。经 一的 , 了一个 4 了本书的 。 是在2009 ,当 还是中 的一名 ,一方 参与Netflix 和 推荐系统比 并取得了 的 ,一方 参与 了recsys 。作为一个有 很 业 公司 的 交流 ,recsys在 了很 和程。 业 进 Hulu公司,开 了 业 推荐系统的开发 作,并一如 地 意 、总结和分 。 5 在recsys 了一 关于并行机 技 的 告 , 介绍 了本书的 主要 者。 ,大家 开 本书的 作。 的经 在很大程度上决 了本书的 作 标: 在 了 推荐系统的业 和应用, 方; 程 总结各 方法, 开发出一个推荐系统并 优化 。 推荐系统是一个很大的话题。各种在 至部分 应用中, 有各 各 系统, 论文推荐,大 用户兴趣 的在 广告系统。在 ,相关的 标 一的推荐 可 6 。实 上, 大家还在 论 的机 方法可 给推荐系统 的 化。可是,本书 论是 一本 ,还是一部产品大 , 空泛的 ,对大家 有 。因此, 作者 了大 在 结 上, 覆盖推荐系统的 要 题, 个题 有实 产品介绍,也有技 介绍。为了 可读性,本书 在常 方法和技 ,非 介绍各种 和 。为了 可 作性, 要的算法 有 Python 的 7
- 7.2 程。 ,这本实践者 本书的出 和 的技 方法。 给实践者的书, 的 友一 的是作者对 考 和 大 , 大 的 方,是 的 。 的互联网应用 腾讯 —— 中总
- 8.错误!文档中没有指定样式的文字。 1 1 2 本书,还要 2010 3 的ResysChina推荐系统大 。在 上, 了 。 的一些推荐系统方 的 , 总结总结, 本 的书。 当 还没有推荐系统方 的书, 经有这方 的 业书了,因此 公司很 出 一 本介绍推荐系统的书。 , 7 于是准 开 这本书。 业, 有 可 总结一 这方 的 作了, 3 这本书的 的有 个。 ,从个人 度 ,虽然 论文 经总结了读 在推荐系统方 的 作,但并没有 部 个推荐系统的各个方 ,因此 很 作这 本书 地阅读一 相关的文 ,并在此基础上总结一 推荐系统各个方 的发 现 , 大家 参考。 , 从 推荐系统 的人 ,这些人中有些 是 程 ,对机 和 实现推荐系统 了 ,有些是在 。因此, ,虽然对 和机 有 了 , 对业 如 4 本书 程 了 推荐系统的相关算法, 了 如 自己了 的算法实现 一个 实的 业系统中 。 一 为,推荐系统这个 领域 于 算法的 出。这 ,推荐系统 20 了。这 ,很 者和公司对推荐系统的发 了 要的推 作用,各种各 的推荐算法 也 出 。本书 这20 的 方法进行总结。但由于方法 ,这些方法的 有很 的方 。比如,可 分 、 、社 化 ,也可 算5 法分 基于 域的算法、基于 的算法、基于 分 者 率 的算法。为了方 读者 , 本书基本采用 分 的方法, 一 介绍了一种可 用于推荐系统设计的、 的用户 ,然 介绍如 各种方法 用该 , 在公开 上评测这些方法。当然, 是 有 有公开的 ,并且 是 有算法 可 进行 评测。因此,在 没有 法进行 评测的 题 ,本书 用了一些 名 者的实 结 为了使本书 程 和在 阅读,本书在 作中 各种方法的 。 使用了 种介绍方法。一种 6 是 用公 ,这 方 有一些理论基础的 很 白算法的 义。 一种是 用 ,这 可 方程 了 算法的 义。 因为本人是 出 , 程经 还 是 ,有 些 得是 ,还 程 。 本书一开 的 有3 作者, 了 还有 的 义和 的 。 是 这方 的 ,在 作 程中 出了很 的意 。但因为 要由 。但书中的很 论述 了大家的 和经 ,是 作实在 , 本书主 很 论的结 。因此在这 7
- 9.2 和义 ,还要 , 出了很 书,对这本书 意。 的 作者,虽然 没有 为本书作 。 的意 。 在Hulu的 出 可没, 和 子, 在 作 笔,但对这本书 出了很大的 。 文、 、 天各自 阅了书中部分 和 , 给了 分的 这本 阅了书中的部分 , 出了很 有价值的 程中给 了很大 , 的 出。
- 10.1 2 目录 3 4 第 1 章 好的推荐系统 ....................................... 1 1.1 是推荐系统........................................... 1 1.2 个性化推荐系统的应用............................... 4 1.2.1 .......................................... 4 1.2.2 和 ............................... 8 1.2.3 ..................... 10 2.5.1 2.5.2 ........................................ 64 LFM 的 的 ....... 70 5 2.5.3 LFM 和 的 的 .... 72 2.6 基于 的 ............................................ 73 6 2.6.1 数的 ......... 73 2.6.2 的 ......................... 73 7 1.2.4 1.2.5 1.2.6 1.2.7 ........................................ 12 .................................... 15 的 ............................. 16 .................................... 17 第3章 3.1 3.2 推荐系统冷启动问题 ........................ 78 题 介 ........................................ 78 用用户 ..................................... 79 8 1.2.8 .................................... 18 3.3 的 品 用户的兴趣............. 85 9 1.3 推荐系统评测 ............................................ 19 3.4 用 品的 ................................. 89 1.3.1 ......................... 20 3.5 发 家的作用 ........................................ 94 10 1.3.2 1.3.3 指 ........................................ 23 ........................................ 34 第 4 章 利用用户标签数据............................. 96 4.1 UGC 标 系统的 应用 ....................... 97 11 第 2 章 利用用户行为数据............................. 35 2.1 用户行为 介..................................... 36 2.2 用户行为分析 ............................................ 39 4.1.1 Delicious ......................................... 97 4.1.2 CiteULike ....................................... 98 4.1.3 Last.fm ............................................ 98 12 4.1.4 ................................................ 99 2.2.1 和 的 ................................................ 39 4.1.5 Hulu ................................................ 99 4.2 标 系统中的推荐 题........................... 100 13 2.2.2 和 的 ................................................ 41 4.2.1 4.2.2 ................... 100 ........................... 101 14 2.3 实 设计和算法评测................................. 41 4.2.3 样的 ................... 102 2.3.1 数 2.3.2 ............................................ 42 ........................................ 42 4.3 基于标 的推荐系统............................... 103 15 4.3.1 ...................................... 104 2.3.3 指 ........................................ 42 2.4 基于 域的算法......................................... 44 4.3.2 4.3.3 的 的 ....................... 105 .................................. 107 16 2.4.1 的 ............. 44 4.3.4 的 ....................... 110 2.4.2 的 ............. 51 4.3.5 的 ................... 112 17 2.4.3 UserCF 和 ItemCF 的 ...... 59 4.4 给用户推荐标 ...................................... 115 2.5 义 ................................................ 64 4.4.1 ........... 115 18
- 11.2 4.4.2 ................... 115 4.4.3 ...................................... 116 4.4.4 的 ............... 119 4.5 阅读 .................................................. 119 第 5 章 利用上下文信息 ............................... 121 5.1 上 文 ...................................... 122 5.1.1 .............................. 122 5.1.2 .............................. 123 5.1.3 的 ................... 125 5.1.4 的 ....................... 127 5.1.5 的 样 ............... 128 5.1.6 文 ................... 130 5.1.7 .............................. 134 5.1.8 ...................................... 136 5.2 地 上 文 ...................................... 139 5.3 阅读 .................................................. 143 第 6 章 利用社交网络数据........................... 144 6.1 取社交网络 的 ....................... 144 6.1.1 ...................................... 145 6.1.2 .............................. 146 6.1.3 的 数 ........................... 146 6.1.4 和 .............................. 146 6.1.5 .............................. 147 6.1.6 ...................................... 147 6.2 社交网络 介................................... 148 数 中的 ................... 149 6.3 基于社交网络的推荐............................... 150 6.3.1 的 ....... 151 6.3.2 的 ........... 152 6.3.3 中的 .............................................. 153 6.3.4 和 ...................................... 155 6.3.5 .................................. 156 6.4 给用户推荐好友 ...................................... 159 6.4.1 6.4.2 的 ........................... 161 的 ........... 161 6.4.3 的 ....... 161 6.4.4 的 .............................................. 164 6.5 阅读 .................................................. 165 第 7 章 推荐系统实例 ................................... 166 7.1 .................................................. 166 7.2 推荐系统 .......................................... 167 7.3 推荐 的 ...................................... 171 7.3.1 7.3.2 ....................... 172 .................... 173 7.3.3 ...................................... 174 7.3.4 ...................................... 174 7.4 阅读 .................................................. 178 第 8 章 评分预测问题 ................................... 179 8.1 实 方法 .......................................... 180 8.2 评分 测算法 .......................................... 180 8.2.1 .......................................... 180 8.2.2 的 ........................... 184 8.2.3 ....... 186 8.2.4 .............................. 192 8.2.5 ...................................... 193 8.2.6 Netflix Prize 的 ..... 195 后记....................................................................... 196
- 12.1 2 目录 3 4 图 1-1 推荐系统的基本任务是联系用户和物品,解决信息过载的问题........................................................... 2 5 图 1-2 推荐系统常用的 3 种联系用户和物品的方式 .......................................................................................... 3 图 1-3 亚马逊的个性化推荐列表.......................................................................................................................... 4 6 图 1-4 单击 Fix this recommendation 按钮后打开的页面..................................................................................... 5 图 1-5 基于 Facebook 好友的个性化推荐列表..................................................................................................... 6 7 图 1-6 相关推荐列表,购买过这个商品的用户经常购买的其他商品............................................................... 6 图 1-7 相关推荐列表,浏览过这个商品的用户经常购买的其他商品............................................................... 7 8 图 1-8 亚马逊的打包销售界面.............................................................................................................................. 7 图 1-9 Netflix 的电影推荐系统用户界面.............................................................................................................. 8 图 1-10 视频网站 Hulu 的个性化推荐界面 .......................................................................................................... 9 9 图 1-11 Pandora 个性化网络电台的用户界面 .................................................................................................... 10 图 1-12 Last.fm 个性化网络电台的用户界面 ..................................................................................................... 11 10 图 1-13 豆瓣个性化网络电台的用户界面 .......................................................................................................... 11 图 1-14 Clicker 利用好友的行为给用户推荐电视剧.......................................................................................... 13 11 图 1-15 用户在 Facebook 的信息流..................................................................................................................... 14 图 1-16 不同社交网站中好友推荐系统的界面 .................................................................................................. 14 图 1-17 Google Reader 社会化阅读 ..................................................................................................................... 15 12 图 1-18 Zite 个性化阅读界面............................................................................................................................... 16 图 1-19 FourSquare 的探索功能界面 .................................................................................................................. 17 13 图 1-20 Gmail 的优先级邮箱 ............................................................................................................................... 18 图 1-21 Facebook 让广告商选择定向投放的目标用户 ...................................................................................... 19 14 图 1-22 推荐系统的参与者.................................................................................................................................. 19 图 1-23 AB 测试系统 ........................................................................................................................................... 22 15 图 1-24 Hulu 让用户直接对推荐结果进行反馈,以便度量用户满意度.......................................................... 24 图 1-25 豆瓣网络电台通过红心和垃圾箱的反馈来度量用户满意度............................................................... 24 图 1-26 不同网站收集用户评分的界面 .............................................................................................................. 25 16 图 1-27 Epinion 的信任系统界面 ........................................................................................................................ 31 图 2-1 当当网在用户浏览《数据挖掘导论》时给用户推荐“购买本商品的顾客还买过”的书 ................. 36 17 图 2-2 各种显性反馈界面.................................................................................................................................... 37 图 2-3 物品流行度的长尾分布............................................................................................................................ 40 18
- 13.2 图 2-4 用户活跃度的长尾分布............................................................................................................................ 40 图 2-5 MovieLens 数据集中用户活跃度和物品流行度的关系 ......................................................................... 41 图 2-6 用户行为记录举例.................................................................................................................................... 45 图 2-7 物品—用户倒排表...................................................................................................................................... 47 图 2-8 Digg 的 My News 界面 ............................................................................................................................. 51 图 2-9 亚马逊提供的用户购买 iPhone 后还会购买的其他商品........................................................................ 52 图 2-10 Hulu 的个性化视频推荐 ......................................................................................................................... 52 图 2-11 一个计算物品相似度的简单例子 .......................................................................................................... 54 图 2-12 一个简单的基于物品推荐的例子 .......................................................................................................... 56 图 2-13 UserCF 和 ItemCF 算法在不同 K 值下的召回率曲线........................................................................... 61 图 2-14 UserCF 和 ItemCF 算法在不同 K 值下的覆盖率曲线........................................................................... 62 图 2-15 UserCF 和 ItemCF 算法在不同 K 值下的流行度曲线........................................................................... 62 图 2-16 两个用户在豆瓣的读书列表.................................................................................................................. 65 图 2-17 雅虎首页的界面...................................................................................................................................... 71 图 2-18 用户物品二分图模型.............................................................................................................................. 73 图 2-19 基于图的推荐算法示例.......................................................................................................................... 74 图 2-20 PersonalRank 的简单例子....................................................................................................................... 75 图 2-21 不同次迭代中不同节点的访问概率 ...................................................................................................... 76 图 3-1 Pandora 的用户注册界面.......................................................................................................................... 79 图 3-2 IMDB 中不同美剧的评分用户的性别分布 ............................................................................................. 80 图 3-3 一个基于用户人口统计学特征推荐的简单例子 .................................................................................... 81 图 3-4 Lastfm 数据集中男女用户的分布............................................................................................................ 84 图 3-5 Lastfm 数据集中用户年龄的分布............................................................................................................ 84 图 3-6 Lastfm 数据集中用户国家的分布............................................................................................................ 84 图 3-7 Jinni 在新用户登录推荐系统时提示用户需要给多部电影评分 ............................................................ 86 图 3-8 Jinni 让用户选择自己喜欢的电影类别.................................................................................................... 86 图 3-9 Jinni 让用户对电影进行评分的界面 ....................................................................................................... 87 图 3-10 给用户选择物品以解决冷启动问题的例子 .......................................................................................... 88 图 3-11 关键词向量的生成过程.......................................................................................................................... 90 图 3-12 通过 LDA 对词进行聚类的结果 ............................................................................................................ 93 图 3-13 Jinni 中专家给《功夫熊猫》标注的基因.............................................................................................. 94 图 4-1 推荐系统联系用户和物品的几种途径 .................................................................................................... 96 图 4-2 Delicious 中被打上 recommender 和 system 标签的网页........................................................................ 97 图 4-3 Delicious 中“豆瓣电台”网页被用户打的最多的标签 ........................................................................ 97 图 4-4 CiteULike 中一篇论文的标签 .................................................................................................................. 98 图 4-5 Last.fm 中披头士乐队的标签云............................................................................................................... 98 图 4-6 豆瓣读书中《数据挖掘导论》一书的常用标签 .................................................................................... 99 图 4-7 Hulu 中《豪斯医生》的常用标签 ........................................................................................................... 99 图 4-8 标签流行度的长尾分布.......................................................................................................................... 101 图 4-9 著名美剧《豪斯医生》在视频网站 Hulu 上的标签分类..................................................................... 102
- 14.3 图 4-10 Jinni 让用户对编辑给的标签进行反馈................................................................................................ 110 图 4-11 简单的用户—物品—标签图的例子 ........................................................................................................ 111 图 4-12 SimpleTagGraph 的例子 ....................................................................................................................... 111 2 图 4-13 豆瓣读书的个性化推荐应用“豆瓣猜”的界面 ................................................................................ 112 图 4-14 Last.fm(左)和豆瓣(右)的标签推荐系统界面 ............................................................................ 115 图 4-15 豆瓣给我推荐的《MongoDB 权威指南》一书的标签....................................................................... 118 3 图 5-1 sourcetone.com 个性化音乐推荐系统,该图右侧的圆盘可以让用户选择现在的心情 ..................... 122 图 5-2 facebook、twitter 和 myspace 3 个词的搜索变化曲线.......................................................................... 123 4 图 5-3 手机品牌的搜索量变化曲线.................................................................................................................. 124 图 5-4 一些食品相关搜索词的搜索量变化曲线 .............................................................................................. 124 5 图 5-5 不同数据集中物品流行度和物品平均在线时间的关系曲线............................................................... 126 图 5-6 相隔 T 天系统物品流行度向量的平均相似度 ...................................................................................... 127 图 5-7 推荐系统实时性举例.............................................................................................................................. 128 6 图 5-8 时间段图模型示例.................................................................................................................................. 134 图 5-9 BlogSpot 数据集的召回率和准确率曲线 .............................................................................................. 137 7 图 5-10 NYTimes 数据集的召回率和准确率曲线............................................................................................ 137 图 5-11 SourceForge 数据集的召回率和准确率曲线 ....................................................................................... 138 8 图 5-12 Wikipedia 数据集的召回率和准确率曲线........................................................................................... 138 图 5-13 YouTube 数据集的召回率和准确率曲线 ............................................................................................ 139 9 图 5-14 左图是大众点评提供的附近商户推荐,右图是街旁网提供的探索功能界面 ................................. 140 图 5-15 Hotpot 地点推荐界面............................................................................................................................ 140 图 5-16 一个简单的利用用户位置信息进行推荐的例子 ................................................................................ 142 10 图 6-1 Facebook 提供的导入电子邮件好友的方式.......................................................................................... 145 图 6-2 Facebook 在用户注册时让用户提供的一部分信息 .............................................................................. 146 11 图 6-3 社交网络(Slashdot)中用户入度的分布 ............................................................................................ 149 图 6-4 社交网络(Slashdot)中用户出度的分布 ............................................................................................ 149 12 图 6-5 视频推荐网站 Clicker 利用 Facebook 好友信息给用户推荐视频........................................................ 150 图 6-6 亚马逊利用 Facebook 好友信息给用户推荐商品 ................................................................................. 150 图 6-7 社交网络图和用户物品二分图的结合 .................................................................................................. 152 13 图 6-8 融合两种社交网络信息的图模型 .......................................................................................................... 153 图 6-9 Twitter 的用户信息流 ............................................................................................................................. 156 14 图 6-10 Facebook 的用户信息流 ....................................................................................................................... 157 图 6-11 Jilin Chen 的用户调查实验结果........................................................................................................... 159 15 图 6-12 Twitter 的好友推荐界面 ....................................................................................................................... 159 图 6-13 LinkedIn 的好友推荐界面 .................................................................................................................... 160 16 图 6-14 Facebook 的好友推荐界面.................................................................................................................... 160 图 6-15 新浪微博利用用户的学校、公司、位置、标签给用户推荐好友..................................................... 161 图 7-1 推荐系统和其他系统之间的关系 .......................................................................................................... 166 17 图 7-2 3 种联系用户和物品的推荐系统 ........................................................................................................... 168 图 7-3 基于特征的推荐系统架构...................................................................................................................... 168 18
- 15.4 图 7-4 亚马逊同时给用户推荐电子产品和图书 .............................................................................................. 169 图 7-5 亚马逊的社会化推荐结果中包含了各种物品 ...................................................................................... 170 图 7-6 亚马逊给用户推荐最新加入的物品 ...................................................................................................... 170 图 7-7 豆瓣电台考虑用户来源的上下文(该页面地址链接中加入了 context 参数) ............................ 170 图 7-8 推荐系统的架构图.................................................................................................................................. 171 图 7-9 推荐引擎的架构图.................................................................................................................................. 172 图 7-10 相关物品之间流行度之间的关系 ........................................................................................................ 176 表 1-1 使用了 Facebook Instant Personalization 工具的网站 ............................................................................. 13 表 1-2 离线实验的优缺点.................................................................................................................................... 21 表 1-3 获取各种评测指标的途径........................................................................................................................ 33 表 2-1 显性反馈数据和隐性反馈数据的比较 .................................................................................................... 37 表 2-2 各代表网站中显性反馈数据和隐性反馈数据的例子 ............................................................................ 38 表 2-3 用户行为的统一表示................................................................................................................................ 38 表 2-4 MovieLens 数据集中 UserCF 算法在不同 K 参数下的性能................................................................... 48 表 2-5 两种基础算法在 MovieLens 数据集下的性能 ........................................................................................ 48 表 2-6 MovieLens 数据集中 UserCF 算法和 User-IIF 算法的对比.................................................................... 50 表 2-7 利用 ItemCF 在 MovieLens 数据集上计算出的电影相似度 .................................................................. 54 表 2-8 MovieLens 数据集中 ItemCF 算法离线实验的结果 ............................................................................... 57 表 2-9 MovieLens 数据集中 ItemCF 算法和 ItemCF-IUF 算法的对比.............................................................. 58 表 2-10 MovieLens 数据集中 ItemCF 算法和 ItemCF-Norm 算法的对比......................................................... 59 表 2-11 UserCF 和 ItemCF 优缺点的对比........................................................................................................... 61 表 2-12 惩罚流行度后 ItemCF 的推荐结果性能 ................................................................................................ 63 表 2-13 MovieLens 数据集中根据 LFM 计算出的不同隐类中权重最高的物品.............................................. 69 表 2-14 Netflix 数据集中 LFM 算法在不同 F 参数下的性能 ............................................................................ 70 表 2-15 MovieLens 数据集中 PersonalRank 算法的离线实验结果 ................................................................... 76 表 3-1 年轻用户和老年用户经常看的图书的列表 ............................................................................................ 83 表 3-2 年轻用户比例最高的 5 本书和老年人比例最高的 5 本书..................................................................... 83 表 3-3 4 种不同粒度算法的召回率、准确率和覆盖率 ..................................................................................... 85 表 3-4 常见物品的内容信息................................................................................................................................ 89 表 3-5 MovieLens/GitHub 数据集中几种推荐算法性能的对比 ........................................................................ 91 表 4-1 Delicious 和 CiteULike 数据集的基本信息 ........................................................................................... 103 表 4-2 Delicious 和 CiteULike 数据集中最热门的 20 个标签.......................................................................... 103 表 4-3 基于标签的简单推荐算法在 Delicious 数据集上的评测结果 ............................................................. 107 表 4-4 Delicous 和 CiteULike 数据集上 TagBasedTFIDF 的性能.................................................................... 107 表 4-5 Delicous 和 CiteULike 数据集上 TagBasedTFIDF++的性能 ................................................................ 108 表 4-6 CiteULike 数据集中 recommender_system 的相关标签........................................................................ 108 表 4-7 Delicious 数据集中 google 的相关标签 ................................................................................................. 109 表 4-8 考虑标签扩展后的推荐性能.................................................................................................................. 109 表 4-9 10 个用户最满意的主观类标签 ............................................................................................................. 114
- 16.5 表 4-10 10 个用户最满意的客观类标签 ........................................................................................................... 114 表 4-11 3 种标签推荐算法在 N=10 时的准确率和召回率............................................................................... 117 表 4-12 HybridPopularTags 算法在不同线性融合系数D下的准确率和召回率 .............................................. 117 2 表 5-1 离线实验数据集的基本统计信息 .......................................................................................................... 125 表 5-2 美国、英国、德国用户兴趣度最高的歌手 .......................................................................................... 141 表 6-1 3 种不同好友推荐算法的召回率和准确率 ........................................................................................... 163 3 表 6-2 不同好友推荐算法的问卷调查结果 ...................................................................................................... 164 表 7-1 电子商务网站中的典型行为.................................................................................................................. 167 4 表 7-2 离线相关表在 MySQL 中的存储格式 ................................................................................................... 173 表 8-1 评分预测问题举例.................................................................................................................................. 179 5 表 8-2 MovieLens 数据集上不同平均值方法的 RMSE ................................................................................... 184 表 8-3 MovieLens 数据集中对平均值方法采用级联融合后的效果................................................................ 194 表 8-4 Netflix Prize 上著名算法的 RMSE......................................................................................................... 195 6 7 8 9 10 11 12 13 14 15 16 17 18
- 17.1第 章 1.1 1 1 2 在 如 设计推荐系统 ,了 的, 在设计推荐系统 是好的推荐系统至关 要。 有了 了优秀推荐系统 实 进行取 。本 分3个 这个 题: 3 ,本 介绍 是推荐系统、推荐系统的主要 务、推荐系统和分 搜索 的 等;然 ,本 领域分 地介绍 业 常 的个性化推荐应用; ,本 介绍推荐系统的评测, 介绍评测指标给出 好 的 义,从 是好的推 荐系统 这个 题。 4 1.1 推荐系统 如 一包 , 有 种 法 设 有一个24 ,可 进 , 有的 , 一 ,然 比较 个 子的 者价 自己 的 子, 4 。如 家 有一家 ,可 进 , 分指 品 在的 , 指 的 ,然 在 上 要的 , 。如 很 , 出 ,可 开当当 者 ,在一个 搜索 的 3个 ,然 户在有 一 的 , 的 子, ,然 等 上 。上 这 个 子 述了用 5 ,对 采用的 。在24 ,因为 很 ,用户 可 自己的经 有 自己 要的 。在 ,商品 经被 在 的 上, 此 用户 要 用分 自己 要的商品。 在 者当当,由于商品 大,用 户 搜索 自己 要的商品。 但是,如 用户没有 的 比如 今天很 , 一部电 。但当 开 5 个 网 , 对100 发行的 的电 , , 该 一部。此 , 了 的 题, 要一个人 者 具 ,给出一些 。如 这 有个 电 的 友在 , 可 推荐 部电 。 ,总 家 给 推荐, 要的是一个自 化的 具,它可 分析 的 兴趣,从 大的电 6 中 部 兴趣的电 。这个 具 是个性化推荐系统。 技 和互联网的发 ,人 从 的 了 information overload 的 。在这个 , 论是 者还是 产者 了很大的 :作为 7 参http://en.wikipedia.org/wiki/Information_overload。
- 18.2 1 的 者,如 从大 中 自己 兴趣的 是一 非常 的 ;作为 产者, 如 自己 产的 出, 广大用户的关 ,也是一 非常 的 。推荐系统 是 决这一 的 要 具。推荐系统的 务 是联系用户和 ,一方 用户发现对自己 有价值的 , 一方 现在对它 兴趣的用户 ,从 实现 者和 产者的 如 1-1 。 本书 统称为 品 , 可 用户 的 。 推荐系统 1-1 推荐系统的基本 务是联系用户和 品, 决 的题 ,为了 决 的 题, 经有 家和 程 出了很 天 的 决方 , 中 性的 决方 是分 和搜索 。 这 种 决方 分 了互联网领域的 家 名公司 和 。 名的互联网公司 分 家, 现在比较 名的分 网 还有 的DMOZ、 的Hao123等。这些 名的网 分 ,从 方 用 户 网 。但是 互联网 的 大,分 网 也 覆盖 的 网 , 满 用户的 。因此,搜索 了。 为 的搜索 可 用户 搜索关 自己 要的 。但是,搜索 要用户主 准 的关 ,因此 决用户的很 ,比如当用户 法 准 述自己 的关 ,搜 索 为 了。和搜索 一 ,推荐系统也是一种 用户 发现有用 的 具。 和搜索 的是,推荐系统 要用户 的 , 是 分析用户的 行为给用 户的兴趣 ,从 主 给用户推荐 满 兴趣和 的 。因此,从 种意义上 , 推荐系统和搜索 对于用户 是 个互补的 具。搜索 满 了用户有 的 的主 , 推荐系统 在用户没有 的的 发现 兴趣的 。 从 品的 度出发,推荐系统可 好地发 品的 long tail 。 《 》 主 Chris Anderson在2004 发 了 The Long Tail 一文并于2006 出 了《 理论》 一书。该书指出, 统的80/20 80%的 自于20%的 品 在互联网的 。互联网 ,由于 本 ,电子商务网 出比统 的商品。虽然这些商品 大 ,但与 统 业相比,这些 的商品 大,因此这些 商品的总 是一个 可 的 ,也 商品 主流商品 的 。主流商品 了 大 用户的 , 商品 了一 部分用户
- 19.1.1 3 的个性化 。因此,如 要 发 高 , 分 用户的兴趣, 这 是 1 个性化推荐系统主要 决的 题。推荐系统 发 用户的行为, 用户的个性化 ,从 商品准 地推荐给 要它的用户, 用户发现 些 兴趣但很 发现的商品。 要了 推荐系统是如 作的,可 一 现实社 中用户 对很 决的 程。 然 电 为 ,一 友。也 , 可 用如 方 决 电。 开 天 具, 个经常 电 的好 友, 有没有 2 电 可 推荐。 至, 可 开 ,发 一 要 电 ,然 等 人推荐电 。这种方 在推荐系统中称为社 化推荐 social recommendation , 好 友给自己推荐 品。 一 有 的 员和导 ,有些人可 开搜索 , 自己 的 员名, 3 然 结 中还有 电 是自己没有 的。比如 非常 的电 ,于 是 搜索 ,发现 的一部电 还没 ,于是 一 。这种方 是 和自己 的电 在 上相 的电 。推荐系统可 上述 程自 化, 分析用户 经 的电 用户 的 员和导 ,然 给用户推荐这些 员 者导 4 的 电 。这种推荐方 在推荐系统中称为基于 的推荐 content-based filtering 。 还可 行 ,比如 名的IMDB电 行 , 人在 电,人 电 ,然 一部广 好评的电 。这种方 可 进一 :如 和自己 兴趣相 的一 用户, 在 泛的 行 自己的兴趣。这种方 称为基于 电, 结可比 4 collaborative filtering 的推荐。 从上 3种方法可 出,推荐算法的本 是 一 的方 用户和 品联系 , 的推荐系统 用了 的方 。 1-2 了联系用户和 品的常用方 ,比如 用好友、用 户的 兴趣 用户的 等。 5 5 好友 6 兴趣 注册信息 1-2 推荐系统常用的3种联系用户和 品的方 7
- 20.4 1 的 这一 的 论, 可 发现推荐系统 是自 联系用户和 品的一种 具,它 在 的 中 用户发现 兴趣的 ,也 推 给对它 兴趣的用户。 一 推荐系统的实 子 大家 对推荐系统的了 。 1.2 推荐系统的 用 和搜索 ,个性化推荐系统 要 用户的行为 ,因此一 是作为一个应用 在于 网 中。在互联网的各 网 中 可 推荐系统的应用, 个性化推荐系统在这 些网 中的主要作用是 分析大 用户行为 ,给 用户 的个性化 , 高网 的 率和 化率。广泛 用推荐系统的领域包括电子商务、电 和视频、音乐、社交 网络、阅读、基于 的服务、个性化 和广告等。 的网 使用 的推荐系统技 ,但总地 , 有的推荐系统应用 是由 的 、 的 系统 推荐算法系统3部分 的。因此,本 在介绍 的个性 化推荐系统应用 , 这3个 的部分进行。 1.2.1 电子商务网 是个性化推荐系统的一大应用领域。 名的电子商务网 亚马逊是个性化推荐 系统的 应用者和推广者,被RWW 读 网 称为 推荐系统 。 亚马逊的推荐系统 了 各 产品中, 中 主要的应用有个性化商品推荐 和相关商品的推荐 。 1-3是亚马逊的个性化推荐 ,这个 是个性化推荐系统的标准用户 ,它包 个 部分。 取自亚马逊网站,图中相关内容的著 权 著 权人 1-3 亚马逊的个性化推荐 参 读 网的文 A Guide to Recommender Systems 。
- 21.1.2 的 5 推荐 推荐 的标题 的分 告 用户给 推荐的是 。 1 分 应了推荐结 的总 ,也 了大部分用户对这本书 的 法。 推荐 亚马逊 用户的 行为给用户 推荐,因此如 它给 推荐了一本 的 ,大 是因为 经在亚马逊上对 方 的书给 马逊对 个推荐结 给出了一个 Fix this recommendation 的 。此 ,亚 , 2 可 推荐理由。如 1-4 ,亚马逊的推荐结 中有一本关于机 的书 Introduction to Machine Learning , 该推荐结 的Fix this recommendaion , 出如 -4 的 括Add to Cart ,该 给用户 了5种对这个推荐结 进行 的方 ,包 Add to Wish List 、Rate this item 给书 3 分 、 I own it 经有这本书了 和Not interested 对这本书没兴趣 。 ,在推荐 结 的 还 了推荐 因,此 是因为 经给Probabilistic Graphical Models: Principles and Techniques和DataMining:PracticalMachine Learning Tools and Techniques, Second Edition这 本书 考 。有些用户可 5分。亚马逊 用户 用推荐理由,这主要是出于 的 4 对 些 品的行为被系统用 推荐结 ,这个 可 用这些行为。 4 对推荐结果的反馈方式 5 5 6 取自亚马逊网站,图中相关内容的著 权 著 权人 1-4 Fix this recommendation 1-3 的个性化推荐 采用了一种基于 品的推荐算法 item-based method ,该算法 给用户推荐 些和 的 品相 的 品。 此 ,亚马逊还有 一种个性化推荐 7
- 22.6 1 的 , 是 用户在Facebook的好友关系,给用户推荐 1-5 ,基于好友的个性化推荐 由 品标题、 这 的推荐理由 了 相关 品的用户好友的 的好友在亚马逊上 的 品。如 、 品 分和推荐理由 。 。 取自亚马逊网站,图中相关内容的著 权 著 权人 1-5 基于Facebook好友的个性化推荐 了个性化推荐 ,亚马逊 一个 要的推荐应用 是相关推荐 。当 在亚马逊 一个商品 ,它 在商品 相关的商品。亚马逊有 种相关商品 ,一种是包 了这个商品的用户也经常 的 商品 如 1-6 , 一种是包 这个商品的用 户经常 的 商品 如 1-7 。这 种相关推荐 的 是使用了 用户行为计 算 品的相关性。此 ,相关推荐 要的应用 是 cross selling 。当 在 个 品的 ,亚马逊 告 用户在 这个商品的 也 的 个商品, 然 是要 这些商品。如 了 ,它 这 商品 包 , 有 一 的 ,然 给 如 1-8 。这种 是推荐算法 要的应用, 被很 电子商务网 作为标准的应用。 取自亚马逊网站,图中相关内容的著 权 著 权人 1-6 相关推荐 , 这个商品的用户经常 的 商品 在 商业 亚马逊的推荐产品 ,读者 关 的应该是这些推荐的应用, 。关于这方 的准 ,亚马逊 方并没有 公开 ,但 给亚马逊 了 了一些相关 关于Cross Selling的 参 基 Crossing Selling 。
- 23.1.2 的 7 的 。亚马逊的 家Greg Linden在 的 至 有20% 的一 文 为35% 的 经 ,在 开亚马逊的 ,亚马逊 1 自于推荐算法。此 ,亚马逊的 家Andreas Weigend在 经 一 推荐系统的 , 的 ,亚马逊有 20% 30%的 自于推荐系统。 2 3 取自亚马逊网站,图中相关内容的著 权 著 权人 4 1-7 相关推荐 , 这个商品的用户经常 的 商品 4 取自亚马逊网站,图中相关内容的著 权 著 权人 1-8 亚马逊的 包 至于个性化推荐系统对亚马逊的意义, CEO Jeff Bezos在 采 经 对于 电子商务网 的 大优 在于个性化推荐系统,该系统 个用户 的在 商 ,并且 在商 中 自己 兴趣的商品。 5 ,亚马逊相 有一个自己 5 We have 6.2 million customers, we should have 6.2 million stores. There should be the optimum store for each and every customer. 6 有62 用户,因此也应有62 个商 。 应该给 个用户 的商 。 参 Lessons on recommendation Systems, 地 为http://blog.Kiwitobes.com/?p=58。 7 参 Mark Levene的An Introduction to Search Engines and Web Navigation, Second Edition Wiley, 2010 。
- 24.8 1 的 1.2.2 网 在电 和视频网 中,个性化推荐系统也是一种 要的应用。它 用户在 的视频 中 兴趣的视频。在该领域 使用推荐系统的一家公司 是Netflix,它和亚马逊 是推荐系统领域 具 性的 家公司。 Netflix 是一家DVD 网 , 这 也开 在 视频业务。Netflix非常 视个 性化推荐技 ,并且在2006 开 名的Netflix Prize推荐系统比 。该比 100 , 人员 Netflix的推荐算法的 测准 度 10%。该比 3 ,由AT&T 的 人员 得了 的大 。该比 对推荐系统的发 了 要的推 作用:一方 该比 给 了一个实 系统中的大 用户行为 40 用户对2 部电 的上 评分 ; 一方 ,3 的比 中,参 者 出了很 推荐算法,大大 了推荐系统的 测 。 此 ,比 了很 优秀的 人员 推荐系统的 中 ,大大 高了推荐系统在业 和 的 。 1-9是Netflix的电 推荐 ,从中可 Netflix的推荐结 包了 个 部分。 电 的标题和 。 用户 包括Play 、评分和Not Interested 兴趣 3种。 推荐理由 因为用户 经 的电 。 取自Netflix网站,图中相关内容的著 权 著 权人 1-9 Netflix的电 推荐系统用户 参http://netflixprize.com/。
- 25.1.2 的 9 从Netflix的推荐理由 ,它 的算法和亚马逊的算法 ,也是基于 品的推荐算法, 1 给用户推荐和 经 的电 相 的电 。至于推荐系统在Netflix中 的作用,Netflix在 中 称,有60% 的用户是 推荐系统 自己 兴趣的电 和视频的。 YouTube作为 大的视频网 , 有大 用户上 的视频 。由于视频 非常大,用 户在YouTube中 的 , 试了很 算法。在YouTube 题。为此,YouTube在个性化推荐领域也进行了 的论文 中, 的 人员 现在使用的也是基于 品 2 的推荐算法。为了 个性化推荐的有 性,YouTube 经 个一个实 ,比较了个性化推荐的 率和 视频 的 率,实 结 个性化推荐的 率是 视频 率的 。 和YouTube , 一家 名的视频网 Hulu也有自己的个性化推荐 。如 1-10 ,Hulu在 推荐结 也 了视频标题、 、视频的 分、推荐理由和用户 3 。 4 4 5 5 取自Hulu网站,图中相关内容的著 权 著 权人 1-10 视频网 Hulu的个性化推荐 参http://cdn-0.nflximg.com/us/pdf/Consumer_Press_Kit.pdf, Consumer Press Kit。 6 关于这个60%的 和 的与亚马逊有关的30%, 指出的是如 网 推荐系统 在很 要的 , 比如 在 , 这个比 自然 高。但 要 意的是,用户在网 中 了推荐系统,还可 搜索和分 得自己 兴趣的 , 在这3种方 中,如 用推荐系统的比 30% 60%,还是 推荐系统的有 性。当然,如 要 这个 题, 个推荐系统 ,然 对比有推荐系统的网 和 没有推荐系统的网 的 ,当然这种实 发。 7 参http://dl.acm.org/citation. cfm?id=1864770,The Youtube video recommendation system。
- 26.10 1 的 1.2.3 网络 个性化推荐的 应用 要 个 。 一是 在 ,因为如 用户可 很 地从 有 品中 的 品, 要个性化推荐了。 是用户大部分 没有 的 ,因为用户如 有 的 ,可 搜索 兴趣的 品。 在这 个 ,个性化网络电 是 的个性化推荐产品。 ,音乐很 ,用户 可 有的音乐 决 自己 ,且 的 在 很 的 度 ,因此用 户 的 题。 ,人 音乐 ,一 是 音乐作为一种 乐 ,很 有人 的 。对于 用户 , 可 ,要 当的 可 了。因此,个性化音乐网络电 是非常 个性化推荐技 的产品。 有很 名的个性化音乐网络电 。 上 名的有Pandora 参 1-11 和Last.fm 参 1-12 , 的 是 电 参 1-13 。这3种应用虽然 是个性化网络电 , 但 的技 一。 取自Pandora网站,图中相关内容的著 权 著 权人 1-11 Pandora个性化网络电 的用户
- 27.1.2 的 11 1 2 3 4 取自Last.fm网站,图中相关内容的著 权 著 权人 1-12 Last.fm个性化网络电 的用户 4 5 5 取自豆瓣个性化网络电台,图中相关内容的著 权 著 权人 1-13 个性化网络电 的用户 从 上 ,这3个个性化网络电 很 。它 用户 , 是给用户 种 方 、 和 。经 用户一 的 ,电 可 从用户的 行为中 6 得用户的兴趣 ,从 使用户的 用户对 的兴趣。 Pandora 的音乐推荐算法主要 自于一个 音乐基因 程的 。这个 于 2000 1 6 ,它的 员包括音乐家和对音乐有兴趣的 程 。Pandora的算法主要基于 , 音乐家和 人员 自 了上 自 的 ,然 对 的 性 比如 、 7
- 28.12 1 的 、 和 等 进行标 ,这些标 被称为音乐的基因。然 ,Pandora 家标 的 基因计算 的相 度,并给用户推荐和 的音乐在基因上相 的 音乐。 Last.fm于2002 在 。Last.fm 了 有用户的 用户对 的 ,在 这一基础上计算出 用户在 上的 好相 度,从 给用户推荐和 有相 好的 用户 的 。 ,Last.fm也 了一个社交网络, 用户 和 用户 联系, 也 用户给好友推荐自己 的 。和Pandora相比,Last.fm没有使用 家标 , 是主要 用用户行为计算 的相 度。 音乐推荐是推荐系统 非常 的领域。2011 的Recsys大 了Pandora的 人员 对音乐推荐进行了 。 人总结了音乐推荐的如 。 品 很 , 品空 很大,这主要是相对于书和电 的 对于在 音乐 ,音乐 是 的, 要 。 种 ,有很 的流 一 音乐的 本很 , 用户的 , 且用户大 音乐作为 音, 进行 作。 用 用户 很 ,这和 品 ,比如用户 一 个电 , 一本书。 用户 用户很有 ,一个用户 很 上下文 用户的 很 当 上 文的 ,这 的上 文主要包括用户当 的 比如 的 的 和 比如 音乐 。 用户 音乐一 是 一 的 一 一 地 。 很 用户 很 个人 。 用户 音乐 要用户 地 ,很 用户 音乐作为 音。 社 用户 音乐的行为具有很 的社 化 性,比如 和好友分 自己 的音乐。 上 这些 决 了音乐是一种非常 用 推荐的 品。因此, 现在很 推荐系统 是作为一个应用 在于网 中,比如亚马逊的商品推荐和Netflix的电 推荐, 有音乐推荐可 的个性化推荐网 ,比如Pandora、Last.fm和 网络电 。 1.2.4 社交网络 5 ,互联网 人 的产品 于 Facebook和Twitter为 社交网络中,好友 可 互相分 、 。社交网络中的个性化推荐技 用用户的社交网络 对用户进行个性化的 品推荐; 流的 话推荐; 给用户推荐好友。 的社交网络应用。在 主要应用在3个方 : PPT为Music Recommendation and Discovery,http://www.slideshare.net/plamere/music-recommendation-and-discovery。
- 29.1.2 的 13 Facebook 的 有 个,一个是用户 的社交网络关系, 一个是用户的 好 。 1 因此,Facebook推出了一个推荐API,称为Instant Personalization。该 具 用户好友 的 ,给用户推荐 的好友 的 品。很 网 使用了Facebook的API 实现网 的个性 化。 1-1中是使用了Facebook的Instant Personalization的具有 性的网 。 1-14是 名的电 视 推荐网 Clicker使用Instant Personalization给用户进行个性化视频推荐的 。 2 1-1 用 Facebook Instant Personalization 的网 网 Clicker Rotten Tomatoes Docs.com Pandora Yelp Scribd 网 个性化电视推荐 电影评论 式文 编辑 3 个性化音乐网络电台 本地评论 社会化阅读 4 4 5 取自Clicker网站,图中相关内容的著 权 著 权人 5 1-14 Clicker 用好友的行为给用户推荐电视 了 用用户在社交网 的社交网络 给用户推荐本 的各种 品,社交网 本 也 用社交网络给用户推荐 用户在社交网 的 话。如 1-15 , 个用户在Facebook的个人 好友的各种分 ,并且 对这些分 进行评论。 个分 和它的 有评论被称为一 6 个 ,如 给这些 话 是社交网 中的一个 要话题。为此,Facebook开发了EdgeRank 算法对这些 话 ,使用户 的好友的 话。 7 这些网 的http://www.facebook.com/instantpersonalization/。
- 30.14 1 的 取自Facebook,图中相关内容的著 权 1-15 用户在Facebook的 著 权人 流 了 用户的社交网络 用户行为给用户推荐 用户推荐好友。 1-16 了 名社交网 的好友推荐 ,社交网 还 。 个性化推荐服务给 取自Facebook、Twitter、LinkedIn和新浪微博,图中相关内容的著 权 著 权人 1-16 社交网 中好友推荐系统的 上为LinkedIn, 为 上为Facebook, 为Twitter,
- 31.1.2 的 15 1.2.5 1 阅读文 是很 互联网用户 天 的 。个性化阅读 出的 要个性化 推荐的 个因 : ,互联网上的文 非常 ,用户 的 题; ,用户很 并没有 具文的 , 是 阅读 领域的文 了 这些领域的 。 2 互联网上的个性化阅读 具很 , 名的有Google Reader, 有 网等。 , 设 的流行, 设 上 对个性化阅读的应用也很 , 中具有 性的有Zite和 Flipboard。 Google Reader是一 流行的社 化阅读 具。它 用户关 自己 兴趣的人,然 3 关 用户分 的文 。如 1-17 ,如 的People you follow 关 的人 , 可 用户分 的文 。 4 4 5 取自Google Reader,图中相关内容的著 权 著 权人 1-17 Google Reader社 化阅读 和Google Reader ,个性化阅读 具Zite 是 用户对文 的 好 。如 1-18 在文 ,Zite 用户给出 的 ,然 分析用户的 地 用户的个性化文 。Zite推出 得了 大的 , 被CNN 。 5 ,6 7
- 32.16 1 的 取自Zite,图中相关内容的著 权 著 权人 1-18 Zite个性化阅读 一家 名的 阅读网 Digg也在 试了推荐系统。 Digg 用户的Digg 计算用户 的兴趣相 度,然 给用户推荐和 兴趣相 的用户 的文 。 Digg自己的 统计,在使用推荐系统 ,用户的digg行为 ,digg总 高了40%,用户的好友 了24%,评论 了11%。 1.2.6 的 在中关 , 子 了, 开 机,发现上 给 推荐了 家中关 的 ,价 、 、服务、 如 ,这 是基于 的个性化推荐系统 理 的 了。 设 的 发 ,用户的 经非常 取, 是一种很 要的上 文 ,基 于 给用户推荐 的且 兴趣的服务,用户 有可 。 基于 的服务 和社交网络结 在一 。比如Foursquare推出了 索 ,给用户推荐 好友在 的行为 如 1-19 。 Digg 方 上的文 Digg Recommendation Engine Updates ,地 为http://about.digg.com/blog/digg-recommendation-engine-updates。
- 33.1.2 的 17 1 2 3 4 取自FourSquare,图中相关内容的著 权 著 权人 1-19 Foursquare的 索 1.2.7 4 天 大 的 ,这些 有些对 很 要 比如领导交 务的 , 有些比较 要 比如 人 的 ,还有些是 。 可 ,这是一个 的 领域,这 论了。但在 常的 中,如 对用户 要的 用户优 , 大大 高用户的 作 率。 5 实, 在文 中 的 一个推荐系统Tapestry 是一个个性化 推荐系统,它 分析用户阅读 的 行为和 对 进行 ,从 高用户的 作 率。 的 人员在这个 题上也进行了 ,于2010 推出了优 。如 1-20 ,该产品 分析用户对 的 行为, 用户 兴趣的 , 在一个 的 5 。用户 天可 这个 的, 。 的 ,该产品可 用户 6%的 。在如今这个 是的, 6%的 是一大进 。 6 。 参 读 网的 Google Says Priority Inbox Users Spend 6% Less Time on Email(So Are You Using It?)http://www.readwriteweb.com/search?query=google+says+priority+inbox+use&x=0&y=0 者 的论文The Learning Behind Gmail Priority Inboxhttp://static.googleusercontent.com/external-content/untrusted_dlcp/research.google.com/zh-CN 7 //pubs/archive/36955.pdf 。
- 34.18 1 的 取自Gmail,图中相关内容的著 权 著 权人 1-20 Gmail的优 1.2.8 广告是互联网公司 的 本。很 互联网公司的 是基于广告的, 广告的CPC、 CPM 决 了很 互联网公司的 。 ,很 广告 是 机 的, 用户 了, 机 一个广告 给 。这种 的 率 然很 ,比如给 性 化 品广告 者给 性 广告 是一种 。因此,很 公司 于广告 Ad Targeting 的 , 如 广告 给它的 在 户 。个性化广告 经 为了一 的 计算 广告 但该 和推荐系统在很 基础理论和方法上是相 的,比如它 的 的 是联系用 户和 品, 是在个性化广告中, 品 是广告。 个性化广告 和 义个性化推荐的 是,个性化推荐 于 用户 可 兴趣的 品, 广告推荐 于 广告 可 对它 兴趣的用户, 一个是 用户为 , 一个 广告为 。 的个性化广告 技 主要分为3种。 上下文 分析用户 在 的网 , 和网 相关的广告。 系 统是 的Adsense。 分析用户在当 话中的搜索 , 用户的搜索 的, 和用户 的相关的广告。 经常在很 网 大 广告 是 些大的 ,它 是 用户的兴趣,对 用户 的 广告。 是这方 的。 广告的个性化 是很 互联网公司的 技 ,很 公司 。,公 司是个 ,它发 了大 个性化广告方 的论文。 在个性化广告方 得 的 是Facebook,因为它 有大 的用户个人 ,可 很 地 取用户的兴趣, 广告商 自己 对 广告的用户。 1-21 了 Facebook的广告系统 ,该 广告商 自己 的用户 ,然 Facebook 广告 商的 告 这些 广告 覆盖的用户 。
- 35.1.3 19 1 2 3 4 取自Facebook,图中相关内容的著 权 著 权人 1-21 Facebook 广告商 的 标用户 1.3 推荐系统评测 4 是好的推荐系统 这是推荐系统评测 要 决的 要 题。一个 的推荐系统一 在3个参与方 如 1-22 :用户、 品 者和 推荐系统的网 。 书推荐为 , ,推荐系统 要满 用户的 ,给用户推荐 些 各出 社的书 被推荐给对 兴趣的用户, 兴趣的 书。 ,推荐系统要 是 推荐 个大 出 社的书。 , 5 好的推荐系统设计, 推荐系统本 高 的用户 , 推荐的 , 用户和网 的交互, 高网 的 。因此在评测一个推荐算法 , 要 考 方的 , 一个好的推荐系统是 方 的系统。 5 6 1-22 推荐系统的参与者 7
- 36.20 1 的 在推荐系统的 中,很 人 好的推荐系统 义为 作出准 测的推荐系统。比 如,一个 书推荐系统 测一个用户 《C++ Primer中文 》这本书, 用户 实 了, 这 被 一 准 的 测。 测准 度是推荐系统领域的 要指标 没有 一 。 这个指标的好 是,它可 比较 地 方 计算出 ,从 方 人员 评价和 的推荐算法。但是,很 ,准 的 测并 好的推荐。 比如 ,该用户 准 《C++ Primer中文 》了, 论是 给 推荐, 准 , 这个推荐结 然 是 好的,因为它并 使用户 的书, 是方 用户 一本 本 准 的书。 ,对于用户 , 得这个推荐结 很 , 。 ,对于《C++ Primer 中文 》的出 社 ,这个推荐也没 这本书的 在 人 。 ,这是一个 上 很 好,但 实 很 的推荐。 一个 的 子, 推测系统 测 天 从 方 ,虽 然 测准 率是100%, 是一种没有意义的 测。 ,好的推荐系统 准 测用户的行为, 且 用户的视 , 用户 发现 些 可 兴趣,但 发现的 。 ,推荐系统还要 商家 些被 没在 中的好商品介绍给可 对它 兴趣的用户。这也 是《 理论》的作者 在书中 介绍推荐系统的 因。 为了 评测推荐系统对 方 的 ,本 从 度出发, 出 的指标。这些 指标包括准 度、覆盖度、 度、 度、 度、 度等。这些指标中,有些可 计 算,有些 有在 计算,有些 用户 得。 各 介绍这些指标的出 发 、 义, 一些指标的计算方法。 1.3.1 推荐系统实 在介绍推荐系统的指标 , 一 计算和 得这些指标的主要实 方法。在推荐系统 中,主要有3种评测推荐 的实 方法, 实 offline experiment 、用户 user study 和在 实 online experiment 。 分 介绍这3种实 方法的优 。 1. 实 实 的方法一 由如 个 : (1) 系统 得用户行为 ,并 一 一个标准的 ; (2) 一的 分 和测试 ; (3) 在 上 用户兴趣 ,在测试 上进行 测; (4) 义的 指标评测算法在测试 上的 测结 。 从上 的 可 ,推荐系统的 实 是在 上 的,也 是 它 要一 个实 的系统 它实 , 要有一个从实 系统 中 取的 可。这种实 方法的 好 是 要 实用户参与,可 地计算出 ,从 方 、 地测试大 的算法。 参 Sean M. McNee、John Riedl、Joseph A. Konstan的论文 Being accurate is notenough:how accuracy metrics have hurt recommender systems 。
- 37.1.3 它的主要 是 法 得很 商业上关 的指标,如 率、 化率等, 相关的 指标也是很 的 。 1-2 总结了 实 的优 。 1-2 实的 21 和商业指标非常 1 不需要 对实 系统的 权 不需要用户参与实验 度 ,可以测试大量算法 法计算商 上关心的指标 2 离线实验的指标和商 指标存在 2. 用户 3 意, 实 的指标和实 的商业指标 在 ,比如 测准 率和用户满意度 在很大 ,高 测准 率 等于高用户满意度。因此,如 要准 评测一个算法, 要相对比 较 实的 。 好的方法 是 算法 上 测试,但在对算法 用户满意度 有的 的测试。 ,上 测试具有较高的 , 在上 测试 一 要 一 称为用户 4 用户 要有一些 实用户, 在 要测试的推荐系统上 一些 务。在 务, 要和 的行为,并 一些 题。 , 要 分析 的行为和 了 测试系统的性 。 用户 是推荐系统评测的一个 要 具,很 没有 法评测的与用户主 有关 4 的指标 可 用户 得。比如,如 推荐结 是 很 用户 , 好 用户。但是,用户 也有一些 。 ,用户 本很高, 要用户 大 一个个 务,并 相关的 题。有些 ,还 要 用测试用户。因此,大 很 进行大 的用户 , 对于参 人 较 的用户 ,得出的很 结论 5 没有统计意义。因此, 在 用户 ,一方 要 本, 一方 要 结 的统计 意义。 此 ,测试用户也 是 的。 要 测试用户的分 和 实用户的分 相 , 比如 各 , 、 度的分 和 实用户分 相 。此 ,用户 要 5 是 实 , 要 实 人员和用户 测试的 标, 用户的 和实 人员的测试 主 分的 。 用户 的优 也很 。它的优 是可 得很 现用户主 的指标,相对在 实 很 ,出现 很 弥补。 是 测试用户 价较大,很 大 的测试 用户,因此 使测试结 的统计意义 。此 ,在很 设计 实 非常 , 且用户 6 在测试 的行为和 实 的行为可 有 ,因 在测试 的测试指标可 在实 法 现。 3. 实 在 实 和 要的用户 ,可 推荐系统上 AB测试, 它和 的算法进 7
- 38.22 1 的 行比较。 AB测试是一种很常用的在 评测算法的实 方法。它 一 的 用户 机分 , 并对 的用户采用 的算法,然 统计 用户的各种 的评测指标比较 算 法,比如可 统计 用户的 率, 率比较 算法的性 。对AB测试 兴趣的 读者可 一 网http://www.abtests.com/,该网 给出了很 实 AB测试 高网 用户 满意度的 子,从中 可 如 进行 理的AB测试。 AB测试的优 是可 公 得 算法实 在 的性 指标,包括商业上关 的指标。 AB测试的 主要是 比较 , 进行 的实 得 可 的结 。因此一 用 AB测试测试 有的算法, 是用它测试 些在 实 和用户 中 现很好的算法。 , 一个大 网 的AB测试系统的设计也是一 的 程。一个大 网 的 分 和 , 从 给用户的 的算法,中 经 了很 ,这些 由的 , 且 有可 AB测试。如 为 的 分 设计AB测试系统, 的AB测试 互相 。比如,当 进行一个 推荐算法的AB测试, 网 在 推荐 的 AB测试, 的结 是 测试结 是自己算法的 ,还是推荐 的 的。因此, 分流 是AB测试中的关 , 的 这些 的 要从一个统一的地 方 得自己AB测试的流 , 的流 应该是 交的。 1-23是一个 的AB测试系统。用户进 网 ,流 分 系统决 用户是 要被进 行AB测试,如 要的话,流 分 系统 给用户 上在测试中 于 分 的标 。然 用 户 网 , 用户在 网 的行为 被 系统发 的 。此 ,如 用户有测试分 的标 , 该标 也 被发 。在 ,实 人员的 作 是 流 分 系统,决 满 的用户参 的测试。 ,实 人员 要统计 中的 , 评测系统 分 用户的实 告,并比较和评测实 结 。 一 然 ,一个 ,要 ,要 的推荐算法 实 用户 1-23 AB测试系统 上,要 上 的3个实 。 它在很 指标上优于现有的算法。 它的用户满意度 于现有的算法。
- 39.1.3 23 , 在 的AB测试 它在 关 的指标上优于现有的算法。 1 介绍 3种主要的实 方法 , 一 开 介绍推荐系统常用的实 指标,这些指标大部 分可 本 介绍的3种实 方法 得。 1.3.2 评测 标 2 本 介绍各种推荐系统的评测指标。这些评测指标可用于评价推荐系统各方 的性 。这 些指标有些可 计算,有些 性 述,有些可 实 计算,有些 要 用户 得,还有些 在 评测。对于 要的评测指标, 论如 优化它 , 本 给出指标的 义。但对于一些 要的指标,本 在给出 义的 也 如 优化。 论各个 的指标。 论一 应该 3 1. 用户 用户作为推荐系统的 要参与者, 满意度是评测推荐系统的 要指标。但是,用户满意 度没有 法 用户 计算, 用户 得用户满意度主要是 者在 实 的 得。 。用户对推荐系统的满意度分为 的4 。GroupLens 经 一个论文推荐系统的 ,该 的 题是 话 述 推荐结 的 推荐的论文 是 非常 的。 推荐的论文很 了, 实是 兴趣的 论文。 4 推荐的论文和 的 兴趣是相关的,但 并 。 为 推荐这些论文,它 和 的兴趣 没有关系。 由此可 出,这个 是 地 用户对结 是 满意, 是从 的 用户对结 的 个方 还有 。比如,如 满,因 可 很 用户是 满意,用户可 这个 题。因此在设计 为大 满意,但是对 5 要考 用户各方 的 ,这 用户 对 题给出自己准 的 。 在在 系统中,用户满意度主要 一些对用户行为的统计得 。比如在电子商务网 中, 用户如 了推荐的商品, 户的满意度。此 ,有些网 在一 程度上满意。因此, 可 用 率度 用 设计一些用户 用户满意度。比如在视频网 5 Hulu的推荐 如 1-24 和 网络电 如 1-25 中, 有对推荐结 满意 者 满意的 , 统计 种 的 可 度 系统的用户满意度。 一 的 , 可 用 率、用户 和 化率等指标度 用户的满意度。 6 参 Sean M. McNee、 Nishikant Kapoor和 Joseph A. Konstan的论文 Don’t LookStupid:Avoiding Pitfalls when Re- 7 commending Research Papers 。
- 40.24 1 的 取自Hulu,图中相关内容的著 权 著 权人 1-24 Hulu 用户 对推荐结 进行 , 度 用户满意度 取自豆瓣,图中相关内容的著 权 著 权人 1-25 网络电 和 的 度 用户满意度 2. 预测 测准 度度 一个推荐系统 者推荐算法 测用户行为的 。这个指标是 要的推荐 系统 评测指标,从推荐系统 的 一天 , 99%与推荐相关的论文 在 论这个指标。 这主要是因为该指标可 实 计算,方 了很 的 人员 推荐算法。 在计算该指标 要有一个 的 ,该 包 用户的 行为 。然 , 该 分 和测试 。 , 在 上 用户的行为和兴趣 测用 户在测试 上的行为,并计算 测行为和测试 上实 行为的 度作为 测准 度。 由于 的推荐算法有 的 方 ,因此 对 的 方 介绍它 的 测准 度指标。
- 41.1.3 25 z 很 推荐服务的网 有一个 用户给 品 分的 如 1-26 。 了用户对 品的 评分, 可 从中 得用户的兴趣 ,并 测该用户在 没有评 分的 品 , 给这个 品评 分。 测用户对 品评分的行为称为 1 ,如 一个 。 2 3 分别 取自Netflix、豆瓣、YouTube、Jinni、Digg和Pandora网站,图中相关内容的著 权 著 权人 1-26 网 用户评分的 评分 测的 测准 度一 方 RMSE 和 对 MAE 计算。对于 测试 中的一个用户u和 品i, rui是用户u对 品i的实 评分, rˆui 是推荐算法给出的 测评 4 分, RMSE的 义为: RMSE ¦ u,iT (rui rˆui )2 T 4 MAE采用 对值计算 测 ,它的 ¦ MAE = u,iT rui rˆui 7 5 设 用一个 records 用户评分 , records[i] = [u,i,rui,pui], 中rui是用户u对 品i的实 评分,pui是算法 测出 的用户u对 品i的评分, 的 分 实现了RMSE和MAE的计算 程。 def RMSE(records): return math.sqrt(\ 5 sum([(rui-pui)*(rui-pui) for u,i,rui,pui in records])\ / float(len(records))) def MAE(records): return sum([abs(rui-pui) for u,i,rui,pui in records])\ / float(len(records)) 6 关于RMSE和MAE这 个指标的优 , Netflix 为RMSE 大了对 测 准的用户 品评 分的 方 的 ,因 对系统的评测 。 ,如 评分系统是基于 的 用户给的评分 是 , 对 测结 取 MAE的 。 7 Gábor Takács、István Pilászy和 Bottyán Németb的论文 Major components of the gravity recommendation system 。
- 42.26 1 的 z TopN 网 在 推荐服务 ,一 是给用户一个个性化的推荐 ,这种推荐 TopN推荐。 TopN推荐的 测准 率一 准 率 precision / 率 recall 度 。 R(u)是 用户在 上的行为给用户作出的推荐 , T(u)是用户在测试 上的行 为 。 ,推荐结 的 率 义为: ¦ ¦ Recall uU R(u) T (u) uU T (u) 推荐结 的准 率 义为: ¦ ¦ Precision uU R(u) T (u) uU R(u) 的Python 计算出了一个推荐算法的准 率和 率: def PrecisionRecall(test, N): hit = 0 n_recall = 0 n_precision = 0 for user, items in test.items(): rank = Recommend(user, N) hit += len(rank & items) n_recall += len(items) n_precision += N return [hit / (1.0 * n_recall), hit / (1.0 * n_precision)] 有的 ,为了 评测TopN推荐的准 率和 率,一 取 的推荐 度N, 计算出一 准 率/ 率,然 出准 率/ 率 precision/recall curve 。 z 和TopN 的 评分 测一 是推荐系统 的 , 大 推荐系统的 是基于用户评分 的评 分 测。这主要是因为,一方 推荐系统的 GroupLens的 主要 是基于电 评分 MovieLens进行的, ,Netflix大 也主要 评分 测 题。因 ,很 人员 中在优化评分 测的RMSE上。 对此,亚马逊 家Greg Linden有 的 法。2009 , 在Communications of the ACM 网 发 了一 文 ,指出电 推荐的 的是 用户 有可 兴趣的电 , 是 测用 户 了电 给电 的评分。因此,TopN推荐 实 的应用 。也 有一部电 用户 了 给很高的分 ,但用户 的可 性非常 。因此, 测用户是 一部电 , 应该比 测用户 了电 给它 评分 要。因此,本书主要也是 论TopN推荐。 What is a Good Recommendation Algorithm ,参http://cacm.acm.org/blogs/blog-cacm/22925-what-is-a-goodrecommendation-algorithm/fulltext。
- 43.1.3 27 3. 覆盖率 coverage 述一个推荐系统对 品 的发 。覆盖率有 1 的 义方法, 的 义为推荐系统 推荐出 的 品 总 品 的比 。 设系统的用户 为U, 推荐系统给 个用户推荐一个 度为N的 品 R(u)。 推荐系统的覆盖率可 的 公 计算: 2 Coverage *uU R(u) I 从上 的 义可 ,覆盖率是一个 商 关 的指标。 书推荐为 ,出 社 可 很关 的书有没有被推荐给用户。覆盖率为100%的推荐系统可 个 品 推荐 3 给至 一个用户。此 ,从上 的 义也可 , 行 的推荐覆盖率是很 的,它 推荐 些 的 品,这些 品在总 品中 的比 很 。一个好的推荐系统 要有比较高 的用户满意度,也要有较高的覆盖率。 但是上 的 义 于 。覆盖率为100%的系统可 有 的 品流行度分 。为了 4 地 述推荐系统发 的 , 要统计推荐 中 品出现 的分 。如 有的 品 出现在推荐 中,且出现的 , 推荐系统发 的 很好。因此, 可 品在推荐 中出现 的分 述推荐系统 的 。如 这个分 比 较, 推荐系统的覆盖率较高, 如 这个分 较 , 推荐系统的覆盖率较 。 4 在 论和经 中有 个 名的指标可 用 义覆盖率。 一个是 : H ¦n p(i) log p(i) i1 这 p(i)是 品i的流行度 有 品流行度 和。 个指标是基 系 Gini Index : 5 ¦ G 1 n 1 n j1 (2 j n 1) p(i j ) 这 ,ij是 品流行度p()从 大 的 品 中 j个 品。 的 可 用 计 算给 品流行度分 的基 系 : 5 def GiniIndex(p): j=1 n = len(p) G=0 for item, weight in sorted(p.items(), key=itemgetter(1)): G += (2 * j - n - 1) * weight 6 return G / float(n - 1) 7 参 Guy Shani和 Asela Gunawardana的 Evaluating Recommendation Systems 。
- 44.28 1 的 系数的 首先,我 物品按 热门程度 高排列, 右图 中的 曲线表示最不热门的x%物品的 流行度 系统的比例 y% 这 曲线 定是在y=x曲线之下的, 和y=x曲线相交在 (0,0)和(1,1) SA是A的面 ,SB是B的面 , 基 系数的 定 是SA / (SA + SB), 定 可 ,基 系数 于 间[0,1] 果系统的流行度 平均, 数 果系统物品流行度分 基 系数 会 大 SA 会 不均 , , 基系 SA 会 大, 社 领域有一个 名的马 应, 者 , 者 的 应。如 一个系统 大 品和非 品的流行度 , 的品 , 的品 , 这个系统 有马 应。比如, 的 行 有马 应。进 行 的 是 的 品,但它 因为被 在 的 行 有了 的 机 , 。相 ,没有进 行 的 品得 , 。搜索 的PageRank算法也具有一 的马 应, 如 一个网 的 个 关 名很高,并因此被 在搜索结 的 一 , 它 得 的关 ,从 得 的 ,PageRank 名也 高。 ,推荐系统是 有马 应 推荐系统的 是 马 应,使得各种 品 被 给对它 兴趣的 一 人 。但是,很 现在主流的推荐算法 比如 算法 是具有马 应的。评测推荐系统是 具有马 应的 法 是使用基 系 。如 G1是从 用户行为中计算出的 品流行度的基 系 ,G2是从推荐 中计算出的 品流 行度的基 系 , 如 G2 > G1, 推荐算法具有马 应。 4. 用户的兴趣是广泛的,在一个视频网 中,用户可 《 和 》一 的 , 也 的 作 。 ,为了满 用户广泛的兴趣,推荐 要 覆盖用户 的兴 趣领域, 推荐结 要具有 性。 性推荐 的好 用一 话 述 是 在一 上 。 用户的兴趣在较 的 度中是一 的,但具 用户 推荐系统的 一 , 兴趣 是 一的, 如 推荐 覆盖用户的一个兴趣 , 这个兴趣 是用户这 个 的兴趣 ,推荐 用户满意。 ,如 推荐 比较 ,覆盖了用户 大 的兴趣 , 用户 兴趣 品的 率。因此给用户的推荐 也 要满 用 户广泛的兴趣, 具有 性。 性 述了推荐 中 品 的 相 性。因此, 性和相 性是对应的。 设 s(i, j) [0,1] 义了 品i和j 的相 度, 用户u的推荐 R(u)的 性 义如 : Diversity ¦ 1 i, jR(u),iz j s(i, j) 1 R(u) ( R(u) 1) 2
- 45.1.3 29 推荐系统的 性可 义为 有用户推荐 性的 值: 1 Diversity 1 ¦ Diversity(R(u)) U uU 从上 的 义可 , 的 品相 度度 相 度 述 品 的相 度, 可得 s(i, j)可 义 的 性。如 用 性 ,如 用 的相 度 2 述 品 的相 度, 可 得 的性。 关于推荐系统 性 好 程度,可 一个 的 子 。 设用户 作 和 推荐 ,且用户80%的 在 作 ,20%的 在 。 ,可 4种 :A 中有10部 作 ,没有 ;B 中有10部 ,没有 作 ;C 的 中3 有8部 作 和2部 ;D 有5部 作 和5部 。在这个 子中,一 为C 是 好的,因为它具有一 的 性,但 考 了用户的主要兴趣。A满 了用户的主要兴趣, 但 性,D 于 ,没有考 用户的主要兴趣。B 没有考 用户的主要兴 趣,也没有 性,因此是 的。 4 5. 的推荐是指给用户推荐 些 没有 的 品。在一个网 中实现 性的 法是, 些用户 在网 中对 有 行为的 品从推荐 中 。比如在一个视 频网 中, 的推荐 应该给用户推荐 些 经 有些视频可 是用户在 的网 , 者是在电视上 、 分者 ,因此 的视频。但是, 4 本网 中用户有 行为的 品还 实现 性。 O’scar Celma在 论文 Music Recommendation and Discovery in the Long Tail 中 了 度的评测。评测 度的 方法是 用推荐结 的 流行度,因为 的品 可 用户 得 。因此,如 推荐结 中 品的 程度较 , 推荐结 可 有 5 比较高的 性。 但是,用推荐结 的 流行度度 性比较 ,因为 用户 的 是 的。 因此,要准 地统计 性 要 用户 。 关于 性和 性的 推荐系统 人员的关 。ACM的推荐系 5 统 在2011 有一个 的 论推荐的 性和 性。 该 的 者 为, 度 高 性和 性是很 的, 的是如 在 度的 高 性和 性。关 这 个指标的读者可 关 一 这个 发 的论文。 6. 度 serendipity 是 这 推荐系统领域 6 的话题。但 是 度, 度 与 性有 是 要 的 题。 意,这 论的是 度和 度作为推荐指 参 Music Recommendation and Discovery in the Long Tail ,地 为http://mtg.upf.edu/static/media/PhD_ocelma.pdf。 7 参 International Workshop on Novelty and Diversity in Recommender Systems ,地 为http://ir.ii.uam.es/divers2011/。
- 46.30 1 的 标在意义上的 , 是这 个 在中文 的 义 因为这 个 是 文 的, 它 在中文 的 义 和 文 的 义 并 相 , 要 大 中关于 这 个 在中文中的基本 义。 可 一个 子 这 种指标的 。 设一名用户 的电 ,然 给推 荐了一部 《 》的电 该电 是1983 由 、 、 作 出的,很 有 人 这部有 出 的电 , 该用户 这部电 , 可 这个推荐具有 性。 但是,这个推荐并没有 度,因为该用户一 了 了这个电 的 员, 得 。 但如 给用户推荐 导 的《 高 》, 设这名用户没有 这部电 , 这部电 可 得很 ,因为这部电 和 的兴趣一 关系也没有,但如 用户 电 得这部电 很 , 可 这个推荐是 用户 的。这个 子的 本 自于 Guy Shani的论文 , 的基本意 是,如 推荐结 和用户的 兴趣 相 ,但 用户 得满意, 可 推荐结 的 度很高, 推荐的 性 取决于用户是 这个 推荐结 。 并没有 公 的 度指标 义方 ,这 给出一种 性的度 方 。上 , 用户 的推荐结 是和用户 上 的 品 相 ,但用户 得满意的推荐。 , 义 度要 义推荐结 和用户 上 的 品的相 度, 要 义用户对推荐结 的满意度。 也 ,用户满意度 者在 实 得, 推荐结 和用 户 上 的 品相 度一 可 用 相 度 义。也 是 ,如 得了一个用户 电 的 ,得 这些电 的 员和导 A,然 给用户推荐一个 于 A的导 和 员 作的电 , 用户 非常满意,这 实现了一个 度很高的推荐。因此 高推荐 度 要 高推荐结 的用户满意度, 推荐结 和用户 兴趣的相 度。 度的 题 得了 的一 关 ,但这方 的 作还 是很 。相关 作 可 参考Yuan Cao Zhang等的论文 和Tomoko Murakami等的论文 ,本书 对该 题进一 开 论了。 7. 信 如 有 个 友,一个人 很 ,一个人经常满 ,如 的 友推荐 个地方 , 很有可 从 的推荐,但如 是 满 的 友推荐 的 地方 , 很有可 。这 个人可 个推荐系统, 的推荐结 相 ,但用 户可产 的 应,这 是因为用户对 有 的 度。 对于基于机 的自 推荐系统, 在 度 trust 的 题,如 用户 推荐系 统, 用户和推荐系统的交互。 是在电子商务推荐系统中, 用户对推荐结 产 参 Guy Shani和 Asela Gunawardana的 Evaluating Recommendation Systems 。 参 Yuan Cao Zhang、Diarmuid Ó Séaghdha、Daniele Quercia和 Tamas Jambor的Auralist:introducing serendipity into music recommendation. 。 参 Tomoko Murakami、Koichiro. Mori和Ryohei Orihara的 Metrics for evaluating the serendipity of recommendation lists 。
- 47.1.3 31 是非常 要的。 的推荐结 , 用户 广告 的方法推荐给用户 可 很 的方 推荐给用户 用户产 的意 。 用户产 ,1 度 推荐系统的 度 的方 , 用户是 推荐系统的推荐结 。 因为本书 的 如 高推荐系统 度的 题,因此这 介绍一 如 高 用户对推荐结 的 度, 关于 度的一些 现 。 高推荐系统的 度主要有 种方法。 要 推荐系统的 度 transparency , 2 推荐系统 度的主要 法是 推荐 。 有 用户了 推荐系统的 行机 , 用 户 推荐系统的 行机 , 高用户对推荐系统的 度。 是考 用户的社交网络 , 用用户的好友 给用户 推荐,并且用好友进行推荐 好友一 比较 ,因此如 推荐的商品是好友 的, 。这是因为用户对 的 对推荐结 相对比较 3 。 关于推荐系统 度的 主要 中在评论网 Epinion的推荐系统上。这是因为Epinion 了一 用户 的 系统 用户 的 关系, 用户 是 当 用户对 一个商品的评论。如 1-27 ,当用户在Epinion上 一个商品 , 用户评论 4 是 该商品。Epinion为了 评论 者广告评论 用户的决 ,在 用户评论 的 了评论作者的 ,并且 用户 是 该评论人还是 名 。如 网 具有Epinion的用户 系统, 可 在给用户 推荐 , 推荐 的 用户评论 的 品。 4 5 5 取自Epinion网站,图中相关内容的著 权 著 权人 6 1-27 Epinion的 系统 参 Henriette Cramer、Vanessa Evers、 Satyan Ramlal、 Maarten van Someren、Lloyd Rutledge、 Natalia Stash、Lora Aroyo和Bob Wielinga的 The effects of transparency on trust in and acceptance of a content-based art recommender 。 7 参 Paolo Massa和 Paolo Avesani的 Trust-aware recommender systems 。
- 48.32 1 的 8. 实 在很 网 中,因为 品 、 等 具有很 的 性, 要在 品还具有 性 它 推荐给用户。比如,给用户推荐 天的 然 如给用户推荐今天的 。因此, 在这些网 中,推荐系统的实 性 得至关 要。 推荐系统的实 性包括 个方 。 ,推荐系统 要实 地 推荐 满 用户 的 行为 化。比如,当一个用户 了iPhone,如 推荐系统 给 推荐相关 , 比 天 给用户推荐相关 有价值。很 推荐系统 在 天计算一 用户推 荐 ,然 于在 推荐 给用户。这种设计 然是 法满 实 性的。与用户行 为相应的实 性,可 推荐 的 化 率 评测。如 推荐 在用户有行为 化 大, 者没有 化, 推荐系统的实 性 高。 实 性的 个方 是推荐系统 要 系统的 品推荐给用户。这主要考 了推 荐系统 理 品 的 。关于如 系统的 品推荐给用户,本书 在 的 进行 论, 对于 品推荐 , 可 用用户推荐 中有 大比 的 品是当天 的 评测。 9. 一个 的算法系统 被人 ,这方 的 子 是搜索 。搜索 的作 和 作 常 ,这是因为如 自己的商品 为 搜索 的 一个搜索 , 大的商业 。推荐系统 也 了 的作 题, 性 robust, 性 指标 了一个推荐系统 作 的 。 2011 的推荐系统大 有一个关于推荐系统 性的 程 。作者总结了很 作 方法, 中 名的 是行为 profile injection attack 。 , 大部分推荐系统 是 分析用户的行为实现推荐算法的。比如,亚马逊有一种推荐 商品A的用户也经常 的 商品 。它的主要计算方法是统计 商品A的用户 商品的 。 , 可 很 地 这个算法, 自己的商品在这个推荐 中 得比较高的 名,比如可 很 ,用这些 A和自己的商品。还有一种 主要 对评分系统,比如 的 电 评分。这种 很 , 是 用一 人给自己的商品非常高的评分, 评分行为是推荐系 统 的 要用户行为。 算法 性的评测主要 用 。 ,给 一个 和一个算法,可 用这个算法 给这个 中的用户 推荐 。然 ,用常用的 方法 中 ,然 用算法在 的 上 给用户 推荐 。 , 比较 推荐 的相 度评测算法的 性。如 的推荐 相对于 没有发 大的 化, 算 法比较 。 在实 系统中, 高系统的 性, 了 性高的算法,还有 方法。 参 Neil Hurley的 Tutorial on Robustness of Recommender System ACM RecSys 2011 。
- 49.1.3 33 设计推荐系统 使用 价比较高的用户行为。比如,如 有用户 行为和用户 1 行为, 主要应该使用用户 行为,因为 要, 行为的 价 大于 行为。 在使用 ,进行 测,从 对 进行 理。 10. 目标 很 ,网 评测推荐系统 网 的商业 标是 , 商业 标和网 的 2 是 相关的。一 , 本 的商业 标 是 一个用户给公司 的 。 这 种指标 是很 计算, 是计算一 要比较大的 价。因此,很 公司 自己的 设计 的商业 标。 的网 具有 的商业 标。比如电子商务网 的 标可 是 ,基于 广告 3 的网 商业 标可 是广告 总 ,基于 广告 的网 商业 标可 是广告 总 。因此,设计推荐系统 要考 的商业 标, 网 使用推荐系统的 的 了满 用 户发现 的 ,也 要 用推荐系统 实现商业上的指标。 11. 本 了很 指标, 中有些指标可 4 计算,有些 在 得。但是, 指标很 ,在 指标也很 , 如 优化 指标 高在 指标是推荐系统 的 要 题。关于 这个 题, 然没有 论, 是 系统的 人员有 的 性 。 1-3对 的指标进行了总结。 4 1-3 评测 标的 实 问 实 用户满意度 预测准确度 5 覆盖率 多性 新性 喜度 5 对于可 优化的指标, 个人的 法是应该在给 覆盖率、 性、 性等 , 优化 测准 度。用一个 公 , 实 的优化 标是: 大化 测准 度 6 使得 覆盖率 > A 性>B 性>C 中,A、B、C的取值应该视 的应用 。 7
- 50.34 1 的 1.3.3 评测 上一 介绍了很 评测指标,但是在评测系统中还 要考 评测 度,比如一个推荐算法, 虽然 性 好,但可 在 种 性 比较好, 评测 度的 的 是 一个算法 在 性 好。这 可 为 推荐算法取得 好的 性 参考。 一 ,评测 度分为如 3种。 用户 主要包括用户的人 统计 、 度 是 是 用户等。 包括 品的 性 、流行度、 分 是 是 的 品等。 包括 ,是 作 还是 ,是白天还是 上等。 如 在推荐系统评测 告中包 度 的系统评测指标, 地了 推 荐系统性 , 一个 上 比较 的算法的优 ,发现一个 上 比较 的算法的 。
- 51.2第 章 2.1 数 35 1 2 为了 推荐结 用户 , 要 》中 , 行 ,也 是 可 了 用户。如 了 一个人 《论 公 用户 的文 和行为了 用户兴趣和 。 3 实现个性化推荐的 理 是用户 在 的 主 告 ,但这种方法有 个 : ,现在的自然 理 技 很 理 用户用 述兴趣的自然 ; ,用户的 兴趣是 化的,但用户 地 兴趣 述; ,很 用户并 自己 , 者很 用 述自己 。因此, 要 算法自 发 用户行为 ,从用 3 户的行为中推测出用户的兴趣,从 给用户推荐满 兴趣的 品。 基于用户行为 的应用 实 在个性化推荐系统 经在互联网上非常流行了, 中 的 是各种各 的 行 。这些 行 包括 行和 行 等。 这些 行 应用 基于 的用户行为统计,但它 在互联网上 得了很 用户的 。因此,用户 4 行为 的分析是很 优秀产品设计的基础,个性化推荐算法 对用户行为的 度分析,可 给用户 好的网 使用 。 用户的行为 是 机的, 是 很 。 一个 的 子,在电子商务网 中, 网 一个 , 电子商务网 , 至 统 业的 包括了 一 分析 务,比如 的 有商品。 分析是很 可 分析 些商品 出现 5 在 中。这 名的 子 是 和 的 子,这个 子是 的经 。这 个 有非常 的 本, 至有人 为这个 本 是一个 。 还是用这个 一 用户行为分析的 要性。这个 的一个 本是 ,有一个 人员发现很 人 和, 为是很 要在家 子, 自己的 , 5 在 的 一 自己 的 ,于是这 个 马 相 的 这 产 联系 了。于是 作人员 和 在了 一个 上,结 这 种商品的 上 了。 人 这个 有 的理 , 从算法设计人员的 度 ,这个 用户行为 中 很是 些 ,从 为产品的设计 的 , 个性化推荐算法的 务 是 指导, 高用户 。 计算机 发现这 6 和 的 在互联网上被发 大。电子商务公司 分析用户的 ,出 如 A商品的用户 B商品 这种 , 在用户 A商品 为 A商品 的用户 的 商品 如 2-1 。 7
- 52.36 2 数 取自当当网, 中相关 的 作 2-1 当当网在用户 《 还 的书 作人有 导论》 给用户推荐 本商品的 基于用户行为分析的推荐算法是个性化推荐系统的 要算法, 一 这种 的算法 称为 算法。 名 义, 是指用户可 , 地和网 互 ,使 自己的推荐 自己 兴趣的 品,从 满 自己的 。 2.1 用户行为数据 本 的个性化推荐算法 是基于用户行为 分析设计的,因此本 介绍用户行 为。 用户行为 在网 上 的在 是 。网 在 行 程中 产 大 raw log ,并 在文 系统中。很 互联网业务 种 用户行为 总 话 session log , 中 个 话 一 用户行为和对应的服务。比如,在搜索 和搜索 广告系统中,服务 为 一个 impression log , 中 了 和 结 。如 用户 了 个结 ,这个 被服务 并在 click log 中。 一个并行程 性地 并 和 ,得 的 话 中 个 是一个用户 交 的 、得 的结 。 地,推荐系统和电子商务网 也 总 述用 户行为的 话 。 话 常 在分 中,如 分析的 Hadoop Hive和 在 分析的Google Dremel。这些 了用户的各种行为,如在电子商务网 中这些行 为主要包括网 、 、 、评分和评论等。 用户行为在个性化推荐系统中一 分 种 explicit feedback 和 implicit feedback 。 性 行为包括用户 对 品 好的行为。 2-2 了 网 性 的方 。可 ,这 的主要方 是评分和 / 。很 网 使 用了5分的评分系统 用户 对 品的 好,但也有些网 使用 的 者
- 53.2.1 数 37 用户的兴趣。这些 的 性 方 各有 。YouTube 是用5分评分系统 1 性 的,但 的 人员统计了 评分的评分 ,结 发现,用户 常用的 评分是5分, 是1分, 的分 很 有用户 。因此, YouTube 评分系统 了 评分系统 / 。当然, 这个 子并 是试 一种评分系统比 一种好, 是要 的网 YouTube的用户主要 要 自己的 设计评分系统, 在 视频上,因此 有在 是一 满者 网 的设计。 满意 评分, 2 因此 评分系统 了。但如 是评论网 ,用户主要 在评论上,这 评分系 统 是 要的。 3 3 4 分 取自Hulu 、Netflix、Jinni、Pandora、Facebook和Clicker网 , 中 相关 的 作 作人有 2-2 各种 性 和 性 行为相对应的是 性 行为。 性 行为指的是 些 应用户 好 5 的行为。 具 性的 性 行为 是 行为。用户 一个 品的 并 用户 一 这个 的 品,比如可 因为这个 在 ,用户 它。 相比 性 , 性 虽然 ,但 大。在很 网 中,很 用户 至 有 性 , 没有 性 。 2-1从 个 方 比较了 性 和性 。 5 用户兴趣 数量 存储 实时读取 反馈 2-1 数据 数据的 数据 确 较 数据 实时 数据 不确 大 6 分布式文件系统 反馈 7 参 Five Stars Dominate Ratings ,地 为http://youtube-global.blogspot.com/2009/09/five-stars-dominate-ratings.html。
- 54.38 2 数 的 性分,用户行为 可 分为 可 分为 和 。 指用户的行为 行为 于指用户 该 品。在 性 中,很 在 性 行为中, 相对比较 。 为了 好地 是性 , 网 中这 种行为的 子。 性 和 性 ,但 于指用户 该 品, 分一个用户行为是 是性 , 2-2 2-2 网 数据 数据的例 的方 分, 指用户的 还是 , 了各个领域的 视频网站 电子商务网站 门户网站 音乐网站 用户对视频的评分 用户对商品的评分 用户对新 的评分 用户对音乐/歌手/专辑的评分 用户观看视频的 购买 、浏览 阅读新 的 歌的 、浏览视频页面的 互联网中的用户行为有很 种,比如 网 、 商品、评论、评分等。要用一个统一的 方 有这些行为是比较 的。 2-3给出了一种 方 ,它 一个用户行为 为6部 分, 产 行为的用户和行为的对 、行为的种 、产 行为的上 文、行为的 和 。 user id item id behavior type context behavior weight behavior content 2-3 用户行为的统 产生行为的用户的 一标 产生行为的对 的 一标 行为的种类(比 是购买还是浏览) 产生行为的上下文,包 时间和地点 行为的权重( 果是观看视频的行为, 这个权重可以是分数) 这个权重可以是观看时长 果是打分行为, 行为的内容( 果是评论行为, 是评论的文本 果是打标签的行为, 是标签) 当然,在很 并 使用统一结 有行为, 是 对 的行为给出 。 且,有些 可 一些 比如上 文 。当然,有些 是 的,比如产 行为的用户和行为的对 是 有行为 包 的。一 ,的 包 的行为, 比较有 性的 有 个。 上下文信息的 数据 一 行为 包 用 户 ID 和 品 ID 。 Book-Crossing 是这种 的 。 上下文信息的 数据 一 包 用户ID、 品ID和用户对 品的评分。 上下文信息的 数据 一 包 用户ID、 品ID和用户对 品产 行 参 Book-Crossing Dataset ,地 为http://www.informatik.uni-freiburg.de/~cziegler/BX/。
- 55.2.2 39 为的 。Lastfm 上下文信息的 是这种 的 。 1 数据 一 包 用户ID、 品ID、用户对 品的评分 和评分行为发 的 。Netflix Prize 的 是这种 的 。 本 使用的 基本 是 一种 , 上文 的性 。 2.2 用户行为分 2 在 用用户行为 设计推荐算法 , 人员 要对用户行为 进行分析,了 中 的一 ,这 对算法的设计 指导作用。本 介绍用户行为 中 的一 ,这些 并 是 在于一 个网 中的 , 是 在于很 网 中的 。3 2.2.1 用户 行 的分 很 关于互联网 的 发现,互联网上的很 分 满 一种称为Power Law 的分 ,这个分 在互联网领域也称 。 3 f (x) D xk 分 实很 被统计 家 意 了。1932 , 大 的 家Zipf在 文 的 频 发现,如 出现的频率 由高 , 个 出现的频率和它在 行 中 名的常 比。这个分 称为Zipf 频 实很 , 有很 的 被经常使用。 。这个现 ,在 文中大部分 的 4 很 人员发现,用户行为 也 这种 。 fu(k)为对k个 品产 行为的用户 , fi(k)为被k个用户产 行为的 品 。 ,fu(k)和fi(k) 满 分 。也 是 : fi k Dik Ei fu k Duk Eu 5 为了 用户行为的 分 , Delicious和CiteULike 一个 的 进行 分析。这 , 没有用Netflix 者MovieLens 是因为这 个 经 了人为的 理, 被 了很 CiteULike 的 , 它 的分 中 品流行度的分 。 网 的 实分 。 2-3 了Delicious和 标是 品的流行度K, 标是流行度为K的 5 品的总 。这 , 品的流行度指对 品产 行为的用户总 。 2-4 了Delicious和 CiteULike 中用户 度的分 。 标是用户的 度K, 标是 度为K的用 户总 。这 ,用户的 度为用户产 行为的 品总 。 6 参http://www.dtic.upf.edu/~ocelma/MusicRecommendationDataset/lastfm-1K.html。 参http://netflixprize.com/。 7 参 网络 的Power Law现 ,地 为http://mmdays.com/2008/11/22/power_law_1/。
- 56.40 2 数 2-3 品流行度的 分 2-4 用户 度的 分 这 是对 , 分在对 上应该 。这 中的 的 ,从 是 品的流行度还是用户的 度, 于 分, 是 品流行度的 对 ,非常 。
- 57.2.3 和 41 2.2.2 用户 行的系 1 一 , 的用户要 是 用户,要 是 网 一 的 用户。 , 度的用户 的 品的流行度是 有 一 为, 用户 于 的 品,因为 对网 还 , 的 品, 用户 开 的 品。 2-5 了MovieLens 中用户 度和 品流行度 的关系, 中 标是用户 度, 2 标是具有 个 度的 有用户评 分的 品的 流行度。如 2-5 , 中 的 ,这 用户 , 于 的 品。 3 3 4 2-5 MovieLens 中用户 度和 品流行度的关系 5 基于用户行为 设计的推荐算法一 称为 算法。 对 算法 进行了 , 出了很 方法,比如 的 neighborhood-based 、 latent factor model 、 的 random walk on graph 等。在这些方法中, 名的、在业 得 广泛应用的算法是基于 域的方法, 基于 域的方法主要包 5 种算法。 用户的 这种算法给用户推荐和 兴趣相 的 用户 的 品。 的 这种算法给用户推荐和 的 品相 的 品。 介绍上 种算法,然 介绍 义 和基于 的 。 6 2.3 实 评测 文 ,评测推荐系统有3种方法 实 、用户 和在 实 。本 实 方法评测 的算法。 介绍用 的 ,然 介绍采用的实 方法和评测指标。 7
- 58.42 2 数 2.3.1 数据 本 采用GroupLens 的MovieLens 介绍和评测各种算法。 MovieLens 有3个 的 本,本 用中等大 的 。该 包 6000 用户对4000 部电 的100 评分。该 是一个评分 ,用户可 给电 评5个 等 的分 1 5分 。本 中的TopN推荐 题,因此 了 中的评分 。也 是 ,TopN推荐 的 务是 测用户 对 部电 评分, 是 测用户在准 对 部电 评分的 给 电 评 分。 2.3.2 实 算法的 实 一 如 设计。 , 用户行为 分 机分 M 本 取M=8 , 一 作为测试 , 的M-1 作为 。然 在 上 用户 兴趣 ,并在测试 上对用户行为进行 测,统计出相应的评测指标。为了 评测指标并 是 的结 , 要进行M 实 ,并且 使用 的测试 。然 M 实 测出的评 测指标的 值作为 的评测指标。 的Python 述了 机分 和测试 的 程: def SplitData(data, M, k, seed): test = [] train = [] random.seed(seed) for user, item indata:if random.randint(0,M) ==k:test.append([user,item])else:train.append([user,item]) return train, test 这, 实 得 M个 的 标。这 主要是 ,为了 取 的k 0 k M1 和相 的 机 种子seed,进行M 和测试 ,然 分 进行实 ,用M 实 的 值作为 实 的结 是 的结 over fitting ,但如 实 地 算法,也可 进行一 实 。 实可 的评测指 大, 2.3.3 评测 标 对用户u推荐N个 品 为R(u) , 用户u在测试 上 准 率/ 率评测推荐算法的 度: ¦ R(u) T (u) Recall = u ¦ T (u) u 的品 为T(u),然 可http://www.grouplens.org/node/73。
- 59.2.3 和 43 率 述有 的推荐 中有 的计算方法。 ¦ R(u) T (u) Precision = u ¦ R(u) u 比 的用户 品评分 包 在 的推荐 比 是发 的用户 品评分 。 1 中, 准 率 述 给出了 率和准 率 2 def Recall(train, test, N): hit = 0 all = 0 for user in train.keys(): tu = test[user] 3 rank = GetRecommendation(user, N) for item, pui inrank:'>rank: