《推荐系统实践》要点思维导图

来源:互联网 发布:怎样成为一个网络写手 编辑:程序博客网 时间:2024/06/13 14:16

推荐系统实践

1 好的推荐系统

1.1 基本任务:联系用户和物品

与分类目录、搜索引擎一样解决信息过载问题。

解决无明确目的的物品需求,并能发掘物品长尾。

1.2 推荐应用

应用于电子商务、视频网站、音乐电台、社交网络、个性化阅读、LBS、个性化邮件、定向广告投放。

前端页面、后台日志和推荐算法三功能。

1.3 系统评测

1)实验方法:离线实验、用户调查、在线实验。

2)评测指标:

用户满意度(问卷)。
预测准确度(评分预测RMSE和MAE、TopN推荐准确率和召回率)。
覆盖率(信息熵和基尼系数)。
多样性、新颖性、惊喜度、信任度、实时性、健壮性、商业目标。

3)评测维度:用户、物品、时间。

2 利用用户行为数据

2.1用户行为数据:正、负反馈

无上下文信息的隐性反馈数据

无上下文信息的显性反馈数据

有上下文信息的隐性反馈数据

有上下文信息的显性反馈数据

2.2 用户行为分析

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

2)用户活跃度和物品流行度的关系:协同过滤推荐算法

基于领域的方法:UserCF和ItemCF
隐语义模型LFM
基于图的随机游走算法

2.3 算法及评测

训练集和测试集、召回率、准确率、覆盖率、流行度

UserCF:用户相似度矩阵和用户对物品的兴趣度

ItemCF:物品相似度矩阵和用户对物品的兴趣度

LFM:P、Q矩阵SVD求解以及用户对物品的兴趣度

基于图的模型(graph-based model):度量顶点间相关性的算法,基于随机游走的PersonalRank算法

3 推荐系统冷启动问题

3.1 冷启动问题

1)用户冷启动:解决新用户个性化推荐

2)物品冷启动:解决新物品推荐给感兴趣用户

3)系统冷启动:解决新系统向用户推荐物品

4)非个性化推荐:热门排行榜

3.2 利用用户注册信息

1)人口统计学信息:年龄、性别、职业、住址等

2)用户兴趣描述

3)用户站外行为数据:豆瓣、微博等社交网站的行为数据和社交数据

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

1)热门

2)代表性和区分性

3)多样性

3.4 利用物品的内容信息

向量空间模型Vector Space Model,文本-分词-实体检测-关键词排名-关键词向量

LDA话题模型

ECML/PKDD 2011年物品冷启动比赛

3.5 发挥专家的作用:专家样本标注

音乐基因项目,标注400多个特征

电影基因项目,mood\plot\genres\time\period\praise\style\look\flag

4 利用用户标签数据

4.1 UGC标签系统的代表应用

Delicious:网页打标签

CiteULike:协同过滤collaborative-filtering和评测evaluate

Last.fm:标签云tag cloud

豆瓣:评论和社交网站,用户打标签

Hulu:视频网站,热门标签

4.2 标签系统中的推荐问题:标注时推荐和标签行为推荐

标注行为:蕴涵用户兴趣信息

标签流行度也符合长尾分布

标签内容:物品种类、用户观点等

4.3 基于标签的推荐系统

标签行为:三元组(u,i,b)

SimpleTagBased算法

统计每个用户常用的标签
统计每个标签标记最多的物品
先推荐常用再推荐相关标签热门物品

TagBasedTFIDF算法

借鉴TFIDF思想

TagBasedTFIDF++算法

适当惩罚热门标签和热门物品

数据稀疏性:计算标签相似度

标签清理

4.4 基于图的推荐算法

用户、物品、标签顶点,权重边

4.5 基于标签的推荐解释

豆瓣:标签云

用户对物品的兴趣

用户对标签的兴趣tag preference
IterPopularTags算法
UserPopularTags算法
标签与物品的相关度tag relevance

用户推荐标签

ECML/PKDD2008推荐比赛的算法

张量分解tensor factorization
基于LDA的算法
基于图的算法

5 利用上下文信息

Sourcetone音乐推荐系统

