CN105005701A - 一种基于属性与评分的个性化推荐方法 - Google Patents
一种基于属性与评分的个性化推荐方法 Download PDFInfo
- Publication number
- CN105005701A CN105005701A CN201510443790.5A CN201510443790A CN105005701A CN 105005701 A CN105005701 A CN 105005701A CN 201510443790 A CN201510443790 A CN 201510443790A CN 105005701 A CN105005701 A CN 105005701A
- Authority
- CN
- China
- Prior art keywords
- user
- similarity
- project
- scoring
- matrix
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于属性与评分的个性化推荐方法,包括以下步骤:S1、计算各用户之间的相似性;S2、计算各项目之间的相似性;S3、建立用户相似性矩阵;S4、建立项目相似性矩阵;S5、建立最相似用户对最相近项目的评分矩阵;S6、将最相似用户对最相近项目的评分矩阵作为BP神经网络的输入进行训练;S7、判断BP神经网络是否收敛;若是则进入步骤S8;若否则进行BP神经网络参数及函数修改,返回步骤S6;S8、利用BP神经网络对测试集进行运算,产生最终推荐结果并推荐给目标用户。本发明能够对加入到系统中的新用户进行准确的相关推荐,满足了用户对推荐的需求。
Description
技术领域
本发明属于推荐机器学习技术领域,具体涉及一种基于属性与评分的个性化推荐方法的设计。
背景技术
随着大数据时代的来临,推荐技术在今天显得尤为重要,很多大型的电子商务网站为了解决信息过载的问题,都不同程度地使用了各种形式的推荐系统。目前个性化推荐算法大体可分为基于协同过滤技术的推荐算法和基于内容的推荐算法两大类。基于内容的推荐算法是推荐与目标用户以前选择的产品相似的产品,系统通过学习目标用户已经评价过的产品数据来获得用户的兴趣描述,再将待推荐产品的数据资料与用户兴趣描述匹配,决定是否推荐;基于协同过滤技术的推荐算法在当今被认为是应用最广的推荐算法之一,它的核心思想是基于用户对项目的评分来度量用户间的相似性,从而寻找与目标用户兴趣最相似的邻居用户,然后利用邻居用户对项目的评分来预测目标用户对该项目的喜好程度,生成与目标用户行为兴趣最相近的最近邻集合,最后根据最近邻集合对产品的评分预测目标用户对这些产品的评分,将评分最高的前N项产品推荐给目标用户。基于协同过滤技术的推荐算法被应用于向用户推荐电影、图书、商品以及科技文献等项目。
基于内容的推荐算法,它不需要依赖用户对项目的评价意见,而是采用计算用户已经选择的产品内容信息的属性相似度来计算用户之间的相似性,进而对相关用户进行相应的推荐。这种推荐方式完全忽略了用户自身的信息,同时,基于内容的推荐算法虽然在某个新项目加入到系统中时,能够很快的推荐给选择了具有相同属性的事物的用户,然而当某个新用户加入到系统中时,并不能够为该用户进行准确的相关推荐。该算法在挖掘用户潜在喜好方面没有进行很好的处理,推荐给用户的永远是那些具有相同属性的项目,同时该算法中属性的划分和提取也是难点。
基于协同过滤技术的推荐算法仅仅依靠用户对项目的评分,从而计算用户之间的相似性,而忽略了项目本身的属性。用户对每一种属性的喜好是不同的,用户选择某种项目,可能只是因为其具有的某一种属性。基于协同过滤技术的推荐算法在某个新项目加入到系统中时,由于系统中没有任何用户选择过本项目以及对该项目进行评分,那么该项目便永远不会被推荐。同时,当某个新用户加入本系统后,由于找不到与该用户相似的用户,所以该算法并不能够为新加入的用户进行准确推荐。
发明内容
本发明的目的是为了解决现有技术中个性化推荐算法无法满足用户对推荐的需求的问题,提出了一种基于属性与评分的个性化推荐方法。
本发明的技术方案为:一种基于属性与评分的个性化推荐方法,包括以下步骤:
S1、根据各用户的评分记录计算各用户之间的相似性;
S2、根据各项目的属性计算各项目之间的相似性;
S3、选取与目标用户相似性最大的前i个用户,建立用户相似性矩阵;
S4、选取与目标项目相似性最大的前j个项目,建立项目相似性矩阵;
S5、综合用户相似性矩阵与项目相似性矩阵,建立最相似用户对最相近项目的评分矩阵;
S6、将最相似用户对最相近项目的评分矩阵作为BP神经网络的输入进行训练;
S7、判断BP神经网络是否收敛;
若是则进入步骤S8;
若否则进行BP神经网络参数及函数修改,返回步骤S6;
S8、利用BP神经网络对测试集进行运算,产生最终推荐结果并推荐给目标用户。
进一步地,步骤S1中采用Pearson相关系数法计算各用户之间的相似性。
进一步地,步骤S5中若最相似用户对最相近项目的评分矩阵中某用户对某项目的评分为零,则采用Slope One算法对该评分进行预测。
本发明的有益效果是:本发明提出了一种结合项目属性和用户评分的综合推荐算法,不但能够完成现有技术中基于协同过滤技术的推荐算法和基于内容的推荐算法所能完成的常规推荐,还能够对加入到系统中的新用户进行准确的相关推荐,满足了用户对推荐的需求。同时,该推荐算法通过BP神经网络的训练,得到一种BP神经网络模型,能够有效提高本推荐算法的性能。
附图说明
图1为本发明提供的一种基于属性与评分的个性化推荐方法流程图。
图2为本发明实施例的BP神经网络结构示意图。
具体实施方式
下面结合附图对本发明的实施例作进一步的说明。
本发明提供了一种基于属性与评分的个性化推荐方法,如图1所示,包括以下步骤:
S1、根据各用户的评分记录计算各用户之间的相似性;
这里采用Pearson相关系数法计算各用户之间的相似性。设I(u)是用户u评分的项目集合,I(v)是用户v评分的项目集合,I(u)∩I(v)是用户u和用户v共同评分的项目集合,则用户u和用户v的相似性sim(u,v)可由公式(1)求得:
式中Ru,x和Rv,x分别表示用户u和用户v对项目x的评分值,和分别表示用户u和用户v的评分均值。
S2、根据各项目的属性计算各项目之间的相似性;
每个项目都有各自的项目属性,用户对项目的选择都是基于项目的这些属性。一个项目可以有多个项目属性,可用一个向量I=[I1,I2,I3…In]来表示。其中:若Il=0,则该项目不具有特征pl;若Il=1,则该项目具有特征pl。这样,当向量I确定时,便可以得到一个具体的项目。
将所有项目都用向量I来标识,便可得到如下矩阵:
其中m为项目的总个数,n为项目的总的属性数,In(m)为第m个项目的第n个属性。则项目m1和项目m2的属性相似性sim(m1,m2)可由公式(2)求得:
其中若It(m1)=It(m2),则WEt(m1,m2)=1;若It(m1)≠It(m2),则WEt(m1,m2)=0。
S3、选取与目标用户相似性最大的前i个用户,建立用户相似性矩阵;
由于系统中用户可能过多,而真正对推荐有意义的用户只是满足某个相似度值的用户,所以这里需要根据实际情况设置用户相似度阈值p,选取相似度值大于或等于p的i个用户作为与目标用户相似性最大的前i个用户,建立用户相似性矩阵。
S4、选取与目标项目相似性最大的前j个项目,建立项目相似性矩阵;
由于系统中项目可能过多,而真正对推荐有意义的项目只是满足某个相似度值的项目,所以这里需要根据实际情况设置项目相似度阈值q,选取相似度值大于或等于q的j个用户作为与目标项目相似性最大的前j个项目,建立项目相似性矩阵。
S5、综合用户相似性矩阵与项目相似性矩阵,建立最相似用户对最相近项目的评分矩阵;
在步骤S3与步骤S4中得到了用户相似性矩阵与项目相似性矩阵,分别为i*i矩阵(i为选取用户总数),j*j矩阵(j为选取项目总数)。设用户与自身用户的相似度为0,项目与自身项目相似度为0,将两个矩阵进行每行从大到小排序,重新得到两个矩阵,分别用sim_u,sim_I标识。
其中ud,1是与用户d最相似的用户,ud,2次之,以此类推,ud,i是与用户d最不相似的用户。
其中Ie,1是与项目e最相似的项目,Ie,2次之,以此类推,Ie,j是与项目e最不相似的项目。
对矩阵sim_u和sim_I进行组合可以得到一个新的矩阵Reu,I:
其中i代表选取的与目标用户相似性最大的前i个用户,j代表选取的与目标项目相似性最大的前j个项目,a代表选取矩阵sim_u中每一行的前a列数据,b代表选取矩阵sim_I中每一行的前b列数据。
矩阵Reu,I即为最相似用户对最相近项目的评分矩阵。
这里若最相似用户对最相近项目的评分矩阵中某用户对某项目的评分为零,即该用户对该项目没有评分,则采用Slope One算法对该评分进行预测。
例如,用户Zhang,Li和Wang都对项目I1进行了评分,同时用户Zhang和Li还对项目I2进行了评分,如下表所示:
用户 | 对项目I1的评分 | 对项目I2的评分 |
Zhang | 5 | 4 |
Li | 4 | 4 |
Wang | 4 | ? |
那么根据Slope One算法可以预测得到用户Wang对项目I2的评分为:4-[(5-4)+(4-4)]/2=3.5分。
S6、将最相似用户对最相近项目的评分矩阵作为BP神经网络的输入进行训练;
BP(Back Propagation)神经网络是一种多层前馈型神经网络,它的主要用途之一是用输入向量和相应的输出向量训练一个神经网络以逼近一个函数。BP神经网络由输入层、中间层以及输出层构成,其训练过程由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者达到预先设定的学习次数为止。
本发明实施例中,采用有一个隐层的三层网络结构进行训练,如图2所示。输入层的神经元各节点的输入为矩阵Reu,I中每一行的数据。由于隐层神经元节点的数量并无标准可以依据,因此不使用固定的隐层节点数,而是根据预测结果的MAE值调节神经元节点个数。
MAE值即为平均绝对误差,体现了算法预测值和用户实际评分间的差异。MAE值越小就表明误差越小。通过计算预测评分与用户实际评分之间的偏差即可度量预测的准确性。假设预测评分集为(P1,P2…PN),实际评分集为(R1,R2…RN),则有:
输出层只有一个节点,对应目标用户对目标项目的最终预测评分P(a,b)。w、v分别表示输入层到隐层以及隐层到输出层的权值。其中,在输出层采用线性激活函数,在隐层采用sigmoid激活函数。sigmoid函数的计算公式为:
S7、判断BP神经网络是否收敛;
若是则进入步骤S8;
若否则进行BP神经网络参数及函数修改,返回步骤S6;
这里判断BP神经网络是否收敛即判断实际输出与期望输出的误差是否在允许范围内,如果误差不在允许范围内则进行误差的反向传播,并对网络权值w、v进行修正,直到误差减小到允许范围之内。
S8、利用BP神经网络对测试集进行运算,产生最终推荐结果并推荐给目标用户。
本发明实施例中,会将最相似用户对最相近项目的评分矩阵Reu,I中的数据分为两部分,其中80%为训练集,用于在步骤S6中训练收敛的BP神经网络;另外20%为测试集,用于在该步骤中验证BP神经网络是否准确,训练好的BP神经网络通过测试集可以判断该训练结果是符合要求的,若符合要求就可以将本神经网络应用于最终的推荐中。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (3)
1.一种基于属性与评分的个性化推荐方法,其特征在于,包括以下步骤:
S1、根据各用户的评分记录计算各用户之间的相似性;
S2、根据各项目的属性计算各项目之间的相似性;
S3、选取与目标用户相似性最大的前i个用户,建立用户相似性矩阵;
S4、选取与目标项目相似性最大的前j个项目,建立项目相似性矩阵;
S5、综合用户相似性矩阵与项目相似性矩阵,建立最相似用户对最相近项目的评分矩阵;
S6、将最相似用户对最相近项目的评分矩阵作为BP神经网络的输入进行训练;
S7、判断BP神经网络是否收敛;
若是则进入步骤S8;
若否则进行BP神经网络参数及函数修改,返回步骤S6;
S8、利用BP神经网络对测试集进行运算,产生最终推荐结果并推荐给目标用户。
2.根据权利要求1所述的基于属性与评分的个性化推荐方法,其特征在于,所述步骤S1中采用Pearson相关系数法计算各用户之间的相似性。
3.根据权利要求1所述的基于属性与评分的个性化推荐方法,其特征在于,所述步骤S5中若最相似用户对最相近项目的评分矩阵中某用户对某项目的评分为零,则采用SlopeOne算法对该评分进行预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510443790.5A CN105005701A (zh) | 2015-07-24 | 2015-07-24 | 一种基于属性与评分的个性化推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510443790.5A CN105005701A (zh) | 2015-07-24 | 2015-07-24 | 一种基于属性与评分的个性化推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105005701A true CN105005701A (zh) | 2015-10-28 |
Family
ID=54378371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510443790.5A Pending CN105005701A (zh) | 2015-07-24 | 2015-07-24 | 一种基于属性与评分的个性化推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105005701A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599530A (zh) * | 2016-10-31 | 2017-04-26 | 北京千安哲信息技术有限公司 | 一种检测数据的处理方法和装置 |
CN106855876A (zh) * | 2015-12-08 | 2017-06-16 | 奥多比公司 | 基于媒体内容的推荐的属性加权 |
CN107577736A (zh) * | 2017-08-25 | 2018-01-12 | 上海斐讯数据通信技术有限公司 | 一种基于bp神经网络的文件推荐方法及系统 |
CN108038629A (zh) * | 2017-12-30 | 2018-05-15 | 北京工业大学 | 一种基于协同过滤的优化方法 |
CN108090093A (zh) * | 2016-11-22 | 2018-05-29 | 华为技术有限公司 | 生成推荐结果的方法和装置 |
CN109345274A (zh) * | 2018-07-27 | 2019-02-15 | 华南理工大学 | 基于bp神经网络评分预测误差的近邻用户选择方法 |
CN109993638A (zh) * | 2019-05-05 | 2019-07-09 | 重庆天蓬网络有限公司 | 产品推荐的方法、装置、介质和电子设备 |
CN111723287A (zh) * | 2020-06-03 | 2020-09-29 | 开普云信息科技股份有限公司 | 一种基于大规模机器学习的内容和服务推荐方法及其系统 |
US20210073732A1 (en) * | 2019-09-11 | 2021-03-11 | Ila Design Group, Llc | Automatically determining inventory items that meet selection criteria in a high-dimensionality inventory dataset |
WO2021135778A1 (zh) * | 2019-12-30 | 2021-07-08 | 百果园技术(新加坡)有限公司 | 信息推送方法、装置、服务器和存储介质 |
US11532025B2 (en) | 2019-08-12 | 2022-12-20 | International Business Machines Corporation | Deep cognitive constrained filtering for product recommendation |
CN116340625A (zh) * | 2023-03-15 | 2023-06-27 | 武汉博奥鹏程教育科技有限公司 | 结合学习状态适合度和课程搭配度的课程推荐方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246672A (zh) * | 2012-02-09 | 2013-08-14 | 中国科学技术大学 | 对用户进行个性化推荐的方法和装置 |
CN103324690A (zh) * | 2013-06-03 | 2013-09-25 | 焦点科技股份有限公司 | 基于因子化条件受限玻尔兹曼机的混合推荐方法 |
US20140379618A1 (en) * | 2013-06-21 | 2014-12-25 | Emc Corporation | Document recommendation |
-
2015
- 2015-07-24 CN CN201510443790.5A patent/CN105005701A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246672A (zh) * | 2012-02-09 | 2013-08-14 | 中国科学技术大学 | 对用户进行个性化推荐的方法和装置 |
CN103324690A (zh) * | 2013-06-03 | 2013-09-25 | 焦点科技股份有限公司 | 基于因子化条件受限玻尔兹曼机的混合推荐方法 |
US20140379618A1 (en) * | 2013-06-21 | 2014-12-25 | Emc Corporation | Document recommendation |
Non-Patent Citations (1)
Title |
---|
彭石: "基于用户兴趣和项目特性的协同过滤推荐算法研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106855876A (zh) * | 2015-12-08 | 2017-06-16 | 奥多比公司 | 基于媒体内容的推荐的属性加权 |
CN106855876B (zh) * | 2015-12-08 | 2021-06-29 | 奥多比公司 | 基于媒体内容的推荐的属性加权 |
CN106599530A (zh) * | 2016-10-31 | 2017-04-26 | 北京千安哲信息技术有限公司 | 一种检测数据的处理方法和装置 |
WO2018095049A1 (zh) * | 2016-11-22 | 2018-05-31 | 华为技术有限公司 | 生成推荐结果的方法和装置 |
CN108090093A (zh) * | 2016-11-22 | 2018-05-29 | 华为技术有限公司 | 生成推荐结果的方法和装置 |
CN107577736B (zh) * | 2017-08-25 | 2021-12-17 | 武汉数字智能信息科技有限公司 | 一种基于bp神经网络的文件推荐方法及系统 |
CN107577736A (zh) * | 2017-08-25 | 2018-01-12 | 上海斐讯数据通信技术有限公司 | 一种基于bp神经网络的文件推荐方法及系统 |
CN108038629A (zh) * | 2017-12-30 | 2018-05-15 | 北京工业大学 | 一种基于协同过滤的优化方法 |
CN109345274A (zh) * | 2018-07-27 | 2019-02-15 | 华南理工大学 | 基于bp神经网络评分预测误差的近邻用户选择方法 |
CN109993638A (zh) * | 2019-05-05 | 2019-07-09 | 重庆天蓬网络有限公司 | 产品推荐的方法、装置、介质和电子设备 |
US11532025B2 (en) | 2019-08-12 | 2022-12-20 | International Business Machines Corporation | Deep cognitive constrained filtering for product recommendation |
US20210073732A1 (en) * | 2019-09-11 | 2021-03-11 | Ila Design Group, Llc | Automatically determining inventory items that meet selection criteria in a high-dimensionality inventory dataset |
US11494734B2 (en) * | 2019-09-11 | 2022-11-08 | Ila Design Group Llc | Automatically determining inventory items that meet selection criteria in a high-dimensionality inventory dataset |
WO2021135778A1 (zh) * | 2019-12-30 | 2021-07-08 | 百果园技术(新加坡)有限公司 | 信息推送方法、装置、服务器和存储介质 |
CN111723287A (zh) * | 2020-06-03 | 2020-09-29 | 开普云信息科技股份有限公司 | 一种基于大规模机器学习的内容和服务推荐方法及其系统 |
CN116340625A (zh) * | 2023-03-15 | 2023-06-27 | 武汉博奥鹏程教育科技有限公司 | 结合学习状态适合度和课程搭配度的课程推荐方法及装置 |
CN116340625B (zh) * | 2023-03-15 | 2024-04-05 | 武汉博奥鹏程科技投资有限公司 | 结合学习状态适合度和课程搭配度的课程推荐方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105005701A (zh) | 一种基于属性与评分的个性化推荐方法 | |
CN109785062B (zh) | 一种基于协同过滤模型的混合神经网络推荐系统 | |
CN103745100B (zh) | 一种基于项目的混合显性隐性反馈的协同过滤推荐的方法 | |
CN103353872B (zh) | 一种基于神经网络的教学资源个性化推荐方法 | |
CN108960719B (zh) | 选品方法和装置以及计算机可读存储介质 | |
CN103514255B (zh) | 一种基于项目层次类别的协同过滤推荐方法 | |
CN105787100A (zh) | 一种基于深度神经网络的用户会话推荐方法 | |
CN102591915B (zh) | 一种基于标签迁移学习的推荐方法 | |
CN106802956A (zh) | 一种基于加权异构信息网络的电影推荐方法 | |
CN103886048B (zh) | 一种基于聚类的增量数字图书推荐方法 | |
CN109271582A (zh) | 一种基于带属性元路径的个性化信息推荐方法 | |
CN103309972A (zh) | 基于链路预测的推荐方法和系统 | |
CN103399858A (zh) | 基于信任的社会化协同过滤推荐方法 | |
CN108022116B (zh) | 对用户建模的方法、系统及终端设备 | |
CN104935963A (zh) | 一种基于时序数据挖掘的视频推荐方法 | |
CN108038629A (zh) | 一种基于协同过滤的优化方法 | |
CN106897911A (zh) | 一种基于用户和物品的自适应个性化推荐方法 | |
CN103971161A (zh) | 基于柯西分布量子粒子群的混合推荐方法 | |
CN106296242A (zh) | 一种用于电子商务中商品推荐列表的生成方法及生成系统 | |
Zheng et al. | Integrating context similarity with sparse linear recommendation model | |
CN106202151A (zh) | 一种用于提高个性化推荐系统多样性的方法 | |
CN110727855A (zh) | 一种基于改进因子分解机的个性化推荐方法 | |
CN116362836A (zh) | 基于用户行为序列的农产品推荐算法 | |
CN105550901A (zh) | 基于少量用户评价的物品流行度与喜好度联合预测系统 | |
Sadabadi et al. | A linear programming technique to solve fuzzy multiple criteria decision making problems with an application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151028 |