WOT讲师杨峰:从系统变革和用户建模的角度探索微博推荐相对集中的行为和兴趣变得碎片化和离散化。在此背景下,微博经历了六年的发展。它的系统架构是如何演变的?微博用户的模型、维度、建模是如何考虑的?今天,【WOT2015“互联网+”时代大数据技术峰会】特邀讲师、微博推荐开发技术专家冯扬带我们从系统变革和用户建模的角度来探讨微博推荐。杨峰,微博推荐开发技术专家。目前负责新浪微博的微博推荐平台建设和推荐用户模型建立两个方面。前者是指在微博现有技术基础和分层架构的基础上,设计微博标准化推荐架构,建立推荐平台,解决素材特征数据接入、推荐计算、模型训练、推荐业务中的横向比较。后者针对微博推荐业务中需要的基础数据,特别是用户相关的基础数据挖掘,进行推荐服务。【职场经历】毕业于北京理工大学,获博士学位。2010年底信息安全与对抗专业。我是2011年4月开始工作的,第一家公司是新浪微博。从那时起,我开始接触社交媒体和推荐系统。这期间,我针对微博的业务形态、数据特征、社交媒体建立了推荐。主要技术手段的特点及认识;2013年5月离开新浪微博,加入腾讯TEG旗下社区搜索部门,隶属于腾讯SOSO业务。期间主要从事问答社区推荐系统建设;同年11月,腾讯向搜狗注资,将SOSO业务和技术人员派往搜狗,随后进入搜狗公司,业务方向不变;2014年9月,在老同事的邀请下,回到新浪微博,加入微博业务平台和产品部至今。:在微博推荐的发展过程中,你遇到过哪些系统方向的变化?微博推荐系统的架构经历了怎样的演变?冯扬:其实微博推荐的发展过程也是一个不断迭代和试错的过程,是随着微博本身的发展而演进的。早期,从2009年微博上线到2011年前后,微博主要以用户拓展和业务拓展为主。在用户数量、UGC内容生成、用户交互行为、内容传播等方面都处于高速发展中。成长期。这个时期,推荐对微博来说不是很重要,推荐主要集中在基础数据的挖掘和提供上。这时候,微博推荐就不是一个系统,而是作为一个支撑团队存在。这个阶段产生了很多分析方法和基础数据,比如用户兴趣分析、分类体系构建、二度关系计算、亲密度计算、后来作为Lab_common内核基础的woo,以及各种动静态解决方案已经在这个阶段开始了。存储问题的db。。。这个时期可以称为微博推荐工具产品的时期。2011年到2012年这段时间对于微博来说是非常特殊的,因为微博之前一直在社交网络和社交媒体的定位之间摇摆,而微信出现在2011年,并在随后的9个月内迅速发展。微信和微博最大的区别在于,微信是一个点对点的关系网络,可以相互认证,而微博是一个非对等的关系网络,不需要相互认证。信任度越强,微博信息传播效率越高。显然,微博的媒体属性更强,更适合社交媒体的定位。对于社交媒体而言,用户接收和传播信息更多的是出于兴趣而不是信任,推荐的作用就出现了。这个时候,微博推荐的场景也逐渐丰富起来,出现了很多推荐产品,比如:文字页面推荐、话题推荐、感兴趣的人、电影推荐、音乐推荐、热门推荐……甚至在这个时候,我也尝试过feed流转换。推荐技术体系基本形成了“推荐挖掘+推荐计算”两个层次:推荐挖掘负责从微博平台挖掘目标用户和优质素材,包括用户质量评价、传播力计算、亲密度计算、秒度数关系计算、Tag传播、热门微博挖掘、优质微博挖掘……;推荐计算负责素材的推荐和投放,包括构建在线推荐系统、数据存储和访问方案、反馈和效果监测……这个时期可以称为微博推荐产品群时期。其特点是业务和数据多样,推荐系统和产品丰富,但系统规模不大,通用性不强。2013年至今,微博进入了一个相对平稳的时期。之前的爆发式增长放缓,忠实用户也沉淀下来。微博的使用和在微博平台上的行为具有相对固定的模式。并且从2013年开始,微博就提出了商业化的目标。这时候,对微博推荐的效率和效果的要求就提高了。在此背景下,如何充分利用现有的流量和用户资源,让信息更高效地传播,缔结更多的关系,成为微博推荐需要解决的问题。这个时候,我们之前搭建的单点去中心化的推荐产品群就不太适合了。原因有三:(1)由于分散,部分优质资源得不到充分利用;(2)不同材质在不同场景下的效果无法比较;(3)系统通用性差,重复开发任务过多。首先,我们想到的是分层。我们首先解决了第三个问题,微博推荐系统的三层结构就诞生了,即:数据层负责数据的存储和访问以及基础资源的挖掘,计算层负责在线推荐计算。负责对外提供接口的应用层。各个层级的研发人员只需要关心各自的任务即可。比如应用层采用Lua+Ngix架构,开发者只需要适配关系接口即可;计算层使用Lab_commom作为开发框架,所有功能都基于so,逻辑在自己的模块中完成;数据层基于Redis和Lushan提供动态和静态数据存储和访问,分别通过Rin和R9-接口解决流式数据访问和集群连接。分层相当于微博推荐系统的垂直抽象,解决了第三个问题,但还需要解决前两个问题。然后我们对推荐本身进行分层抽象,将推荐抽象为三个部分:“候选”、“排序”和“接口”。在推荐系统的架构设计中,我们考虑了这三部分的标准化,让去中心化的推荐业务接入标准化的推荐系统,素材在不同场景下相互竞争,不仅可以与彼此,也充分利用资源。基于这个思路,我们分层设计了一个新的微博推荐系统架构,由面向候选人的Artemis、用于排名计算的Eros、以及用于统一推荐接口的Hestia组成。在层次结构上,Hestia在应用层,Artemis和Eros在计算层和数据层,充分利用层次结构的现有技术成果,同时提供标准化的推荐计算和输入输出。目前,微博的推荐系统架构已经有了标准化平台化的概念,可以说现在正处于平台化阶段。:新浪微博通过属性、兴趣、社交、行为等维度对用户进行建模。它是如何完成的?冯扬:首先我们来看一下微博用户模型的维度划分。属性维度和兴趣维度属于用户画像的范畴。不同的是,前者描述的是用户的静态属性特征,如性别、年龄、受教育程度、学校、工作单位等身份和人口统计信息,而后者用于描述用户的信息筛选倾向,通常指的是兴趣标签。这两个维度主要针对用户的个性化角度,体现用户的个性特征;社会维度是从关系和信息传播的角度来描述用户。在社交媒体中,用户和用户之间的社会关系构成了一个网络。信息在这个网络中高速流动,但这种流动并不是无差别的。信息的起点,经过的关键节点,这些节点形成的关系圈,都是影响信息流动的重要因素。社会维度就是量化这些因素及其影响程度;行为维度是通过发现影响用户属性和信息变化的行为因素,分析典型用户群体的行为模式。群体行为的表征。可以说,这样划分维度基本上涵盖了从“个体表达”到“关系描述”和“群体刻画”。用户属性相对静态和稳定。用户属性信息的收集和建立主要依靠产品本身的引导、调查和第三方提供。微博本身有比较完善的用户注册引导、用户信息完善任务、认证用户审核,以及大量的合作伙伴。在收集和清洗用户属性的过程中,主要需要注意的是标签的标准化和不同来源的信息。交叉验证。用户兴趣是一个比较动态多变的特征,受人群、环境、热点事件、行业等因素的影响,一旦这些因素发生变化,用户兴趣就容易发生迁移,用户行为(尤其是互联网上的Behavior)是多样的而且是碎片化的,不同的行为所体现??的兴趣也大不相同,而一个用户对某一方面的兴趣仅仅意味着他愿意接受这方面的信息,并不意味着他有能力产生相关的内容。然后在兴趣维度,我们主要解决四个问题:(1)用户兴趣标签的收集:包括用户自标注、人才或认证标签、公司、学校、微群标签、星座、微博关键词等。用户兴趣标签收集在与用户相关的各个地方。此外,标签传播也用于收集用户标签;(2)兴趣标签权重计算:综合考虑不同标签来源的用户质量、标签的投递路径、转发关系以及标签的权重。无论是长尾本身,还是标签与用户的共现关系等,不同的因素都会被赋予不同的权重,最后合并成标签权重;(3)时效性:有两个考虑,一个是兴趣随时间衰减,标签权重会叠加在时间衰减上,另一个是考虑长期和短期利益,提取长期利益和短期利益通过设置不同的时间窗口来期限兴趣;(4)从用户兴趣到用户能力:主要采用类似HITS的方法,将微博中的以下关系视为一种认证,则认为被某个兴趣标签的用户认证次数最多的用户最强此兴趣标签上的能力。关系维度上有很多模型。微博中的非对等社交关系导致微博的关系网络实际上形成了一个有向图。我们遵循“个人”、“协会”、“相似”和“群体”的理念。深入建立用户关系模型,充分描述这种关系网络。从“个体”的角度出发,通过PageRank的思想计算用户的传播力,衡量不同个体用户在信息传播过程中的不同重要性;从“关联”的角度,利用用户行为和关系类型来计算用户之间的亲密度,衡量有直接关系的用户之间的距离相当于计算有向图上边的权重,利用二度关系扩大用户关系,让用户之间没有直接关系;在“similar”中从协同过滤的角度来看,主要是基于协同的思想,构建用户关系矩阵,计算用户相似度和粉丝相似度,类似于协同中的User-based和Item-based过滤。在不引入用户属性的基础上,仅通过用户之间的关系认证来推断用户之间的相似度;在“群体”方面,主要是识别用户关系圈,根据关系网络的内部结构,采用图切分的方法,将一些关系密切但不一定有关系的用户成对出现组合在一起形成一个关系圈。在行为维度上,一个是对典型个体行为的时间序列分析,另一个是对典型群体的统计分析。针对典型个体,跟踪个体在不同成长阶段的行为,分析用户成长的主要影响因素和关键行为;针对群体,根据用户当前成长阶段的成长程度将用户划分为不同的群体,分析这些群体行为特征构成群体行为模式。:上述用户模型的应用场景和方法有哪些?精准推送从哪些角度入手?冯扬:用户模型主要解决推荐中的“候选”问题,即什么素材在什么场景下可以推荐给哪个用户,应用方式和场景非常丰富。下面举几个典型的例子:来自同一公司、同一学校、同一地区、异性等的用户推荐使用属性维度的用户模型;推荐和你有相同兴趣的用户,或者有你兴趣能力的用户,向你推荐你可能感兴趣的微博,这些都是利用兴趣维度的用户模型;向你推荐你关注的用户的关注度(followingattention),是在关系维度上使用二度关系模型;人气推荐本质上是使用传播力模型来计算微博的人气;将粉丝相似的用户发布的微博推荐给你,是基于粉丝在关系协作中的相似性;推荐好友点赞的微博,你错过的微博,以及用户推荐中的实时反馈等,是由于用户行为挖掘,发现活跃用户有赞同好友的观点,阅读你错过的微博过去,下一个行为与上一个非常相似。行为模式,并根据这些行为模式推荐场景。可见,用户模型在推荐中非常重要。在使用这些维度模型时,关键是要解决不同模型之间的竞争和融合。先说竞争。在推荐场景中,可以根据不同的用户模型生成不同的候选素材,使用哪些候选素材是竞争的;另外,对于同一种候选材料,基于各种模型的评价可能不尽相同,在某个模型下的评价分数较高,而在另一种模型下的评价分数较低。如何综合计算这一段的评价值就是fusion。所以无论是竞争还是融合,都可以看作是一种排名计算,或者说是排名模型的一个特征。在做精准推荐的时候,出发点还是效果,用转化率来评估,也就是俗称的CTR(点击率)或者RPM(千次达成)。通过离线日志回放和在线AB-Test对比不同的比赛策略和融合方式,选出效果最好的。:新浪微博推荐技术的目标是什么?目前取得了怎样的效果?冯扬:微博推荐技术的短期目标分为系统和挖掘两个层面。该系统的目标是平台化。我们正处于这个时期。所谓平台化,是指设计一个通用的推荐架构系统,将推荐中与业务无关的步骤抽象出来,用通用的模块实现。针对业务相关步骤,提供标准的数据和业务接入规范、工具和流程,减少业务开发人员的工作量,为算法研究人员提供标准的训练集和在线比对环境,为算法研究人员提供快速直观的效果跟踪和策略调整条件。产品人员;挖掘层的目标是建立一个完整的用户模型,建立一个自动规范。挖矿计算过程。从推荐效果入手,提升微博用户价值。采访最后,冯总表示,微博推荐技术目前正处于平台化阶段。完成的Artemis、Eros、Hestia都是面向平台的目标,正在逐步对接现有的微博推荐业务到这三个平台。由三个系统组成的微博推荐平台,用户模型的构建也进入了自动化流程构建阶段。后续工作主要在于完善平台以适应更多的推荐服务、用户模型的持续更新和基于模型的二次挖掘、模型的应用与平台的融合、技术输出等。高端技术峰会[主办方主办的WOT2015“互联网+”时代大数据技术峰会】将于11月28-29日在深圳盛大开幕。42位行业重量级嘉宾齐聚一堂,剖析大数据技术点睛之笔应用。财富大放送,主办方将邀请更多讲师来到“WOT讲师访谈室”,深度剖析技术干货。WOT2015更多专访WOT讲师任华为:大数据技术让O2O基础信息更“靠谱”如何搬家谷歌神秘的数据中心管理系统首页WOT讲师杨德胜:程序员创业需要什么给互联网发展带来的新探索百度测试团队WOT讲师刘鹏:大数据应该指导机器而不是人的决策
