文档章节

为构建社交关系链手淘都做了啥?

阿里云官方博客
 阿里云官方博客
发布于 10/17 16:13
字数 4123
阅读 16
收藏 0

image.png
作者|王卫(泓冰)
出品|阿里巴巴新零售淘系技术部

01、淘宝社交关系推荐的背景

1、互联网下半场到来:互联网的下半场,人口红利消失,各大平台需要对用户做精细化运营,用户的增长和留存是每一个平台需要深耕的方向;

image.png

2、社交电商的兴起和趋势:社交电商的有效性和价值,已经在拼多多、小红书、云集和环球捕手等诸多平台有了成功已经验证;

3、社交的裂变效应:做社交关系可以带来裂变效应,有效的促进用户的留存和互动,增加用户对 app 的粘性;

4、关系积累是用户互动基础,社交关系和互动的重点是用户关系量的积累,也是目前我们的核心目标

02、淘宝社交关系增长面临的挑战

为什么淘宝很难做社交,主要有以下几个原因:

image.png

1、首先是外部环境的约束:因为某些原因,手淘在微信互通上不那么顺畅,用户习惯在社交平台上沟通,并且保持真实关系在社交平台上,没有迁移社交关系到淘内的动力。

2、 用户购物的隐私性 :淘宝原生的电商购物环境,用户在这个平台的心智就是逛和买,在万能的淘宝上消费自己的喜好。独自购物的心态、购物的隐私属性等,使得用户难以与他人分享,所以用户很难与他人在购物期间达成关系;

3、 淘宝账号的隐匿性 :淘宝的账号虽然可以有个性的昵称和头像,但是由于对真实姓名和真实社交关系的脱离,用户在淘宝上很难识别出自己真实的好友,尤其是愿意分享和互动的好友;

4、 淘宝平台产品设计 :淘宝为电商构建的平台,但是用阿里构建平台的思维打造的用户社交关系相关产品的入口比较深,用户在淘宝关系的感知和体验上没有很强的心智;

03、为什么要做淘宝社交关系推荐

3.1、淘宝用户关系的目标

淘宝用户关系的目标是用户关系达成与互动,用户关系量是构建互动和社交电商的基础,根据 AARRR 模型,用户的获取成本高的,激活成本低,所以我们首先选择用户关系量积累做为重点。

image.png

3.2、电商用户关系的数据模型

淘宝用户之间的关系是隐性的,首先在淘宝的社区关系中,用户之间有匿名的屏障,面对多元的购物社交关系,用户在大量的关系目标用户中无法找到好友对象,因此必须依赖数据和算法为用户高效的推送目标用户,本质上跟内容的推荐一样,是解决用户信息过载和目标缺失的问题。

3.3、淘宝关系的增量来源

在淘宝用户关系的实践中,有三种方式可以有效的达成好友关系:

第一种是 亲情关系 ,通过春节的亲情号活动有效的拉动亲情关系的达成;

第二种是 购物和互动场景 下(分享、帮买、代付、代充、游戏)的场景化的用户关系达成的情境;

image.png

第三种是 关系推荐 ,基于现有的关系达成渠道场,通过精准的用户画像分析,准确的推荐目标用户,让线下关系在线上更快速有效的达成。

对从关系质量和达成效率比三种关系增长方式:
屏幕快照 2019-10-16 下午5.37.24.png

通过上述对比可以得知,做关系推荐拉动的关系用户增长较快,增长空间较大,投入产出比更高。

04、关系推荐的初期尝试

在业务团队成立初期,对基础的淘友关系链路的服务和体验做了统一,提升接入效能和产品体验。淘友接入的业务方快速增长,覆盖了手淘、猫客、淘小铺多个客户端。

image.png

但是新的业务接入方带来的关系增长并没有那么多,业务渠道的扩展到达一定瓶颈之后,各个接入渠道的推荐好友点效果亟待提高,主要从推荐页面的点曝比和渠道达成量来衡量收益。

4.1、离线关系推荐-通讯录可能认识的人改造

手淘通讯录模块,有基于离线推荐的可能认识的人模块,通过触发小红点引导用户进入手淘通讯录。

