召回算法实践总结

以移动腾讯网新闻推荐系统为例,在整个推荐系统中召回具有奠基性,桥接性,决定性。

什么是召回

召回系统,本质上是个信息漏斗,负责快速从海量信息中筛选出有价值的信息,缩小排序算法的搜素范围(解决了信息过载的问题);也负责将多路召回的数据,进行融合(相当于一个信息融合器,解决了单路召回特征单一,信息量小,多样性差的问题),得到一个精简的候选集。

召回算法之初体验

如果用一副通俗易懂的图来解释召回算法做了哪些事情的话,就是下面这幅图。

怎么衡量一个召回系统的好坏

召回算法的衡量虽然有一些通用的衡量指标,比如准确度,覆盖度 F1等,但是在实际应用中,一般会和自己的应用场景和业务指标挂钩,通过一些更贴合实际的指标去衡量,这里暂以移动腾讯网为例。

已经落地的召回算法

我们的应用场景主要是图文推荐(详情页相关推荐和列表页个性化推荐,目前也在做视频推荐和图文视频混推),

由于是新闻推荐,而且是从零到一实现整个推荐系统,因此我们的推荐和NLP 一开始就密切的联系在了一起,并且一直伴随着我们的持续优化过程。从开始到现在,按照时间顺序,依次实现了如下算法:

召回算法的缘起缘灭

一路有效的召回算法从想法的产生,到最后上线并起作用大致要历经一下各态

算法之美

召回算法,为移动腾讯网业务指标的持续提升发挥了重要作用,以下为分阶段的提升效果(在实际应用时各个阶段并非完全串行的,也存在一些并行和交叉的情况,为了更加清晰的表达,做了一下并不完全合理的划分)

结束语

由于我们是图文类型的新闻推荐,NLP和召回算法相伴而生,在做召回的过程中也完成了一些基本的NLP基础建设,具体如下:

在做召回算法的过程中,个人也总结了一些经验:个人认为贴合业务场景的可落地的创新想法,比盲目追求paper 上的模型更有效,自己能够全流程控制的可解释的模型比盲目使用一些黑盒模型要好,再就是如果能跨行业融汇贯通,把生物学,进化论,自动控制,哲学上的一些理论,活学活用到推荐领域也会起到意想不到的作用。

召回算法实践总结

近两年来,在移动腾讯网落地了许多召回算法,绝大多数对业务指标带来了不小的提升,趁着假期闲宅无事,泡壶好茶,倚窗听雨,顺便做点总结。一方面希望得到大神们的指点,另一方面也希望帮助到刚好有需要的同学,如果能起到抛砖引玉的作用更是荣幸之至。

召回在推荐系统中的地位

由于我个人主要是做召回算法的,首先免不了自吹自擂一番。以移动腾讯网(xw.qq.com)新闻推荐系统为例,在整个推荐系统中召回具有奠基性,桥接性,决定性。

什么是召回

召回系统,本质上是个信息漏斗,负责快速从海量信息中筛选出有价值的信息,缩小排序算法的搜素范围(解决了信息过载的问题);也负责将多路召回的数据,进行融合(相当于一个信息融合器,解决了单路召回特征单一,信息量小,多样性差的问题),得到一个精简的候选集。

召回算法之初体验

如果用一副通俗易懂的图来解释召回算法做了哪些事情的话,就是下面这幅图。

怎么衡量一个召回系统的好坏

召回算法的衡量虽然有一些通用的衡量指标,比如准确度,覆盖度 F1等,但是在实际应用中,一般会和自己的应用场景和业务指标挂钩,通过一些更贴合实际的指标去衡量,这里暂以移动腾讯网为例。

已经落地的召回算法

我们的应用场景主要是图文推荐(详情页相关推荐和列表页个性化推荐,目前也在做视频推荐和图文视频混推),

由于是新闻推荐,而且是从零到一实现整个推荐系统,因此我们的推荐和NLP 一开始就密切的联系在了一起,并且一直伴随着我们的持续优化过程。从开始到现在,按照时间顺序,依次实现了如下算法:

召回算法的缘起缘灭

一路有效的召回算法从想法的产生,到最后上线并起作用大致要历经一下各态

展开阅读全文

本文系作者在时代Java发表,未经许可,不得转载。

如有侵权,请联系nowjava@qq.com删除。

编辑于

关注时代Java

关注时代Java