今天,我们会讨论一些不同的东西,例如 Spotify、YouTube、Signal Messenger、Amazon 等科技巨头的推荐算法,以及像 Uber、Twitter、Netflix、Airbnb、Dropbox、Google Docs、Zoom 之类企业的系统设计。
说明:本文基于我的个人研究。有些东西可能不是 100%准确,但我已经尽力保证它的准确性、信息和价值。
Uber 系统设计
Uber 的技术可能看起来很简单,但当一个用户从应用程序发起一次乘车请求,一名司机到达将他们送往目的地的场景,这背后其实并不简单。
Uber 的基础设施由成千上万个服务和数兆字节的数据组成,来支持平台上的每次旅行。
这个系统主要是用 Python 编写的,使用 SQLAIchemy 作为数据库的 ORM 层。实际的架构对于少数城市中相对少量的旅行来说是不错的。
这个公司的后端现在不仅仅被设计来处理出租车,它还可以处理食品外卖、货物快递等等。
了解更多:https://medium.com/@narengowda/uber-system-design-8b2bc95e2cfe
YouTube 视频推荐算法
当用户看 YouTube 上的视频时,会在设备下方或右侧抛出一个推荐清单,用户可能会按照一定的顺序喜欢这些视频。
本文所描述的模型着重于两个主要目标。采用的广度+深度模型架构,结合了广度模型线性模型(记忆)的功能以及深度神经学习(泛化)的功能。广度+深度模型将为每个定义(参与度和满意度)的目标生成预测。
了解更多:https://www.kdnuggets.com/2019/10/youtube-recommending-next-video.html
Twitter 系统设计
通过视频解说来获取更多细节:https://youtu.be/EkudBdvbDhs
Spotify 音乐推荐算法
Spotify 是如何使用机器学习来推荐音乐的呢?
该公司同时使用了三种推荐模型和其它技术。哈佛商学院描述的这三种模型是:
-
CF 又名协作过滤(Collaborative Filtering)模型: 分析你的行为并与其它用户的行为进行比较
-
NLP 又名自然语言处理模型(Natural Language Processing Models)- 扫描互联网并分析有关 Spotify 的目录的文本
-
音频分析(Audio Analysis)模型: 分析原始音频文件
了解更多: