注:由于人个技术水平有限,文中的技术及原理也都只是点到为止,文中的难免会有很多疏漏甚至错误,请大家指正(本文会陆续更新),同时有一些理论是参考各个牛人的研究成果,这里只是做以引用。
个性化推荐的本质是帮助用户找到自己感兴趣的物品,这里包括电商网站的商品,在线视频网站的电影作品,以及音乐网站上的音乐作品,这些使用场景,都非常的适合应用个性化推荐技术,帮助用户找到那边感兴趣又不容易找到物品。
现在比较流行的推荐系统,往往是多种策略的融合,以及模块的组合,因为很少有哪一种算法可以覆盖所有的使用场景,或者是召回所有的物品,因此,一个推荐系统的其核心模块一般分为下面几步:
步骤1. 候选集的召回
步骤2. 粗排
步骤3. 精排
步骤3. 业务场景下的规则过滤与重排序
召回
一 Content-based
基于内容的推荐做为基础,是一个实现起来很快且有效的方法,他的步骤大概如下:
1. 通过用户产生行为的物品,分析出用户的喜好,得到User Profile
2. 利用同样的维度得到每个物品的属性刻画
3. 对于新的物品,将用户的user proflie属性与物品的属性计算其相关性,得到一个分数
二、Item-Based
即:共同喜欢同一物品用户的比例 同时购买i和j物品的用户数除以购买i用户数和购买用户j的用户的并集
这里只是考虑了购买或者发生行为的用户数量的比,但实际上还需要:
2.1 考虑用户对物品的评分喜好程度
2.2 对热门物品的惩罚
三、User-Based
基于用户的推荐是,寻找和用户U相似的几个用户V,把V喜欢的物品推荐给U
总的来说,当用户的数据远大于item的时候,可以使用item based 多用于早期的电商网站,而user based的,由于用户的关系相对比较稳定,所以这里多为新闻网站使用User based
注:当然这些都是很老的用法了,现在无论是电商还是信息类网站都早已不只是这些简单的召回方法了,后面会一一补充
- i2i:计算item-item相似度,用于相似推荐、相关推荐、关联推荐;
- u2i:基于矩阵分解、协同过滤的结果,直接给u推荐i;
- u2u2i:基于用户的协同过滤,先找相似用户,再推荐相似用户喜欢的item;
- u2i2i:基于物品的协同过滤,先统计用户喜爱的物品,再推荐他喜欢的物品;
- u2tag2i:基于标签的泛化推荐,先统计用户偏好的tag向量,然后匹配所有的Item,这个tag一般是item的标签、分类、关键词等tag;