推荐系统中的召回

召回是什么

推荐系统如何根据已有的用户画像和内容画像去推荐,涉及到两个关键问题:召回和排序。

“召回(match)”指从全量信息集合中触发尽可能多的正确结果,并将结果返回给“排序”

召回的方式有多种:协同过滤、主题模型、内容召回和热点召回等,而“排序(rank)“则是对所有召回的内容进行打分排序,选出得分最高的几个结果推荐给用户。

æµè°æ¨èç­ç¥ä¸­çãå¬åã
图1 推荐系统的算法流程

 

在搜索系统中,用户会输入明确的搜索词,根据搜索词进行内容的召回和呈现即可,但在推荐系统中,用户没有一个明确的检索词(Query)输入,推荐系统需要做的,就是根据用户画像、内容画像等各种信息为用户推荐他可能感兴趣的内容。

另外,由于没有明确的检索词,推荐系统就需要从整个信息集合中挑选出尽可能多的相关结果,同时又需要剔除相关性较弱的结果,降低排序阶段的工作量。

 

怎样的召回策略是好的

召回策略的评估主要根据两个评价指标:召回率和准确率。

召回率(Recall)=系统检索到的相关内容 / 系统所有相关的内容总数准确率(Precision)=系统检索到的相关内容 / 系统所有检索到的内容总数。

以搜索为例,当用户搜索“北京大学”时,想看到北大相关的网站、新闻等,系统返回了以下三个网页:

a. 北京大学保安考上研究生;

b. 北京互联网工作招聘;

c. 大学生活是什么样的;

可以看到,只有a是用户真正想看到的,其他两个和用户搜索词无关,而事实上数据库里还有这种网页:

d. 北大开学季;

e. 未名湖的景色;

d、e这两个网页没被搜索到,但它们和“北京大学”的相关度其实是超过b、c的,也就是应该被搜索(被召回)到但实际并没有显示在结果里的,所以,这个系统的:

  • 召回率 = a / (a + d + e)=0.33;
  • 准确率 = a /(a + b + c)=0.33。

这是搜索情境下的召回率和准确率,而“推荐”其实就是没有检索词输入时的搜索,例如,用户并没有输入“北京大学”这样的关键词,但其实他是北京大学的学生,对自己学校相关的新闻很感兴趣,推荐系统的召回就是要根据用户画像、内容画像等各种信息,为用户提供他感兴趣的相关内容,所以也存在召回率和准确率的问题。

召回率和准确率有时存在相互制衡的情况,好的召回策略应该在保证高准确率的情况下也保证高召回率。

当然,召回率和准确率也是存在一定关系的,而我们在做实际项目的优化目标通常是希望用户所检索的内容能够在召回率和准确率两方面都表现都好。

举个例子(或许不够准确,仅供参考)如表1,机器在给用户推荐内容的时候,会出现A(准确并召回)、B(准确不召回)、C(不准确召回)、D(不准确不召回)四种情况。那么,最理想的就是A、C两种情况。

推荐系统如何召回

召回策略主要包含两大类,即基于内容匹配的召回和基于系统过滤的召回。

1. 基于内容匹配的召回

内容匹配即将用户画像与内容画像进行匹配,又分为基于内容标签的匹配和基于知识的匹配。

例如,A用户的用户画像中有一条标签是“杨幂的粉丝”,那么在他看了《绣春刀2》这部杨幂主演的电影后,可以为他推荐杨幂主演的其他电影或电视剧,这就是“基于内容标签的匹配”。

基于知识的匹配”则更进一步,需要系统存储一条“知识”——《绣春刀2》是《绣春刀1》的续集,这样就可以为看过《绣春刀2》的用户推荐《绣春刀1》。基于内容匹配的召回较为简单、刻板,召回率较高,但准确率较低(因为标签匹配并不一定代表真的感兴趣),比较适用于冷启动的语义环境

2. 基于协同过滤的召回

如果仅使用上述较简单的召回策略,推荐内容会较为单一,目前业界最常用的基于协同过滤的召回,它又分为基于用户、基于项目和基于模型的协同过滤

其中,基于用户(User-based)的协同推荐是最基础的,它的基础假设是“相似的人会有相同的喜好”,推荐方法是,发现与用户相似的其他用户,用用户的浏览记录做相互推荐。

例如,通过浏览记录发现用户一与用户二的偏好类似,就将用户一点击的内容推送给用户二。

浅谈推荐策略中的「召回」
图2 基于用户的推荐

 

基于项目(Item-based)的协同过滤中的“项目”可以视场景定为信息流产品中的“内容”或者电商平台中的“商品”,其基础假设是“喜欢一个物品的用户会喜欢相似的物品”计算项目之间的相似性,再根据用户的历史偏好信息将类似的物品推荐给该用户。

浅谈推荐策略中的「召回」
图3 基于项目的推荐

 

基于模型的协同过滤推荐(Model-based)就是基于样本的用户喜好信息,训练一个推荐模型,然后根据实时的用户喜好的信息进行预测推荐。

总体来说,基于协同过滤的召回即建立用户和内容间的行为矩阵,依据“相似性”进行分发。这种方式准确率较高,但存在一定程度的冷启动问题。

在实际运用中,采用单一召回策略的推荐结果实际会非常粗糙,通用的解决方法是将规则打散,将上述几种召回方式中提炼到的各种细小特征赋予权重,分别打分,并计算总分值,预测CTR。

例如,根据内容匹配召回策略,用户A和内容甲的标签匹配度为0.6,同时,根据协同过滤召回策略,应该将内容甲推荐给用户A的可能性为0.7,那么就为0.6和0.7这两个数值分别赋予权重(这个权重可能会根据算法的具体情况来确定),得出总分,用它来预测用户可能点击的概率,从而决定是否返回该结果。

原文链接:推荐策略中的“召回”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值