打开APP购物,系统会做哪些工作(上)
2019-09-10
我们喜欢网络购物,特别是在掌上端,系统所推荐的商品极大地决定了用户接下来的行为,对用户流量的承接与分发、提升用户购物体验,成为提升用户体验的关键环节之一。
1.场景介绍
避免广告嫌疑,我们以某商城为例,其场景主要包括大促会场入口和日常频道两大类,如图 1 所示。其中左图为大促会场入口,包括主会场入口和行业会场入口;主会场入口通过为用户推荐 7 个商品(3 个在中间动态轮播)给大促主会场进行引流,引流 UV 达数千万以上;行业会场入口通过为用户推荐 4 个个性化会场和商品为数万的会场引流。右图为日常频道,包括限时抢购、聚划算和精选频道;首页通过个性化推荐商品为各个特色的频道引流,通过各个频道来培养用户心智。
过去的首页推荐更多的是在相关性推荐的单一数据目标上进行优化,如今首页的推荐系统不仅仅考虑推荐结果的相关性,还在推荐结果的发现性、多样性等方面做了更深度的优化。Graph Embedding、Transformer、深度学习、知识图谱等新的技术已先后在推荐系统成功落地。
2.推荐框架
个性化推荐系统可以分为召回、排序和机制三个模块。其中,召回模块主要是从全量的商品素材中检索出用户感兴趣的 TopK 个候选商品,排序模块专注于用户对商品的 CTR 预估,机制模块负责后期的流量调控、体验优化、策略调控和最终的商品排序。整个推荐系统采用 Graph Embedding、Transformer、深度学习、知识图谱、用户体验建模等新的技术构建起来,后面章节将介绍这个推荐系統的关键技术点。
3.召回
3.1 Ranki2i
Item-CF 是目前应用最广泛的召回算法,其原理是根据两个商品被同时点击的频率来计算两个商品之间的相似度 simScore,得到 i2i 表;然后通过用户的 trigger 去查询 i2i 表,扩展用户感兴趣的商品。Item-CF 的基本算法虽然简单,但是要获得更好的效果,往往需要根据实际的业务场景进行调优。清除爬虫、刷单等噪声数据,合理选择计算商品之间相似度的数据的时间窗口。
Ranki2i 是一种改进的 Item-CF 算法,其在 Item-CF 得到的两个商品之间的相似度 simScore 的基础上再乘以该 trigger item 所召回的该 target item 在过去一段时间内的 ctr (注意 ctr 的计算需要进行适当的平滑),对 i2i 的 simScore 进行修正,使得 i2i 表不仅考虑了两个商品的点击共现性,还考虑了召回商品的点击率。
经典 Item-CF 类算法直接根据两个商品被同时点击的频率来计算两个商品之间的相似度,在寻找用户点击商品的相似、相关以及搭配商品上都有很大的优势,且其具有简单、性能高等特点,已成为目前使用最为广泛的召回算法。
然而由于经典 Item-CF 类算法的召回结果的候选集限定在用户的历史行为类目中,并且算法难以结合商品的 Side Information,导致其推荐结果存在发现性弱、对长尾商品的效果差等问题,容易导致推荐系统出现“越推越窄”的问题,从而制约了推荐系统的可持续发展。为了更精准地给用户推荐心仪的商品,同时维护推荐系统的可持续发展,解决推荐系统的发现性推荐和长尾推荐等问题,我们团队提出了 S3Graph Embedding 算法和 MIND 算法。
3.2 S3 Graph Embedding
Graph Embedding 是一种将复杂网络投影到低维空间的机器学习技术,典型的做法是将网络中的节点做向量化表达,使节点间的向量相似度接近原始节点间在网络结构、近邻关系、Meta 信息等多维度上的相似性。
S3 Graph Embedding 算法利用全网以十亿的用户对十亿规模的商品的序列化点击行为构建千亿规模的 Graph,结合深度随机游走技术对用户行为进行 “ 虚拟采样 ”,并引入商品的 Side Information 增加泛化学习能力,将全网的商品进行 Embedding,统一成同一维度的向量表示。
该向量被直接用在 Item-CF 中商品相似度的计算中,相比经典 Item-CF 以共同点击次数来衡量商品相似度的做法,该算法不需要两个商品被同时点击过也能计算出商品间的相似度,并且引入 Side Information 使其能更好地处理长尾的商品和冷启动的商品。
3.3 MIND
Multi-Interest Network with Dynamic Routing (MIND) 是一种向量召回的方法,其通过构建多个和商品向量在统一的向量空间的用户兴趣向量来表示用户的多个兴趣,然后通过这多个兴趣向量去检索出 TopK 个与其近邻的商品向量,得到 TopK 个 用户感兴趣的商品。
传统 DeepMatch 方法为每个用户生成一个兴趣向量,但在实际的购物场景中,用户的兴趣是多样的,不同兴趣之间甚至可能是不相关的,比如用户可能同时期望购买服装、化妆品、零食,而一个长度有限的向量很难表示用户这样的多个兴趣。我们的 MIND 模型通过 Dynamic Routing 的方法从用户行为和用户属性信息中动态学习出多个表示用户兴趣的向量,更好地捕捉用户的多样兴趣,来提升召回的丰富度和准确度。
3.4 Retargeting
Retargeting 是一种将用户点击、收藏或加购的商品再次推荐给用户的一种推荐策略。在电商的推荐系统中,用户的行为包含浏览、点击、收藏、加购和下单等,我们当然希望用户每一个行为流最终都能到达转化的环节,但是事实并非如此。当用户产生了下单行为的某些上游行为时,会有相当一部分用户因为各种原因没有最终达成交易,但是用户当时没有产生下单行为并不代表用户对当前商品不感兴趣,当用户再次来到商场时,我们根据用户之前产生的先验行为理解并识别用户的真正意图,将符合用户意图的商品再次推荐给用户,引导用户沿着行为流向下游,最终达到下单这个最终的行为。