APP下载

隐式反馈场景下的LFM-XGB-LR融合推荐算法

2020-03-11程晓娜孙志锋

计算机工程与应用 2020年5期
关键词:权重样本特征

程晓娜,孙志锋

浙江大学 电气工程学院,杭州310027

1 引言

随着互联网娱乐和社交的日渐成熟,抖音、微视、快手等短视频App 逐渐成为流行的娱乐方式[1],2018 年6月,抖音首次对外公布,其日活用户已超过1.5 亿,月活用户超过3 亿。而短视频App 用户日常的活跃度很大程度上依赖于视频流的推荐质量。不同于传统的视频推荐问题,新兴短视频的推荐页面是每次只展示一个视频的“feed 流”形式[2],缺失了用户从具有多个视频的展示页面进行选择性点击的过程,这使得对用户的兴趣点分析更加困难。如何根据更加隐晦的用户隐式反馈行为挖掘用户的个性化特征,从而进行个性化的短视频推荐,是非常重要的问题。

要完成从用户请求到将个性化推荐内容呈现给用户,需要一个完整的推荐系统。推荐系统架构通常由用户行为日志存储系统、视频候选集、推荐算法模块等部分组成[3]。目前的工业生产中常用的短视频推荐架构结构如图1所示。在推荐系统中,推荐算法是十分关键的一环,其有效性直接影响着用户的使用体验和活跃度等关键绩效指标(Key Performance Indicator,KPI)。

图1 短视频推荐系统一般架构

对于推荐算法,国内外学者研究出了大量的模型,目前被广泛应用的主要是基于内容的推荐、基于协同过滤的推荐和混合推荐算法等[4]。基于内容的推荐算法[5-6]兼顾用户信息和物品信息,主要是对文本描述信息的挖掘,其方法多采用词频-反文档频率(TF-IDF)法生成文本向量空间模型,文献[5]对于复杂文本应用HMM模型进一步抽取信息,文献[6]则将卷积神经网络应用到基于内容的推荐中,从多媒体资源的文本信息中预测隐向量因子。但基于内容的方法需要用户和物品的描述信息,难以解决描述信息表达不完整、不充分的问题,而基于协同过滤的算法则不依赖于描述信息。基于协同过滤的推荐算法是最早发展且目前应用最为广泛的推荐算法[7],分为基于用户的协同过滤[8]、基于物品的协同过滤[9]和基于模型的协同过滤[10],根据用户对物品的历史评分数据,计算用户相似度或者物品相似度,从而进行推荐,不需要物品的具体内容信息,但其性能受到评分数据的稀疏性和新用户/新物品的冷启动问题的制约。文献[11]随机抓取局部特征,并在局部特征上利用自动编码机进行学习,改进了基于模型的矩阵分解算法,使得局部性特征得到了更加准确的表达。文献[12]提出一种用户隐式信任计算方法,建立用户间接信任,一定程度上改善了冷启动的问题。文献[13]在矩阵分解中融合基于社交网络的特征矩阵,缓解了数据稀疏的问题,文献[14]则深入研究了社交信息变化对基于模型的社交关系推荐的影响,从社交网络中心节点入手提升了推荐质量,但现阶段短视频的稳定版本中尚没有设计“好友关系”的模式,因此无法利用社交方面的数据。同时,以上所述的基于协同过滤的方法的特征矩阵均依赖于用户对物品的显式评分信息,无法直接适用于没有显式评分的隐式反馈场景[15]。基于隐式反馈场景,Liu M等人提出成对因子混合相似性模型[16],取得了比相似度学习和成对偏好更好的效果,但是本文的短视频推荐场景基于线上分布式大规模数据集实验,需要更加高效的在线算法。混合推荐模型[17-19]能兼顾用户-物品评分数据以及物品描述信息,且能有效利用分类和回归算法,拓宽了推荐算法的思路,例如文献[20]将电商推荐看作分类问题并将XGBoost模型应用到其中,但其模型较为简单,难以应对复杂的场景。文献[21]提出了GBM 和LR融合模型,证明了提升树算法在特征交叉上的优势,并将融合模型应用到广告点击率(Click Through Rate,CTR)预估中,但GBM算法在分布式大规模数据集上的效率往往逊于XGBoost算法[22]。

