CN111563783A - 一种物品推荐方法及装置 - Google Patents
一种物品推荐方法及装置 Download PDFInfo
- Publication number
- CN111563783A CN111563783A CN201910115434.9A CN201910115434A CN111563783A CN 111563783 A CN111563783 A CN 111563783A CN 201910115434 A CN201910115434 A CN 201910115434A CN 111563783 A CN111563783 A CN 111563783A
- Authority
- CN
- China
- Prior art keywords
- matrix
- user
- vector set
- recommended
- recommended evaluation
- 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.)
- Granted
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
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
针对现有技术中,现有技术中,ALS推荐算法需要每次将全部用户数据重新进行计算,并重新生成推荐矩阵,产生大量重复性工作的问题。本发明公开了一种物品推荐方法及装置。该方法包括:获取第一推荐评价矩阵、物品特征向量集合,以及第一推荐评价向量集合;通过交替最小二乘法ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵;将每个用户在所述第二推荐评价矩阵中前N个最大的推荐评价值对应的物品,作为推荐给该用户的物品;N为正整数。
Description
技术领域
本发明涉及推荐算法领域,尤其涉及一种物品推荐方法及装置。
背景技术
推荐算法将用户喜欢或关注的物品进行相似比较后,将物品推荐给对应用户的算法。传统交替最小二乘法(Alternating Least Squares,ALS)推荐算法由于需要一次性将用户全部数据读入内存生成相应矩阵,因此受限于物理内存大小,对于用户的总体个数有限制,在用户数量过大时往往无法进行计算。
同时,现实场景常常是,大多数的用户数据不会每天更新,而仅有小部分的增量数据需要计算。传统ALS推荐算法需要每次将全部用户数据重新进行计算,并重新生成推荐矩阵,产生大量重复性工作。
因此,现有技术中,ALS推荐算法需要每次将全部用户数据重新进行计算,并重新生成推荐矩阵,产生大量重复性工作,是一个亟待解决的问题。
发明内容
本申请实施例提供了一种物品推荐方法及装置,解决了现有技术中,ALS推荐算法需要每次将全部用户数据重新进行计算,并重新生成推荐矩阵,产生大量重复性工作的问题。
本发明实施例提供一种物品推荐方法,该方法包括:
获取第一推荐评价矩阵、物品特征向量集合,以及第一推荐评价向量集合;所述第一推荐评价矩阵中每个元素为,该元素对应物品推荐给该元素对应用户的推荐评价值;所述物品特征向量集合中的物品不包括所述第一推荐评价矩阵中的物品;所述第一推荐评价向量集合中的用户不包括所述第一推荐评价矩阵中的用户;
通过交替最小二乘法ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵;所述第二推荐评价矩阵中的物品包括所述第一推荐评价矩阵和所述物品特征向量集合中的物品,所述第二推荐评价矩阵中的用户包括所述第一推荐评价矩阵和所述第一推荐评价向量集合中的用户;
将每个用户在所述第二推荐评价矩阵中前N个最大的推荐评价值对应的物品,作为推荐给该用户的物品;N为正整数。
可选的,所述通过ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵,包括:
根据所述第一推荐评价矩阵,以及第一物品特征矩阵,确定第一用户特征矩阵;所述第一推荐评价矩阵中的物品为所述第一物品特征矩阵中的物品,所述第一用户特征矩阵中的用户为所述第一推荐评价矩阵中的用户;
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合;所述用户特征向量集合中的用户为所述第一推荐评价向量集合中的用户,所述用户特征向量集合中的物品包括所述物品特征向量集合中的物品;
将所述用户特征向量集合添加到所述第一用户特征矩阵,并将所述第一用户特征矩阵添加后的矩阵作为第二用户特征矩阵;
将所述物品特征向量集合中的物品,作为第二推荐评价特征向量集合中的物品;根据所述物品特征向量集合以及所述第二用户特征矩阵,确定所述第二推荐评价特征向量集合中每个物品对应的目标函数;
通过所述ALS,沿所述第二推荐评价特征向量集合中每个物品对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点作为所述第二推荐评价特征向量集合中该物品对应的推荐评价值;
将所述第一推荐评价矩阵、所述第一推荐评价特征向量集合以及第二推荐评价特征向量集合,合并为所述第二推荐评价矩阵。
可选的,所述根据所述第一推荐评价矩阵,以及第一物品特征矩阵,确定第一用户特征矩阵,包括:
根据所述第一推荐评价矩阵,以及所述第一物品特征矩阵,确定所述第一用户特征矩阵中每个用户的目标函数;所述第一物品特征矩阵中每个元素为,该元素对应物品在该元素对应维度的特征值;
通过所述ALS,沿所述第一用户特征矩阵中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点对应维度的取值,作为所述第一用户特征矩阵中该用户在该维度的元素。
可选的,所述根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合,包括:
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合中每个用户的目标函数;
根据交替最小二乘法ALS,沿所述用户特征向量集合中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足预设条件时,将迭代后的最小值点作为所述用户特征向量集合中该用户的特征向量。
可选的,所述ALS中的迭代方法为雅可比迭代法或高斯迭代法;
所述ALS中的目标函数为线性回归目标函数。
本发明实施例中,首先获取了不包括第一推荐评价矩阵中物品或用户的物品特征向量集合以及第一推荐评价向量集合,也就是增量的物品特征向量和推荐评价向量,而后通过交替最小二乘法ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将第一推荐评价矩阵转化为第二推荐评价矩阵,也就是说,仅根据增加增量的物品特征向量和推荐评价向量即完成了推荐评价矩阵的更新。
本发明实施例提供一种物品推荐装置,该装置包括:
获取模块,用于获取第一推荐评价矩阵、物品特征向量集合,以及第一推荐评价向量集合;所述第一推荐评价矩阵中每个元素为,该元素对应物品推荐给该元素对应用户的推荐评价值;所述物品特征向量集合中的物品不包括所述第一推荐评价矩阵中的物品;所述第一推荐评价向量集合中的用户不包括所述第一推荐评价矩阵中的用户;
处理模块,用于通过交替最小二乘法ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵;所述第二推荐评价矩阵中的物品包括所述第一推荐评价矩阵和所述物品特征向量集合中的物品,所述第二推荐评价矩阵中的用户包括所述第一推荐评价矩阵和所述第一推荐评价向量集合中的用户;
以及用于将每个用户在所述第二推荐评价矩阵中前N个最大的推荐评价值对应的物品,作为推荐给该用户的物品;N为正整数。
可选的,所述处理模块,具体用于:
根据所述第一推荐评价矩阵,以及第一物品特征矩阵,确定第一用户特征矩阵;所述第一推荐评价矩阵中的物品为所述第一物品特征矩阵中的物品,所述第一用户特征矩阵中的用户为所述第一推荐评价矩阵中的用户;
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合;所述用户特征向量集合中的用户为所述第一推荐评价向量集合中的用户,所述用户特征向量集合中的物品包括所述物品特征向量集合中的物品;
将所述用户特征向量集合添加到所述第一用户特征矩阵,并将所述第一用户特征矩阵添加后的矩阵作为第二用户特征矩阵;
将所述物品特征向量集合中的物品,作为第二推荐评价特征向量集合中的物品;根据所述物品特征向量集合以及所述第二用户特征矩阵,确定所述第二推荐评价特征向量集合中每个物品对应的目标函数;
通过所述ALS,沿所述第二推荐评价特征向量集合中每个物品对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点作为所述第二推荐评价特征向量集合中该物品对应的推荐评价值;
将所述第一推荐评价矩阵、所述第一推荐评价特征向量集合以及第二推荐评价特征向量集合,合并为所述第二推荐评价矩阵。
可选的,所述处理模块,具体用于:
根据所述第一推荐评价矩阵,以及所述第一物品特征矩阵,确定所述第一用户特征矩阵中每个用户的目标函数;所述第一物品特征矩阵中每个元素为,该元素对应物品在该元素对应维度的特征值;
通过所述ALS,沿所述第一用户特征矩阵中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点对应维度的取值,作为所述第一用户特征矩阵中该用户在该维度的元素。
可选的,所述处理模块,具体用于:
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合中每个用户的目标函数;
根据交替最小二乘法ALS,沿所述用户特征向量集合中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足预设条件时,将迭代后的最小值点作为所述用户特征向量集合中该用户的特征向量。
可选的,所述ALS中的迭代方法为雅可比迭代法或高斯迭代法;
所述ALS中的目标函数为线性回归目标函数。
附图说明
图1为本发明实施例提出的一种物品推荐方法对应的步骤流程图;
图2为本发明实施例提出的一种物品推荐方法对应的第一推荐评价矩阵与第一物品特征矩阵以及第一用户特征矩阵的关系示意图;
图3为本发明实施例提出的一种物品推荐装置对应的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。
为叙述方便,首先解释下本发明实施例中出现的名词。机器学习:机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。交替最小二乘法:即ALS,是Alternating Least Squares的缩写。该方法常用于基于矩阵分解的推荐系统中。例如:将用户(user)对物品(item)的评分矩阵分解为两个矩阵:一个是用户对物品隐含特征的偏好矩阵,另一个是物品所包含的隐含特征的矩阵。在这个矩阵分解的过程中,评分缺失项得到了填充,可以基于这个填充的评分来给用户推荐物品。物品、内容:对于推荐系统,推荐的物品可以是一个实体的物品,也可以是一个虚拟的内容。在本发明实施例中都称之为物品(item)。回归评价指标:即最小误差函数,评价指标是准确率,常用算法的评价指标有均方误差(MSE),均方根误差(RMSE),平均绝对误差(MAE)、R方(R-Squared)等。显性反馈行为:用户明确表示对物品喜好的行为。隐性反馈行为:不能明确反映用户喜好的行为。
ALS最优解的推导过程如下:
xu=(YTCuY+λI)-1YTCup(u)
yi=(XTCiX+λI)-1XTCip(i)
推荐算法将用户喜欢或关注的物品进行相似比较后,将物品推荐给对应用户的算法。传统交替最小二乘法(Alternating Least Squares,ALS)推荐算法由于需要一次性将用户全部数据读入内存生成相应矩阵,因此受限于物理内存大小,对于用户的总体个数有限制,在用户数量过大时往往无法进行计算。
推荐算法大致可以分为:基于内容的推荐算法、协同过滤推荐算法以及两者相互融合改进的算法。基于内容的推荐算法,是将用户喜欢或关注的物品进行相似比较后进行推荐。推荐的物品与用户之前的喜好有很大的关联性。这种方式可以避免内容在没有被关注过的情况下,其他推荐算法会很少去推荐的问题。但是它的弊端是推荐的物品可能有重复。典型的是新闻推荐。如果用户关注或浏览过一条某一方面的热点新闻,很可能推荐的新闻与用户浏览过的一致或非常相似。还有一个弊端是对于一些诸如音乐、电影等多媒体的内容,较难自动提取其内容特征,需要通过人工方式给定特征后进行推荐。协同过滤算法,是将用户的喜好同其他用户进行相似比较后,基于有共同相似兴趣的其他用户的喜好物品进行推荐,既基于用户的协同过滤算法。另外一种是基于物品的协同过滤算法。两者都是将用户的所有数据读入内存中进行运算。此方法训练过程较长,但是训练完成后,推荐过程较快。混合推荐算法,是融合上述方法,通过加权、串联、并联等方式进行融合。
对于一个评分数据集,ALS会建立一个用户*物品的m*n的矩阵。其中,m为用户的数量,n为物品的数量。但是在这个数据集中,并不是每个用户都对每个物品都进行过评分,所以这个矩阵往往是稀疏的,用户u对产品i的评分多数是空的。ALS所做的事情就是将这个稀疏矩阵通过一定的规律填满,这样就可以从矩阵中得到任意一个用户对任意一个物品的评分,ALS填充的评分项也称为用户u对产品i的预测得分。ALS算法的核心就是通过找到这样的规律,通过预测的方式填满这个稀疏矩阵。
同时,现实场景常常是,大多数的用户数据不会每天更新,而仅有小部分的增量数据需要计算。传统ALS推荐算法需要每次将全部用户数据重新进行计算,并重新生成推荐矩阵,产生大量重复性工作。
因此,现有技术中,ALS推荐算法需要每次将全部用户数据重新进行计算,并重新生成推荐矩阵,产生大量重复性工作,是一个亟待解决的问题。
如图1所示,为本发明实施例提出的一种物品推荐方法对应的步骤流程图。
步骤101:获取第一推荐评价矩阵、物品特征向量集合,以及第一推荐评价向量集合。
步骤102:通过交替最小二乘法ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵。
步骤103:将每个用户在所述第二推荐评价矩阵中前N个最大的推荐评价值对应的物品,作为推荐给该用户的物品。
N为正整数。
步骤101中,所述第一推荐评价矩阵中每个元素为,该元素对应物品推荐给该元素对应用户的推荐评价值;所述物品特征向量集合中的物品不包括所述第一推荐评价矩阵中的物品;所述第一推荐评价向量集合中的用户不包括所述第一推荐评价矩阵中的用户。
步骤102中,所述第二推荐评价矩阵中的物品包括所述第一推荐评价矩阵和所述物品特征向量集合中的物品,所述第二推荐评价矩阵中的用户包括所述第一推荐评价矩阵和所述第一推荐评价向量集合中的用户。通过ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵,一种可选的实施方式为:
(1)根据所述第一推荐评价矩阵,以及第一物品特征矩阵,确定第一用户特征矩阵;所述第一推荐评价矩阵中的物品为所述第一物品特征矩阵中的物品,所述第一用户特征矩阵中的用户为所述第一推荐评价矩阵中的用户。
(2)根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合;所述用户特征向量集合中的用户为所述第一推荐评价向量集合中的用户,所述用户特征向量集合中的物品包括所述物品特征向量集合中的物品。
(3)将所述用户特征向量集合添加到所述第一用户特征矩阵,并将所述第一用户特征矩阵添加后的矩阵作为第二用户特征矩阵。
(4)将所述物品特征向量集合中的物品,作为第二推荐评价特征向量集合中的物品;根据所述物品特征向量集合以及所述第二用户特征矩阵,确定所述第二推荐评价特征向量集合中每个物品对应的目标函数。
(5)通过所述ALS,沿所述第二推荐评价特征向量集合中每个物品对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点作为所述第二推荐评价特征向量集合中该物品对应的推荐评价值。
(6)将所述第一推荐评价矩阵、所述第一推荐评价特征向量集合以及第二推荐评价特征向量集合,合并为所述第二推荐评价矩阵。
在上述步骤(1)中,所述根据所述第一推荐评价矩阵,以及第一物品特征矩阵,确定第一用户特征矩阵,一种可选的实施方式为:
根据所述第一推荐评价矩阵,以及所述第一物品特征矩阵,确定所述第一用户特征矩阵中每个用户的目标函数;所述第一物品特征矩阵中每个元素为,该元素对应物品在该元素对应维度的特征值。通过所述ALS,沿所述第一用户特征矩阵中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点对应维度的取值,作为所述第一用户特征矩阵中该用户在该维度的元素。
需要说明的是,上述实施方式同样适用于根据所述第一推荐评价矩阵,以及第一用户特征矩阵,确定第一物品特征矩阵。如图2所示,为本发明实施例提出的一种物品推荐方法对应的第一推荐评价矩阵与第一物品特征矩阵以及第一用户特征矩阵的关系示意图。对于一个R(用户对物品的一个评价矩阵)可以分解为U(用户的特征矩阵)和V(物品的特征矩阵),R近似等于U*V,物品特征维度数为d,用户特征维度数也为d,d为特征向量。因为对于一个U矩阵来说,并不能说列出的这些属性就代表着一个用户对一个物品评价全部的属性。因此,主要使用主成分分析的思想来近似。这也是ALS的核心:一个评分矩阵可以用两个小矩阵来近似。
ALS求解步骤:步骤1:初始化矩阵V(可以取平均值也可以随机取值);步骤2:固定V,然后通过最小化误差函数解决求解U;步骤3:固定步骤2中的U,然后通过最小化误差函数解决求解V;步骤4:反复步骤2,3;直到U和V收敛。
在上述步骤(1)~(6)中,所述ALS中的迭代方法为雅可比迭代法或高斯迭代法;所述ALS中的目标函数为线性回归目标函数。
具体地,通过ALS求解非负矩阵分解(Nonnegative Matrix Factorization,NMF)问题:用维度较低的非负矩阵B,C表示高维矩阵A。
A≈B*C s.t.B;C>=0
最小二乘法求解NMF对应的目标函数为:
KL散度法求解NMF对应的目标函数为:
具体步骤为:
1,初始化B0,k=0;
2,计算Ck+1s.t.F(A;BkCk+1)<=F(A;BkCk);
3,计算Bk+1s.t.F(A;Bk+1Ck+1)<=F(A;BkCk+1);
4,k=k+1,迭代直到最终精度满足:
在上述步骤(2)中,所述根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合,一种可选的实施方式为:
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合中每个用户的目标函数。根据交替最小二乘法ALS,沿所述用户特征向量集合中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足预设条件时,将迭代后的最小值点作为所述用户特征向量集合中该用户的特征向量。
迭代函数为其中,f[i]表示:用户i的特征向量,是指矩阵分解之后的第二推荐评价矩阵中的一行,而不是用户对物品的评分向量。ω表示:f[i]是ω的最优取值,ω表示我们可以尝试的所有用户特征向量,我们的任务是找到所有可能的ω中最小误差函数的最小的取值,也就是f[i]。Nbrs(i)表示:所有用户评过分的物品集合。rij表示:用户i对物品j的评分。ωTf[j]表示:当前ω取值下用户对物品j的预测得分。表示:正则化项。由于我们现在面对的场景是新增一个确定的用户,所以i是固定值,我们可以忽略它。因此上面的目标函数只有一个变量ω。
每次迭代的步长可通过以下方式:
步骤103中,将每个用户在所述第二推荐评价矩阵中对应各物品都有一个推荐评价值,其中,前N个最大的推荐评价值对应的物品,作为推荐给该用户的物品。
本发明通过改进ALS算法,使其在初始化时无需一次性将全部数据读入,而是支持增量的方式,将数十亿用户数据分割成多个批次进行计算,降低计算复杂度,同时增量进行更新,最终合成全量用户物品的评分矩阵。
本发明实施例中,首先获取了不包括第一推荐评价矩阵中物品或用户的物品特征向量集合以及第一推荐评价向量集合,也就是增量的物品特征向量和推荐评价向量,而后通过交替最小二乘法ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将第一推荐评价矩阵转化为第二推荐评价矩阵,也就是说,仅根据增加增量的物品特征向量和推荐评价向量即完成了推荐评价矩阵的更新。
如图3所示,为本发明实施例提出的一种物品推荐装置对应的结构示意图。
本发明实施例提供一种物品推荐装置,该装置包括:
获取模块301,用于获取第一推荐评价矩阵、物品特征向量集合,以及第一推荐评价向量集合;所述第一推荐评价矩阵中每个元素为,该元素对应物品推荐给该元素对应用户的推荐评价值;所述物品特征向量集合中的物品不包括所述第一推荐评价矩阵中的物品;所述第一推荐评价向量集合中的用户不包括所述第一推荐评价矩阵中的用户;
处理模块302,用于通过交替最小二乘法ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵;所述第二推荐评价矩阵中的物品包括所述第一推荐评价矩阵和所述物品特征向量集合中的物品,所述第二推荐评价矩阵中的用户包括所述第一推荐评价矩阵和所述第一推荐评价向量集合中的用户;
以及用于将每个用户在所述第二推荐评价矩阵中前N个最大的推荐评价值对应的物品,作为推荐给该用户的物品;N为正整数。
可选的,所述处理模块302,具体用于:
根据所述第一推荐评价矩阵,以及第一物品特征矩阵,确定第一用户特征矩阵;所述第一推荐评价矩阵中的物品为所述第一物品特征矩阵中的物品,所述第一用户特征矩阵中的用户为所述第一推荐评价矩阵中的用户;
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合;所述用户特征向量集合中的用户为所述第一推荐评价向量集合中的用户,所述用户特征向量集合中的物品包括所述物品特征向量集合中的物品;
将所述用户特征向量集合添加到所述第一用户特征矩阵,并将所述第一用户特征矩阵添加后的矩阵作为第二用户特征矩阵;
将所述物品特征向量集合中的物品,作为第二推荐评价特征向量集合中的物品;根据所述物品特征向量集合以及所述第二用户特征矩阵,确定所述第二推荐评价特征向量集合中每个物品对应的目标函数;
通过所述ALS,沿所述第二推荐评价特征向量集合中每个物品对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点作为所述第二推荐评价特征向量集合中该物品对应的推荐评价值;
将所述第一推荐评价矩阵、所述第一推荐评价特征向量集合以及第二推荐评价特征向量集合,合并为所述第二推荐评价矩阵。
可选的,所述处理模块302,具体用于:
根据所述第一推荐评价矩阵,以及所述第一物品特征矩阵,确定所述第一用户特征矩阵中每个用户的目标函数;所述第一物品特征矩阵中每个元素为,该元素对应物品在该元素对应维度的特征值;
通过所述ALS,沿所述第一用户特征矩阵中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点对应维度的取值,作为所述第一用户特征矩阵中该用户在该维度的元素。
可选的,所述处理模块302,具体用于:
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合中每个用户的目标函数;
根据交替最小二乘法ALS,沿所述用户特征向量集合中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足预设条件时,将迭代后的最小值点作为所述用户特征向量集合中该用户的特征向量。
可选的,所述ALS中的迭代方法为雅可比迭代法或高斯迭代法;
所述ALS中的目标函数为线性回归目标函数。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种物品推荐方法,其特征在于,包括:
获取第一推荐评价矩阵、物品特征向量集合,以及第一推荐评价向量集合;所述第一推荐评价矩阵中每个元素为,该元素对应物品推荐给该元素对应用户的推荐评价值;所述物品特征向量集合中的物品不包括所述第一推荐评价矩阵中的物品;所述第一推荐评价向量集合中的用户不包括所述第一推荐评价矩阵中的用户;
通过交替最小二乘法ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵;所述第二推荐评价矩阵中的物品包括所述第一推荐评价矩阵和所述物品特征向量集合中的物品,所述第二推荐评价矩阵中的用户包括所述第一推荐评价矩阵和所述第一推荐评价向量集合中的用户;
将每个用户在所述第二推荐评价矩阵中前N个最大的推荐评价值对应的物品,作为推荐给该用户的物品;N为正整数。
2.如权利要求1所述的方法,其特征在于,所述通过ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵,包括:
根据所述第一推荐评价矩阵,以及第一物品特征矩阵,确定第一用户特征矩阵;所述第一推荐评价矩阵中的物品为所述第一物品特征矩阵中的物品,所述第一用户特征矩阵中的用户为所述第一推荐评价矩阵中的用户;
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合;所述用户特征向量集合中的用户为所述第一推荐评价向量集合中的用户,所述用户特征向量集合中的物品包括所述物品特征向量集合中的物品;
将所述用户特征向量集合添加到所述第一用户特征矩阵,并将所述第一用户特征矩阵添加后的矩阵作为第二用户特征矩阵;
将所述物品特征向量集合中的物品,作为第二推荐评价特征向量集合中的物品;根据所述物品特征向量集合以及所述第二用户特征矩阵,确定所述第二推荐评价特征向量集合中每个物品对应的目标函数;
通过所述ALS,沿所述第二推荐评价特征向量集合中每个物品对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点作为所述第二推荐评价特征向量集合中该物品对应的推荐评价值;
将所述第一推荐评价矩阵、所述第一推荐评价特征向量集合以及第二推荐评价特征向量集合,合并为所述第二推荐评价矩阵。
3.如权利要求2所述的方法,其特征在于,所述根据所述第一推荐评价矩阵,以及第一物品特征矩阵,确定第一用户特征矩阵,包括:
根据所述第一推荐评价矩阵,以及所述第一物品特征矩阵,确定所述第一用户特征矩阵中每个用户的目标函数;所述第一物品特征矩阵中每个元素为,该元素对应物品在该元素对应维度的特征值;
通过所述ALS,沿所述第一用户特征矩阵中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点对应维度的取值,作为所述第一用户特征矩阵中该用户在该维度的元素。
4.如权利要求2所述的方法,其特征在于,所述根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合,包括:
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合中每个用户的目标函数;
根据交替最小二乘法ALS,沿所述用户特征向量集合中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足预设条件时,将迭代后的最小值点作为所述用户特征向量集合中该用户的特征向量。
5.如权利要求2-4任一所述的方法,其特征在于,包括:
所述ALS中的迭代方法为雅可比迭代法或高斯迭代法;
所述ALS中的目标函数为线性回归目标函数。
6.一种物品推荐装置,其特征在于,包括:
获取模块,用于获取第一推荐评价矩阵、物品特征向量集合,以及第一推荐评价向量集合;所述第一推荐评价矩阵中每个元素为,该元素对应物品推荐给该元素对应用户的推荐评价值;所述物品特征向量集合中的物品不包括所述第一推荐评价矩阵中的物品;所述第一推荐评价向量集合中的用户不包括所述第一推荐评价矩阵中的用户;
处理模块,用于通过交替最小二乘法ALS,根据所述物品特征向量集合,以及第一推荐评价向量集合,将所述第一推荐评价矩阵转化为第二推荐评价矩阵;所述第二推荐评价矩阵中的物品包括所述第一推荐评价矩阵和所述物品特征向量集合中的物品,所述第二推荐评价矩阵中的用户包括所述第一推荐评价矩阵和所述第一推荐评价向量集合中的用户;
以及用于将每个用户在所述第二推荐评价矩阵中前N个最大的推荐评价值对应的物品,作为推荐给该用户的物品;N为正整数。
7.如权利要求6所述的装置,其特征在于,所述处理模块,具体用于:
根据所述第一推荐评价矩阵,以及第一物品特征矩阵,确定第一用户特征矩阵;所述第一推荐评价矩阵中的物品为所述第一物品特征矩阵中的物品,所述第一用户特征矩阵中的用户为所述第一推荐评价矩阵中的用户;
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合;所述用户特征向量集合中的用户为所述第一推荐评价向量集合中的用户,所述用户特征向量集合中的物品包括所述物品特征向量集合中的物品;
将所述用户特征向量集合添加到所述第一用户特征矩阵,并将所述第一用户特征矩阵添加后的矩阵作为第二用户特征矩阵;
将所述物品特征向量集合中的物品,作为第二推荐评价特征向量集合中的物品;根据所述物品特征向量集合以及所述第二用户特征矩阵,确定所述第二推荐评价特征向量集合中每个物品对应的目标函数;
通过所述ALS,沿所述第二推荐评价特征向量集合中每个物品对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点作为所述第二推荐评价特征向量集合中该物品对应的推荐评价值;
将所述第一推荐评价矩阵、所述第一推荐评价特征向量集合以及第二推荐评价特征向量集合,合并为所述第二推荐评价矩阵。
8.如权利要求7所述的装置,其特征在于,所述处理模块,具体用于:
根据所述第一推荐评价矩阵,以及所述第一物品特征矩阵,确定所述第一用户特征矩阵中每个用户的目标函数;所述第一物品特征矩阵中每个元素为,该元素对应物品在该元素对应维度的特征值;
通过所述ALS,沿所述第一用户特征矩阵中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足所述预设条件时,将迭代后的最小值点对应维度的取值,作为所述第一用户特征矩阵中该用户在该维度的元素。
9.如权利要求7所述的装置,其特征在于,所述处理模块,具体用于:
根据所述物品特征向量集合,以及所述第一推荐评价向量集合,确定所述用户特征向量集合中每个用户的目标函数;
根据交替最小二乘法ALS,沿所述用户特征向量集合中每个用户对应目标函数的负梯度方向,对该目标函数的最小值点进行迭代,当迭代后的最小值点满足预设条件时,将迭代后的最小值点作为所述用户特征向量集合中该用户的特征向量。
10.如权利要求7-9任一所述的装置,其特征在于,包括:
所述ALS中的迭代方法为雅可比迭代法或高斯迭代法;所述ALS中的目标函数为线性回归目标函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910115434.9A CN111563783B (zh) | 2019-02-14 | 2019-02-14 | 一种物品推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910115434.9A CN111563783B (zh) | 2019-02-14 | 2019-02-14 | 一种物品推荐方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111563783A true CN111563783A (zh) | 2020-08-21 |
CN111563783B CN111563783B (zh) | 2021-03-16 |
Family
ID=72072920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910115434.9A Active CN111563783B (zh) | 2019-02-14 | 2019-02-14 | 一种物品推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111563783B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073720A (zh) * | 2011-01-10 | 2011-05-25 | 北京航空航天大学 | 一种对个性化推荐结果进行优化的fr方法 |
CN105630742A (zh) * | 2015-12-28 | 2016-06-01 | 广州酷狗计算机科技有限公司 | 特征向量计算方法及装置 |
US20180047036A1 (en) * | 2016-08-11 | 2018-02-15 | Ricoh Company, Ltd. | User behavior analysis method and device as well as non-transitory computer-readable medium |
CN109241424A (zh) * | 2018-08-29 | 2019-01-18 | 陕西师范大学 | 一种推荐方法 |
-
2019
- 2019-02-14 CN CN201910115434.9A patent/CN111563783B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073720A (zh) * | 2011-01-10 | 2011-05-25 | 北京航空航天大学 | 一种对个性化推荐结果进行优化的fr方法 |
CN105630742A (zh) * | 2015-12-28 | 2016-06-01 | 广州酷狗计算机科技有限公司 | 特征向量计算方法及装置 |
US20180047036A1 (en) * | 2016-08-11 | 2018-02-15 | Ricoh Company, Ltd. | User behavior analysis method and device as well as non-transitory computer-readable medium |
CN109241424A (zh) * | 2018-08-29 | 2019-01-18 | 陕西师范大学 | 一种推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111563783B (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807154A (zh) | 一种基于混合深度学习模型的推荐方法与系统 | |
CN110889747B (zh) | 商品推荐方法、装置、系统、计算机设备及存储介质 | |
CN109840833B (zh) | 贝叶斯协同过滤推荐方法 | |
US20220253722A1 (en) | Recommendation system with adaptive thresholds for neighborhood selection | |
CN110033097B (zh) | 基于多个数据域确定用户与物品的关联关系的方法及装置 | |
Ye et al. | Variable selection via penalized neural network: a drop-out-one loss approach | |
CN114186084B (zh) | 在线多模态哈希检索方法、系统、存储介质及设备 | |
US20240185025A1 (en) | Flexible Parameter Sharing for Multi-Task Learning | |
CN109800853B (zh) | 融合卷积神经网络和显式反馈的矩阵分解方法、装置及电子设备 | |
CN111275205A (zh) | 虚拟样本的生成方法、终端设备及存储介质 | |
WO2022166125A1 (en) | Recommendation system with adaptive weighted baysian personalized ranking loss | |
US20230410465A1 (en) | Real time salient object detection in images and videos | |
CN111026910A (zh) | 视频推荐方法、装置、电子设备及计算机可读存储介质 | |
Joulani et al. | Fast cross-validation for incremental learning | |
CN110275881B (zh) | 基于哈希嵌入向量向用户推送对象的方法和装置 | |
CN111563783B (zh) | 一种物品推荐方法及装置 | |
CN117056595A (zh) | 一种交互式的项目推荐方法、装置及计算机可读存储介质 | |
CN114936901A (zh) | 基于跨模态语义推理与融合的视觉感知推荐方法及系统 | |
CN111460302B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN112650869A (zh) | 图像检索重排序方法、装置、电子设备及存储介质 | |
CN117252665B (zh) | 业务推荐方法、装置、电子设备及存储介质 | |
CN113010500B (zh) | 用于dpi数据的处理方法和处理系统 | |
CN112750074B (zh) | 小样本图像特征增强方法及系统、图像分类方法及系统 | |
US20230259564A1 (en) | Memory system using heterogeneous data format and method of controlling the same | |
WO2022247878A1 (en) | System, method, and computer-readable media for leakage correction in graph neural network based recommender systems |
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 |