APP下载

联合成对排序的物品推荐模型

2019-09-28吴宾陈允孙中川叶阳东

通信学报 2019年9期
关键词:列表排序物品

吴宾,陈允,孙中川,叶阳东

(郑州大学信息工程学院,河南 郑州 450001)

1 引言

随着网络信息的爆炸式增长,如何从海量数据中帮助用户快速获取所需信息,已成为信息检索领域亟待解决的问题。相比于传统的搜索引擎技术,推荐技术因不需要用户的明确需求便能主动向用户提供个性化服务而成为缓解这一问题的重要工具[1-3]。近些年,众多网站已将推荐技术作为系统的必备组件,如亚马逊商品推荐、Netflix 电影推荐等。推荐技术不仅可以增加用户的参与度及对系统的信任度,而且能够为商家带来可观的收益[4]。

在现有的推荐技术中,协同过滤[5]技术是当前电子商务系统中应用最为广泛的技术,其核心思想是根据目标用户的历史行为记录来寻找兴趣相投的近邻用户,综合考虑这些用户的兴趣爱好,帮助目标用户发现可能感兴趣的物品。用户的历史行为记录通常可分为两类:1)显式反馈,即评分信息,例如亚马逊网站用户对所购买的物品打出1~5 的评分,该评分能够明确地表达用户对物品的喜好程度;2)隐式反馈,例如购买、点击、浏览等信息,其不能明确表达用户对物品的喜好程度,但在一定程度上反映了用户感兴趣的物品。早期的协同过滤技术主要基于显式反馈来处理推荐系统中的评分预测任务[6]。相比不易收集的评分信息,隐式反馈的形式多样性和易获取的特性使基于隐式反馈的推荐模型更具实用性。近些年,基于隐式反馈信息的建模方法通常可分为两类[7]:单值排序(pointwise ranking)[8-9]和成对排序(pairwise ranking)[10-12]。单值排序方法通常潜在地假设用户已交互的物品为正样本且所有未交互物品为负样本。与单值排序方法不同,成对排序方法基于一个更弱的假设[10],即用户对已交互物品的喜好强于未交互的物品。相比单值排序方法优化用户对物品的绝对偏好,成对排序方法优化物品之间相对排名位置的建模方式显得更加合理。

在众多基于成对排序的推荐模型中,贝叶斯个性化排序(BPR,Bayesian personalized ranking)[10]因具有理论完备、精度较高、易于实现等优点受到了学术界和工业界的广泛关注。当前已有不少推荐算法扩展了该模型[13-15],如融合社会关系的SBPR(social Bayesian personalized ranking)[13]、融合多级反馈信息的BPR++[14]、融合用户浏览信息的BPR+view[11]等。上述模型仅从用户角度来构建用户-物品样本对,忽略了从物品角度建模物品之间内在的功能关系。在现实生活中,用户在做出购买决策时,不仅受自身喜好的影响,还受物品在功能上互补关系的影响因素。在图1 手机及配件推荐场景中,Lily 已经购买了手机、耳机、自拍杆等商品,亚马逊网站向其推荐与已购买物品存在功能互补关系的手机壳可能更为合适;在宠物用品推荐场景中,Jason 的历史购买列表中有狗粮、宠物牵引绳、宠物垫子、宠物项圈等商品,此时系统向用户推荐宠物沐浴露更为合适。图1 所示的2 个推荐场景通过考虑商品之间的互补关系,这不仅避免了产生重复性推荐,同时满足了用户的当前需求。

对于成对排序方法而言,推荐模型的学习通常需要选取合适的正负样本对。在现实商业推荐场景中,用户与物品之间的历史交互数据通常具有长尾分布的特性[15],这使负样本的选取对于模型的精度和收敛性都有很大影响[16]。在采样过程中,需要选取一个比正样本具有更高排名的负样本,从而能够有效地更新参数并训练模型[17]。原始BPR 模型基于均匀采样策略构建正负样本对,该策略未考虑物品流行度和上下文信息的影响,同时忽略了正负样本的相对排名位置。当选取的正样本比负样本的排名位置靠前时,该正负样本对用于模型训练的贡献甚微。文献[16]提出了自适应采样策略,该策略每次迭代时根据当前正样本排名选取负样本,每隔固定的迭代次数更新一次排名信息。相比均匀采样策略,该策略的收敛更快,但忽略了正样本当前排名位置对于学习模型梯度的影响。

