推荐算法-基于内容推荐(CB)

写在前面

推荐算法我这边接触到了两种,CB和CF,这篇我只讲一下我学习CB过程中的一些理解! 为了不让篇幅太长导致杂乱,CF留到下一篇描述。需要的同学麻烦点赞收藏。

一 为什么要做推荐系统

由于信息过载,导致对信息反映的速度远远低于信息传播的速度;信息量远远的高于用户受众所能消费、承受和需要的信息量;且有大量无关的冗余数据信息会严重干扰用户的视线以及降低用户的产品体验。于是推荐系统便是为了解决此类问题而产生。当然搜索系统也能解决此类问题

二 基于内容推荐是什么?

基于内容的推荐CB是在推荐引擎出现之初应用最为广泛的推荐机制,它的核心思想是根据推荐物品或内容的元数据,发现物品或者内容的相关性,然后基于用户以往的喜好记录,推荐给用户相似的物品。比如你看了复仇者联盟I,基于内容的推荐算法发现复仇者联盟ll-lV,与你以前观看的在内容上面(共有很多关键词)有很大关联性,就把后者推荐给你

1 引入Item属性的Content Based推荐

返回TopN
Item
内容分析 `正排\倒排`
建立倒排索引Nosql
相关性计算
排序
用户正在浏览itemA
对itemA进行文本分析,中文分词

从图上可以看出这种推荐方式的:

  • 优点:
    1. 推荐结果可以解释(用户刚浏览过的数据,立马就可以推荐相关item给他)
    2. 简单易操作 (流程简单)
    3. 实时性好
  • 缺点:
    1. 无个性化
    2. 精度不好,依赖于对item的深度分析(如果item数量过多不适合)

2 引入User属性的Content Based推荐

返回TopN
Item
内容分析 `正排\倒排`
建立倒排索引Nosql
相关性计算
排序
用户
用户历史上浏览的item列表
对列表进行文本分析,分词

从图上可以看出基于用户行为这种推荐方式的:

  • 优点:
    1. 用户画像(刻画了用户的兴趣需求)
    2. 推荐形式多样,具有个性化
    3. 结果可解释
  • 缺点:
    1. 推荐精度较低
    2. 用户行为数据稀疏会导致推荐覆盖率低

三 正排表与倒排表

正排

item -》token1:score1,token2:score2,token3:score3

无线蓝牙耳机 :通过中文分词可以得到 : (无线/蓝牙/耳机)这三个token
举例:query(无线蓝牙耳机)
商家的商品列表(一亿的商品)

item分词(token)Score
入耳式蓝牙耳机入耳式/蓝牙/耳机0.8
beats无线蓝牙耳机beats/无线/蓝牙/耳机0.9
蓝牙音箱蓝牙/音箱0.3
无线便携充电宝无线/便携/充电宝0.2
头戴式电竞版耳机头戴式\电竞版\耳机0.5

倒排

token -》item1:score1,item2:score2,item3:score3

对以上正排表可以得到
倒排索引表:

tokenitem
无线beats无线蓝牙耳机、无线便携充电宝
蓝牙入耳式蓝牙耳机、beats无线蓝牙耳机、蓝牙音箱
耳机入耳式蓝牙耳机、beats无线蓝牙耳机、头戴式电竞版耳机

例子解释索引表

例如:
正排表:分数为:TFIDF,中文分词的分数
item1 => token1:score1, token2:score2, token3:score3
item2 => token4:score4, token5:score5, token3:score6
item3 => token2:score7, token3:score8, token4:score9

可以得到倒排表:
token1 => item1:score1
token2 => item1:score2, item3:score7
token3 => item1:score3, item2:score6, item3:score8
token4 => item2:score4, item3:score9
token5 => item2:socre5

假设现在用户输入一个itemX
itemX通过分词包含token2,token3
那么可以得到3个商品:
token2 => item1:score2, item3:score7
token3 => item1:score3, item2:score6, item3:score8
item1:score2+score3
item3:score7+score8
item2:score6
里面物品有重复的说明商品越重要,因为重复得越多,说明被匹配的token就越多

最后将重复的商品分数相加后的score进项倒序排序,输出topN个相关的item
item1:score2+score3 = 0.89
item3:score7+score8 = 0.80
item2:score6 = 0.60
假设只需要top2的话,那么推荐商品最后返回的就是item1和item3

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值