一种推荐方法和设备技术

技术编号:11897906 阅读:67 留言:0更新日期:2015-08-19 09:12
本发明专利技术实施例提供了一种推荐方法和设备,通过并行计算提高了海量数据环境下推荐系统的推荐效率,并且通过考虑用户隐式反馈提高了推荐系统的推荐效果,其中推荐方法包括:将评分数据集中的评分数据分别放置到至少一个数据层;依据预设的推荐系统模型以及数据层中的评分数据,并行计算数据层中推荐系统模型的参数,并将每一层数据层的参数作为对应的下一层数据层的初值,直至获取推荐系统模型的最优参数;根据最优参数与推荐系统模型获取每个用户对每个产品的评分预测值,并根据评分预测值向用户推荐产品。

【技术实现步骤摘要】
【国外来华专利技术】一种推荐方法和设备
本专利技术涉及信息处理领域,尤其涉及一种推荐方法和设备。
技术介绍
随着网络的不断发展,网络信息量也呈现了爆炸式的增长,信息推荐方法的出现使得用户能够在海量网络信息中获取自己感兴趣的信息,现有的信息推荐方法是将用户的显示反馈信息与隐式反馈信息融合在数据模型中,通过随机梯度下降算法求解损失函数最小化的优化问题,以串行计算的方式解出数据模型中的参数,并依据此参数对用户尚未评分的产品进行预测并对用户进行推荐预测的用户感兴趣的产品,由于同时考虑了用户的显示反馈和隐式反馈,因此这种方法有较高的推荐精度。专利技术人发现现有的信息推荐方法由于采用的是串行计算的方式,并不适合在海量数据环境下进行数据处理,在海量数据环境下效率极低,同时也会影响向用户推荐的效果。
技术实现思路
本专利技术实施例提供了一种推荐方法和设备,通过并行计算提高了海量数据环境下推荐系统的推荐效率,并且通过考虑用户隐式反馈提高了推荐系统的推荐效果。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供了一种推荐方法,包括:将评分数据集中的评分数据分别放置到至少两个数据层,其中,所述评分数据与用户以及产品分别一一对应,且每一个所述数据层中的任意两个所述评分数据对应的用户以及产品均不相同;依据预设的推荐系统模型以及所述数据层中的评分数据,并行计算所述数据层中推荐系统模型的参数,并将每一层数据层的参数作为对应的下一层数据层的初值,直至获取所述推荐系统模型的最优参数;其中,所述推荐系统模型为每个用户对每个产品的评分预测值与所述平均分和所述推荐系统模型的参数之间的对应关系;根据所述最优参数与所述推荐系统模型获取每个用户对每个产品的评分预测值,并根据所述评分预测值向所述用户推荐产品。根据第一种可能的实现方式,结合第一方面,所述推荐系统模型包括提供了隐式反馈的推荐系统模型、未提供隐式反馈的推荐系统模型、考虑时空特性的推荐系统模型和非对称的潜在因素的推荐系统模型。根据第二种可能的实现方式,结合第一方面或者第一种可能的实现方式,所述推荐系统包括:第一推荐系统模型或者,第二推荐系统模型在所述第一推荐模型和所述第二推荐模型中,表示用户u对产品i的评分预测值,μ表示所述评分数据集中的所有评分数据的平均值,bu表示所述用户u相对用户平均评分的偏移量,bi表示所述产品i相对产品平均评分的偏移量,qi表示产品因素矢量,T表示转置运算符号,pu表示用户因素矢量,进一步的,在所述第一推荐模型中,|N(u)|表示用户u提供了隐式偏好的所有产品的集合大小,N(u)表示用户u提供了隐式偏好的所有产品的集合;表示与产品j相关联的因素矢量,其用于表征隐式反馈信息。根据第三种可能的实现方式,结合第二种可能的实现方式,所述的方法,还包括:根据所述评分预测值与所述评分数据的均方误差和所述推荐系统模型的参数之间的关系得到所述推荐系统模型的代价函数,其中所述代价函数包括:第一代价函数或者,第二代价函数其中,||*||2表示矢量*的所有元素的平方和,λ1与λ2为正则化因子。根据第四种可能的实现方式,结合第一方面、第一种至第三种可能的实现方式中的任一项,所述依据预设的推荐系统模型以及所述数据层中的评分数据,并行计算所述数据层中推荐系统模型的参数,并将每一层数据层的参数作为对应的下一层数据层的初值,直至获取所述推荐系统模型的最优参数,包括:A:计算所述评分数据集中的所有所述评分数据的平均分;B:依次采用并行计算的方式计算每一层所述数据层的参数,并将每一层所述数据层计算所得的参数作为下一层数据层的参数初值;其中,所述第一层所述数据层的参数初值由系统设置;C:根据最后一层所述数据层计算所得的参数判断所述推荐系统模型是否收敛,若收敛,则计算结束,得到所述最优参数;若不收敛,则将最后一层所述数据层计算所得的参数作为第一层所述数据层的参数初值,重复所述步骤B、C。根据第五种可能的实现方式,结合第四种可能的实现方式,所述步骤B,包括:B1:根据每一层所述数据层的参数初值和所述推荐系统模型得到所述该层数据层的评分数据的初始估计值,进而根据所述该层数据层的评分数据和所述初始估计值得到所述该层数据层的评分误差;B2:根据所述评分误差获取所述该层数据层计算所得的参数;B3:将所述该层数据层计算所得的参数作为下一层数据层的参数初值,根据步骤B1和B2得到下一层数据层计算所得的参数,直至得到最后一层所述数据层计算所得的参数。根据第六种可能的实现方式,结合第四种或第五种可能的实现方式,所述根据最后一层所述数据层计算所得的参数判断所述推荐系统模型是否收敛,包括:将本次计算所得到的最后一层所述数据层计算所得的参数和前一次计算所得到的最后一层所述数据层计算所得的参数均代入所述代价函数进行计算,若代入所述代价函数进行计算的的结果之差不大于预设的门限值,则本次计算所得到的最后一层所述数据层计算所得的参数是收敛的,否则,本次计算所得到的最后一层所述数据层计算所得的参数是不收敛的。根据第七种可能的实现方式,结合第五种可能的实现方式,所述根据所述评分误差获取所述该层数据层计算所得的参数,进一步包括:将所述第一推荐模型中的表达式作为一个等效参数,并用辅助变量zu来表示所述等效参数,即然后根据所述辅助变量zu的梯度Δzui=2eui·qi-λ2zu,获取所述辅助变量zu,即得到所述等效参数;以及根据所述辅助变量zu获取所述参数qi,即qi←qi+γ2·(eui·zu-λ2qi),其中,←符号表示更新符号,即用更新符号右边的计算值替代更新符号左边的变量值,更新符号右边出现的参数均为相应的参数的初值,更新符号左边出现的参数均为参数的更新值。第二方面,提供了一种推荐设备,包括:数据放置单元,用于将评分数据集中的评分数据分别放置到至少两个数据层,其中,所述评分数据与用户以及产品分别一一对应,且每一个所述数据层中的任意两个所述评分数据对应的用户以及产品均不相同;并行计算单元,用于依据预设的推荐系统模型以及所述数据层中的评分数据,并行计算所述数据层中推荐系统模型的参数,并将每一层数据层的参数作为对应的下一层数据层的初值,直至获取所述推荐系统模型的最优参数;其中,所述推荐系统模型为每个用户对每个产品的评分预测值与所述平均分和所述推荐系统模型的参数之间的对应关系;预测推荐单元,用于根据所述最优参数与所述推荐系统模型获取每个用户对每个产品的评分预测值,并根据所述评分预测值向所述用户推荐产品。根据第一种可能的实现方式,结合第二方面,所述推荐系统模型包括提供了隐式反馈的推荐系统模型、未提供隐式反馈的推荐系统模型、考虑时空特性的推荐系统模型和非对称的潜在因素的推荐系统模型。根据第二种可能的实现方式,结合第二方面或者第一种可能的实现方式,所述推荐系统包括:第一推荐系统模型或者,第二推荐系统模型在所述第一推荐模型和所述第二推荐模型中,表示用户u对产品i的评分预测值,μ表示所述评分数据集中的所有评分数据的平均值,bu表示所述用户u相对用户平均评分的偏移量,bi表示所述产品i相对产品平均评分的偏移量,qi表示产品因素矢量,T表示转置运算符号,pu表示用户因素矢量,进一步的,在所述第一推荐模型中,|N(u)|表示用户u提供了隐式偏好的所有产品的集合本文档来自技高网...