在短视频推荐场景中,一方面,用户只有隐式反馈行为,而没有对视频的显式评分,所以只能基于隐式反馈设计推荐算法。另一方面,用户通常仅仅播放视频,而点赞、评论等互动行为稀疏,导致现有推荐算法的个性化不足。为此,本文提出LFM-XGB-LR融合模型,基于隐式反馈数据,利用LFM 生成用户偏好嵌入和视频特性嵌入,提升了模型的个性化性能,并利用了XGB和LR 在特征交叉和分布式运算上的优势,最终使模型总体的性能得到了明显提升。

2 相关基础

2.1 隐语义模型

隐语义模型(Latent Factor Model,LFM)是一种隐含语义分析技术,最早于文本挖掘领域被提出,用于表示文本的潜在语义。LFM 通过如下的公式计算用户u对物品i 的喜好程度:

其中,pu,k代表用户u 对第k 个隐类的喜好程度,qi,k代表物品i 和第k 个隐类属性的关系。LFM 算法的损失函数为:

其中λ‖ pu‖2+λ‖ qi‖2是用来防止过拟合的正则化项。最小化以上损失函数的算法,一般采用随机梯度下降法(Stochastic Gradient Descent,SGD)或者交替最小二乘法(Alternating Least Squares,ALS)。

2.2 极限梯度提升算法

由陈天奇首次提出的极限梯度提升算法(eXtreme Gradient Boosting,XGBoost)[22]是一种基于前向分步相加和提升(boosting)的集成(Ensemble)模型,其基学习器是分类回归树(Classification And Regression Tree,CART),模型的损失函数为:

泰勒二阶展开近似与转化后的目标函数为:

求解得到的目标函数最优解为:

3 LFM-XGB-LR融合模型

本章结合短视频应用场景,详细介绍LFM-XGB-LR模型的具体构建和实现。模型整体将视频推荐问题类比为分类问题,即对于每一个用户视频对(useri,itemj),判断用户i 是否对视频j 感兴趣。样本数据集的数学表示为T={(x1,y1),(x2,y2),…,(xN,yN)},xi⊆Rn,yi⊆R ,其中xi表示第i 个样本的特征向量,yi表示第i 个样本的标签。

3.1 基于隐式反馈的LFM嵌入

3.1.1 用户隐式反馈行为的转化

短视频推荐场景属于隐式反馈推荐,不同于用户对物品有显式评分反馈的场景,只能获取用户的隐式反馈行为,如是否完整播放视频、点赞、转发、评论等。根据业务场景的特性,本文以用户对视频的观看完成度定义正负样本,当观看完成度小于阈值α 时,该视频是该用户的负样本,即:

将用户行为类型集合记为B={ }b1,b2,…,bn,用户行为流水集合记为S={ }S1,S2,…,Ss,…,Sm,表1给出了用户行为流水数据的日志数据格式。行为类型数据中,除了记录了用户的每次播放时长,也记录了点赞、评论、收藏、关注视频作者等正向互动行为。在之前的算法中,一般将播放行为和正向互动行为分为两类赋予权重,其中,播放行为以播放时长/视频总时长 来衡量喜好程度,正向互动行为则赋予相同的正整数权重。但将所有正向互动行为赋予相同权重并不十分符合实际情况,例如,用户“点赞”一个视频和“关注视频作者”体现出的喜好程度,明显后者更强。从大量统计数据和用户行为分析,足够长时间段的数据统计中,一种互动行为的发生总次数越少,则用户发生这种行为时,体现出的对视频的喜好程度越强。为了更加细致地挖掘隐式反馈行为,本文设计如下正向行为权重转化公式:

其中:

