CN114896491B - 基于聚类的用户个性化热门计算方法、装置、设备及介质 - Google Patents
基于聚类的用户个性化热门计算方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114896491B CN114896491B CN202210404599.XA CN202210404599A CN114896491B CN 114896491 B CN114896491 B CN 114896491B CN 202210404599 A CN202210404599 A CN 202210404599A CN 114896491 B CN114896491 B CN 114896491B
- Authority
- CN
- China
- Prior art keywords
- user
- cluster
- article
- algorithm
- hot
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 38
- 239000013598 vector Substances 0.000 claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 40
- 101150064138 MAP1 gene Proteins 0.000 claims abstract description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 70
- 230000006399 behavior Effects 0.000 claims description 47
- 238000010606 normalization Methods 0.000 claims description 25
- 101150009249 MAP2 gene Proteins 0.000 claims description 21
- 230000009471 action Effects 0.000 claims description 15
- 238000005295 random walk Methods 0.000 claims description 15
- 238000009825 accumulation Methods 0.000 claims description 14
- 239000000463 material Substances 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- 235000018185 Betula X alpestris Nutrition 0.000 claims description 3
- 235000018212 Betula X uliginosa Nutrition 0.000 claims description 3
- 239000011435 rock Substances 0.000 claims description 3
- 241001630723 Lepophidium brevibarbe Species 0.000 claims 1
- 101100075995 Schizosaccharomyces pombe (strain 972 / ATCC 24843) fma2 gene Proteins 0.000 claims 1
- 230000000699 topical effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Images
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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了基于聚类的用户个性化热门计算方法、装置、设备及介质,所述方法包括:基于用户行为序列数据构建物品网络图;使用Graph Embedding得到各物品节点的向量表示;对物品节点的向量数据进行聚类,生成K个类簇;计算各类簇下每个物品的CTR点击率,并降序排列得到各类簇下对应的K个热门物品列表,组成Map1;计算用户对各类簇的偏好得分;根据用户对各类簇的偏好得分,对用户的每个类簇分别至Map1中对应的各热门列表中截取头部数值N个,得到1~K个不同的截取热门列表;将多个截取热门列表进行合并,再随机打散,得到用户个性化热门推荐结果。本申请基于用户行为序列,实现了精准的用户个性化热门推荐。
Description
技术领域
本发明涉及互联网信息技术领域,尤其涉及一种基于聚类的用户个性化热门计算方法、装置、设备及介质。
背景技术
个性化推荐技术是一个有巨大应用价值的技术。个性化推荐技术近年来不断地被各种电子商务型网站以及社会型网站所应用,为用户提供他们所感兴趣的信息和商品。个性化推荐技术最早是在1995年被提出来的,此后不断地被发展应用于电子商务领域,并为电子商务网站带来了巨大的利益,如亚马逊。用户在电商平台的行为有多种类型,例如点击、加入购物车、购买、评价或者收藏。用户在电商平台上对商品的点击、加入购物车、购买、评价或者收藏都是不同程度地反映用户对商品的偏好兴趣。如何利用这些数据以提高电商运营和广告投放效率,被越来越多的电商企业和广告主所关注。
推荐预测是一种按不同维度排序的算法,一般分为共性化推荐和个性化推荐。共性化推荐一般是推荐流行的东西,也许是大众用户喜好的,但也许会是用户已知的东西。个性化推荐需要分析用户的个体喜好,推荐的物品都是符合用户偏好的,但是用户的偏好会随着时间和环境所改变。传统的协同过滤算法利用用户商品评分矩阵来进行推荐计算,未考虑用户访问项目的具体时间,未反应用户兴趣随时间的变化过程。当用户兴趣发生改变时,现有的推荐系统不能及时反应,导致推荐的列表偏离了用户的真实喜好。
因此,现有的个性化推荐技术的方法存在不足,如何实现精准的用户个性化热门推荐,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种基于聚类的用户个性化热门计算方法、装置、设备及介质,以解决上述技术背景中提出的问题。
为实现上述目的,本发明采用以下技术方案:
本申请第一个方面提供了一种基于聚类的用户个性化热门计算方法,包括:
S1,基于用户行为序列数据构建物品的网络图Graph,其中,每个用户行为序列包括该用户按照时间顺序对不同物品依次发生的多个用户行为,所述物品的网络图Graph是由用户点击的物品节点组成,一个物品节点代表用户行为所对应的一个物品;
S2,使用Graph Embedding方法得到各个物品节点的向量表示,即物品向量;
S3,通过聚类算法对物品向量进行聚类,生成K个类簇,K为正整数;
S4,计算各类簇下每个物品的CTR点击率,并降序排列,得到各类簇下对应的K个热门物品列表,组装成Map1;
S5,将用户在每个类簇下的行为进行时间衰减并累加,得到用户对各类簇的偏好得分,组装成Map2;再进行归一化处理,得到用户的归一化类簇偏好,组装成Map3;
S6,对每个用户按照Map3中计算的归一化类簇偏好值,分别计算各类簇对应的头部数值N,N=预设的最终推荐数量*该类簇在Map3中对应的得分;每个类簇分别至Map1中对应的各热门列表中截取头部热门物料N个,得到1~K个不同的截取热门列表;
S7,将多个截取热门列表进行合并,再随机打散,得到用户个性化热门推荐结果;
S8,基于所述用户个性化热门推荐结果,向用户进行个性化热门内容推荐。
优选地,所述步骤S1包括:将用户的点击行为按照行为发生的时间构成一个有向无权的网络图Graph,所述网络图Graph包含多个物品节点。
优选地,所述步骤S2中,所述使用Graph Embedding方法,包括RandomWalk算法、Node2Vector算法中的一种或多种;所述使用Graph Embedding方法得到各个物品节点的向量表示,具体包括如下步骤:
S21,将网络图Graph中的任意一个物品节点作为起始游走点;
S22,在该起始游走点附近进行随机游走,单次共游走L次,产生一个长度为L的序列,L表示单次随机游走的步数,L为正整数;
S23,对网络图Graph中的每个物品节点重复步骤S21、S22共N次,最终得到N*V个节点长度为L的序列,其中,N表示每个物品节点处随机游走的次数,V表示网络图Graph包括的物品节点的个数,且N、V均为正整数;
S24,将生成的序列数据,应用Word2Vec模型计算得到每一个物品节点的向量表示。
更优选地,所述步骤S22中的随机游走过程具体包括:
从网络图Graph的任意一个起始游走点出发,游走的每一步都从与当前物品节点相连的多个物品节点中随机选择一个,不断重复这个过程,直到达到设定的游走长度后,停止游走,从而获得一条新的用户行为序列数据。
优选地,所述步骤S3中,所述聚类算法包括K-means算法、层次聚类算法、SOM算法、FCM算法、WAVECLUSTER算法、ROCK算法、BIRCH算法、CURE算法、K-PROTOTYPES算法、DENCLUE算法、OPTIGRID算法、CLIQUE算法、DBSCAN算法、CLARANS算法中的任意一种。
更优选地,步骤S3中,所述聚类算法为KMeans聚类算法。
优选地,所述步骤S4中,所述Map1的内容包括:
{类簇1:热门列表1,类簇2:热门列表2,……,类簇K:热门列表K}。
优选地,所述步骤S5具体包括如下步骤:
S51,设定参数:decay_rate,days_i,user_cluster_score;其中,
decay_rate表示衰减率,其取值范围为:(0,1);
days_i表示该用户在某一类簇下的第i个行为日期距离当前日期的天数;
user_cluster_score表示该用户在某一类簇下的偏好得分;
S52,采用如下公式,将用户在其对应的每个类簇下的行为分别进行衰减累加:
user_cluster_score=sum(decay_rate^days_i);
S53,将步骤S52计算得到的各个累加和再进行归一化计算,得到该用户在其对应的每个类簇下的归一化类簇偏好;其中,所述归一化计算,为该用户在某一类簇下的偏好得分占该用户对应的所有类簇的偏好得分总和的比例。
本申请第二个方面提供了一种基于聚类的用户个性化热门计算装置,包括:
网络图Graph构建模块,用于基于用户行为序列数据构建物品的网络图Graph,其中,每个用户行为序列包括该用户按照时间顺序对不同物品依次发生的多个用户行为,所述物品的网络图Graph是由用户点击的物品节点组成,一个物品节点代表用户行为所对应的一个物品;
物品节点向量生成模块,用于使用Graph Embedding方法得到各个物品节点的向量表示;
聚类处理模块,用于通过聚类算法对物品节点的向量数据进行聚类,生成K个类簇,K为正整数;
Map1生成模块,用于计算各类簇下每个物品的CTR点击率,并降序排列,得到各类簇下对应的K个热门物品列表,组装成Map1;
Map2生成模块,用于将用户在每个类簇下的行为进行时间衰减并累加,得到用户对各类簇的偏好得分,组装成Map2;
Map3生成模块,用于对Map2进行归一化处理,得到用户的归一化类簇偏好,组装成Map3;
截取热门列表生成模块,用于对每个用户按照Map3中计算的归一化类簇偏好值,分别计算各类簇对应的头部数值N,N=预设的最终推荐数量*该类簇在Map3中对应的得分;每个类簇分别至Map1中对应的各热门列表中截取头部热门物料N个,得到1~K个不同的截取热门列表;
个性化热门推荐结果生成模块,用于将多个截取热门列表进行合并,再随机打散,得到用户个性化热门推荐结果,基于所述用户个性化热门推荐结果,向用户进行个性化热门内容推荐。
优选地,所述聚类算法包括K-means算法、层次聚类算法、SOM算法、FCM算法、WAVECLUSTER算法、ROCK算法、BIRCH算法、CURE算法、K-PROTOTYPES算法、DENCLUE算法、OPTIGRID算法、CLIQUE算法、DBSCAN算法、CLARANS算法中的任意一种。
更优选地,所述预设的聚类算法为KMeans聚类算法。
优选地,所述Map2生成模块,包括:
参数设定单元,用于设定参数:decay_rate,days_i,user_cluster_score;其中,decay_rate表示衰减率,其取值范围为:(0,1);days_i表示该用户在某一类簇下的第i个行为日期距离当前日期的天数;user_cluster_score表示该用户在某一类簇下的偏好得分;
衰减累加单元,用于采用如下公式,将用户在其对应的每个类簇下的行为分别进行衰减累加:user_cluster_score=sum(decay_rate^days_i)。
优选地,所述Map3生成模块,包括:
归一化处理单元,用于将所述Map2生成模块计算得到的各个累加和分别进行归一化计算,得到该用户在其对应的每个类簇下的归一化类簇偏好;其中,所述归一化计算,为该用户在某一类簇下的偏好得分占该用户对应的所有类簇的偏好得分总和的比例。
本申请第三个方面公开了一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行本申请第一个方面所述的方法。
本申请第四个方面提供了一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行本申请第一个方面所述的方法。
上述内容中,所述物品包括文本、图片、音频或视频。
与现有技术相比,本发明的技术方案具有以下有益效果:
跟传统推荐方法相比,本申请基于用户行为序列实现了精准的用户个性化热门推荐。
附图说明
构成本申请的一部分附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了一种基于聚类的用户个性化热门计算方法的流程示意图;
图2示出了在一个实施例中基于用户行为序列数据构建的物品网络图Graph的结构示意图;
图3示出了在一个实施例中对物品节点的向量数据进行聚类,生成K个类簇的示例图;
图4示出了一种基于聚类的用户个性化热门计算装置的结构示意图;
图5示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的数据在适当情况下可以互换。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例:
在许多场景下,需要对用户行为序列进行分析和处理。用户行为序列,是用户在日常操作使用中产生的一系列点击、访问、购买等事件的发生过程,可表示为事件集合的时间序列,它蕴含了用户的细粒度习惯偏好等特点。
图1为一种基于聚类的用户个性化热门计算方法的流程示意图。
参阅图1所示,一种基于聚类的用户个性化热门计算方法,具体包括如下步骤:
步骤S1:基于用户行为序列数据构建物品的网络图Graph。
其中,每个用户行为序列包括该用户按照时间顺序对不同物品依次发生的多个用户行为,所述物品的网络图Graph是由用户点击的物品节点组成,一个物品节点代表用户行为所对应的一个物品。
在信息流产品中,会产生大量的用户点击行为。这些点击行为按照行为发生的时间可构成一个有向无权的网络图Graph,所述网络图Graph包含多个物品节点。
需要说明的是,用户产生过行为的物品可以是文本、图片、音频或视频。
以新闻产品App为例,在新闻产品App中,可获取大量用户的行为数据,如点击行为数据,以下结合该应用场景具体阐述本申请的基于聚类的用户个性化热门计算方法。
参阅图2所示,例如,用户A先后点击了新闻a、新闻b、新闻c,那么就会在网络图Graph中产生由新闻a指向新闻b、由新闻b指向新闻c的两条边。其他用户的点击行为也类似,那么就共同构成了包含V个物品节点的网络图Graph。
步骤S2:使用Graph Embedding方法得到各个物品节点的向量表示。
经典的Graph Embedding技术主要有RandomWalk、Node2Vector等方法。
所述使用Graph Embedding方法得到各个物品节点的向量表示,具体包括如下步骤:
步骤S21,将网络图Graph中的任意一个物品节点作为起始游走点。
步骤S22,在该起始游走点附近进行随机游走,单次共游走L次,产生一个长度为L的序列,L表示单次随机游走的步数,L为正整数。
其中,所述随机游走过程具体包括:从网络图Graph的任意一个起始游走点出发,游走的每一步都从与当前物品节点相连的多个物品节点中随机选择一个,不断重复这个过程,直到达到设定的游走长度后,停止游走,从而获得一条新的用户行为序列数据。
步骤S23,对网络图Graph中的每个物品节点重复步骤S21、S22共N次,最终得到N*V个节点长度为L的序列,其中,N表示每个物品节点处随机游走的次数,V表示网络图Graph包括的物品节点的个数,且N、V均为正整数。
步骤S24,使用这些生成的序列数据,应用Word2Vec模型计算得到每一个物品节点的向量表示。
word2vector算法为一种开源算法,用指定维度的向量表示词组信息,利用向量度量词语间关系。在本实施方式中,应用于物品序列数据。
本实施例中,假设游走采样得到的序列为:
[[a,b,d,e,g,h,v,f],
[w,r,f,h,v,s,n,d,k],
……]
通过word2vector模型计算得到各新闻的向量表示,例如:
新闻a的向量表示为a:[0.22,0.45,0.88,0.06,0.01,0.32];
新闻c的向量表示为c:[0.24,0.47,0.86,0.12,0.03,0.28];
……
这里,需要说明的是,根据采用的算法不同,会有不同的随机游走方式,随机性由相关算法的参数进行控制。
步骤S3:通过KMeans聚类算法,对得到的新闻向量数据进行聚类,生成K个类簇,K为正整数,通常在5~20之间。
其中,Kmeans算法是无监督聚类算法,对于N个样本的数据集,将其聚类成K个簇,使得簇的方差和最小。
本实施例中,对得到的新闻向量数据聚类至K个类簇,最终使得向量距离较近的节点尽可能划分至一个类簇内,反之则划分至不同类簇,即向量距离相近的节点聚在一起,距离远的节点则划分开。这是因为,相似的向量通常在某一方面会近似,如标题文本、类别、作者或一些隐含语义等,所以,不同的类簇代表着不同的类型。
参阅图3所示,新闻a的向量、新闻f的向量、新闻w的向量和新闻c的向量距离相近,代表相同的类型,通过聚类后,被划分至类簇C1中;而新闻b的向量、新闻h的向量距离相近,代表另一类型,通过聚类后,被划分至类簇C2中。
步骤S4:计算各物品类簇下每个物品的CTR点击率,并降序排列得到各类簇下对应的K个热门物品列表,组成Map1,形如:
{类簇1:热门列表1,类簇2:热门列表2,……,类簇K:热门列表K}。
步骤S5:将用户在每个类簇下的行为进行时间衰减并累加,得到用户对各类簇的偏好得分,组装成Map2,形如:{类簇1:1.2,类簇2:0.5,……,类簇K:0.3}。
具体包括如下步骤:
步骤S51,设定参数:decay_rate,days_i,user_cluster_score;其中,
decay_rate表示衰减率,其取值范围为:(0,1);
days_i表示该用户在某一类簇下的第i个行为日期距离当前日期的天数;
user_cluster_score表示该用户在某一类簇下的偏好得分。
步骤S52,采用如下公式,将用户在其对应的每个类簇下的行为分别进行衰减累加:
user_cluster_score=sum(decay_rate^days_i)。
例如,用户A有两个类簇,分别为类簇C1和类簇C2,新闻a和新闻c被划分至类簇C1中,新闻b被划分至类簇C2中。用户A点击新闻a的行为时间距离当前时间为1天,点击新闻c的行为时间距离当前时间为3天,点击新闻b的行为时间距离当前时间为2天。
设置衰减率decay_rate为0.9,则用户A对类簇C1的偏好得分为:0.9^1+0.9^3=1.629,而用户A对类簇C2的偏好得分为:0.9^2=0.81。
组装成的Map2为:{类簇1:1.629,类簇2:0.81}。
步骤S53,接下来,再进行归一化处理,得到用户的归一化类簇偏好,组装成Map3,形如:{类簇1:0.24,类簇2:0.1,……,类簇K:0.06}。
具体步骤为:将步骤S52计算得到的各个累加和再进行归一化计算,得到该用户在其对应的每个类簇下的归一化类簇偏好;其中,所述归一化计算,为该用户在某一类簇下的偏好得分占该用户对应的所有类簇的偏好得分总和的比例,即:归一化类簇偏好值=用户的类簇偏好得分Map2中每个类簇得分/用户的类簇偏好得分Map2中各类簇得分的加和。
例如,对上述用户A所对应的类簇C1、类簇C2进行归一化计算:
类簇C1的归一化计算为:1.629/(1.629+0.81)=0.668;
类簇C2的归一化计算为:0.81/(1.629+0.81)=0.332;
组装成的Map3为:{类簇C1:0.668,类簇2:0.332}。
步骤S6:对每个用户按照Map3中计算的归一化类簇偏好值,分别计算各类簇对应的头部数值N,N=(预设的最终推荐数量*该类簇在Map3中对应的得分);每个类簇分别至Map1中对应的各热门列表中截取头部热门物料N个,得到1~K个不同的截取热门列表。
用户A类簇截取热门列表示例:
注:此处设定预设的最终推荐数量为100。
步骤S7:将多个截取热门列表进行合并,再随机打散,得到用户个性化热门推荐结果。
步骤S8:基于所述用户个性化热门推荐结果,向用户进行个性化热门内容推荐。
需要说明的是,上述应用场景仅是本发明实施方式的一个示例,本发明的实施方式不限于上述应用场景,而是可以应用到任何本发明实施方式适用的应用场景中。
另一方面,本申请还公开了一种基于聚类的用户个性化热门计算装置。
参阅4所示,一种基于聚类的用户个性化热门计算装置,包括:网络图Graph构建模块100、物品节点向量生成模块200、聚类处理模块300、Map1生成模块400、Map2生成模块500、Map3生成模块600、截取热门列表生成模块700和个性化热门推荐结果生成模块800。
所述网络图Graph构建模块100,用于基于用户行为序列数据构建物品的网络图Graph,其中,每个用户行为序列包括该用户按照时间顺序对不同物品依次发生的多个用户行为,所述物品的网络图Graph是由用户点击的物品节点组成,一个物品节点代表用户行为所对应的一个物品。
所述物品节点向量生成模块200,用于使用Graph Embedding方法得到各个物品节点的向量表示。
所述聚类处理模块300,用于通过聚类算法对物品节点的向量数据进行聚类,生成K个类簇,K为正整数。
所述Map1生成模块400,用于计算各类簇下每个物品的CTR点击率,并降序排列,得到各类簇下对应的K个热门物品列表,组装成Map1。
所述Map2生成模块500,用于将用户在每个类簇下的行为进行时间衰减并累加,得到用户对各类簇的偏好得分,组装成Map2。
所述Map3生成模块600,用于对Map2进行归一化处理,得到用户的归一化类簇偏好,组装成Map3。
所述截取热门列表生成模块700,用于对每个用户按照Map3中计算的归一化类簇偏好值,分别计算各类簇对应的头部数值N,N=(预设的最终推荐数量*该类簇在Map3中对应的得分);每个类簇分别至Map1中对应的各热门列表中截取头部热门物料N个,得到1~K个不同的截取热门列表。
所述个性化热门推荐结果生成模块800,用于将多个截取热门列表进行合并,再随机打散,得到用户个性化热门推荐结果,以及基于所述用户个性化热门推荐结果,向用户进行个性化热门内容推荐。
其中,所述Map2生成模块600,包括:
参数设定单元,用于设定参数:decay_rate,days_i,user_cluster_score;其中,decay_rate表示衰减率,其取值范围为:(0,1);days_i表示该用户在某一类簇下的第i个行为日期距离当前日期的天数;user_cluster_score表示该用户在某一类簇下的偏好得分;
衰减累加单元,用于采用如下公式,将用户在其对应的每个类簇下的行为分别进行衰减累加:user_cluster_score=sum(decay_rate^days_i)。
其中,所述Map3生成模块700,包括:
归一化处理单元,用于将所述Map2生成模块计算得到的各个累加和分别进行归一化计算,得到该用户在其对应的每个类簇下的归一化类簇偏好;其中,所述归一化计算,为该用户在某一类簇下的偏好得分占该用户对应的所有类簇的偏好得分总和的比例。
图5示出了根据本申请公开一实施例的计算设备的结构示意图。
如图5所示,本申请公开的计算设备900可以包括处理器910以及存储器920。存储器920,用于存储计算机程序;其中,处理器910执行存储器920中的计算机程序,以实现如上所述各方法实施例所提供的方法。具体实现过程可参见上文中的相关描述,在此不再赘述。
在实施例中,以一电子设备对本申请提供的基于聚类技术的用户多兴趣推荐装置进行示例。处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行程序指令,以实现上文的本申请的各个实施例中的方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
此外,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时用于实现如上所述各方法实施例所提供的方法。
实际应用中,本实施例中的计算机程序可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
实际应用中,计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的实施例的装置和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上对本发明的具体实施例进行了详细描述,但其只是作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对本发明进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。
Claims (8)
1.基于聚类的用户个性化热门计算方法,其特征在于,包括:
S1,基于用户行为序列数据构建物品的网络图Graph,其中,每个用户行为序列包括该用户按照时间顺序对不同物品依次发生的多个用户行为,所述物品的网络图Graph是由用户点击的物品节点组成,一个物品节点代表用户行为所对应的一个物品;
S2,使用Graph Embedding方法得到各个物品节点的向量表示,即物品向量;
S3,通过聚类算法对物品向量进行聚类,生成K个类簇,K为正整数;
S4,计算各类簇下每个物品的CTR点击率,并降序排列,得到各类簇下对应的K个热门物品列表,组装成Map1;
S5,将用户在每个类簇下的行为进行时间衰减并累加,得到用户对各类簇的偏好得分,组装成Map2;再进行归一化处理,得到用户的归一化类簇偏好,组装成Map3;
其中,所述将用户在每个类簇下的行为进行时间衰减并累加,得到用户对各类簇的偏好得分,具体包括如下步骤S51-S52:
S51,设定参数:decay_rate,days_i,user_cluster_score;其中,
decay_rate表示衰减率,其取值范围为:(0,1);
days_i表示该用户在某一类簇下的第i个行为日期距离当前日期的天数;
user_cluster_score表示该用户在某一类簇下的偏好得分;
S52,采用如下公式,将用户在其对应的每个类簇下的行为分别进行衰减累加:
user_cluster_score=sum(decay_rate^days_i);
其中,所述再进行归一化处理,得到用户的归一化类簇偏好,具体包括如下步骤S53:
S53,将步骤S52计算得到的各个累加和再进行归一化计算,得到该用户在其对应的每个类簇下的归一化类簇偏好;其中,所述归一化计算,为该用户在某一类簇下的偏好得分占该用户对应的所有类簇的偏好得分总和的比例;
S6,对每个用户按照Map3中计算的归一化类簇偏好值,分别计算各类簇对应的头部数值N,N=预设的最终推荐数量*该类簇在Map3中对应的得分;每个类簇分别至Map1中对应的各热门列表中截取头部热门物料N个,得到1~K个不同的截取热门列表;
S7,将多个截取热门列表进行合并,再随机打散,得到用户个性化热门推荐结果;
S8,基于所述用户个性化热门推荐结果,向用户进行个性化热门内容推荐。
2.根据权利要求1所述的基于聚类的用户个性化热门计算方法,其特征在于,所述S1包括:将用户的点击行为按照行为发生的时间构成一个有向无权的网络图Graph,所述网络图Graph包含多个物品节点。
3.根据权利要求1所述的基于聚类的用户个性化热门计算方法,其特征在于,所述S2中,所述使用Graph Embedding方法,包括RandomWalk算法、Node2Vector算法中的一种或多种;所述使用Graph Embedding方法得到各个物品节点的向量表示,具体包括如下步骤:
S21,将网络图Graph中的任意一个物品节点作为起始游走点;
S22,在该起始游走点附近进行随机游走,单次共游走L次,产生一个长度为L的序列,L表示单次随机游走的步数,L为正整数;
S23,对网络图Graph中的每个物品节点重复步骤S21、S22共N次,最终得到N*V个节点长度为L的序列,其中,N表示每个物品节点处随机游走的次数,V表示网络图Graph包括的物品节点的个数,且N、V均为正整数;
S24,将生成的序列数据,应用Word2Vec模型计算得到每一个物品节点的向量表示。
4.根据权利要求1所述的基于聚类的用户个性化热门计算方法,其特征在于,所述S3中,所述聚类算法包括K-means算法、层次聚类算法、SOM算法、FCM算法、WAVECLUSTER算法、ROCK算法、BIRCH算法、CURE算法、K-PROTOTYPES算法、DENCLUE算法、OPTIGRID算法、CLIQUE算法、DBSCAN算法、CLARANS算法中的任意一种。
5.根据权利要求4所述的基于聚类的用户个性化热门计算方法,其特征在于,所述聚类算法为KMeans聚类算法。
6.基于聚类的用户个性化热门计算装置,其特征在于,包括:
网络图Graph构建模块,用于基于用户行为序列数据构建物品的网络图Graph,其中,每个用户行为序列包括该用户按照时间顺序对不同物品依次发生的多个用户行为,所述物品的网络图Graph是由用户点击的物品节点组成,一个物品节点代表用户行为所对应的一个物品;
物品节点向量生成模块,用于使用Graph Embedding方法得到各个物品节点的向量表示;
聚类处理模块,用于通过聚类算法对物品节点的向量数据进行聚类,生成K个类簇,K为正整数;
Map1生成模块,用于计算各类簇下每个物品的CTR点击率,并降序排列,得到各类簇下对应的K个热门物品列表,组装成Map1;
Map2生成模块,用于将用户在每个类簇下的行为进行时间衰减并累加,得到用户对各类簇的偏好得分,组装成Map2;
Map3生成模块,用于对Map2进行归一化处理,得到用户的归一化类簇偏好,组装成Map3;
截取热门列表生成模块,用于对每个用户按照Map3中计算的归一化类簇偏好值,分别计算各类簇对应的头部数值N,N=预设的最终推荐数量*该类簇在Map3中对应的得分;每个类簇分别至Map1中对应的各热门列表中截取头部热门物料N个,得到1~K个不同的截取热门列表;
个性化热门推荐结果生成模块,用于将多个截取热门列表进行合并,再随机打散,得到用户个性化热门推荐结果,基于所述用户个性化热门推荐结果,向用户进行个性化热门内容推荐;
其中,所述Map2生成模块,包括:
参数设定单元,用于设定参数:decay_rate,days_i,user_cluster_score;其中,decay_rate表示衰减率,其取值范围为:(0,1);days_i表示该用户在某一类簇下的第i个行为日期距离当前日期的天数;user_cluster_score表示该用户在某一类簇下的偏好得分;
衰减累加单元,用于采用如下公式,将用户在其对应的每个类簇下的行为分别进行衰减累加:user_cluster_score=sum(decay_rate^days_i);
所述Map3生成模块,包括:
归一化处理单元,用于将所述Map2生成模块计算得到的各个累加和分别进行归一化计算,得到该用户在其对应的每个类簇下的归一化类簇偏好;其中,所述归一化计算,为该用户在某一类簇下的偏好得分占该用户对应的所有类簇的偏好得分总和的比例。
7.一种计算设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行权利要求1-5任一项所述的基于聚类的用户个性化热门计算方法。
8.一种计算机可读存储介质,其上存储有可执行代码,其特征在于,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行权利要求1-5任一项所述的基于聚类的用户个性化热门计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210404599.XA CN114896491B (zh) | 2022-04-18 | 2022-04-18 | 基于聚类的用户个性化热门计算方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210404599.XA CN114896491B (zh) | 2022-04-18 | 2022-04-18 | 基于聚类的用户个性化热门计算方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114896491A CN114896491A (zh) | 2022-08-12 |
CN114896491B true CN114896491B (zh) | 2023-06-06 |
Family
ID=82718191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210404599.XA Active CN114896491B (zh) | 2022-04-18 | 2022-04-18 | 基于聚类的用户个性化热门计算方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114896491B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL178394A (en) * | 2006-09-28 | 2014-12-31 | Deutsche Telekom Ag | Interactive mixed recommendation system |
EP2145265A4 (en) * | 2007-03-30 | 2011-09-14 | Amazon Tech Inc | CLUSTER-BASED ASSESSMENT OF USER INTERESTS |
CN109299373B (zh) * | 2018-10-20 | 2021-10-29 | 上海交通大学 | 基于图卷积技术的推荐系统 |
CN110599240A (zh) * | 2019-08-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 应用的偏好值确定方法、装置和设备及存储介质 |
CN110704753A (zh) * | 2019-09-12 | 2020-01-17 | 创新奇智(合肥)科技有限公司 | 一种基于时间序列性的个性化推荐方法 |
CN112579883B (zh) * | 2020-11-24 | 2023-07-07 | 深圳大学 | 一种面向序列反馈的物品推荐方法、智能终端及存储介质 |
CN113934937A (zh) * | 2021-10-22 | 2022-01-14 | 平安国际智慧城市科技股份有限公司 | 一种内容智能推荐方法、装置、终端和存储介质 |
-
2022
- 2022-04-18 CN CN202210404599.XA patent/CN114896491B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114896491A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | Learning to recommend with multiple cascading behaviors | |
Gunawardana et al. | Evaluating recommender systems | |
Xiang et al. | Temporal recommendation on graphs via long-and short-term preference fusion | |
US8676742B2 (en) | Contextual scope-based discovery systems | |
US8566263B2 (en) | Adaptive computer-based personalities | |
US7860811B2 (en) | Adaptive recommendation explanations | |
TWI424369B (zh) | 用於決定內容相關性的活動型使用者興趣模型化 | |
Gao et al. | Collaborative dynamic sparse topic regression with user profile evolution for item recommendation | |
US11176586B2 (en) | Data analysis method and system thereof | |
US20120254225A1 (en) | Generating content based on persona | |
US20150051946A1 (en) | Weighting sentiment information | |
CN111159341B (zh) | 基于用户投资理财偏好的资讯推荐方法及装置 | |
CN114780861B (zh) | 基于聚类技术的用户多兴趣推荐方法、装置、设备及介质 | |
CN112559896B (zh) | 信息推荐方法、装置、设备及计算机可读存储介质 | |
Elahi et al. | User Preference Elicitation, Rating Sparsity and Cold Start. | |
Fletcher | A quality-based web api selection for mashup development using affinity propagation | |
Adithya et al. | HBlogRec: a hybridized cognitive knowledge scheme for blog recommendation infusing XGBoosting and semantic intelligence | |
Kumar | World towards advance web mining: A review | |
US11238095B1 (en) | Determining relatedness of data using graphs to support machine learning, natural language parsing, search engine, or other functions | |
CN114896491B (zh) | 基于聚类的用户个性化热门计算方法、装置、设备及介质 | |
USRE45770E1 (en) | Adaptive recommendation explanations | |
Quadrana | Algorithms for sequence-aware recommender systems | |
Iskandar et al. | Popular content prediction based on web visitor data with data mining approach | |
Zhao et al. | Personalized Dynamic Counter Ad-Blocking Using Deep Learning | |
Lu et al. | Profile Inference from Heterogeneous Data: Fundamentals and New Trends |
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 |