图1 亚马逊网站的商品推荐案例

针对上述问题,本文从用户和物品2 个角度,同时考虑用户-物品之间的交互关系和物品之间在功能上的互补关系,提出一种联合成对排序的推荐模型。考虑到正样本的排名位置和负样本的选取将直接影响模型精度及收敛速度,本文进一步构建了一种新颖的排序感知策略,使每次迭代均能合理选取正负样本对并根据正样本的当前排名位置动态控制模型学习梯度。最后基于该策略设计了一种高效的协同过滤推荐(CPR,co-pairwise ranking)学习算法,用于求解所提出模型的参数。

本文主要贡献如下。

1)依据用户与物品之间的交互关系与物品和物品之间在功能上的互补关系分别从用户和物品2 个角度构建正负样本对,提出一种联合成对排序的推荐模型。

2)构建一种新颖的排序感知策略,该策略不仅能够合理选取负样本,而且可以根据正样本当前排名位置动态控制模型学习梯度。

3)设计一种高效的协同过滤推荐算法——CPR。实验结果表明,所设计的算法在推荐精度及收敛速度上均优于当前主流推荐算法。

2 相关工作

单值排序方法通常把物品排序任务转化为回归或分类问题,将观测数据视为正样本,并将所有未观测数据视为负样本。系统从观测数据和未观测数据中学习一个回归或分类函数,并基于该函数预测用户对物品的喜好程度,最后根据喜好程度进行排序获得推荐列表。Hu 等[8]提出一种加权正则化矩阵分解(WRMF,weighted regularized matrix factorization)模型,该模型通过学习一个加权平方损失函数来建模用户和物品之间的交互关系。尽管该模型基于权重策略缓解了正负样本不平衡的问题,但存在所有负样本使用相同权重的问题。为了解决该问题,He 等[9]设计了一种用于负样本的基于物品流行度的可变权重策略,使改进后的模型性能明显提升。He 等[17]又提出了一种神经矩阵分解(NeuMF,neural matrix factorization)模型,该模型统一了矩阵分解模型的线性优势和多层感知机的非线性优势。

相比于单值排序方法,成对排序方法更加关注物品之间的相对排名位置。该类方法通常假设用户对已交互物品的喜好要强于未交互物品。贝叶斯个性化排序[10]由于理论完备、可扩展性强、易于实现等优势已成为成对排序方法中的经典模型。近些年,不少学者以此为出发点,提出了许多扩展的模型并取得了不错的推荐效果。例如,Zhao 等[13]融入用户社交关系,构建社会化贝叶斯个性化排序(SBPR,social Bayesian personalized ranking)模型,该模型潜在地满足2 个假设:1)用户对自身购买物品的偏好要强于其朋友购买过的物品;2)用户对自身或朋友购买过物品的喜好要强于两者均未购买的物品。Zhao 等[13]通过大量实验验证了上述假设的成立。Chen 等[18]通过设计一种计算用户之间局部相似性的模式来改进BPR 模型,提出局部相似度的贝叶斯个性化排序(HLBPR,hybrid local Bayesian personal ranking)。Ding 等[11]提出了一种改进的贝叶斯个性化排序(BPR+view)模型,该模型通过考虑用户的浏览信息减小了对负样本的搜索空间。这些模型虽然通过融入额外信息提升了原始BPR 的推荐精度,但负样本的选取依然基于均匀采样。Rendle 等[16]认为现实世界中物品的流行度大都符合长尾分布,这使负样本基于均匀采样的算法面临着收敛缓慢问题,鉴于此,提出了一种自适应的负采样算法,并将其用于原始的BPR 模型。

上述工作主要侧重于从用户角度优化物品之间的相对排名位置,忽略了物品之间内在的功能关系对用户决策的影响。本文同时从用户和物品2 个角度对决策过程进行建模,即分别基于用户历史购买记录和物品的联合购买记录构建正负样本对。其次,在构建正负样本对时,上述模型均忽略了正样本的当前排名位置对于模型学习梯度的影响,鉴于此,本文设计了一种新颖的排序感知策略,该策略不仅能够自适应地选择负样本,而且能够根据正样本当前的排名位置动态控制模型学习梯度。