N(bi)表示bi这种行为在统计时间段中发生的总次数,rank(bi)表示行为bi按照N(bi)从大到小的排序次序(从1 开始),rank(bi)越大(排序越靠后),则用户发生行为bi时,根据统计行为分析,其代表的偏好权重应该越大。一种可以想到的方式是以等差数列对这些行为从小到大依次赋权重值,但为了更加准确地表示权重的差异,将排在第n+1-rank(bi) 位的行为的总次数N(bn+1-rank(bi))取对数作为行为bi的权重,取对数是为了避免N(bi)数量级上的差异导致的小权重行为的结果偏差(为了增加权重数据的可拓展和可移植性,对权重数值做了取整,实验中为了保证准确性,权重结果保留两位小数)。然后将wbi进行标准化:

根据公式,wbi越大,表示用户对视频发生行为bi时,用户对该视频的喜好程度越高,这符合大量数据行为分析的结果,同时,直观上,行为总次数越少,可以理解为行为成本越高,那么用户发生这种行为时,说明用户对视频的喜好程度越强,符合认知。

3.1.2 基于ALS算法的Embedding计算

将用户对视频的行为权重表示为矩阵Am×n,其中Ai,j表示用户i 对视频j 的隐式反馈行为的权重,以3.1.1 节设计的方法计算。对于j ∈Su_negative,有Ai,j=0。对于用户i 未看到过视频j 的,Ai,j为空缺值(待预测)。

假设待求解的User Embedding 和Item Embedding均是k 维向量,有pu,qi∈Rk。用Pk×m表示m 个用户的隐向量矩阵,Qk×n表示n 个视频的隐向量矩阵。根据隐语义模型,有Am×n≈PTk×m×Qk×n。本文采用ALS算法迭代计算User Embedding 和Item Embedding,步骤如下:

步骤1 随机生成一个P(0)。

表1 用户行为日志数据格式

步骤2 固定P(0),求解Q(0),此时的损失函数为C=,将损失函数对qi的导数,有:

即:

令M1=(PPT+λE),M2=PrTi,则:

按照上式依次计算q1,q2,…,qn,从而得到q(0)。步骤3 固定q(0),求解p(1)。根据对称性,有:

其中,M1=(QQT+λE),M2=QrTu。

步骤4 循环执行步骤2 和步骤3,直到损失函数收敛到阈值范围内,得到的pu和qi即为User Embedding和Item Embedding。

3.2 统计学特征构建

本文模型样本的特征向量由Embedding 和统计学特征两部分组成,本节说明统计特征的计算方法,包含用户和视频统计特征。

3.2.1 总量特征

用户和视频的总量特征表征用户活跃度和视频热度的总体情况。视频的总量特征包括点赞、转发、评论等互动总次数、播放完整总次数等;用户的总量特征包括用户总播放量、总点赞量、总评论量以及用户在视频一级、二级分类下的行为总量。公式表示如下:

其中:

3.2.2 均值特征

均值特征表征用户和视频的平均表现水平,包括用户和视频的平均播放时长、平均播放完成度、各一二级视频分类的平均播放时长等特征,是总量特征在统计人数/视频数上的平均。其中,播放完成度定义为:

3.2.3 比率特征

在播放量、点赞量、转发量等总量特征的基础上进一步计算点赞率、转发率、评论率等比率特征,相对于总量特征,比率特征的表达更加稳定。如点赞率可以由r点赞=n点赞/n曝光计算。但由于比率特征受基数影响大,引入威尔逊区间取95%置信区间做平滑,修正后的点赞率如下:

其中,z 取t-分布95%概率区间下的统计量。

3.2.4 对比特征

对比特征是为了更好地表征用户的差异性偏好。例如用户A 和B 对运动类视频的点赞率都是8%,但用户A 对所有视频的平均点赞率为5%,用户B 对所有视频的平均点赞率为10%,显然此时只用点赞率来衡量两个用户对运动类视频的喜欢程度是不够准确的。因此,对行为类特征引入对比特征,计算公式如下:

3.3 XGBoost模型融合及输出转化

记LFM 生成的User/Item Embedding 向量为Fem,统计特征为Fsta,将两部分特征向量进行拼接(concatenate),有:

FXGB_i即为XGBoost 模型的训练集样本T 中的xi,将样本输入XGB模型,训练过程如下:

步骤1 每次循环生成一棵树fm(x)。

