初谈推荐算法:基于内容推荐(CB)算法

本章主要谈谈基于内容Content Based推荐算法
CB推荐算法主要有两种子推荐算法:
1、引入item属性的Content Based推荐
2、引入user属性的Content Based推荐
先讲一下item内容属性索引构建:
初谈推荐算法:基于内容推荐(CB)算法_第1张图片

1、对item的元信息进行分词,打分构建一个整排表
item1->token1:score1,token2:score2:token3:score3
item2->token2:score5,token4:score4
2、根据正排表,构建倒排表
token1->item1:score1
token2->item1:score2,item2:score5
token3->item1:score3
token4->item2:score4
其中token部分是key,item:score部分是value
3、对倒排表数据进行去重(必须保证key不重复),将数据灌入Nosql数据库中,建立了索引数据库即构建item内容属性的索引

引入item属性的Content Based推荐
初谈推荐算法:基于内容推荐(CB)算法_第2张图片
我们以用户点击《刘德华的动作片》为列来讲解基于item属性的Content Based推荐
1、用户点击《刘德华的动作片》
2、后台拿到这个点击行为的数据做分词(这个分词可能在平台自身库,或者是一个工具,也有可能在一个远程请求服务上),得到分词结果,假设这个分词结果是:
刘德华:0.4,动作片:0.7
3、去服务器检索token刘德华和token动作片的物品
4、检索到token对应的物品,做相关性计算
假设从数据库检索到的物品信息如下:
刘德华->item1:0.2,item2:0.3,item3:0.5
动作片->item2:0.6,item5:0.6
这时以分词token的权重乘以检索到物品的权重分数,计算相似度,就可以得到一下结果
item1:0.08
item2:0.33
item3:0.2
item4:0.42
5、对相关性计算的结果,按权重进行排序:
item1:0.42
item2:0.33
item3:0.2
item4:0.08
6、然后在取出Top-N,展现给用户
以上就是基于引入item属性的Content Based推荐
这推荐方式有以下优缺点:
优点:
1、提升推荐结果的相关性
2、结果可解释
3、推荐结果容易被用户感知
缺点:
1、无个性化
2、依赖于item的深度分析

引入user属性的Content Based推荐
初谈推荐算法:基于内容推荐(CB)算法_第3张图片
其实引入user属性的CB推荐是在引入item属性的CB基础上,增加了个性化推荐
这就需要考虑用户的历史行为,这些历史行为来自:用户的点击行为,观看列表,收藏夹等
结合用户的当前行为和用户的历史行为来构建正排表,用这个正排表再去检索数据库,就可以检索出于用户历史行为和当前行为相关的物品。检索到数据,再去计算相关性,排序后,将Top-N返回给用户。
这种推荐方式有以下优缺点:
优点:
1、用户模型刻画了用户兴趣需求
2、推荐形式多样,具有个性化
3、结果可以解释
缺点:
1、推荐精度低
2、马太效应
3、用户行为稀疏导致覆盖率低。

你可能感兴趣的:(算法)