Feed流及其常见算法简介

本文介绍了Feed流的概念及其发展,包括原始的时间线显示方式、融合热度与时间的重力排序法,以及基于用户偏好的智能排序法。每种机制都有其特点及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

消息来源[1]英语:web feednews feedsyndicated feed又译为源料[2]馈送[3]信息提供[4]供稿[5]摘要[6]新闻订阅网源[7])是一种数据格式网站可通过它将最新信息传播给用户,用户能够订阅网站的先决条件是网站可提供持续更新的信息。

以上摘自wiki

什么是Feed?

Feed是一个互联网早起概念,本意是RSS中用来接收信息来源更新的接口。普遍对feed的解释是:

a web feed (or news feed) is a data format used for providing users with frequently updated content. Content distributors syndicate a web feed, thereby allowing users to subscribe to it

即feed实际上是一种数据格式,给用户持续提供更新的内容。我们刷微博、朋友圈、知乎、各大门户媒体,我们所看到的内容,都是一种feed流,我们获取的内容好不夸张的说,是被这些feed流所控制了。内容分发机制能够控制用户在合适的时间看到“规定”的内容。

早期的feed流是以时间线来控制的,即timeline,新浪微博早期就是以timeline的形式进行内容展示的。如今feed流进行了多种变革,不再是单纯的timeline,各大互联网公司都有自己的内容分发机制。

如同搜索一样,内容分发机制的设计也始终关注两大核心问题:

1.给用户分发(展示)哪些内容

2.对分发的内容怎么进行排序

不同的内容分发机制其实对这两个问题所给出的解决方式是不一样的。不同的互联网公司为了自己的商业利益或者其他战略层面的考虑,所设计的feed流设计方案也是不同。

(1)永恒的Timeline

Timeline是Feed流设计中最原始、最基本也是最直觉的展示形式。timeline,所谓的“时间线”,内容的分发完全按照时间进行排序和展示的。比如说早期的微博,用户关注(订阅)了一些“大V”,在微博首页看到的内容按照所关注的人所发微博的时间顺序进行展示的。再比如现在的微信朋友圈,也是按照朋友发布内容的时间顺序进行展示的。

其实微信朋友圈、早期的微博很好的回答了feed流设计两大核心问题:

1.给用户分发(展示)哪些内容:微博是关注的用户、微信是相互专注的好友

2.对分发的内容怎么进行排序:按照时间的先后顺序,最新的内容越靠前

Timeline有简单粗暴的优点:利于用户对呈现的内容进行理解,时间的先后顺序嘛,另外由于是按照时间顺序,每次更新都能最大化的保证用户能够看到更新的内容。当时timeline也有致命的弱点:内容呈现的效率极为底下,甚至可能会出现大量的垃圾内容。需要内容提供方十分克制,也需要用户对这些内容足够关注。可以想象一下,一个平台每天发布上千条内容,如果按照timeline的内容分发机制,这么多信息一下子给用户展示,必定给用户造成了严重的干扰。现在的新浪微博就放弃了timeline这种feed流设计,这里不去探讨微博为什么放弃timeline,可以肯定的是timeline这种内容分发机制日益不能满足用户的需求。(ps:实际上,很多用户也开始怀念ttimeline,如今的微博内容分发机制也引起了用户大量吐槽)

(2)重力排序法——兼顾热度和更新时间

其实一个平台大了之后,每天将会产生大量的内容,既有大量的feed流,这些feed流中大部分内容其实对用户是没有太大的价值的。这种场景其实是很常见的。微信朋友圈之所以现在还保持timeline的内容分发机制,是因为朋友圈每天产生的feed其实不多,使用timeline对微信用户会更加友好。但微博、知乎、今日头条不一样,每天产生的feed流比微信朋友圈大得多,遇到这种棘手的问题该如何解决也是考验产品经理的能力。

何为重力排序法,对于一个feed流中的内容而言,有两种力量:重力和拉力。重力就是让内容持续往下路的力,即时间,时间越久,掉的越快;拉力就是让内容往前排的力,比如知乎的点赞、门户新闻的阅读数等。重力和拉力,两者相斥,共同决定内容的排序机制。

这里有一个重力算法的排序公式,来自于Reddit的核心排序算法:

score(H,T)=logH + (T-t)/A

