CN110287373A - 基于评分预测和用户特征的协同过滤电影推荐方法及系统 - Google Patents
基于评分预测和用户特征的协同过滤电影推荐方法及系统 Download PDFInfo
- Publication number
- CN110287373A CN110287373A CN201910589450.1A CN201910589450A CN110287373A CN 110287373 A CN110287373 A CN 110287373A CN 201910589450 A CN201910589450 A CN 201910589450A CN 110287373 A CN110287373 A CN 110287373A
- Authority
- CN
- China
- Prior art keywords
- user
- film
- recommended
- scoring
- scored
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/735—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/738—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开公开了基于评分预测和用户特征的协同过滤电影推荐方法及系统,包括:计算任意两个电影之间的电影相似性,存储到电影相似性数据库中;根据电影相似性数据库中待推荐用户已评分过的电影和待推荐用户未评分过的电影之间的电影相似性,计算待推荐用户对某个未评分过的电影的第一预测评分;根据所述用户集合中用户与用户的特征相似度,计算待推荐用户对未评分过的电影的第二预测评分;对待推荐用户对未评分过的电影的第一预测评分和第二预测评分进行求和运算,得到最终的预测评分;对最终的评分按照从到大到小进行排序,将排序最前面的电影作为推荐电影,输出给待推荐用户。
Description
技术领域
本公开涉及推荐领域,特别是涉及基于评分预测和用户特征的协同过滤电影推荐方法及系统。
背景技术
本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:
随着Web服务及其相关技术的迅速发展,电子商务平台不断壮大,人们需要花费大量的时间从海量数据信息中获取自己真正需要的信息,“信息过载”问题急需解决。推荐系统的诞生显得尤为重要。推荐系统通过分析用户兴趣特征和历史行为来实现个性化服务,为其推荐相应的对象,从而实现用户对真正感兴趣的信息的搜索准确度。
根据不同的推荐方法,推荐系统可以分为基于内容的推荐、基于协同过滤的推荐、基于知识的推荐和基于内容与基于协同过滤相混合的推荐等。其中,协同过滤算法(Collaborative Filtering Algorithm)是目前个性化推荐系统中应用最广泛、研究最深入的推荐算法之一。协同过滤算法主要可以分为基于用户的协同过滤(User-Based CF)算法和基于电影的协同过滤(Item-Based CF)算法。其基本思想是:通过计算与目标用户兴趣爱好基本相同的用户对电影评分之间的相似性,形成具有相同兴趣爱好的邻居集,最后选择出最近邻居的评分电影以向目标用户生成推荐,即目标用户对未评分电影的评分能够通过最近邻居对此电影评分的加权平均值来近似得到。
传统的协同过滤算法完全依赖于用户对电影评分来计算用户相似度,然后寻找出k个最近邻居的方法为用户选择合适的推荐电影。然而,随着推荐系统中用户数量和商品数目越来越多,用户评分数据极其稀疏,传统的相似性度量方法完全依赖于用户评分数据,这样使得推荐系统的推荐质量下降。
现有技术亟需解决的技术问题是:如何实现用户感兴趣电影的精确推荐。
发明内容
为了解决现有技术的不足,本公开提供了基于评分预测和用户特征的协同过滤电影推荐方法及系统;
第一方面,本公开提供了基于评分预测和用户特征的协同过滤电影推荐方法;
基于评分预测和用户特征的协同过滤电影推荐方法,包括:
获取对电影u和电影v两个电影均有过评分的用户集合;根据所述用户集合中的每个用户对电影u和电影v两个电影的用户评分;计算对电影u和电影v两个电影之间的电影相似性;将电影u和电影v两个电影的电影名称及两个电影之间的电影相似性,存储到电影相似性数据库中;
重复上述步骤,计算任意两个电影之间的电影相似性,存储到电影相似性数据库中;
获取待推荐用户对某个已评分过的电影的评分,根据电影相似性数据库中待推荐用户已评分过的电影和待推荐用户未评分过的电影之间的电影相似性,计算待推荐用户对某个未评分过的电影的第一预测评分;
采集用户集合中每个用户的特征,计算所述用户集合中用户与用户的特征相似度;根据所述用户集合中用户与用户的特征相似度,计算待推荐用户对未评分过的电影的第二预测评分;
对待推荐用户对未评分过的电影的第一预测评分和第二预测评分进行求和运算,得到最终的预测评分;对最终的评分按照从到大到小进行排序,将排序最前面的电影作为推荐电影,输出给待推荐用户。
第二方面,本公开还提供了基于评分预测和用户特征的协同过滤电影推荐系统;
基于评分预测和用户特征的协同过滤电影推荐系统,包括:
电影相似性计算模块,其被配置为:获取对电影u和电影v两个电影均有过评分的用户集合;根据所述用户集合中的每个用户对电影u和电影v两个电影的用户评分;计算对电影u和电影v两个电影之间的电影相似性;将电影u和电影v两个电影的电影名称及两个电影之间的电影相似性,存储到电影相似性数据库中;
重复上述步骤,计算任意两个电影之间的电影相似性,存储到电影相似性数据库中;
第一预测评分计算模块,其被配置为:获取待推荐用户对某个已评分过的电影的评分,根据电影相似性数据库中待推荐用户已评分过的电影和待推荐用户未评分过的电影之间的电影相似性,计算待推荐用户对某个未评分过的电影的第一预测评分;
第二预测评分计算模块,其被配置为:采集用户集合中每个用户的特征,计算所述用户集合中用户与用户的特征相似度;根据所述用户集合中用户与用户的特征相似度,计算待推荐用户对未评分过的电影的第二预测评分;
推荐模块,其被配置为:对待推荐用户对未评分过的电影的第一预测评分和第二预测评分进行求和运算,得到最终的预测评分;对最终的评分按照从到大到小进行排序,将排序最前面的电影作为推荐电影,输出给待推荐用户。
第三方面,本公开还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述方法的步骤。
第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述方法的步骤。
与现有技术相比,本公开的有益效果是:
针对用户评分数据的极度稀疏性,本公开通过计算电影之间的相似性,初步预测用户对未评分电影的评分,然后在计算用户的最近邻居的时候考虑用户特征,采用一种基于电影和基于用户相结合的方法为用户完成更精准的推荐。首先对电影评分进行初步预测,这样避免了相似性度量方法中对所有未评分电影的评分相同问题(均为0)和众数填充法中“多众数”和“无众数”问题,显著地提高推荐系统的推荐质量。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本公开第一个实施例的方法流程图;
图2为本公开第一个实施例的参数α对MAE的影响示意图;
图3为本公开第一个实施例的三种算法的MAE比较示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本公开使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一,本实施例提供了基于评分预测和用户特征的协同过滤电影推荐方法;
如图1所示,基于评分预测和用户特征的协同过滤电影推荐方法,包括:
S1:获取对电影u和电影v两个电影均有过评分的用户集合;根据所述用户集合中的每个用户对电影u和电影v两个电影的用户评分;计算对电影u和电影v两个电影之间的电影相似性;将电影u和电影v两个电影的电影名称及两个电影之间的电影相似性,存储到电影相似性数据库中;
重复上述步骤,计算任意两个电影之间的电影相似性,存储到电影相似性数据库中;
S2:获取待推荐用户对某个已评分过的电影的评分,根据电影相似性数据库中待推荐用户已评分过的电影和待推荐用户未评分过的电影之间的电影相似性,计算待推荐用户对某个未评分过的电影的第一预测评分;
S3:采集用户集合中每个用户的特征,计算所述用户集合中用户与用户的特征相似度;根据所述用户集合中用户与用户的特征相似度,计算待推荐用户对未评分过的电影的第二预测评分;
S4:对待推荐用户对未评分过的电影的第一预测评分和第二预测评分进行求和运算,得到最终的预测评分;对最终的评分按照从到大到小进行排序,将排序最前面的电影作为推荐电影,输出给待推荐用户。
作为一个或多个实施例,所述获取对电影u和电影v两个电影均有过评分的用户集合;获取渠道为:
电影提供商服务器接收客户端发送包含电影名称和电影观看时间的电影评分请求;
电影提供商服务器向客户端发送收费链接;
电影提供商服务器接收客户端反馈的缴费成功指令;
电影提供商服务器向客户端发送电影内容;
电影提供商服务器接收客户端反馈的电影内容评分。
作为一个或多个实施例,所述根据所述用户集合中的每个用户对电影u和电影v两个电影的用户评分;计算对电影u和电影v两个电影之间的电影相似性;具体步骤包括:
其中,sim(u,v)表示电影u和电影v之间的相似性,Uuv表示对电影u和电影v均有过评分的用户集合,Rd,u表示某个用户d对电影u的评分,Rd,v表示某个用户d对电影v的评分,表示用户集合中的所有用户对电影u评分的平均值,表示用户集合中的所有用户对电影v评分的平均值。
作为一个或多个实施例,所述计算待推荐用户对某个未评分过的电影的第一预测评分;具体步骤包括:
其中,Pitem(Ri,u)表示待推荐用户对未评分过的电影u的第一预测评分;Riv表示待推荐用户i对已评分过的电影v的评分,KNN(u)表示未评分过的电影u的k个最近邻已评分过电影的集合。
作为一个或多个实施例,所述计算所述用户集合中用户与用户的特征相似度;具体步骤包括:
其中,Sim(i,j)表示用户i与用户j的特征相似度;
Ri,c表示用户i对电影c的评分;表示用户i做出的所有评分的平均评分;
Rj,c表示用户j对电影c的评分;表示用户j做出的所有评分的平均评分;simt(i,j)表示用户i和用户j的特征相似性。
作为一个或多个实施例,所述根据所述用户集合中用户与用户的特征相似度,计算待推荐用户对未评分过的电影的第二预测评分;具体步骤包括:
其中,Puser(Ri,u)表示待推荐用户i对未评分过的电影u的第二预测评分,Rju表示待推荐用户最近邻居用户j对电影u的评分值,KNN(i)表示待推荐用户i的k个最近邻居集合;Ri,u表示用户i对电影u的评分。
作为一个或多个实施例,所述对待推荐用户对未评分过的电影的第一预测评分和第二预测评分进行求和运算,得到最终的预测评分;具体步骤包括:
P(Ri,u)=α*Pitem(Ri,u)+(1-α)*Puser(Ri,u) (7)
其中,P(Ri,u)表示最终的预测评分,α是一个动态平衡权值,取值范围为[0,1]。α的取值大小决定了对基于电影的评分和基于用户的评分的依赖程度。
进一步地,所述用户特征,包括:用户年龄、用户性别和用户职业。
传统的协同过滤方法存在的问题:(1)在数据集十分稀疏的情况下,用户仅依靠用户-电影评分矩阵预测出未评分电影的评分数值,难以确保结果的准确性;(2)在计算目标用户最近邻居时未考虑到不同特征的用户所处环境人群的普遍评分,因为用户年龄、性别和职业等特征的不同对同一事物也会呈现不同的见解。用户特征属性相对客观且稳定,在计算用户相似性时引入用户特征这一想法,降低相似用户中与目标用户的不相关用户的干扰。本公开综合考虑电影之间相似性初步完成对未评分电影的评分,然后在计算目标用户的相似用户时考虑用户特征这一方面,通过分析用户的具体不同特征,进一步提高用户与目标用户的相似度,并且将基于电影和基于用户的方法最终进行线性融合,为用户做出推荐。
协同过滤推荐技术是现有推荐系统中应用最成功、最主流的推荐技术。协同过滤推荐技术的基本思想是根据与目标用户类似的用户的兴趣爱好为目标用户做出比较合理的推荐。它基于这样一个假设:如果用户有一些评分比较相似的共同电影,那么他们在一些其他电影上的评分也会较为相似。因此,协同过滤推荐技术通过用户对电影的评分记录确立目标用户最近邻集合,再依据此邻居集合的评分预估目标用户对电影的评分,最终为目标用户作出合理的相关推荐建议。
整个协同过滤推荐过程中最至关重要的一步是计算用户相似性和确立最近邻居集合。我们在选取目标用户的最近邻居之前,必须要度量用户与目标用户之间的相似性,接着从结果群中选取相似性最高的k个用户作为目标用户的最近邻居。
用户评分数据由u×i阶矩阵A(u,i)表示,u行代表u个用户,i列代表i个电影,第m行第n列的元素Rm,n代表用户m对电影n的评分。用户-电影评分矩阵如图1所示。
在得知用户i和用户j之间相似性时,首先要取得由用户i和用户j评分的全部电影,接着用相似性度量方法计算两用户之间的相似性,记为sim(i,j)。
表1用户-电影评分矩阵
Item<sub>1</sub> | … | Item<sub>p</sub> | … | Item<sub>i</sub> | |
User<sub>1</sub> | R<sub>1,1</sub> | … | R<sub>1,p</sub> | … | / |
… | … | … | … | … | … |
User<sub>n</sub> | R<sub>n,1</sub> | … | / | … | R<sub>n,i</sub> |
… | … | … | … | … | … |
User<sub>u</sub> | / | … | R<sub>u,p</sub> | … | R<sub>u,i</sub> |
协同过滤研究领域中,在度量用户之间或电影之间的相似性方面存在许多相似性度量方法。最终预测评分的精确度取决于相似用户或电影集合的准确性。在协同过滤算法中,余弦相似性、修正的余弦相似性和皮尔逊相关系数这三种度量方法是应用最为广泛的。其中,本公开选择皮尔逊相关系数作为相似性度量方法。
皮尔逊相关系数:Pearson相关系数,也称为相关相似性,主要用来计算变量之间的线性关系,取值范围为[-1,1],1表示完全相关,0的含义是不相关,-1则代表完全负相关。
我们使用皮尔逊相关系数的大小来表示用户之间的相似性,皮尔逊相关系数的数值与用户之间的相似程度成正比。其度量方法:设Iij表示用户i和用户j共同参与评分的电影集合,那么用户i和用户j之间的相似性sim(i,j)能够通过皮尔逊相关系数如式(1)度量:
Ri,c代表用户i对电影c的评分值,Rj,c代表用户j对电影c的评分值,和分别代表用户i和用户j对电影的平均评分值。
同样道理,我们可以选取皮尔逊相关系数的大小表示电影之间的相似性,皮尔逊相关系数的数值与电影之间的相似程度成正比。其度量方法:设Uuv表示共同评价过电影u和电影v的用户集合,那么电影u和电影v之间的相似性sim(u,v)能够通过皮尔逊相关系数如式(2)度量:
Rd,u代表用户d对电影u的评分,Rd,v代表用户d对电影v的评分,和分别代表电影u和电影v的平均评分。
由于用户评分数据具有极大的稀疏性问题,传统的相似性度量方法在计算目标用户的最近邻居时结果并不准确,使得协同过滤推荐系统的推荐质量效果变差。本公开提出一种基于评分预测和用户特征相结合的协同过滤算法,在一定程度上提高协同过滤推荐系统的推荐准确性。
在当前推荐系统中,用户在登录之前一般会填写自己的基本信息,如性别、年龄、地址及职业等。有些系统也会借助第三方或者手机号登录,同样可以获取用户个人基本信息。通过这些基本信息有助于预测用户兴趣爱好,更准确地为用户提供个性化服务。为了提高推荐精度,本公开在计算用户相似度时考虑用户特征这一重要信息,主要选取性别、年龄、职业这三个基本特征属性。
在现实生活中,对于同一事物的选择中,不同性别之间选择差异也十分明显。就电影而言,对于男性来说,他们喜欢的影片类型多数是科幻灾难片,而女性则更倾向于浪漫爱情片。本公开选用数字1和0分别来表示用户的性别男、女,集合Gender={1,0}。
年龄在人们选择事物方面也起很大影响作用。比如年龄不同的人在电影方面有不同的爱好,小孩子更喜欢动画片,年轻人则更喜欢爱情片和科幻片,而老年人可能喜欢战争片多一点。所以在计算用户最近邻居时一定要考虑用户年龄这一特征属性。本公开根据数据集中的用户年龄情况将用户年龄段划分为六个阶段,用户的年龄集合age={age1,age2,age3,age4,age5,age6}。其中agei表示第m阶段(m∈[1,6]),age1表示16岁以下,age2表示17~23岁,age3表示24~35岁,age4表示36~45岁,age5表示45~60岁,age6表示60岁以上。
职业可以分为多种类型,不同职业的用户拥有不同的兴趣爱好。数据集中用户有管理员、艺术家、医生等共21种,职业集合为
occ={occ1,occ2,…occ21},
其中,occm表示第m种职业类型(m∈[1,21])。
用户的特征集为{d1,d2,d3},d代表用户的性别、年龄、和职业。用户i的各个特征属性所对应的值为{a1,a2,a3},用户j的各个特征属性所对应的值为{b1,b2,b3},可以得到用户特征属性间相似度大小如式(3):
其中,im和jm分别表示用户i和用户j的第m个特征属性,本公开考虑性别、年龄、和职业三个特征属性,m表示特征数目,本公开m=3。
为了有效地解决用户评分数据极端稀疏情况下推荐质量下降问题,本公开提出将基于电影的评分预测和基于用户特征相似度方法进行线性结合。本公开最大的特点是在计算用户相似性时引入用户特征并将基于电影和基于用户的方法进行线性结合。
预测准确度是用来衡量推荐算法推荐能力的重要指标,本公开采用平均绝对误差(MAE)来度量推荐结果的准确度。MAE反映的是预测值和真实值之间的差距,其值越小,表示推荐效果越好。
假设原始评分集合为R={r1,r2,…,rn},预测评分集合为P={p1,p2,…,pn},则MAE的计算公式如式(8):
动态平衡因子α是本公开提出的改进的协同过滤算法的平衡因子,它影响推荐结果的准确性。按照改进的算法进行预测,查看平衡因子α对MAE的影响,图2表示了MAE随着α的变化情况。
从图2中可以看出平衡因子α对MAE的影响,当α=0.6时,MAE最小,推荐效果最好。
本实施例通过实验与传统的基于电影的协同过滤算法和传统的基于用户的协同过滤算法两种算法进行了比较,实验结果如图3。
本实施例与两种传统协同过滤算法进行比较,从图3可以明显的看出,本公开提出的改进的协同过滤算法在不同的邻居数目下的MAE都明显低于传统的两种算法,即本公开算法推荐结果更准确,验证了本公开提出的改进算法的有效性。
本实施例首先深入分析了对于用户评分数据极度稀疏问题,当前解决方法及其存在优缺点,提出了基于评分预测和用户特征相结合的协同过滤算法。主要利用传统的相似性度量方法对目标电影的相似电影进行聚类,初步完成对电影的预测评分,解决稀疏性问题;然后根据不同特征的用户对电影的喜爱程度不一,提高目标用户的邻居集的相似性;最后通过动态加权因子α将基于电影和基于用户的方法进行线性结合,预测出目标用户对电影的最终评分,产生推荐。实验结果表明,本实施例算法在一定程度上提高了推荐质量。
实施例二,本实施例提供了基于评分预测和用户特征的协同过滤电影推荐系统;
基于评分预测和用户特征的协同过滤电影推荐系统,包括:
电影相似性计算模块,其被配置为:获取对电影u和电影v两个电影均有过评分的用户集合;根据所述用户集合中的每个用户对电影u和电影v两个电影的用户评分;计算对电影u和电影v两个电影之间的电影相似性;将电影u和电影v两个电影的电影名称及两个电影之间的电影相似性,存储到电影相似性数据库中;
重复上述步骤,计算任意两个电影之间的电影相似性,存储到电影相似性数据库中;
第一预测评分计算模块,其被配置为:获取待推荐用户对某个已评分过的电影的评分,根据电影相似性数据库中待推荐用户已评分过的电影和待推荐用户未评分过的电影之间的电影相似性,计算待推荐用户对某个未评分过的电影的第一预测评分;
第二预测评分计算模块,其被配置为:采集用户集合中每个用户的特征,计算所述用户集合中用户与用户的特征相似度;根据所述用户集合中用户与用户的特征相似度,计算待推荐用户对未评分过的电影的第二预测评分;
推荐模块,其被配置为:对待推荐用户对未评分过的电影的第一预测评分和第二预测评分进行求和运算,得到最终的预测评分;对最终的评分按照从到大到小进行排序,将排序最前面的电影作为推荐电影,输出给待推荐用户。
实施例三,本实施例还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成方法中的各个操作,为了简洁,在此不再赘述。
所述电子设备可以是移动终端以及非移动终端,非移动终端包括台式计算机,移动终端包括智能手机(Smart Phone,如Android手机、IOS手机等)、智能眼镜、智能手表、智能手环、平板电脑、笔记本电脑、个人数字助理等可以进行无线通信的移动互联网设备。
应理解,在本公开中,该处理器可以是中央处理单元CPU,该处理器还算可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本公开所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。本领域普通技术人员可以意识到,结合本公开中所公开的实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外一点,所显示或讨论的相互之间的耦合或者直接耦合或者通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.基于评分预测和用户特征的协同过滤电影推荐方法,其特征是,包括:
获取对电影u和电影v两个电影均有过评分的用户集合;根据所述用户集合中的每个用户对电影u和电影v两个电影的用户评分;计算对电影u和电影v两个电影之间的电影相似性;将电影u和电影v两个电影的电影名称及两个电影之间的电影相似性,存储到电影相似性数据库中;
重复上述步骤,计算任意两个电影之间的电影相似性,存储到电影相似性数据库中;
获取待推荐用户对某个已评分过的电影的评分,根据电影相似性数据库中待推荐用户已评分过的电影和待推荐用户未评分过的电影之间的电影相似性,计算待推荐用户对某个未评分过的电影的第一预测评分;
采集用户集合中每个用户的特征,计算所述用户集合中用户与用户的特征相似度;根据所述用户集合中用户与用户的特征相似度,计算待推荐用户对未评分过的电影的第二预测评分;
对待推荐用户对未评分过的电影的第一预测评分和第二预测评分进行求和运算,得到最终的预测评分;对最终的评分按照从到大到小进行排序,将排序最前面的电影作为推荐电影,输出给待推荐用户。
2.如权利要求1所述的方法,其特征是,所述根据所述用户集合中的每个用户对电影u和电影v两个电影的用户评分;计算对电影u和电影v两个电影之间的电影相似性;具体步骤包括:
其中,sim(u,v)表示电影u和电影v之间的相似性,Uuv表示对电影u和电影v均有过评分的用户集合,Rd,u表示某个用户d对电影u的评分,Rd,v表示某个用户d对电影u的评分,表示用户集合中的所有用户对电影u评分的平均值,表示用户集合中的所有用户对电影v评分的平均值。
3.如权利要求1所述的方法,其特征是,所述计算待推荐用户对某个未评分过的电影的第一预测评分;具体步骤包括:
其中,Pitem(Ri,u)表示待推荐用户对未评分过的电影u的第一预测评分;Riv表示待推荐用户i对已评分过的电影v的评分,KNN(u)表示未评分过的电影u的k个最近邻已评分过电影的集合。
4.如权利要求1所述的方法,其特征是,所述计算所述用户集合中用户与用户的特征相似度;具体步骤包括:
其中,Sim(i,j)表示用户i与用户j的特征相似度;
Ri,c表示用户i对电影c的评分;表示用户i做出的所有评分的平均评分;
Rj,c表示用户j对电影c的评分;表示用户j做出的所有评分的平均评分;simt(i,j)表示用户i和用户j的特征相似性。
5.如权利要求1所述的方法,其特征是,所述根据所述用户集合中用户与用户的特征相似度,计算待推荐用户对未评分过的电影的第二预测评分;具体步骤包括:
其中,Puser(Ri,u)表示待推荐用户i对未评分过的电影u的第二预测评分,Rju表示待推荐用户最近邻居用户j对电影u的评分值,KNN(i)表示待推荐用户i的k个最近邻居集合;Ri,u表示用户i对电影u的评分。
6.如权利要求1所述的方法,其特征是,所述对待推荐用户对未评分过的电影的第一预测评分和第二预测评分进行求和运算,得到最终的预测评分;具体步骤包括:
P(Ri,u)=α*Pitem(Ri,u)+(1-α)*Puser(Ri,u) (7)
其中,P(Ri,u)表示最终的预测评分,α是一个动态平衡权值,取值范围为[0,1];α的取值大小决定了对基于电影的评分和基于用户的评分的依赖程度。
7.如权利要求1所述的方法,其特征是,所述用户特征,包括:用户年龄、用户性别和用户职业。
8.基于评分预测和用户特征的协同过滤电影推荐系统,其特征是,包括:
电影相似性计算模块,其被配置为:获取对电影u和电影v两个电影均有过评分的用户集合;根据所述用户集合中的每个用户对电影u和电影v两个电影的用户评分;计算对电影u和电影v两个电影之间的电影相似性;将电影u和电影v两个电影的电影名称及两个电影之间的电影相似性,存储到电影相似性数据库中;
重复上述步骤,计算任意两个电影之间的电影相似性,存储到电影相似性数据库中;
第一预测评分计算模块,其被配置为:获取待推荐用户对某个已评分过的电影的评分,根据电影相似性数据库中待推荐用户已评分过的电影和待推荐用户未评分过的电影之间的电影相似性,计算待推荐用户对某个未评分过的电影的第一预测评分;
第二预测评分计算模块,其被配置为:采集用户集合中每个用户的特征,计算所述用户集合中用户与用户的特征相似度;根据所述用户集合中用户与用户的特征相似度,计算待推荐用户对未评分过的电影的第二预测评分;
推荐模块,其被配置为:对待推荐用户对未评分过的电影的第一预测评分和第二预测评分进行求和运算,得到最终的预测评分;对最终的评分按照从到大到小进行排序,将排序最前面的电影作为推荐电影,输出给待推荐用户。
9.一种电子设备,其特征是,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-7任一项方法所述的步骤。
10.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-7任一项方法所述的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910589450.1A CN110287373A (zh) | 2019-07-02 | 2019-07-02 | 基于评分预测和用户特征的协同过滤电影推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910589450.1A CN110287373A (zh) | 2019-07-02 | 2019-07-02 | 基于评分预测和用户特征的协同过滤电影推荐方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110287373A true CN110287373A (zh) | 2019-09-27 |
Family
ID=68021803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910589450.1A Pending CN110287373A (zh) | 2019-07-02 | 2019-07-02 | 基于评分预测和用户特征的协同过滤电影推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287373A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652686A (zh) * | 2020-06-05 | 2020-09-11 | 京东数字科技控股有限公司 | 信息推送方法、装置及存储介质 |
CN116955692A (zh) * | 2023-06-16 | 2023-10-27 | 广东贝能达交通设备有限公司 | 一种音频播放方法、装置、车载终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140214751A1 (en) * | 2013-01-30 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Mixed collaborative filtering-content analysis model |
CN103971161A (zh) * | 2014-05-09 | 2014-08-06 | 哈尔滨工程大学 | 基于柯西分布量子粒子群的混合推荐方法 |
CN106021298A (zh) * | 2016-05-03 | 2016-10-12 | 广东工业大学 | 一种基于非对称加权相似度的协同过滤推荐方法及系统 |
KR20170079429A (ko) * | 2015-12-30 | 2017-07-10 | 성균관대학교산학협력단 | 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템 |
CN108197209A (zh) * | 2017-12-28 | 2018-06-22 | 重庆理工大学 | 一种基于加权协同过滤算法的电影推荐方法 |
-
2019
- 2019-07-02 CN CN201910589450.1A patent/CN110287373A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140214751A1 (en) * | 2013-01-30 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Mixed collaborative filtering-content analysis model |
CN103971161A (zh) * | 2014-05-09 | 2014-08-06 | 哈尔滨工程大学 | 基于柯西分布量子粒子群的混合推荐方法 |
KR20170079429A (ko) * | 2015-12-30 | 2017-07-10 | 성균관대학교산학협력단 | 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템 |
CN106021298A (zh) * | 2016-05-03 | 2016-10-12 | 广东工业大学 | 一种基于非对称加权相似度的协同过滤推荐方法及系统 |
CN108197209A (zh) * | 2017-12-28 | 2018-06-22 | 重庆理工大学 | 一种基于加权协同过滤算法的电影推荐方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652686A (zh) * | 2020-06-05 | 2020-09-11 | 京东数字科技控股有限公司 | 信息推送方法、装置及存储介质 |
CN111652686B (zh) * | 2020-06-05 | 2024-04-19 | 京东科技控股股份有限公司 | 信息推送方法、装置及存储介质 |
CN116955692A (zh) * | 2023-06-16 | 2023-10-27 | 广东贝能达交通设备有限公司 | 一种音频播放方法、装置、车载终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shinde et al. | Hybrid personalized recommender system using centering-bunching based clustering algorithm | |
CN105224699B (zh) | 一种新闻推荐方法及装置 | |
EP2960849A1 (en) | Method and system for recommending an item to a user | |
WO2009023067A1 (en) | System and method for invitation targeting in a web-based social network | |
US20150142521A1 (en) | Customer clustering using integer programming | |
CN111461841A (zh) | 物品推荐方法、装置、服务器及存储介质 | |
Chen et al. | Modeling user's receptiveness over time for recommendation | |
CN104615741B (zh) | 一种基于云计算的冷启动项目推荐的方法及装置 | |
KR101567684B1 (ko) | 협업필터링 기반의 상품 추천 시스템에서 추천 기법을 선택하는 방법 | |
CN105335518A (zh) | 生成用户偏好信息的方法及装置 | |
CN109543940B (zh) | 活动评估方法、装置、电子设备及存储介质 | |
CN110020152B (zh) | 应用推荐方法及装置 | |
Liu et al. | A sample survey based linguistic MADM method with prospect theory for online shopping problems | |
Guan et al. | When images backfire: The effect of customer-generated images on product rating dynamics | |
De Salve et al. | Predicting influential users in online social network groups | |
KR20130033506A (ko) | 아이템 추천 방법 및 장치 | |
CN110287373A (zh) | 基于评分预测和用户特征的协同过滤电影推荐方法及系统 | |
Kanaujia et al. | A framework for development of recommender system for financial data analysis | |
Cai et al. | An extension of social network group decision-making based on trustrank and personas | |
Yucel et al. | Sequential hierarchical regression imputation | |
CN113821827A (zh) | 保护多方数据隐私的联合建模方法及装置 | |
CN109460778B (zh) | 活动评估方法、装置、电子设备及存储介质 | |
Shelar et al. | TRAVELMATE travel package recommendation system | |
El Alami et al. | Improving Neighborhood-Based Collaborative Filtering by a Heuristic Approach and an Adjusted Similarity Measure. | |
CN109472455B (zh) | 活动评估方法、装置、电子设备及存储介质 |
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 |