3 预备知识

3.1 符号定义

本文使用黑斜体的大写字母表示矩阵(如P),并使用黑斜体的小写字母表示向量(如p),集合用花体表示(如U)。用字符上加^表示预测值(如)。本文的主要符号及其含义如表1 所示。

表1 主要符号及其含义

本文用矩阵R=[rui]m×n表示用户-物品交互矩阵,其中,u表示用户,i表示物品,用户u购买过物品i则rui=1,否则rui=0。矩阵C=[ckv]n×n表示物品-物品互补矩阵,ckv表示物品k与物品v之间互补程度,用户经常联合购买物品k与物品v则ckv=1,否则ckv=0 。用户-物品成对样本集合为DT={(u,i,j)|i∈Iu,j∈IIu},其中IIu表示用户u未购买物品集合。物品-物品成对样本集合为DS={(k,v,w)|v∈Ik,w∈IIk},其中IIk表示未与物品k进行联合购买的物品集合。本文的目标是向每个用户生成一个个性化的物品排序列表,表中的物品来自用户未购买过的物品 {j| (u,j)∉T }。

3.2 贝叶斯个性化排序

成对排序方法通常使用(u,i)≻(u,j)表示用户u对物品i的喜好强于物品j的。δ(b)是二元指示函数,b为真,则δ(b)=1,否则δ(b)=0。δ((u,i)≻(u,j))表示用户对物品i的喜好是否强于物品j。基于δ((u,i)≻(u,j))的伯努利分布计算用户u与所有物品的成对喜好似然表示为

基于式(1)的成对喜好似然表示,Rendle 等[10]提出了一种贝叶斯个性化排序的推荐模型。从准确性和效率两方面来看,该模型是解决推荐系统中物品排序任务的主流模型,其满足以下假设条件。

假设 1对于用户u,物品i∈Iu,物品j∈I Iu,用户u对物品i的喜好程度强于物品j,其形式化可表示为(u,i)≻(u,j)或> 0。

基于该假设所有用户的成对喜好似然表示为

通常使用 Sigmod 函数σ(x)=近似于。最大化式(2)等价于优化式(3)所示的目标函数。

其中,θλ为模型超参数,θ为求解的模型参数。

4 联合成对排序的推荐方法

4.1 联合建模交互关系与互补关系

在现实生活中,除用户自身喜好之外,物品之间的功能关系往往也是用户做出购买决策的重要因素。在图1 中,用户经常同时购买手机、手机壳、耳机等物品,文献[19-20]分析得出这些物品在功能上通常具有互补性。合理使用物品之间的互补关系对用户的决策过程进行建模,不仅有助于提升推荐系统的精确度,而且有助于增加推荐结果的多样性与用户的满意度。与文献[20]做法一致,本文使用数据集中联合购买记录来构建物品之间在功能上的互补关系。与建模用户和物品之间的交互关系相似,对于物品之间的互补关系需要满足以下假设。

假设 2对于物品k,物品v∈Ik,物品w∈IIk,存在物品k对物品v的互补程度强于对物品w的,可形式化表示为(k,v)≻(k,w)或> 0。

假定系统中存在m个用户和n个物品,那么根据用户的历史购买记录可以构建用户-物品的交互矩阵R=[rui]m×n,根据联合购买信息可以构建物品-物品的互补矩阵C=[ckv]n×n

[19-20]。本文用P∈Rm×d表示用户潜在特征矩阵,Q∈Rn×d表示物品潜在特征矩阵,up表示用户u的潜在特征向量,iq表示物品i的潜在特征向量。在电子商务系统中,物品之间的互补关系通常具有方向性,譬如用户u最近购买了手机,向其推荐手机壳是比较合适的;但反向推荐不但不能增加商家的销售量,反而会降低用户对系统的信任度。如果仅用矩阵Q建模物品之间的互补关系,将无法体现互补关系的有向性,即。鉴于此,本文引入互补潜在特征矩阵H∈Rn×d,使学习的互补关系具有方向性,即,其中hv、hk分别表示建模物品v和k在功能互补方面的特征向量。联合假设1 和假设2,从用户自身因素和物品之间的内在联系这2 个角度建模用户的决策过程,如式(4)所示。

