Twitter 推荐算法底有多牛? 已斩获11.7K star

点击上方“Github中文社区”,关注

看Github,每天提升

第070期分享 ,作者:Huber | Github中文社区

大家好,我是Huber。

在美国当地时间 3 月 31 日,马斯克履行当初的诺言,他宣布了 Twitter  算法的正式开源-the-algorithm。

96434cb3634598cfb197d5d275d9e77c.png

离开源已经过去一个月,该项目在github表现如何,今天我就带大家看看这项目,是不是符合开发者预期。

the-algorithm

  the-algorithm 在github 近期较热门。目前该在github上已收获11.7K star, 56.6K次 fork,可见该项目非常火。

73c3c0d1e65bd174e9f67c797fb67032.png

a9709eceeeab6010fd514012091c3adc.jpeg

到这里,大家可能还不知道本项目是什么?该项目主要是我们用 Twitter app时给你推荐的机制算法代码,如果不知道 Twitter 。抖音大家都刷过吧,改根据用户喜好和行为,推算出你想看的内容。

27186c22c521fe7c8cd2264143953350.jpeg

我们看看  the-algorithm 组件架构,它包含了两个存储库 (main repo、ml repo),这两个仓库包含了,推特推荐算法的源代码,包括用我用户在 For You 时间线上看到的推文的机制。甚至推特发布了一篇WIKI分享了有关推特算法的细节(https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm)。

691bae0b2c3bf06d5f8987965f1263f5.png

主要框架架构

包含三层:数据+模型+软件框架,包含的共享组件细节如下:

45b3a0f242c04ab12c4a13cc74d10522.png

数据

  • 统一的用户行为

  • 用户信号服务

模型

  • 模拟集群

  • 特征

  • 安全模型

  • 实图

  • tweepcred

  • recos-injector

  • 图形功能服务

  • topic-social-proof

  • representation-scorer

软件框架:

  • navi

  • product-mixer

  • 时间线聚合框架

  • 代理管理器

  • twml

此存储库中包含的For You Timeline的核心组件如下所示:

b2d057a58b52667f8110f454079fa4f7.png

好了,看着很简单,但每个组件里面代码非常对多,看来马斯克没让我们失望,该项目基本丝毫没有保留,把技术贡献出来,改项目下的其他组件代码,感兴趣的读者可以点击传送门的地址,自行阅读。

fe96e378da8961c568959925cd8bde22.png

传送门

开源项目地址:https://github.com/twitter/the-algorithm/

开源项目作者:

  • dzhao

  •     pouriya Pouriya

  •   MrAuro Auro

c846b1645d00d8e8c3788c05d63d561f.png

OK!到这就是这期分享

如果觉得文章有用,请点在看,收藏,分享。


历史原创

  一个开源的 ChatGPT VSCode 插件

★ 微软重磅开源 Visual ChatGPT!一个月内斩获30K star

  2021 GitHub年度排行榜出炉!中文Top3项目诞生!

  厉害了!清华北大重磅开源这份资料,干货到让我惊呆

bfdc2074df865cfac290720bb2a0f9d3.png

### Twitter 推荐算法的工作原理 Twitter推荐算法旨在通过分析用户的兴趣、行为以及社交网络中的互动来提供个性化的推文流。以下是其主要实现机制: #### 数据收集与处理 为了构建有效的推荐模型,Twitter 需要大量的数据支持。这些数据包括但不限于用户的历史活动记录、关注列表、点赞和转发的行为模式等[^1]。 #### 用户建模 通过对上述数据的深入挖掘,Twitter 能够创建详细的用户画像。这一步骤涉及机器学习技术的应用,比如利用协同过滤方法找出具有相似喜好的群体,并据此预测某位特定用户可能感兴趣的内容[^2]。 #### 时间线优化 当涉及到具体展示哪些推文给某个用户时,时间轴排序成为关键环节之一。传统的时间顺序排列已被更复杂的加权评分体系所取代,在该体系下每条候选推文都会被赋予一个分数,最终按照得分高低决定显示次序[^3]。 #### 实时更新 值得注意的是,由于社交媒体环境瞬息万变,因此保持系统的实时响应能力至关重要。为此,Twitter 不断调整自己的架构设计以适应高并发请求下的快速计算需求,同时采用分布式存储解决方案确保海量信息能够得到有效管理[^4]。 ```python import numpy as np def calculate_score(tweet_features, user_preferences): """ 计算单条推文对于指定用户的匹配度得分 参数: tweet_features (list): 表征当前推文特性的向量数组 user_preferences (list): 反映目标用户偏好的权重系数 返回值: float: 经过标准化后的综合评价分值 """ raw_score = sum([a*b for a,b in zip(tweet_features,user_preferences)]) normalized_value = max(min(raw_score / 100 ,1),0) # 假设最大得分为100 return round(normalized_value * 5 ,2) example_tweet_data = [78,92,65] mock_user_profile =[0.3,-0.2,0.5] print(calculate_score(example_tweet_data,mock_user_profile)) ``` 此代码片段展示了如何基于简单的特征组合评估一条假想推文的相关性指数。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值