【技术讨论】品葱首页排序算法讨论

由于最近新人涌入对部分“姨粉”老用户的行为和做法引起不满,品葱急需一些新算法来改善当前局面。受【新排序算法】品葱用户质量排序算法(区分极端和温和用户)启发,我发现品葱现在不仅缺少用户排序算法,还缺少首页排序算法。

如果可以把“最新”和“发现”区分开,则可以一定程度上避免某种主题占领首页的问题出现。现在我的想法是这样的:

  1. 首页可选“发现”、“最新”和“推荐”,选择后记录在Cookies里,下次访问首页是上次访问的Tab。
  2. “最新”保持现状,也就是用户最新的发言。
  3. “推荐”使用一些机器学习模型基于目前的推荐帖来生成一个分类器,每天自动把符合条件的主题放到推荐里,并保留人工推荐和取消推荐的方法。
  4. 新增分类“发现”,代替默认首页“最新”。“发现”通过排序算法把来自“时事热点”和“深度讨论”的内容各加入30%,余下40%是来自其他板块。本帖主要讨论“发现”的排序算法。


我能想到的“发现”的排序算法应针对不同板块给出不同公式。

  • 时事热点突出实效性。
  • https://i.imgur.com/6psDLYP.gif,其中t是在“最新”的位置,比如在首页则(t < 50),因为首页只有50个主题,r是所有威望大于1的用户回复数量,g是参数,数值越大则热度下降越快,内容越接近“最新”。
  • 深度讨论突出质量与“发现”的随机性。
  • 与CF5提供的算法类似,首先对所有深度讨论的主题进行K-Means打分,排序因子可以是主题内点赞人数、回复数量和平均回复字数,并根据评分随机出现在首页。评分越高出现在首页的概率越大,深度讨论主题评分可以每周更新一次。
  • 其他分区突出“发现”的随机性。
  • 仅考虑“欢乐恶搞”、“情景假设”、“现实生活”。这些话题可以根据赞踩比把最新一页的话题随机显示在首页,出现频率取决于赞数加回复数,数值越大则出现频率越高。

  • 首页显示:在确定好一页出现的话题后, 除前30%的话题永远是时事热点的排序外,其余内容均随机排列,每次刷新都会变化。


还请大家讨论,给出更好的排序方案。

要发言请先登录注册