class="hljs-ln-code"> class="hljs-ln-line">func countArcHot(t *api.Stat, ptime int64) int64 {
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> if t == nil {
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> return 0
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> }
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> hot := float64(t.Coin)*0.4 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Fav)*0.3 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Danmaku)*0.4 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Reply)*0.4 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.View)*0.25 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Like)*0.4 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="12"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Share)*0.6
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="13"> class="hljs-ln-code"> class="hljs-ln-line"> if ptime >= time.Now().AddDate(0, 0, -1).Unix() && ptime <= time.Now().Unix() {
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="14"> class="hljs-ln-code"> class="hljs-ln-line"> hot *= 1.5
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="15"> class="hljs-ln-code"> class="hljs-ln-line"> }
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="16"> class="hljs-ln-code"> class="hljs-ln-line"> return int64(math.Floor(hot))
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="17"> class="hljs-ln-code"> class="hljs-ln-line">}
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="18"> class="hljs-ln-code"> class="hljs-ln-line">
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="19"> class="hljs-ln-code"> class="hljs-ln-line">// countArtHot 专栏=硬币*0.4+收藏*0.3+评论*0.4+阅读*0.25+点赞*0.4+分享*0.6 最新专栏(一天内发布)提权[总值*1.5]
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="20"> class="hljs-ln-code"> class="hljs-ln-line">func countArtHot(t *model.Meta) int64 {
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="21"> class="hljs-ln-code"> class="hljs-ln-line"> if t.Stats == nil {
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="22"> class="hljs-ln-code"> class="hljs-ln-line"> return 0
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="23"> class="hljs-ln-code"> class="hljs-ln-line"> }
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="24"> class="hljs-ln-code"> class="hljs-ln-line"> hot := float64(t.Stats.Coin)*0.4 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="25"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Stats.Favorite)*0.3 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="26"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Stats.Reply)*0.4 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="27"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Stats.View)*0.25 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="28"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Stats.Like)*0.4 +
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="29"> class="hljs-ln-code"> class="hljs-ln-line"> float64(t.Stats.Share)*0.6
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="30"> class="hljs-ln-code"> class="hljs-ln-line"> if int64(t.PublishTime) >= time.Now().AddDate(0, 0, -1).Unix() && int64(t.PublishTime) <= time.Now().Unix() {
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="31"> class="hljs-ln-code"> class="hljs-ln-line"> hot *= 1.5
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="32"> class="hljs-ln-code"> class="hljs-ln-line"> }
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="33"> class="hljs-ln-code"> class="hljs-ln-line"> return int64(math.Floor(hot))
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="34"> class="hljs-ln-code"> class="hljs-ln-line">}
  • class="hide-preCode-box"> class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    接下来就是对这段代码的解读:

    首先像大多数的推荐算法一样,小破站的视频推荐也是通过对各项数据进行加权求得视频权重然后在进行再区分,提高视频出现概率;

    我们能帮助提高视频在哪些地方的出现概率呢?
    ① b站『搜索』时出现的默认结果页面
    ② 对该视频话题感兴趣的其他用户的首页
    ③ 任何会有推荐视频的地方,比如用户看完一个视频后网站自动推荐一组视频

    其中影响权重的主要是以下因素:

    视频是: 硬币、收藏、弹幕、评论、播放量、点赞数、分享数、更新时间。

    专栏文章是:硬币、收藏、评论、阅读量、点赞数、分享数、更新时间。

    总结:

    收藏权重高,意味着重视内容质量,更重视大家觉得好的干货。

    评论权重高,则意味着注重互动,更重视能吸引大家讨论的内容。

    目前B站在代码上的思路来看,更重视能引发讨论热议的内容。

     

    那么对于我们来说这段代码有什么实际意义呢?

    在如今的流量时代,高曝光就意味着能有更多的人看到,从而转化为 高流量、高粉丝,高收益

    如果你是UP主 : 

    那么想要提高自己视频/文章的曝光度,尽可能增加 分享,评论,弹幕的数量 会是更有效的方法,而去刷播放量则意义不大(这样就很好的解释了为什么有些UP老是骗弹幕 ~)

    如果你是用户 :   

    点赞、硬币、阅读量 可能更多的影响的是你所看UP的收益,想要为喜欢的UP增加曝光不如多刷几条弹幕和评论

    如何搞定自己的首页推荐内容  ——— 对视频点击不感兴趣能极大的减少相关话题的权重。

    首页看到不感兴趣的视频,首页视频缩略图下面右边按钮点击,选择不感兴趣,调教一段时间就好了。

     

    如果有什么要补充的,欢迎下方👇评论区留言

    1份赞许 = 100分的认可,如果感觉还不错,点个赞👍 支持一下吧 ~

    不定期分享 有趣、有料、有营养内容,欢迎 订阅关注 👌 我的博客 ,期待在这里与你相遇 ~

    好文推荐:   20秒 一键配置 VSCode (Visual Studio Code) C/C++开发环境 !

                         一道微软面试题引出的 int与unsigned隐式转换问题

                         Facebook前身 哈佛“选美”网站Facemash核心算法 --- ELO等级分制度(附源码)

    >>
    注:本文转载自blog.csdn.net的12 26 25的文章"https://blog.csdn.net/qq_41523096/article/details/104339825"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
    复制链接

    评论记录:

    未查询到任何数据!