这个公式里面有一些因子,代表如下含义。H表示内容的热度,比如内容的浏览量、点赞数,也可以是经过加权(降权)处理过的一些值,H的值越大,排名自然靠前;T表示内容的发布时间;t表示一个时间的起始值,只要比发布的时间早就成。T-t用来衡量一个内容的的新旧程度,T-t的值越大,表示内容越新;A表示一个系数,A越大,T-t的影响力就越小,即按照时间进行排序的影响就越小,内容更新的速度也越慢。一般来说,A的初始值为10个小时,36000秒,后面不断迭代调整参数。

(3)智能排序法——在唾骂中前行

对于智能排序的算法,由于牵涉到复杂的模型构建和机器学习,已超出了我的能力范围,这里只是简单的阐述一下智能排序的机制,比较通俗的讲解可以参考“纯银”的一篇文章,浅显易懂。(http://www.jianshu.com/p/4b51126fe930)

什么是智能排序?

首先,系统需要知道什么是一个内容被展示的目标值。比如微博,一个内容被展示的目标值是转发、评论、点赞的次数。那么通过大量的样本机器学习,系统对于什么是好的内容会有一个预测。这对于一个内容的预测,则是智能排序的基础。

其次,系统会屏蔽一些违规的内容,比如涉及到政治、敏感事件

再次,为了用户内容质量,系统会在用户的feed中增加一些热门的内容

最后,考虑内容和用户的亲密度,系统认为内容受到欢迎的程度,内容事件衰减等因素后,系统进行综合排序。

智能排序听起来是个很好的主意。但是也是一把双刃剑,从微博的排序法被骂可以看出,也有很大一部分用户其实不满这个智能排序法。但为什么微博要一意孤行呢?也许是商业利益、也许是战略,这里不去探究里面的动机,毕竟好多探究是经不起推敲的,只是一本正经的胡扯。

就像文章开头所提出的两个核心问题:1.给用户分发(展示)哪些内容;2.对分发的内容怎么进行排序。我们在设计内容分发机制的时候,不管选择何种机制,作为产品经理,需要根据用户实际的场景来进行feed流的设计。



作者:仔仔朱
链接:http://www.jianshu.com/p/d2be205adaa2
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


### 深度学习算法框架的图示与架构 深度学习算法框架通常由多个模块组成,这些模块共同协作完成复杂的机器学习任务。以下是几个常见的深度学习框架及其典型架构: #### 1. Transformer 的基本架构 Transformer 是一种广泛应用于自然语言处理(NLP)和其他领域的重要模型结构。它的核心组件包括编码器(Encoder)、解码器(Decoder)以及自注意力机制(Self-Attention)。 其公式定义如下: \[ \text{SelfAttention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V \tag{10} \] 其中 \( Q \), \( K \), 和 \( V \) 分别代表查询向量、键向量和值向量[^2]。 为了保持输入输出维度一致,Transformer 使用前馈神经网络(Feed Forward Network, FFN),该层负责调整张量形状并最终返回相同维度的数据[^2]。 #### 2. 卷积神经网络(CNN) 卷积神经网络是一种常用于计算机视觉任务的深度学习模型。典型的 CNN 结构包括以下几个部分: - **卷积层**:提取局部特征。 - **池化层**:降低空间尺寸以减少参数数量。 - **全连接层**:将高层特征映射到目标类别上。 下图为标准 CNN 架构的一个简化版本: ```plaintext Input -> Convolutional Layers -> Pooling Layers -> Fully Connected Layers -> Output ``` #### 3. 循环神经网络(RNN/LSTM/GRU) 循环神经网络适合于序列建模问题,例如时间序列预测或语音识别。LSTM 和 GRU 则是对传统 RNN 的改进版,解决了梯度消失等问题。它们通过门控单元控制信息动路径来增强记忆能力。 #### 图形展示建议工具和技术 对于希望获取具体图形表示的人士来说,可以利用以下几种方式制作清晰直观的效果图: - **Matplotlib / Seaborn**: Python 中常用绘图库之一,能够快速绘制二维图表。 - **TensorBoard**: TensorFlow 提供的强大可视化平台,支持监控训练过程中的各项指标变化情况。 - **Mermaid.js**: 轻量化在线编辑器,特别适用于创建程图、甘特图等形式的内容说明文档。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值