基于以列表为单位的用户推荐列表生成方法及系统.pdf

上传人:Y948****062 文档编号:176707 上传时间:2018-01-31 格式:PDF 页数:11 大小:565.63KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510121099.5

申请日:

2015.03.19

公开号:

CN104766219A

公开日:

2015.07.08

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06Q 30/02申请日:20150319|||公开

IPC分类号:

G06Q30/02(2012.01)I; G06F17/30

主分类号:

G06Q30/02

申请人:

中国船舶重工集团公司第七0九研究所

发明人:

刘俊涛; 邓德位; 王军伟; 黄友澎

地址:

430205湖北省武汉市东湖新技术开发区凤凰产业园藏龙北路1号

优先权:

专利代理机构:

武汉河山金堂专利事务所(普通合伙)42212

代理人:

胡清堂; 覃波

PDF下载: PDF下载
内容摘要

一种基于以列表为单位的用户推荐列表生成方法,包括:S1、从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在评分矩阵R中的每一个元素ri,j表示用户i对物品j的评分;在用户i没有对物品j评分时,指示矩阵I中的元素Ii,j=0,在用户i对物品j作出评分时,Ii,j=1;对用户评价过的物品,按照评分的大小顺序排序,得到用户的偏好顺序πi,其中第j个元素πi,j表示排在第j位的物品编号;S2、根据用户的偏好顺序πi,通过梯度下降法学习用户偏好U及物品特征V;S3、根据所学习的用户偏好U及物品特征V,对每一个用户i,获取该用户对所有没有评分的物品j的评分预测值并对按照从大到小进行排序,得到对用户i的推荐列表。

权利要求书

1.  一种基于以列表为单位的用户推荐列表生成方法,其特征在于,其包括如下步骤:
S1、从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在评分矩阵R中的每一个元素ri,j表示用户i对物品j的评分;在用户i没有对物品j评分时,指示矩阵I中的元素Ii,j=0,在用户i对物品j作出评分时,Ii,j=1;对用户评价过的物品,按照评分的大小顺序排序,得到用户的偏好顺序πi,其中第j个元素πi,j表示排在第j位的物品编号;
S2、根据用户的偏好顺序πi,通过梯度下降法学习用户偏好U及物品特征V;
S3、根据所学习的用户偏好U及物品特征V,对每一个用户i,获取该用户对所有没有评分的物品j的评分预测值计算公式为:其中ui,vj均为行向量,ui表示用户i的偏好和物品j特征,vj表示物品j特征,并对按照从大到小进行排序,得到对用户i推荐列表。

2.
  如权利要求1所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,所述步骤S2包括如下子步骤:
S21、初始化所预测的用户偏好以及所预测的物品特征,包括随机生成用户偏好矩阵U以及物品特征矩阵V中的每一个元素;
S22、检查收敛条件,在迭代次数达到预设值或者目标函数的值不再减少时,跳转到步骤S3;在迭代次数小于预设值并且目标函数的值减少时,跳转到步骤S23;
S23、通过梯度下降法更新所述预测的用户偏好ui及所预测的物品特征值vj,跳转到步骤S22;
更新方法如下:
ui←ui-ηΔui
vj←vj-ηΔvj,其中η为梯度下降法的学习率。

3.
  如权利要求2所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,梯度下降法的学习率η的值为0.1。

4.
  如权利要求3所述的基于以列表为单位的用户推荐列表生成方法, 其特征在于,所述步骤S23中梯度的计算方法为:
