CN104182392B - 服务推荐处理的方法和装置 - Google Patents
服务推荐处理的方法和装置 Download PDFInfo
- Publication number
- CN104182392B CN104182392B CN201310188202.9A CN201310188202A CN104182392B CN 104182392 B CN104182392 B CN 104182392B CN 201310188202 A CN201310188202 A CN 201310188202A CN 104182392 B CN104182392 B CN 104182392B
- Authority
- CN
- China
- Prior art keywords
- service
- user
- value
- active user
- recommended
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 title claims abstract description 16
- 239000011159 matrix material Substances 0.000 claims description 34
- 239000012141 concentrate Substances 0.000 claims description 8
- 238000002474 experimental method Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- 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/951—Indexing; Web crawling techniques
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种服务推荐处理的方法和装置,其中,该方法包括:获取活动用户和历史用户的服务评分数据,所述服务评分数据为活动用户和历史用户分别对待推荐服务集中各个服务的评分值;从所述历史用户中选取与所述活动用户具有相似排序偏好的用户作为所述活动用户的相似用户;根据所述活动用户及其相似用户的服务评分数据构建各个待推荐的服务间的偏序关系模型;利用所述偏序关系模型给出服务推荐排序列表;根据各个服务在所述服务推荐排序列表中的顺序,向所述活动用户推荐服务。通过本发明提供的服务推荐处理的方法和装置,依据服务间的排序偏好、采用贪心算法给出服务推荐排序列表,提高服务推荐结果的准确性。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种服务推荐处理的方法和装置。
背景技术
现有技术中,用户通常利用关键词通过搜索引擎在网上搜索自己需要的服务,而搜索引擎会针对用户输入的关键词形成服务推荐排序列表向用户推荐服务。现有形成服务推荐排序列表的方式包括采用肯德尔相关系数(Kendall Rank CorrelationCoefficient,简称为KRCC)计算用户间的相似性,融合相似用户的偏好直接产生针对活动用户的服务推荐排序列表。
上述方法中,通常先利用现有服务评分数据集构造稀疏评分矩阵,然后将针对稀疏矩阵中活动用户的预测服务推荐排序列表,与按照原服务评分矩阵中的服务真实评分值生成的服务推荐排序列表进行对比,仍使用KRCC来度量服务推荐排序列表的预测准确性。KRCC越大,表示算法的服务推荐排序列表预测准确性越高。
研究表明,排序位置越靠前的搜索结果,受到的用户关注度越高,多数互联网用户仅关注搜索结果第一页的内容。因此,保证服务推荐排序列表前端服务排序位置的一致性尤为重要。但是上述方法却忽略了用户对服务排序位置的关注度。如在现有服务评分数据集中,服务s1,s2,…,s8按照真实评分值生成的服务推荐排序列表为(1,2,3,4,5,6,7,8),用户得到的预测服务推荐排序列表分别可能为R1(4,3,2,1,5,6,7,8)和R2(1,2,3,4,8,7,6,5),用户得到的两个预测服务推荐排序列表与按照服务真实评分值生成的推荐排序列表KRCC相似性相同(均为22/28)。但是从服务推荐排序列表R1和R2中能够看出,服务推荐排序列表R2中前端服务的排序与按照服务真实评分值生成的服务推荐排序列表(1,2,3,4,5,6,7,8)一致;显然服务推荐排序列表R2比R1更符合用户的期望。但是利用KRCC计算的结果却看不出这种差异,这降低了向用户推荐服务的有效性和准确性。
发明内容
为克服上述缺陷,本发明实施例提供一种服务推荐处理的方法和装置。
第一方面,本发明实施例提供一种服务推荐处理的方法,其包括:
获取用户集中各用户对待推荐服务集中各服务的评分值,所述用户集包括活动用户和历史用户,所述待推荐服务集包括多个待推荐给用户的服务;
根据所述活动用户与各历史用户共同评价过的服务的数量和评分值,获取所述活动用户的相似用户,所述相似用户是指对所述待推荐服务集中的各服务与所述活动用户具有相似排序偏好的历史用户;
根据所述活动用户和所述相似用户对所述待推荐服务集中各服务的评分值,构建各服务间的偏序关系模型矩阵;
根据所述偏序关系模型矩阵,应用贪心算法获取服务推荐排序列表;
根据所述活动用户评价过的服务的排序对所述服务推荐排序列表进行修正。
在第一方面的第一种可能的实现方式中,所述根据所述活动用户与各历史用户共同评价过的服务的数量和评分值,获取所述活动用户的相似用户,包括:
根据公式计算随机试验期望值,再根据公式sim(u,v)=2p-1计算平均精度相关系数,选取所述平均精度相关系数满足预设条件的历史用户作为所述相似用户;其中,C(i)表示在所述活动用户u和所述历史用户v各自所对应的排序列表中共同位于所述活动用户u对应的排序列表中的第i个服务前面的服务的数量,N表示所述活动用户u和所述历史用户v共同评价过的服务个数,所述排序列表中所述共同给出评分的服务按照各自对应的评分值由大到小排序。
在第一方面的第二种可能的实现方式中,所述根据所述活动用户和所述相似用户对所述待推荐服务集中各服务的评分值,构建所述活动用户各服务间的偏序关系模型矩阵,包括:
获取所述活动用户u各服务间的偏好关系值ψ(i,j),其中,j≥i,i,j∈S;所述ψ(i,j)表示服务si和服务sj间的偏好关系值;S表示待推荐服务集;
若所述活动用户u对服务si和所述服务sj均有评分,则ψ(i,j)=ru,i-ru,j,ru,i为所述活动用户u对服务si的评分值,ru,j为所述活动用户u对服务sj的评分值;
若所述活动用户u对服务si和所述服务sj至少有一个没有评分,则根据相似用户集计算服务si和服务sj间的偏好关系值ψ(i,j),具体地,
其中,所述相似用户集包括所述活动用户u的所有相似用户中同时评价过服务i和j的各个相似用户v,rv,i为所述历史用户u对服务si的评分值,rv,j为所述历史用户v对服务sj的评分值,
若j=i,则ψ(i,j)=0;
根据所述活动用户u各服务间的偏好关系值ψ(i,j)构建所述偏序关系模型矩阵。
在第一方面的第三种可能的实现方式中,
所述根据所述偏序关系模型,应用贪心算法获取服务推荐排序列表,包括:
获取服务si的优先值选取优先值最大的服务st并给予所述服务st在所述服务推荐排序列表的排序值为1,并从所述待推荐服务集S中将服务st移除;
根据公式π(i)=π(i)-2ψ(i,t)调整所述待推荐服务集S中除服务st之外的其他所有服务si的优先值π(i),再次选取优先值最大的服务sr并给予所述服务sr在所述服务推荐排序列表的排序值为2,并从所述待推荐服务集S中将服务sr移除;
重复上述步骤,直至所述待推荐服务集中所有的服务在所述服务推荐排序列表中具有各自对应的排序值。
结合第一方面的三种可能的实现方式,所述预设条件为所述平均精度相关系值在(0.5,1]的范围内。
第二方面,本发明实施例提供一种服务推荐处理装置,包括:
第一获取模块,用于获取用户集中各用户对待推荐服务集中各服务的评分值,所述用户集包括活动用户和历史用户,所述待推荐服务集包括多个待推荐给用户的服务;
第二获取模块,用于根据所述活动用户与各历史用户共同评价过的服务的数量和评分值,获取所述活动用户的相似用户,所述相似用户是指对所述待推荐服务集中的各服务与所述活动用户具有相似排序偏好的历史用户;
构建模块,用于根据所述活动用户和所述相似用户对所述待推荐服务集中各服务的评分值,构建各服务间的偏序关系模型矩阵;
推荐模块,用于根据所述偏序关系模型矩阵,应用贪心算法获取服务推荐排序列表;
修正模块,用于根据所述活动用户评价过的服务的排序对所述服务推荐排序列表进行修正。
结合第二方面的第一种实现方式,所述第二获取模块具体用于:根据公式计算随机试验期望值,再根据公式sim(u,v)=2p-1计算平均精度相关系数,选取所述平均精度相关系数满足预设条件的历史用户作为所述相似用户;其中,C(i)表示在所述活动用户u和所述历史用户v各自所对应的排序列表中共同位于所述活动用户u对应的排序列表中的第i个服务前面的服务的数量,N表示所述活动用户u和所述历史用户v共同评价过的服务个数,所述排序列表中所述共同给出评分的服务按照各自对应的评分值由大到小排序。
结合第二方面的第二种实现方式,所述构建模块具体用于:
获取所述活动用户u各服务间的偏好关系值ψ(i,j),其中,j≥i,i,j∈S;所述ψ(i,j)表示服务si和服务sj间的偏好关系值;S表示待推荐服务集;
若所述活动用户u对服务si和所述服务sj均有评分,则ψ(i,j)=ru,i-ru,j,ru,i为所述活动用户u对服务si的评分值,ru,j为所述活动用户u对服务sj的评分值;
若所述活动用户u对服务si和所述服务sj至少有一个没有评分,则根据相似用户集计算服务si和服务sj间的偏好关系值ψ(i,j),具体地,
其中,所述相似用户集包括所述活动用户u的所有相似用户中同时评价过服务i和j的各个相似用户v,rv,i为所述历史用户u对服务si的评分值,rv,j为所述历史用户v对服务sj的评分值,
若j=i,则ψ(i,j)=0;
根据所述活动用户u各服务间的偏好关系值ψ(i,j)构建所述偏序关系模型矩阵。
结合第二方面的第三种实现方式,所述推荐模块具体用于:
获取服务si的优先值选取优先值最大的服务st并给予所述服务st在所述服务推荐排序列表的排序值为1,并从所述待推荐服务集S中将服务st移除;
根据公式π(i)=π(i)-2ψ(i,t)调整所述待推荐服务集S中除服务st之外的其他所有服务si的优先值π(i),再次选取优先值最大的服务sr并给予所述服务sr在所述服务推荐排序列表的排序值为2,并从所述待推荐服务集S中将服务sr移除;
重复上述步骤,直至所述待推荐服务集中所有的服务在所述服务推荐排序列表中具有各自对应的排序值。
本发明实施例提供的服务推荐处理的方法和装置,引入用户对服务排序偏好的关注,根据所述活动用户与各历史用户共同评价过的服务的数量和评分值,通过计算选取活动用户的相似用户且依据相似用户的排序偏好,构建服务间的偏序关系模型,并采用贪心算法给出服务推荐排序列表,还利用用户已给出的评分对服务推荐排序列表进行调整,提高了服务推荐结果的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中服务推荐处理的方法实施例的流程图;
图2为本发明中向用户推荐服务的装置实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明各实施例中所述的用户集,包括对待推荐服务集中任意但非全部的服务有过评分的活动用户和历史用户,其中所述活动用户和所述历史用户评价过的服务个数应≥2;所述活动用户是指用户集中要获取待推荐服务集中各个服务排序的服务推荐排序列表的用户;所述的历史用户是指在用户集中除了活动用户之外的其他用户;对待推荐服务集中全部服务都评过分的用户只能作为所述历史用户,不能作为所述活动用户;所述的待推荐服务集包括多个待推荐给用户的服务,所述的服务是指能够为用户提供包括但不限于多媒体、新闻、应用、工具等业务的、通过各种编程语言编写的可执行程序等。
图1为本发明服务推荐处理的方法实施例的流程图,如图1所示,服务推荐处理的方法包括:
步骤100,获取用户集中各用户对待推荐服务集中各服务的评分值,所述用户集包括活动用户和历史用户,所述待推荐服务集包括多个待推荐给用户的服务。
具体地,从服务库中获取所述服务评分数据;待推荐服务集合和用户服务评分矩阵如表1所示,所述用户服务评分矩阵的定义如下:
S={s1,s2,…,sn}是所有待推荐服务集,si(1≤i≤n)表示一个服务,n表示所述待推荐服务集所包括的服务的数量。
U={u1,u2,…,um}是用户集,ui(1≤i≤m)表示一个用户,m表示所述用户集所包括的用户的数量。
Ru=(ru,1,ru,2,…,ru,n)是用户服务评价向量,ru,j表示用户u对服务j的评分值。
Rm×n是一个m×n二维用户服务评分矩阵,其中ri,j(1≤i≤m,1≤j≤n)表示用户i对服务j的评分值。
对那些未给出评分的服务,将其评分值设为φ。
用户ua(1≤a≤m)表示活动用户。本方法实施例将依据相似用户的体验对用户ua给出待推荐服务集上的预测推荐排序。所述活动用户应至少已给出所述待推荐的服务集S中2个服务的评分值。
表1
s1 | s2 | s3 | … | sn | |
u1 | φ | 2 | 1 | … | φ |
u2 | 4 | φ | 3 | … | 2 |
… | … | … | … | … | … |
ua | φ | 3 | 5 | … | φ |
… | … | … | … | … | … |
um | 5 | φ | φ | … | 4 |
步骤101,根据所述活动用户与各历史用户共同评价过的服务的数量和评分值,获取所述活动用户的相似用户,所述相似用户是指对所述待推荐服务集中的各服务与所述活动用户具有相似排序偏好的历史用户。
具体地,计算所述活动用户与各个所述历史用户的平均精度相关系数(AveragePrecision Correlation Coefficient,简称为APCC)的值;所述APCC的值由所述活动用户的排序列表和任一历史用户的排序列表的随机试验期望值p得到;
其中,所述排序列表是指所述活动用户和任一历史用户中共同给出评分的服务分别按照所述活动用户和任一历史用户给出的评分值由大到小的顺序排序的列表。
设列表L1为历史用户对各个已评分服务的排序列表,列表L2为活动用户对各个已评分的服务的排序列表;
如表2所示,对于活动用户u与历史用户v来说它们共同给出评分的服务为s1,s2和s3,所以按照评分值由大到小排序,排序列表L1和L2可以分别从用户v与u在服务集(s1,s2,s3)上的评分排序得出,L1和L2分别为(s3,s1,s2)和(s3,s2,s1)的排序列表。
表2
随机试验期望值p的计算过程如下:
步骤1、从列表L1中随机选取服务i;
步骤2、从列表L1中随机选取另一个服务j,j排序位置在i的前边;
步骤3、如果这两个服务在列表L2中的排序顺序与L1中的一致,返回1;否则返回0。
随机试验期望值p根据式(1)求得。其中,C(i)表示L1中排在服务i前边且在L2中同样排在服务i前边的服务数量,N表示所述活动用户u和所述历史用户v共同评价过的服务个数。
根据得到的p,通过公式2计算得出APCC值τap:
其中,APCC值τap为1,则说明排序列表L1和L2顺序相同;APCC值τap为-1,则说明说明排序列表L1和L2完全相反。
所以任意两个不同用户的相似性Sim(u,v)计算如公式表示:
其中,表示用户u在同时被用户u和v评价过的服务集Su∩Sv上的排序;表示用户v在同时被用户u和v评价过的服务集Su∩Sv上的排序。例如,活动用户u在服务集S(s1,s2,…,s16)上给出了服务s2,s3,s5,s6,s7,s9,s10,s12的评分,历史用户v在服务集S(s1,s2,…,s16)上给出了服务s1,s3,s5,s6,s9,s11,s12,s15的评分,那么Su∩Sv指的是集合(s3,s5,s6,s9,s12),所以用户u在服务集Su∩Sv上的排序是指根据u在集合(s3,s5,s6,s9,s12)上依据用户u给出的服务评分按由大到小的顺序生成的排序。
其中,APCC的值τap在(0.5,1]之间,说明所述活动用户与该历史用户具有相似排序偏好,则将该历史用户定义为所述活动用户的相似用户。
步骤S102,所述根据所述活动用户和所述相似用户对所述待推荐服务集中各服务的评分值,构建所述活动用户各服务间的偏序关系模型矩阵。
所述步骤S102包括如下步骤:
首先计算任意两个服务间的偏好关系值;
然后将得到的偏好关系值求和得到所述待推荐服务集的偏序关系模型;
具体地,所述活动用户中任意两个服务间的偏好关系值的计算公式如式4所示:
如式4所示,其中,ψ(i,j)代表服务si与服务sj之间的偏好关系值,v为活动用户u的相似用户,所述相似用户集包括所述活动用户u的所有相似用户中同时评价过服务i与服务j的相似用户v,sim(u,v)表示用户u与用户v的相似值,ru,i与rv,i分别表示用户u和用户v对服务si的评分,ru,j与rv,j分别表示用户u和用户v对服务sj的评分;Ψ(i,j)>0表明服务i比服务j更为用户所喜爱;Ψ(i,j)<0表明服务j比服务i更为用户所喜爱;公式4反对称即Ψ(i,j)=-Ψ(j,i);且当i=j时,Ψ(i,j)=0。
将得到的偏好关系值顺序排列得到所述待推荐服务集的偏序关系模型矩阵;所述偏序关系模型矩阵为反对称矩阵,所述矩阵中的每一行表示所述待推荐服务集中某个服务与其后面的各个服务的偏好关系值。
步骤S103,所述根据所述偏序关系模型,应用贪心算法获取服务推荐排序列表。
假定ρ代表向所述活动用户推荐服务的推荐排序列表,且ρ(i)>ρ(j)表示服务i在列表中的排序位置比服务j靠前。定义目标函数VΨ(ρ)为待推荐的服务集合S上各个服务的优先值的和的最大值,如式5所示:
对于给定推荐排序列表ρ,目标函数VΨ(ρ)的计算过程如下:
1、按照列表ρ中的服务排列顺序,依次选取服务si,计算服务si的优先值π(i);
在计算π(i)时,假定排在服务si后边的服务集合为Si,则π(i)为服务si与集合Si中所有服务的偏好关系值之和。
2、计算出所有服务的优先值后,目标函数为所有服务的优先值之和,
即:
以待推荐服务集S={s1,s2,s3,s4,s5,s6,s7},假定给出的推荐排序ρ为(s1,s3,s2,s5,s6,s7,s4),
那么目标函数的计算过程如下:
1、选取服务s1,排在s1后边的服务集合为(s3,s2,s5,s6,s7,s4)
计算s1的优先值:
π(1)=ψ(1,3)+ψ(1,2)+ψ(1,5)+ψ(1,6)+ψ(1,7)+ψ(1,4)
2、选取服务s3,排在s3后边的服务集合为(s2,s5,s6,s7,s4)
计算s3的优先值:π(3)=ψ(3,2)+ψ(3,5)+ψ(3,6)+ψ(3,7)+ψ(3,4)
3、选取服务s2,排在s2后边的服务集合为(s5,s6,s7,s4)
计算s2的优先值:π(2)=ψ(2,5)+ψ(2,6)+ψ(2,7)+ψ(2,4)
4、选取服务s5,排在s5后边的服务集合为(s6,s7,s4)
计算s5的优先值:π(5)=ψ(5,6)+ψ(5,7)+ψ(5,4)
5、选取服务s6,排在s6后边的服务集合为(s7,s4)
计算s6的优先值:π(6)=ψ(6,7)+ψ(6,4)
6、选取服务s7,排在s7后边的服务集合为(s4)
计算s7的优先值:π(7)=ψ(7,4)
7、最后,目标函数的值为VΨ(ρ)=π(1)+π(2)+π(3)+π(4)+π(5)+π(6)+π(7)。
对于已知排序的服务来说,为了得到待推荐的服务集S上各个服务的优先值和的最大值,只要采用穷举的方式得到各个服务的优先值然后相加就可以了,这就能够保证排序在前的服务的优先值比排在其后的服务的优先值大。
而在本方法实施例中,各个服务的排序是未知的,所以该问题转化为了完全多项式非确定性问题(NP问题),本方法实施例采用贪心算法对各个服务的优先值进行计算,然后根据得到的优先值对各个服务进行排序,同时得到目标函数VΨ(ρ)为待推荐的服务集合S上各个服务的优先值的和的最大值的近似值。
具体地,采用贪心算法,得到服务推荐排序列表,包括如下步骤:
(a).根据所述待推荐服务集和基于所述待推荐服务集的偏序关系模型,计算所述待推荐服务集中各个服务的优先值;
其中,优先值π(i)由式5得出;
π(i)=Σj∈SΨ(i,j)-Σj∈SΨ(j,i) (5)
(b).选取优先值最大的服务st并给予所述服务st在所述服务推荐排序列表的排序值为1,并从所述待推荐服务集S中将服务st移除;
(c).调整所述待推荐服务集S中除服务st之外的其他所有服务si的优先值π(i),再次选取优先值最大的服务sr并给予所述服务sr在所述服务推荐排序列表的排序值为2,并从所述待推荐服务集S中将服务sr移除;
重复上述步骤,直至所述待推荐服务集中所有的服务在所述服务推荐排序列表中具有各自对应的排序值。
其中,根据公式6调整所述待推荐服务集S中除服务st之外的其他所有服务si的优先值;
π(i)=π(i)-Ψ(i,t)+Ψ(t,i) (6)
如果在调整各个服务的优先值的过程中出现调整后的优先值中的两个或者几个相同的情况且这几个相等的优先值为当时优先值的最大值时,则从优先值相同的各个服务中选取最先计算的那个优先值对应的服务,然后剔除掉该服务,继续调整剩余服务的优先值。
以待推荐服务集S={s1,s2,s3,s4,s5,s6,s7}为例,如果服务s2,s3和s7已排序,而在对待推荐服务集中剩余的各个服务s1,s4,s5,s6的优先值进行调整时,出现了π(1)=π(6)的情况且π(1)和π(6)为当前最大的优先值,则此时取出服务s1,并将s1排序在服务推荐列表的第4位,然后继续调整去掉s1的优先值π(1)后的剩余服务s4,s5,s6的优先值。
方法实施例每次选取当前具有最大优先值的服务,按由前到后的顺序给出排序,每次被选中的服务的排序值为n-|S|+1,从而保证该选中的服务排在所有剩余服务的前边,排序值位于区间[1,n]之间,越小的排序值表明服务排序位置越靠前;其中,n为所述待推荐服务集中候选服务的总数;|S|为当前所述待推荐服务集中剩余的候选服务个数。
步骤S104.根据所述活动用户评价过的服务的排序对所述服务推荐排序列表进行修正。
具体地,所述根据所述活动用户评价过的服务的排序对所述服务推荐排序列表进行修正包括:
(1).对已评分的各个服务按照评分值从大到小的顺序进行排序,形成已评分服务列表G;
(2).按照所述已评分服务列表G中各个服务的顺序,调整所述服务推荐排序列表中相应服务的顺序。
按照已知评分对已评分的服务进行排序调整,所以已知评分服务的个数越多,那么调整的效果就越好。
通过以下实施例对服务推荐处理的方法作进一步描述。
所述服务推荐处理的方法包括如下步骤:
(1)获取服务评分矩阵
假设用户u1在服务搜索引擎中通过关键字搜索的待推荐服务集为S={s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15}。引擎中的用户数量为7,用户集为U={u1,u2,u3,u4,u5,u6,u7}。用户服务评分矩阵如表3所示,由于活动用户u1未给出服务s1,s4,s5,s9,s10,s14的评分,因此需要利用相似用户的排序偏好预测活动用户u1在待推荐服务集S上的排序。
表3用户服务评价矩阵
(2)选取相似用户
根据APCC的计算公式,用户u1与其他用户的相似性计算结果如下所示,因此为活动用户u1选择的相似用户集为Nu=(u2,u4,u5)。
sim(u1,u2)=0.92,sim(u1,u3)=-0.06,sim(u1,u4)=0.75
sim(u1,u5)=0.78,sim(u1,u6)=-0.47,sim(u1,u7)=0.25
以用户u1和用户u2为例,其共同给出评分的服务为s3,s6,s8,s12,s13和s15,所以按照评分值由大到小排序,用户u1的排序列表L1为(s6,s3,s15,s13,s12,s8),用户u2的排序列表L2为(s6,s3,s15,s13,s8,s12)。用户u1和用户u2共同评价过的服务个数N=6,按照APCC的计算公式,随机试验期望值p的计算过程如下:
所以sim(u1,u2)=p-(1-p)=2*0.96-1=0.92。其他用户与u1的相似性计算过程类似。
(3)构建活动用户u1各个服务间的偏序关系模型矩阵
依据用户u1已经给出的评分和相似用户的排序偏好,可以计算出待推荐服务集上的偏序模型矩阵如表4所示,该矩阵为反对称矩阵。其中服务(s2,s3,s6,s7,s8,s11,s12,s13,s15)相互间的排序函数值由已给出的服务评分直接计算得出,服务(s1,s4,s5,s9,s10,s14)与其他所有服务(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15)间的排序函数值由相似用户的排序偏好计算得出。
表4服务偏序关系模型矩阵
依据上文的偏好函数,服务(s2,s3,s6,s7,s8,s11,s12,s13,s15)相互间的偏好关系值由已给出的服务评分直接计算得出,服务(s1,s4,s5,s9,s10,s14)与其他所有服务(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15)间的排序函数值由相似用户的偏好关系值计算得出。
以服务s2和s3为例,两个服务的评分均已经给出分别为
ru,2=3,ru,3=12,所以服务s2和s3之间的偏好关系值为
ψ(2,3)=ru,2-ru,3=3-12=-9。已给出评分的其他服务集(s2,s3,s6,s7,s8,s11,s12,s13,s15)间的偏好关系值计算过程类似。
以服务s1和s10为例,两个服务的评分均未给出,利用选取的相似用户集为Nu=(u2,u4,u5)来计算得出服务s1和s10之间的偏好关系值,计算
过程如下:
服务(s1,s4,s5,s9,s10,s14)与其他所有服务(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15)间的排序函数值均由相似用户的排序偏好计算得出,计算过程与上文服务s1和s10之间的偏好关系值计算过程类似。
(4)贪心算法给出服务推荐排序列表
依据上面构建的偏序关系模型,由贪心算法可得出服务推荐排序列表为:(s6,s3,s15,s4,s9,s13,s11,s10,s14,s12,s5,s7,s8,s1,s2)。经过对已给出评分的服务(s2,s3,s6,s7,s8,s11,s12,s13,s15)的排序进行修正后,最终的服务推荐排序列表的排序为:(s6,s3,s15,s4,s13,s9,s11,s10,s5,s12,s7,s1,s2,s14,s8)。
贪心算法过程如下:
1)为每个服务计算优先值
以服务s1为例,其偏序函数如下
偏序函数反对称即Ψ(i,j)=-Ψ(j,i),则服务s1的优先值π(1)为:
其他服务的优先值计算过程与服务s1类似。最终各服务的优先值为:
π(2)=-94,π(3)=184,π(4)=48.74,π(5)=-40.46,π(6)=235.52
π(7)=-134,π(8)=-129.5,π(9)=36.88,π(10)=-0.42,π(11)=-4.12
π(12)=-70.6,π(13)=38.2,π(14)=-39.08,π(15)=93.42
2)选取具有最大优先值的服务
由上述计算的优先值可知,服务s6具有最大优先值,因此将其选出并给予排序值1,并从服务集S中将s6移除。
3)更新S中剩余服务的优先值
仍以服务s1为例,其偏序函数如下,t=6
π(1)=π(1)-ψ(1,t)+ψ(t,1)=π(1)-ψ(1,6)+ψ(6,1)
=π(1)-2ψ(1,6)=-94-2×(-9.96)
=-74.08
其他服务的优先值更新过程与服务s1类似。最终各服务更新后的优先值为:
π(2)=-70,π(3)=190,π(4)=61.54,π(5)=-26.46,π(7)=-112
π(8)=-101.5,π(9)=49.28,π(10)=13.18,π(11)=11.88,π(12)=-50.6
π(13)=52.2,π(14)=-16.28,π(15)=103.42
4)重复步骤2和3直至服务集S中的服务个数为1截止。
最终由贪心算法可得出服务推荐排序列表为:(s6,s3,s15,s4,s9,s13,s11,s10,s14,s12,s5,s7,s8,s1,s2)。
服务(s2,s3,s6,s7,s8,s11,s12,s13,s15)评分已经给出,如下所示,按照评分由大到小对(s2,s3,s6,s7,s8,s11,s12,s13,s15)排序为(s6,s3,s15,s13,s11,s12,s7,s2,s8);按照该排序对所述服务推荐排序列表中这些服务的顺序进行调整。
对贪心算法给出的推荐排序进行修正后,最终的推荐排序为:(s6,s3,s15,s4,s9,s13,s11,s10,s14,s12,s5,s7,s2,s1,s8)。
基于上述描述,本方法实施例提供的服务推荐处理的方法,利用服务排序位置敏感的相关系数计算用户间的APCC值,并按照预设标准选取相似用户,避免了基于KRCC值选取服务排序方法的局限性,保证了服务推荐结果的有效性;而且,依据相似用户的排序偏好,构建服务间的偏序关系模型,并采用贪心算法给出服务推荐排序列表,并且利用用户已给出的评分对服务推荐排序列表进行调整,提高了服务推荐结果的准确性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图2为本发明服务推荐处理装置的实施例结构示意图,如图2所示,所述装置包括:
第一获取模块10,用于获取用户集中各用户对待推荐服务集中各服务的评分值,所述用户集包括活动用户和历史用户,所述待推荐服务集包括多个待推荐给用户的服务;
第二获取模块20,用于根据所述活动用户与各历史用户共同评价过的服务的数量和评分值,获取所述活动用户的相似用户,所述相似用户是指对所述待推荐服务集中的各服务与所述活动用户具有相似排序偏好的历史用户;
构建模块30,用于根据所述活动用户和所述相似用户对所述待推荐服务集中各服务的评分值,构建各服务间的偏序关系模型矩阵;
推荐模块40,用于根据所述偏序关系模型矩阵,应用贪心算法获取服务推荐排序列表;
修正模块50,用于根据所述活动用户评价过的服务的排序对所述服务推荐排序列表进行修正。
进一步地,所述第二获取模块20具体用于:根据公式算随机试验期望值,再根据公式sim(u,v)=2p-1计算平均精度相关系数,选取所述平均精度相关系数满足预设条件的历史用户作为所述相似用户;其中,C(i)表示在所述活动用户u和所述历史用户v各自所对应的排序列表中共同位于所述活动用户u对应的排序列表中的第i个服务前面的服务的数量,N表示所述活动用户u和所述历史用户v共同评价过的服务个数,所述排序列表中所述共同给出评分的服务按照各自对应的评分值由大到小排序。
所述构建模块30具体用于:
获取所述活动用户u各服务间的偏好关系值ψ(i,j),其中,j≥i,i,j∈S;所述ψ(i,j)表示服务si和服务sj间的偏好关系值;S表示待推荐服务集。
若所述活动用户u对服务si和所述服务sj均有评分,则ψ(i,j)=ru,i-ru,j,ru,i为所述活动用户u对服务si的评分值,ru,j为所述活动用户u对服务sj的评分值;
若所述活动用户u对服务si和所述服务sj至少有一个没有评分,则根据相似用户集计算服务si和服务sj间的偏好关系值ψ(i,j),具体地,
其中,所述相似用户集包括所述活动用户u的所有相似用户中同时评价过服务i和j的各个相似用户v,rv,i为所述历史用户u对服务si的评分值,rv,j为所述历史用户v对服务sj的评分值,
若j=i,则ψ(i,j)=0;
根据所述活动用户u各服务间的偏好关系值ψ(i,j)构建所述偏序关系模型矩阵。
所述推荐模块40具体用于:
获取服务si的优先值选取优先值最大的服务st并给予所述服务st在所述服务推荐排序列表的排序值为1,并从所述待推荐服务集S中将服务st移除;
根据公式π(i)=π(i)-2ψ(i,t)调整所述待推荐服务集S中除服务st之外的其他所有服务si的优先值π(i),再次选取优先值最大的服务sr并给予所述服务sr在所述服务推荐排序列表的排序值为2,并从所述待推荐服务集S中将服务sr移除;
重复上述步骤,直至所述待推荐服务集中所有的服务在所述服务推荐排序列表中具有各自对应的排序值。
本实施例提供的服务推荐处理装置的功能和处理流程,可以参见上述方法实施例,此处不再赘述。
本发明实施例提供的服务推荐处理装置,引入用户对服务排序偏好的关注,利用服务排序位置敏感的相关系数计算用户间的APCC值,并按照预设标准选取相似用户,保证了服务推荐结果的有效性;而且,依据相似用户的排序偏好,构建服务间的偏序关系模型,将服务推荐问题转化为目标函数最优解求解问题并采用贪心算法给出服务推荐排序列表,并且利用用户已给出的评分对推荐排序列表进行调整,提高了服务推荐结果的准确性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (5)
1.一种服务推荐处理的方法,其特征在于,包括:
获取用户集中各用户对待推荐服务集中各服务的评分值,所述用户集包括活动用户和历史用户,所述待推荐服务集包括多个待推荐给用户的服务;
根据所述活动用户与各历史用户共同评价过的服务的数量和评分值,获取所述活动用户的相似用户,所述相似用户是指对所述待推荐服务集中的各服务与所述活动用户具有相似排序偏好的历史用户;
根据所述活动用户和所述相似用户对所述待推荐服务集中各服务的评分值,构建各服务间的偏序关系模型矩阵;
根据所述偏序关系模型矩阵,应用贪心算法获取服务推荐排序列表;
根据所述活动用户评价过的服务的排序对所述服务推荐排序列表进行修正;
其中,所述根据所述活动用户与各历史用户共同评价过的服务的数量和评分值,获取所述活动用户的相似用户,包括:
根据公式计算随机试验期望值,再根据公式sim(u,v)=2p-1计算平均精度相关系数,选取所述平均精度相关系数满足预设条件的历史用户作为所述相似用户;其中,C(i)表示在所述活动用户u和所述历史用户v各自所对应的排序列表中共同位于所述活动用户u对应的排序列表中的第i个服务前面的服务的数量,N表示所述活动用户u和所述历史用户v共同评价过的服务个数,所述排序列表中所述共同给出评分的服务按照各自对应的评分值由大到小排序;
所述根据所述活动用户和所述相似用户对所述待推荐服务集中各服务的评分值,构建所述活动用户各服务间的偏序关系模型矩阵,包括:
获取所述活动用户u各服务间的偏好关系值ψ(i,j),其中,j≥i,i,j∈S;所述ψ(i,j)表示服务si和服务sj间的偏好关系值;S表示待推荐服务集;
若所述活动用户u对服务si和所述服务sj均有评分,则ψ(i,j)=ru,i-ru,j,ru,i为所述活动用户u对服务si的评分值,ru,j为所述活动用户u对服务sj的评分值;
若所述活动用户u对服务si和所述服务sj至少有一个没有评分,则根据相似用户集计算服务si和服务sj间的偏好关系值ψ(i,j),具体地,
其中,所述相似用户集包括所述活动用户u的所有相似用户中同时评价过服务i和j的各个相似用户v,rv,i为所述历史用户u对服务si的评分值,rv,j为所述历史用户v对服务sj的评分值,
若j=i,则ψ(i,j)=0;
根据所述活动用户u各服务间的偏好关系值ψ(i,j)构建所述偏序关系模型矩阵。
2.根据权利要求1所述的方法,其特征在于,所述根据所述偏序关系模型,应用贪心算法获取服务推荐排序列表,包括:
获取服务si的优先值选取优先值最大的服务st并给予所述服务st在所述服务推荐排序列表的排序值为1,并从所述待推荐服务集S中将服务st移除;
根据公式π(i)=π(i)-2ψ(i,t)调整所述待推荐服务集S中除服务st之外的其他所有服务si的优先值π(i),再次选取优先值最大的服务sr并给予所述服务sr在所述服务推荐排序列表的排序值为2,并从所述待推荐服务集S中将服务sr移除;
重复上述步骤,直至所述待推荐服务集中所有的服务在所述服务推荐排序列表中具有各自对应的排序值。
3.根据权利要求1或2所述的方法,其特征在于,所述预设条件为所述平均精度相关系值在(0.5,1]的范围内。
4.一种服务推荐处理装置,其特征在于,包括:
第一获取模块,用于获取用户集中各用户对待推荐服务集中各服务的评分值,所述用户集包括活动用户和历史用户,所述待推荐服务集包括多个待推荐给用户的服务;
第二获取模块,用于根据所述活动用户与各历史用户共同评价过的服务的数量和评分值,获取所述活动用户的相似用户,所述相似用户是指对所述待推荐服务集中的各服务与所述活动用户具有相似排序偏好的历史用户;
构建模块,用于根据所述活动用户和所述相似用户对所述待推荐服务集中各服务的评分值,构建各服务间的偏序关系模型矩阵;
推荐模块,用于根据所述偏序关系模型矩阵,应用贪心算法获取服务推荐排序列表;
修正模块,用于根据所述活动用户评价过的服务的排序对所述服务推荐排序列表进行修正;
其中,所述第二获取模块具体用于:根据公式计算随机试验期望值,再根据公式sim(u,v)=2p-1计算平均精度相关系数,选取所述平均精度相关系数满足预设条件的历史用户作为所述相似用户;其中,C(i)表示在所述活动用户u和所述历史用户v各自所对应的排序列表中共同位于所述活动用户u对应的排序列表中的第i个服务前面的服务的数量,N表示所述活动用户u和所述历史用户v共同评价过的服务个数,所述排序列表中所述共同给出评分的服务按照各自对应的评分值由大到小排序;
所述构建模块具体用于:
获取所述活动用户u各服务间的偏好关系值ψ(i,j),其中,j≥i,i,j∈S;所述ψ(i,j)表示服务si和服务sj间的偏好关系值;S表示待推荐服务集;
若所述活动用户u对服务si和所述服务sj均有评分,则ψ(i,j)=ru,i-ru,j,ru,i为所述活动用户u对服务si的评分值,ru,j为所述活动用户u对服务sj的评分值;
若所述活动用户u对服务si和所述服务sj至少有一个没有评分,则根据相似用户集计算服务si和服务sj间的偏好关系值ψ(i,j),具体地,
其中,所述相似用户集包括所述活动用户u的所有相似用户中同时评价过服务i和j的各个相似用户v,rv,i为所述历史用户u对服务si的评分值,rv,j为所述历史用户v对服务sj的评分值,
若j=i,则ψ(i,j)=0;
根据所述活动用户u各服务间的偏好关系值ψ(i,j)构建所述偏序关系模型矩阵。
5.根据权利要求4所述的装置,其特征在于,所述推荐模块具体用于:
获取服务si的优先值选取优先值最大的服务st并给予所述服务st在所述服务推荐排序列表的排序值为1,并从所述待推荐服务集S中将服务st移除;
根据公式π(i)=π(i)-2ψ(i,t)调整所述待推荐服务集S中除服务st之外的其他所有服务si的优先值π(i),再次选取优先值最大的服务sr并给予所述服务sr在所述服务推荐排序列表的排序值为2,并从所述待推荐服务集S中将服务sr移除;
重复上述步骤,直至所述待推荐服务集中所有的服务在所述服务推荐排序列表中具有各自对应的排序值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310188202.9A CN104182392B (zh) | 2013-05-20 | 2013-05-20 | 服务推荐处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310188202.9A CN104182392B (zh) | 2013-05-20 | 2013-05-20 | 服务推荐处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104182392A CN104182392A (zh) | 2014-12-03 |
CN104182392B true CN104182392B (zh) | 2017-12-15 |
Family
ID=51963451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310188202.9A Active CN104182392B (zh) | 2013-05-20 | 2013-05-20 | 服务推荐处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104182392B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988799B (zh) * | 2015-02-12 | 2020-07-17 | Oppo广东移动通信有限公司 | 一种软件商店页面管理的方法及服务器 |
CN104978676B (zh) * | 2015-07-13 | 2018-05-25 | 昆明理工大学 | 一种基于不一致用户评价准则的在线服务信誉度量方法 |
CN106651533A (zh) * | 2016-12-29 | 2017-05-10 | 合肥华凌股份有限公司 | 一种基于用户行为的个性化商品推荐方法及装置 |
CN106897912B (zh) * | 2017-01-18 | 2020-08-28 | 太仓中科信息技术研究院 | 基于epsilon反馈算法的推荐系统冷启动方法 |
CN106951528B (zh) * | 2017-03-21 | 2019-11-08 | 北京邮电大学 | 一种推荐信息确定方法及装置 |
CN109995837B (zh) * | 2018-01-02 | 2021-11-19 | 中国移动通信有限公司研究院 | 一种业务套餐推荐方法、装置及服务器 |
CN111274493B (zh) * | 2020-01-17 | 2020-09-08 | 电子科技大学 | 一种基于多源用户评论的评分预测方法 |
CN111986005A (zh) * | 2020-08-31 | 2020-11-24 | 上海博泰悦臻电子设备制造有限公司 | 活动推荐方法及相关设备 |
CN111915820B (zh) * | 2020-09-03 | 2021-11-23 | 安徽上尚电子科技股份有限公司 | 一种自助营业终端引导服务提供系统 |
CN112307350A (zh) * | 2020-11-16 | 2021-02-02 | 哈尔滨工业大学 | 一种用户需求不明确情况下的服务推荐方法 |
CN113221019B (zh) * | 2021-04-02 | 2022-10-25 | 合肥工业大学 | 基于即时学习的个性化推荐方法和系统 |
-
2013
- 2013-05-20 CN CN201310188202.9A patent/CN104182392B/zh active Active
Non-Patent Citations (2)
Title |
---|
EigenRank: A Ranking-Oriented Approach to Collaborative;Nathan N. Liu;Qiang Yang;《Proc.of the 31th annual international ACM SIGIR Conference on Research and Development in Information Retrieval》;20081231;83-90 * |
TFMAP: Optimizing MAP for Top-N Context-aware;Y Shi等;《Proc.of the 35th International ACM SIGIR Conference on Research and Development in Information Retrieval》;20121231;155-164 * |
Also Published As
Publication number | Publication date |
---|---|
CN104182392A (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104182392B (zh) | 服务推荐处理的方法和装置 | |
CN105701216B (zh) | 一种信息推送方法及装置 | |
Basu | Does a country’s scientific ‘productivity’depend critically on the number of country journals indexed? | |
CN106651544B (zh) | 最少用户交互的会话式推荐系统 | |
CN104102648A (zh) | 基于用户行为数据的兴趣推荐方法及装置 | |
CN105677715A (zh) | 一种基于多用户的视频推荐方法及装置 | |
US20130091143A1 (en) | Bigram suggestions | |
CN106777282B (zh) | 相关搜索的排序方法和装置 | |
CN105956148A (zh) | 资源信息的推荐方法和装置 | |
CN104376083B (zh) | 一种基于关注关系和多用户行为的图推荐方法 | |
EP2724267A1 (en) | Search method and apparatus | |
CN105893427A (zh) | 资源搜索方法以及服务器 | |
CN104778237A (zh) | 一种基于关键用户的个性化推荐方法和系统 | |
CN112765484B (zh) | 短视频推送方法、装置、电子设备及存储介质 | |
CN104572757A (zh) | 微博群体处理方法及装置 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
US20120330941A1 (en) | Search Method and Apparatus | |
CN104462554A (zh) | 问答页面相关问题推荐方法和装置 | |
US9489428B2 (en) | Search ranking method and system for community users | |
CN105512122B (zh) | 信息检索系统的排序方法及装置 | |
CN103218419B (zh) | 网络标签聚类方法和系统 | |
CN108804676B (zh) | 一种帖子排序方法、装置、设备及计算机可读存储介质 | |
CN102737038A (zh) | 关联度确定方法及装置、信息提供方法及装置 | |
KR100869545B1 (ko) | 검색 히스토리를 생성하는 되풀이 검색시스템 | |
US7890494B2 (en) | System and/or method for processing events |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |