基于用户画像聚类的协同过滤推荐方法、系统及存储介质
文献发布时间:2023-06-19 09:46:20
技术领域
本发明涉及大数据人工智能技术领域,尤其涉及一种基于用户画像聚类的协同过滤推荐方法、系统及存储介质。
背景技术
随着互联网和自动技术的飞速发展,现在越来越多的人都拥有智能手机,平板电脑和其他智能终端,这使得生产、生活的数据信息呈爆炸式增长,这就导致了信息超载问题。当用户在搜索其感兴趣的信息时,会花费大量的时间和精力去过滤掉无用的信息,然而结果往往无法让用户满意,于是,个性化推荐技术应时而生。个性化推荐技术是指利用用户某种兴趣点和购买特点,向用户推荐感兴趣的内容,是解决信息超载问题的有效途径。在个性化推荐技术中,协同过滤推荐技术是最成熟,也是应用最广泛的一种技术。协同过滤简单来说是根据兴趣相投的用户群体来预测用户感兴趣的信息,并将其推荐给目标用户。但是由于用户和商品数的快速增长,传统的协同过滤推荐方法出现了冷启动、数据稀疏性、效率低下等问题。
为了改善传统协同推荐方法的性能,研究人员从以上问题出发对其进行研究。
针对数据稀疏性问题,通常对用户评分稀疏矩阵进行填充,并引入了相似性计算因子计算用户相似性;还可以采用矩阵分解算法对高维稀疏数据进行预处理,降低数据稀疏性。
针对冷启动问题,通常采用扩展用户本身固有属性的信息(如社交信息、属性信息等)融合入用户行为的协同过滤算法,有效缓解了用户冷启动问题。
针对效率低下问题,通过对用户评价矩阵进行分析,采用K-means聚类算法把兴趣和偏好相似程度较高的用户分到同一个簇中,以减少搜索最近邻的时间。
上述方法虽然在很大程度上解决部分问题,但是缺乏整体性,片面的追求效率或者准确性。
如专利公开号为CN106548255A提出的一种基于海量用户行为的商品推荐方法,该专利申请虽采用了聚类方法,但通常海量行为的超高维度,会造成聚类方法的相似度计算失效;而部分基于降维和聚类的协同过滤推荐算法,例如采用PCA和K-means相结合的方式对用户评分矩阵进行分析,虽然考虑了效率,但仍然存在冷启动问题,未考虑到用户行为变化问题。
对用户进行很好地表征是协同过滤推荐算法的关键和前提。尽可能多地利用用户数据是广为认可的思路,然而如何利用好这些数据是困难的。一方面,对不同的数据进行区别对待,特别是由于用户兴趣可能存在的变化,需要区分数据类型并进行恰当的处理;另一方面,对数据进行融合也不能简单地用数据拼接或者简单的加权算法来实现;此外,不恰当的数据融合可能导致更高维度的用户数据,不仅导致可能的维数诅咒问题使得计算失效,可能还会使得精妙设计的算法效率低下。
发明内容
本发明提供的基于用户画像聚类的协同过滤推荐方法、系统及存储介质,主要解决的技术问题是:如何对用户数据进行处理,以降低数据处理复杂度,且提升推荐的准确性。
为解决上述技术问题,本发明提供一种基于用户画像聚类的协同过滤推荐方法,包括:
S1:获取用户数据,包括属性数据和行为数据;
S2:对用户数据进行表征,形成用户表征信息;
S3:对所述用户表征信息进行降维压缩,形成低维用户画像;
S4:采用聚类方法对所述低维用户画像进行聚类,形成用户兴趣簇;
S5:对目标用户,在其所在的兴趣簇内采用基于用户的协同过滤方法对其进行推荐。
可选的,所述行为数据包括:根据行为发生的时间信息分为历史行为数据和近期行为数据。
可选的,所述S2对用户数据进行表征,形成用户表征信息包括:
S21:对所述属性数据采用One-Hot方法进行编码,并采用Concat进行融合,形成表征用户属性;
S22:对所述行为数据采用LSTM网络进行编码,并采用Attention神经网络进行自适应融合,形成表征用户行为;
S23:对所述表征用户属性和所述表征用户行为采用Attention神经网络进行自适应融合,形成用户表征信息。
可选的,所述S22对所述行为数据采用LSTM网络进行编码包括:
采用两个并联的LSTM网络分别对所述近期行为数据和所述历史行为数据进行编码,所述LSTM网络的工作过程可公式描述为:
f
i
c
o
h
其中,所述h
可选的,所述采用Attention神经网络进行自适应融合,形成用户表征信息包括:
所述的Attention神经网络对两个输入p
α=σ(W
p=α·p
其中,W
可选的,所述S3对所述用户表征信息进行降维压缩包括:
对所述用户表征信息采用Auto-Encoder神经网络进行降维压缩,所述Auto-Encoder神经网络由编码层、解码层和隐含层构成;其中,所述隐含层为低维数据,编码层和解码层层数相同,且以所述隐含层为轴线呈对称分布,所述Auto-Encoder神经网络的层数取决于数据的压缩比;所述Auto-Encoder神经网络降维方法训练过程采用的损失函数为:L=‖r
可选的,所述S4所采用聚类方法为K-means聚类方法。
可选的,所述S5包括:基于用户的协同过滤推荐方法,给目标用户u推荐其所在兴趣簇内用户v喜欢的对象:
S51:计算用户u和用户v的余弦相似度:
S52:计算对第j个对象目标用户u的行为相似度:p(u,j)=∑
本发明还提供一种基于用户画像聚类的协同过滤推荐系统,包括:
数据获取模块,用于获取用户数据,包括属性数据和行为数据;
表征模块,用于对用户数据进行表征,形成用户表征信息;
压缩模块,用于对所述用户表征信息进行降维压缩,形成低维用户画像;
聚类模块,用于采用聚类方法对所述低维用户画像进行聚类,形成用户兴趣簇;
推荐模块,用于对目标用户,在其所在的兴趣簇内采用基于用户的协同过滤方法对其进行推荐。
本发明还提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的基于用户画像聚类的协同过滤推荐方法的步骤。
本发明的有益效果是:
根据本发明提供的基于用户画像聚类的协同过滤推荐方法、系统及存储介质,通过获取用户数据,包括属性数据和行为数据;对用户数据进行表征,形成用户表征信息;对用户表征信息进行降维压缩,形成低维用户画像;采用聚类方法对低维用户画像进行聚类,形成用户兴趣簇;对目标用户,在其所在的兴趣簇内采用基于用户的协同过滤方法对其进行推荐。考虑了用户行为随时间信息的变化,对用户的固有属性信息、用户过往行为和用户短期行为进行了自适应融合,并将用户按照低维用户画像进行聚类,根据聚类后的类别对用户进行基于用户的协同过滤推荐,能够兼顾效率和精度,降低了计算复杂度,保证了更高的推荐速度和准确率,实现了应对用户行为变化的自适应推荐。
附图说明
图1为本发明实施例一的基于用户画像聚类的协同过滤推荐方法流程示意图;
图2为本发明实施例一的协同过滤推荐的框架结构图;
图3为本发明实施例一的用户数据编码融合框架结构图;
图4为本发明实施例一的Auto-Encoder网络结构示意图;
图5为本发明实施例二的基于用户画像聚类的协同过滤推荐系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
为了传统推荐方法数据处理方法不适,片面追求效率或者准确性的问题,本实施例提供一种基于用户画像聚类的协同过滤推荐方法,本方法能够更好地刻画用户兴趣,并体现用户兴趣的变化,在保证推荐精度的情况下,降低了在线推荐的计算复杂度,提高了推荐效率和效果。
本实施例以Movie-Lens电影推荐系统获取基础数据进行分析,包括6040名用户对3900部电影的1000209个评分记录及其评分时间,评分范围是1-5分,用户对某电影的评分值越高,则说明用户越喜欢这部电影。用户信息包括性别,年龄,职业,邮编等属性信息。
请参见图1-3,该方法包含以下步骤:
步骤S1:根据用户电影数据集,获取用户属性数据和行为数据,形成用户信息库。
用户属性,包括性别、年龄、职业和地理位置;用户行为,包括评分数据及相应的评分时间。
用户行为按照行为发生的时间信息可划分为用户近期行为数据和历史行为数据。本实施例按照评分数量划分,取最近5%的评分数据为最近行为数据,将其余的评分数据作为历史行为数据。由此得到三个用户信息,分别为用户的属性数据U、历史行为数据R和近期行为数据Rn。
在本发明可选的实施例中,可以取最近一个月的评分数据,作为最近新书数据,将一个月以前的评分数据作为历史行为数据。
步骤S2:对用户数据进行表征,形成用户表征信息,并存储于用户表征信息库。具体为:
步骤S21:对用户属性数据U采用One-Hot(一位有效编码)方法进行编码,并采用Concat进行融合,形成表征用户属性。使用One-Hot编码对这个信息进行编码,其中按性别化为2维,按年龄化为7维,按职业化为21维,按地理位置化为99维,最后得到一个维度为129维的向量,记为Uc。
用户历史行为数据和近期行为数据都是评分数据,均为维度为3900(一个用户对每一部电影都产生一条评分数据)的向量。
步骤S22:对行为数据采用LSTM(Long short-term memory,长短期记忆网络)进行编码,并采用Attention神经网络进行自适应融合,形成表征用户行为。
采用两个并联的LSTM网络分别对用户近期行为数据和历史行为数据进行编码,形成40维的向量Rnc和40维的向量Rc。其工作过程可公式描述为:
f
i
c
o
h
其中,h
然后对Rc和Rnc采用Attention网络进行自适应融合得到一个80维向量的表征用户行为,记作
α=σ(W
其中,W
步骤S23:对表征用户属性Uc(129维)和表征用户行为
α=σ(W
其中,W
步骤S3:采用降维压缩方法对用户表征信息
本实施例使用Auto-Encoder(Autoencoder,简称AE,自编码器,一种利用反向传播算法使得输出值等于输入值的神经网络)神经网络来进行降维。
结合表1,Auto-Encoder由4层编码层、4层解码层和1层隐含层构成;其中隐含层为低维数据,编码层和解码层层数相同且以隐含层为轴线呈对称分布,请参见图4。训练验证时,Auto-Encoder网络编码层和解码层都进行训练,训练过程对应的损失函数为:
表1本实施例的Auto-Encoder算法
应当理解,Auto-Encoder神经网络的层数取决于数据的压缩比,这里用户表征信息
在本发明的其他实施例中,步骤S3中的降维方法还可以采用PCA(PrincipalComponents Analysis,主成分分析)方法、MLP(Multi-Layer Perceptron,多层感知器)网络方法或SVD(Singular Value Decomposition,矩阵奇异值分解)方法。
步骤S4:采用K-means聚类方法对低维用户画像集合U
K-manes方法是成熟的聚类算法,如下表2所示。
表2本实施例的K-means算法
满足精度需求的情况下,分类簇数越多越好,可以降低计算复杂度,提高计算效率。实施例中k=4;通过训练可以得出分类簇数为4时精度满足需求,将用户数量为6040的用户数据分为用户数量分别为1373,2520,749,1398的4组用户数据,原本计算复杂度为:
在本发明的其他可选实施例中,步骤S4中聚类方法还可采用密度峰值方法。
步骤S5:对目标用户,在其对应兴趣簇内采用基于用户的协同过滤方法对其进行Top-N推荐。
基于用户的协同过滤推荐方法,是给待推荐的目标用户u推荐那些和他在同一簇内,且有共同兴趣爱好的用户v喜欢的电影,具体的计算步骤为:
1)计算用户u和用户v的余弦相似度:
需要预先对用户行为类别进行设定和筛选,例如,恶意差评等行为不能被规定为正反馈行为。
2)计算用户u对第j个电影的可能评分:p(u,j)=∑
将评分最高的k个电影推荐给目标用户u。
进一步,聚类方法和基于用户的协同过滤推荐方法在训练过程中要联合训练,以便确定聚类类别个数i、确保模型精度、降低计算复杂度。
应当理解,本实施例所提供的基于用户画像聚类的协同过滤推荐方法并不限于对电影的推荐,对于其他对象(例如商品、景点等)同样适用。
本发明提供的基于用户画像聚类的协同过滤推荐方法、系统及存储介质,通过获取用户数据,包括属性数据和行为数据;对用户数据进行表征,形成用户表征信息;对用户表征信息进行降维压缩,形成低维用户画像;采用聚类方法对低维用户画像进行聚类,形成用户兴趣簇;对目标用户,在其所在的兴趣簇内采用基于用户的协同过滤方法对其进行推荐。考虑了用户行为随时间信息的变化,对用户的固有属性信息、用户过往行为和用户短期行为进行了自适应融合,并将用户按照低维用户画像进行聚类,根据聚类后的类别对用户进行基于用户的协同过滤推荐,能够兼顾效率和精度,降低了计算复杂度,保证了更高的推荐速度和准确率,实现了应对用户行为变化的自适应推荐。
实施例二:
本实施例在上述实施例一的基础上,提供一种基于用户画像聚类的协同过滤推荐系统,具有可实现上述实施例一中所述的基于用户画像聚类的协同过滤推荐方法各步骤的功能模块,请参见图5,该系统包括:
数据获取模块51用于获取用户数据,包括属性数据和行为数据;
表征模块52用于对用户数据进行表征,形成用户表征信息;
压缩模块53用于对用户表征信息进行降维压缩,形成低维用户画像;
聚类模块54用于采用聚类方法对低维用户画像进行聚类,形成用户兴趣簇;
推荐模块55用于对目标用户,在其所在的兴趣簇内采用基于用户的协同过滤方法对其进行推荐。
本实施例提供的基于用户画像聚类的协同过滤推荐系统的具体功能,可参见实施例中相关步骤的描述,在此不再赘述。
实施例三:
本实施例在上述实施例一的基础上,提供一种存储介质,该存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如实施例一中所述的基于用户画像聚类的协同过滤推荐方法的步骤。具体参见实施例中相关步骤的描述,在此不再赘述。
显然,本领域的技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
- 基于用户画像聚类的协同过滤推荐方法、系统及存储介质
- 基于聚类的协同过滤的商品推荐方法及系统