CN104766219A - 基于以列表为单位的用户推荐列表生成方法及系统 - Google Patents
基于以列表为单位的用户推荐列表生成方法及系统 Download PDFInfo
- Publication number
- CN104766219A CN104766219A CN201510121099.5A CN201510121099A CN104766219A CN 104766219 A CN104766219 A CN 104766219A CN 201510121099 A CN201510121099 A CN 201510121099A CN 104766219 A CN104766219 A CN 104766219A
- Authority
- CN
- China
- Prior art keywords
- user
- article
- phi
- sigma
- preference
- 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
Abstract
一种基于以列表为单位的用户推荐列表生成方法,包括: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的推荐列表。
Description
技术领域
本发明涉及服务信息推送技术领域,特别涉及基于以列表为单位的用户推荐列表生成方法及系统。
背景技术
当前,网络服务商为用户提供了诸如新闻、商品、图片、视频、音频、文档等(以下统一简称为物品)的在线服务。为了更好的为用户提供服务,服务商会记录用户的历史行为,例如记录用户购买(使用)过哪些物品、对物品的评价等。用户对物品的评分是分析用户偏好的重要信息。用户对物品的评分一般为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次,或者其他次数。
可选地,度量标准的目标函数为:
其中,reg为正规化项,其具体形式根据计算方法的不同而不同。
S23、通过梯度下降法更新所述预测的用户偏好ui及所预测的物品特征值vj,跳转到步骤S22;
更新方法如下:
ui←ui-ηΔui
vj←vj-ηΔvj,其中η为梯度下降法的学习率,用于控制梯度下降的收敛速度,及学习结果的性能。
可选地,梯度下降法的学习率η的值为0.1。
可选地,所述步骤S23中梯度的计算方法为:
在以上两个公式中,α∈[0,1],表示基于余弦函数相似度的权重;是对πi中物品评分的预测;I为指示矩阵。
可选地,基于余弦函数相似度的权重α=0.4。
S3、根据所学习的用户偏好U及物品特征V,对每一个用户i,获取该用户对所有没有评分的物品j的评分预测值计算公式为:其中ui,vj均为行向量,ui表示用户i的偏好和物品j特征,vj表示物品j特征,并对按照从大到小进行排序,得到对用户i推荐列表。注意,本发明提供的方法不依赖的具体计算方法。
可选地,本发明实施例提供的基于以列表为单位的用户推荐列表生成方法还包括如下步骤:
S4、在步骤S3之后,对用户i,对生成的用户推荐列表进行度量确定推荐列表中的推荐结果与其真实偏好的相似程度,度量的公式如下:
可选地,是基于余弦函数的相似度度量,计算方法为:
可选地,是基于Plackett-Luce模型的相似度度量,计算公式为:
本发明将生成的推荐列表看作一个整体,定义一个新的相似度函数,来度量整个推荐列表与用户真实偏好顺序的相似程度。本发明提供的推荐方法在真实数据集Epinions和MovieLen上进行了验证。Epinions和MovieLen是业内常用的检验推荐结果性能的数据集。以NDCG(Normalized DiscountedCumulative 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、或技术领域内所公知的任意其他形式的存储介质中。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其它各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。
Claims (10)
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中梯度的计算方法为:
在以上两个公式中,α∈[0,1],表示基于余弦函数相似度的权重;是对πi中物品评分的预测;I为指示矩阵。
5.如权利要求4所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,基于余弦函数相似度的权重α=0.4。
6.如权利要求5所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,其还包括:
S4、对用户i,对生成的用户推荐列表进行度量确定推荐列表中的推荐结果与其真实偏好的相似程度,度量的公式如下:
7.如权利要求6所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,于是基于余弦函数的相似度度量,计算方法为:
8.如权利要求6所述的基于以列表为单位的用户推荐列表生成方法,其特征在于,是基于Plackett-Luce模型的相似度度量,计算公式为:
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,其中η为梯度下降法的学习率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510121099.5A CN104766219B (zh) | 2015-03-19 | 2015-03-19 | 基于以列表为单位的用户推荐列表生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510121099.5A CN104766219B (zh) | 2015-03-19 | 2015-03-19 | 基于以列表为单位的用户推荐列表生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104766219A true CN104766219A (zh) | 2015-07-08 |
CN104766219B CN104766219B (zh) | 2018-05-22 |
Family
ID=53648032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510121099.5A Active CN104766219B (zh) | 2015-03-19 | 2015-03-19 | 基于以列表为单位的用户推荐列表生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104766219B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528584A (zh) * | 2016-02-15 | 2017-03-22 | 中山大学 | 一种基于组合学习的群组推荐方法 |
CN108509573A (zh) * | 2018-03-27 | 2018-09-07 | 陕西科技大学 | 基于矩阵分解协同过滤算法的图书推荐方法及系统 |
CN109615452A (zh) * | 2018-10-29 | 2019-04-12 | 华中科技大学 | 一种基于矩阵分解的产品推荐方法 |
CN110020883A (zh) * | 2018-12-12 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种对评分矩阵中的未知评分进行预测的方法及装置 |
CN110032677A (zh) * | 2019-03-05 | 2019-07-19 | 四川大学 | 一种基于深度神经网络和概率矩阵分解的混合推荐算法 |
CN112861004A (zh) * | 2021-02-20 | 2021-05-28 | 中国联合网络通信集团有限公司 | 一种富媒体的确定方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100185579A1 (en) * | 2009-01-22 | 2010-07-22 | Kwang Seok Hong | User-based collaborative filtering recommendation system and method for amending similarity using information entropy |
CN103514239A (zh) * | 2012-11-26 | 2014-01-15 | Tcl美国研究所 | 一种集成用户行为和物品内容的推荐方法及系统 |
-
2015
- 2015-03-19 CN CN201510121099.5A patent/CN104766219B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100185579A1 (en) * | 2009-01-22 | 2010-07-22 | Kwang Seok Hong | User-based collaborative filtering recommendation system and method for amending similarity using information entropy |
CN103514239A (zh) * | 2012-11-26 | 2014-01-15 | Tcl美国研究所 | 一种集成用户行为和物品内容的推荐方法及系统 |
Non-Patent Citations (2)
Title |
---|
郑小龙: "基于Plackett-Luce模型的协同过滤算法", 《万方数据库》 * |
顾申华: "基于互动问答系统的问题推荐", 《万方数据库》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528584A (zh) * | 2016-02-15 | 2017-03-22 | 中山大学 | 一种基于组合学习的群组推荐方法 |
CN106528584B (zh) * | 2016-02-15 | 2019-10-29 | 中山大学 | 一种基于组合学习的群组推荐方法 |
CN108509573A (zh) * | 2018-03-27 | 2018-09-07 | 陕西科技大学 | 基于矩阵分解协同过滤算法的图书推荐方法及系统 |
CN108509573B (zh) * | 2018-03-27 | 2021-04-27 | 宁夏三得教育科技有限公司 | 基于矩阵分解协同过滤算法的图书推荐方法及系统 |
CN109615452A (zh) * | 2018-10-29 | 2019-04-12 | 华中科技大学 | 一种基于矩阵分解的产品推荐方法 |
CN110020883A (zh) * | 2018-12-12 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种对评分矩阵中的未知评分进行预测的方法及装置 |
CN110032677A (zh) * | 2019-03-05 | 2019-07-19 | 四川大学 | 一种基于深度神经网络和概率矩阵分解的混合推荐算法 |
CN112861004A (zh) * | 2021-02-20 | 2021-05-28 | 中国联合网络通信集团有限公司 | 一种富媒体的确定方法及装置 |
CN112861004B (zh) * | 2021-02-20 | 2024-02-06 | 中国联合网络通信集团有限公司 | 一种富媒体的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104766219B (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dogan et al. | Customer segmentation by using RFM model and clustering methods: a case study in retail industry | |
CN104766219A (zh) | 基于以列表为单位的用户推荐列表生成方法及系统 | |
US10410138B2 (en) | System and method for automatic generation of features from datasets for use in an automated machine learning process | |
CN103927675B (zh) | 判断用户年龄段的方法及装置 | |
US9811781B2 (en) | Time-series data prediction device of observation value, time-series data prediction method of observation value, and program | |
JP6344395B2 (ja) | 払出量予測装置、払出量予測方法、プログラム、及び、払出量予測システム | |
Ge et al. | Cost-aware collaborative filtering for travel tour recommendations | |
JP6459968B2 (ja) | 商品推薦装置、商品推薦方法、及び、プログラム | |
CN109508428B (zh) | 基于兴趣点真流行度与隐式信任挖掘的兴趣点推荐方法 | |
Ahmeda et al. | Performance study of classification algorithms for consumer online shopping attitudes and behavior using data mining | |
CN103399858A (zh) | 基于信任的社会化协同过滤推荐方法 | |
EP2625628A2 (en) | Probabilistic data mining model comparison engine | |
CN104620267A (zh) | 用于推断用户人口统计的方法和装置 | |
WO2015040791A1 (ja) | 発注量決定装置、発注量決定方法、記録媒体、及び発注量決定システム | |
CN104965896B (zh) | 基于二次函数表示用户偏好的推荐方法及系统 | |
Chan et al. | Continuous model selection for large-scale recommender systems | |
CN105654198A (zh) | 具有最优阈值筛选的品牌广告效果优化的方法 | |
Wang | A hybrid recommendation for music based on reinforcement learning | |
Xu et al. | A hybrid interpretable credit card users default prediction model based on RIPPER | |
CN116034379A (zh) | 使用深度学习和机器学习的活动性水平测量 | |
CN106651461A (zh) | 基于灰理论的电影个性化推荐方法 | |
CN105574599A (zh) | 估算订单退货率的方法及装置 | |
CN113326432A (zh) | 一种基于决策树与推荐方法的模型优选方法 | |
CN112070559A (zh) | 状态获取方法和装置、电子设备和存储介质 | |
CN114912031A (zh) | 基于聚类和协同过滤的混合推荐方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |