推荐系统学习总结

Posted 一休Q_Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统学习总结相关的知识,希望对你有一定的参考价值。

1.1用户行为数据

用户行为数据在网站上最简单的存在形式就是日志。网站运行中产生原始日志,并存在文件系统。

1. 用户行为在个性化推荐中分为两种:显示反馈和隐形反馈(浏览)。各网站例子:
(1) 视频网站:显性:用户对视频评分;隐性:用户观看视频日志/浏览视频页面的日志
(2) 电子商务网站:显性:用户对商品评分;隐形:购买日志,浏览日志
(3) 门户:显性:对新闻的评分;隐性:阅读新闻的日志
(4) 音乐:显性:用户对音乐/歌手/专辑的评分,隐性:听歌日志

  1. 协同过滤,基于邻域方法:
    (1) 基于用户的协同过滤算法:给用户推荐和他兴趣相似的其他用户喜欢的物品
    (2) 基于物品的系统过滤算法:给用户推荐和他之前喜欢的物品相似的物品。亚马逊/Neetflix/HULU//Youtube。首先计算物品之间的相似度;然后根据物品的相似度和用户的历史行为给用户生成推荐列表
  2. 隐语义模型
    LFM :Latent factor model,通过隐含特征联系用户兴趣和物品。
  3. 基于图模型
    用户顶点集合和物品顶点集合。相关性高的顶点特点:
    (1) 两个顶点之间有路径相连
    (2) 连接两个顶点之间的路径长度都比较短
    (3) 连接两个顶点之间的路径不会经过出度比较大的顶点。
    算法:随机游走的PersonalRank

1.2推荐系统冷启动

1.冷启动问题分3类:
(1) 用户冷启动
新用户做个性化推荐
(2) 物品冷启动
新物品推荐给可能对他感兴趣的用户
(3) 系统冷启动
新开发的网站(无用户/无用户行为/只有物品信息)设计个性化推荐系统
2.解决方案
(1) 提供非个性化推荐,热门排行榜
(2) 利用用户注册时提供的年龄/性别等数据做粗粒度的个性化
(3) 利用用户的社交网络账号登陆,导入用户在社交网站上的好友信息,然后给用户推荐其好友喜欢的物品
(4) 要求用户在登陆时对一些物品进行反馈,收集用户对物品的兴趣信息,然后给用户推荐和这些物品相似的物品
(5) 对于新加入的物品,利用内容信息,推荐给喜欢过和他们相似物品的用户
(6) 系统冷启动时,引入专家的知识,建立物品相关度表。
3.用户注册信息
用户注册信息分三种:
(1) 人口统计学信息,年龄,性别,职业,民族,学历,居住地
(2) 用户兴趣描述
(3) 从其他网站导入的用户站外行为数据,通过豆瓣//新浪微博账号登陆,剋获得行为数据和社交信息。
4. 利用物品的内容特征
话题模型LDA,,有3元素:文档/话题/词语。每篇文档表现为词的集合,为词袋模型。每个词在一篇文章中属于一个话题,D为文档集合,Di为第i篇文档,Wij是第i篇文档的第j个词,Zij是第i篇文档的第j个词属于的话题。

1.3用户标签数据

用户标签分两种:一是让作者或者专家给物品打标签;另一种是让普通用户给物品打标签(UGC USER GENERATED CONTENT),UGC标签系统是表示用户兴趣和物品语义的重要方式。
1. 标签系统中的推荐问题:
(1) 如何利用用户打标签的行为为其推荐物品;
(2) 如何在用户给物品打标签的时候为其推荐合适的标签
2. 标签清理
(1) 去除词频很高的停用词
(2) 去除因词根不同造成的同义词
(3) 去除因分隔符造成的同义词

