推荐系统实践 - 项亮

1. 好的推荐系统

1.1 什么是推荐系统

推荐系统的任务是联系用户和信息,帮助用户发现对自己有价值的信息,另一方面让信息能够展示在对它感兴趣的用户面前,解决信息过载的问题。

推荐系统能更好地发掘物品的长尾。如果要发掘长尾提高销售额,就必须充分研究用户的兴趣,这是个性化推荐系统主要解决的问题。

1.2 个性化推荐系统的应用

1.2.1 电子商务

推荐界面包含的内容:

推荐结果的标题、缩略图以及其他内容属性:告诉用户给他们推荐的是什么;

推荐结果的评分:反应推荐结果的总体质量;

推荐理由、提供对推荐结果进行反馈的方式。

推荐算法

给用户推荐那些和他们之前喜欢的物品相似的物品;

给他们推荐他们的fb好友在亚马逊上喜欢的物品;

相关列表推荐:当购买一件商品时,商品信息下面展示相关的商品。

1.2.2 电影和视频网站

1.2.3 个性化音乐网络电台

1.2.4 社交网络

1.2.5 个性化阅读

1.2.6 基于位置的服务

1.2.7 个性化邮件

1.2.8 个性化广告

1.3 推荐系统评测

完整的推荐系统一般存在3个参与方:用户、物品提供者、提供推荐系统的网站。

1.3.1 推荐系统实验方法

离线实验、用户调查、在线AB测试

一个新的推荐算法最终上线,需要完成这3个实验。

1.3.2 测评指标

用户满意度、预测准确度(评分预测,TopN推荐)、覆盖率(覆盖率100%表示推荐系统可以将每个物品都推给至少一个用户)、多样性、新颖性、惊喜度、信任度、实时性、健壮性、商业目标。

1.3.3 评测维度(一个算法在什么情况下性能最好)

用户维度、物品维度、时间维度

2. 利用用户行为数据(协同过滤)

2.1 用户行为分析

2.1.1 用户活跃度和物品流行度的分布(长尾分布)

2.2.2 用户活跃度和物品流行度的关系(新用户倾向于浏览热门的东西)

2.2 基于领域的算法

2.2.1 基于用户的协同过滤算法

把和A有相同兴趣的用户喜欢而A没有听说过的物品推荐给A。

步骤:找到和目标用户兴趣相似的用户集合(余弦相似度);找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。

UserCF重要参数K,为每个用户选出K个和他兴趣相似的用户,然后推荐那K个用户感兴趣的物品。不同K值,评测指标性能不同。

用户相似度计算的改进

案例:Digg。用户A顶了某篇文章,在这之前有BC等用户也顶了该篇文章,然后给A推荐BC最近顶的文章。

2.2.2 基于物品的协同过滤算法(ItemCF)

给用户推荐那些和他们之前喜欢的物品相似的物品。相似度的计算:不利用物品的内容属性计算物品之间的相似度,主要通过分析用户的行为记录计算物品之间的相似度。

步骤:计算物品之间的相似度;根据物品相似度和用户的历史行为给用户生成推荐列表。

两个物品产生相似度是因为它们共同被很多用户喜欢,也就是每个用户都可以通过它们的历史兴趣列表给物品贡献相似度。

2.2.3 UserCF和ItemCF的综合比较

UserCF:着重反映和用户兴趣相似的小群体的热点。

eg:digg等新闻类。某个话题的新闻不可能每天都有新的消息,可以给用户推荐其他有相同兴趣的用户在看的新闻。

ItemCF:着重于维系用户的历史兴趣。

eg:图书、电子商务、电影网站,这些网站,用户的兴趣比较持久,个性化推荐的任务是帮助用户发现和他研究领域先关的物品。

2.3 隐语义模型(LFM, latent factor model)

2.3.1 基础算法

核心思想:通过隐含特征(latent factor)联系用户兴趣和物品。

对物品的兴趣进行分类,对于某个用户,先得到他的兴趣分类,然后从分类中挑选他可能喜欢的物品。

