有幸参与了几个业务推荐系统搭建的全流程,本文将从实际经验出发,为大家解构如何从零搭建推荐系统,希望跟大家能够相互交流,如有错误之处烦请指正。一、推荐算法的理解
如果把推荐系统简单拆开来看,推荐系统主要是由数据、算法、架构三个方面组成。
推荐的框架主要有以下几个模块:
三、用户画像3.1用户标签
标签是我们对多维事物的降维理解,抽象出事物更具有代表性的特点。我们永远无法完全的了解一个人,所以我们只能够通过一个一个标签的来刻画他,所有的标签最终会构建为一个立体的画像,一个详尽的用户画像可以帮助我们更加好的理解用户。
原始数据一共包含四个方面:
2.事实标签
事实标签可以分为静态画像和动态画像:
隐式行为的权重往往不会有显示行为大,但是在实际业务中,用户的显示行为都是比较稀疏的,所以需要依赖大量的隐式行为。
3.模型标签
模型标签是由事实标签通过加权计算或是聚类分析所得。通过一层加工处理后,标签所包含的信息量得到提升,在推荐过程中效果更好。
四、内容画像4.1内容画像
推荐内容与场景通常可以分为以下几类,根据所推荐的内容不同,其内容画像的处理方式也不同。
五、算法构建5.1推荐算法流程
推荐算法其实本质上是一种信息处理逻辑,当获取了用户与内容的信息之后,按照一定的逻辑处理信息后,产生推荐结果。热度排行榜就是最简单的一种推荐方法,它依赖的逻辑就是当一个内容被大多数用户喜欢,那大概率其他用户也会喜欢。但是基于粗放的推荐往往会不够精确,想要挖掘用户个性化的,小众化的兴趣,需要制定复杂的规则运算逻辑,并由机器完成。
推荐算法主要分为以下几步:
2.周期性复购问题
5.3粗排策略5.4精排策略
以短视频行业为例,推荐目标主要由几个方面组成:
参考:《多目标排序在快手短视频推荐中的实践》
1.概念:逻辑回归通过sigmoid函数,将线性回归变为可以解决二分类的方法,它可用于估计某种事物发生的可能性。
2.计算公式:Y根据目标设计:例如是否点击(是:1,否:0,最后预测一个0-1之间的点击概率);X根据特征工程设计:这一块就涉及到了前面提到的用户画像与内容画像,所有的画像都是对样本的特征的刻画。特征工程需要根据业务场景选择合适的特征并进行一定的加工;W由模型训练得到。
基于我们的目标,需要进行样本的收集(样本是对客观世界的具体描述),通过对已收集到的样本进行特征构造,并对其进行训练,最终求出模型参数的具体数值。
逻辑回归为有监督模型,因此需要有已经分类好的样本。正样本:用户曝光过某物品并点击。负样本:用户曝光过某物品并且没有点击。如果正负样本差距过大,可以将负样本随机抽样后与正样本一起训练。或只保留有点击行为的用户作为样本,将曝光但是没有被点击的物品作为负样本。
特征工程是对收集到的样本进行更加深度的特征刻画。虽然作为算法人员与用户接触较少,但对身边使用该产品的同学,进行深入的观察与访谈,了解他们对于所推荐内容的反馈,往往可以得到意料之外的特征开发方向。主要分为以下几个维度。
不同交叉方法得到的不同的参数数量:
1.深度学习基础Embedding+MLP模型
2.深度学习主要特点
(1)embedding技术在召回层的应用:embedding,即用一个数值向量来表示一个对象的方法,对于处理稀疏特征有比较重要的应用,其将稀疏高维特征向量转换为稠密低维特征向量,可以融合大量价值信息。其主要方法有基于文本的Word2Vec,基于物品的Item2Vec,基于图结构(社交关系、知识图谱、行为关系等)的deepwalk、Node2Vec(增加了随机过程中跳转概率的倾向性)等。
(2)深度学习模型在排序层的应用:深度学习模型以MLP为基础结构,embedding+MLP是最经典结合,google在此基础上提出的Wide&Deep在业界得到了广泛的应用。
3.目前主要的衍化方向
4.深度学习模型举例
(1)Wide&Deep模型
2016年谷歌发表的Wide&Deep模型与YouTube深度学习推荐模型,引领推荐算法走向了对深度学习的应用。
相比传统机器学习推荐模型,深度学习具有更加复杂的模型结构,而使其具备了理论上拟合任何函数的能力。同时深度学习的结构灵活性可以让其模拟出用户兴趣的变迁过程。左侧传统推荐模型与右侧深度学习推荐模型对比,其模型复杂度增加:
(2)DeepFM模型
由FM与深度学习模型的结合生成的DeepFM模型:即FM替换了Wide&Deep的Wide部分,加强了浅层网络部分特征组合的能力,右边的部分跟Deep部分一样,利用多层神经网络进行特征的深层处理。
(3)深度兴趣DIN模型
(4)深度兴趣进化网络DIEN
弥补DIN没有对行为序列进行建模的缺点,通过序列层,兴趣抽取层,兴趣进化层。其中利用序列模型利用商品ID和前一层序列模型的embedding向量,输出商品embedding与兴趣embedding。
listwise排序
强化学习
其主要几个方向为:加强特征与信息的补充、EE问题平衡、实时化加强。
信息补充
EE探索
快速收敛
5.6.2内容冷启
以短视频推荐为例,平台常常采用大小池逻辑,对内容进行不同流量的探索,并根据实际的反馈数据来决定内容可以进入的推荐范围。其中表现优质的内容将不断的进入更大的流量池中,最终进入推荐池,形成精品召回池。
六、当前发展
因果与推荐结合
序列/会话推荐
*图神经网络与推荐结合*
知识图谱与推荐结合
多模态内容推荐
对话系统:主要分为两种方向(1)通过NLP的方式来构建对话机器人。(2)交互式的意图挖掘,利用用户少量交互行为,快速得到用户偏好以完成推荐任务。
如何去获得推荐效果。可以分为离线实验、用户调查、在线实验三种方法。
推荐系统并非导致信息不平等和信息茧房的根本原因。
但不可否认的是,推荐系统的便捷性、自动化、实时性会加重这些问题。在这样的情况下,我们能做些什么?
8.2算法可能产生的蝴蝶效应
在很多场景中,并非只有机器算法一种推荐方式。以视频号为例,除公域机器推荐外,也存在私域(朋友圈、群聊、单聊)、半公域(朋友tab社交推荐)等推荐方式,但推荐对整个产品体验、内容生态、作者生态的影响都是巨大的。
8.2.1推荐算法对feed传播的影响
(图中曲线均为模拟,非真实曲线,仅供示例)
一个feed在传播过程中,主要影响因素有:
推荐算法对feed的影响是巨大的,若无法被推荐算法识别,其获得较高热度的可能性较低,最终导致产品的流量主要集中在被推荐算法识别并推荐的feed上。其短期内对内容生态、浏览者体验有较为重要的决定作用;长期来看,对内容氛围、作者反馈、浏览者长期留存都有较大的影响。