开发者学堂课程【高校精品课-北京大学 -推荐系统 :Lec4 基于内容和知识的推荐】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/122/detail/3973
Lec4 基于内容和知识的推荐
内容介绍:
一、协同过滤的不足
二、基于内容的推荐
三、基于内容的推荐系统框架
四、基于内容的推荐系统框架
一、协同过滤的不足
(1)协同过滤的基本思想:
利用集体智慧,根据相关人群的行为进行推荐,在很多领域或者应用场景不错效果。
(2)协同过滤的不足:
依赖于对用户和项目交互行为数据的挖掘
项目冷启动:无法向用户推荐新项目(即还有任何交互行为的项目,常见于新闻咨询、短视频等推荐)。平台会有新的项目不断的产生,导致无法根据协同过滤进行推荐。
数据稀疏: 难以(或无法) 为不活跃的(反馈行为少的) 用户进行推荐。
用户a只有一个小的行为,而且行为和其他用户的交互行为没有交集,所以利用协同过滤算法也没有办法为用户 a 产生推荐结果,可以采用基于内容的推荐。
二、基于内容的推荐
1、基本思想:
为用户推荐与他感兴趣(过去喜好)的项日内容相似的项目。
发掘用户曾经喜欢过(例如:购买过)项目的特性,并推荐类似的项目。
针对用户 a 的观影历史,喜欢喜剧或者爱情类的电影,可以推荐同类型的电影 c 给用户 a,可以解决项目的问题,新项目电影 c 推荐给用户 a,而且可以缓解数据吸收问题,针对不活跃用户 a 产生 合理的推荐结果,基于内容推荐。
2、主要步骤:
项目建模:构建描述项目的结构化特征。
用户建模:根据用户的历史行为和相关项目信息,刻画用户的偏好特征。
生成推荐列表:根据项目特征和用户偏好特征的匹配程度对项目进行排序。
三、基于内容的推荐系统框架
框架包括三个模块,第一个模块是项目画像,第二个模块是用户画像,第三个模块是产生推荐,项目画像主要负责对项目内容进行分析得到结构化的项目表征,用户画像主要根据用户的行为和相关的项目信息产生用户的偏好特征描述和用户模型,根据用户的偏好画像和项目的结构化进行匹配生成预测结果和推荐列表,在产生推荐模块,也有两种常用方式,第一种是基于记忆的推荐,第二种是基于模型的推荐,可以使用传统的机器学习模型,例如矩阵网络,矩阵数等学习模型产生预测结果。
四、基于记忆的推荐
主要差别在评分预测时需要对预测值修正,使得预测结果和输入评分取得统一范围,其它的符号和描述是类似的,以Top-N 推荐为例,如何进行预测。
1、Top-N 推荐:用户u对候选项目的兴趣度
N(u) 表示用户 u 有过正反馈的项目集合
wij 表示项目 i 和项目 j 之间的(内容)相似度,nu 和 ruj 都取决于数据。
ruj 表示用户 u 对项目 j 的兴趣度,对于 Top-N 推荐,ruj 为二值(0-1)变量,如果用户 u 对项目 j 有兴趣行为则取1,否则取做0。
2、评分预测:用户 u 对项目的评分预测值
N(u) 表示用户 u 有过评分的项目集合
ruj 表示用户 u 对项目 j 的评分
wij 表示项目 i 和项目 j 之间的(内容)相似度
wij 是这类方法的难点和计算的关键,计算项目之间的 (内容)相似度。