推荐系统那些事儿2
推荐系统那些事儿2
1 非个性化
(1)Item相似度
学名:co –occurrence
隐性数据:视频,社交网络,电子商务中的共同浏览,共同购买,互粉等等,对于一些隐性数据,计算共同行为,这也是最简单的。一般的方式是,写个sql 自连接。部分人定义为协同过滤思想,姑且看做狭义定义。实际处理中,需要经过数据预处理,包括业务上的和技术上的。这里,可以采用LoglikelihoodSimilarity作为相似性度量方式
显性数据:譬如用户评分数据,需要经过数据预处理,譬如处理一些bias,然后根据皮尔逊相似度度量方式,计算item之间的相似度
基于内容计算相似度
根据item的属性特征,譬如网页的特征,歌曲的特征等,根据editdistance,或者基于tfidf,得到权重,计算余弦相似度
PS:数据量大的情况下,相似度的计算是个问题,
http://www.bayardo.org/ps/www2007.pdf
(2)业务规则
人工+机器
通过关联规则计算方式,计算item之间的关联关系,通过人工审查方式,对一些不符合要求的进行处理。同时,对于一些重要的业务规则,通过配置文件的方式,加入到整个规则库中,进行交叉推荐。
3排行榜单
新闻,视频,音乐,商品等等榜单。实践表明,做好一个榜单不是那么简单的。榜单可以分为多种维度,新颖度,流行度等等。譬如 http://top.taobao.com/。
趋势榜单,涉及到一些排序,指标定义等,这些需要结合业务规则。目前,很多榜单在一定的时间内,Item都不会变化,这就是排序算法问题,业务问题,榜单,没那么简单。
投票排序,这块有很多算法很好用,一些互联网产品在用,譬如bayesian ranking等等。
2个性化推荐
个性化推荐,考虑用户的因素
(1)协同过滤
注意点:
数据预处理,对于隐性数据,主要是流行度非常高的item,需要做一些处理;对于显性数据,评分可能存在误差,需要对其做一些处理,去除bias,譬如item均值等。
相似度度量方式选择,根据数据特征选择。
考虑时间因素,recency信息,进行处理
(2)基于内容
根据用户特征信息和item特征信息,进行matching计算,譬如相似度计算等
青春就应该这样绽放 游戏测试:三国时期谁是你最好的兄弟!! 你不得不信的星座秘密