步骤2 循环开始时,对于每一个样本,计算gi=∂yˆ(t-1)l(yi,和

步骤3 采用贪婪算法生长树,对于FXGB中每个特征的每个取值,计算增益值,选取增益值Gain=最大的作为分割点。

为了在融合模型中利用XGB 模型特征交叉的结果,将模型输出转化为独热(one-hot)向量。对于模型生成的每一棵决策树,每个样本经过这棵树都确定地落在其某个叶子节点上。叶子节点是特征交叉的结果,可以表示为:其中,d 为树的深度,ti表示样本落在树的第i 个叶节点,ql(x)表示树的第l 层的结构函数。将每个样本通过每棵决策树转化为one-hot 交叉特征,拼接后的交叉特征维数为树的棵树×每棵树叶子节点数,记为Fcross。

3.4 LR模型融合及最终输出

在下一步融合逻辑回归(Logistic Regression,LR)模型之前,由于LR 模型对于离散化特征的学习效率更高,考虑到大规模的数据集,先采用等频分割[23]的方式对FXGB进行离散化,记离散化后的特征向量为F′XGB,并与Fcross融合,有:

FLR=cat(F′XGB,Fcross)

将FLR_i作为xi,将训练样本T 输入LR模型,以对数损失(Logarithmic loss,Logloss)为损失函数,有:

其中:

使用梯度下降法迭代求解参数向量θ,有:

回归参数求解步骤如下:

步骤1 初始化参数向量θ。

步骤2 对训练集中的每个样本,计算该样本的梯度。

步骤4 重复步骤2 和步骤3,直到参数收敛误差小于规定阈值。

最后将解得的参数向量代入式(12)计算样本得分。

LFM-XGB-LR 融合模型的结构如图2。模型最终输出的是预测为正样本的概率,概率值越大,表示用户越喜欢该视频,按此值给用户待推荐的视频进行排序,得到Top100推荐结果。

4 实验结果分析

4.1 数据集描述与实验参数设置

本文的实验数据集是某短视频App 从7 月1 日到8月8日的用户流水数据及用户和视频属性信息,过滤掉记录数少于10条的用户后,包含954 183位活跃用户对1 259 672 个视频的观看、点赞、评论、查看bgm、查看评论、关注视频作者等行为和行为时间戳,每天的流水数据量为五千万左右。用户属性信息包括用户注册时间、性别、年龄、地区(城市线)、受教育水平等,视频属性信息包括视频一级分类、二级分类、标签、上传者、上传时间等。

训练样本构造采用时间滑窗的方式如图3 所示,Fsta的提取分长短期,长期特征为31 天,中期特征为14天,短期特征为7天和1天;Fem的计算中,以31为行为权重估计周期,当用户对同一视频有多种行为时,以权重最高的计算。在正负样本的选取上,考虑到正负样本的均衡,将播放完整度小于30%且没有互动行为(互动行为均为正向行为)的作为负样本,有互动行为的作为正样本,此时正负样本比例约为1∶2。

超参数(hyper parameter)的选取采用网格搜索(Grid Search)方法,涉及的超参数的最终选取结果如表2。根据图4 的模型误差和AUC 随迭代次数的变化趋势,LFM 的损失函数在700 次迭代后收敛于0.8E−4,为了保证得到嵌入向量的准确性,将LFM 的迭代次数设置为1 000;融合模型的误差在800 次迭代后收敛于0.9E−4,同时测试集AUC稳定上升至最大值0.819保持不变,据此,将模型收敛误差阈值设置为1E−4,由于模型最终的输出是预测为正样本的概率值,1E−4 之内的误差不会对实验结果产生干扰。由于实验数据量较大,模型的计算均使用Spark在分布式数据库上进行。

4.2 评价指标

推荐问题要同时考虑推荐结果的准确率和召回率,本文使用AUC、MAP@10/20/50、top10/20/50 平均命中率作为评价指标对实验结果进行评测。

图2 LFM-XGB-LR融合模型结构图

AUC(Area Under the Curve of ROC)是ROC 曲线下的面积,计算方式如下:

其中,P 表示模型对样本的打分,有:

MAP(Mean Average Precision)是AP(Average Precision)在用户粒度上的平均,AP@n的计算公式如下:

其中,ppi是在i 处的命中率,且有:本实验中取n=30。

topK 平均命中率评估模型推荐出的前K 个item 的命中率在用户粒度上的平均,对于每个用户,其topK命中率定义如下:

4.3 实验结果和分析

为了验证本文提出的融合模型的有效性,分别采用以下几种方法作为对比实验:

实验1 传统基于item的协同过滤方法,其中用户对物品的评分以公式计算。

实验2 Fsta(统计类特征)+XGBoost模型。

实验3 F′sta(离散化的统计类特征)+LR模型。

实验4 FXGB+XGBoost模型。

实验5 F′XGB+LR模型。

实验6 Fcross+LR模型。

实验7 LFM-XGB-LR融合模型。

各种方法的评估指标情况如表3。

从实验结果可以看出,本文提出的LFM-XGB-LR融合模型在评估上对比传统模型有明显提升。具体分析来看,第一,基于LFM的用户偏好嵌入和物品特性嵌入作为高阶特征,更加充分地挖掘了用户的隐式反馈数据,使得特征表达更加充分和完整,可以看到加入Embedding 特征的各组模型的指标均得以提升;对比LFM 嵌入前后特征重要性top10(表4),特征重要性以特征被选作分裂节点的次数计算,用户偏好嵌入特征重要性排进top10,且在37/80 棵决策树的根节点被选用,说明用户嵌入有效缓解了用户互动行为稀疏导致的低阶偏好特征重要性低的问题,模型更加“重视”用户偏好特征,从而提升了模型的个性化性能;同时,从图5的视频类别变化看出,LFM 嵌入修正了推荐视频的类别分布,各个类别的视频更加均匀,这使得更多类型的优秀视频能被推荐给更多用户,有效改善了视频严重倾斜到单一类别上导致的调性单一以及拉空优质视频库的问题。第二,融合模型充分发挥了XGBoost模型在特征交叉上的优异性能,能够根据信息增益自动做特征交叉,省去了人工做笛卡尔特征交叉的工作,且选择出的交叉特征更加有效;XGBoost分布式的运算架构也提高了分布式数据集上的算法效率。第三,LR 模型在离散特征的处理上效率优于连续特征,且特征表达的充分与否对模型性能至关重要,本文的融合模型结合了LFM 嵌入和XGB 交叉特征优势并且进行了合理的特征离散化,各项评估指标表明,LR模型的优势得以很好地发挥。

图3 数据集构造图

图4 模型误差和AUC随迭代次数变化

表2 超参数设置

表3 对比实验各项评估数据

表4 加入LFM嵌入前后特征重要性top10特征对比

图5 加入LFM嵌入对视频类别分布的影响

同时,为排除测试集的时间干扰因素,采取k 折交叉验证(K-fold Cross Validation)的方式,取k=8,分别将八组样本作为测试集,其余作为训练集,以AUC为评价指标,得到的结果如表5所示。可以看到各个实验的AUC 指标虽随时间有所波动,但本文的融合模型在各组实验上均有稳定提升。

表5 各实验的交叉验证AUC值

5 结束语

个性化推荐是信息流领域的核心问题,而由于其业务场景的特性,在绝大多数情况下,这些问题只能基于用户的隐式反馈行为解决。本文提出了一种基于用户行为逻辑的隐式行为权重计算方式,并在此基础上将文本处理领域的LFM 模型应用到推荐问题上,以向量嵌入的方式解决了这类问题中由于用户互动行为数据的稀疏性导致的个性化不足问题;同时,考虑到XGBoost模型更擅长特征交叉而LR模型更擅长大规模离散特征的计算,本文设计了基于LFM 向量嵌入的XGBoost 和LR 融合模型。对比实验的各项评测指标表明,融合模型的效果优于传统协同过滤和分类模型,后续线上实验也证明了本文模型的有效性。

猜你喜欢

权重样本特征
根据方程特征选解法
用样本估计总体复习点拨
权重常思“浮名轻”
不忠诚的四个特征
推动医改的“直销样本”
为党督政勤履职 代民行权重担当
抓住特征巧观察
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本
基于局部权重k-近质心近邻算法