CN108197285A - 一种数据推荐方法以及装置 - Google Patents
一种数据推荐方法以及装置 Download PDFInfo
- Publication number
- CN108197285A CN108197285A CN201810036690.4A CN201810036690A CN108197285A CN 108197285 A CN108197285 A CN 108197285A CN 201810036690 A CN201810036690 A CN 201810036690A CN 108197285 A CN108197285 A CN 108197285A
- Authority
- CN
- China
- Prior art keywords
- user
- project
- item
- recommended
- target user
- 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/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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据推荐方法以及装置,其中方法包括:获取所有用户簇和所有项目簇;在目标用户所属的用户簇中获取与目标用户对应的邻居用户;将目标用户所评价过的项目和邻居用户所评价过的项目均确定为目标项目,并在目标项目所属的项目簇中获取与目标项目对应的邻居项目;在目标项目和目标项目对应的邻居项目中去除目标用户所评价过的项目,得到待推荐项目集,分别计算目标用户与待推荐项目集中每个项目之间的预测评分,并根据预测评分在待推荐项目集中选择与目标用户对应的推荐项目。采用本发明,可降低系统功耗,并提高推荐的准确性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据推荐方法以及装置。
背景技术
随着互联网技术的飞速发展,网络平台上的数据量以指数级迅猛增长,信息技术深刻地影响和改变着人类生活。由于互联网中有着巨量、繁杂的信息海洋,所以如何在信息海洋中为海量用户推荐个性化的信息服务,则显得尤为重要。
在目前的信息推荐方法中,通常会根据用户对项目(如电影、歌曲、文章等互联网信息)的评分,在海量用户中为待推荐用户查找与其相似的用户,再在这些相似的用户所评价过的项目中为待推荐用户选择推荐项目。由于要在海量用户中查找与待推荐用户相似的用户,所以会因查找的范围过大而带来庞大的计算量,导致系统功耗大大增加;而且将这些相似的用户所评价过的项目作为推荐候选集,会因用户所评价过的项目的数量过少而导致推荐候选集中的项目数量过少,进而影响推荐的准确性。
发明内容
本发明实施例提供一种数据推荐方法以及装置,可降低系统功耗,并提高推荐的准确性。
本发明一方面提供了一种数据推荐方法,包括:
获取所有用户簇和所有项目簇;所述用户簇是通过对原始用户集合中每个用户对应的用户特征向量进行聚类得到,所述项目簇是通过对原始项目集合中每个项目对应的项目特征向量进行聚类得到;
根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户;
将所述目标用户所评价过的项目和所述邻居用户所评价过的项目均确定为目标项目,并根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目;
在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目。
其中,还包括:
根据所述目标用户所评价过的项目,建立所述目标用户对应的评分对角矩阵;所述评分对角矩阵包括所述目标用户所评价过的每个项目的评分数据;
将时间衰减函数分别与所述评分对角矩阵中每个项目的评分数据进行相乘,得到评分衰减对角矩阵;所述时间衰减函数包括与待相乘的项目相关联的衰减时间参数,所述衰减时间参数是所述目标用户对应的选定推荐时间戳与所述目标用户对待相乘的项目的评分时间戳之间的差值;
在所述原始项目集合对应的项目属性矩阵中,获取所述目标用户所评价过的项目对应的目标项目属性矩阵,并根据所述目标项目属性矩阵和所述评分衰减对角矩阵,生成用户特征矩阵,并将所述用户特征矩阵转换为所述目标用户对应的用户特征向量。
其中,还包括:
在所述原始项目集合对应的项目属性矩阵中提取与所述目标项目相关联的元素,并将所述目标项目相关联的元素组合为所述目标项目对应的项目特征向量。
其中,还包括:
设置多个第一聚类中心向量,分别计算所述原始用户集合中每个用户对应的用户特征向量与所述多个第一聚类中心向量之间的第一向量距离;
根据所述第一向量距离,确定各用户特征向量与各第一聚类中心向量之间的映射关系,并将映射有相同第一聚类中心向量的用户特征向量所对应的用户划分至相同的用户簇中;
其中,所述用户簇的数量与所述第一聚类中心向量的数量相同。
其中,还包括:
设置多个第二聚类中心向量,分别计算所述原始项目集合中每个项目对应的项目特征向量与所述多个第二聚类中心向量之间的第二向量距离;
根据所述第二向量距离,确定各项目特征向量与各第二聚类中心向量之间的映射关系,并将映射有相同第二聚类中心向量的项目特征向量所对应的项目划分至相同的项目簇中;
其中,所述项目簇的数量与所述第二聚类中心向量的数量相同。
其中,所述根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户,包括:
将目标用户所属的用户簇中除了所述目标用户以外的用户,确定为待处理用户,并获取所述目标用户与所述待处理用户分别对应的用户特征向量;
获取所述目标用户与所述待处理用户之间的项目属性交集,并根据所述目标用户与所述待处理用户分别对应的用户特征向量中与所述项目属性交集相关联的元素、所述目标用户与所述待处理用户分别对应的用户特征向量中所有元素的平均值,计算所述目标用户与所述待处理用户之间的用户相似度值;所述项目属性交集是指所述目标用户所评价过的项目对应的项目属性与所述待处理用户所评价过的项目对应的项目属性之间的交集;
按照所述用户相似度值从高至低的顺序对所有所述待处理用户进行排序,将排序序号小于第一数量阈值的所述待处理用户确定为满足用户相似度条件的用户,并将满足用户相似度条件的用户确定为所述目标用户对应的邻居用户。
其中,所述根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目,包括:
将所述目标项目所属的项目簇中除了所述目标项目以外的项目,确定为待匹配项目,并获取所述目标项目与所述待匹配项目分别对应的项目特征向量;
获取所述目标项目与所述待匹配项目之间的项目属性并集,并根据所述目标项目与所述待匹配项目分别对应的项目特征向量中与所述项目属性并集相关联的元素,计算所述目标项目与所述待匹配项目之间的项目相似度值;所述项目属性并集是指所述目标项目对应的项目属性与所述待匹配项目对应的项目属性之间的并集;
按照所述项目相似度值从高至低的顺序对所有所述待匹配项目进行排序,将排序序号小于第二数量阈值的所述待匹配项目确定为满足项目相似度条件的项目,并将满足项目相似度条件的项目确定为所述目标项目对应的邻居项目。
其中,所述分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目,包括:
将所述待推荐项目集中的每个项目均确定为待推荐项目;
计算所述目标用户与每个所述待推荐项目之间的预测评分;
按照所述预测评分从高至低的顺序对所有所述待推荐项目进行排序,将排序序号小于第三数量阈值的所述待推荐项目确定为所述目标用户对应的推荐项目。
其中,所述计算所述目标用户与每个所述待推荐项目之间的预测评分,包括:
若所述待推荐项目为具有评分的项目,则根据所述目标用户分别与每个所述邻居用户之间的用户相似度值、所述目标用户和每个所述邻居用户分别对应的用户评分均值、每个所述邻居用户分别对所述待推荐项目的评分,计算所述目标用户与所述待推荐项目之间的预测评分;所述用户评分均值是指一个用户对所评价过的项目的评分的平均值;
若所述待推荐项目为未具有评分的项目,则根据所述待推荐项目对应的每个邻居项目分别与所述待推荐项目之间的项目相似度值、所述待推荐项目对应的每个邻居项目分别对应的项目评分均值、所述目标用户对应的用户评分均值、所有所述项目评分均值的平均值,计算所述目标用户与所述待推荐项目之间的预测评分;所述项目评分均值是指一个项目所具有的所有评分的平均值。
本发明另一方面提供了一种数据推荐装置,包括:
簇获取模块,用于获取所有用户簇和所有项目簇;所述用户簇是通过对原始用户集合中每个用户对应的用户特征向量进行聚类得到,所述项目簇是通过对原始项目集合中每个项目对应的项目特征向量进行聚类得到;
用户获取模块,用于根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户;
项目获取模块,用于将所述目标用户所评价过的项目和所述邻居用户所评价过的项目均确定为目标项目,并根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目;
推荐计算模块,用于在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目。
其中,还包括:
矩阵计算模块,用于根据所述目标用户所评价过的项目,建立所述目标用户对应的评分对角矩阵;所述评分对角矩阵包括所述目标用户所评价过的每个项目的评分数据;
所述矩阵计算模块,还用于将时间衰减函数分别与所述评分对角矩阵中每个项目的评分数据进行相乘,得到评分衰减对角矩阵;所述时间衰减函数包括与待相乘的项目相关联的衰减时间参数,所述衰减时间参数是所述目标用户对应的选定推荐时间戳与所述目标用户对待相乘的项目的评分时间戳之间的差值;
用户向量生成模块,用于在所述原始项目集合对应的项目属性矩阵中,获取所述目标用户所评价过的项目对应的目标项目属性矩阵,并根据所述目标项目属性矩阵和所述评分衰减对角矩阵,生成用户特征矩阵,并将所述用户特征矩阵转换为所述目标用户对应的用户特征向量。
其中,还包括:
项目向量生成模块,用于在所述原始项目集合对应的项目属性矩阵中提取与所述目标项目相关联的元素,并将所述目标项目相关联的元素组合为所述目标项目对应的项目特征向量。
其中,还包括:
第一聚类模块,用于设置多个第一聚类中心向量,分别计算所述原始用户集合中每个用户对应的用户特征向量与所述多个第一聚类中心向量之间的第一向量距离;
所述第一聚类模块,还用于根据所述第一向量距离,确定各用户特征向量与各第一聚类中心向量之间的映射关系,并将映射有相同第一聚类中心向量的用户特征向量所对应的用户划分至相同的用户簇中;
其中,所述用户簇的数量与所述第一聚类中心向量的数量相同。
其中,还包括:
第二聚类模块,用于设置多个第二聚类中心向量,分别计算所述原始项目集合中每个项目对应的项目特征向量与所述多个第二聚类中心向量之间的第二向量距离;
所述第二聚类模块,还用于根据所述第二向量距离,确定各项目特征向量与各第二聚类中心向量之间的映射关系,并将映射有相同第二聚类中心向量的项目特征向量所对应的项目划分至相同的项目簇中;
其中,所述项目簇的数量与所述第二聚类中心向量的数量相同。
其中,所述用户获取模块包括:
用户确定单元,用于将目标用户所属的用户簇中除了所述目标用户以外的用户,确定为待处理用户,并获取所述目标用户与所述待处理用户分别对应的用户特征向量;
用户计算单元,用于获取所述目标用户与所述待处理用户之间的项目属性交集,并根据所述目标用户与所述待处理用户分别对应的用户特征向量中与所述项目属性交集相关联的元素、所述目标用户与所述待处理用户分别对应的用户特征向量中所有元素的平均值,计算所述目标用户与所述待处理用户之间的用户相似度值;所述项目属性交集是指所述目标用户所评价过的项目对应的项目属性与所述待处理用户所评价过的项目对应的项目属性之间的交集;
所述用户确定单元,还用于按照所述用户相似度值从高至低的顺序对所有所述待处理用户进行排序,将排序序号小于第一数量阈值的所述待处理用户确定为满足用户相似度条件的用户,并将满足用户相似度条件的用户确定为所述目标用户对应的邻居用户。
其中,所述项目获取模块包括:
第一项目确定单元,用于将所述目标项目所属的项目簇中除了所述目标项目以外的项目,确定为待匹配项目,并获取所述目标项目与所述待匹配项目分别对应的项目特征向量;
项目计算单元,用于获取所述目标项目与所述待匹配项目之间的项目属性并集,并根据所述目标项目与所述待匹配项目分别对应的项目特征向量中与所述项目属性并集相关联的元素,计算所述目标项目与所述待匹配项目之间的项目相似度值;所述项目属性并集是指所述目标项目对应的项目属性与所述待匹配项目对应的项目属性之间的并集;
所述第一项目确定单元,还用于按照所述项目相似度值从高至低的顺序对所有所述待匹配项目进行排序,将排序序号小于第二数量阈值的所述待匹配项目确定为满足项目相似度条件的项目,并将满足项目相似度条件的项目确定为所述目标项目对应的邻居项目。
其中,所述推荐计算模块包括:
第二项目确定单元,用于在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,并将所述待推荐项目集中的每个项目均确定为待推荐项目;
评分计算单元,用于计算所述目标用户与每个所述待推荐项目之间的预测评分;
所述第二项目确定单元,还用于按照所述预测评分从高至低的顺序对所有所述待推荐项目进行排序,将排序序号小于第三数量阈值的所述待推荐项目确定为所述目标用户对应的推荐项目。
其中,所述评分计算单元包括:
第一计算子单元,用于若所述待推荐项目为具有评分的项目,则根据所述目标用户分别与每个所述邻居用户之间的用户相似度值、所述目标用户和每个所述邻居用户分别对应的用户评分均值、每个所述邻居用户分别对所述待推荐项目的评分,计算所述目标用户与所述待推荐项目之间的预测评分;所述用户评分均值是指一个用户对所评价过的项目的评分的平均值;
第二计算子单元,用于若所述待推荐项目为未具有评分的项目,则根据所述待推荐项目对应的每个邻居项目分别与所述待推荐项目之间的项目相似度值、所述待推荐项目对应的每个邻居项目分别对应的项目评分均值、所述目标用户对应的用户评分均值、所有所述项目评分均值的平均值,计算所述目标用户与所述待推荐项目之间的预测评分;所述项目评分均值是指一个项目所具有的所有评分的平均值。
本发明另一方面提供了一种数据推荐装置,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如本发明实施例中一方面中的方法。。
本发明另一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本发明实施例中一方面中的方法。
本发明实施例根据目标用户对应的用户特征向量,在目标用户所属的用户簇中获取与目标用户之间的相似度满足用户相似度条件的用户,作为目标用户对应的邻居用户,这些邻居用户即为与目标用户相似的用户,由于是在目标用户所在的用户簇中查找邻居用户,因此,大大缩小了查找范围,从而减少了计算量,进而可以降低系统功耗。本发明实施例再将目标用户所评价过的项目和邻居用户所评价过的项目均确定为目标项目,并根据目标项目对应的项目特征向量,在目标项目所属的项目簇中获取与目标项目之间的相似度满足项目相似度条件的项目,作为目标项目对应的邻居项目,并在目标项目和目标项目对应的邻居项目中去除目标用户所评价过的项目,得到待推荐项目集,分别计算目标用户与待推荐项目集中每个项目之间的预测评分,并根据预测评分在待推荐项目集中选择与目标用户对应的推荐项目。由此可见,待推荐项目集不仅可以包括邻居用户所评价过的项目,还可以包括目标项目对应的邻居项目,因此,尽管在用户所评价过的项目的数量过少的情况下,也可以通过目标项目对应的邻居项目扩充待推荐项目集中的项目数量,进而可以提高推荐的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种网络架构的示意图;
图1b是本发明实施例提供的一种数据推荐方法的场景示意图;
图2是本发明实施例提供的一种数据推荐方法的流程示意图;
图3是本发明实施例提供的另一种数据推荐方法的流程示意图;
图4a是本发明实施例提供的一种选择邻居用户的场景示意图;
图4b是本发明实施例提供的一种选择邻居项目的场景示意图;
图4c是本发明实施例提供的一种选择推荐项目的场景示意图;
图5是本发明实施例提供的一种数据推荐装置的结构示意图;
图6是本发明实施例提供的另一种数据推荐装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1a,是本发明实施例提供的一种网络架构的示意图。如图1a所示,该网络架构可以包括服务器100和多个用户终端(图1a具体以用户终端200a、用户终端200b、用户终端200c为例,本发明实施例不对用户终端的数量进行限定),服务器100可以分别与每个用户终端进行网络连接,每个用户终端均可以对项目进行评分,并将评分结果发送至服务器100,服务器100可以根据所有用户终端的评分结果以及所有项目的项目属性,为不同的用户终端推送不同的推荐项目;项目可以理解为电影、游戏、文章、歌曲等多媒体数据,以某一项目为“电影A”为例,该项目对应的项目属性可以包括“电影A”的电影画风、上映年份、所属地域、主题等属性。
进一步的,再请参见图1b,是本发明实施例提供的一种数据推荐方法的场景示意图。如图1b所示,具体以图1a中的服务器100和用户终端200a为例,为具体的推荐处理过程进行说明。如图1b所示,服务器100可以基于已有的所有用户对项目的评分和所有项目对应的项目属性,生成每个用户对应的用户特征向量,并生成每个项目对应的项目特征向量。服务器100再对所有用户特征向量进行聚类,以将用户划分到不同的用户簇中,并对所有项目特征向量进行聚类,以将项目划分到不同的项目簇中,由于聚类过程的计算量比较大,为了保证推荐的实时性,可以对聚类进行离线处理,以保存所有用户簇和所有项目簇,在要对某用户进行项目推荐时,直接提取已保存的所有用户簇和所有项目簇。在图1b中,服务器100在对用户终端200a对应的用户u1进行项目推荐前,先获取已保存的所有用户簇和所有项目簇,在所有用户簇中找出用户u1所在的用户簇a1,并计算用户u1与用户簇a1中的其他用户之间的用户相似度值,并根据用户相似度值在用户簇a1中筛选出用户u1对应的多个邻居用户,形成邻居用户集合。服务器100再将每个邻居用户和用户u1所评价过的项目确定为目标项目,并在所有项目簇中查找每个目标项目所在的项目簇,如图1b所示,所找出的项目簇可以包括项目簇b1、项目簇b2等项目簇。以其中一个属于项目簇b1的目标项目为例,服务器100可以计算该目标项目与项目簇b1中的其他项目之间的项目相似度值,并根据项目相似度值在项目簇b1中筛选出与该目标项目对应的多个邻居项目,基于同样的方式可以选择出其他目标项目对应的邻居项目,将所有目标项目、所有目标项目分别对应的邻居项目添加到邻居项目集合,将邻居项目集合中的用户u1所评价过的项目删除,形成待推荐项目集。服务器100再计算用户u1与待推荐项目集中的每个项目之间的预测评分,并根据预测评分在待推荐项目集中选择出若干推荐项目,并将所选择出的推荐项目发送至用户终端200a,以完成对用户u1的项目推荐。待推荐项目集不仅可以包括邻居用户所评价过的项目,还可以包括目标项目对应的邻居项目,因此,尽管在用户所评价过的项目的数量过少的情况下,也可以通过目标项目对应的邻居项目扩充待推荐项目集中的项目数量,进而可以提高推荐的准确性。而且通过聚类技术,分别对用户和项目进行聚类,可以减小邻居用户和邻居项目的查询范围,以减少计算量。
其中,在以下图2至6对应的实施例中,将对生成用户特征向量和项目特征向量的具体过程、聚类的具体过程、计算用户相似度值和项目相似度值的具体过程、计算预测评分的具体过程进行详细说明。
请参见图2,是本发明实施例提供的一种数据推荐方法的流程示意图,所述方法可以包括:
S201,获取所有用户簇和所有项目簇;所述用户簇是通过对原始用户集合中每个用户对应的用户特征向量进行聚类得到,所述项目簇是通过对原始项目集合中每个项目对应的项目特征向量进行聚类得到;
具体的,服务器可以存储有原始项目集合和原始用户集合,原始项目集合中的所有项目可以包括由服务器和/或CP(Content Provider,内容提供商)所提供的多媒体数据,例如,电影、游戏、文章、歌曲等多媒体数据。原始用户集合中的所有用户可以包括对原始项目集合中的至少一个项目进行过评分的用户,例如,若某个用户对原始项目集合中的某一部电影进行评分(如10分制,该用户打了9分),则服务器可以将该用户添加到原始用户集合中,并保存该评分结果(即该用户对该电影所评的9分)。
服务器可以根据原始项目集合中的每个项目对应的项目属性、原始用户集合中每个用户对项目的评分、用户评分对用户兴趣特征贡献度随时间衰减的特性,生成原始用户集合中每个用户对应的用户特征向量。服务器还可以根据原始项目集合中的每个项目对应的项目属性,生成原始项目集合中的每个项目对应的项目特征向量。由于用户特征向量不仅包含用户对项目的评分这一维度,且用户特征向量还可以包括用户评分对用户兴趣特征贡献度随时间衰减的特性以及用户所评价过的项目对应的项目属性这两大维度,从而可以多维度的刻画用户的特征,即用户特征向量可以更加准确的体现用户的特征,以提高后续的推荐精度。
服务器在生成原始用户集合中每个用户对应的用户特征向量后,可以基于kmeans聚类算法对原始用户集合中的所有用户进行聚类,该聚类过程可以为:设置多个第一聚类中心向量,分别计算原始用户集合中每个用户对应的用户特征向量与多个第一聚类中心向量之间的第一向量距离,并根据第一向量距离,确定各用户特征向量与各第一聚类中心向量之间的映射关系,并将映射有相同第一聚类中心向量的用户特征向量所对应的用户划分至相同的用户簇中,其中,用户簇的数量与第一聚类中心向量的数量相同。其中,一个用户簇可以代表某一类兴趣相似的用户。例如,第一步,从n个用户特征向量中任意选择k个用户特征向量作为初始的聚类中心向量(可以将该聚类中心向量称之为第一聚类中心向量);第二步,对于所剩下的(n-k)个用户特征向量,则计算剩下的(n-k)个用户特征向量与k个初始的聚类中心向量之间的向量距离(即相似度),对于一个用户特征向量,可以将该用户特征向量分配给最小的向量距离所对应的聚类中心向量所代表的圈子,因此,可以将剩下的(n-k)个用户特征向量分别分配到不同的圈子;第三步,再根据每个圈子中的用户特征向量更新每个圈子的聚类中心向量(如可以将圈子中所有用户特征向量的均值作为更新后的聚类中心向量);不断重复第二步和第三步的过程,直到标准测度函数开始收敛为止,即完成了对n个用户特征向量的聚类。
服务器生成原始项目集合中每个项目对应的项目特征向量后,也可以基于kmeans聚类算法对原始项目集合中的所有项目进行聚类,该聚类过程可以为:设置多个第二聚类中心向量,分别计算原始项目集合中每个项目对应的项目特征向量与多个第二聚类中心向量之间的第二向量距离,并根据第二向量距离,确定各项目特征向量与各第二聚类中心向量之间的映射关系,并将映射有相同第二聚类中心向量的项目特征向量所对应的项目划分至相同的项目簇中;其中,项目簇的数量与第二聚类中心向量的数量相同。其中,一个项目簇可以代表某一类属性相似的项目。例如,第一步,从n个项目特征向量中任意选择k个项目特征向量作为初始的聚类中心向量(可以将该聚类中心向量称之为第二聚类中心向量);第二步,对于所剩下的(n-k)个项目特征向量,则计算剩下的(n-k)个项目特征向量与k个初始的聚类中心向量之间的向量距离(即相似度),对于一个项目特征向量,可以将该项目特征向量分配给最小的向量距离所对应的聚类中心向量所代表的圈子,因此,可以将剩下的(n-k)个项目特征向量分别分配到不同的圈子;第三步,再根据每个圈子中的项目特征向量更新每个圈子的聚类中心向量(如可以将圈子中所有项目特征向量的均值作为更新后的聚类中心向量);不断重复步和第三步的过程,直到标准测度函数开始收敛为止,即完成了对n个项目特征向量的聚类。
kmeans聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。其中,在使用kmeans聚类算法之前,还需要确定k的值,即聚类中心向量的数量,具体可以通过预设的预测模型从所有用户特征向量(或所有项目特征向量)中推断簇的数量,即推断出k的值,所述预设的预测模型可以为DPMM(Dirichlet Process Mixture Model,狄利克雷过程混合模型)。
可选的,服务器还可以基于DBSCAN(Density-Based Spatial Clustering ofApplications with Noise,具有噪声的基于密度的聚类方法)等聚类算法对用户特征向量和项目特征向量进行聚类,本发明实施例不对聚类算法进行限定。由于聚类过程的计算量较大,所以无需每次对用户进行推荐时都进行聚类,即可以预先进行离线聚类,以保存聚类得到的所有用户簇和所有项目簇,以便于后续可以直接提取所保存的用户簇和项目簇以进行实时推荐(由于在推荐处理过程中无需进行聚类计算,所以可以缩短处理时长,以满足推荐的实时性)。可选的,为了保持用户评分对用户兴趣特征贡献度随时间衰减的特性,并为了将新用户添加到对应的用户簇,并将新项目添加到对应的项目簇,可以定时或定量(定量是指新增的用户数量达到数量阈值或新增的项目数量达到数量阈值时触发更新操作)的更新用户特征向量和项目特征向量,并对更新后的用户特征向量和项目特征向量进行重新聚类,以更新用户簇和项目簇,以保证后续的推荐的准确性。
S202,根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户;
具体的,若当前要对目标用户进行项目推荐,则可以获取目标用户对应的用户特征向量,目标用户对应的用户特征向量可以是在当前重新计算得到的,或者也可以是指上述S201中在聚类过程中所生成的目标用户对应的用户特征向量。
服务器还可以从所有用户簇中查找目标用户所属的用户簇,并将目标用户所属的用户簇中除了目标用户以外的用户,确定为待处理用户。服务器可以分别计算目标用户与每个待处理用户之间的用户相似度值,并根据用户相似度值从所有待处理用户中选择若干与目标用户最为相似的待处理用户,并作为目标用户对应的邻居用户,即目标用户与每个邻居用户之间的用户兴趣十分接近。
以某个待处理用户为例,计算目标用户与该待处理用户之间的用户相似度值的具体过程可以为:获取目标用户与该待处理用户之间的项目属性交集,并根据目标用户与该待处理用户分别对应的用户特征向量中与项目属性交集相关联的元素、目标用户与该待处理用户分别对应的用户特征向量中所有元素的平均值,计算目标用户与该待处理用户之间的用户相似度值。其中,项目属性交集是指目标用户所评价过的项目对应的项目属性与该待处理用户所评价过的项目对应的项目属性之间的交集,即项目属性交集包含目标用户所评价过的项目和该待处理用户所评价过的项目中共同具备的项目属性。
基于上述的计算用户相似度值的方法,可以计算出目标用户所属的用户簇中的每个待处理用户分别与目标用户之间的用户相似度值,再按照用户相似度值从高至低的顺序对所有待处理用户进行排序,将排序序号小于第一数量阈值的待处理用户确定为满足用户相似度条件的用户,并将满足用户相似度条件的用户确定为目标用户对应的邻居用户。其中,排序序号越小的待处理用户,所对应的用户相似度值越大,例如,按照用户相似度值从高到低的顺序对5个待处理用户进行排序,其排序顺序为u1、u3、u5、u2、u4,则u1对应的排列序号为1,u3对应的排列序号为2,u5对应的排列序号为3,u2对应的排列序号为4,u4对应的排列序号为5,若第一数量阈值为4,则确定排序序号为1至3的3名待处理用户(即u1、u3、u5)为满足用户相似度条件的用户,进而可以将u1、u3、u5确定为目标用户对应的邻居用户,即将用户相似度值排在前3高的待处理用户确定为目标用户对应的邻居用户。
S203,将所述目标用户所评价过的项目和所述邻居用户所评价过的项目均确定为目标项目,并根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目;
具体的,服务器可以将目标用户所评价过的所有项目、目标用户对应的邻居用户所评价过的所有项目均确定为目标项目,并将所有目标项目添加到项目集Iu,并假设项目集Iu中的任意一个目标项目为ik,获取一个目标项目ik对应的邻居项目的具体过程可以为:将目标项目ik所属的项目簇中除了ik以外的项目,均确定为待匹配项目,将任意一个待匹配项目设为ij,获取ik与ij之间的项目属性并集,并根据ik与ij分别对应的项目特征向量中与所述项目属性并集相关联的元素,计算所述目标项目与所述待匹配项目之间的项目相似度值;所述项目属性并集是指ik对应的项目属性与ij对应的项目属性之间的并集;基于同样的方法计算得到ik与其他每个待匹配项目之间的项目相似度值,再按照项目相似度值从高至低的顺序对所有待匹配项目进行排序,将排序序号小于第二数量阈值的待匹配项目确定为满足项目相似度条件的项目,并将满足项目相似度条件的项目确定为ik对应的邻居项目。其中,排序序号越小的待匹配项目,所对应的项目相似度值越大,例如,按照项目相似度值从高到低的顺序对5个待匹配项目进行排序,其排序顺序为i1、i3、i5、i2、i4,则i1对应的排列序号为1,i3对应的排列序号为2,i5对应的排列序号为3,i2对应的排列序号为4,i4对应的排列序号为5,若第二数量阈值为4,则确定排序序号为1至3的3个待匹配项目(即i1、i3、i5)为满足项目相似度条件的项目,进而可以将i1、i3、i5确定为目标项目ik对应的邻居项目,即将项目相似度值排在前3高的待匹配项目确定为目标项目ik对应的邻居项目。基于上述的邻居项目获取方法,可以获取其他目标项目对应的邻居项目。
S204,在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目;
具体的,在获取到每个目标项目分别对应的邻居项目后,可以将所有目标项目和每个目标项目分别对应的邻居项目均添加至待推荐项目集,再去除待推荐项目集中已被目标用户评价过的项目,再将待推荐项目集中剩余的每个项目均确定为待推荐项目,计算目标用户与每个待推荐项目之间的预测评分,并按照预测评分从高至低的顺序对所有待推荐项目进行排序,将排序序号小于第三数量阈值的待推荐项目确定为目标用户对应的推荐项目。其中,排序序号越小的待推荐项目,所对应的预测评分越高,例如,按照预测评分从高到低的顺序对5个待推荐项目进行排序,其排序顺序为i1、i3、i5、i2、i4,则i1对应的排列序号为1,i3对应的排列序号为2,i5对应的排列序号为3,i2对应的排列序号为4,i4对应的排列序号为5,若第三数量阈值为4,则确定排序序号为1至3的3个待推荐项目(即i1、i3、i5)为目标用户对应的推荐项目,即将预测评分排在前3高的待推荐项目确定为目标用户对应的推荐项目。服务器再将目标用户对应的推荐项目推送到目标用户对应的客户端,由于在推荐处理过程中考虑到了用户对项目的评分、用户评分对用户兴趣特征贡献度随时间衰减的特性、项目本身的项目属性,所以最终所选择出的推荐项目将会与用户所期望的项目十分相似,即提高了推荐的准确性。
本发明实施例根据目标用户对应的用户特征向量,在目标用户所属的用户簇中获取与目标用户之间的相似度满足用户相似度条件的用户,作为目标用户对应的邻居用户,这些邻居用户即为与目标用户相似的用户,由于是在目标用户所在的用户簇中查找邻居用户,因此,大大缩小了查找范围,从而减少了计算量,进而可以降低系统功耗。本发明实施例再将目标用户所评价过的项目和邻居用户所评价过的项目均确定为目标项目,并根据目标项目对应的项目特征向量,在目标项目所属的项目簇中获取与目标项目之间的相似度满足项目相似度条件的项目,作为目标项目对应的邻居项目,并在目标项目和目标项目对应的邻居项目中去除目标用户所评价过的项目,得到待推荐项目集,分别计算目标用户与待推荐项目集中每个项目之间的预测评分,并根据预测评分在待推荐项目集中选择与目标用户对应的推荐项目。由此可见,待推荐项目集不仅可以包括邻居用户所评价过的项目,还可以包括目标项目对应的邻居项目,因此,尽管在用户所评价过的项目的数量过少的情况下,也可以通过目标项目对应的邻居项目扩充待推荐项目集中的项目数量,进而可以提高推荐的准确性。
请参见图3,是本发明实施例提供的另一种数据推荐方法的流程示意图,所述方法可以包括:
S301,获取所有用户簇和所有项目簇;
具体的,服务器可以存储有原始项目集合和原始用户集合,原始项目集合中的所有项目可以包括由服务器和/或CP所提供的多媒体数据,例如,电影、游戏、文章、歌曲等多媒体数据。原始用户集合中的所有用户可以包括对原始项目集合中的至少一个项目进行过评分的用户,例如,若某个用户对原始项目集合中的某一部电影进行评分(如10分制,该用户打了9分),则服务器可以将该用户添加到原始用户集合中,并保存该评分结果(即该用户对该电影所评的9分)。
其中,原始用户集合可以为U={u1、u2、…、um},m为原始用户集合中的用户数量;原始项目集合可以为I={i1、i2、…、iy},y为原始项目集合中的项目数量;原始项目集合中的所有项目所对应的项目属性的集合可以用项目属性集合A表示,A={a1、a2、…、ar},r为项目属性的数量,项目属性也可以理解为项目标签,例如,a1为喜剧标签,a2为潮流标签等等。其中,原始项目集合中的所有项目对应的项目属性可以用项目属性矩阵Ay×r进行表征,即项目属性矩阵可以为:其中,Ay×r中的任意一个元素Akj(y≥k≥1,r≥j≥1)若为1,则表示项目ik包含项目属性aj;Akj若为0,则表示项目ik不包含项目属性aj。其中,原始用户集合中的所有用户对项目的评分可以以用户评分矩阵Rm×y进行表征,即用户评分矩阵可以为:其中,Rm×y中的任意一个元素Rkj(m≥k≥1,y≥j≥1)可以表示为用户uk对项目ij的评分。因此,假设用户uk所评价过的项目有s个,那么可以从Ay×r中获取这s个项目对应的目标项目属性矩阵(Ak)s×r,且且可以从Rm×y中获取用户uk对这s个项目的评分,并根据用户uk对这s个项目的评分建立用户uk对应的评分对角矩阵(Λk)s×s=iag(Rk1,k2,…,ks),且Rks即表示为用户uk对is的评分。
服务器还可以预先提供一个时间衰减函数f(t),将f(t)添加到用户uk对应的评分对角矩阵(Λk)s×s,得到用户uk对应的评分衰减对角矩阵(Φk)s×s,(Φk)s×s可以体现出用户评分对用户兴趣特征贡献度随时间衰减的特性,其中,f(t)=-λt(t≥0),(Φk)s×s=iag(f(t1)Rk1,f(t2)Rk2,…,f(ts)Rks),其中,(Φk)s×s中的t1可以表示为当前时间戳(当前时间戳可以是指当前生成用户簇的时间戳,或当前要对用户uk进行推荐的时间戳)与用户uk对项目i1的评分时间戳之间的差值,t2可以表示为当前时间戳与用户uk对项目i2的评分时间戳之间的差值,以此类推,ts可以表示为当前时间戳与用户uk对项目is的评分时间戳之间的差值。服务器再根据用户uk对应的评分衰减对角矩阵(Φk)s×s和用户uk对应的目标项目属性矩阵(Ak)s×r,生成用户uk对应的用户特征矩阵(Ψk)s×r,且(Ψk)s×r=(Φk)s×s·(Ak)s×r,再将uk对应的用户特征矩阵(Ψk)s×r转换为用户uk对应的用户特征向量(Γk)1×r,且(Γk)1×r=1/s[1,1,…,1]1×s·(Ψk)s×r,基于同样的方法,可以计算出原始用户集合中每个用户对应的用户特征向量,由于用户特征向量不仅包含用户对项目的评分这一维度,且用户特征向量还可以包括用户评分对用户兴趣特征贡献度随时间衰减的特性以及用户所评价过的项目对应的项目属性这两大维度,从而可以多维度的刻画用户的特征,即用户特征向量可以更加准确的体现用户的特征,以提高后续的推荐精度。
针对原始项目集合中的任意一个项目ij,服务器可以从项目属性矩阵Ay×r中提取与项目ij相关联的元素,并将这些元素组合为项目ij对应的项目特征向量Θj=Aj1,Aj2,…,Ajr],其中,项目特征向量Θj中的任意一个元素Ajk(r≥k≥1)若为1,则表示项目ij包含项目属性ak;元素Ajk若为0,则表示项目ij不包含项目属性ak。基于同样的方法,可以得到原始项目集合中每个项目对应的项目特征向量。
服务器再通过对每个用户对应的用户特征向量进行聚类,可以将原始用户集合中的用户划分到不同的用户簇中;服务器还可以通过对每个项目对应的项目特征向量进行聚类,可以将原始项目集合中的项目划分到不同的项目簇中。其中,通过聚类生成用户簇和项目簇的具体过程可以参见上述图2对应实施例中的S201,这里不再进行赘述。
S302,将目标用户所属的用户簇中除了所述目标用户以外的用户,确定为待处理用户,并获取所述目标用户与所述待处理用户分别对应的用户特征向量;
具体的,若服务器此时要为目标用户选择推荐项目,则服务器可以将目标用户所属的用户簇中除了目标用户以外的用户,确定为待处理用户,并获取目标用户与待处理用户分别对应的用户特征向量。其中,服务器可以从S301中用于进行聚类的所有用户特征向量中,选择出目标用户与待处理用户分别对应的用户特征向量。或者,服务器也可以在当前重新生成目标用户与待处理用户分别对应的用户特征向量。以重新生成目标用户对应的用户特征向量为例,服务器可以根据所述目标用户所评价过的项目,建立所述目标用户对应的评分对角矩阵;所述评分对角矩阵包括目标用户所评价过的每个项目的评分数据,并将时间衰减函数分别与评分对角矩阵中每个项目的评分数据进行相乘,得到评分衰减对角矩阵;时间衰减函数包括与待相乘的项目相关联的衰减时间参数,衰减时间参数是目标用户对应的选定推荐时间戳与目标用户对待相乘的项目的评分时间戳之间的差值,并在原始项目集合对应的项目属性矩阵中,获取目标用户所评价过的项目对应的目标项目属性矩阵,并根据目标项目属性矩阵和评分衰减对角矩阵,生成用户特征矩阵,并将用户特征矩阵转换为目标用户对应的用户特征向量。若目标用户为uk,则对应的用户特征向量(Γk)1×r即为上述S301中的(Γk)1×r=1/s[1,1,…,1]1×s·(Ψk)s×r;(Ψk)s×r即为目标用户对应的用户特征矩阵,且(Ψk)s×r=(Φk)s×s·(Ak)s×r,(Φk)s×s即为目标用户对应的评分衰减对角矩阵,(Ak)s×r即为目标用户所评价过的项目对应的目标项目属性矩阵,其中,(Φk)s×s是由目标用户对应的评分对角矩阵(Λk)s×s=iag(Rk1,Rk2,…,Rks)和时间衰减函数f(t)计算得到的,即(Φk)s×s=diag(f(t1)Rk1,f(t2)Rk2,…,f(ts)Rks),若用户特征向量(Γk)1×r是当前时刻生成的,则(Φk)s×s中的ts可以表示为当前时刻与目标用户对项目is的评分时间戳之间的差值。基于同样的方式,可以在当前时刻重新生成待处理用户分别对应的用户特征向量。
S303,获取所述目标用户与所述待处理用户之间的项目属性交集,并根据所述目标用户与所述待处理用户分别对应的用户特征向量中与所述项目属性交集相关联的元素、所述目标用户与所述待处理用户分别对应的用户特征向量中所有元素的平均值,计算所述目标用户与所述待处理用户之间的用户相似度值;
具体的,服务器还可以从所有用户簇中查找目标用户所属的用户簇,并将目标用户所属的用户簇中除了目标用户以外的用户,确定为待处理用户。服务器可以分别计算目标用户与每个待处理用户之间的用户相似度值,并根据用户相似度值从所有待处理用户中选择若干与目标用户最为相似的待处理用户,并作为目标用户对应的邻居用户,即目标用户与每个邻居用户之间的用户兴趣十分接近。
以某个待处理用户为例,计算目标用户与该待处理用户之间的用户相似度值的具体过程可以为:获取目标用户与该待处理用户之间的项目属性交集,并根据目标用户与该待处理用户分别对应的用户特征向量中与项目属性交集相关联的元素、目标用户与该待处理用户分别对应的用户特征向量中所有元素的平均值,计算目标用户与该待处理用户之间的用户相似度值。其中,项目属性交集是指目标用户所评价过的项目对应的项目属性与该待处理用户所评价过的项目对应的项目属性之间的交集,即项目属性交集包含目标用户所评价过的项目和该待处理用户所评价过的项目中共同具备的项目属性。其中,计算用户相似度值的公式可以具体为:其中,simu(k,j)即为目标用户uk与该待处理用户uj之间的用户相似度值,Hkj表示目标用户uk和该待处理用户uj之间的项目属性交集,av是指Hkj中的一个项目属性,Dkv是指目标用户uk对应的用户特征向量中与项目属性av相关联的元素,Djv是指该待处理用户uj对应的用户特征向量中与项目属性av相关联的元素,是指目标用户uk对应的用户特征向量中的所有元素的平均值,是指该待处理用户uj对应的用户特征向量中的所有元素的平均值,例如,目标用户uk对应的用户特征向量为(a,b,c,d,e),则由于是基于用户特征向量计算用户相似度值,所以可以通过用户特征向量所包含的用户对项目的评分、用户评分对用户兴趣特征贡献度随时间衰减的特性、用户所评价过的项目对应的项目属性这三大维度,以提高用户相似度值的准确性,而且在评分数据比较稀疏的情况下,也可以通过用户所评价过的项目对应的项目属性这一维度来提高用户相似度值的准确性。基于上述的计算用户相似度值的公式,可以计算出目标用户所属的用户簇中的每个待处理用户分别与目标用户之间的用户相似度值。
S304,按照所述用户相似度值从高至低的顺序对所有所述待处理用户进行排序,将排序序号小于第一数量阈值的所述待处理用户确定为满足用户相似度条件的用户,并将满足用户相似度条件的用户确定为所述目标用户对应的邻居用户;
具体的,服务器在计算出目标用户所属的用户簇中的每个待处理用户分别与目标用户之间的用户相似度值后,可以按照用户相似度值从高至低的顺序对所有待处理用户进行排序,将排序序号小于第一数量阈值的待处理用户确定为满足用户相似度条件的用户,并将满足用户相似度条件的用户确定为目标用户对应的邻居用户。其中,排序序号越小的待处理用户,所对应的用户相似度值越大。
进一步的,请一并参见图4a,是本发明实施例提供的一种选择邻居用户的场景示意图。如图4a所示,目标用户为用户uk,用户uk在用户簇a1中,用户簇a1包括:用户uk、用户u1、用户u2、用户u3、用户u4、用户u5(用户u1、用户u2、用户u3、用户u4、用户u5均属于待处理用户);计算用户uk和用户u1之间的用户相似度值、用户uk和用户u2之间的用户相似度值、用户uk和用户u3之间的用户相似度值、用户uk和用户u4之间的用户相似度值、用户uk和用户u5之间的用户相似度值,按照用户相似度值从高到低的顺序对5个待处理用户进行排序,其排序顺序为用户u1、用户u3、用户u5、用户u2、用户u4,则用户u1对应的排列序号为1,用户u3对应的排列序号为2,用户u5对应的排列序号为3,用户u2对应的排列序号为4,用户u4对应的排列序号为5,若第一数量阈值为4,则确定排序序号为1至3的3名待处理用户(即用户u1、用户u3、用户u5)为满足用户相似度条件的用户,进而可以将用户u1、用户u3、用户u5确定为用户uk对应的邻居用户,即将用户相似度值排在前3高的待处理用户确定为目标用户对应的邻居用户。
S305,将所述目标项目所属的项目簇中除了所述目标项目以外的项目,确定为待匹配项目,并获取所述目标项目与所述待匹配项目分别对应的项目特征向量;
具体的,服务器可以将目标用户所评价过的所有项目、目标用户对应的邻居用户所评价过的所有项目均确定为目标项目,并将所有目标项目添加到项目集Iu,并假设项目集Iu中的任意一个目标项目为ik,并将目标项目ik所属的项目簇中除了ik以外的项目,均确定为待匹配项目,服务器还可以从上述S301中用于进行聚类的所有项目特征向量中,获取所述目标项目ik与所述待匹配项目分别对应的项目特征向量。其中,生成目标项目ik对应的项目特征向量的过程可以为:在所述原始项目集合对应的项目属性矩阵中提取与所述目标项目相关联的元素,并将所述目标项目相关联的元素组合为所述目标项目对应的项目特征向量,具体可以参见上述S301中生成项目特征向量的过程。
S306,获取所述目标项目与所述待匹配项目之间的项目属性并集,并根据所述目标项目与所述待匹配项目分别对应的项目特征向量中与所述项目属性并集相关联的元素,计算所述目标项目与所述待匹配项目之间的项目相似度值;
具体的,计算一个目标项目ik与任意一个待匹配项目ij之间的项目相似度值的过程可以为:获取ik与ij之间的项目属性并集,并根据ik与ij分别对应的项目特征向量中与所述项目属性并集相关联的元素,计算所述目标项目与所述待匹配项目之间的项目相似度值;所述项目属性并集是指ik对应的项目属性与ij对应的项目属性之间的并集。其中,计算ik与ij之间的项目相似度值的公式可以为:其中,simi(k,j)是指ik与ij之间的项目相似度值,Skj是指ik与ij之间的项目属性并集(即ik对应的项目属性与ij对应的项目属性之间的并集),例如,ik所具有的项目属性包括a、b、c,ij所具有的项目属性包括b、c、g,则ik与ij之间的项目属性并集包含a、b、c、g;Sk是指ik所具有的项目属性的集合,Sj是指ij所具有的项目属性的集合,av是指某一个项目属性,av∈Skj即指Skj中的某一个项目属性,av∈Sk即指Sk中的某一个项目属性,av∈Sj即指Sj中的某一个项目属性;Akv是指ik是否包含项目属性av,若Akv为1,则ik包含项目属性av,若Akv为0,则ik不包含项目属性av;Ajv是指ij是否包含项目属性av,若Ajv为1,则ij包含项目属性av,若Ajv为0,则ij不包含项目属性av。基于上述的计算项目相似度值的公式,可以计算出目标项目ik所属的项目簇中的每个待匹配项目分别与目标项目ik之间的项目相似度值。
S307,按照所述项目相似度值从高至低的顺序对所有所述待匹配项目进行排序,将排序序号小于第二数量阈值的所述待匹配项目确定为满足项目相似度条件的项目,并将满足项目相似度条件的项目确定为所述目标项目对应的邻居项目;
具体的,服务器在计算出每个待匹配项目分别与目标项目ik之间的项目相似度值后,可以按照项目相似度值从高至低的顺序对所有待匹配项目进行排序,将排序序号小于第二数量阈值的待匹配项目确定为满足项目相似度条件的项目,并将满足项目相似度条件的项目确定为目标项目ik对应的邻居项目。其中,排序序号越小的待匹配项目,所对应的项目相似度值越大。
进一步的,请一并参见图4b,是本发明实施例提供的一种选择邻居项目的场景示意图。如图4b所示,目标项目为项目ik,项目ik在项目簇b1中,项目簇b1包括:项目ik、项目i1、项目i2、项目i3、项目i4、项目i5(项目i1、项目i2、项目i3、项目i4、项目i5均属于待匹配项目);计算项目ik和项目i1之间的项目相似度值、项目ik和项目i2之间的项目相似度值、项目ik和项目i3之间的项目相似度值、项目ik和项目i4之间的项目相似度值、项目ik和项目i5之间的项目相似度值,按照项目相似度值从高到低的顺序对5个待处理项目进行排序,其排序顺序为项目i1、项目i3、项目i5、项目i2、项目i4,则项目i1对应的排列序号为1,项目i3对应的排列序号为2,项目i5对应的排列序号为3,项目i2对应的排列序号为4,项目i4对应的排列序号为5,若第一数量阈值为4,则确定排序序号为1至3的3名待处理项目(即项目i1、项目i3、项目i5)为满足项目相似度条件的项目,进而可以将项目i1、项目i3、项目i5确定为项目ik对应的邻居项目,即将项目相似度值排在前3高的待处理项目确定为目标项目对应的邻居项目。基于上述的邻居项目获取方法,可以获取其他目标项目对应的邻居项目。
S308,在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,并将所述待推荐项目集中的每个项目均确定为待推荐项目;
具体的,在获取到每个目标项目分别对应的邻居项目后,可以将所有目标项目和每个目标项目分别对应的邻居项目均添加至待推荐项目集,再去除待推荐项目集中已被目标用户uk评价过的项目,再将待推荐项目集中剩余的每个项目均确定为待推荐项目。
S309,计算目标用户与每个待推荐项目之间的预测评分;
具体的,若某一个待推荐项目为具有评分的项目(即有至少一个用户对该待推荐项目进行过评分),则服务器可以根据目标用户uk分别与每个邻居用户之间的用户相似度值、目标用户uk和每个邻居用户分别对应的用户评分均值、每个邻居用户分别对该待推荐项目的评分,计算目标用户uk与该待推荐项目之间的预测评分;用户评分均值是指一个用户对所评价过的项目的评分的平均值。其中,目标用户uk对应的用户评分均值是指目标用户uk对所评价过的项目的评分的平均值,例如,目标用户uk对项目i1的评分为8,对项目i3的评分为9,对项目i4的评分为10,则目标用户uk对应的用户评分均值为(8+9+10)/3=9。其中,某个邻居用户对应的用户评分均值是指该邻居用户对所评价过的项目的评分的平均值。假设具有评分的待推荐项目为is,则计算目标用户uk与待推荐项目is之间的预测评分的公式为:其中,P(uk,is)表示目标用户uk与待推荐项目is之间的预测评分,Wk是指目标用户uk对应的所有邻居用户的集合,j∈Wk是指Wk集合中的任意一个邻居用户uj,simu(k,j)是指目标用户uk与邻居用户uj之间的用户相似度值,是指目标用户uk对应的用户评分均值,是指邻居用户uj对应的用户评分均值,Rjs是指邻居用户uj对待推荐项目is的评分。在该计算预测评分的公式中不仅考虑了邻居用户对待推荐项目is的影响,同时还通过目标用户uk与每个邻居用户之间的用户相似度值,控制每个邻居用户对待推荐项目is的影响权重,从而可以提高预测评分的准确性;而且由于用户相似度值是与用户对项目的评分、用户评分对用户兴趣特征贡献度随时间衰减的特性、用户所评价过的项目对应的项目属性这三大维度相关联,所以基于用户相似度值所计算出的预测评分可以具有更高的准确性。
若某一个待推荐项目为未具有评分的项目(即没有用户对该待推荐项目进行过评分,如该待推荐项目可能是新项目),则服务器可以根据该待推荐项目对应的每个邻居项目分别与该待推荐项目之间的项目相似度值、该待推荐项目对应的每个邻居项目分别对应的项目评分均值、目标用户uk对应的用户评分均值、所有项目评分均值的平均值,计算目标用户uk与该待推荐项目之间的预测评分;项目评分均值是指一个项目所具有的所有评分的平均值。其中,目标用户uk对应的用户评分均值是指目标用户uk对所评价过的项目的评分的平均值。该待推荐项目对应的某个邻居项目对应的项目评分均值,可以是指该邻居项目所具有的所有评分的平均值,例如,该邻居项目被3名用户评过分(每个用户对该邻居项目只进行一次评分),即该邻居项目具有3个评分,分别为8分、9分、10分,则该邻居项目对应的项目评分均值为(8+9+10)/3=9。所有项目评分均值的平均值可以是指:该待推荐项目对应的每个邻居项目分别对应的项目评分均值的平均值;例如,该待推荐项目对应有9个邻居项目,即有9个项目评分均值,求这9个项目评分均值的平均值(即所有项目评分均值的平均值)。假设未具有评分的待推荐项目为ik,则计算目标用户uk与待推荐项目ik之间的预测评分的公式可以为:其中,P(uk,ik)是指目标用户uk与待推荐项目ik之间的预测评分,是指目标用户uk对应的用户评分均值,Corrk是指待推荐项目ik对应的邻居项目的集合,iv∈Corrk是指Corrk集合中的任意一个邻居项目iv,simi(k,v)是指待推荐项目ik与邻居项目iv之间的项目相似度值,是指邻居项目iv对应的项目评分均值,是指Corrk中的所有邻居项目对应的项目评分均值的平均值。针对因新项目或用户评分数据过于稀疏而导致项目不具有评分的情况,依然可以通过P(uk,ik)计算出这些不具有评分的项目对应的预测评分,在计算预测评分的过程中不仅考虑到邻居项目对不具有评分的项目的影响,还考虑到与邻居项目之间的项目相似度值对不具有评分的项目的影响权重,从而可以提高所计算出的预测评分的准确性。
因此,可以将所有待推荐项目分为两类,一类为具有评分的项目,另一类为不具有评分的项目,进而可以根据两类项目分别对应的预测评分计算公式,计算出每个待推荐项目分别对应的预测评分。
S310,按照所述预测评分从高至低的顺序对所有所述待推荐项目进行排序,将排序序号小于第三数量阈值的所述待推荐项目确定为所述目标用户对应的推荐项目;
具体的,在计算出每个待推荐项目分别对应的预测评分后,可以按照预测评分从高至低的顺序对所有待推荐项目进行排序,将排序序号小于第三数量阈值的待推荐项目确定为目标用户对应的推荐项目。其中,排序序号越小的待推荐项目,所对应的预测评分越高。
进一步的,请一并参见图4c,是本发明实施例提供的一种选择推荐项目的场景示意图。如图4c所示,假设目标用户为用户uk,待推荐项目集包括5个待推荐项目,分别为项目i1、项目i2、项目i3、项目i4、项目i5,则可以计算用户uk和项目i1之间的预测评分、用户uk和项目i2之间的预测评分、用户uk和项目i3之间的预测评分、用户uk和项目i4之间的预测评分、用户uk和项目i5之间的预测评分,按照预测评分从高到低的顺序对5个待推荐项目进行排序,其排序顺序为项目i1、项目i3、项目i5、项目i2、项目i4,则项目i1对应的排列序号为1,项目i3对应的排列序号为2,项目i5对应的排列序号为3,项目i2对应的排列序号为4,项目i4对应的排列序号为5,若第一数量阈值为4,则确定排序序号为1至3的3名待推荐项目(即项目i1、项目i3、项目i5)为推荐项目,即将预测评分排在前3高的待推荐项目确定为目标用户对应的推荐项目。
服务器再将目标用户对应的推荐项目推送到目标用户对应的客户端,由于在推荐处理过程中考虑到了用户对项目的评分、用户评分对用户兴趣特征贡献度随时间衰减的特性、项目本身的项目属性,所以最终所选择出的推荐项目将会与用户所期望的项目十分相似,即提高了推荐的准确性。而且在新项目或用户评分数据过于稀疏而导致项目不具有评分的情况,可以通过项目属性提高用户特征向量刻画用户画像的准确性,也可以通过项目属性和邻居项目的概念准确计算出不具有评分的项目对应的预测评分。本发明所提供的推荐方法可以很好的应用到新闻及电影等内容的个性化推荐上,为用户提供更好的使用体验。
本发明实施例为更好的反映用户兴趣变化,引入了时间衰减函数对用户评分进行处理;而且通过组合使用用户评分时间衰减结果和项目属性表征用户特征向量,可以缓解数据稀疏的问题并可多维度刻画用户的特征;而且通过聚类技术,分别对用户和项目进行聚类,可以减小邻居用户和邻居项目的查询范围,并通过项目属性和邻居项目的概念可以解决如何计算新项目对应的预测评分的问题;而且在聚类基础上寻找邻居用户和邻居项目,也扩充了待推荐项目集,即待推荐项目集不仅可以包括邻居用户所评价过的项目,还可以包括目标项目对应的邻居项目,因此,尽管在用户所评价过的项目的数量过少的情况下,也可以通过目标项目对应的邻居项目扩充待推荐项目集中的项目数量,从而可以提高算法精度。由于在整个推荐处理过程中考虑到了用户对项目的评分、用户评分对用户兴趣特征贡献度随时间衰减的特性、项目本身的项目属性,所以最终所选择出的推荐项目将会与用户所期望的项目十分相似,即提高了推荐的准确性。
请参见图5,是本发明实施例提供的一种数据推荐装置的结构示意图。如图5所示的数据推荐装置1可以包括:簇获取模块10、用户获取模块20、项目获取模块30、推荐计算模块40、矩阵计算模块50、用户向量生成模块60、项目向量生成模块70、第一聚类模块80、第二聚类模块90;
簇获取模块10,用于获取所有用户簇和所有项目簇;所述用户簇是通过对原始用户集合中每个用户对应的用户特征向量进行聚类得到,所述项目簇是通过对原始项目集合中每个项目对应的项目特征向量进行聚类得到;
用户获取模块20,用于根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户;
项目获取模块30,用于将所述目标用户所评价过的项目和所述邻居用户所评价过的项目均确定为目标项目,并根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目;
推荐计算模块40,用于在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目。
其中,簇获取模块10、用户获取模块20、项目获取模块30、推荐计算模块40的具体实现方式可以参见上述图2对应实施例中的S201-S204,这里不再进行赘述。
其中,矩阵计算模块50,用于根据所述目标用户所评价过的项目,建立所述目标用户对应的评分对角矩阵;所述评分对角矩阵包括所述目标用户所评价过的每个项目的评分数据;
所述矩阵计算模块50,还用于将时间衰减函数分别与所述评分对角矩阵中每个项目的评分数据进行相乘,得到评分衰减对角矩阵;所述时间衰减函数包括与待相乘的项目相关联的衰减时间参数,所述衰减时间参数是所述目标用户对应的选定推荐时间戳与所述目标用户对待相乘的项目的评分时间戳之间的差值;
用户向量生成模块60,用于在所述原始项目集合对应的项目属性矩阵中,获取所述目标用户所评价过的项目对应的目标项目属性矩阵,并根据所述目标项目属性矩阵和所述评分衰减对角矩阵,生成用户特征矩阵,并将所述用户特征矩阵转换为所述目标用户对应的用户特征向量;
其中,矩阵计算模块50、用户向量生成模块60的具体实现方式可以参见上述图3对应实施例中的S301-S302,这里不再进行赘述。
项目向量生成模块70,用于在所述原始项目集合对应的项目属性矩阵中提取与所述目标项目相关联的元素,并将所述目标项目相关联的元素组合为所述目标项目对应的项目特征向量;
其中,项目向量生成模块70的具体实现方式可以参见上述图3对应实施例中的S301和S305,这里不再进行赘述。
其中,第一聚类模块80,用于设置多个第一聚类中心向量,分别计算所述原始用户集合中每个用户对应的用户特征向量与所述多个第一聚类中心向量之间的第一向量距离;
所述第一聚类模块80,还用于根据所述第一向量距离,确定各用户特征向量与各第一聚类中心向量之间的映射关系,并将映射有相同第一聚类中心向量的用户特征向量所对应的用户划分至相同的用户簇中;
其中,所述用户簇的数量与所述第一聚类中心向量的数量相同;
第二聚类模块90,用于设置多个第二聚类中心向量,分别计算所述原始项目集合中每个项目对应的项目特征向量与所述多个第二聚类中心向量之间的第二向量距离;
所述第二聚类模块90,还用于根据所述第二向量距离,确定各项目特征向量与各第二聚类中心向量之间的映射关系,并将映射有相同第二聚类中心向量的项目特征向量所对应的项目划分至相同的项目簇中;
其中,所述项目簇的数量与所述第二聚类中心向量的数量相同。
其中,第一聚类模块80和第二聚类模块90的具体实现方式可以参见上述图2对应实施例中的S201,这里不再进行赘述。
进一步的,如图5所示,上述的用户获取模块20可以包括:用户确定单元201、用户计算单元202;
用户确定单元201,用于将目标用户所属的用户簇中除了所述目标用户以外的用户,确定为待处理用户,并获取所述目标用户与所述待处理用户分别对应的用户特征向量;
用户计算单元202,用于获取所述目标用户与所述待处理用户之间的项目属性交集,并根据所述目标用户与所述待处理用户分别对应的用户特征向量中与所述项目属性交集相关联的元素、所述目标用户与所述待处理用户分别对应的用户特征向量中所有元素的平均值,计算所述目标用户与所述待处理用户之间的用户相似度值;所述项目属性交集是指所述目标用户所评价过的项目对应的项目属性与所述待处理用户所评价过的项目对应的项目属性之间的交集;
所述用户确定单元201,还用于按照所述用户相似度值从高至低的顺序对所有所述待处理用户进行排序,将排序序号小于第一数量阈值的所述待处理用户确定为满足用户相似度条件的用户,并将满足用户相似度条件的用户确定为所述目标用户对应的邻居用户。
其中,用户确定单元201、用户计算单元202的具体实现方式可以参见上述图3对应实施例中的S302-S304,这里不再进行赘述。
进一步的,如图5所示,上述的项目获取模块30可以包括:第一项目确定单元301、项目计算单元302;
第一项目确定单元301,用于将所述目标项目所属的项目簇中除了所述目标项目以外的项目,确定为待匹配项目,并获取所述目标项目与所述待匹配项目分别对应的项目特征向量;
项目计算单元302,用于获取所述目标项目与所述待匹配项目之间的项目属性并集,并根据所述目标项目与所述待匹配项目分别对应的项目特征向量中与所述项目属性并集相关联的元素,计算所述目标项目与所述待匹配项目之间的项目相似度值;所述项目属性并集是指所述目标项目对应的项目属性与所述待匹配项目对应的项目属性之间的并集;
所述第一项目确定单元301,还用于按照所述项目相似度值从高至低的顺序对所有所述待匹配项目进行排序,将排序序号小于第二数量阈值的所述待匹配项目确定为满足项目相似度条件的项目,并将满足项目相似度条件的项目确定为所述目标项目对应的邻居项目。
其中,第一项目确定单元301、项目计算单元302的具体实现方式可以参见上述图3对应实施例中的S305-S307,这里不再进行赘述。
进一步的,如图5所示,上述的推荐计算模块40可以包括:第二项目确定单元401、评分计算单元402;
第二项目确定单元401,用于在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,并将所述待推荐项目集中的每个项目均确定为待推荐项目;
评分计算单元402,用于计算所述目标用户与每个所述待推荐项目之间的预测评分;
所述第二项目确定单元401,还用于按照所述预测评分从高至低的顺序对所有所述待推荐项目进行排序,将排序序号小于第三数量阈值的所述待推荐项目确定为所述目标用户对应的推荐项目。
其中,第二项目确定单元401的具体实现方式可以参见上述图3对应实施例中的S308和S310,这里不再进行赘述。
如图5所示,评分计算单元402可以包括:第一计算子单元4021、第二计算子单元4022;
第一计算子单元4021,用于若所述待推荐项目为具有评分的项目,则根据所述目标用户分别与每个所述邻居用户之间的用户相似度值、所述目标用户和每个所述邻居用户分别对应的用户评分均值、每个所述邻居用户分别对所述待推荐项目的评分,计算所述目标用户与所述待推荐项目之间的预测评分;所述用户评分均值是指一个用户对所评价过的项目的评分的平均值;
第二计算子单元4022,用于若所述待推荐项目为未具有评分的项目,则根据所述待推荐项目对应的每个邻居项目分别与所述待推荐项目之间的项目相似度值、所述待推荐项目对应的每个邻居项目分别对应的项目评分均值、所述目标用户对应的用户评分均值、所有所述项目评分均值的平均值,计算所述目标用户与所述待推荐项目之间的预测评分;所述项目评分均值是指一个项目所具有的所有评分的平均值。
其中,第一计算子单元4021、第二计算子单元4022的具体实现方式可以参见上述图3对应实施例中的S309,这里不再进行赘述。
本发明实施例为更好的反映用户兴趣变化,引入了时间衰减函数对用户评分进行处理;而且通过组合使用用户评分时间衰减结果和项目属性表征用户特征向量,可以缓解数据稀疏的问题并可多维度刻画用户的特征;而且通过聚类技术,分别对用户和项目进行聚类,可以减小邻居用户和邻居项目的查询范围,并通过项目属性和邻居项目的概念可以解决如何计算新项目对应的预测评分的问题;而且在聚类基础上寻找邻居用户和邻居项目,也扩充了待推荐项目集,即待推荐项目集不仅可以包括邻居用户所评价过的项目,还可以包括目标项目对应的邻居项目,因此,尽管在用户所评价过的项目的数量过少的情况下,也可以通过目标项目对应的邻居项目扩充待推荐项目集中的项目数量,从而可以提高算法精度。由于在整个推荐处理过程中考虑到了用户对项目的评分、用户评分对用户兴趣特征贡献度随时间衰减的特性、项目本身的项目属性,所以最终所选择出的推荐项目将会与用户所期望的项目十分相似,即提高了推荐的准确性。
请参见图6,是本发明实施例提供的另一种数据推荐装置的结构示意图。如图6所示,所述数据推荐装置1000可以应用于上述图1a和图1b中的服务器100。所述数据推荐装置1000可以包括:处理器1001和存储器1005,此外,所述数据推荐装置1000还可以包括:网络接口1004,用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图6所示的数据推荐装置1000中,网络接口1004可以与多个用户终端进行通信,以收集用户终端发送的评分结果,并可向用户终端发送推荐项目;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取所有用户簇和所有项目簇;所述用户簇是通过对原始用户集合中每个用户对应的用户特征向量进行聚类得到,所述项目簇是通过对原始项目集合中每个项目对应的项目特征向量进行聚类得到;
根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户;
将所述目标用户所评价过的项目和所述邻居用户所评价过的项目均确定为目标项目,并根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目;
在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目。
在一个实施例中,处理器1001还可以执行以下步骤:
根据所述目标用户所评价过的项目,建立所述目标用户对应的评分对角矩阵;所述评分对角矩阵包括所述目标用户所评价过的每个项目的评分数据;
将时间衰减函数分别与所述评分对角矩阵中每个项目的评分数据进行相乘,得到评分衰减对角矩阵;所述时间衰减函数包括与待相乘的项目相关联的衰减时间参数,所述衰减时间参数是所述目标用户对应的选定推荐时间戳与所述目标用户对待相乘的项目的评分时间戳之间的差值;
在所述原始项目集合对应的项目属性矩阵中,获取所述目标用户所评价过的项目对应的目标项目属性矩阵,并根据所述目标项目属性矩阵和所述评分衰减对角矩阵,生成用户特征矩阵,并将所述用户特征矩阵转换为所述目标用户对应的用户特征向量。
在一个实施例中,处理器1001还可以执行以下步骤:
在所述原始项目集合对应的项目属性矩阵中提取与所述目标项目相关联的元素,并将所述目标项目相关联的元素组合为所述目标项目对应的项目特征向量。
在一个实施例中,处理器1001还可以执行以下步骤:
设置多个第一聚类中心向量,分别计算所述原始用户集合中每个用户对应的用户特征向量与所述多个第一聚类中心向量之间的第一向量距离;
根据所述第一向量距离,确定各用户特征向量与各第一聚类中心向量之间的映射关系,并将映射有相同第一聚类中心向量的用户特征向量所对应的用户划分至相同的用户簇中;
其中,所述用户簇的数量与所述第一聚类中心向量的数量相同。
在一个实施例中,处理器1001还可以执行以下步骤:
设置多个第二聚类中心向量,分别计算所述原始项目集合中每个项目对应的项目特征向量与所述多个第二聚类中心向量之间的第二向量距离;
根据所述第二向量距离,确定各项目特征向量与各第二聚类中心向量之间的映射关系,并将映射有相同第二聚类中心向量的项目特征向量所对应的项目划分至相同的项目簇中;
其中,所述项目簇的数量与所述第二聚类中心向量的数量相同。
在一个实施例中,处理器1001在执行根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户时,具体执行以下步骤:
将目标用户所属的用户簇中除了所述目标用户以外的用户,确定为待处理用户,并获取所述目标用户与所述待处理用户分别对应的用户特征向量;
获取所述目标用户与所述待处理用户之间的项目属性交集,并根据所述目标用户与所述待处理用户分别对应的用户特征向量中与所述项目属性交集相关联的元素、所述目标用户与所述待处理用户分别对应的用户特征向量中所有元素的平均值,计算所述目标用户与所述待处理用户之间的用户相似度值;所述项目属性交集是指所述目标用户所评价过的项目对应的项目属性与所述待处理用户所评价过的项目对应的项目属性之间的交集;
按照所述用户相似度值从高至低的顺序对所有所述待处理用户进行排序,将排序序号小于第一数量阈值的所述待处理用户确定为满足用户相似度条件的用户,并将满足用户相似度条件的用户确定为所述目标用户对应的邻居用户。
在一个实施例中,处理器1001在执行根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目时,具体执行以下步骤:
将所述目标项目所属的项目簇中除了所述目标项目以外的项目,确定为待匹配项目,并获取所述目标项目与所述待匹配项目分别对应的项目特征向量;
获取所述目标项目与所述待匹配项目之间的项目属性并集,并根据所述目标项目与所述待匹配项目分别对应的项目特征向量中与所述项目属性并集相关联的元素,计算所述目标项目与所述待匹配项目之间的项目相似度值;所述项目属性并集是指所述目标项目对应的项目属性与所述待匹配项目对应的项目属性之间的并集;
按照所述项目相似度值从高至低的顺序对所有所述待匹配项目进行排序,将排序序号小于第二数量阈值的所述待匹配项目确定为满足项目相似度条件的项目,并将满足项目相似度条件的项目确定为所述目标项目对应的邻居项目。
在一个实施例中,处理器1001在执行分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目时,具体执行以下步骤:
将所述待推荐项目集中的每个项目均确定为待推荐项目;
计算所述目标用户与每个所述待推荐项目之间的预测评分;
按照所述预测评分从高至低的顺序对所有所述待推荐项目进行排序,将排序序号小于第三数量阈值的所述待推荐项目确定为所述目标用户对应的推荐项目。
在一个实施例中,处理器1001在执行计算所述目标用户与每个所述待推荐项目之间的预测评分时,具体执行以下步骤:
若所述待推荐项目为具有评分的项目,则根据所述目标用户分别与每个所述邻居用户之间的用户相似度值、所述目标用户和每个所述邻居用户分别对应的用户评分均值、每个所述邻居用户分别对所述待推荐项目的评分,计算所述目标用户与所述待推荐项目之间的预测评分;所述用户评分均值是指一个用户对所评价过的项目的评分的平均值;
若所述待推荐项目为未具有评分的项目,则根据所述待推荐项目对应的每个邻居项目分别与所述待推荐项目之间的项目相似度值、所述待推荐项目对应的每个邻居项目分别对应的项目评分均值、所述目标用户对应的用户评分均值、所有所述项目评分均值的平均值,计算所述目标用户与所述待推荐项目之间的预测评分;所述项目评分均值是指一个项目所具有的所有评分的平均值。
本发明实施例为更好的反映用户兴趣变化,引入了时间衰减函数对用户评分进行处理;而且通过组合使用用户评分时间衰减结果和项目属性表征用户特征向量,可以缓解数据稀疏的问题并可多维度刻画用户的特征;而且通过聚类技术,分别对用户和项目进行聚类,可以减小邻居用户和邻居项目的查询范围,并通过项目属性和邻居项目的概念可以解决如何计算新项目对应的预测评分的问题;而且在聚类基础上寻找邻居用户和邻居项目,也扩充了待推荐项目集,即待推荐项目集不仅可以包括邻居用户所评价过的项目,还可以包括目标项目对应的邻居项目,因此,尽管在用户所评价过的项目的数量过少的情况下,也可以通过目标项目对应的邻居项目扩充待推荐项目集中的项目数量,从而可以提高算法精度。由于在整个推荐处理过程中考虑到了用户对项目的评分、用户评分对用户兴趣特征贡献度随时间衰减的特性、项目本身的项目属性,所以最终所选择出的推荐项目将会与用户所期望的项目十分相似,即提高了推荐的准确性。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的数据推荐装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2至图3所对应实施例中对所述数据推荐方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (14)
1.一种数据推荐方法,其特征在于,包括:
获取所有用户簇和所有项目簇;所述用户簇是通过对原始用户集合中每个用户对应的用户特征向量进行聚类得到,所述项目簇是通过对原始项目集合中每个项目对应的项目特征向量进行聚类得到;
根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户;
将所述目标用户所评价过的项目和所述邻居用户所评价过的项目均确定为目标项目,并根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目;
在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目。
2.如权利要求1所述的方法,其特征在于,还包括:
根据所述目标用户所评价过的项目,建立所述目标用户对应的评分对角矩阵;所述评分对角矩阵包括所述目标用户所评价过的每个项目的评分数据;
将时间衰减函数分别与所述评分对角矩阵中每个项目的评分数据进行相乘,得到评分衰减对角矩阵;所述时间衰减函数包括与待相乘的项目相关联的衰减时间参数,所述衰减时间参数是所述目标用户对应的选定推荐时间戳与所述目标用户对待相乘的项目的评分时间戳之间的差值;
在所述原始项目集合对应的项目属性矩阵中,获取所述目标用户所评价过的项目对应的目标项目属性矩阵,并根据所述目标项目属性矩阵和所述评分衰减对角矩阵,生成用户特征矩阵,并将所述用户特征矩阵转换为所述目标用户对应的用户特征向量。
3.如权利要求1所述的方法,其特征在于,还包括:
在所述原始项目集合对应的项目属性矩阵中提取与所述目标项目相关联的元素,并将所述目标项目相关联的元素组合为所述目标项目对应的项目特征向量。
4.如权利要求1所述的方法,其特征在于,还包括:
设置多个第一聚类中心向量,分别计算所述原始用户集合中每个用户对应的用户特征向量与所述多个第一聚类中心向量之间的第一向量距离;
根据所述第一向量距离,确定各用户特征向量与各第一聚类中心向量之间的映射关系,并将映射有相同第一聚类中心向量的用户特征向量所对应的用户划分至相同的用户簇中;
其中,所述用户簇的数量与所述第一聚类中心向量的数量相同。
5.如权利要求1所述的方法,其特征在于,还包括:
设置多个第二聚类中心向量,分别计算所述原始项目集合中每个项目对应的项目特征向量与所述多个第二聚类中心向量之间的第二向量距离;
根据所述第二向量距离,确定各项目特征向量与各第二聚类中心向量之间的映射关系,并将映射有相同第二聚类中心向量的项目特征向量所对应的项目划分至相同的项目簇中;
其中,所述项目簇的数量与所述第二聚类中心向量的数量相同。
6.如权利要求1所述的方法,其特征在于,所述根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户,包括:
将目标用户所属的用户簇中除了所述目标用户以外的用户,确定为待处理用户,并获取所述目标用户与所述待处理用户分别对应的用户特征向量;
获取所述目标用户与所述待处理用户之间的项目属性交集,并根据所述目标用户与所述待处理用户分别对应的用户特征向量中与所述项目属性交集相关联的元素、所述目标用户与所述待处理用户分别对应的用户特征向量中所有元素的平均值,计算所述目标用户与所述待处理用户之间的用户相似度值;所述项目属性交集是指所述目标用户所评价过的项目对应的项目属性与所述待处理用户所评价过的项目对应的项目属性之间的交集;
按照所述用户相似度值从高至低的顺序对所有所述待处理用户进行排序,将排序序号小于第一数量阈值的所述待处理用户确定为满足用户相似度条件的用户,并将满足用户相似度条件的用户确定为所述目标用户对应的邻居用户。
7.如权利要求1所述的方法,其特征在于,所述根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目,包括:
将所述目标项目所属的项目簇中除了所述目标项目以外的项目,确定为待匹配项目,并获取所述目标项目与所述待匹配项目分别对应的项目特征向量;
获取所述目标项目与所述待匹配项目之间的项目属性并集,并根据所述目标项目与所述待匹配项目分别对应的项目特征向量中与所述项目属性并集相关联的元素,计算所述目标项目与所述待匹配项目之间的项目相似度值;所述项目属性并集是指所述目标项目对应的项目属性与所述待匹配项目对应的项目属性之间的并集;
按照所述项目相似度值从高至低的顺序对所有所述待匹配项目进行排序,将排序序号小于第二数量阈值的所述待匹配项目确定为满足项目相似度条件的项目,并将满足项目相似度条件的项目确定为所述目标项目对应的邻居项目。
8.如权利要求1所述的方法,其特征在于,所述分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目,包括:
将所述待推荐项目集中的每个项目均确定为待推荐项目;
计算所述目标用户与每个所述待推荐项目之间的预测评分;
按照所述预测评分从高至低的顺序对所有所述待推荐项目进行排序,将排序序号小于第三数量阈值的所述待推荐项目确定为所述目标用户对应的推荐项目。
9.如权利要求8所述的方法,其特征在于,所述计算所述目标用户与每个所述待推荐项目之间的预测评分,包括:
若所述待推荐项目为具有评分的项目,则根据所述目标用户分别与每个所述邻居用户之间的用户相似度值、所述目标用户和每个所述邻居用户分别对应的用户评分均值、每个所述邻居用户分别对所述待推荐项目的评分,计算所述目标用户与所述待推荐项目之间的预测评分;所述用户评分均值是指一个用户对所评价过的项目的评分的平均值;
若所述待推荐项目为未具有评分的项目,则根据所述待推荐项目对应的每个邻居项目分别与所述待推荐项目之间的项目相似度值、所述待推荐项目对应的每个邻居项目分别对应的项目评分均值、所述目标用户对应的用户评分均值、所有所述项目评分均值的平均值,计算所述目标用户与所述待推荐项目之间的预测评分;所述项目评分均值是指一个项目所具有的所有评分的平均值。
10.一种数据推荐装置,其特征在于,包括:
簇获取模块,用于获取所有用户簇和所有项目簇;所述用户簇是通过对原始用户集合中每个用户对应的用户特征向量进行聚类得到,所述项目簇是通过对原始项目集合中每个项目对应的项目特征向量进行聚类得到;
用户获取模块,用于根据目标用户对应的用户特征向量,在所述目标用户所属的用户簇中获取与所述目标用户之间的相似度满足用户相似度条件的用户,作为所述目标用户对应的邻居用户;
项目获取模块,用于将所述目标用户所评价过的项目和所述邻居用户所评价过的项目均确定为目标项目,并根据所述目标项目对应的项目特征向量,在所述目标项目所属的项目簇中获取与所述目标项目之间的相似度满足项目相似度条件的项目,作为所述目标项目对应的邻居项目;
推荐计算模块,用于在所述目标项目和所述目标项目对应的邻居项目中去除所述目标用户所评价过的项目,得到待推荐项目集,分别计算所述目标用户与所述待推荐项目集中每个项目之间的预测评分,并根据所述预测评分在所述待推荐项目集中选择与所述目标用户对应的推荐项目。
11.如权利要求10所述的装置,其特征在于,还包括:
矩阵计算模块,用于根据所述目标用户所评价过的项目,建立所述目标用户对应的评分对角矩阵;所述评分对角矩阵包括所述目标用户所评价过的每个项目的评分数据;
所述矩阵计算模块,还用于将时间衰减函数分别与所述评分对角矩阵中每个项目的评分数据进行相乘,得到评分衰减对角矩阵;所述时间衰减函数包括与待相乘的项目相关联的衰减时间参数,所述衰减时间参数是所述目标用户对应的选定推荐时间戳与所述目标用户对待相乘的项目的评分时间戳之间的差值;
用户向量生成模块,用于在所述原始项目集合对应的项目属性矩阵中,获取所述目标用户所评价过的项目对应的目标项目属性矩阵,并根据所述目标项目属性矩阵和所述评分衰减对角矩阵,生成用户特征矩阵,并将所述用户特征矩阵转换为所述目标用户对应的用户特征向量。
12.如权利要求10所述的装置,其特征在于,还包括:
项目向量生成模块,用于在所述原始项目集合对应的项目属性矩阵中提取与所述目标项目相关联的元素,并将所述目标项目相关联的元素组合为所述目标项目对应的项目特征向量。
13.一种数据推荐装置,其特征在于,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-9任一项所述的方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810036690.4A CN108197285A (zh) | 2018-01-15 | 2018-01-15 | 一种数据推荐方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810036690.4A CN108197285A (zh) | 2018-01-15 | 2018-01-15 | 一种数据推荐方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108197285A true CN108197285A (zh) | 2018-06-22 |
Family
ID=62589565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810036690.4A Pending CN108197285A (zh) | 2018-01-15 | 2018-01-15 | 一种数据推荐方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108197285A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064285A (zh) * | 2018-08-02 | 2018-12-21 | 西北大学 | 一种获得商品推荐序列及商品推荐方法 |
CN109241202A (zh) * | 2018-09-11 | 2019-01-18 | 杭州飞弛网络科技有限公司 | 一种基于聚类的陌生人社交用户匹配方法和系统 |
CN109241415A (zh) * | 2018-08-20 | 2019-01-18 | 平安科技(深圳)有限公司 | 项目推荐方法、装置、计算机设备及存储介质 |
CN109299994A (zh) * | 2018-07-27 | 2019-02-01 | 北京三快在线科技有限公司 | 推荐方法、装置、设备及可读存储介质 |
CN109345348A (zh) * | 2018-09-30 | 2019-02-15 | 重庆誉存大数据科技有限公司 | 基于旅行社用户的多维信息画像的推荐方法 |
CN109408712A (zh) * | 2018-09-30 | 2019-03-01 | 重庆誉存大数据科技有限公司 | 一种旅行社用户多维信息画像的构建方法 |
CN109977177A (zh) * | 2019-03-27 | 2019-07-05 | 新奥数能科技有限公司 | 生成用户画像的方法及装置 |
CN110008403A (zh) * | 2019-03-05 | 2019-07-12 | 百度在线网络技术(北京)有限公司 | 目标信息的排序方法、排序系统、推荐方法及推荐系统 |
CN110070134A (zh) * | 2019-04-25 | 2019-07-30 | 厦门快商通信息咨询有限公司 | 一种基于用户兴趣感知的推荐方法及装置 |
CN110147463A (zh) * | 2019-04-03 | 2019-08-20 | 华南理工大学 | 一种音乐推送方法、系统、装置和存储介质 |
WO2020073534A1 (zh) * | 2018-10-12 | 2020-04-16 | 平安科技(深圳)有限公司 | 基于重聚类的推送方法、装置、计算机设备及存储介质 |
WO2020133398A1 (zh) * | 2018-12-29 | 2020-07-02 | 深圳市欢太科技有限公司 | 应用推荐方法、装置、服务器和计算机可读存储介质 |
CN112948625A (zh) * | 2021-02-01 | 2021-06-11 | 重庆邮电大学 | 一种基于属性异质信息网络嵌入的电影推荐方法 |
CN114840777A (zh) * | 2022-07-04 | 2022-08-02 | 杭州城市大脑有限公司 | 多维度养老服务推荐方法、装置以及电子设备 |
WO2022165714A1 (zh) * | 2021-02-04 | 2022-08-11 | 深圳大学 | 一种信息推荐方法、电子设备及存储介质 |
CN116562902A (zh) * | 2023-05-08 | 2023-08-08 | 广州商研网络科技有限公司 | 店铺销售策略推荐方法及其装置、设备、介质、产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329683A (zh) * | 2008-07-25 | 2008-12-24 | 华为技术有限公司 | 推荐系统及方法 |
CN103136289A (zh) * | 2011-12-05 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 资源推荐方法及系统 |
CN104391849A (zh) * | 2014-06-30 | 2015-03-04 | 浙江大学苏州工业技术研究院 | 融入时间上下文信息的协同过滤推荐方法 |
CN104899321A (zh) * | 2015-06-19 | 2015-09-09 | 中国石油大学(华东) | 一种基于项目属性评分均值的协同过滤推荐方法 |
CN107292648A (zh) * | 2016-04-01 | 2017-10-24 | 株式会社理光 | 一种用户行为分析方法及装置 |
-
2018
- 2018-01-15 CN CN201810036690.4A patent/CN108197285A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329683A (zh) * | 2008-07-25 | 2008-12-24 | 华为技术有限公司 | 推荐系统及方法 |
CN103136289A (zh) * | 2011-12-05 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 资源推荐方法及系统 |
CN104391849A (zh) * | 2014-06-30 | 2015-03-04 | 浙江大学苏州工业技术研究院 | 融入时间上下文信息的协同过滤推荐方法 |
CN104899321A (zh) * | 2015-06-19 | 2015-09-09 | 中国石油大学(华东) | 一种基于项目属性评分均值的协同过滤推荐方法 |
CN107292648A (zh) * | 2016-04-01 | 2017-10-24 | 株式会社理光 | 一种用户行为分析方法及装置 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299994A (zh) * | 2018-07-27 | 2019-02-01 | 北京三快在线科技有限公司 | 推荐方法、装置、设备及可读存储介质 |
CN109064285A (zh) * | 2018-08-02 | 2018-12-21 | 西北大学 | 一种获得商品推荐序列及商品推荐方法 |
CN109064285B (zh) * | 2018-08-02 | 2021-02-02 | 西北大学 | 一种获得商品推荐序列及商品推荐方法 |
CN109241415A (zh) * | 2018-08-20 | 2019-01-18 | 平安科技(深圳)有限公司 | 项目推荐方法、装置、计算机设备及存储介质 |
CN109241415B (zh) * | 2018-08-20 | 2023-04-14 | 平安科技(深圳)有限公司 | 项目推荐方法、装置、计算机设备及存储介质 |
CN109241202A (zh) * | 2018-09-11 | 2019-01-18 | 杭州飞弛网络科技有限公司 | 一种基于聚类的陌生人社交用户匹配方法和系统 |
CN109345348A (zh) * | 2018-09-30 | 2019-02-15 | 重庆誉存大数据科技有限公司 | 基于旅行社用户的多维信息画像的推荐方法 |
CN109408712A (zh) * | 2018-09-30 | 2019-03-01 | 重庆誉存大数据科技有限公司 | 一种旅行社用户多维信息画像的构建方法 |
WO2020073534A1 (zh) * | 2018-10-12 | 2020-04-16 | 平安科技(深圳)有限公司 | 基于重聚类的推送方法、装置、计算机设备及存储介质 |
WO2020133398A1 (zh) * | 2018-12-29 | 2020-07-02 | 深圳市欢太科技有限公司 | 应用推荐方法、装置、服务器和计算机可读存储介质 |
CN110008403A (zh) * | 2019-03-05 | 2019-07-12 | 百度在线网络技术(北京)有限公司 | 目标信息的排序方法、排序系统、推荐方法及推荐系统 |
CN110008403B (zh) * | 2019-03-05 | 2021-05-28 | 百度在线网络技术(北京)有限公司 | 目标信息的排序方法、排序系统、推荐方法及推荐系统 |
CN109977177A (zh) * | 2019-03-27 | 2019-07-05 | 新奥数能科技有限公司 | 生成用户画像的方法及装置 |
CN110147463A (zh) * | 2019-04-03 | 2019-08-20 | 华南理工大学 | 一种音乐推送方法、系统、装置和存储介质 |
CN110070134A (zh) * | 2019-04-25 | 2019-07-30 | 厦门快商通信息咨询有限公司 | 一种基于用户兴趣感知的推荐方法及装置 |
CN112948625A (zh) * | 2021-02-01 | 2021-06-11 | 重庆邮电大学 | 一种基于属性异质信息网络嵌入的电影推荐方法 |
CN112948625B (zh) * | 2021-02-01 | 2022-08-05 | 重庆邮电大学 | 一种基于属性异质信息网络嵌入的电影推荐方法 |
WO2022165714A1 (zh) * | 2021-02-04 | 2022-08-11 | 深圳大学 | 一种信息推荐方法、电子设备及存储介质 |
CN114840777A (zh) * | 2022-07-04 | 2022-08-02 | 杭州城市大脑有限公司 | 多维度养老服务推荐方法、装置以及电子设备 |
CN114840777B (zh) * | 2022-07-04 | 2022-09-27 | 杭州城市大脑有限公司 | 多维度养老服务推荐方法、装置以及电子设备 |
CN116562902A (zh) * | 2023-05-08 | 2023-08-08 | 广州商研网络科技有限公司 | 店铺销售策略推荐方法及其装置、设备、介质、产品 |
CN116562902B (zh) * | 2023-05-08 | 2024-07-05 | 广州商研网络科技有限公司 | 店铺销售策略推荐方法及其装置、设备、介质、产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108197285A (zh) | 一种数据推荐方法以及装置 | |
CN103678672B (zh) | 一种信息推荐方法 | |
CN104102719B (zh) | 一种轨迹信息的推送方法及装置 | |
US8688705B1 (en) | Large scale machine learning systems and methods | |
CN106228188A (zh) | 聚类方法、装置及电子设备 | |
CN107230475A (zh) | 一种语音关键词识别方法、装置、终端及服务器 | |
CN103916436B (zh) | 信息推送方法、装置、终端及服务器 | |
CN110162621A (zh) | 分类模型训练方法、异常评论检测方法、装置及设备 | |
CN105630803B (zh) | 文档型数据库建立索引的方法和装置 | |
CN109359237A (zh) | 一种用于搜索寄宿程序的方法与设备 | |
CN107766393A (zh) | 基于数据库的信息处理方法、客户端及服务器 | |
CN109951846A (zh) | 无线网络识别方法、装置、存储介质及计算机设备 | |
CN103428165A (zh) | 社交网络节点分组方法和装置 | |
CN113010255B (zh) | 基于捆绑会话组的交互方法、装置和计算机设备 | |
CN110362563A (zh) | 数据表的处理方法及装置、存储介质、电子装置 | |
CN104750762A (zh) | 一种信息检索方法及装置 | |
CN105488176A (zh) | 数据处理方法和装置 | |
CN104462347B (zh) | 关键词的分类方法及装置 | |
CN110135428A (zh) | 图像分割处理方法和装置 | |
CN114490923A (zh) | 相似文本匹配模型的训练方法、装置、设备及存储介质 | |
CN104572687B (zh) | 微博传播的关键用户识别方法和装置 | |
CN108596412A (zh) | 基于用户相似度的跨领域评分方法以及评分设备 | |
CN108810056A (zh) | 信息推送方法及装置 | |
CN109313641A (zh) | 信息处理系统和方法以及程序 | |
CN106294784A (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 |