推荐系统实践 笔记4 利用用户标签数据
AngelAndAngel
2012-12-14
标签应用一般分两种:一种是让作者或者专家给物品打标签;另一种是让普通用户给物品打标签,也就是UGC。
当一个用户对一个物品打上一个标签,这个标签一方面描述了用户的兴趣,另一方面则表示了物品的语义,从而将用户和物品联系了起来。 标签系统的最大优势在于可以发挥群体的智能,获得对物品内容信息比较准确的关键词描述。 标签系统的推荐问题主要有以下两个: 1,如何利用用户打标签的行为为其推荐物品(基于标签的推荐)? 2,如何在用户给物品打标签时为其推荐适合该物品的标签呢(标签推荐)? 基于标签的推荐 首先,计算物品标签向量之间的余弦相似度,向量的值为各个标签被物品打的次数 先找出用户前k个最常用的标签 以及这个用户分别打了多少次每个标签(这个数字将作为用户对每个标签的权重,暂且成为用户标签权重),然后找出物品i被哪些标签打过,并记录次数(这个数字暂且称为标签物品权重),两个标签集取交集,为下面的迭代做准备,最后,迭代这些物品I和用户U, 每个用户u(i)对物品i(j)的兴趣度就等于 用户标签权重*标签物品权重的乘机之和。 但是这种算法倾向于给热门标签和热门标签对应的热门物品过大的权重,所以可以参考关键词搜索中tf-idf的方式,给热门标签或热门物品降权,即连加的过程中分别除以log(1+n1)*log(1+n1),n1表示某个标签被多少个不同的用户使用过,n2表示某个物品被多少个不同的用户打过标签 标签系统上线后,数据较少,可以把标签的相似标签都加入到用户的标签集合中。相似标签最简单的方法是找出同义词,或者计算标签相似度 标签推荐 如何给用户推荐标签? 1,推荐整个系统里最热门的标签 2,给用户推荐某物品上最热门的标签 3,给用户推荐自己经常使用的标签 4,前两者结合 假设第2,3分别计算出某个标签的权重(分别都可以为0)为w2,w3,那么第四种的计算方法为w4=a*w2+(1-a)*w3 在目前的测试中,a=0.8,也就是物品标签权重大一点的话,推荐结果最为准确。 在实际情况中,我们可以在物品下面分别列出物品最热门的标签和用户自己最常用的标签。 对于新用户或冷门物品(或者新物品),没有太多历史标签记录,那么可以提取关键字作为标签,或者通过相似度计算进行标签扩展。 |
相关讨论
相关资源推荐
- 迈瑞的四道IQ笔试题
- 一面腾讯,下午又笔试迈瑞,日子繁忙
- 我的求职之路
- 《永磁无刷直流电机控制系统与软件综合研究-集成电机计算软件、电机控制器及电磁设计软件的创新设计与实践》,永磁无刷直流电机计算与控制软件:高效电机控制器与电磁设计工具,永磁无刷直流电机计算软件,电机控
- 新能源汽车VCU开发模型及策略详解:从控制策略到软件设计全面解析,新能源汽车VCU开发模型及策略详解:从控制策略到软件设计全面解析,新能源汽车VCU开发模型及控制策略,MBD电控开发 新能源汽车大势所
- Python读取Excel文件的方法详解及应用场景
- 毕设springboot基于springboot的医护人员排班系统.zip
- MATLAB仿真的夫琅禾费衍射强度图:圆孔、圆环、矩形孔定制研究,MATLAB仿真:夫琅禾费衍射强度图的可定制性-以圆孔、圆环及矩形孔为例的研究分析,MATLAB夫琅禾费衍射强度图仿真 圆孔,圆环
- 商道融绿ESG评级20241231.xlsx
- 基于Dugoff轮胎模型与B08-01基础建模的七自由度车辆动力学模型验证:利用MATLAB 2018及以上版本与CarSim 2020.0软件的仿真对比研究,基于Dugoff轮胎模型与B08-01框