1.4上下文信息

  1. 时间上下文
    时间信息对用户兴趣的影响表现在以下几个方面:
    (1) 用户兴趣是变化的,用户自身原因发生的变化,如一个程序员,随着工作时间的增加,逐渐从阅读入门书籍到专业书籍过渡。
    (2) 物品也是有生命周期的,如电影刚上映时会有很多人关注,很多上映后不久就被淡忘了。
    (3) 季节效应,时间本身对用户兴趣的影响。
  2. 推荐系统的实时性
    用户兴趣是不断变化的,用户不断增加新行为中。实时推荐系统需要能够实时响应用户新的行为,让推荐列表不断变化,从而满足用户不断变化的兴趣。
    提高推荐结果的时间多样性:
    (1) 保证推荐系统能够在用户有了新的行为后及时调整推荐结果,使推荐结果满足用户最近的兴趣;
    (2) 保证推荐系统在用户没有新的行为时,推荐结果也会经常变化。
  3. 时间上下文相关的ItemCF算法
    基于物品的个性化推荐算法是商用推荐系统中应用最广泛的,由两部分组成:
    (1) 利用用户行为离线计算物品之间的相似度;
    (2) 根据用户的历史行为和物品相似度矩阵,给用户做在线个性化推荐。

1.5社交网络数据

获取社交网络数据的途径有
(1) 电子邮件,通过邮箱后缀得到一定的社交关系信息,同一家公司
(2) 用户注册信息,通过用户注册填写的公司/学校的信息
(3) 用户的位置数据,在网页上最容易拿到的用户位置信息是IP地址,手机等移动设备可以拿到更详细的GPS数据。
(4) 论坛和讨论组
(5) 即时聊天工具
(6) 社交网站,如Facebook和Twitter, 允许用户创建一个公开的页面介绍自己,并且默认公开用户的好友列表。社交网站的另一个好处是自然的减轻了信息过载问题。
社会图谱和兴趣图谱。

1.6推荐系统实例

1.数据收集和存储
个性化推荐依赖用户行为数据,而在任何一个网站中都存在着各种各样的用户行为数据。
2.推荐系统架构
用户的特征种类主要分:
(1) 人口统计学特征:包括用户的年龄/性别/国籍和民族等用户在注册时提供的信息。
(2) 用户的行为特征:用户浏览过什么/收藏过什么/给什么物品打过什么标签等用户行为相关的特征
(3) 域用户的话题特征:根据用户的历史行为数据利用话题模型聚合话题。
推荐系统的任务也分为多种:
(1) 将最新添加的物品推荐给用户
(2) 将商业上需要宣传的物品推荐给用户
(3) 供给用户推荐不同种类的物品
(4) 供给用户混合推荐,有时需要将图书和音响制品放在同一个推荐列表
(5) 但对于不同的产品推荐不同对的新物品
(6) 考虑用户访问推荐系统的上下文
推荐引擎的架构主要分3部分:
(1) 生成特征向量,从不同的数据源拿到用户行为数据,通过分析不同行为,生成当前用户的特征向量
(2) 将用户的特征向量通过特征-物品相关矩阵转化为初始推荐物品列表
(3) 大队原始的推荐列表进行过滤/排名等处理,生成最终的推荐结果。

过滤:通常过滤以下几种物品:
(1) 用户已经产生过行为的物品
(2) 候选物品以外的物品
(3) 某些质量很差的物品
排名:
(1) 新颖度排名:给用户尽量推荐他们不知道的/常为的物品
(2) 多样性:推荐结果覆盖更多的用户兴趣。
(3) 时间多样性:保证用户每天来推荐系统看到不同的推荐结果:记录用户每次登陆系统看到的推荐结果;将这些结果发回日志系统;在用户登录时,拿到昨天及之前的推荐结果列表,从当前推荐结果中奖用户已经看到的推荐结果降权。

以上是关于推荐系统学习总结的主要内容,如果未能解决你的问题,请参考以下文章

推荐系统学习总结

推荐系统实践(项亮)— 第2章 利用用户行为数据

推荐系统中的负反馈策略设计

推荐算法的基于协同过滤的推荐

Neural Collaborative Filtering(神经协同过滤)

学习这篇总结后,你也能做出天天快报一样的推荐系统