『比你更懂你』,解码网易严选之个性化推荐


社区在之前写过关于用户画像的相关文章,对于工程师来讲能够了解用户画像的定义和抽取。在本篇中作者对推荐的本质和实现思路进行了深入的探讨,并介绍了“”网易严选”产品的推荐系统技术实践,让大家再领略个性化推荐的魅力。



什么是用户画像


用户画像(persona)的概念最早由交互设计之父Alan Cooper提出:“Personas are a concrete representation of target users.” 


是指真实用户的虚拟代表,是建立在一系列属性数据之上的目标用户模型。随着互联网的发展,现在我们说的用户画像又包含了新的内涵——通常用户画像是根据用户人口学特征、网络浏览内容、网络社交活动和消费行为等信息而抽象出的一个标签化的用户模型。构建用户画像的核心工作,主要是利用存储在服务器上的海量日志和数据库里的大量数据进行分析和挖掘,给用户贴“标签”,而“标签”是能表示用户某一维度特征的标识。具体的标签形式可以参考下图某网站给其中一个用户打的标签。


用户画像包含的内容并不完全固定,根据行业和产品的不同所关注的特征也有不同。对于大部分互联网公司,用户画像都会包含人口属性和行为特征。人口属性主要指用户的年龄、性别、所在的省份和城市、教育程度、婚姻情况、生育情况、工作所在的行业和职业等。行为特征主要包含活跃度、忠诚度等指标。

 

除了以上较通用的特征,不同类型的网站提取的用户画像各有侧重点。


以内容为主的媒体或阅读类网站,还有搜索引擎或通用导航类网站,往往会提取用户对浏览内容的兴趣特征,比如体育类、娱乐类、美食类、理财类、旅游类、房产类、汽车类等等。比如QQ音乐的用户画像:



社交网站的用户画像,也会提取用户的社交网络,从中可以发现关系紧密的用户群和在社群中起到意见领袖作用的明星节点。


电商购物网站的用户画像,一般会提取用户的网购兴趣和消费能力等指标。网购兴趣主要指用户在网购时的类目偏好,比如服饰类、箱包类、居家类、母婴类、洗护类、饮食类等。



消费能力指用户的购买力,如果做得足够细致,可以把用户的实际消费水平和在每个类目的心理消费水平区分开,分别建立特征纬度。


另外还可以加上用户的环境属性,比如当前时间、访问地点LBS特征、当地天气、节假日情况等维度。


当然,对于特定的网站或App,肯定又有特殊关注的用户纬度,就需要把这些维度做到更加细化,从而能给用户提供更精准的个性化服务和内容。


用户特征的提取即用户画像的产生过程,可以分为以下几步:

 

1. 用户建模,指确定提取的用户特征维度,和需要使用到的数据源。

2. 数据收集,通过数据收集工具,如Flume或自己写的脚本程序,把需要使用的数据统一存放到Hadoop集群。

3. 数据清理,数据清理的过程通常位于Hadoop集群,也有可能与数据收集同时进行,这一步的主要工作,是把收集到各种来源、杂乱无章的数据进行字段提取,得到关注的目标特征。

4. 模型训练,有些特征可能无法直接从数据清理得到,比如用户感兴趣的内容或用户的消费水平,那么可以通过收集到的已知特征进行学习和预测。

5. 属性预测,利用训练得到的模型和用户的已知特征,预测用户的未知特征。

6. 数据合并,把用户通过各种数据源提取的特征进行合并,并给出一定的可信度。

7. 数据分发,对于合并后的结果数据,分发到精准营销、个性化推荐、CRM等各个平台,提供数据支持。


以用户性别为例,具体向大家介绍特征提取过程:

 

1.提取用户自己填写的资料,比如注册时或者活动中填写的性别资料,这些数据准确率一般很高。


2. 提取用户的称谓,如文本中有提到的对方称呼,例如:xxx先生/女士,这个数据也比较准。