其中,有

其中,β是超参数,控制物品的互补关系在用户决策过程中所占的比重。与式(2)类似,如使用近似于,则有。最大化式(4)等价于优化式(5)所示的目标函数。

4.2 融合排序感知策略的联合成对排序模型

对于成对排序方法而言,其最终优化目标是将用户喜欢的物品排在推荐列表比较靠前的位置。然而,当前成对排序方法大都忽略了正样本的当前排名位置及负样本的选取对于推荐结果的影响。为了更加清晰地阐述,本节给出一个直观的例子,如图2所示。对比图2(a)和图2(b)可知,图2(a)中正样本i的排名位置更接近于底部,如果与图2(b)一样使用相同学习梯度来更新模型的参数,这显然降低了模型的收敛速度。对比图2(a)和图2(c)可知,图2(c)中正样本i与负样本j的相对排名位置趋向于理想的排名列表。如若选取类似于图2(c)中的正负样本对,那么该负样本对于模型训练贡献甚微。为了解决当前多数方法面临的这个问题,本文设计了一种新颖的排序感知策略,该策略能够根据正样本的当前排名位置动态地定义权重函数,并能够根据当前的正样本选取合适的负样本。

图2 用户u的3 种排序列表

给定用户u,本文用iγ表示正样本i在用户推荐列表中的排名位置。由图2 可知,正样本的排名位置越高(越接近底部),对于模型的梯度更新应该贡献越大。受此启发,可定义权重函数为

从式(6)和式(8)可看出,权重函数是一个递增函数,γi和γv越大表明正样本的排名位置越接近底部,其权重值越大,从而模型学习速度越快。通过将式(6)和式(8)代入式(5)中可得出最终联合成对排序模型的目标函数如式(10)所示。

式(10)所示的目标函数通过排序感知策略不仅能选取比正样本排名更靠前的负样本,而且能根据正样本的当前排名位置动态地控制模型学习梯度。

4.3 模型求解

基于成对排序的推荐模型通常直接采用随机梯度下降优化算法[9]求解模型的参数。然而从表2可以看出,用户的历史购买信息与物品的联合购买信息极度不平衡,即前者远比后者稠密,直接优化本文模型将会导致不能有效使用后者信息。鉴于此,本文采用交替优化方式[21]对式(10)进行求解,即首先使用用户和物品之间的交互关系求解参数pu、qi、qj,然后基于物品之间的互补关系求解qk、hv、hw。对于的求解结果如式(11)所示。

本节在算法1 给出了求解所提模型的详细步骤。

算法1求解所提模型的详细步骤

算法1的时间复杂度主要包括负采样过程和各梯度变量的更新。获取用户-物品正负样本对和物品-物品正负样本对的时间复杂度分别为和,其中,表示建模交互关系时选取有效负样本平均需要的次数,且表示建模互补关系时选取有效负样本平均需要的次数,且。计算各梯度的时间复杂度均为O(d)。因此,CPR 算法每次迭代的复杂度为,其中,表示用户历史购买数量,表示联合购买数量。由此可看出,算法1 的整体复杂度与历史购买数量和联合购买数量呈线性相关。

5 实验结果及分析

5.1 数据集介绍

为了验证CPR 算法在Top-N推荐上的有效性,本文在4 个不同规模的亚马逊数据集上进行实验。实验中所使用的数据集分别为Health and Personal Care、Video Games、Pet Supplies 和Cell Phones and Accessories,这些数据集含有丰富的元数据信息,如用户历史购买记录、物品图片信息、用户的评论、物品之间的联合购买等信息。在这些数据中,本文使用用户历史购买记录构建用户和物品之间的交互关系,使用联合购买信息[19-20]构建物品和物品之间的互补关系。

实验中对4 个数据集进行初步处理,剔除历史购买记录少于5 个的用户,表2 给出了最终所使用数据集的一些统计特性。

5.2 评价指标

1)准确率和召回率