5.1 时间上下文信息

用户兴趣会变化、物品有生命周期、季节效应

系统时间特性分析,三元组(u,i,t)

推荐系统的实时性

推荐算法的时间多样性

时间上下文推荐算法

1)最近最热门RecentPopularity:物品i最近流行度
2)时间上下文的ItemCF
3)时间上下文的UserCF
时间段图模型SGM:路径融合算法
USGM:物品时间节点权重为0
ISGM:用户时间节点权重为0

5.2 地点上下文信息:LBS

Hotpot服务

基于位置的推荐算法LARS:具有空间属性的物品

兴趣本地化
活动本地化

6 利用社交网络数据

6.1 获取社交网络数据的途径

电子邮件:邮箱地址

用户注册信息

用户的位置数据

论坛和讨论组

即时聊天工具

社交网站:社会图谱和兴趣图谱

6.2 社交网络数据简介

双向确认的社交网络数据:Facebook和人人网,用户关系要双方确认

单向关注的社交网络数据:Twitte和微博

基于社区的社交网络数据:论坛

社交网络用户的入度和出度分布满足长尾分布

6.3 基于社交网络的推荐:ACM2010年推荐系统大会

基于领域的社会化推荐算法:用户之间社会熟悉度和对物品兴趣相似度

基于图的社会化推荐算法

大数据级别下内存不足问题:Twitter架构解决方案

社会化推荐系统的评测:Rashmi Sinha和Kirsten Swearingen对比协同推荐的论文

信息流推荐

Facebook和Twitter:用户信息墙
EdgeRank算法:综合信息流会话的时间、长度和用户兴趣相似度

6.4 给用户推荐好友:链接预测,Jon Kleinberg的文章

基于内容的匹配

基于共同兴趣的好友推荐

基于社交网络图的好友推荐:Slashdot社交网络数据集

好友推荐算法对比

InterestBased:兴趣相似
SocailBased:社交网络
SONA:IBM内部推荐算法

6.5 扩展要点

6度原理:任意两个人都可以通过不超过6个人的路径相互认识,即社交网络图的直径为6

六度原理的证明,均匀随机图,参考Random Graph书

社交网络研究的两个著名问题

如何度量人的重要性,即社交网络顶点的中心度(centrality)
如何度量社交网络中人与人之间的关系,即链接预测

Epinion数据集

Ma Hao矩阵分解的社会化推荐算法解决评分预测问题
矩阵分解模型中加入正则化项
具有社交关系的用户的隐语义向量具有较高相似度

ACM2010年社会推荐比赛

社交网络作为上下文

7 推荐系统实例

7.1 外围架构

UI系统:网页展示并与用户交互

日志系统:记录用户的UI行为

数据收集和存储

7.2 基于特征的推荐系统架构

特征种类

人口统计学特征
用户行为特征
用户话题特征

推荐系统架构图

每个推荐引擎负责一类特征或一类任务,代表一种推荐策略

7.3 推荐引擎的架构

生成用户的特征向量

用户行为的种类
用户行为产生的时间
用户行为的次数
物品的热门程度

特征-物品相关推荐

过滤模块

用户已经产生过行为的物品
候选物品以外的物品
质量很差的物品

排名模块

新颖性排名
推荐用户不知道的、长尾中的物品
多样性
时间多样性
用户反馈

MyMedia开源推荐系统架构

项目网站:http://www.mymediaproject.org/default.aspx

8 评分预测问题:三元组(u,i,r)

评分预测算法,Netflix Prize大赛

平均值

全局平均值
用户评分平均值
物品评分平均值
用户分类对物品分类的平均值
用户和物品的平均分
用户活跃度和物品流行度

基于领域的方法:结合用户兴趣相似的用户对物品的评分

余弦相似度
皮尔逊系数
Sarwar修正余弦相似度

隐语义模型和矩阵分解模型

降维补全矩评分矩阵
传统SVD分解
Simon Funk的SVD分解
加入偏置项后的LFM
考虑领域影响的LFM

加入时间信息

基于领域的模型融合时间信息
基于矩阵分解的模型融合时间信息

模型融合

模型级联联合

模型加权联合


原创粉丝点击