3. 根据用户姓名预测用户性别,这是一个二分类问题,可以提取用户的名字部分(百家姓与性别没有相关性)。然后用朴素贝叶斯分类器训练一个分类器。过程中遇到了生僻字问题,比如“甄嬛”的“嬛”,由于在名字中出现的少,因此分类器无法进行正确分类。考虑到汉字都是由偏旁部首组成,且偏旁部首也常常具有特殊含义(很多与性别具有相关性,比如草字头倾向女性,金字旁倾向男性),我们利用五笔输入法分解单字,再把名字本身和五笔打法的字母一起放到LR分类器进行训练。比如,“嬛”字的打法:『 女V+罒L+一G+衣E = VLGE 』,这里的女字旁就很有女性倾向。


4. 另外还有一些特征可以利用,比如用户访问过的网站,经常访问一些美妆或女性服饰类网站,是女性的可能性就高;访问体育军事类网站,是男性的可能性就高。还有用户上网的时间段,经常深夜上网的用户男性的可能性就高。把这些特征加入到LR分类器进行训练,也能提高一定的数据覆盖率。



推荐系统作用本质


有资料显示,Amazon的推荐系统带来的GMV占其全站总量的20%-30%。这个数据会让人直觉地认为,电商网站只要上一个好的推荐系统,就会带来相当高的GMV提升。甚至有产品经理会问:我们的推荐系统GMV占全站多少?为什么亚马逊能做到30%,而我们做不到?

 

想象一下,亚马逊把推荐系统的位置全换成游戏广告,每次用户点击收取广告费等同于物品推荐时的单次点击价值。这时会有什么结果?合理的推荐是,如果游戏推荐做得足够精准,这个伪推荐系统的GMV占全站的比例可能越来越高,网站的用户流失率会显著增加,总体营收会趋于下降。

 

这个假设揭露了一个真相:推荐系统的位置本质上就是广告展现;对于任何一个有流量的站点来说,不断上升或者稳定的忠实用话是其最大价值;广告位的展现最好能够同时不损坏甚至提升用户体验。


Facebook最初上广告时就曾遇到一个问题:广告的投放影响了用户体验,会损失用户忠诚度,造成用户流失。而对于电商网站来说,为用户推荐物品,是一种能提升用户体验的方向投放,看起来像一种奇妙的巧合。

 

与搜索引擎类似,推荐的本质就是提升用户体验 - 为此它们最主要的方式就是帮助用户快速的找到它需要的商品。其他的方式还包括给用户新鲜感等。


事实上,亚马逊宣称的20%的GMV,其中很多是“你不向用户推荐他也会购买的东西”,推荐系统在这方面的贡献是为用户提供了便利性点击,节约了用户的精力。如果没有推荐系统或者推荐系统体验很糟,用户流向竞品网站的可能性就会增大,这时造成的损害是在整体GMV上。至于推荐的GMV能占全站的比率是多少才合适,这个问题很难回答。只能说每个站点的基准值由产品的综合情况决定,不能一概而论。

 

综上所述,推荐系统有如下作用:

 

1. 提升综合体验: 帮助用户节省精力,增加漫游机率,提升页面访问量及驻留时间,提升留存率;

2. 提升GMV(由1附带的效果);

3. 提升产品印象。


推荐的结果,用户点不点是个非0即1的的事件,但是用户对它们兴趣度是一个介于0到1的连续的数值。兴趣度的提升,能提升用户对网站的信任度,提升留存及LTV。


推荐系统工作原理


在推荐领域被证明有效的算法非常多,如各种CF(协同过滤)、矩阵分解、基于图的算法、关联规则、各种方式的embedding、融合多种特征的CTR-based方法等。深度学习领域的进展表明,如果有一种最接近上帝的方法,那很可能就是embedding(内嵌)的方法。所谓embedding,数学上的意义就是映射。如word2vec通过语料训练把词变成一个数百维的向量,向量的每一维没有明确的物理意义(或者说我们无法理解)。推荐系统如果可以把人很精确地映射成一个向量,把物品也映射成一个同维度同意义的向量,那么推荐就是可以按规则处理的精确的事情了。


图1.最佳的推荐形式


事实上,电影推荐的确可以这样做。豆瓣电影推荐是国内推荐系统的先驱之一,它经过多次迭代,最终形成了一种本质上是embedding的方法来实现推荐:用一定的方法把用户用一系列标签描述,将电影也样同样的标签空间描述,据此计算用户与电影的相似度来推荐,得到的推荐效果非常好。