准确率(Precision)定义为正确预测的物品数与推荐列表长度N的比值。召回率(Recall)定义为正确预测的物品数与用户u在测试集中真正购买的物品数的比值。假定使用lrec表示用户u的推荐列表,ltes表示用户u在测试集中真实购买的物品列表。准确率和召回率的定义如下所示。

2)平均准确率

平均准确率(MAP,mean average precision)是衡量所有用户Top-N推荐列表的平均准确率,用于评价推荐的平均质量。AP(average precision)为单个用户的平均准确率,定义如式(14)所示。

其中,P(a)表示在Top-N推荐列表中前a个位置的准确率;δ(a)是一个指示函数,若在测试集中用户购买了排序为a的物品,则δ(a)指示函数值为1,否则为0。MAP 为所有用户在AP 上的平均值。

3)平均折损累积增益

平均折损累积增益(DCG,discounted cumulative gain)是衡量推荐列表与真实购买列表相关度的指标。若用户u购买了推荐列表中第j个物品则relj=1,否则relj=0。其定义如式(15)所示。

其中,DCG*@(u)是DCG(u)的理想最大值,平均折损累积增益(NDCG,normalize discounted cumulative gain)为所有用户DCG 的平均值,其定义如式(16)所示。

5.3 算法对比及实验设置

在实验中,CPR 算法及各对比算法均基于开源算法库Librec 实现。为了验证物品之间在功能上的互补关系和排序感知策略对于推荐结果的影响,本文选取以下7 种主流推荐算法进行对比。

1)POP(popular):该算法是一种非个性化推荐算法,根据物品流行度向用户推荐当前最热门的物品。

2)BPR[10]:该推荐算法主要优化用户对不同物品的相对排序,即用户对于已购买物品的喜好强于未购买物品,从而得出每个用户对所有物品的偏序关系。

3)GBPR(group Bayesian personalized ranking)[7]:该算法是对BPR 的一种扩展,考虑了群组用户偏好对个体偏好的影响,并弱化了原始模型中用户之间相互独立的假设。

4)AOBPR(adaptive over-sampling Bayesian personalized ranking)[16]:一种基于BPR 的扩展推荐算法,采用自适应采样策略优化采样。该算法每隔固定的迭代次数更新一次物品排序列表,并根据当前的正样本排名选取负样本。

表2 4 个数据集的统计特性

5)WARP(weighted approximate-rank pair wise ranking)[22]:由Weston 等[22]提出的一种成对排序学习算法,该算法同样采用自适应采样策略选取负样本,但与AOBPR 不同,它基于间隔铰链损失(hinge loss)函数来求解目标函数。

6)UPR(uniform over-sampling pair wise ranking):本文设计的对比算法之一,该算法同时考虑了用户-物品的交互关系和物品之间在功能上的互补关系,但采用均匀采样策略选取负样本,其目标函数如式(5)所示。

7)APR(adaptive over-sampling pair wise ranking):本文设计的对比算法之一,该算法与UPR 目标函数相同,但采用与AOBPR 相同的自适应采样策略选取负样本。

在实验中,首先根据每个用户的历史购买记录的时间信息进行排序,然后选取前70%数据作为训练集,10%用于验证集,剩余的20%作为测试集。所有推荐算法的学习速率选取范围为{0.001,0.005,0.01,0.05},正则化超参数的选取范围为{0.001,0.001,0.1,1} 。CPR 算法中α选取范围为{0.6,0.8,1,1.2,1.4,1.6},β调参范围为{0.1,1,2,3,4,5,6} 。AOBPR 算法中ρ选取范围为{0.01,0.03,0.05,0.07,0.1,0.3,0.5}。GBPR 算法中对于群组用户大小的设定与原文献保持一致,设置为3。本文所有实验在Windows 7 操作系统,64 GB 内存,Intel(R)Xeon(R)CPU E5-26200 @2.00 GHz 服务器上进行。

5.4 实验结果与分析

实验1全局实验

本实验用于对比各推荐算法在4 个不同规模和稀疏度的数据集上的性能。本实验设置潜在特征向量维度d分别为50 和100,推荐列表长度N为10。表3 详细展示了各算法在Precision、Recall、MAP和NDCG 这4 个评价指标的实验结果(均已乘以100),从表3 中可得出以下4 个结论。

