CN109087178B - 商品推荐方法和装置 - Google Patents
商品推荐方法和装置 Download PDFInfo
- Publication number
- CN109087178B CN109087178B CN201810989667.7A CN201810989667A CN109087178B CN 109087178 B CN109087178 B CN 109087178B CN 201810989667 A CN201810989667 A CN 201810989667A CN 109087178 B CN109087178 B CN 109087178B
- Authority
- CN
- China
- Prior art keywords
- commodity
- user
- feedback
- commodities
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
Abstract
本发明实施例提供一种商品推荐方法和装置。其中,方法包括:获取用户的编号,将所述用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;根据该用户对商品的预测喜好,获取该用户的推荐商品列表。本发明实施例提供的商品推荐方法和装置,利用用户的辅助反馈数据,基于传统贝叶斯个性化排序模型获取用户对商品的预测喜好,从而获得用户的推荐商品列表,能更加精准地建模用户喜好,有效利用用户的辅助反馈数据,能够实现推荐结果的精准度的大幅度提升。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及商品推荐方法和装置。
背景技术
个性化排序(Personalized Ranking)是指给一名用户提供一个商品列表,也称为商品推荐(Item Recommendation)。典型的例子是电商希望给用户个性化的推荐该用户可能购买的商品排序列表。而在大多数应用场景下,这样的排序列表只能通过用户与商品之间隐式的反馈行为(如购买属于隐式反馈,而对商品的评分则属于显式反馈),即隐反馈行为进行推断。
商品推荐方法的特点是仅能观察到的用户的正反馈行为(如购买商品),而未观察的行为(即一个用户未购买某样商品)则由真正的负反馈(用户实际上没有兴趣购买该商品)和缺失值(用户可能有兴趣购买,只是没有发现这件商品)组成。
商品推荐方法的难点在于对未观测数据进行处理。通常有两种方法处理未观测的数据:基于整体的策略,将所有未观测样本视作负反馈;基于采样的策略,从未观测样本中采样获得负反馈样本。基于整体的策略有更好的收敛性,但会产生大量低效的负样本;基于采样的策略能有效减少训练时负样本的个数,但算法性能可能受到影响。
贝叶斯个性化排序(Bayesian Personalized Ranking,简称BPR)模型是基于采样的方法,被用于很多隐反馈推荐系统中。它基于逐对排序(pair-wise ranking)的思想,为了避免逐元素回归算法(point-wiseregression)不区分未观测行为的弊端,BPR优化的目标不再是单个的预测分数而是不同反馈行为之间的排序。BPR假定观测到的正样本的预测分数应当高于未观测的样本预测分数,其优化目标,即目标函数如下:
其中,u代表用户,i代表该用户对应的有正反馈交互行为的商品,j代表同一用户对应的未观测行为,D代表了所有满足条件的(u,i,j)构成的集合;代表两种行为预测分数之差,为sigmoid函数,将差值转化为概率值;λθ||θ||2一项用于防止过拟合,θ代表模型参数,λθ控制过拟合程度。可以证明,上述优化目标等效于优化排序结果的AUC(ROC曲线下面积,area under the ROC curve)参数。
为了获得用户u对某一商品i的喜好程度可以采用矩阵分解(MatrixFactorization)或k近邻(k-Nearest-Neighbor)的方式。通常通过随机梯度下降方法(Stochastic Gradient Descent)进行优化,在每一次迭代中,随机选取观测到的交互行为(u,i),再从u没有交互的商品中选择j,构成训练样本(u,i,j)。选取j的过程,称为负采样器,BPR的性能很大程度上取决于负采样器。
在现有的隐反馈推荐系统中,仅利用能直接反应用户喜好的行为(如商品推荐中的购买行为),对用户喜好的描述还不够准确,因而获得的商品推荐结果的精准度还不够高。
发明内容
针对现有技术存在的商品推荐结果的精准度不高问题,本发明实施例提供商品推荐方法和装置。
根据本发明的第一方面,本发明实施例提供一种商品推荐方法,包括:
获取用户的编号,将所述用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;
根据该用户对商品的预测喜好,获取该用户的推荐商品列表;
其中,所述预设的贝叶斯个性化排序模型是根据用户群的直接反馈数据、辅助反馈数据和未观测数据,以及用户群中每个用户对商品的真实喜好的标签进行训练后获得的。
根据本发明的第二方面,本发明实施例提供一种商品推荐装置,包括:
喜好预测模块,用于获取用户的编号,将所述用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;
商品推荐模块,用于根据该用户对商品的预测喜好,获取该用户的推荐商品列表;
其中,所述预设的贝叶斯个性化排序模型是根据用户的直接反馈数据、辅助反馈数据和未观测数据,以及用户群中每个用户对商品的真实喜好的标签进行训练后获得的。
根据本发明的第三方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的商品推荐的方法。
根据本发明的第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的商品推荐的方法。
本发明实施例提供的商品推荐方法和装置,利用用户的辅助反馈数据,基于传统贝叶斯个性化排序模型获取用户对商品的预测喜好,从而获得用户的推荐商品列表,能更加精准地建模用户喜好,有效利用用户的辅助反馈数据,能够实现推荐结果的精准度的大幅度提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例提供的商品推荐方法中点击商品行为的二义性的示意图;
图2为根据本发明实施例提供的商品推荐方法的流程示意图;
图3为根据本发明实施例提供的商品推荐方法的流程示意图;
图4为根据本发明实施例提供的商品推荐方法中负采样方法的示意图;
图5为根据本发明实施例提供的商品推荐方法中负采样方法的示意图;
图6为根据本发明实施例提供的商品推荐方法中获取权重α的方法的示意图;
图7为根据本发明实施例提供的商品推荐装置的功能框图;
图8为根据本发明实施例提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在现有的隐反馈预测模型中,仅考虑能直接反映用户喜好的行为(如商品推荐中的购买行为)。但其实用户购买商品的过程中还有大量额外的辅助反馈行为,如点击、浏览、搜索等行为都可以体现用户对商品的关注,在一定程度上反映用户对商品的喜好,相比于购买行为,这些行为以更低的可信度反映了用户的喜好。
不同反馈行为可以反映不同程度的用户喜好。以电商为例,购买过的商品相比于点击(但未购买)的商品,暗示了更强烈的用户喜好;而即使一个商品被点击但未被购买,用户对它的喜好也应当超过从未点击的商品。因此,推荐算法对于点击过商品的预测分数,应当介于购买商品和未点击的商品之间(假设所有购买过的商品都被点击过)。这里的点击商品行为,就可以作为一种典型的辅助反馈,用户的一次点击商品行为,具备双重的语义。也就是说,点击商品行为具有二义性。
图1为根据本发明实施例提供的商品推荐方法中点击商品行为的二义性的示意图。
如图1所示,当用户u点击了商品v,一方面,它代表用户u对商品v有一定程度上的兴趣,因此想通过点击进一步查看商品的详情,从这点上来说应该建模成正反馈信号;而另一方面,用户u最终并未购买商品v,这又说明这种程度的喜爱并不足以推动一次购买,因此点击行为同时又应当建模成负反馈信号。
需要说明的是,在本发明的各实施例中,对于辅助反馈行为,均以点击商品的行为为例进行说明。本发明的各实施例,对辅助反馈行为均不作具体限制。
为了克服现有技术的上述问题,本发明实施例提供一种商品推荐方法,其发明构思是,将用户的辅助行为体现在BPR模型中,从而获得对用户喜欢的商品更准确的描述,获得精准度更高的商品推荐结果。
图2为根据本发明实施例提供的商品推荐方法的流程示意图。如图2所示,一种商品推荐方法包括:步骤S201、获取用户的编号,将用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;其中,预设的贝叶斯个性化排序模型是根据用户群的直接反馈数据、辅助反馈数据和未观测数据,以及用户群中每个用户对商品的真实喜好的标签进行训练后获得的。
可以理解的是,可以通过用户的编号表示用户。用户u,即表示用户的编号为u。同理,可以通过商品的编号表示商品。商品v,即表示商品的编号为v。
根据用户群的直接反馈数据、辅助反馈数据和未观测数据,以及用户群中每个用户对商品的真实喜好的标签进行训练,可以获得预设的贝叶斯个性化排序模型。
用户群的直接反馈数据、辅助反馈数据和未观测数据,均通过用户群的历史记录获取。用户群,包括多个用户。训练时,用户即样本用户。
直接反馈数据,指直接反馈行为的数据,即购买商品的数据,简称购买数据。
辅助反馈数据,指辅助反馈行为的数据,即点击但未购买的商品的数据,简称点击数据。
未观测数据,指历史记录中除直接反馈数据和辅助反馈数据之外的数据,即未点击的商品的数据。
用户对商品的真实喜好的标签,用于表征用户是否购买过该商品。
获得预设的贝叶斯个性化排序模型后,当需要向用户进行商品推荐时,获取该用户的编号。
可以理解的是,该用户为用户群中的一个用户。
获得该用户的编号后,将该用户的编号输入预设的贝叶斯个性化排序模型,可以获得用户对各商品的预测喜好。
本发明实施例中的编号出于方便统计的目的,可以以阿拉伯数字从1开始编号,用户群中用户的数量为M,因此用户的编号从1到M,而商品的总类为N,因此商品的编号可以是从1到N。
需要说明的是,贝叶斯个性化排序模型将未观测数据和观测数据分别视为负反馈和正反馈。在本发明实施例中若商品被用户购买过,则视为正反馈,用户对该商品的真实喜好记为1;将用户既没有关注也没有购买的商品作为负反馈,用户对该商品的真实喜好即为0;购买过的商品相比关注的商品,暗示着更强烈的用户喜好,同时用户对于关注的商品的喜好也应当超过从未关注的商品(本发明实施例默认购买过的商品一定是关注过的商品),因此用户对于关注商品的真实喜好应当介于0~1之间,在本发明实施例中,对于关注商品的是真实喜好不作确定。
步骤S202、根据该用户对商品的预测喜好,获取该用户的推荐商品列表。
需要说明的是,获得用户对所有商品的预测喜好后,显然可以通过对预测喜好值大小的排序获得一定数量的推荐商品,从而获得用户的推荐商品列表。
本发明实施例利用用户的辅助反馈数据,基于传统贝叶斯个性化排序模型获取用户对商品的预测喜好,从而获得用户的推荐商品列表,能更加精准地建模用户喜好,有效利用用户的辅助反馈数据,能够实现推荐结果的精准度的大幅度提升。
基于上述实施例的内容,获得预设的贝叶斯个性化排序模型的具体步骤包括:对于当前次迭代,从用户群中随机选取样本用户,对该样本用户的直接反馈数据、辅助反馈数据和未观测数据进行采样,获取训练样本。
需要说明的是,优选地,本发明实施例采用协同矩阵分解(Collective MatrixFactorization,简称CMF)方法获取用户对商品的预测喜好。
协同矩阵分解能学习不同反馈行为之间的关系,基于CMF的方法,MR-BPR(Multi-Relational Factorizationwith BPR)、MFPR(Multiple Feedback PersonalizedRanking)等都取得了较好的性能。
图3为根据本发明实施例提供的商品推荐方法的流程示意图。如图3所示,先根据用户的历史记录进行训练。
训练时,输入购买数据、点击数据和模型超参数进行训练。
每一条购买和点击数据结构如下:
{“userID”,//用户的编号,整数,从0开始编号
“itemID”,//商品的编号,整数,从0开始编号
“count”,//购买数量或点击次数,整数
“timestamp”//该记录的时间,整数,例如20180614231001}。
模型超参数包括特征矩阵维度k,正则化系数λθ,学习速率等。
通过训练,可以获得两个特征矩阵:用户特征矩阵Pusercount*k和商品特征矩阵Qitemcount*k。
其中,usercount、itemcount分别代表用户的总数、商品的总数。
获得两个特征矩阵,即可获得预设的贝叶斯个性化排序模型。
贝叶斯个性化排序模型中,用户对商品的预测喜好,通过下式计算:
用户特征向量与商品特征向量的乘积用于表征用户对商品的预测喜好。
Pu为Pusercount*k中用户u对应的一行,是一个k维行向量;Qi为Qitemcount*k中商品i对应的一行,是一个k维行向量。
实际预测时,对于待推荐的用户v,计算用户v对每一商品的预测喜好,即对每一商品的评分,从而根据评分获得排序靠前的商品向用户v推荐。
需要说明的是,用户特征矩阵Pusercount*k和商品特征矩阵Qitemcount*k中每个元素的值通过训练样本进行迭代获取。
每次迭代时,从用户群中随机选取一个用户作为样本用户。因此,迭代的次数需要足够大。
选取样本用户后,对该样本用户的直接反馈数据、辅助反馈数据和未观测数据进行采样,至少获得正反馈的商品和负反馈的商品,获取训练样本。训练样本至少由样本用户的编号、正反馈的商品的编号和负反馈的商品的编号构成。
根据训练样本和当前次迭代对应的用户特征矩阵和商品特征矩阵,获取目标函数的值,若判断获知目标函数的值不符合预设的条件,则根据最优化算法对当前次迭代对应的用户特征矩阵和商品特征矩阵进行优化,获得下一次迭代对应的用户特征矩阵和商品特征矩阵;若判断获知目标函数的值符合预设的条件,则将当前次迭代对应的用户特征矩阵和商品特征矩阵作为预设的贝叶斯个性化排序模型中的用户特征矩阵和商品特征矩阵,获得预设的贝叶斯个性化排序模型。
可以理解的是,每次迭代时,都有该次迭代对应的用户特征矩阵和商品特征矩阵。
对于当前次迭代,获得训练样本后,根据训练样本和当前次迭代对应的用户特征矩阵和商品特征矩阵,计算目标函数的值。
目标函数的值,用于表征根据BPR模型获得的预测喜好的误差。
若判断获知目标函数的值不符合预设的条件,即当前次迭代对应的用户特征矩阵和商品特征矩阵并未使BPR模型达到最优解,根据最优化算法对当前次迭代对应的用户特征矩阵和商品特征矩阵进行优化,获得下一次迭代对应的用户特征矩阵和商品特征矩阵。
最优化算法包括随机梯度下降算法等,本发明实施例对使用的最优化算法不作具体限制。
对于样本用户u,其购买过商品i,点击但未购买商品v,未点击商品j,那么,BPR模型的预测分数应该满足如下不等式:
在优化BPR模型时,需要沿上述不等式方向进行优化。
根据最优化算法对当前次迭代对应的用户特征矩阵和商品特征矩阵进行优化的方法,与现有技术中传统的BPR的优化方法相同,此处不再赘述。
若判断获知目标函数的值符合预设的条件,即当前次迭代对应的用户特征矩阵和商品特征矩阵使BPR模型达到最优解,将当前次迭代对应的用户特征矩阵和商品特征矩阵作为预设的贝叶斯个性化排序模型中的用户特征矩阵和商品特征矩阵,从而获得预设的贝叶斯个性化排序模型。
基于上述实施例的内容,对该样本用户的直接反馈数据、辅助反馈数据和未观测数据进行采样,获取训练样本的具体步骤包括:根据该样本用户的历史行为,将商品划分为第一商品集合、第二商品集合和第三商品集合;其中,第一商品集合,为该样本用户购买过的商品的集合;第二商品集合,为该样本用户有辅助反馈行为且未购买的商品的集合;第二商品集合,为该样本用户没有辅助反馈行为的商品的集合。
选取样本用户后,根据样本用户的历史行为,即根据样本用户的购买商品行为和点击商品行为,获得该样本用户的直接反馈数据、辅助反馈数据和未观测数据,将该样本用户购买过的商品构成为第一商品集合Su,将该样本用户点击但未购买的商品构成为第二商品集合Vu,将该样本用户未点击的商品构成为第三商品集合Ru。
第一商品集合Su、第二商品集合Vu和第三商品集合Ru满足:
Su∪Vu∪Ru=I
根据第一商品集合、第二商品集合和第三商品集合进行采样,获取训练样本。
对第一商品集合、第二商品集合和第三商品集合进行采样,至少获得正反馈的商品和负反馈的商品。
基于上述实施例的内容,作为一种可选实施例,对第一商品集合、第二商品集合和第三商品集合进行采样,获取训练样本的具体步骤包括:根据预设的概率选择第一采样方法、第二采样方法或第三采样方法,根据选择的采样方法从第一商品集合、第二商品集合和第三商品集合中获取一个正反馈商品和一个负反馈商品,将该样本用户的编号、正反馈商品的编号和负反馈商品的编号构成训练样本;其中,第一采样方法包括:从第一商品集合中抽取一个正反馈商品,并从第二商品集合中抽取一个负反馈商品;第二采样方法包括:从第一商品集合中抽取一个正反馈商品,并从第三商品集合中抽取一个负反馈商品;第三采样方法包括:从第二商品集合中抽取一个正反馈商品,并从第三商品集合中抽取一个负反馈商品。
需要说明是,本发明实施例中的采样方法为有偏采样。
当存在多种反馈行为时,正反馈商品和负反馈商品的选取有了更多的可能性。
图4为根据本发明实施例提供的商品推荐方法中负采样方法的示意图。如图4所示,根据预设的概率,从第一商品集合、第二商品集合和第三商品集合抽取一个正反馈商品和一个负反馈商品。
考虑反馈行为之间的优先级,(正反馈商品,负反馈商品)表示为(i,j),存在三种可能情况,{i∈Su,j∈Vu},{i∈Su,j∈Ru},{i∈Vu,j∈Ru}。
预设的概率,为根据上述三种可能情况分配的三种概率{ω1,ω2,ω3},ω1+ω2+ω3=1。即预设的概率包括预设的第一概率ω1、预设的第二概率ω2和预设的第三概率ω3。
采样方法包括三种:第一采样方法、第二采样方法和第三采样方法。根据预设的概率选择第一采样方法、第二采样方法或第三采样方法进行采样,获得一个正反馈商品和一个负反馈商品。第一采样方法、第二采样方法和第三采样方法对应的概率分别为ω1,ω2,ω3。
{ω1,ω2,ω3}在商品推荐前设定,在迭代过程保持不变。这样的采样方式,保证了点击行为相对于购买行为而言是负反馈,相对于未点击行为而言是正反馈,并且用ω1、ω3控制点击行为被视负反馈、正反馈的概率,能有效地将点击行为内包含的用户喜好信息体现到BPR模型中。
具体地,产生一个0-1的随机数n,n=random(0,1)。
若n<ω1,则i∈Su,j∈Vu,即以ω1的概率分别从{Su,Vu}中选取一个正反馈商品i和一个负反馈商品v,构成训练样本(u,i,v);
若n<ω1+ω2,则i∈Su,j∈Ru,即以ω2的概率分别从{Su,Ru}中选取一个正反馈商品i和一个负反馈商品j,构成训练样本(u,i,j);
若n>ω1,则i∈Vu,j∈Ru,即以ω3的概率分别从{Vu,Ru}中选取一个正反馈商品v和一个负反馈商品j,构成训练样本(u,v,j)。
基于上述实施例的内容,作为一种可选实施例,对第一商品集合、第二商品集合和第三商品集合进行采样,获取训练样本的具体步骤包括:从第一商品集合、第二商品集合和第三商品集合中分别抽取一个商品,作为正反馈商品、辅助商品和负反馈商品,将该样本用户的编号、正反馈商品的编号、辅助商品的编号和负反馈商品的编号构成训练样本。
需要说明是,本发明实施例中的采样方法为加权采样。
图5为根据本发明实施例提供的商品推荐方法中负采样方法的示意图。如图5所示,从第一商品集合Su、第二商品集合Vu和第三商品集合Ru中分别随机抽取一个商品i,v,j,满足:i∈Su,v∈Vu,j∈Ru。
分别将i,j,k作为正反馈商品、辅助商品和负反馈商品,得到训练样本为(u,i,v,j)。
由于训练样本中元素为4个,而现有技术中训练样本中元素为3个,对应的BPR优化目标也需要改变。
相应地,目标函数BPR-OPTview为
其中,α表示将辅助反馈行为视作负反馈的权重;u表示样本用户的编号,i表示该样本用户购买过的商品,v该样本用户有辅助反馈行为且未购买的商品,j表示该样本用户没有辅助反馈行为的商品;D表示所有满足条件的(u,i,v,j)构成的集合;表示样本用户u对商品i的预测喜好;表示样本用户u对商品v的预测喜好;表示样本用户u对商品j的预测喜好;λθ表示控制拟合过程的参数。
通过调整α,能准确描述点击行为与用户喜好之间的关联性。为(u,i,v)、(u,i,j)、(u,v,j)分别赋予权重α、1、1-α。
基于上述实施例的内容,作为一种可选实施例,α根据在预设的时间段内样本用户有辅助反馈行为且未购买的商品的总数与购买商品的总数之比获取。
需要说明是,本发明实施例中的采样方法为考虑用户间差异的加权采样。
需要说明的是,如果一个用户倾向于点击大量的商品、却最终仅仅购买一件,那么这个用户的点击行为应该更有可能代表负反馈。考虑到这一点,通过定义一个衡量用户在点击和购买之间倾向的系数VPRu,为每一个用户计算一个不同的权重,进而应用到加权采样器中。
VPRu的可以直接定义为预设的时间段内该用户点击但未购买的商品的总数与购买的商品的总数之比。
预设的时间段,可以为用户的历史数据涉及的整个时间段,也可以是预先设定的用户的历史数据涉及的整个时间段中的某个时间段。
由VPRu计算权重αu:
对于样本用户u,αu即α。
其中,β>0,控制VPRu对于αu的影响程度,β越大,影响越强烈。
相应地,目标函数BPR-OPTview为
图6为根据本发明实施例提供的商品推荐方法中获取权重α的方法的示意图。
由于用户的历史行为能被划分为多个子时间段,按子时间段分别考虑会更加准确。将用户u的历史行为能被划分为多个子时间段1,2,…,T。则有
其中,t表示不同子时间段,1≤t≤T;Su,t、Vu,t分别表示在子时间段t内用户购买、点击但未购买的商品集合;vpru,t代表这个时间段内的点击-购买比例。
用vpru,t的平均值作为该用户对应的VPRu,能更准确的反映该用户购买与点击之间的关系。
基于上述实施例的内容,作为一种可选实施例,根据该用户对商品的预测喜好,获取该用户的推荐商品列表的具体步骤包括:根据该用户对所有商品的预测喜好由大到小进行排序,获得第一商品列表;从第一商品列表中删除该用户已购买过的商品,获得第二商品列表;将第二商品列表中从前往后依次选取预设数目的商品,构成该用户的商品推荐列表。
需要说明的是,本发明实施例通过对所有商品的预测喜好由大到小进行排序,所有商品的有序排列,获得第一商品列表Ru,itemcount;再将用户已购买过的商品的集合Su从第一商品列表中删除,即可获得目前用户尚未购买商品的、按照预测喜好排序的第二商品列表再通过设置预设数目recnum从第二商品列表中从前往后筛选,即可获得最终面向该用户的商品推荐列表Ru,recnum。
图7为根据本发明实施例提供的商品推荐装置的功能框图。基于上述实施例的内容,如图7所示,一种商品推荐装置包括:喜好预测模块701,用于获取用户的编号,将用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;商品推荐模块702,用于根据该用户对商品的预测喜好,获取该用户的推荐商品列表;其中,预设的贝叶斯个性化排序模型是根据用户的直接反馈数据、辅助反馈数据和未观测数据,以及用户群中每个用户对商品的真实喜好的标签进行训练后获得的。
该商品推荐装置用于前述各实施例的商品推荐。因此,在前述各实施例中的商品推荐方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
本发明实施例提供的商品推荐的装置,用于执行本发明实施例提供的商品推荐方法,商品推荐装置包括的各模块实现相应功能的具体方法和流程详见上述商品推荐方法的实施例,此处不再赘述。
本发明实施例利用用户的辅助反馈数据,基于传统贝叶斯个性化排序模型获取用户对商品的预测喜好,从而获得用户的推荐商品列表,能更加精准地建模用户喜好,有效利用用户的辅助反馈数据,能够实现推荐结果的精准度的大幅度提升。
图8为本根据发明实施例提供的电子设备的结构框图。基于上述实施例的内容,如图8所示,一种电子设备包括:处理器(processor)801、存储器(memory)802和总线803;其中,处理器801和存储器802通过总线803完成相互间的通信;处理器801用于调用存储器802中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取用户的编号,将用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;根据该用户对商品的预测喜好、该用户购买过的商品和预设数目,获取该用户的推荐商品列表。
本发明另一实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取用户的编号,将用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;根据该用户对商品的预测喜好、该用户购买过的商品和预设数目,获取该用户的推荐商品列表。
本发明另一实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:获取用户的编号,将用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;根据该用户对商品的预测喜好、该用户购买过的商品和预设数目,获取该用户的推荐商品列表。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行上述各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种商品推荐方法,其特征在于,包括:
获取用户的编号,将所述用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;
根据该用户对商品的预测喜好,获取该用户的推荐商品列表;
其中,所述预设的贝叶斯个性化排序模型是根据用户群的直接反馈数据、辅助反馈数据和未观测数据,以及用户群中每个用户对商品的真实喜好的标签进行训练后获得的;所述直接反馈数据,指购买商品的数据;所述辅助反馈数据,指点击但未购买的商品的数据;所述未观测数据,指未点击的商品的数据;
所述根据该用户对商品的预测喜好,获取该用户的推荐商品列表的具体步骤包括:
根据该用户对所有商品的预测喜好由大到小进行排序,获得第一商品列表;
从所述第一商品列表中删除该用户已购买过的商品,获得第二商品列表;
将所述第二商品列表中从前往后依次选取预设数目的商品,构成该用户的商品推荐列表;
获得所述预设的贝叶斯个性化排序模型的具体步骤包括:
对于当前次迭代,从用户群中随机选取样本用户,对该样本用户的直接反馈数据、辅助反馈数据和未观测数据进行采样,获取训练样本;
根据所述训练样本和当前次迭代对应的用户特征矩阵和商品特征矩阵,获取目标函数的值,若判断获知所述目标函数的值不符合预设的条件,则根据最优化算法对当前次迭代对应的用户特征矩阵和商品特征矩阵进行优化,获得下一次迭代对应的用户特征矩阵和商品特征矩阵;若判断获知所述目标函数的值符合预设的条件,则将当前次迭代对应的用户特征矩阵和商品特征矩阵作为预设的贝叶斯个性化排序模型中的用户特征矩阵和商品特征矩阵,获得所述预设的贝叶斯个性化排序模型;
所述对该样本用户的直接反馈数据、辅助反馈数据和未观测数据进行采样,获取训练样本的具体步骤包括:
根据该样本用户的历史行为,将商品划分为第一商品集合、第二商品集合和第三商品集合;
对所述第一商品集合、第二商品集合和第三商品集合进行采样,获取训练样本;
其中,所述第一商品集合,为该样本用户购买过的商品的集合;所述第二商品集合,为该样本用户有辅助反馈行为且未购买的商品的集合;所述第二商品集合,为该样本用户没有辅助反馈行为的商品的集合;
所述对所述第一商品集合、第二商品集合和第三商品集合进行采样,获取训练样本的具体步骤包括:
从所述第一商品集合、所述第二商品集合和所述第三商品集合中分别抽取一个商品,作为正反馈商品、辅助商品和负反馈商品,将该样本用户的编号、正反馈商品的编号、辅助商品的编号和负反馈商品的编号构成训练样本;
相应地,目标函数为
2.根据权利要求1所述的商品推荐方法,其特征在于,所述对所述第一商品集合、第二商品集合和第三商品集合进行采样,获取训练样本的具体步骤包括:
根据预设的概率选择第一采样方法、第二采样方法或第三采样方法,根据选择的采样方法从所述第一商品集合、第二商品集合和第三商品集合中获取一个正反馈商品和一个负反馈商品,将该样本用户的编号、正反馈商品的编号和负反馈商品的编号构成训练样本;
其中,所述第一采样方法包括:从所述第一商品集合中抽取一个正反馈商品,并从所述第二商品集合中抽取一个负反馈商品;
所述第二采样方法包括:从所述第一商品集合中抽取一个正反馈商品,并从所述第三商品集合中抽取一个负反馈商品;
所述第三采样方法包括:从所述第二商品集合中抽取一个正反馈商品,并从所述第三商品集合中抽取一个负反馈商品。
3.根据权利要求1所述的商品推荐方法,其特征在于,所述α根据在预设的时间段内样本用户有辅助反馈行为且未购买的商品的总数与购买商品的总数之比获取。
4.一种商品推荐装置,其特征在于,包括:
喜好预测模块,用于获取用户的编号,将所述用户的编号输入预设的贝叶斯个性化排序模型,根据预设的贝叶斯个性化排序模型的输出,获取该用户对商品的预测喜好;
商品推荐模块,用于根据该用户对商品的预测喜好,获取该用户的推荐商品列表;
其中,所述预设的贝叶斯个性化排序模型是根据用户的直接反馈数据、辅助反馈数据和未观测数据,以及用户群中每个用户对商品的真实喜好的标签进行训练后获得的;所述直接反馈数据,指购买商品的数据;所述辅助反馈数据,指点击但未购买的商品的数据;所述未观测数据,指未点击的商品的数据;
所述商品推荐模块,具体用于根据该用户对所有商品的预测喜好由大到小进行排序,获得第一商品列表;从所述第一商品列表中删除该用户已购买过的商品,获得第二商品列表;将所述第二商品列表中从前往后依次选取预设数目的商品,构成该用户的商品推荐列表;
所述喜好预测模块,还用于对于当前次迭代,从用户群中随机选取样本用户,对该样本用户的直接反馈数据、辅助反馈数据和未观测数据进行采样,获取训练样本;根据所述训练样本和当前次迭代对应的用户特征矩阵和商品特征矩阵,获取目标函数的值,若判断获知所述目标函数的值不符合预设的条件,则根据最优化算法对当前次迭代对应的用户特征矩阵和商品特征矩阵进行优化,获得下一次迭代对应的用户特征矩阵和商品特征矩阵;若判断获知所述目标函数的值符合预设的条件,则将当前次迭代对应的用户特征矩阵和商品特征矩阵作为预设的贝叶斯个性化排序模型中的用户特征矩阵和商品特征矩阵,获得所述预设的贝叶斯个性化排序模型;
所述喜好预测模块对该样本用户的直接反馈数据、辅助反馈数据和未观测数据进行采样,获取训练样本的具体步骤包括:
根据该样本用户的历史行为,将商品划分为第一商品集合、第二商品集合和第三商品集合;
对所述第一商品集合、第二商品集合和第三商品集合进行采样,获取训练样本;
其中,所述第一商品集合,为该样本用户购买过的商品的集合;所述第二商品集合,为该样本用户有辅助反馈行为且未购买的商品的集合;所述第二商品集合,为该样本用户没有辅助反馈行为的商品的集合;
所述喜好预测模块对所述第一商品集合、第二商品集合和第三商品集合进行采样,获取训练样本的具体步骤包括:
从所述第一商品集合、所述第二商品集合和所述第三商品集合中分别抽取一个商品,作为正反馈商品、辅助商品和负反馈商品,将该样本用户的编号、正反馈商品的编号、辅助商品的编号和负反馈商品的编号构成训练样本;
相应地,目标函数为
5.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至3任一所述的方法。
6.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至3任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810989667.7A CN109087178B (zh) | 2018-08-28 | 2018-08-28 | 商品推荐方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810989667.7A CN109087178B (zh) | 2018-08-28 | 2018-08-28 | 商品推荐方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109087178A CN109087178A (zh) | 2018-12-25 |
CN109087178B true CN109087178B (zh) | 2021-05-18 |
Family
ID=64794935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810989667.7A Active CN109087178B (zh) | 2018-08-28 | 2018-08-28 | 商品推荐方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109087178B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298725A (zh) * | 2019-05-24 | 2019-10-01 | 北京三快在线科技有限公司 | 商品组合的推荐方法、装置、电子设备及可读存储介质 |
CN110516163B (zh) * | 2019-07-09 | 2023-09-01 | 广州品唯软件有限公司 | 一种基于用户行为数据的商品排序方法及系统 |
CN110348906B (zh) * | 2019-07-11 | 2023-04-07 | 天津大学 | 一种基于多类型隐式反馈的改进商品推荐方法 |
CN110442788A (zh) * | 2019-07-23 | 2019-11-12 | 北京奇艺世纪科技有限公司 | 一种信息推荐方法及装置 |
CN110489642B (zh) * | 2019-07-25 | 2020-05-22 | 山东大学 | 基于行为特征分析的商品推荐方法、系统、设备及介质 |
CN110738529A (zh) * | 2019-10-21 | 2020-01-31 | 秒针信息技术有限公司 | 用户扩散方法、装置、可读存储介质及电子设备 |
CN110909147B (zh) * | 2019-12-02 | 2022-06-21 | 支付宝(杭州)信息技术有限公司 | 一种训练排序结果选择模型输出标准问法的方法和系统 |
CN110889747B (zh) * | 2019-12-02 | 2023-05-09 | 腾讯科技(深圳)有限公司 | 商品推荐方法、装置、系统、计算机设备及存储介质 |
CN111369322A (zh) * | 2020-03-06 | 2020-07-03 | 深圳市苍泓科技有限公司 | 一种基于互联网的线上蛋糕推荐方法 |
CN113407772B (zh) * | 2020-03-16 | 2023-12-26 | 北京达佳互联信息技术有限公司 | 视频推荐模型的生成方法、视频推荐方法、装置 |
CN113610572A (zh) * | 2021-08-04 | 2021-11-05 | 山东派盟网络科技有限公司 | 一种营销策略优化方法、装置以及电子设备 |
CN115705588A (zh) * | 2021-08-11 | 2023-02-17 | 腾讯科技(深圳)有限公司 | 一种业务数据处理方法、设备及可读存储介质 |
CN116166716B (zh) * | 2023-02-16 | 2023-10-24 | 北京瑞风协同科技股份有限公司 | 一种数据推送方法及装置 |
CN116805023B (zh) * | 2023-08-25 | 2023-11-03 | 量子数科科技有限公司 | 一种基于大语言模型的外卖推荐方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844508A (zh) * | 2016-03-22 | 2016-08-10 | 天津中科智能识别产业技术研究院有限公司 | 一种基于动态周期神经网络的商品推荐方法 |
CN106447472A (zh) * | 2016-11-30 | 2017-02-22 | 天脉聚源(北京)科技有限公司 | 基于购买行为的推荐方法及装置 |
CN106651519A (zh) * | 2016-12-23 | 2017-05-10 | 广州赛宝认证中心服务有限公司 | 基于标签信息的个性化推荐方法和系统 |
CN107025311A (zh) * | 2017-05-18 | 2017-08-08 | 北京大学 | 一种基于k近邻的贝叶斯个性化推荐方法及装置 |
CN107833117A (zh) * | 2017-12-13 | 2018-03-23 | 合肥工业大学 | 一种考虑标签信息的贝叶斯个性化排序推荐方法 |
CN108255949A (zh) * | 2017-12-18 | 2018-07-06 | 同济大学 | 一种细分选择行为偏好的算法 |
-
2018
- 2018-08-28 CN CN201810989667.7A patent/CN109087178B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844508A (zh) * | 2016-03-22 | 2016-08-10 | 天津中科智能识别产业技术研究院有限公司 | 一种基于动态周期神经网络的商品推荐方法 |
CN106447472A (zh) * | 2016-11-30 | 2017-02-22 | 天脉聚源(北京)科技有限公司 | 基于购买行为的推荐方法及装置 |
CN106651519A (zh) * | 2016-12-23 | 2017-05-10 | 广州赛宝认证中心服务有限公司 | 基于标签信息的个性化推荐方法和系统 |
CN107025311A (zh) * | 2017-05-18 | 2017-08-08 | 北京大学 | 一种基于k近邻的贝叶斯个性化推荐方法及装置 |
CN107833117A (zh) * | 2017-12-13 | 2018-03-23 | 合肥工业大学 | 一种考虑标签信息的贝叶斯个性化排序推荐方法 |
CN108255949A (zh) * | 2017-12-18 | 2018-07-06 | 同济大学 | 一种细分选择行为偏好的算法 |
Also Published As
Publication number | Publication date |
---|---|
CN109087178A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109087178B (zh) | 商品推荐方法和装置 | |
CN109299396B (zh) | 融合注意力模型的卷积神经网络协同过滤推荐方法及系统 | |
CN110717098B (zh) | 基于元路径的上下文感知用户建模方法、序列推荐方法 | |
CN111681059B (zh) | 行为预测模型的训练方法及装置 | |
CN110969516B (zh) | 一种商品推荐方法及装置 | |
Liu et al. | Gated recurrent units based neural network for time heterogeneous feedback recommendation | |
EP2860672A2 (en) | Scalable cross domain recommendation system | |
CN109840833B (zh) | 贝叶斯协同过滤推荐方法 | |
US10592777B2 (en) | Systems and methods for slate optimization with recurrent neural networks | |
CN113158024B (zh) | 一种纠正推荐系统流行度偏差的因果推理方法 | |
CN111695024A (zh) | 对象评估值的预测方法及系统、推荐方法及系统 | |
CN110727872A (zh) | 基于隐式反馈进行不明确选择行为挖掘的方法及装置 | |
Choudhary et al. | SARWAS: Deep ensemble learning techniques for sentiment based recommendation system | |
Bhattacharya et al. | Intent-aware contextual recommendation system | |
CN115544242A (zh) | 基于大数据的同类商品选型推荐方法 | |
US7392231B2 (en) | Determining utility functions from ordenal rankings | |
Saleh | The The Machine Learning Workshop: Get ready to develop your own high-performance machine learning algorithms with scikit-learn | |
CN109214882B (zh) | 一种商品推荐方法 | |
US20220253688A1 (en) | Recommendation system with adaptive weighted baysian personalized ranking loss | |
Hu et al. | Learning mixed multinomial logits with provable guarantees | |
Yu et al. | Machine learning with decision trees and multi-armed bandits: an interactive vehicle recommender system | |
Burashnikova et al. | Sequential learning over implicit feedback for robust large-scale recommender systems | |
CN110956528A (zh) | 一种电商平台的推荐方法及系统 | |
CN110858374B (zh) | 一种bpr中样本空间缩小方法及装置 | |
Diqi | Deeprec: Efficient product recommendation model for e-commerce using cnn |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |