基于内容推荐算法的原理很简单,就是通过分析物品的特征,计算新物品与用户历史喜欢物品的相似度,找最接近的TOP N条数据作为推荐的候选项。
内容推荐算法步骤
1.将物品的属性资料结构化。结构化就是给内容加上各类属性,做成列表,也就是给物品打标签,当然也不局限于物品,可以是任何内容,都可以做结构化处理。
如:文章可以包括,分类、发布时间、作者、来源等;商品可以是产地、分类、品牌、性能等。
2.从物品属性中提取重要特征,可根据实际情况给特征加权。
内容的不同特征,在用户心目中是有不同权重的,可根据历史数据、经验为特征加权,同样的特征属性可能权重是不一样的。
3.取用户喜欢的历史数据作为训练集,建立出用户的兴趣模型。
这里要强调的是“喜欢",对于用户不喜欢的数据要做去除处理,所以,有时我在做产品页面设计时,有时会加上爱好调研。
4.将物品的特征属性与用户兴趣模型计算相似度,用一个阀值来判断用户是否喜欢物品,多个物品时可以按相似度的高到低来取top n作为推荐候选项。
阀值在这里就需要进行大量数据的参考,阀值在哪个点算做喜欢,随着用户数据的增多,有了更多的样本数据,就可以计算出一个合适的阀值。
上面第1、2两个步骤相对简单,就是根据物品实际的特性取重要特征可以了,比如电子产品选品牌,性能相关的特征,衣服鞋之类的可能选材料相关的特征。
用户兴趣模型
举个例子:
物品有三个特性 A,B,C,计算用户兴趣模型,取此用户喜欢的历史数据100条作为训练集。
接下来计算这100条训练样本,假如一个属性下有A,B,C三个特征,分别取出每一个训练样本分别放入A、B、C三个特征内,根据数量计算出用户喜好程度,如A中有45条样本、B中有25条样本、C中有30条样本。
则用户对此属性的兴趣模型结果为: A:0.45,B:0.25,C:0.3
用户兴趣度计算
当有新物品时,则可根据此模型计算出用户兴趣度。
计算物品如下
A B C
物品1 0 1 1
物品2 1 0 0
物品1与用户的兴趣相似度为 0*0.45+1*0.25+1*0.3=0.55
物品2与用户的兴趣相似度为 1*0.45+0*0.25+0*0.3=0.45
结果很明显物品1更比物品2更适合推荐给用户。
--------------------------------------------------------------
领取专属 10元无门槛券
私享最新 技术干货