物品表示:为每个物品抽取出一些特征(也就是物品的content了)来表示此物品; 特征学习:利用一个用户过去喜欢(及不喜欢)的物品的特征数据,来学习出此用户的喜
好特征; 生成推荐列表:通过比较上一步得到的用户喜好与候选物品的特征,为此用户推荐一组相
关性最大的物品。
4
基于内容的推荐方法
基于内容的推荐的过程
根据给物品打标签的人的不同,标签应用一般分为两种:一种是让作者或者专家给物品打标签;另 一种是让普通用户给物品打标签,也就是UGC的标签应用。
UGC的标签系统是一种表示用户兴趣和物品语义的重要方式。当一个用户对一个物品打上一个 标签,这个标签一方面描述了用户的兴趣,另一方面则表示了物品的语义,从而将用户和物品联系 了起来。
addValueToMat(user_items, user, item, 1)
24
基于标签的推荐系统
SimpleTagBasedCB
#对用户进行个性化推荐
def Recommend(user): recommend_items = dict() tagged_items = user_items[user] for tag, wut in user_tags[user].items(): for item, wti in tag_items[tag].items():
豆瓣允许用户对图书和电影打标签,借此获得图书和 电影的内容信息和语义,并用这种信息改善推荐效果
Last.fm分析用户的听歌行为预测用户对音乐的兴趣, 从而给用户推荐个性化的音乐。
12
标签系统中的推荐问题
标签的作用
表达标签系统帮助我表达对物品的看法。(30%的用户同意) 组织打标签帮助我组织我喜欢的电影。(23%的用户同意) 学习打标签帮助我增加对电影的了解。(27%的用户同意) 发现标签系统使我更容易发现喜欢的电影。(19%的用户同意) 决策标签系统帮助我判定是否看某一部电影。(14%的用户同意)