image.png

在产品初期是通过离线任务灌入 tair 的方式,通过用户访问命中缓存,每天向所有用户推送离线计算的推荐人列表,此方式数据量和计算量庞大,而且效率不高。

后期经过改造,首先构建了一套真实的线下关系的非好友的数据,算法聚合了通讯录、代付、帮买、代充、亲情、同事、 LBS 等维度的淘宝用户数据,其次通过 OneService 、 IGraph 封装为实时服务,通过 T+1 跟 T+2 的数据做差量计算,推送动态差量计算的人触发小红点, T+1 的推荐列表数据做为实时服务的输出,支撑每天登录手淘用户的过亿 UV 的访问量,通讯录小红点的架构图如下:

image.png

由于手淘首页的调用是直接透穿消息盒子的,调用到小红点差量计算日常 5W 的 qps ,每天每人一次的差量计算需要选择凌晨的全量流量最低的时刻,使得每天数据差量计算的峰值保持在 5Kqps 以下。

4.2、实时关系推荐-分享、代付、帮买

在离线关系的尝试之后,我们发现可能认识的人这种没有场景的好友推荐入口,用户添加的动力不是很强。即使让用户看到更多的推荐数据,用户的添加好友的意愿不是很强烈,可能认识的人点曝比极低。

用户添加好友希望是即时的,并且是基于某个场景的,因此我们将分享、分享回流、代付、帮买等场景的实时消息,转化为实时推荐的好友推荐,即时触达用户好友添加入口,希望通过捕捉特定场景下的实时行为,为用户发起好友邀请增加信心,于是实时推荐的可扩展性架构设计如下:

image.png

通过实时的推荐,将互动的用户直接触达好友邀请列表,如下图:

image.png

实时推荐上线之后,关系达成率明显高于大盘的达成率,但是挖掘了分享、分享回流、代付、帮买、通讯录变更等场景之后,可挖掘的实时推荐场景就没有多少了。

05、金币庄园推荐算法的优化与推荐系统的构建

在实时推荐场景减少之后,我们抓住社交关系增量占比最大的金币庄园渠道,做进一步的场景推荐算法优化,在金币庄园渠道的一系列优化实践中,我们总结出一套淘宝社交关系推荐服务!

▐ 金币庄园推荐的算法调优
  
金币庄园的好友推荐数据,是我们基于真实线下关系计算而来的数据,为了避免隐私侵犯,对推荐理由做了一些隐藏和弱化,但是好友邀请列表点曝比一直在 3% 以下。

5.1、社交关系的三元闭包理论优化

关于社交关系的推荐策略,首先要提的是三元闭包理论,三元闭包定义:在一个社交圈内,如果两用户有一个共同好友,那么这两个用户在未来成为好友的可能性就会提高。

淘宝好友关系的三元闭包路径,来自于之前积累的 CC 淘友关系,从中找到拥有的共同好友的推荐用户,将共同好友的用户通过加权排序置顶,在优化之后,金币庄园的日关系添加量增加 20% 。

image.png

5.2、金币庄园互动行为增强

推荐系统设计的协同过滤算法,都讲究按照共同偏好计算。在共同好友的推荐理由增强之后,我们对庄园用户的互动行为数据进行了挖掘,并且跟我们的基础推荐数据融合,再做加权排序,对有玩金币庄园的偏好的、有金币庄园互动的人进行置顶。上线之后 AB 测试可以看到金币庄园日关系添加量提升 23% ,点曝比相比之前提升 60% 以上

5.3、推荐理由强化

为了增强推荐理由的信任感,在交互视觉上会增加强化,输出多个推荐理由。推荐理由强化之后,获得的关系添加量只提升了 5% ,关系增量涨幅不是很明显。究其原因是虽然推荐理由很丰富,但是内容过多也会带来用户输入信息负载重,导致用户焦点迷失,因此标签化的推荐理由要注意“简即美”的设计。

image.png

5.4、权重训练反馈到推荐算法中

在推荐策略应用之后,从关系邀请和关系达成的样本数据中,通过样本的正反馈中统计可以计算推荐标签的权重。

image.png

