推荐系统冷启动概念
- 用户冷启动:如何为新用户做个性化推荐
- 物品冷启动:如何将新物品推荐给用户(协同过滤)
- 系统冷启动:用户冷启动+物品冷启动
- 本质是推荐系统依赖历史数据,没有历史数据无法预测用户偏好
?
用户冷启动
1.收集用户特征
- 用户注册信息:? 性别、年龄、地域.
- 设备信息:? 定位、手机型号、app列表
- 社交信息、推广素材、安装来源
总结用户冷启动:尽可能收集用户信息,构建用户画像(打标签), 根据用户的标签可以做人群聚类用已有用户的行为做推荐,更多的使用流行度(热榜)做推荐 ?
2.引导用户填写兴趣
3.使用其它站点的行为数据
例如腾讯视频 & QQ音乐今日头条 & 抖音
4新老用户推荐策略的差异
新用户在冷启动阶段更倾向于热门排行榜,老用户会更加需要长尾推荐Explore Exploit力度 使用单独的特征和模型预估
物品冷启动
- 给物品打标签
- 利用物品的内容信息,将新物品先投放给曾经喜欢过和它内容相似的其他物品的用户。
?物品冷启动总结:物品打标签构建物品画像? ?做基于内容的推荐
系统冷启动
- 系统早期应用缺少用户行为数据->基于内容的推荐
- 如果随着用户行为积累的越来越多,基于内容的推荐逐渐过渡到协同过滤
- 基于内容和协同过滤共同工作,基于内容的推荐和协同过滤的推荐结果都计算出来加权求和得到最终推荐结果。
基于内容的推荐
1. 给物品打标签
- 用户打标签
- 系统自己提取:从业务数据库中提取,中文分词,利用算法计算词的权重(
- tf-idf
- term frequency 词频? ?
- idf 逆文档频率? idf = log(文本库篇数/出现关键词的篇数)? ??log(1000/1000) = log1 = 0
- TextRank
2. 利用标签文字,转换成词向量
- word2vec? 词 -> 词向量, 用向量表示语义,词向量越相似,认为语义越相似
3. 利用词向量,构造物品向量
- 一个物品有N个关键词,每一个关键词对应一个词向量
- 求和(权重*词向量)/ N
- 利用N个关键词获得物品向量
4. 根据物品向量计算相似度
基于内容的推荐 与 基于物品的协同过滤的区别
- content-base: 词向量->物品向量->相似度
- item-base: user-item matrix ->物品向量->相似度
- content-base? P.S. item-base
- 物品向量的构建过程有区别
- content-base? 物品向量 是从文本(物品的描述信息,用户或系统打的标签)中得来
- item-base CF 物品向量是从用户物品评分矩阵中来,也就是从用户的行为数据中来。
|