作者:叶韵 | 来源:互联网 | 2023-02-01 18:34
我们有新闻Feed,我们希望根据多个条件向用户展示项目.某些项目将由于因子A而浮出水面,另一项因为因子B而浮出水面,而另一项因为因子C而浮出水面.我们可以为每个因素创建单独的启发式方法,但我们需要将这些启发式方法结合起来以促进最佳考虑每个因素的内容,同时仍然给出每个因素的混合内容.
我们天真的方法是n
从每个因子加载顶部,取每个因子中的第一个,并将它们作为饲料的前3个.然后从每个Feed中取第2个,然后在第3个中取出,依此类推.理想情况下,我们会有一些算法可以更智能地对这些Feed项进行排名 - 我们首先考虑的是简单地将三种启发式算法相加并使用得到的组合得分来拉出顶部项目,但不能保证启发式算法是均匀缩放的(或者对于特定用户而言是均匀缩放的,这可能导致一个因素占据馈送中的其他因素.是否有更智能的方式对这些新闻Feed项目进行排名(类似于Facebook在其伪时间顺序新闻Feed中的作用)?
1> Arne Van Den..:
如果您的最终组合启发式不需要被允许,那么使用原始启发式的总和作为最终启发式是没有害处的.这里的问题是原始启发式可能不具有相同的维度,例如A的值范围为0到100,B的值为-1到+1.我建议使用以下公式计算项目的组合启发式,忽略特定启发式的维度:
H = (A - min(A))/(max(A) - min(A)) + (B - min(B))/(max(B) -
min(B)) + (C - min(C))/(max(C) - min(C))
当然,要找到每个启发式的值min
和max
值,您需要了解每个启发式的含义.我不确定这会解决你的问题,但我希望能解决.