1)在4 个数据集上,BPR、GBPR 和AOBPR算法均优于非个性化推荐算法POP,这表明个性化推荐算法能够更好地发掘用户的喜好。

2)由表2 可知4 个数据集的历史购买记录均极为稀疏。BPR 和UPR 算法采用均匀采样策略,但UPR 同时考虑了用户的历史购买记录和物品的联合购买记录。从表3 中不难看出,UPR 的推荐精度要优于BPR,这说明考虑辅助信息在一定程度上缓解了推荐系统面临的数据稀疏问题,同时验证了本文假设2 的成立。

3)使用自适应负采样策略的APR 推荐精度要明显优于使用均匀负采样策略的UPR,这说明负样本的选择策略对于模型的性能起着至关重要的作用。

4)采用排序感知策略的CPR 明显优于APR。这是因为CPR 每次迭代均考虑正样本的当前排名位置对于模型训练的影响,动态控制了模型的学习梯度。

实验2不同推荐列表长度下的性能对比

为了验证各推荐算法在不同推荐列表长度N下的性能,本实验在潜在特征向量维度为100,推荐列表长度N={10,15,20,25}的条件下进行了实验。由于空间限制,本文仅展示了 Precision@N和Recall@N指标上的实验结果,如图3 所示。从图3中可得出以下主要结论。

1)在不同推荐列表长度下,各算法具有相同的变化趋势;随着N的增大,在各算法的Precision逐渐下降,Recall 逐渐上升。

2)CPR 算法在4 个数据集的不同推荐列表长度下均优于其他主流的推荐算法,这进一步验证了本文算法的有效性及假设2 的合理性。

实验3不同历史购买数量下的性能对比

为了分析在不同用户上各推荐算法的性能,本实验依据训练集中用户的历史购买数量将用户划分为1~10、11~15、16~20、>20 这4 组,图4 显示了4 个数据集中每组用户所占比例。从图4 中可看出历史购买数量少于10 个的用户占大部分,即多数用户为不活跃用户。依据用户的历史购买数量进行分组之后,使用训练集来学习各推荐算法,然后在测试集上分别计算4 组用户的推荐精度。图5 展示了CPR 与3 种对比算法在Precision@10 上的实验结果,由此可得出以下结论。

1)在第一组用户上,UPR 的精度均优于BPR。这是因为该组用户历史购买数据比较稀疏,融入物品之间的功能互补关系不仅有助于缓解数据稀疏问题,同时更加合理地对用户和物品进行了建模。

表3 在4 个数据集上的实验结果

2)随着用户购买数量的增加,各推荐算法的Precision@10 值也随之增加。这是因为用户的购买数量增多,训练模型可使用的数据变得更丰富,更易学习到用户的潜在特征向量。值得注意的是,CPR 算法在4 组用户上均明显优于各对比算法,这是因为该算法不仅考虑了物品之间在功能上的互补关系,同时采用排序感知的负采样策略,使每次迭代时模型学习梯度均趋向较优的方向。

实验4收敛性分析

图3 不同N值下的性能对比

为了分析CPR 算法在收敛性上的优势,本实验统一设置各算法的潜在特征向量维度d为50,并迭代1 000 次。图6 详细展示了该实验结果,其中横轴表示迭代次数,纵轴表示评估指标(实验结果均已乘以100)。由于各推荐算法在4 个指标上具有相似的结论,本实验仅展示在Precision@10 指标下各算法的收敛趋势。从图6 中可得出以下3 种结果。

图4 不同历史购买记录下用户的分布

1)4 种推荐算法随着迭代次数的增加均趋于收敛,最终在很小的范围内波动。相比于采用均匀采样策略的算法BPR,采用自适应采样策略的算法AOBPR 和APR 具有收敛快的特点,这与文献[16]结论一致。

2)APR 与AOBPR 均采用自适应负采样策略,但具有不同的收敛速度。从图6 可以看出,在4 个数据集上融入物品之间功能互补关系的APR 算法收敛速度更快。这说明辅助信息的融入有助于模型更易学习出用户和物品的潜在特征向量,从而加快了算法的收敛速度。

