随着电商平台的成长,产生了严重的信息过载。如果不采用一定的手段,用户很难从如此多的商品信息流中找到对自己项买的商品,推荐算法由此应用而生。
一、用户获取信息方式
第一种是传统的搜索,用户有明确的需求意图 ,将意图转换为几个简短的词或者短语的组合(即query),然后将这些词或短语组合提交到相应的搜索引擎,再由搜索引擎在海量的信息库中检索出与query相关的信息返回给用户;
第二种是大数据推荐,很多时候用户的意图并不是很明确,或者很难用清晰的语义表达,这种情况下搜索就显得捉襟见肘了。尤其是近些年来,随着电子商务的兴起,用户并非一定是带着明确的购买意图去浏览,很多时候是去“逛”的。这种情景下解决信息过载,理解用户意图,为用户推送个性化的结果,推荐系统便是一种比较好的选择。
二、用户数据分类 :
行为类别 | 行为详情 |
主动行为数据 | 搜索、筛选、点击、收藏、下单、支付、评分 |
UGC | 文本评价、上传图片 |
负反馈数据 | 左滑删除、取消收藏、取消订单、退款、负评、低评 |
用户画像 | 用户人口属性、DNA、品类偏好、消费水平、工作地与居住地 |
1. 用户主动行为:用户在电商平台上不同的环节行为,代表的意图的强弱不同,因此在训练重排序模型时可以针对不同的行为设定不同的回归目标值,以更细地刻画用户的行为强弱程度。此外,用户对item的这些行为还可以作为重排序模型的交叉特征,用于模型的离线训练和在线预测。
2. 通过用户UGC数据:可以提取出一些关键词,然后使用这些关键词给deal打标签,用于deal的个性化展示。
3. 负反馈数据:反映了当前的结果可能在某些方面不能满足用户的需求,因此在后续的候选集触发过程中需要考虑对特定的因素进行过滤或者降权,降低负面因素再次出现的几率,提高用户体验;同时在重排序的模型训练中,负反馈数据可以作为不可多得的负例参与模型训练,这些负例要比那些展示后未点击、未下单的样本显著的多。
4. 用户画像是刻画用户属性的基础数据,其中有些是直接获取的原始数据,有些是经过挖掘的二次加工数据,这些属性一方面可以用于候选集触发过程中对item进行加权或降权,另外一方面可以作为重排序模型中的用户维度特征。
三、推荐算法方案:
1. 协同过滤
主要利用用户基础信息,商品信息,购物车,订单表等进行推荐。算法非常简单,但是要获得更好的效果,通常需要user-based与item-based相结合。
群体/个体 | 计算代价 | 适用场景 | 冷启动 | 可解释性 | 实时性 | |
user-based | 更依赖于当前用户相近的用户群体的社会化行为 | 适用于用户数较少的场合 | 时效性强,用户个性化兴趣不太显著的场合 | 新加入的物品能很快进入推荐列表 | 弱 | 用户新的行为不一定导致推荐结果的变化 |
item-based | 更侧重用户自身的个体行为 | 适用于物品数较少的场合 | 长尾物品丰富,用户个性化需求强烈的场合 | 新加入的用户能很快得到推荐 | 强 | 用户新的行为一定导致推荐结果的变化 |
2. graph-based 图数据
对于协同过滤而言,user之间或者item之间的图距离是两跳,对于更远距离的关系则不能考虑在内。而图算法可以打破这一限制,通过对用户浏览记录,点击行为等大量的行为进行分析,生成图模型。运用deep walk、word2vec、Simrank 相似度的图算法。计算相似实体的相关性和相似性。
3、query-based 用户搜索强行为分析
搜索是一种强用户意图, 但是在很多情况下,因为各种各样的原因,没有形成最终的转换。尽管如此,我们认为,这种情景还是代表了一定的用户意愿,可以加以利用。具体做法如下:
对用户过去一段时间的搜索无转换行为进行挖掘,计算每一个用户对不同query的权重。计算每个query下不同item的权重。当用户再次请求时,根据用户对不同query的权重及query下不同item的权重进行加权,取出权重最大的TopN进行推荐。
4、用户下单 强行为分析:
当用户产生了下单行为,因为各种原因没有最终形成转化。但是,用户的这些上游行为对我们而言是非常重要的。很多情况下,用户当时没有转化并不代表用户对当前的item不感兴趣。
那么用户上游发生的搜索、筛选、收藏、浏览、下单这些丰富的用户行为,就是我们需要重点分析的数据。 我们需要 理解并识别用户的真正意图。然后当用户再次登录时,将符合用户意图的相关item再次推荐给用户,最终达到下单这个终极目标。
5、location-based用户区域属性
对于移动设备而言,与PC端最大的区别之一是移动设备的位置是经常发生变化的。不同的地理位置反映了不同的用户场景,在具体的业务中可以充分利用用户所处的地理位置。在推荐的候选集触发中,我们也会根据用户的实时地理位置、工作地、居住地等地理位置触发相应的策略。
6、冷启动方案
对于部分新用户或者历史行为不太丰富的用户,上述算法触发的候选集太小,因此需要使用一些替补策略进行填充。
新品单:大家都有喜新厌旧的消费爱好,比如华为新品上市。
· 热销单:在一定时间内销量最多的item,可以考虑时间衰减的影响等。
· 好评单:用户产生的评价中,评分较高的item。
· 城市单:满足基本的限定条件,在用户的请求城市内的。
内容相似性:基于商品item的内容主题、关键字 相似性,进行推荐。
·7、负采样方案:
采样:对于点击率预估而言,正负样本严重不均衡,所以需要对负例做一些采样。
比如:左滑删除、取消收藏、取消订单、退款、负评、低评
· 去噪:对于数据中混杂的刷单等类作弊行为的数据,要将其排除出训练数据,否则会直接影响模型的效果。
8、其他营销要数:
比如: 购买周期频率、节假日、促销敏感等、
请参考我的另外一篇文章
9、推荐系统代码实战
推荐实战demo:https://gitee.com/wuzk2020/learning-rec
黑马spark推荐系统学习笔记:https://gitee.com/wuzk2020/learning-spark-rec