我是靠谱客的博主 坦率过客,最近开发中收集的这篇文章主要介绍php做热度推荐算法,基于Hacker News的内容热度推荐算法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

推荐算法

因子用户活跃度(以积分的形式)

浏览量

点赞数

收藏数

评论数

分享数

时间衰减

平台编辑推荐(人为因素介入干预)

基本原理推荐指数/热度 = 初始热度 + 互动热度 - 随时间衰减的热度 +/- 权重

初始热度  Hinit

与最后的推荐指数呈正相关(注意不是成正比),影响其的因素有:创作者:暂时以用户活跃度来界定

内容属性:以篇幅、类别来区分

互动热度  Hinteract

与最后的推荐指数呈正相关(注意不是成正比),用户行为数据是决定一篇文章是否热门的重要因素,通过对这些数据评级来进行调整行为分:

比如:浏览+1分,点赞+3分,评论+8分,收藏+10分,分享+15分。

时间衰减 Htime

与最后的推荐指数呈负相关(注意不是成反比)

大部分内容属于一次性消费品,用户看过也就过了,若推荐榜单总是那么几条, 可能很快就觉得乏味 ,从而转向别的产品。所以我们自然希望内容能不断更新,而若只看初始热度+互动热度,那么后来者必定很难超越前者。

所以还必须考虑一个因素就是时间衰减,通常这个也不是线性衰减,往往是一个指数函数:即过了一定时间后,持续衰减,热度直到无限趋于0

权重 Hweight

运营或编辑人为干预来调整权重也很重要,毕竟算法是死的,人是活的,虽然大部分都遵循这样一个规律,但也不排除偶然或者极端情况,比如恶意刷榜,这时候就需要人为的干预

图形曲线:

196571464_1_20200720105811599

总结公式

196571464_2_20200720105811677

参数解释:

Hinit:初始热度值,可以以用户活跃度来衡量,比如以积分的形式,积分积累的途径有:发文章

发笔记

发动态

提问题

回答问题

评论

系统、平台编辑推荐

在其他条件一定的情况下,初始热度越高,其最终热度也就越高

Hinteract:互动热度值,根据用户行为数据来衡量,参考点有以下几项:浏览量

点赞量

评论量

收藏量

分享量

在其他条件一定的情况下,互动热度越高,其最终热度也就越高

Htime:时间衰减因子, 加2是为了防止最新发表的会导致分母过小 ,这个值可调,在前期平台人数较少时调整大一些,在后期人数增长起来后,可以调整的小一些,比如,因为用户对平台资源有一个消化时间。并不是一发出来就有数据的。

G:重力因子,它决定了热度随时间下降的速度,前期平台人员较少时,相对应的发的资源也会比较少,这时可以把G调小一点,减缓时间推移对热度下降的影响,后期平台人员增多时,相对应的资源也会增加,这时可以把G调大一点,加速时间推移对热度下降的影响。比如:1.2-1.8

Hweight: 加减权重,初始值可以为0,在某些偶然或者极端情况下需要人为干预的时候,可以动态调整其值,使其能够及时的控制其热度。

反作弊可以通过权重来干预

可以制定社区规则来动态调整Hinit

参考Hacker News 帖子热度排序算法

掘金文章内容热度排序算法

最后

以上就是坦率过客为你收集整理的php做热度推荐算法,基于Hacker News的内容热度推荐算法的全部内容,希望文章能够帮你解决php做热度推荐算法,基于Hacker News的内容热度推荐算法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部