如何确定推荐中各模块召回的比率

假设三个召回,  A,B,C
如果初期认可的程度是重要性也是A>B>C,那么按照:3:1:1进行召回,考虑有一些可能会没有召回
a)如果上一个召回没有,由下一个召回补充,比如:  A没有数据,那么B补充,B没有数据,由C补充,C没有,直接由A女性补充
b)如果A,B是主召回,C是候选召回,那么如果A和B的召回不够的情况下,由C召回

推荐到首页的情况下,要将当前从那个召回推荐出来记录下来,如果一个记录由二个源推出来,也都要记录,然后评估每个召回的点击率
如果推出的为3:1:1的比率,如果总计推出20条(12:4:4),点击数为:4,2,1,那么点击率为:1/3,0.5,0.25,按照点击率的配比来说,排序比率为: B A C,优化召回的情况下需要提高B召回比率,但是实际上并不是所有的从B推出的点击的概率都比A高,所以考虑多样性,只是通过改变比率调整,一般不会将另外的召回降低到没有

从整体来看,即使召回的时候,召回完成后的排序的位置,影响到第几屏,这个对点击率影响非常大,实际上在真正的推荐系统中,通过排序的算法就可以解决绝大多数召回中的召回的问题,总结来说,即使一个召回的数据很多,但是在排序的过程中位置很靠后,那么对于这个召回来说,几乎没有曝光机会,所以:排序做的话,召回的比率可以不怎么更改。

终极解决方案:排序的过程中就考虑召回模块,把从召回模块推荐出当成一个参数来进行模型训练,一劳永逸。

上线的实际情况是,看效果,看效果,看效果,有些时候人工定的配比不一定不行。

进一步说明:

假设A模块对应的点击率的曲线函数为f(x1),B对应的点击率函数为f(x2),C为f(x3),主要有以下二种情况:

1、如果B的函数f(x2)保持平稳,不会因为曝光率的增大而降低,那么全部召回B可以达到最大的收益

2、如果B的函数f(x2)会随着曝光率的增大衰减的厉害,那么就是一个根据点击率函数还确定的最优解。假设A,B,C对应的配比系数为r1,r2和r3,那么最后就成为求解

r1*f(x1)+r2*f(x2)+r3*f(x3)的最大值

敲重点:现网实际上并不能完全模拟发现单一模块点击率的情况,可能的就是灰度来进行统计,或者在线进行微调获得一个大致的分布,基于这个分布上做个近似处理。因为点击率还和排序有很强的关系,实际上现网的各模块召回的情况,只能是数据提供的部分支撑和业务上的一个讨论一起决定的过程,通过A/B测试来进行验证

TO:有留言用户说可以说的详细点,实际上排序和位置的变化可能比从召回模块召回的多少影响大,实际上绝大多数用户浏览的深度都不是很深

猜你喜欢

转载自blog.csdn.net/everlasting_188/article/details/100779249