CN110209938A - 一种基于服务多粒度属性的***推荐方法 - Google Patents
一种基于服务多粒度属性的***推荐方法 Download PDFInfo
- Publication number
- CN110209938A CN110209938A CN201910468791.3A CN201910468791A CN110209938A CN 110209938 A CN110209938 A CN 110209938A CN 201910468791 A CN201910468791 A CN 201910468791A CN 110209938 A CN110209938 A CN 110209938A
- Authority
- CN
- China
- Prior art keywords
- service
- user
- scoring
- destination
- destination service
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于服务多粒度属性的***推荐方法,包括以下步骤:步骤S1:根据对服务包含类型标签进行聚类产生的服务共性类型类簇实施用户对服务粗粒度属性评分预测;步骤S2:根据jaccard系数基于服务包含类型计算服务间相似性,根据邻居服务进行用户对服务细粒度属性评分预测;步骤S3:对服务粗、细粒度属性的预测评分进行加权求和,实施用户对服务多粒度属性预测并对预测评分进行排序,选择top‑k个评分较高的***进行推荐。本发明的优点在于:从面向服务的角度进行***的推荐研究;从服务所属共性类型的类簇和服务所属类型方面同时考虑服务粗粒度属性和细粒度属性,有效解决冷启动问题,提高推荐准确度。
Description
技术领域
本发明属于服务计算技术领域,具体涉及一种基于服务多粒度属性的***推荐方法。
背景技术
随着Web2.0时代的深入发展,人们已身处一个更加注重交互的互联网环境。人们不再单纯的站在信息获得者的角度,而是有了更强的参与性,以自身习性影响和改变着互联网信息。此外,信息聚合导致互联网信息不断的积累,使得用户选择个性化需求的信息变得越来越困难。
推荐***是建立在数据挖掘之上的一门技术,根据对海量数据的分析,能够给用户推荐具有个性化的决策和相关信息。例如,当当网可以根据读者的阅读习惯为读者提供各种类型的书籍;网易云音乐可以根据用户的听歌记录推荐不同风格的乐曲;快手和抖音短视频可以根据用户点赞和双击的情况分析出用户的偏好,从而推荐给用户感兴趣的视频;美团网可以根据用户用餐地点、时间、人数、口味等为用户推荐喜欢的餐厅及套餐等等。可以看出,推荐***正根深蒂固的存在于我们生活的各个角落。但是,随着人们日益增长的个性化服务需求和冗余的、干扰的信息过载之间的矛盾越来越明显,特别是推荐***中常见的数据稀疏、冷启动等问题,如何为用户进行有效推荐仍然是一个挑战性问题。
协同过滤推荐及基于内容的推荐已成为推荐***中应用比较广泛的推荐技术。协同过滤推荐方法简单来说就是找到与目标用户兴趣接近的群体,根据群体内用户对服务的选择情况来预测目标用户的选择;基于内容的推荐方法就是分析用户使用过的服务内容,根据服务内容提取出每个服务的特征,然后将使用过的所有服务特征综合起来表示用户特征,最后根据用户特征计算其与候选服务间的相似性,选择特征相似性较高的服务进行推荐。目前有关学者对上述两种推荐方法已展开了大量研究。但是,已有的推荐方法仍存在如下问题:1)、使用协同过滤方法的前提是一个服务至少被多个用户使用,这样才能保证该服务可能被推荐,但一个新发布服务往往没有被其他用户使用和评分,即新服务面临的冷启动问题;2)、基于内容的推荐方法易受到内容分析技术的影响,很难有效识别出服务特征,导致推荐结果不准确;3)、已有的推荐技术大多面向用户进行服务推荐,而没有从服务角度进行***推荐。
面对用户个性化的网络服务需求及网络信息过载,针对已有的推荐方法中存在的不足,如何有效刻画服务特征,主动为服务推荐***,并在解决冷启动问题的同时提高推荐准确度,成为推荐领域中一个亟待解决的关键技术问题。
因此,需要提供一种针对上述现有技术不足的改进技术方案。
发明内容
本发明主要是解决现有技术所存在的问题,提供了一种面向服务的、为服务推荐***的一种基于服务多粒度属性的***推荐方法。
为了实现上述目的,本发明提供如下技术方案:
本发明一种基于服务多粒度属性的***推荐方法,其特征在于:所述的基于服务多粒度属性的***推荐方法包括:
对服务原始数据集中的每个服务包含的类型标签信息进行聚类,依据聚类结果找到目标服务所属类簇;
对所述服务原始数据集中的每个服务包含的类型标签信息进行相似性计算,选择所述目标服务的邻居服务;
分别对所述目标服务所属类簇和所述领居服务进行分析计算,通过计算得到用户对服务属性的评分预测;
依据所述评分预测进行排序,将***推荐给目标服务。
在上述的基于服务多粒度属性的***推荐方法中,作为优选方案:所述聚类是基于服务包含的类型标签对服务进行k-means聚类,将包含类似服务类型的服务聚类为包含共性类型的服务类簇。
在上述的基于服务多粒度属性的***推荐方法中,作为优选方案:找到所述目标服务所属共性类型的服务类簇,每个用户对所述服务类簇内所有服务的评分数据表示所述目标服务的粗粒度属性,每个用户对所述类簇内所有服务的评分均值表示用户对所述目标服务的粗粒度评分;
所述服务的评分均值计算公式如下:
其中,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,ru,j为用户u对服务j的评分,C为目标服务i所属类簇,|C|表示类簇中用户u有评分的服务个数。
在上述的基于服务多粒度属性的***推荐方法中,作为优选方案:所述目标服务的所属类簇内所有服务评分均值表示所述目标服务的粗粒度属性预测评分;
根据服务包含的类型标签信息,通过k-means聚类对所有服务进行聚类,找到所述目标服务所属类簇,用所述类簇内所有服务评分均值表示目标服务的粗粒度属性预测评分,所述粗粒度属性预测评分计算公式如下:
其中,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,ru,j为用户u对服务j的评分,C为目标服务i所属类簇,|C|表示类簇中用户u有评分的服务个数。
在上述的基于服务多粒度属性的***推荐方法,作为优选方案:所述相似性计算是基于jaccard系数对服务进行相似性计算,根据计算结果,选择与所述目标服务相似度top-50个服务作为所述目标服务的邻居服务;所述top-50表示相似度排名前50个服务。
在上述的基于服务多粒度属性的***推荐方法中,作为优选方案:所述邻居服务包含服务类型标签,通过用户对所述邻居服务的评分,计算出用户对各个服务类型标签的评分;
各个服务类型标签的评分具体方法为:根据jaccard系数计算出所述目标服务的邻居服务,任意一个服务类型标签的邻居服务以及用户对所述邻居服务的评分信息,计算出用户对所述任意一个服务类型标签的评分,计算公式如下:
其中,au为用户u对目标服务包含的类型标签a的评分;Iu,a为用户u对服务已评分且包含服务类型标签a的邻居服务集,|Iu,a|为邻居服务集中的服务个数;Ru,i为用户u对邻居服务i的评分。
在上述的基于服务多粒度属性的***推荐方法中,作为优选方案:
所述服务类型标签的评分的均值表示对目标服务的预测评分,所述目标服务包含服务类型标签,所述服务类型标签的均值表示服务细粒度属性;
用户对所述目标服务包含所有服务类型标签评分的均值作为用户对所述目标服务的细粒度预测评分,计算公式如下:
其中,Pf(ru,i)为用户u对目标服务i的细粒度属性预测评分;Pi为目标服务i包含的具体服务类型标签集合,|Pi|为该集合中的服务个数;au为用户u对目标服务i的具体服务类型a的评分。
在上述的基于服务多粒度属性的***推荐方法中,作为优选方案:所述目标服务所属类簇和所述领居服务进行分析计算,通过计算得到用户对服务属性的评分预测包括:
对服务属性的评分预测进行加权求和,计算出所有用户对目标服务综合预测评分;
所述加权求和计算公式如下:
p(ru,i)=λ·pc(ru,i)+(1-λ)·pf(ru,i)
对目标服务粗粒度和细粒度的预测评分进行加权求和;其中,P(ru,i)为用户u对目标服务i的综合预测评分,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,Pf(ru,i)为用户u对目标服务i的细粒度属性预测评分,λ为平衡因子。
在上述的基于服务多粒度属性的***推荐方法中,作为优选方案:所述目标服务综合预测评分的结果进行排序,根据需求选择综合预测评分高的top-k个***推荐给目标服务。
在上述的基于服务多粒度属性的***推荐方法中,作为优选方案:所述top-k个***推荐给目标服务表示根据综合预测评分由高分到低分依次排列,综合预测评分高的前k个***进行推荐。
与最接近的现有技术相比,本发明提供的技术方案具有如下优异效果:
本发明是一种基于服务多粒度属性的***推荐方法,本发明相比现有技术至少具有如下的技术效果:
1、本发明提供了一种基于服务多粒度属性的***推荐方法,本方法同时考虑服务粗粒度属性和细粒度属性的方法,能准确刻画出服务特征的一种基于服务多粒度属性的***推荐方法;
2、本发明提供了一种基于服务多粒度属性的***推荐方法,提供了一种能解决新服务面临的冷启动问题及提高推荐准确度的一种基于服务多粒度属性的***推荐方法。
附图说明
图1:本发明提供一种基于服务多粒度属性的***推荐方法流程示意图;
图2:本发明基于服务多粒度属性的***推荐方法一个实施例中用户服务评分矩阵的源数据;
图3:本发明基于服务多粒度属性的***推荐方法一个实施例中服务类型矩阵的源数据;
图4:本发明服务类型矩阵的源数据中最后一列各个维度对应的服务的19种具体类型。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
名词解释:
k-means聚类:是硬聚类算法,典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。k-means聚类以欧式距离作为相似度测度,它是求对应所需的初始聚类中心向量V最优分类,使得评价指标J最小。算法采用误差平方和准则函数作为聚类准则函数。
Jaccard系数:主要用于计算符号度量或布尔值度量的个体间的相似度,因为个体的特征属性都是由符号度量或者布尔值标识,因此无法衡量差异具体值的大小,只能获得"是否相同"这个结果,所以Jaccard系数只关心个体间共同具有的特征是否一致这个问题。如果比较X与Y的Jaccard相似系数,只比较xn和yn中相同的个数。
粗粒度:表示类别级,即仅考虑对象的类别,不考虑对象的某个特定实例。
细粒度:表示实例属性级,即需要考虑具体对象的实例包含的不同属性。
本发明一种基于服务多粒度属性的***推荐方法,其方法包括:
对服务原始数据集中的每个服务包含的类型标签信息进行聚类,依据聚类结果找到目标服务所属类簇;用户从原始数据中随机选定一个服务,该服务包括有用户所需的属性信息,将该服务作为用户的目标服务。
对所述服务原始数据集中的每个服务包含的类型标签信息进行相似性计算,选择所述目标服务的邻居服务;
分别对所述目标服务所属类簇和所述领居服务进行分析计算,以得到用户对服务属性评分预测;
依据所述评分预测进行排序,对***推荐。
如图1所示,本发明的具体实施例提供一种基于服务多粒度属性的***推荐方法,该方法包括以下步骤:
步骤S1,根据服务所包含的类型标签对服务进行聚类,使较为相似的服务聚成一个共性类型的类簇,用目标服务所在类簇内所有服务的评分表示目标服务的粗粒度属性,在此基础上计算用户对类簇内所有服务的评分均值,将计算得到的评分均值作为用户对目标服务的粗粒度属性预测评分。
步骤S1.1,根据服务原始数据集识别每个服务包含的类型标签信息,基于服务包含的类型标签对服务进行基于k-means算法的聚类,将包含类似服务类型的服务聚类为包含共性类型的服务类簇。
步骤S1.2,针对步骤S1.1的聚类结果,找到目标服务所属共性类型的类簇,统计每个用户对该类簇内所有服务的评分数据。
步骤S1.3,计算每个用户对类簇内所有服务的评分均值,采用计算得到的评分均值表示该用户对目标服务的粗粒度预测评分,同样的,计算出所有用户对目标服务的预测评分;
根据服务包含的类型标签信息,通过k-means聚类算法对所有服务进行聚类,找到目标服务所属类簇,用该类簇内所有服务评分均值表示用户对目标服务的粗粒度属性预测评分,粗粒度属性预测评分计算公式如下:
其中,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,ru,j为用户u对服务j的评分,C为目标服务i所属类簇,|C|表示类簇中用户u有评分的服务个数。
步骤S2,根据服务所包含的类型标签对服务进行相似性计算,选择与目标服务相似度top-50个服务作为其邻居服务,top-50表示相似度排名前50个服务作为目标服务的领居服务,与目标服务相似的服务有很多,优先选择前50个服务,是根据实际需要与用户的选择偏好集中于前50个服务所决定的,用邻居服务计算出目标服务所包含类型标签的评分数据,并表示为目标服务的细粒度属性;将用户对目标服务所包含的所有类型标签评分均值作为目标服务的细粒度属性预测评分。
步骤S2.1,根据服务原始数据集识别每个服务包含的类型标签信息,基于jaccard系数对服务进行相似性计算。
步骤S2.2,针对步骤S2.1的相似性计算结果,选择与目标服务相似度top-50个服务作为目标服务的邻居服务;根据包含服务类型标签的邻居服务以及用户对邻居服务的评分,进而计算出用户对各个服务类型标签的评分;
用户对各个类型标签评分具体方法为:根据jaccard系数方法计算出目标服务的邻居服务,通过包含所需的服务类型标签的邻居服务以及用户对该类服务的评分信息,计算出用户对该服务类型标签的评分,计算公式如下:
其中,au为用户u对目标服务包含的类型标签a的评分;Iu,a为用户u对服务已评分且包含服务类型标签a的邻居服务集,|Iu,a|为该集合中的服务个数;Ru,i为用户u对邻居服务i的评分。
步骤S2.3,根据步骤S2.2的结果,采用目标服务包含服务类型标签表示服务细粒度属性,使用用户对目标服务包含所有服务类型标签的评分均值表示对目标服务的预测评分;
将用户对目标服务包含所有服务类型标签评分的均值作为用户对目标服务的细粒度预测评分,用户对目标服务的细粒度评分方法,计算公式如下:
其中,Pf(ru,i)为用户u对目标服务i的细粒度属性预测评分;Pi为目标服务i包含的具体服务类型标签集合,|Pi|为该集合中的服务个数;au为用户u对目标服务i的具体服务类型a的评分。
步骤S3,将步骤S1和步骤S2的预测评分进行加权求和,并对用户综合预测评分进行排序,选择top-k个评分高的***进行推荐。
步骤S3.1,在步骤S1和步骤S2的基础上,得到所有用户对目标服务粗粒度的预测评分以及细粒度的预测评分,并将两者的预测评分进行加权求和,计算出所有用户对目标服务综合预测评分;
其中加权求和计算公式如下:
p(ru,i)=λ·pc(ru,i)+(1-λ)·pf(ru,i)
对目标服务粗、细粒度的预测评分进行加权求和。其中,P(ru,i)为用户u对目标服务i的综合预测评分,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,Pf(ru,i)为用户u对目标服务i的细粒度属性预测评分,λ为平衡因子。
步骤S3.2,对步骤S3.1得到的综合预测评分结果进行排序,根据需求选择评分较高的top-k个***推荐给目标服务;
top-k个***推荐给目标服务表示根据评分由高分到低分依次排列,评分高的***进行推荐,根据实际需求,选择预测评分排名高的若干个***进行推荐。top-k表示排名前k个用户,根据评分由高分到低分依次进行排列,选择排名前k个进行推荐。
综合所述,本发明具有以下优点:(1)在推荐***领域从面向服务的角度进行***的推荐研究;(2)从服务所属共性类型的类簇和服务所属类型方面同时考虑服务粗粒度属性和细粒度属性,能准确刻画服务特征;(3)有效解决冷启动问题,提高推荐准确度。
为更好的理解本发明,现结合图示和实施例对本发明做进一步的说明,基于一种基于服务多粒度属性的***推荐方法,作为优选方案,
如图2-4所示:
基于服务多粒度属性的***推荐方法,步骤S1的具体实施为:
步骤S1,根据服务所包含的类型标签对服务进行聚类,使较为相似的服务聚成一个共性类型的类簇,用目标服务所在类簇内所有服务的评分表示目标服务的粗粒度属性,并将用户对类簇内所有服务的评分均值作为对目标服务的粗粒度属性预测评分。
步骤S1.1,根据图3最后一列中每个服务包含的类型标签信息采用k-means算法进行服务聚类,聚类个数由SSE(Sum of Squared Error,误差平方和)进行判断。
步骤S1.2,针对步骤S1.1的聚类结果,找到目标服务所属类簇,根据图2中第3列用户服务评分数据(rating),统计每个用户对该类簇内所有服务的评分数据。
步骤S1.3,使用每个用户对类簇内所有服务的评分均值表示该用户对目标服务的粗粒度评分,同样的,计算出所有用户对目标服务的预测评分,计算公式为:
其中,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,ru,j为用户u对服务j的评分,C为目标服务i所属类簇,|C|表示类簇中用户u有评分的服务个数。
基于服务多粒度属性的***推荐方法,步骤S2的具体实施为:
步骤S2,根据服务所包含的类型标签对服务进行相似性计算,选择与目标服务相似度top-50个服务作为其邻居服务,用邻居服务计算出目标服务所包含类型标签的评分数据,并表示为目标服务的细粒度属性;将用户对目标服务所包含的所有类型标签评分均值作为目标服务的细粒度属性预测评分。
步骤S2.1,根据图3最后一列中每个服务包含的类型标签信息(genres),基于jaccard系数对服务进行相似性计算。
步骤S2.2,针对步骤S2.1的相似性计算结果,选择与目标服务相似度top-50个服务作为目标服务的邻居服务;对于所需的服务类型标签而言,根据包含该类型标签的邻居服务以及图2中第3列用户对邻居服务的评分,计算用户对各个服务类型标签的评分,计算公式为:
其中,au为用户u对目标服务包含的类型标签a的评分;Iu,a为用户u对服务已评分且包含服务类型标签a的邻居服务集,|Iu,a|为该集合中的服务个数;Ru,i为用户u对邻居服务i的评分。
步骤S2.3,根据步骤S2.2的结果,采用目标服务包含服务类型标签表示其细粒度属性,使用用户对目标服务包含所有服务类型标签的评分均值表示对目标服务的预测评分,计算公式为:
其中,Pf(ru,i)为用户u对目标服务i的细粒度属性预测评分;Pi为目标服务i包含的具体服务类型标签集合,|Pi|为该集合中的服务个数;au为用户u对目标服务i的具体服务类型a的评分。
基于服务多粒度属性的***推荐方法,步骤S3的具体实施为:
步骤S3.1,在步骤S1和步骤S2的基础上,得到所有用户对目标服务粗粒度的预测评分以及细粒度的预测评分,并将两者的预测评分进行加权求和,计算出所有用户对目标服务综合预测评分,计算公式为:
p(ru,i)=λ·pc(ru,i)+(1-λ)·pf(ru,i)
其中,P(ru,i)为用户u对目标服务i的综合预测评分,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,Pf(ru,i)为用户u对目标服务i的细粒度属性预测评分,λ为平衡因子。
步骤S3.2,对步骤S3.1得到的综合预测评分结果进行排序,根据需求选择评分高的top-k个***推荐给目标服务,top-k个***推荐给目标服务表示根据评分由高分到低分依次排列,评分高的***进行推荐,根据实际需求,选择预测评分排名较高的前若干个***进行推荐。
下面以Movielens100k数据集进行基于服务多粒度属性的***推荐为实施例,详细描述本发明的实施过程。
Movielens是Grouplens项目组创办的历史较为悠久的推荐***,是一个以研究为目的的实验性站点,主要使用协同过滤和关联规则进行电影推荐。Movielens100k数据集包含943个用户对1682部电影服务的评分数据,源数据格式如图2所示;同时也包含电影服务的描述信息,源数据格式如图3所示。对图2和图3中的源数据进行预处理,得到943个用户对1682部电影的评分矩阵以及1682部电影包含的19种类型信息的类型矩阵。
依据步骤S1,根据数据预处理得到的1682部电影包含的19种类型信息的类型矩阵对1682个电影进行k-means聚类,聚类终止条件设置为迭代次数大于1000或者质心变化阈值小于0.001。使用SSE(Sum of Squared Error,误差平方和)确定最佳聚类个数情况,结果如表1所示。在聚类个数尽可能少的情况下,SSE值越小,聚类效果越好。从表1可以看出,在聚类个数达到6之后,SSE值降低幅度明显减小,收敛效果明显,因此将聚类个数设置为6。在得到最佳聚类个数为6情况下,通过k-means聚类得到的各个类簇包含电影数如表2所示。
表1:使用SSE确定电影最佳聚类个数
聚类个数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
SEE | 2269 | 1999 | 1750 | 1561 | 1420 | 1375 | 1333 | 1311 | 1247 |
表2:聚类个数为6时各个类簇包含电影数
类簇 | Cluster1 | Cluster2 | Cluster3 | Cluster4 | Cluster5 | Cluster6 |
电影数 | 620 | 107 | 286 | 85 | 495 | 89 |
将图3中movieID为1的电影(Toy Story)看作目标电影。首先识别目标电影所属类簇,统计每个用户对目标电影所属类簇内所有电影的评分数据,使用每个用户对目标电影所属类簇内所有电影的评分均值表示该用户对目标电影的粗粒度评分。这里选取userID为1、2、3的用户为候选用户。根据表2中类簇信息找到目标电影Toy Story所属类簇Cluster3,然后根据用户电影评分矩阵统计userID为1的用户对类簇Cluster3中286部电影服务的评分,根据步骤1.3中的计算公式,将该用户对286部电影服务的评分均值(1089/286=3.8)作为用户对目标电影的粗粒度预测评分;同样的,可以得到userID为2、3的用户对目标电影的粗粒度预测评分,结果如表3所示。
表3候选用户对目标电影Toy Story的粗粒度预测评分
userID | 1 | 2 | 3 |
粗粒度预测评分 | 3.8 | 3.4 | 3.7 |
依据步骤S2,根据1682部电影包含的19种类型信息的类型矩阵,使用jaccard系数计算电影间相似性,仍然选择Toy Story作为目标电影,分别选取userID为1、2、3的用户为候选用户,选取与目标电影Toy Story相似度top-50部电影作为邻居电影服务。根据用户电影评分矩阵及电影包含的类型矩阵信息,利用步骤S2.2中的计算公式,通过50部邻居电影服务分别计算出userID为1的用户对目标电影Toy Story包含19种类型的预测评分。同样的,可以得到userID为2、3的用户对目标电影Toy Story包含19种类型的预测评分,结果如表4所示。
表4:候选用户对目标电影Toy Story包含19种类型的预测评分
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | |
1 | 3.6 | 4 | 0 | 2 | 3.9 | 4 | 4.2 | 0 | 3 | 4.7 | 2 | 1 | 3 | 0 | 5 | 4 | 2.6 | 4.1 | 0 |
2 | 4 | 2 | 5 | 2.5 | 3.6 | 0 | 2.5 | 1 | 5 | 4.1 | 3.6 | 3 | 0 | 1 | 4 | 5 | 0 | 3.6 | 2 |
3 | 4.1 | 3 | 3 | 4.5 | 0 | 3.6 | 3.9 | 5 | 2 | 2.5 | 4 | 4 | 3.5 | 0 | 1 | 3 | 4.1 | 5 | 0 |
根据表4中数据及步骤S2.3中的计算公式,将userID为1的候选用户对目标电影Toy Story包含所有类型的评分均值(51.1/(19-4)=3.4)表示为该用户对目标电影ToyStory的细粒度预测评分。同样的,可以得到userID为2、3的用户对目标电影Toy Story的细粒度预测评分,结果如表5所示。
表5:候选用户对目标电影Toy Story的细粒度预测评分
userID | 1 | 2 | 3 |
细粒度预测结果 | 3.4 | 3.2 | 3.5 |
依据步骤S3,将步骤S1得到的用户对目标电影Toy Story的粗粒度预测评分(表3)和步骤S2得到的用户对目标电影Toy Story的细粒度预测评分(表5)相结合,根据步骤S3.1中的计算公式,设置平衡因子λ为0.6,计算得到userID为1的候选用户对目标电影ToyStory的综合预测评分(3.8*0.6+3.4*(1-0.6)=3.64)。同样的,可以得到userID为2、3的用户对目标电影Toy Story的综合预测评分,结果如表6所示。选择综合预测评分大于3.5(top-2)的候选用户推荐给目标电影Toy Story。
表6候选用户对目标电影Toy Story的综合预测评分
userID | 1 | 2 | 3 |
综合预测结果 | 3.64 | 3.3 | 3.62 |
本发明是一种基于服务多粒度属性的***推荐方法,本发明相比现有技术至少具有如下的技术效果:
1、本发明提供了一种基于服务多粒度属性的***推荐方法,本方法同时考虑服务粗粒度属性和细粒度属性的方法,能准确刻画出服务特征的一种基于服务多粒度属性的***推荐方法。
2、本发明是提供了一种基于服务多粒度属性的***推荐方法,提供了一种能解决新服务面临的冷启动问题及提高推荐准确度的一种基于服务多粒度属性的***推荐方法。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (10)
1.一种基于服务多粒度属性的***推荐方法,其特征在于:所述的基于服务多粒度属性的***推荐方法包括:
对服务原始数据集中的每个服务包含的类型标签信息进行聚类,依据聚类结果找到目标服务所属类簇;
对所述服务原始数据集中的每个服务包含的类型标签信息进行相似性计算,选择所述目标服务的邻居服务;
分别对所述目标服务所属类簇和所述领居服务进行分析计算,通过计算得到用户对服务属性的评分预测;
依据所述评分预测进行排序,将***推荐给目标服务。
2.根据权利要求1所述的基于服务多粒度属性的***推荐方法,其特征在于:所述聚类是基于服务包含的类型标签对服务进行k-means聚类,将包含类似服务类型的服务聚类为包含共性类型的服务类簇。
3.根据权利要求2所述的基于服务多粒度属性的***推荐方法,其特征在于:找到所述目标服务所属共性类型的服务类簇,每个用户对所述服务类簇内所有服务的评分数据表示所述目标服务的粗粒度属性,每个用户对所述类簇内所有服务的评分均值表示用户对所述目标服务的粗粒度评分;
所述服务的评分均值计算公式如下:
其中,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,ru,j为用户u对服务j的评分,C为目标服务i所属类簇,|C|表示类簇中用户u有评分的服务个数。
4.根据权利要求3所述的基于服务多粒度属性的***推荐方法,其特征在于:所述目标服务的所属类簇内所有服务评分均值表示所述目标服务的粗粒度属性预测评分;
根据服务包含的类型标签信息,通过k-means聚类对所有服务进行聚类,找到所述目标服务所属类簇,用所述类簇内所有服务评分均值表示目标服务的粗粒度属性预测评分,所述粗粒度属性预测评分计算公式如下:
其中,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,ru,j为用户u对服务j的评分,C为目标服务i所属类簇,|C|表示类簇中用户u有评分的服务个数。
5.根据权利要求4所述的基于服务多粒度属性的***推荐方法,其特征在于:所述相似性计算是基于jaccard系数对服务进行相似性计算,根据计算结果,选择与所述目标服务相似度top-50个服务作为所述目标服务的邻居服务;所述top-50表示相似度排名前50个服务。
6.根据权利要求5所述的基于服务多粒度属性的***推荐方法,其特征在于:所述邻居服务包含服务类型标签,通过用户对所述邻居服务的评分,计算出用户对各个服务类型标签的评分;
各个服务类型标签的评分具体方法为:根据jaccard系数计算出所述目标服务的邻居服务,任意一个服务类型标签的邻居服务以及用户对所述邻居服务的评分信息,计算出用户对所述任意一个服务类型标签的评分,计算公式如下:
其中,au为用户u对目标服务包含的类型标签a的评分;Iu,a为用户u对服务已评分且包含服务类型标签a的邻居服务集,|Iu,a|为邻居服务集中的服务个数;Ru,i为用户u对邻居服务i的评分。
7.根据权利要求6所述的基于服务多粒度属性的***推荐方法,其特征在于:
所述服务类型标签的评分的均值表示对目标服务的预测评分,所述目标服务包含服务类型标签,所述服务类型标签的均值表示服务细粒度属性;
用户对所述目标服务包含所有服务类型标签评分的均值作为用户对所述目标服务的细粒度预测评分,计算公式如下:
其中,Pf(ru,i)为用户u对目标服务i的细粒度属性预测评分;Pi为目标服务i包含的具体服务类型标签集合,|Pi|为该集合中的服务个数;au为用户u对目标服务i的具体服务类型a的评分。
8.根据权利要求7所述的基于服务多粒度属性的***推荐方法,其特征在于:所述目标服务所属类簇和所述领居服务进行分析计算,通过计算得到用户对服务属性的评分预测包括:
对服务属性的评分预测进行加权求和,计算出所有用户对目标服务综合预测评分;
所述加权求和计算公式如下:
p(ru,i)=λ·pc(ru,i)+(1-λ)·pf(ru,i)
对目标服务粗粒度和细粒度的预测评分进行加权求和;其中,P(ru,i)为用户u对目标服务i的综合预测评分,Pc(ru,i)为用户u对目标服务i的粗粒度属性预测评分,Pf(ru,i)为用户u对目标服务i的细粒度属性预测评分,λ为平衡因子。
9.根据权利要求8所述的基于服务多粒度属性的***推荐方法,其特征在于:所述目标服务综合预测评分的结果进行排序,根据需求选择综合预测评分高的top-k个***推荐给目标服务。
10.根据权利要求9所述的基于服务多粒度属性的***推荐方法,其特征在于:所述top-k个***推荐给目标服务表示根据综合预测评分由高分到低分依次排列,综合预测评分高的前k个***进行推荐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910468791.3A CN110209938B (zh) | 2019-05-31 | 2019-05-31 | 一种基于服务多粒度属性的***推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910468791.3A CN110209938B (zh) | 2019-05-31 | 2019-05-31 | 一种基于服务多粒度属性的***推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209938A true CN110209938A (zh) | 2019-09-06 |
CN110209938B CN110209938B (zh) | 2022-10-25 |
Family
ID=67789991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910468791.3A Active CN110209938B (zh) | 2019-05-31 | 2019-05-31 | 一种基于服务多粒度属性的***推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209938B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112381125A (zh) * | 2020-10-30 | 2021-02-19 | 首都师范大学 | 服务候选集内候选服务的缩减方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008282353A (ja) * | 2007-05-14 | 2008-11-20 | Ntt Docomo Inc | リコメンド装置及びリコメンド方法 |
CN102662975A (zh) * | 2012-03-12 | 2012-09-12 | 浙江大学 | 一种混合双向聚类好友推荐方法 |
US20130091164A1 (en) * | 2011-10-11 | 2013-04-11 | Microsoft Corporation | Recommending data based on user and data attributes |
US20140129372A1 (en) * | 2012-11-06 | 2014-05-08 | Dynamic Vacations, Inc. Dba Beachscape | Methods and systems for travel recommendations |
CN106708883A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 推荐方法及装置 |
CN107391713A (zh) * | 2017-07-29 | 2017-11-24 | 内蒙古工业大学 | 一种解决协同过滤推荐技术中冷启动问题的方法及*** |
-
2019
- 2019-05-31 CN CN201910468791.3A patent/CN110209938B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008282353A (ja) * | 2007-05-14 | 2008-11-20 | Ntt Docomo Inc | リコメンド装置及びリコメンド方法 |
US20130091164A1 (en) * | 2011-10-11 | 2013-04-11 | Microsoft Corporation | Recommending data based on user and data attributes |
CN102662975A (zh) * | 2012-03-12 | 2012-09-12 | 浙江大学 | 一种混合双向聚类好友推荐方法 |
US20140129372A1 (en) * | 2012-11-06 | 2014-05-08 | Dynamic Vacations, Inc. Dba Beachscape | Methods and systems for travel recommendations |
CN106708883A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 推荐方法及装置 |
WO2017087441A1 (en) * | 2015-11-17 | 2017-05-26 | Alibaba Group Holding Limited | Recommendation method and device |
CN107391713A (zh) * | 2017-07-29 | 2017-11-24 | 内蒙古工业大学 | 一种解决协同过滤推荐技术中冷启动问题的方法及*** |
Non-Patent Citations (2)
Title |
---|
WANG YONGGUI等: "Collaborative filtering recommendation algorithm based on improved clustering and matrix factorization", 《JOURNAL OF COMPUTER APPLICATIONS》 * |
李建贵等: "多属性协同过滤推荐在物流配送服务平台的应用", 《计算机***应用》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112381125A (zh) * | 2020-10-30 | 2021-02-19 | 首都师范大学 | 服务候选集内候选服务的缩减方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110209938B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Overlapping community regularization for rating prediction in social recommender systems | |
CN107220365A (zh) | 基于协同过滤与关联规则并行处理的精准推荐***及方法 | |
CN109345348A (zh) | 基于旅行社用户的多维信息画像的推荐方法 | |
JP6261547B2 (ja) | 判定装置、判定方法及び判定プログラム | |
US20080243637A1 (en) | Recommendation system with cluster-based filtering of recommendations | |
CN103678635A (zh) | 基于标签有向图的网络音乐聚合推荐方法 | |
CN105723402A (zh) | 用于确定社交数据网络中的影响者的***和方法 | |
Pérez-Marcos et al. | Hybrid system for video game recommendation based on implicit ratings and social networks | |
CN109871479A (zh) | 一种基于用户项目类及评分可靠性的协同过滤方法 | |
Neophytou et al. | Revisiting popularity and demographic biases in recommender evaluation and effectiveness | |
Lingras et al. | Iterative meta-clustering through granular hierarchy of supermarket customers and products | |
Chaturvedi et al. | Recommender system for news articles using supervised learning | |
Li et al. | From reputation perspective: a hybrid matrix factorization for qos prediction in location‐aware mobile service recommendation system | |
CN110287373A (zh) | 基于评分预测和用户特征的协同过滤电影推荐方法及*** | |
Roy et al. | Design of movie recommendation system by means of collaborative filtering | |
CN110209938A (zh) | 一种基于服务多粒度属性的***推荐方法 | |
Mirza | Jumping connections: A graph-theoretic model for recommender systems | |
Kompan et al. | Personalized recommendation for individual users based on the group recommendation principles | |
Shrivastava et al. | K-means clustering based solution of sparsity problem in rating based movie recommendation system | |
Liao et al. | Accumulative Time Based Ranking Method to Reputation Evaluation in Information Networks | |
Akbar et al. | Recommendation based on Deduced Social Networks in an educational digital library | |
CN114912031A (zh) | 基于聚类和协同过滤的混合推荐方法和*** | |
Hauger et al. | Comparison of recommender system algorithms focusing on the new-item and user-bias problem | |
Kagie et al. | Including item characteristics in the probabilistic latent semantic analysis model for collaborative filtering | |
Xue et al. | Sequential correspondence hierarchical Dirichlet processes for video data analysis |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |