推荐系统:标签兴趣计算

来源:互联网 发布:数据库自然连接 编辑:程序博客网 时间:2024/05/24 05:41

最近在做一个短视频推荐项目,需要计算出用户对那些标签真正感兴、对哪些标签不感兴趣、对那些标签可能感兴趣。例如,对用户张三而言,感兴趣的标签列表<民谣、历史、音乐、军事、文学>,不感兴趣的标签<周杰伦、好声音、那英>,不能确定是否感兴趣的标签<搞笑、惊悚>。当然,在计算用户对标签的感兴趣程度时要对标签进行预处理,是标签质量有所提升,不要出现大量拼写错误、语义模糊、标签冗余等情况。这里介绍下文献[1]的方法,该方法利用统计学方法能够生成用户感兴趣、不感兴趣、不确定三种标签集合。
通过一个例子介绍一下用到的统计学方法。假设总共有815个物品,其中有316个物品含有标签“小提琴”,那么我们随机抽取一个物品含有“小提琴”标签的概率是:p(小提琴)=316/815=0.39。现在假设用户张三选择了30个物品,我们怎样确定张三是根据自己的喜好选择的,还是他就是随机的选择,怎样根据张三的选择来确定他是不是对“小提琴”这个标签感兴趣。思考下:如果张三是随机选择,那么应该有30*0.39~12个物品拥有“小提琴”标签,通过观察发现张三选择的30个物品中有25个有“小提琴”标签,那么从某种程度上说张三不是随机选择,而是带着一定的目的性,也就是说张三可能是因为物品和小提琴相关才做出的选择。随机抽样总有误差(注:本人对数理统计不太理解,以下说的可能存在错误或不足,请谨慎读之),所以引入置信区间的概念,举个例子,当我们说某个估计值的95%置信区间为[X1,X2]的时候,意味着我们认为估计值以较高的概率(95%)介于X1和X2之间,即跳出该区间的概率为5%(上下界限之外各为2.5%)例子来源。
可以这样假设:随机抽取30个样本,那么置信度为95%的置信区间可以计算出[6.4,16.86]。也就是说随机抽取30个样本,含有“小提琴”标签的物品个数以95%的概率落在[6.4,16.86]中。在某种程度上可以认为,不在[6.4,16.86]中则表明了不是随机选择。假设在张三选择的30个物品中,如果包含“小提琴”的物品个数小于6个,则可以认为张三对“小提琴”标签不感兴趣,如果大于17,则可以认为张三对“小提琴”标签感兴趣。介于两个数值之间则认为计算不出张三对“小提琴”感不感兴趣。

[1]Learning User Interests through Positive Examples Using Content Analysis and Collaborative Filtering

1 0