在对社交网络新闻Feed项目进行排名时结合启发式方法

Len*_*nny 10 artificial-intelligence machine-learning ranking data-science

我们有新闻Feed,我们希望根据多个条件向用户展示项目.某些项目将由于因子A而浮出水面,另一项因为因子B而浮出水面,而另一项因为因子C而浮出水面.我们可以为每个因素创建单独的启发式方法,但我们需要将这些启发式方法结合起来以促进最佳考虑每个因素的内容,同时仍然给出每个因素的混合内容.

我们天真的方法是n从每个因子加载顶部,取每个因子中的第一个,并将它们作为饲料的前3个.然后从每个Feed中取第2个,然后在第3个中取出,依此类推.理想情况下,我们会有一些算法可以更智能地对这些Feed项进行排名 - 我们首先考虑的是简单地将三种启发式算法相加并使用得到的组合得分来拉出顶部项目,但不能保证启发式算法是均匀缩放的(或者对于特定用户而言是均匀缩放的,这可能导致一个因素占据馈送中的其他因素.是否有更智能的方式对这些新闻Feed项目进行排名(类似于Facebook在其伪时间顺序新闻Feed中的作用)?

Arn*_*ove 6

如果您的最终组合启发式不需要被允许,那么使用原始启发式的总和作为最终启发式是没有害处的.这里的问题是原始启发式可能不具有相同的维度,例如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))

当然,要找到每个启发式的值minmax值,您需要了解每个启发式的含义.我不确定这会解决你的问题,但我希望能解决.


Sag*_*r V 2

你有很多类别。假设A、B 和C。

将所有内容组合在一起并对其进行排名(您提到我们将有一些算法来更智能地对这些提要项目进行排名),而不依赖于类别。

显示排名列表中的前 4-5 项,与类别无关。

如果您有赞助提要项目(例如 Facebook),则显示排名最高的赞助提要项目(如果排名为 16、27、39 等,则在 5 之后显示 16),类似地。

然后进入类别。

如果用户有能力订阅类别,则根据类别显示帖子。


例如

A 有 10 个项目,例如 a1...a10

B 有 10 个项目,说 b1...b10

同样,C 有 10 个项目,例如 c1...c10

如果用户主要选择类别 B,则显示 b 中排名最高的内容,然后是列表中排名第六的内容,b 中排名第二的内容,等等。


10-12 项后,

根据排名顺序显示每个类别的项目。

如果用户没有选择特定类别,则排名顺序应保持在 8-10 项,然后根据排名顺序从每个类别中进行选择。

侧尖

在实施新算法时,如果您从用户的经验中收集反馈总是很有帮助的。

用户应该首先获得他们喜欢的内容,然后是每个类别中排名靠前的内容。

为此,请始终参考每个类别和每种类型的帖子的用户活动和浏览历史记录。