NLP 实战 (7) 热榜算法更新,2024年最新真香定律

138 阅读3分钟
  • 标题的质量(例如标题党降权)
  • 内容的质量(例如内容长度过长降权)

第四,考虑内容的领域

  • 内容不应分布在少数几个过热的领域,例如都是 Python/Java
  • 衡量稀缺度
参考成熟的算法

参考 Hacker News (ycombinator.com) 的热度算法。

S

=

V

(

P

1

)

0.8

(

T

2

)

G

S = V*\frac{(P-1)^{0.8}}{(T+2)^G}

S=V∗(T+2)G(P−1)0.8​

其中:

  • V 是领域权重
  • P 是基于用户投票的交互数据点数
  • T 是从创建开始到现在的时间,单位是小时
  • G 是重力(Gravity)因子,用来衰减,默认是1.8

这个基本的公式,重要的地方在于考虑了时间衰减和领域权重,理解这个思想后,可以根据自己的数据做调整。

热榜算法规则

综合上述分析,引入的热榜算法的机制如下:

S

=

C

V

C

H

P

(

T

2

)

1.1

=

热榜得分

S = C * V * CH*\frac{P}{(T+2)^{1.1}} = 热榜得分

S=C∗V∗CH∗(T+2)1.1P​=热榜得分

C

=

w

1

t

i

t

l

e

s

c

o

r

e

w

2

c

o

n

t

e

n

t

s

c

o

r

e

w

1

w

2

=

内容得分

C = \frac{w1*titlescore + w2*contentscore}{w1+w2} = 内容得分

C=w1+w2w1∗titlescore+w2∗contentscore​=内容得分

V

=

a

r

e

a

s

c

o

r

e

=

领域得分

V = areascore = 领域得分

V=areascore=领域得分

P

=

i

=

1

n

w

i

f

i

i

=

1

n

w

i

=

交互数据得分

P=\frac{\sum_{i=1}^{n}w_i*f_i}{\sum_{i=1}^{n}w_i} = 交互数据得分

P=∑i=1n​wi​∑i=1n​wi​∗fi​​=交互数据得分

其中,

C

H

CH

CH 是同一个作者的文章连续上榜的衰减因子。

其中,交互数据 f_i 会做归一化,归一化的基本方式将原始交互数据归一化到区间[0,1]之间,对于某些数据,会使用

l

o

g

(

f

)

log(f)

log(f)函数做降维,避免数据对结果波动的绝对主导:

f

i

=

t

(

f

o

r

i

g

i

n

)

/

max

(

t

(

f

o

r

i

g

i

n

)

)

f_i = t(f_{origin})/\max(t(f_{origin}))

fi​=t(forigin​)/max(t(forigin​))

其中,

t

i

t

l

e

s

c

o

r

e

titlescore

titlescore 和

c

o

n

t

e

n

t

s

c

o

r

e

contentscore

contentscore 分别是AI服务计算标题质量分和内容质量分。主要使用 NLP 技术对内容数据做打分。

定期微调

一个软件要持续更新才会流水不腐。热榜也是一种得分计算,是一种指标数据,这些公式本身也是一个「软件」。因此,在保持基本原理不变的情况下,根据线上真实数据的反馈情况,定期采取微调策略,不断改进,推荐出高质量的内容,平衡各领域,打击低质量内容,形成良币驱逐劣币的技术氛围,这是热榜算法的目标。

贡献者

热榜算法欢迎大家共同贡献思路和建议,共同改进社区氛围。在此会逐渐把贡献者名单列上:

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!