该方法需要解决的3个问题:

如何给物品进行分类?采用基于用户行为统计的自动聚类

如何确定用户对哪些物品感兴趣,以及感兴趣的程度?Preference(u,i)=

对于一个给定的类,选择哪些属于这个类的物品推荐给用户?以及如何确定这些物品在一个类中的权重?

2.3.2 基于LFM的实际系统的例子

2.3.3 LFM和基于邻域的方法的比较

2.4 基于图的模型

3. 推荐系统的冷启动问题

3.1 冷启动问题简介

用户冷启动:给新用户做个性化推荐

物品冷启动:将新的物品推荐给用户

系统冷启动:新开发的网站,没有用户以及用户行为,只有一些物品的信息

3.2 利用用户注册信息

3.2 选择合适的物品启动用户的兴趣

新用户第一次访问推荐系统时,不立即给用户展示推荐结果,而是给用户提供一些物品,让用户反馈对物品的兴趣,再根据反馈提供推荐。

如何选择物品?

比较热门,具有代表性和区分性,启动物品集合需要有多样性(如给分类)

3.4 利用物品的内容信息(内容过滤算法)

计算物品内容之间的相似度后再推荐。如果用户的行为强烈受某一内容属性的影响,内容过滤的算法可以在准确率上超过ItemCF。

3.5 发挥专家的作用

从音频分析入手计算歌曲之间的相似度技术门槛很高,Pandora对歌曲额的各个维度进行标注,标注完后,每首歌可以表示为一个400维的向量,然后通过常见的向量相似度算法可以计算出歌曲的相似度。

4. 利用用户标签数据

除了UserCF和ItemCF,第三种重要的方式是通过一些特征联系用户和物品,给用户推荐那些具有用户喜欢的特征的物品。特征具有不用的表现形式,可以表现为物品的属性集合,也可以表现为隐语义向量(可以通过隐语义模型习得),标签就是一种重要的特种表现形式。

4.1 UGC标签系统的代表应用

Delicious、CiteULike、Last.fm、豆瓣、Hulu。

标签的作用:表达、组织、学习、发现、决策

4.2 标签系统中的推荐问题

4.2.1 用户为什么进行标注

社会维度:便于上传者组织自己的信息;便于用户找到信息

功能维度:用户更好组织内容;用于传达某种信息

4.2.2 用户如何打标签

标签流行度k与标签总数n(k)呈现非常典型的长尾分布

4.2.3 用户打什么样的标签

表明物品是什么、表明物品的种类、表明谁拥有物品、表达用户观点、用户相关的标签、用户的任务

4.3 基于标签的推荐系统

用户的每一次打标签行为都用一个三元组(用户、物品、标签)表示。

4.3.1 实验设置

4.3.2 一个简单的算法

统计每个用户做常用的标签

对于每个标签,统计被打过这个标签次数最多的物品

对于每个用户,首先找到他常用的标签,然后找到具有这些标签的最热门的物品推荐给这个用户

再对算法进行测评,召回率、准确率、覆盖率、多样性、平均热门程度

4.3.3 算法的改进

4.3.4 基于图的推荐算法

4.3.5 基于标签的推荐解释

让用户直观上感觉推荐结果有道理是很困难的,而豆瓣将推荐结果的课解释性拆分成了两个部分,首先让用户觉得标签云是有道理的,然后让用户觉得从某个标签中推荐出某本书也是有道理的。

4.4 给用户推荐标签

4.4.1 为什么要给用户推荐标签

方便用户输入、提高标签质量

4.4.2 如何给用户推荐标签

给用户推荐整个系统里最热门的标签、给用户推荐物品i上最热门的标签、给用户推荐他自己经常用的标签、讲前面两种推荐结果线性加权然后生成最终的推荐结果。

4.4.3 实验设置

4.4.4 基于图的标签推荐算法

5. 利用上下文信息

包括推荐系统的时间,地点、心情等。

时间上下文信息

地点上下文信息

6. 利用社交网络数据

7. 推荐系统实例

8. 评分预测问题

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容