参考这个权重,将权重的参数置到线上,让正向反馈得到最大化。上线之后,可以这个权重调整带来的关系日增量才提升了 5% ,说明在算法的召回率和准确率都很高的时候,关系的推荐可以参考算法训练的数据,但是还需要人工评估算法的合理性,毕竟对推荐的人的邀请率,是跟用户直接的信任度最相关的。
  
经过推荐理由强化和训练权重反馈的两类的视觉和算法优化,此时推荐列表的用户点曝比又提升了 41% 。
**
5.5、增加邀请之后的滑动特效**

在推荐列表以卡片的形式展示在有限的空间里面,用户一次触达的用户只有 3 个推荐好友,为了让用户感知到多张卡片的存在,我们在好友添加的动作里面,增加了左滑的特效。在交互调整上线之后,点曝比从提升了 43% ,再一次让我们感受到前台UI的设计优化带来的收益。

image.png

5.6、建立负反馈收集功能

在推荐策略应用中,算法是要求同时搜集正向反馈的数据和负向反馈的数据。在负反馈设计中,很容易想到曝光过滤。

在曝光过滤实践的初期,我们点曝比很低的推荐列表中,会收集大量的曝光数据。曝光数据加入到负反馈数据集中,然后通过过滤的方式作用到推荐数据中,发现优选的 TopN 数据大量被过滤掉,点曝比开始下降。

曝光过滤本质是要做负反馈过滤,当曝光数据过多的时候,此时的负反馈数据会形成噪声,过滤掉了较多优质推荐用户,影响到了推荐用户的质量,因此必须建立精准的负反馈的搜集方式。因此我们在推荐人的卡片中增加负反馈的功能,比如在推荐人的卡片中增加删除功能,而删除的人在几个月内不会被推荐给好友。

image.png

另外准确的负反馈数据,还可以作为训练负反馈数据的样本,预测负反馈的数据,或者做推荐降权。

在金币庄园的多次推荐算法迭代之后,该渠道每日邀请量提升 567% ,点曝比提升了 150% 。通过对推荐算法优化的实践过,我们也抽象出一套淘宝社交关系推荐系统的方法论,为后续淘宝社交关系推荐系统的构建打下基础

5.7、经验总结

在推荐算法迭代中,我们有几条比较可靠的经验可以总结出来:

1、首先在算法推荐中,我们不能高估算法的作用,因为从影响推荐效果的因素上排序,产品UI的设计>推荐数据质量>推荐算法,而且推荐算法会有时效性,需要不断迭代;

2、基于偏好的推荐是有效的,对于特定场景要挖掘该场景下的互动数据,作为共同偏好理由推荐;

3、准确率和召回率是通过离线评测来的,用户的反馈样本数据,会产生噪声,让推荐算法变的混沌,因此必须进行必要的人工评测,设计合理的推荐算法;

06、淘宝社交关系推荐系统的设计与构建

在金币庄园的推荐算法优化过程中,我们进行了特定场景下淘宝用户关系如何推荐的最佳实践,将这种模式快速的推广到第二人生等其他新场景中。

▐ 淘宝社交关系推荐业务接入后台建设

在算法迭代的时候,多种有效的调优方法,可以在多个场景中复用。

  • 新业务场景的用户行为数据是构建偏好聚类的基础,需要能够快速合并到推荐数据,针对业务场景透出
  • 快速的ABTest能看到调优之后的结果,做算法的快速调整,因此数据指标的快速回流是我们后台建设的重点
  • 对于推荐算法增加可视化运营的能力,能够进行在线的预览和快速的上线

因此我们针对将上述的需求搭建了推荐系统的业务接入后台,后台功能包括渠道接入、渠道接受率指标、推荐数据 mock 和推荐列表查询、推荐权重重置和应用效果预览、推送小流量和全量的 ABTest 功能、查看昨日 ABTest 结果、查看当日 ABTest 结果,在业务接入之后,可以通过一站式的管理的方式,提升推荐服务的效能。

image.png

在快速 ABTest 的设计中,我们采用服务端TT日志打点回流的方式,可以在当日内完成一轮 ABTest 验证。

