我们预测user是否对item感兴趣,最简单的就是user特征和item特征拼在一起作为特征向量,进行模型训练与预测。
但是这样缺少了user与item之间的一些交叉特征,标签就是很重要的一种。
item一般会主动打上一些tag,而user偏好的tag除了给用户自主选择的机会,一般通过大数据来挖掘。
通过积累user对item的点击日志,可以通过hive等大数据平台离线计算出user浏览过哪些tag,以及每个tag的浏览次数。
最终,我们可以基于上述统计结果,计算出每个user浏览过哪些tag,每个tag的权重(该tag浏览次数 / 该用户浏览tag总次数)。
当我们拿到一个item的时候,可以以Item的tag为准,找出user是否有相同的tag,得到item与user的tag交集。
因为user对每个tag均有偏好权重,现在可以产生几个交叉特征,比如:
- user对item的最大tag偏好权重
- user对item的平均tag偏好权重(交集tag的权重sum / item的tag数)
- user对item的tag偏好权重和(交集tag的权重sum)
把这些数值添加到特征向量中,现在整个特征向量的组成是这样的:
- user特征:年龄,性别…
- item特征:价格,热度…
- tag交叉特征:最大tag偏好打分,平均tag偏好打分,偏好总分
你还可以对品牌、分类等做离线挖掘,为每个user对每个brand/category做权重打分,都作为交叉特征。
这样,就可以把海量标签转化为特征表达,体现出user对item的偏好了。
如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~

学习了 深入浅出 九浅一深