1 
                    
                    Bardon      2017-03-18 18:49:48 +08:00 
                    
                    按时间区间来,不要按点 
                 | 
            
     2 
                    
                    alex321      2017-03-18 18:57:33 +08:00 via Android 
                    
                    最简单的是时间区段的点击量。 
                 | 
            
     3 
                    
                    nikoo   OP  | 
            
     4 
                    
                    Bardon      2017-03-18 19:14:05 +08:00 
                    
                    或许,你应该加入权重设计 
                先加文章发表时间先后的权重,其次用户点击权重也按照文章时间先后做一个线性递减,可以适当避免过去某一文章长时间霸占榜单  | 
            
     5 
                    
                    vincentqi      2017-03-18 20:00:05 +08:00 
                    
                    去搜一下 reddit 的排名算法,会随着时间衰减的 
                 | 
            
     6 
                    
                    lecher      2017-03-19 01:19:47 +08:00 
                    
                    如果仅仅是按照点击率排序,不引入时间段的权重,这个不太容易解决。 
                我觉得基于目前只计算点击率的方案,不做大改动的情况下, 0 点重置榜单之后,可以考虑默认榜单取过去 12 个小时内新建的文章作为初始种子数据,按点击量排。这样可以在一定程度上面减少老文章的马太效应。 如果榜单不一定要填满,也可以考虑在 0 点重置榜单之后留空榜单,设置一个进入热门榜单的点击量门槛,比如重置后只有 1000 个点击以上才能进入热门榜单。这样可以解决初始化榜单的问题,只有在正常浏览中点击量达到真正热门标准的才会上榜。  |