07、未来展望

关系达成的推荐,是关系积累的初期要持久投入的事情,但是对于用户在淘内互动,也需要依靠关系推荐系统输出目标用户。因此对社交关系达成之前和达成之后,都需要我们对关系用户做深度的刻画,因此我们搭建了关系画像平台做关系画像的分析,未来关系推荐系统将服务于 关系达成 和 关系应用 两类场景,我们在手淘电商环境的社交关系推荐上,还会不断的探索和实践。

 

未来一年内推荐系统的架构设计

image.png

参考文献
1、 《推荐系统实践》笔记
2、社交关系的三元闭包理论

 

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

© 著作权归作者所有

阿里云官方博客
粉丝 200
博文 2219
码字总数 5541042
作品 0
杭州
程序员
私信 提问
关于Weex你需要知道的一切

QCon第一天,GMTC全球移动技术大会联席主席、手淘技术老大庄卓然(花名南天)在Keynote上宣布跨平台开发框架Weex开始内测,并将于6月份开源,同时他们也放出官网:http://alibaba.github.io/...

阿里百川
2016/05/09
534
1
航母级app手机淘宝是如何炼成的丨独家解密

由左到右:青云、南天、蒋凡 2015年9月,手机淘宝日活跃用户达到1.1亿人,成为全球少数亿级app。 《天下网商》采访团队进入位于杭州西溪的淘宝城,贴身采访手机淘宝团队,带回珍贵的“手机淘...

阿里百川
2016/03/14
91
0
微淘:淘宝防御微信的新武器?

微淘是淘宝无线最近正在内测的新武器,也是淘宝生态SNS化的一种新尝试,今天有幸看到了一些内测版的介绍,想来还是有点小兴奋。要看到产品的雏形,大家可以尝试打开新版的天猫客户端,在首页...

zhouyuan24
2013/05/02
12
0
Redis · 最佳实践 · 阿里云Redis助力双11业务

双11如火如荼的结束了,阿里云Redis(ApsaraDB for Redis原KVStore)也圆满完成了双11Redis的保障工作。目前阿里云Redis提供了单机版本和集群版本的Redis。 单机版本Redis具有很高的兼容性,并...

阿里云RDS-数据库内核组
2016/12/10
0
0
Android碎碎念 -- 阿里Weex

官方地址:http://alibaba.github.io/weex/ 参考资料: https://open.taobao.com/doc2/detail?spm=a21l5.77726.340855.2&&docType=1&articleId=104742 #Android集成指南 https://www.sdk.cn......

淡定的米哥
2016/07/26
380
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka实战(五) - 核心API及适用场景全面解析

1 四个核心API ● Producer API 允许一个应用程序发布一串流式的数据到一个或者多个Kafka topic。 ● Consumer API 允许一个应用程序订阅一个或多个topic ,并且对发布给他们的流式数据进行处...

JavaEdge
今天
11
0
实现线程的第三种方式——Callable & Future

Callable Runnable 封装一个异步运行的任务, 可以把它想象成为一个没有参数和返回值的异步方 法。Callable 与 Runnable 类似, 但是有返回值。Callable 接口是一个参数化的类型, 只有一 个...

ytuan996
今天
12
0
OSChina 周六乱弹 —— 不要摁F了!

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 : 朴树写的词曲都给人一种莫名的失落感,不过这首歌他自己却没有唱,换成赵传这种高音阶嘶喊的确很好,低沉但却有力,老男人的呐喊...

小小编辑
今天
22
0
Android Binder机制 - interface_cast和asBinder讲解

研究Android底层代码时,尤其是Binder跨进程通信时,经常会发现interface_cast和asBinder,很容易被这两个函数绕晕,下面来讲解一下: interface_cast 下面根据下述ICameraClient例子进行分析...

天王盖地虎626
昨天
13
0
计算机实现原理专题--存储器的实现(二)

计算机实现原理专题--存储器的实现(一)中描述了一种可以记住输入端变化的装置。现需要对其功能进行扩充,我们将上面的开关定义为置位,下面的开关定义为复位,然后需要增加一个保持位,当保...

FAT_mt
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部