基于内容的推荐(u2tag2i)


一、概述

u2tag2i:基于标签的泛化推荐,先统计用户偏好的tag向量,然后匹配所有的Item,(这个tag一般是item的标签、分类、关键词等tag),可以利用jaccard距离公式算相似性评分;

优点:

基于内容的推荐一般是推荐系统的起步阶段,而且会持续存在,其重要性不可替代。

(1) 为某一用户做推荐的时候不需要使用其他用户的数据。

(2) 产品冷启动阶段,新的物品要被推荐出去,首选内容推荐。

(3) 可解释性好,产品的特征决定了推荐值。

缺点:

(1) 某些物品的特征提取比较难。

(2) 过于专门化。永远不会推荐和用户曾经喜欢的物品不相干的物品,完全没有利用其它用户的喜好来提高对此用的推荐质量。

(3) 对于新用户有冷启动问题。新用户的用户画像为空,无法做出推荐。

新用户冷启动:推荐目前热度最高的物品、让新用户主动选择一些标签tag做推荐

适用场景:特别适合文本领域,比如新闻推荐等。核心在于把物品描述以及内容更好的利用起来。

 二、整体流程

 1、原始数据(music_meta

musicid   音乐id
desc      简单音乐描述信息(文本内容)
catgory    音乐类别

对music_meta数据的简单描述信息desc进行抽取,然后将其作为物品的内容,然后进行分词,利用tf-idf进行关键词抽取,得到top3的关键词,能够得到物品的关键词表

musicid   音乐id
keywords    关键词列表(tag)

 由 可以知道基于用户听歌日志表得到用户对音乐的喜爱程度字段

 userid , musicid, rating  AS  score

 2、制作用户标签

3、物品标签(即关键词)和用户标签做相似匹配

物品标签做倒排优化:

原来:

musicid      keywords

item_id: 刘德华、潘玮柏、周杰伦

倒排后:

刘德华,i1:0.3,i3:0.5,i7:0.7
潘玮柏,i2:0.8,i9:0.7,i11:0.1

用户标签:

user_id: 刘德华、潘玮柏

可以用基于jaccard距离:用户标签和物品标签的交集除以其并集,作为用户对物品的评分。