Δui=α(Σj=1MIi,jφ(r^i,j)φ(r^i,j)vjΣj=1MIi,jφ2(r^i,j)+Σj=1MIi,jφ(ri,j)φ(r^i,j)vjΣj=1MIi,jφ(r^i,j)φ(r^i,j))+(1-α)Σj=1|πi|(Σk=j|πi|φ(r^i,πi,k)vπi,kΣk=j|πi|φ(r^i,πi,k)-φ(r^i,πi,k)vπi,kφ(r^i,πi,k))+2λuui;]]>
Δvj=αΣi=1NIi,j(φ(r^i,j)φ(r^i,j)uiΣk=1Mφ2(r^i,j)+φ(ri,j)φ(r^i,j)uiΣk=1Mφ(r^i,k)φ(r^i,k))+(1-α)Σi=1NIi,j(Σl=1πi,j=jφ(r^i,j)uiΣk=l|πi|φ(r^i,πi,k)-φ(r^i,πi,k)uiφ(r^i,πi,k))+2λvvj;]]>
在以上两个公式中,α∈[0,1],表示基于余弦函数相似度的权重;是对πi中物品评分的预测;I为指示矩阵。

5.
  如权利要求4所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,基于余弦函数相似度的权重α=0.4。

6.
  如权利要求5所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,其还包括:
S4、对用户i,对生成的用户推荐列表进行度量确定推荐列表中的推荐结果与其真实偏好的相似程度,度量的公式如下:
p(πi|R^i)=αpcos(πi|R^i)+(1-α)pP-L(πi|R^i),]]>其中是基于余弦函数的相似度度量,是基于Plackett-Luce模型的相似度度量。

7.
  如权利要求6所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,于是基于余弦函数的相似度度量,计算方法为:
pcos(πi|R^i)=Σj=1MIi,jφ(ri,j)φ(r^i,j)Σj=1MIi,j(φ(ri,j))2Σj=1MIi,j(φ(r^i,j))2]]>其中,φ(x)=11+e-x.]]>

8.
  如权利要求6所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,是基于Plackett-Luce模型的相似度度量,计算公式为:
pP-L(πi|R^i)=Πj=1|πi|φ(r^i,πi,j)Σk=j|πi|φ(r^i,πi,k).]]>

9.
  一种基于以列表为单位的用户推荐列表生成系统,其特征在于,其包括如下模块:
历史偏好顺序获取模块,用于从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在评分矩阵R中的每一个元素ri,j表示用户i对物品j的评分;在用户i没有对物品j评分时,指示矩阵I中的元素Ii,j=0,在用户i对物品j作出评分时,Ii,j=1;对用户评价过的物品,按照评分的大小顺序排序,得到用户的偏好顺序πi,其中第j个元素πi,j表示排在第j位的物品编号;
学习模块,用于根据用户的偏好顺序πi,通过梯度下降法学习用户偏好U及物品特征V;
推荐列表生成模块,用于根据所学习的用户偏好U及物品特征V,对每一个用户i,获取该用户对所有没有评分的物品j的评分预测值计算公式为:其中ui,vj均为行向量,ui表示用户i的偏好和物品j特征,vj表示物品j特征,并对按照从大到小进行排序,得到对用户i推荐列表。

10.
  如权利要求9所述的基于以列表为单位的用户推荐列表生成系统,其特征在于,所述学习模块包括如下单元:
初始化单元,用于初始化所预测的用户偏好以及所预测的物品特征,包括随机生成用户偏好矩阵U以及物品特征矩阵V中的每一个元素;
迭代单元,用于检查收敛条件,在迭代次数达到预设值或者目标函数的 值不再减少时,启动列表生成模块的功能;在迭代次数小于预设值并且目标函数的值减少时,启动学习单元的功能;
学习单元,用于通过梯度下降法更新所述预测的用户偏好ui及所预测的物品特征值vj,启动迭代单元的功能;
更新方法如下:
ui←ui-ηΔui
vj←vj-ηΔvj,其中η为梯度下降法的学习率。

说明书