3)除Pet Supplies 以外,在其他数据集上迭代30~50 次使用不同采样策略的APR 和CPR 收敛速度基本重合。当APR 算法趋于收敛时,CPR 算法依然有推荐精度上的提升。这是因为CPR 算法采用了排序感知采样策略,使得每次迭代不仅能够选取有效的负样本,并能根据正样本的当前排名位置动态控制模型的学习梯度。

实验5超参数对算法的影响

为了分析CPR 算法中2 个重要超参数对于推荐精度的影响,本文在4 个数据集上详细讨论了不同取值下的实验结果,如图7 所示。其中,超参数α取值范围为{0.6,0.8,1.0,1.2,1.4,1.6},超参数β取值范围为{0,1.0,1.5,2,2.5,3}。从图7 可得出以下2 个结论。

图5 不同历史购买记录下各算法对比结果

图6 收敛性对比

1)α控制着正样本与负样本之间的排名间隔,其值越大,表示在已知正样本排名位置的情况下,选取负样本的排名越靠近顶部。在4 个数据集上超参数α的值从0.6 开始NDCG@10 值先上升到达某个阈值后下降,这说明正负样本的排名间隔直接影响着CPR 算法的性能。α值较小时模型训练变慢,在有限迭代次数下,其推荐性能将会受到影响;相反α值较大时,不仅在选取负样本时可能需要更多时间开销,而且当正样本排名比较靠近顶部时,可能选择不到符合条件的负样本,使该次迭代对于学习模型参数贡献甚微。

2)β控制着物品之间的功能互补关系在用户决策过程中所占的比重。当β为0 时,表示仅考虑用户历史购买信息,并采用排序感知策略选取负样本的实验结果。从图7 可看出,在超参数β为0 时,实验结果较差,这说明物品之间在功能上的互补关系在用户决策过程中起着积极的作用。但当超参数β的值超过某个阈值时,其推荐结果开始下降,这因为过度依赖物品之间的互补关系将失去用户自身偏好的影响,使推荐系统的个性化程度降低,从而影响了推荐性能。

图7 超参数的影响

表4 在4 个数据集上各算法运行时长(时:分:秒)

实验6各算法运行时间对比

为了检验本文算法的效率,实验6 详细对比了不同推荐算法的训练时间。不同推荐算法在4 个数据集上的训练时间如表4 所示(d=50)。

从表4 可观察出,AOBPR 和 WARP 在4 个数据集上的训练时间均多于BPR。这说明在每次迭代中选取高质量的负样本需要额外的时间开销。GBPR 和 UPR 在效率方面弱于BPR,这是因为BPR 仅使用用户的历史购买记录,而GBPR 和UPR为了更准确地建模用户的喜好而引入了辅助信息。在4 个数据集上,本文算法CPR 效率均优于APR,这说明本文所设计的排序感知采样策略要优于文献[16]所设计的自适应采样策略。综上所述,从实验结果来看:本文所提出的融合用户-物品交互关系和物品之间互补关系的CPR算法在4个数据集上其推荐准确性优于各对比算法;在学习模型参数的效率方面,本文算法与目前主流的推荐算法相当。

6 结束语

现实生活中,用户的购买决策不仅出于自身的喜好,物品之间的功能互补关系也起着重要作用。鉴于此,本文从用户和物品2 个角度对用户的决策过程进行建模,提出一种联合成对排序的物品推荐模型。对于成对排序方法而言,正样本的排名位置和负样本的选取策略将直接影响模型的精度及收敛速度。进一步,本文设计了一种新颖的排序感知策略,并基于该策略构建了一种高效的学习算法CPR 用于求解所提模型的参数。大量实验结果表明,本文的算法不仅缓解了数据稀疏问题,同时加快了模型收敛,并能够在不同历史购买数量的用户上表现出较优的推荐性能。

在未来研究中,本文将探索如何结合其他辅助信息,如物品的视觉信息[23-24]、社交关系[25-26]、时间信息[27]等来进一步改进所提出的模型。

猜你喜欢

列表排序物品
称物品
作者简介
学习运用列表法
“双十一”,你抢到了想要的物品吗?
扩列吧
恐怖排序
谁动了凡·高的物品
节日排序
列表画树状图各有所长
找物品