图2.豆瓣基于标签的电影推荐


电商推荐系统的特点


电影是一种文化艺术商品,直接与人的感性感受相关;同时它有比较精深的空间,从数学的角度来说,它具有多个维度的属性,多到可以产生非常丰富的变化,但不至于多到让人脑难以理解。人对电影的兴趣,具有一定的稳定性,不太会发生快速的转变。


在电影的世界里,人与电影都比较容易做嵌入。


与电影推荐不同,电商推荐就复杂得多了。主要有如下几点:

 

1. 商品种类数巨大,不同的商品需要不同的嵌入


放在电商的世界里,电影就相当于一种商品。如果要做embedding,用户与每一物品都要做一组embedding,不同的物品无法统一。比如,喜欢白色T-shirt的用户,不见得会喜欢白皮鞋;喜欢咸豆浆的用户,不一定会喜欢咸豆腐脑。而商品的种类可能是数以10万记的。即始可以针对每种商品做embedding,也很难将它们统一起来。

 

2. 单种商品深度不够,难以有效embedding


描述物品的空间维度一般很浅,除了少数的商品(如女士包等)称得上博大精深,大多数是很简单的。

 

3. 人对商品的兴趣大都建立在短期或者瞬时需求之上


大部分情况下,人对商品有兴趣是因为正好需要商品,而非中长期的喜好。很多情况下,买了某种耐用品之后,人对它的兴趣(指购买它的欲望)在很长时间内会降到最低。想要embbeding这种转瞬即逝的变化,是一件不容易的事情。当然,也有一些商品及一些情况下,用户的确是对商品有中长期的兴趣,比如刚生小孩的父母,很长时间内会对母婴用品感兴趣。在海量的商品与情景中把这些case都找出来,本身是一件不容易的事情。

 

4. 大量耐消品的影响


上面的论述中可能已经包含这部分。但有必要单独强调一下:电影是一种极佳的快消品,而在商品的世界里,充满了海量的慢消品 - 慢消品的特点是一旦满足用户兴趣就转移了。

 

5. 用户理论上对所有商品都会有兴趣


人的一生中,会在不同的时间对大部分商品产生兴趣。用户对商品的大部分情况是短期兴趣。一般情况下,用户短期的兴趣难以预测,只能根据用户明确指时的对哪些商品感兴趣;中长期兴趣在某些情况下可以挖掘。

 

基于以上的原因,在电商领域难以找到完美的内嵌方式来实现推荐。其实我们在看各大电商的个性化推荐时,无论宣称背后用怎样复杂的模型融合,从结果看,用户近期行为的权重是非常大的,使得结果非常像itemCF推荐出来的。很容易看到,很多大型电商网站首页的“猜你喜欢”模块,推荐的基本都是与用户最近浏览相似的物品。

 

因此,现代电商的推荐往往用机器学习的方法来实现。对于推荐来说,算法与模型并不是最主要的,重要的是对需求、业务目标、平台用户、平台数据的理解及与之对应的特征工程。


网易严选推荐实践


我们在网易严选产品中,推荐的基础模型采用的是CTR模型,基于LR(逻辑回归)。请见下图:


图3.网易严选推荐模型


在核心的特征工程方面,推荐团队把用户的具体属性(性别、收入水平、地域等)、用户在网易严选里的行为属性(短期、长期)、及时间上下文(季节、上次购买时间间隔等)作为属性空间,从1层迪卡尔积开始往上构造N层迪卡尔积形成复杂属性空间P,挖掘属性空间与商品的相关,对有明显相关(正相关或负相关)的(属性、物品)对构造特征。


图4.用户属性空间

图5.具体属性应用

图6.行为属性作为抽象属性与具体属性置以相同的地位

 图7.二阶属性(属性的2重迪卡尔积)

   

从上面结果来看,这一套特征工程方法可以挖出比较全的特征集,在鲁棒性与效果上都有不错的效果,自上线以来各项指标均在稳步提升。


作者:沈燕 (网易严选算法工程师)

来源:网易云



广东省深圳市福田区福中三路

评论 Ctrl + Enter