基于以列表为单位的用户推荐列表生成方法及系统
技术领域
本发明涉及服务信息推送技术领域,特别涉及基于以列表为单位的用户推荐列表生成方法及系统。
背景技术
当前,网络服务商为用户提供了诸如新闻、商品、图片、视频、音频、文档等(以下统一简称为物品)的在线服务。为了更好的为用户提供服务,服务商会记录用户的历史行为,例如记录用户购买(使用)过哪些物品、对物品的评价等。用户对物品的评分是分析用户偏好的重要信息。用户对物品的评分一般为1~k的整数,1表示最不喜欢,k表示最喜欢。1~k之间的评分表示的喜欢程度依次递增。由于每一个用户消费的物品数量有限,如何根据有限的评分数据挖掘用户偏好,进而据此为用户提供推荐是推荐领域面临的重要问题。所谓推荐即是预测用户可能喜欢的物品、按照可能的喜欢程度排序,并把这个物品列表推荐给用户。在基于评分的推荐系统中,推荐结果通常采用两种方式评价,其一是度量对单个物品的评分估计的准确程度,称为以单个物品为单位的方法;其二是计算物品两两比较的偏好顺序差异,称为以比较对为单位的方法。
但是以上两种方法都不能保证最终的推荐列表与用户的真实偏好顺序一致。
发明内容
为了解决现有的商品或者服务推荐及评估方法生成商品或服务推荐列表与用户的真实偏好顺序存在较大差异的缺陷,本发明提供一种基于以列表为单位的用户推荐列表生成方法及系统。
一种基于以列表为单位的用户推荐列表生成方法,其包括如下步骤:
S1、从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在评分矩阵R中的每一个元素ri,j表示用户i对物品j的评分;在用户i没有对物品j评分时,指示矩阵I中的元素Ii,j=0,在用户i对物品j作出评 分时,Ii,j=1;对用户评价过的物品,按照评分的大小顺序排序,得到用户的偏好顺序πi,其中第j个元素πi,j表示排在第j位的物品编号;
S2、根据用户的偏好顺序πi,通过梯度下降法学习用户偏好U及物品特征V;
S3、根据所学习的用户偏好U及物品特征V,对每一个用户i,获取该用户对所有没有评分的物品j的评分预测值计算公式为:其中ui,vj均为行向量,ui表示用户i的偏好和物品j特征,vj表示物品j特征,并对按照从大到小进行排序,得到对用户i推荐列表。
一种基于以列表为单位的用户推荐列表生成系统,其包括如下模块:
历史偏好顺序获取模块,用于从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在评分矩阵R中的每一个元素ri,j表示用户i对物品j的评分;在用户i没有对物品j评分时,指示矩阵I中的元素Ii,j=0,在用户i对物品j作出评分时,Ii,j=1;对用户评价过的物品,按照评分的大小顺序排序,得到用户的偏好顺序πi,其中第j个元素πi,j表示排在第j位的物品编号;
学习模块,用于根据用户的偏好顺序πi,通过梯度下降法学习用户偏好U及物品特征V;
推荐列表生成模块,用于根据所学习的用户偏好U及物品特征V,对每一个用户i,获取该用户对所有没有评分的物品j的评分预测值计算公式为:其中ui,vj均为行向量,ui表示用户i的偏好和物品j特征,vj表示物品j特征,并对按照从大到小进行排序,得到对用户i推荐列表。
本发明提供的基于以列表为单位的用户推荐列表生成方法及系统,通过先从用户的选择历史记录中获取用户的历史偏好顺序,然后基于用于的偏好顺序对用户偏好和物品特征进行学习,学习的方法采用梯度下降法,然后基于学习得到的用户偏好以及物品特征对用户未选中的物品的评分值进行预测,最后对该评分预测值排序,获得了对用户推荐列表。通过实施本发明方法能够使推荐结果尽可能接近用户的真实偏好顺序。
附图说明
图1是本发明实施的基于以列表为单位的用户推荐列表生成方法流程图;
图2是本发明实施的基于以列表为单位的用户推荐列表生成系统的结构框图;
图3是图2中学习模块的结构框图。
具体实施方式
如图1所示,一种基于以列表为单位的用户推荐列表生成方法,其包括如下步骤:
S1、从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在评分矩阵R中的每一个元素ri,j表示用户i对物品j的评分;在用户i没有对物品j评分时,指示矩阵I中的元素Ii,j=0,在用户i对物品j作出评分时,Ii,j=1;对用户评价过的物品,按照评分的大小顺序排序,得到用户的偏好顺序πi,其中第j个元素πi,j表示排在第j位的物品编号。
其中,可选地,评分为1~k的正整数,1表示最不喜欢,k表示最喜欢。1~k之间的评分表示的喜欢程度依次递增。
S2、根据用户的偏好顺序πi,通过梯度下降法学习用户偏好U及物品特征V。
可选地,所述步骤S2包括如下子步骤:
S21、初始化所预测的用户偏好以及所预测的物品特征,包括随机生成用户偏好矩阵U以及物品特征矩阵V中的每一个元素;
S22、检查收敛条件,在迭代次数达到预设值或者目标函数的值不再减少时,跳转到步骤S3;在迭代次数小于预设值并且目标函数的值减少时,跳转到步骤S23。可选地,迭代的次数可以为100次,或者其他次数。
可选地,度量标准的目标函数为:
min{αΣi=1N12ln(Σj=1MIi,jφ(r^i,j))-ln(Σj=1MIi,jφ(ri,j)φ(r^i,j))+(1-α)Σi=1NΣk=1|πi|(lnΣk=1|πi|φ(r^i,πi,k)-lnφ(r^i,πi,j))+reg}]]>
其中,reg为正规化项,其具体形式根据计算方法的不同而不同。
S23、通过梯度下降法更新所述预测的用户偏好ui及所预测的物品特征值vj,跳转到步骤S22;
更新方法如下:
ui←ui-ηΔui
vj←vj-ηΔvj,其中η为梯度下降法的学习率,用于控制梯度下降的收敛速度,及学习结果的性能。
可选地,梯度下降法的学习率η的值为0.1。
可选地,所述步骤S23中梯度的计算方法为:
Δui=α(Σj=1MIi,jφ(r^i,j)φ'(r^i,j)vjΣj=1MIi,jφ2(r^i,j)+Σj=1MIi,jφ(ri,j)φ'(r^i,j)vjΣj=1MIi,jφ(r^i,j)φ'(r^i,j))+(1-α)Σj=1|πi|(Σk=j|πi|φ'(r^i,πi,k)vπi,kΣk=j|πi|φ(r^i,πi,k)-φ'(r^i,πi,k)vπi,kφ(r^i,πi,k))+2λuui;]]>
Δvj=αΣi=1NIij(φ(r^i,j)φ'(r^i,j)uiΣk=1Mφ2(r^i,j)-φ(ri,j)φ'(r^i,j)uiΣk=1Mφ(ri,k)φ(r^i,k))+(1-α)Σi=1NIi,j(Σl=jπi,j=jφ'(r^i,j)uiΣk=l|πi|φ(r^i,πi,k)-φ'(r^i,πi,k)uiφ(r^i,πi,k))+2λvvj]]>
在以上两个公式中,α∈[0,1],表示基于余弦函数相似度的权重;是对πi中物品评分的预测;I为指示矩阵。
可选地,基于余弦函数相似度的权重α=0.4。
S3、根据所学习的用户偏好U及物品特征V,对每一个用户i,获取该用户对所有没有评分的物品j的评分预测值计算公式为:其中ui,vj均为行向量,ui表示用户i的偏好和物品j特征,vj表示物品j特征,并对按 照从大到小进行排序,得到对用户i推荐列表。注意,本发明提供的方法不依赖的具体计算方法。
可选地,本发明实施例提供的基于以列表为单位的用户推荐列表生成方法还包括如下步骤:
S4、在步骤S3之后,对用户i,对生成的用户推荐列表进行度量确定推荐列表中的推荐结果与其真实偏好的相似程度,度量的公式如下:
p(πi|R^i)=αpcos(πi|R^i)+(1-α)PP-L(πi|R^i),]]>其中是基于余弦函数的相似度度量,是基于Plackett-Luce模型的相似度度量。Plackett-Luce模型常用于度量两个序列之间的相似度,是排序学习(Learning to rank)领域常用的度量标准。
可选地,是基于余弦函数的相似度度量,计算方法为:
pcos(πi|R^i)=Σj=1MIi,jφ(ri,j)φ(r^i,j)Σj=1MIi,j(φ(ri,j))2Σj=1MIi,j(φ(r^i,j))2,]]>其中,φ(x)=11+e-x.]]>
可选地,是基于Plackett-Luce模型的相似度度量,计算公式为:
pP-L(πi|R^i)=Πj=1|πi|φ(r^i,πi,j)Σk=j|πi|φ(r^i,πi,j).]]>
本发明将生成的推荐列表看作一个整体,定义一个新的相似度函数,来度量整个推荐列表与用户真实偏好顺序的相似程度。本发明提供的推荐方法在真实数据集Epinions和MovieLen上进行了验证。Epinions和MovieLen是业内常用的检验推荐结果性能的数据集。以NDCG(Normalized Discounted Cumulative Gain)和ERR(Expected Reciprocal Rank)为检验标准,本发明提供的方法取得了更好的结果。其中,在MovieLen上推荐结果的NDCG指标和ERR指标比其它方法(如概率矩阵分解(PMF)、贝叶斯个性化排序(BPR))提高了15%。在Epinions上推荐结果的NDCG指标和ERR指标比其它方法提高了10%。
如图2所示,本发明实施例还提供一种基于以列表为单位的用户推荐列 表生成系统,其包括如下模块:
历史偏好顺序获取模块,用于从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在评分矩阵R中的每一个元素ri,j表示用户i对物品j的评分;在用户i没有对物品j评分时,指示矩阵I中的元素Ii,j=0,在用户i对物品j作出评分时,Ii,j=1;对用户评价过的物品,按照评分的大小顺序排序,得到用户的偏好顺序πi,其中第j个元素πi,j表示排在第j位的物品编号;
学习模块,用于根据用户的偏好顺序..,通过梯度下降法学习用户偏好U及物品特征V;
推荐列表生成模块,用于根据所学习的用户偏好U及物品特征V,对每一个用户i,获取该用户对所有没有评分的物品j的评分预测值计算公式为:其中ui,vj均为行向量,ui表示用户i的偏好和物品j特征,vj表示物品j特征,并对按照从大到小进行排序,得到对用户i推荐列表。
可选地,如图3所示,所述学习模块包括如下单元:
初始化单元,用于初始化所预测的用户偏好以及所预测的物品特征,包括随机生成用户偏好矩阵U以及物品特征矩阵V中的每一个元素;
迭代单元,用于检查收敛条件,在迭代次数达到预设值或者目标函数的值不再减少时,启动列表生成模块的功能;在迭代次数小于预设值并且目标函数的值减少时,启动学习单元的功能;
学习单元,用于通过梯度下降法更新所述预测的用户偏好ui及所预测的物品特征值vj,启动迭代单元的功能;
更新方法如下:
ui←ui-ηΔui
vj←vj-ηΔvj,其中η为梯度下降法的学习率。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机储存器、内存、只读存储器、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其他形式的存储 介质中。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其它各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。

基于以列表为单位的用户推荐列表生成方法及系统.pdf_第1页
第1页 / 共11页
基于以列表为单位的用户推荐列表生成方法及系统.pdf_第2页
第2页 / 共11页
基于以列表为单位的用户推荐列表生成方法及系统.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《基于以列表为单位的用户推荐列表生成方法及系统.pdf》由会员分享,可在线阅读,更多相关《基于以列表为单位的用户推荐列表生成方法及系统.pdf(11页珍藏版)》请在专利查询网上搜索。

一种基于以列表为单位的用户推荐列表生成方法,包括:S1、从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在评分矩阵R中的每一个元素ri,j表示用户i对物品j的评分;在用户i没有对物品j评分时,指示矩阵I中的元素Ii,j0,在用户i对物品j作出评分时,Ii,j1;对用户评价过的物品,按照评分的大小顺序排序,得到用户的偏好顺序i,其中第j个元素i,j表示排在第j位的物品编号;S2、根。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1