今天晚上看到某条关于新浪微博调整timeline显示算法的消息.
大致意思是04年底的一个改动,对一些高频发布和所定义的低互动内容做"降权"处理.
同时对广告渠道的这里消息做豁免.
对商业渠道做保留处理,这也不是不能理解.
毕竟需要一种盈利模式.
而且就赚钱能力来说,不得不承认新浪微博比先驱Twitter更早实现.
后者现在有许多功能其实也是在借鉴微博的做法.
毕竟,做这种公共消息平台,始终是很难脱离用流量变现的.
只是对用户自己timeline的干涉,这点倒是颇有中华民族的传统美德/家长精神.
事实上,这种看上去是"为你好"的做法,对于国内公司来说,算是某种定势思维吧.
之前的微博自己的智能排序,以及BAT的种种默认开启的做法.
一个算是载入失策的典型应该算是著名的"艰难的决定"吧.
中性地来说,操纵用户的timeline,服务方不明说的话,大概多数人也不会有什么发觉.
毕竟,虽然说timeline的成分构成是自己筛选出来的,但是具体产生了什么其实自己也是不知道的.
这便是这种公共场合性质平台的一个特点.
消息的消费其实是个体自己筛选编辑的一个合集/结果.
里面构成的偏好,其实来源可以很复杂.
有些是资讯类,有些是说话方式,有些是个人关系,有些是其他一些兴趣点之类的.
这几个基本点原则上也是个概论兴致,实际上是可以继续细分下去的.
但如果想通过做feature然后做推荐的话,估计效果并不会太好.
因为从结果上来说,拟合的也只是当前follow状态的一个近似快照.
按照这个结果去寻找匹配的话,谈不上有很强的依据性.
第一是因为这个结果是一个time vary的过程.
某个feature的有效作用可能只在某个时间段或者某些时间段有效.
当然,把每个feature做time serial方向的predict,然后用在分别每个时间段的predicated value做feature vector重新做拟合的话,可能更符合直觉.
但计算量是一方面,实际有效性又是另一方面了.
第二个原因则是个人的偏好其实也是个time vary的过程.
虽然可以再在一个predict,然后跟上面的结果再一起做regression.
但是明显的,这里有太多的predication了.
说没有误差,或者说不影响"准确性"之类的,实在很难令人信服.
所以,通过推荐来扩充网络的健壮性并不见得是一个好方法.
而且从发展历程来看的话,个人的timeline其实多多少少还是靠自身去发掘维护的.
因为毕竟是公共空间,而且早起的模式是更aggressive的转发而没有steady的评论.
这点跟微信这类封闭空间是有先天优势的.
微信一个值得称道的点就在于早期理念的封闭性.
依靠某种程度上的口口相传建立的network.
某种程度上来说,这是一个值得记录的关于口碑传播的大规模社科实验.
结果也可能很明显.
口碑传播确实具有相对的高质量预告以及忠诚度.
但是同时反映了"口碑"供给和发放的有限性.
毕竟,某个领域的周知品牌也就那么几个.
所以从传播效果上来说,其实是一个固定配给的市场.
或者从消费角度来说,是需求固定的一条供需曲线.
而且一个明显的缺点在于,品牌的传播性是的dominated tipping point可能更靠左.
因为这种封闭环境的口口相传很难有足够的突破性去推翻原有的口碑.
一是前辈有着先发优势,覆盖面不是一个层级的问题.
二是传播毕竟是一个存在延时和损耗递减的过程,能存活多久本身就是个问题.
当然,这不是封闭空间独有的问题.
开放空间也有.
只不过开放空间的消息暴露度基本是100%.
个体有动机的化,筛选优化剔除的难度相对低很多.
简单说,就是区别在于消息多元化的程度不同.
消息结构单一或者不够多样的话,纠偏的能力就较弱.
但同时也因为纠偏能力偏弱,传播速度和接受程度可能比多元结构的更快.
毕竟一个闭合圈子的话,某种程度上来说思维结构和接受方式存在一定程度的相似性.
消息处理和消化成本会低很多.
多元结构需要各种预判和处理,相对来说,对消费的门槛和需求复杂度要高些.
不过不管是哪种结构,基于的一般逻辑都是消费者自身的一个筛选再组织过程.
区别只不过是候选的来源问题.
所以,本质上来说,这些流量平台的立足点首先是消费者对消息的主动接受过程.
虽然表现形式上来说可能是一种推送过程.
但实际上,还是基于用户的一个预先选择.
因此,对于用户这个node来说,network flow的驱动方式其实是来自这些node的pull过程.
考虑这么一个network或者说graph.
用户作为subscriber,s-node.
流量的变现提供方,或者说广告主,或者营销实施方作为publisher,p-node.
那么,在这么个一个graph里,实际上就可以划分为两个sub-graph.
分别由s-node和p-node构成的s-graph和p-graph.
于是,该如何定义这个graph的network flow的cash模型呢.
或者说,怎么评估这些网络所能带来的变现能力呢?
考虑,对于network里的某个节点,初始有一定的energy.
然后pull的过程其实是从其他节点slice/aggregate energy.
即energy_x(t+1) = absorb( \sum_{i=neighbour(x)} slice(energy_i(t))) )
也就说t+1时间的节点energy是吸收/pull的t时间的周边节点的energy构成的.
即从following的node里吸收信息,然后再消化之后,供其他节点消费.
这里犹豫的一点是absorb function要不要是守恒的.
如果不守恒的话,也就是整个network的energy可能是可变的.
而且具体到个体node的话,还有个问题是energy到0之后,是否要从network里移除,还是继续保留甚至允许非实数的参与.
守恒的话,直觉上模型/论述起来可能要简单一些.
因为如果把energy替换为cash的话,就是相对简单的零和市场.
不然的话就是一个动态变化的市场.
所以先考虑一下守恒的情况.
如果不区分s-graph和p-graph的话,那么对于graph的network flow来说,不过是energy/cash的互相自然周转而已.
考虑区分的情况的话,把"流量变现"行为定义为一种对flow做routing的行为的话.
那么,实际上就相当于吧neighbour函数返回的neighbours做了更改.
也就是说,实际上是更改了网路的连接结构/状态.
付费的p-nodes实际上是往原有的s-graph里添加新的节点,并改变原有的s-graph的结构变成一个新的graph.
而新加的p-node的作用实际上就是往外emit energy.
那么如果absorb是守恒的,而且考虑p-node的目的只是emit完所有的energy然后退出.
也就是说,纯粹的推广传播之后就消失.
则留在network里的energy就会越来越多.
而这些energy的多寡并不在开始的pull模型里参与任何作用.
也就是说,理论上并没有囊括对现有网络结构变化的影响描述.
考虑absorb是一个非守恒的过程.
对于纯粹的s-graph来说,非守恒就因为这整体network的energy可能衰减到0.
那么,对于平台方来说,一个动力或者说objective就是尽可能地维持或者maximize整体network的energy/cash.
考虑一个特例的简化情况.
也就是,在没有p-node参与的情况下,整体s-graph的energy是恒定/稳态的.
而p-node的加入,则是跟特定的s-graph子集产生连接.
即:
energy_x(t+1) = absorb( \sum_{i=neighbour(x)} slice(energy_i(t)))) + absorb_p(slice(pnode)).
即每个被连接的s-node的energy状态改变的absorb function被加入了一个absorb_p项.
那么,对于原有的objective就相当于maximize各个\sum absorb_p了.
也就是对与付费传播选定的advertise target,其影响不能使得network的整体energy有所衰减.
而如果\sum absorb_p >0的话,那么这一部分的energy就可以当作是平台的盈利来源/cash.
于是,如何定性absorb_p呢?
假设p-node向外emit的energy都是equal quantities的.
那么,实际上absorb_p的性质就相当于对energy的接受/转化程度如何.
也就是说,在这种稳态假设的前提下,广告推送的目标应该是对广告不反感,不会降低自身energy的目标群体.
理论上来说,给定一定的emit量,并不一定总能找到足够的positive的s-nodes去absorb这些energy.
现实一点的情况是,这个candidate的sub s-graph可能存在一些s-node的absorb_p的值是negative的.
但总体来说,还是一样的objective function.
考虑给s-graph的energy稳态做个限定区分的话.
即,如果某个s-node的energy低于/高于一个值的话,那么就不会再往外emit energy.
换句话说,就是s-node不会从低energy的s-node上面absorb.
于是,在理论上就存在某个energy级别并且低connectivity的s-node变成一个黑洞.
从而实际上地减少了整个network的effective energy/flow.
对于s-node在某个值不往外pull的情况,其实原则上是reduce到不emit的情况的.
因为不pull不代表不存在network flow.
只要不到emit的临界点.
所以,回头看的话.
其实说了一堆废话.
毕竟,推送到不反感的用户,维护/鼓励用户的读写活跃度这些都算是直觉上就能想到的东西.
说到底不过是在自我强调一些东西而已.
没有评论:
发表评论