【技术保护点】
PCT国内申请,权利要求书已公开。

【技术特征摘要】
【国外来华专利技术】1.一种推荐方法,其特征在于,包括:将评分数据集中的评分数据分别放置到至少两个数据层,其中,所述评分数据与用户以及产品分别一一对应,且每一个所述数据层中的任意两个所述评分数据对应的用户以及产品均不相同;依据预设的推荐系统模型以及所述数据层中的评分数据,并行计算所述数据层中推荐系统模型的参数,并将每一层数据层的参数作为对应的下一层数据层的初值,直至获取所述推荐系统模型的最优参数;其中,所述推荐系统模型为根据所述评分数据集中的评分数据的平均分和所述推荐系统模型的参数获取每个用户对每个产品的评分预测值的模型;根据所述最优参数与所述推荐系统模型获取每个用户对每个产品的评分预测值,并根据所述评分预测值向所述用户推荐产品。2.根据权利要求1所述的方法,其特征在于,所述推荐系统模型包括提供了隐式反馈的推荐系统模型、未提供隐式反馈的推荐系统模型、考虑时空特性的推荐系统模型和非对称的潜在因素的推荐系统模型。3.根据权利要求1或2所述的方法,其特征在于,所述推荐系统模型包括:第一推荐系统模型或者,第二推荐系统模型在所述第一推荐模型和所述第二推荐模型中,表示用户u对产品i的评分预测值,μ表示所述评分数据集中的所有评分数据的平均值,bu表示所述用户u相对用户平均评分的偏移量,bi表示所述产品i相对产品平均评分的偏移量,qi表示产品因素矢量,T表示转置运算符号,pu表示用户因素矢量,进一步的,在所述第一推荐模型中,|N(u)|表示用户u提供了隐式偏好的所有产品的集合大小,N(u)表示用户u提供了隐式偏好的所有产品的集合;yj∈Rf表示与产品j相关联的因素矢量,其用于表征隐式反馈信息。4.根据权利要求3所述的方法,其特征在于,还包括:根据所述评分预测值与所述评分数据的均方误差和所述推荐系统模型的参数之间的关系得到所述推荐系统模型的代价函数,其中所述代价函数包括:第一代价函数或者,第二代价函数其中,||*||2表示矢量*的所有元素的平方和,λ1与λ2为正则化因子。5.根据权利要求1或2或4所述的方法,其特征在于,所述依据预设的推荐系统模型以及所述数据层中的评分数据,并行计算所述数据层中推荐系统模型的参数,并将每一层数据层的参数作为对应的下一层数据层的初值,直至获取所述推荐系统模型的最优参数,包括:A:计算所述评分数据集中的所有所述评分数据的平均分;B:依次采用并行计算的方式计算每一层所述数据层的参数,并将每一层所述数据层计算所得的参数作为下一层数据层的参数初值;其中,第一层所述数据层的参数初值由系统设置;C:根据最后一层所述数据层计算所得的参数判断所述推荐系统模型是否收敛,若收敛,则计算结束,得到所述最优参数;若不收敛,则将最后一层所述数据层计算所得的参数作为所述第一层所述数据层的参数初值,重复所述步骤B、C。6.根据权利要求3所述的方法,其特征在于,所述依据预设的推荐系统模型以及所述数据层中的评分数据,并行计算所述数据层中推荐系统模型的参数,并将每一层数据层的参数作为对应的下一层数据层的初值,直至获取所述推荐系统模型的最优参数,包括:A:计算所述评分数据集中的所有所述评分数据的平均分;B:依次采用并行计算的方式计算每一层所述数据层的参数,并将每一层所述数据层计算所得的参数作为下一层数据层的参数初值;其中,第一层所述数据层的参数初值由系统设置;C:根据最后一层所述数据层计算所得的参数判断所述推荐系统模型是否收敛,若收敛,则计算结束,得到所述最优参数;若不收敛,则将最后一层所述数据层计算所得的参数作为所述第一层所述数据层的参数初值,重复所述步骤B、C。7.根据权利要求5所述的方法,其特征在于,所述步骤B,包括:B1:根据每一层所述数据层的参数初值和所述推荐系统模型得到所述该层数据层的评分数据的初始估计值,进而根据所述该层数据层的评分数据和所述初始估计值得到所述该层数据层的评分误差;B2:根据所述评分误差获取所述该层数据层计算所得的参数;B3:将所述该层数据层计算所得的参数作为下一层数据层的参数初值,根据步骤B1和B2得到下一层数据层计算所得的参数,直至得到最后一层所述数据层计算所得的参数。8.根据权利要求6所述的方法,其特征在于,所述步骤B,包括:B1:根据每一层所述数据层的参数初值和所述推荐系统模型得到所述该层数据层的评分数据的初始估计值,进而根据所述该层数据层的评分数据和所述初始估计值得到所述该层数据层的评分误差;B2:根据所述评分误差获取所述该层数据层计算所得的参数;B3:将所述该层数据层计算所得的参数作为下一层数据层的参数初值,根据步骤B1和B2得到下一层数据层计算所得的参数,直至得到最后一层所述数据层计算所得的参数。9.根据权利要求4或7或8所述的方法,其特征在于,所述根据最后一层所述数据层计算所得的参数判断所述推荐系统模型是否收敛,包括:将本次计算所得到的最后一层所述数据层计算所得的参数和前一次计算所得到的最后一层所述数据层计算所得的参数均代入所述第一代价函数或所述第二代价函数进行计算,若代入所述第一代价函数或所述第二代价函数进行计算的的结果之差不大于预设的门限值,则本次计算所得到的最后一层所述数据层计算所得的参数是收敛的,否则,本次计算所得到的最后一层所述数据层计算所得的参数是不收敛的。10.根据权利要求7或8所述的方法,其特征在于,所述根据所述评分误差获取所述该层数据层计算所得的参数,进一步包括:将所述第一推荐系统模型中的表达式作为一个等效参数,并用辅助变量zu来表示所述等效参数,即然后根据所述辅助变量zu的梯度Δzui=2eui·qi-λ2zu,获取所述辅助变量zu,即得到所述等效参数;以及根据所述辅助变量zu获取所述参数qi,即qi←qi+γ2.(eui·zu-λ2qi),其中,←符号表示更新符号,即用更新符号右边的计算值替代更新符号左边的变量值,更新符号右边出现的参数均为相应的参数的初值,更新符号左边出现的参数均为参数的更新值。11.一种推荐设备,其特征在于,包括:数据放置单元,用于将评分数据集中的评分数据分别放置到至少两个数据层,其中,所述评分数据与用户以及产品分别一一对应,且每一个所述数据层中的任意两个所述评分数据对应的用户以及产品均不相同;并行计算单元,用于依据预设的推荐系统模型以及所述数据层中的评分数据,并行计算所述数据层中推荐系统模型的参数,并将每一层数据层的参数作为对应的下一层数据层的初值,直至获取所述推荐系统模型的最优参数;其中,所述推荐系统模型为根据所述评分数据集中的评分数据的平均分和所述推荐系统模型的参数获取每个用户对每个产品的评分预测值的模型;预测推荐单元,用于根据所述最优参数与所述推荐系统模型获取每个用户对每个产品的评分预测值,并根据所述评分预测值向所述用户推荐产品。12.根据权利要求11所述的设备,其特征在于,所述推荐系统模型包括提供了隐式反馈的推荐系统模型、未提供隐式反馈的推荐系统模型、考虑时空特性的推荐系统模型和非对称的潜在因素的推荐系统模型。13.根据权利要求11或12所述的设备,其特征在于,所述推荐系统模型包括:所述推荐系统模型包括:第一推荐系统模型或者,第二推荐系统模型在所述第一推荐模型和所述第二推荐模型中,表示用户u对产品i的评分预测值,μ表示所述评分数据集中的所有评分数据的平均值,bu表示所述用户u相对用户平均评分的偏移量,bi表示所述产品i相对产品平均评分的偏移量,qi表示产品因素矢量,T表示转置运算符号,pu表示用户因素矢量,进一步的,在所述第一推荐模型中,|N(u)|表示用户u提供了隐式偏好的所有产品的集合大小,N(u)表示用户u提供了隐式偏好的所有产品的集合;yj∈Rf表示与产品j相关联的因素矢量,其用于表征隐式反馈信息。14.根据权利要求13所述的设备,其特征在于,还包括:代价函数生成单元,用于根据所述评分预测值与所述评分数据的均方误差和所述推荐系统模型的参数之间的关系得到所述推荐系统模型的代价函数,其中所述代价函数包括:第一代价函数或者,第二代价函数其中,||*||2表示矢量*的所有元素的平方和,λ1与λ2为正则化因子。15.根据权利要求11或12或14所述的设备,其特征在于,所述并行计算单元,包括:平均分计算子单元,用于计算所述评分数据集中的所有所述评分数据的平均分;分层计算子单元,用于依次采用并行计算的方式计算每一层所述数据层的参数,并将每一层所述数据层计算所得的参数作为下一层数据层的参数初值;其中,第一层所述数据层的参数初值由系统设置;收敛判断子单元,用于根据最后一层所述数据层计算所得的参数判断所述推荐系统模型是否收敛,若收敛,则计算结束,得到所述最优参数;若不收敛,则将最后一层所述数据层计算所得的参数作为所述第一层所述数据层的参数初值,并将所述参数初值传输至所述分层计算子单元重复进行分层计算。16.根据权利要求13所述的设备,其特征在于,所述并行计算单元,包括:平均分计算子单元,用于计算所述评分数据集中的所有所述评分数据的平均分;分层计算子单元,用于依次采用并行计算的方式计算每一层所述数据层的参数,并将每一层所述数据层计算所得的参数作为下一层数据层的参数初值;其中,第一层所述数据层的参数初值由系统设置;收敛判断子单元,用于根据最后一层所述数据层计算所得的参数判断所述推荐系统模型是否收敛,若收敛,则计算...

【专利技术属性】
技术研发人员:张洪波格卢霍夫瓦列里
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1