CN108647996B - 一种基于Spark的个性化推荐方法及系统 - Google Patents

一种基于Spark的个性化推荐方法及系统 Download PDF

Info

Publication number
CN108647996B
CN108647996B CN201810322987.7A CN201810322987A CN108647996B CN 108647996 B CN108647996 B CN 108647996B CN 201810322987 A CN201810322987 A CN 201810322987A CN 108647996 B CN108647996 B CN 108647996B
Authority
CN
China
Prior art keywords
commodity
user
similarity
matrix
item
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
Application number
CN201810322987.7A
Other languages
English (en)
Other versions
CN108647996A (zh
Inventor
胡建国
晏斌
李凯祥
全小虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201810322987.7A priority Critical patent/CN108647996B/zh
Publication of CN108647996A publication Critical patent/CN108647996A/zh
Application granted granted Critical
Publication of CN108647996B publication Critical patent/CN108647996B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于Spark的个性化推荐方法及系统,其中,所述个性化推荐方法包括:获取用户对商品的行为信息并进行用预处理,获取用户对商品的隐式反馈;根据用户对商品的隐式反馈进行用户对商品的交互矩阵构建处理,获取用户对商品的交互矩阵;根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,获取商品相似度矩阵;根据商品相似度矩阵进行商品邻近集构建处理,获取商品邻近集;根据商品邻近集进行用户对商品的偏好值预测处理,获取用户对商品的偏好值;根据用户对商品的偏好值向用户进行商品推荐,并将推荐结果进行展示。在本发明实施例中,融合多源信息,充分利用用户对商品的行为信息,缓解数据稀疏和冷启动问题。

Description

一种基于Spark的个性化推荐方法及系统
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于Spark的个性化推荐方法及系统。
背景技术
传统的推荐方法协同过滤算法,其仅仅基于用户行为数据设计,不需要用户和商品的具体属性,在工业界得到了很广泛的应用;基于协同过滤的自编码模型学习用户和项目的非线性表征,进而对目标用户进行推荐;基于内容的推荐算法,给目标用户推荐在内容上与该用户以往感兴趣的项目相似的项目;利用矩阵分解方法等线性结构学习用户与项目隐向量,通过用户和未知商品的隐向量的内积预测评分。
存在如下的缺点:协同过滤算法存在严重的数据稀疏问题和冷启动问题,对于评分较少或没有评分的用户与商品,协同过滤方法则无法做出准确的推荐;经典的协同过滤方法采用浅层模型无法学习到用户和项目的深层次特征;方法严重依赖人工设计特征,其有效性和扩展性非常有限。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种基于Spark的个性化推荐方法及系统,充分利用用户对商品的行为信息,缓解数据稀疏和冷启动问题。
为了解决上述技术问题,本发明实施例提供了一种基于Spark的个性化推荐方法,所述个性化推荐方法,包括:
获取用户对商品的行为信息并进行用预处理,获取用户对商品的隐式反馈;
根据用户对商品的隐式反馈进行用户对商品的交互矩阵构建处理,获取用户对商品的交互矩阵;
根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,获取商品相似度矩阵;
根据商品相似度矩阵进行商品邻近集构建处理,获取商品邻近集;
根据商品邻近集进行用户对商品的偏好值预测处理,获取用户对商品的偏好值;
根据用户对商品的偏好值向用户进行商品推荐,并将推荐结果进行展示。
优选地,所述获取用户对商品的行为信息并进行用预处理,包括:
根据用户对商品的行为信息按不同权重进行线性加权转换处理,获取用户对商品的隐式反馈;
所述用户对商品的行为信息至少包括浏览、收藏、加入购物车、购买、评分或评论中的一种或多种组合;
所述隐式反馈为用户对商品的兴趣值。
优选地,所述根据用户对商品的隐式反馈进行用户对商品的交互矩阵构建处理,包括:
根据用户对商品的隐式反馈获取用户对商品的兴趣值;
根据用户对商品的兴趣值进行按照商品为键对应的聚合处理,获取商品为键对应的聚合;
对商品为键对应的聚合进行字典转换处理,获取字典结构
根据字典结构对商品为键对应的聚合进行稀疏向量重新表示处理,获取用户对商品的交互矩阵。
优选地,所述根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,包括:
对用户对商品的交互矩阵进行逆用户频率进行相似度计算,获取第一相似矩阵;
采用卷积神经网络对用户对商品的交互矩阵进行离线计算商品的相似度矩阵,获取第二相似矩阵;
对第一相似矩阵和第二相似矩阵进行线性加权融合处理,获取商品相似度矩阵。
优选地,所述卷积神经网络由输入层、13个卷积层、3个全连接层和输出层依次构成。
优选地,所述对第一相似矩阵和第二相似矩阵进行线性加权融合处理的加权公式如下:
S=(1-β)S1+βS2
其中,S为商品相似度矩阵,S1为第一相似矩阵,S2为第二相似矩阵,β相似度权重,0≤β≤1。
优选地,所述根据商品相似度矩阵进行商品邻近集构建处理,包括:
根据商品相似度矩阵获取商品与商品之间的相似度;
对商品与商品之间的相似度进行排序处理,获取排序结果;
根据排序结果选取每个商品相似度较高的K个商品组成商品邻近集。
优选地,所述根据商品邻近集进行用户对商品的偏好值预测处理,包括:
根据商品邻近集计算用户对商品的偏好值,获取用户对商品的偏好值。
优选地,所述根据商品邻近集计算用户对商品的偏好值的计算公式如下:
Figure GDA0003370987370000031
其中,N(u)表示用户u偏好的商品的集合,j表示用户u偏好的商品的集合中的商品,S(j,k)表示与商品j相似度较高的K个商品的集合,i表示商品j相似度较高的K个商品的集合中的商品,Wij表示商品i与商品j之间的相似度,Ruj表示用户u对商品j的偏好值;
Figure GDA0003370987370000032
表示用户u对商品i的偏好值。
另外,本发明实施例还提供了一种基于Spark的个性化推荐系统,所述个性化推荐系统,包括:
预处理模块:用于获取用户对商品的行为信息并进行用预处理,获取用户对商品的隐式反馈;
交互矩阵构建模块:用于根据用户对商品的隐式反馈进行用户对商品的交互矩阵构建处理,获取用户对商品的交互矩阵;
相似度矩阵计算模块:用于根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,获取商品相似度矩阵;
邻近集构建模块:用于根据商品相似度矩阵进行商品邻近集构建处理,获取商品邻近集;
偏好值预测模块:用于根据商品邻近集进行用户对商品的偏好值预测处理,获取用户对商品的偏好值;
推荐展示模块:用于根据用户对商品的偏好值向用户进行商品推荐,并将推荐结果进行展示。
采用本发明实施例中的实施方法,有益效果如下:(1)方法融合多源信息,充分利用用户和项目丰富的元数据,文本,图像等数据,利用卷积神经网络学习项目非线性的多层次抽象特征表示,融合项目其他特征,缓解数据稀疏和冷启动问题;(2)本方案中的系统基于Hadoop,Spark大数据平台,集成海量数据存储,目标数据快速查询,大规模数据处理等功能。系统分布式训练推荐模型,拥有良好的加速性,线性的可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的基于Spark的个性化推荐方法实现需要的系统层结构示意图;
图2是本发明实施例中的基于Spark的个性化推荐方法的方法流程示意图;
图3是本发明实施例中的基于Spark的个性化推荐系统的系统结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1是本发明实施例中的基于Spark的个性化推荐方法实现需要的系统层结构示意图,如图1所示,系统层的实现如下:
基础平台层:基础平台层是系统架构的最底层,由搭建Hadoop和Spark高可用生态环境的计算机集群组成,计算机基于Linux操作系统,为整个系统提供存储、计算和运行的环境。主要包括数据存储平台和数据平台计算两个子层次。其中数据管理平台由HDFS、Hbase、Hive和Mysql四个部分组成,共同负责各类数据的存储;数据计算平台MapReduce和Spark组成由两个部分组成,负责数据的清洗、转换等处理工作。基础平台的HDFS(分布式文件系统)作为整个平台数据存储的基础,其高可靠的数据容错机制为整个系统的数据存储提供安全保障。
数据服务层:数据服务层主要提供数据存储服务和数据计算服务;其中数据存储服务主要包括应用数据、基础数据和算法模型的存储,如用户商品的元属性数据,用户的历史行为记录,还包括训练好的推荐模型,用户和商品特征以及推荐模型获取的推荐列表等,通过创建索引存储于Hive中,方便快速准确定位,同时商品数量与平台用户数量的大规模增长的情况下,可以通过扩展集群节点数量保证数据查询的高效性。数据计算主要是针对业务逻辑的需求进行数据预处理、特征提取和统计建模等。
推荐系统中各类关系型数据存储于Hive中,便于快速查询和数据统计处理。基于Hive的数据仓库是数据服务层的主要实现模块,实现系统的大规模数据存储功能,存储的数据主要分为基础数据、应用数据和算法模型数据。
基础数据的数据库主要有用户元数据库和商品元数据库,记录用户和商品的属性信息,以及用户行为数据库,包括浏览、购买、收藏和评分行为,保持相同的表结构,存储在四张表中,分别记为user_item_view、user_item_purchase、user_item_favorite、user_item_rating。
用户基本信息表
字段 类型 字段描述
user_id int 用户ID
user_name char(40) 用户姓名
gender char(1) 用户性别
age int 用户年龄
career char(60) 用户职业
city char(120) 城市
用户行为数据表
Figure GDA0003370987370000061
商品元数据表
Figure GDA0003370987370000062
Figure GDA0003370987370000071
应用数据的数据库商品相似度数据库,包括基于内容的相似度,基于协同用户的相似度,基于商品图片的相似度等,表的结构相同,分别记为similarity_content、similarity_collborative、similarity_picture,以及推荐模型生成的推荐列表,结构如下表所示:
商品相似度表
字段 类型 字段描述
item_id_a int 用户ID
item_id_b int 商品ID
similarity float 相似度
Top-N推荐商品列表
字段 类型 字段描述
user_id int 用户ID
item_id int 商品ID
prediction_rating int 预测偏好值
业务逻辑层:业务逻辑层处于系统架构的中间层部分,主要采用面向接口的编程思想,减少业务和逻辑对象之间的依赖关系,简化系统的开发与实现过程。业务逻辑层主要由业务逻辑对象组成,在实现的时候对象特性被抽象出来,接收来自展示层的请求,根据需要调用业务逻辑层中的相应的抽象对象,再由抽象的对象进行具体的业务逻辑处理。如个性化推荐模型,用户管理、商品管理、用户登录、用户注册等。
结果展示:从基础数据中拉取目标用户u推荐结果信息,构建展示界面。同时,记录下用户对推荐结果的反馈行为。
下面对业务逻辑层个性化推荐模型进行详细介绍
模型基于Spark的物品多特征融合协同过滤方法进行训练,在基于Spark的物品多特征融合协同过滤方法中,根据迁移学习的思想,利用在图像分类领域表现良好的卷积神经网络VGG16模型,保留网络特征提取结构用于提到物品的图片特征,将图片特征线性加权融合物品的协同用户特征计算物品相似度矩阵,进而实现推荐。与传统基于物品协同过滤方法经实验对比表明,方法提升了推荐结果的准确率,并且在覆盖率和流行度明显优于传统协同过滤算法。同时方法基于Spark分布式实现,在特征提取和训练模型上的计算效率有了较大提高。
图2是本发明实施例中的基于Spark的个性化推荐方法的方法流程示意图,如图2所示,所述个性化推荐方法,包括:
S11:获取用户对商品的行为信息并进行用预处理,获取用户对商品的隐式反馈;
在本发明具体实施过程中,在本发明具体实施过程中,通过数据爬虫算法在系统平台采集用户的行为记录信息;其中用户的行为记录信息包括不限于系统中记录用户对项目的各种行为和跟着行为对应的发生时间、发生地点和对该行为的存储至的数据库中。
用户对项目的各种行为包括不限于以下行为的一种或多种组合,各种行为如下:浏览、收藏、加入购物车、购买、评分、评论、互动。
在进行线性加权转换的时候,首先赋予用户对项目的各种行为的一个权重值,例如浏览赋予0.05、收藏赋予0.2、加入购物车0.3、购买0.2、评分或评论赋予0.15、互动赋予0.1的权值,根据再根据用户进行了那些对项目的行为,再赋予对应行为的赋值,如每个行为赋值为1或者10或者100等;然后根据上述赋予的权值和对应项目的赋值进行线性加权转换处理,根据加权处理的结果来获取用户对项目的隐式反馈。
其中,该饮食反馈即为用户对项目的性趣值。
S12:根据用户对商品的隐式反馈进行用户对商品的交互矩阵构建处理,获取用户对商品的交互矩阵;
在本发明具体实施过程中,根据用户对商品的隐式反馈获取用户对商品的兴趣值;根据用户对商品的兴趣值进行按照商品为键对应的聚合处理,获取商品为键对应的聚合;对商品为键对应的聚合进行字典转换处理,获取字典结构;根据字典结构对商品为键对应的聚合进行稀疏向量重新表示处理,获取用户对商品的交互矩阵。
利用Spark从HDFS中读取用户历史评分数据的DateFrame,得到将用户对商品的隐式反馈,即用户对商品的兴趣值的三元组(u,i,rui),然后由DateFrame将三元组转化为弹性分布式数据集,并进行map操作以商品为键,以用户和兴趣值为值,得到一记录为(商品,(用户,兴趣值))的弹性分布式数据集。
对上述获取的(商品,(用户,兴趣值))的弹性分布式数据集进行groupByKey算子操作,将所有以商品为键对应的值聚合为一条记录,得到形如(商品,iterable[用户,兴趣值])的弹性分布式数据集,键为商品,值为所有对商品有过评分等行为的用户及其评分等行为组成的可迭代元组对象,利用mapValues(dict)算子,将上述的(商品,iterable[用户,兴趣值])的弹性分布式数据集进一步转化为字典结构,即(商品,{用户1:兴趣值1,用户2:兴趣值2…}])。
对上述获取字典结构进行mapValues()操作将每个条记录的值用稀疏向量重新表示,得到以商品为键,用户为索引评分值为大小的稀疏向量,利用稀疏向量表示项目的特征对于用户与商品之间的大规模稀疏数据可以大大降低数据的存储空间,通过稀疏向量重新表示后即获得用户对商品的交互矩阵。
S13:根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,获取商品相似度矩阵;
在本发明具体实施过程中,对用户对商品的交互矩阵进行逆用户频率进行相似度计算,获取第一相似矩阵;采用卷积神经网络对用户对商品的交互矩阵进行离线计算商品的相似度矩阵,获取第二相似矩阵;对第一相似矩阵和第二相似矩阵进行线性加权融合处理,获取商品相似度矩阵。
受启发于信息检索中利用逆文档频率(Inverse Document Frequency/IDF)修正单词频率,认为活跃用户对项目相似度贡献应小于不活跃用户,引入IUF(Inverse UserFrequency)对活跃用户进行,论文以用户评分总数定义用户活跃度,取其对数的倒数作为惩罚项,相似度计算方式如下:
Figure GDA0003370987370000101
其中,表Hadamard product(AoB)ij=(A)ij(B)ij
Figure GDA0003370987370000102
表示矩阵R按列求和得到的向量,
Figure GDA0003370987370000103
从评分矩阵提取的项目i特征向量,g表示内积运算。
按照上述公式所示定义simCal,利用Spark的map算子遍历计算RDD内每一个项目对相似度,得到每一条记录为以物品对为键,它们的相似度为值的弹性分布式数据集,存入数据仓库Hive中,记为sim_item。
利用预训练的VGG16卷积神经网络离线计算项目相似度,在输入层将商品图片交换为224×224像素的3通道图片,经过设置的卷积网络结构,最终得到25088维的图片向量表征,最终利用余弦相似度度量项目相似度,得到项目相似度矩阵并存入Hive中,记为sim_pic。
该VGG16卷积神经网络由输入层、13个卷积层、3个全连接层和输出层依次构成。
通过逆用户频率进行相似度计算,获取第一相似矩阵;卷积神经网络对用户对商品的交互矩阵进行离线计算商品的相似度矩阵,获取第二相似矩阵;通过对第一相似矩阵与第二相似矩阵进行线性加权融合,其中线性加权融合公式如下:
S=(1-β)S1+βS2
其中,S为商品相似度矩阵,S1为第一相似矩阵,S2为第二相似矩阵,β相似度权重,0≤β≤1。
S14:根据商品相似度矩阵进行商品邻近集构建处理,获取商品邻近集;
在本发明具体实施过程中,根据商品相似度矩阵获取商品与商品之间的相似度;对商品与商品之间的相似度进行排序处理,获取排序结果;根据排序结果选取每个商品相似度较高的K个商品组成商品邻近集。
根据最后获取的融合后的商品相似矩阵,获取商品与商品之间的相似度;然后对商品与商品之间的相似度进行排序,可通过从小到大排序或者从大到小排序,可用冒泡等常用的排序方法进行排序,获取排序结果;在上述排序结果中选取每个商品相似度中相识度排序较高的K个商品,并采用K个商品组成商品邻近集。
S15:根据商品邻近集进行用户对商品的偏好值预测处理,获取用户对商品的偏好值;
在本发明具体实施过程中,根据商品邻近集计算用户对商品的偏好值,获取用户对商品的偏好值。
根据商品邻近集计算用户对商品的偏好值的计算公式如下:
Figure GDA0003370987370000111
其中,N(u)表示用户u偏好的商品的集合,j表示用户u偏好的商品的集合中的商品,S(j,k)表示与商品j相似度较高的K个商品的集合,i表示商品j相似度较高的K个商品的集合中的商品,Wij表示商品i与商品j之间的相似度,Ruj表示用户u对商品j的偏好值;
Figure GDA0003370987370000112
表示用户u对商品i的偏好值。
S16:根据用户对商品的偏好值向用户进行商品推荐,并将推荐结果进行展示。
在本发明具体实施过程中,对于目标用户,依照用户对物品最终预测偏好结果集,与历史行为数据利用subtractByKey算子取差集,过滤历史行为中存在的记录,并进行sortBy算子操作按预测物品的偏好大小倒序排列,取前N项对应物品作为推荐结果。
图3是本发明实施例中的基于Spark的个性化推荐系统的系统结构组成示意图,如图3所示,所述个性化推荐系统,包括:
预处理模块11:用于获取用户对商品的行为信息并进行用预处理,获取用户对商品的隐式反馈;
交互矩阵构建模块12:用于根据用户对商品的隐式反馈进行用户对商品的交互矩阵构建处理,获取用户对商品的交互矩阵;
相似度矩阵计算模块13:用于根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,获取商品相似度矩阵;
邻近集构建模块14:用于根据商品相似度矩阵进行商品邻近集构建处理,获取商品邻近集;
偏好值预测模块15:用于根据商品邻近集进行用户对商品的偏好值预测处理,获取用户对商品的偏好值;
推荐展示模块16:用于根据用户对商品的偏好值向用户进行商品推荐,并将推荐结果进行展示。
具体地,本发明实施例的系统相关功能模块的工作原理可参见方法实施例的相关描述,这里不再赘述。
采用本发明实施例中的实施方法,有益效果如下:(1)方法融合多源信息,充分利用用户和项目丰富的元数据,文本,图像等数据,利用卷积神经网络学习项目非线性的多层次抽象特征表示,融合项目其他特征,缓解数据稀疏和冷启动问题;(2)本方案中的系统基于Hadoop,Spark大数据平台,集成海量数据存储,目标数据快速查询,大规模数据处理等功能。系统分布式训练推荐模型,拥有良好的加速性,线性的可扩展性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnly Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的一种基于Spark的个性化推荐方法及系统进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种基于Spark的个性化推荐方法,其特征在于,所述个性化推荐方法,包括:
获取用户对商品的行为信息并进行用预处理,获取用户对商品的隐式反馈;
根据用户对商品的隐式反馈进行用户对商品的交互矩阵构建处理,获取用户对商品的交互矩阵;
根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,获取商品相似度矩阵;
根据商品相似度矩阵进行商品邻近集构建处理,获取商品邻近集;
根据商品邻近集进行用户对商品的偏好值预测处理,获取用户对商品的偏好值;
根据用户对商品的偏好值向用户进行商品推荐,并将推荐结果进行展示;
所述根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,包括:
对用户对商品的交互矩阵进行逆用户频率进行相似度计算,获取第一相似矩阵;
采用卷积神经网络对用户对商品的交互矩阵进行离线计算商品的相似度矩阵,获取第二相似矩阵;
对第一相似矩阵和第二相似矩阵进行线性加权融合处理,获取商品相似度矩阵;
所述对用户对商品的交互矩阵进行逆用户频率进行相似度计算,获取第一相似矩阵,包括:
受启发于信息检索中利用逆文档频率修正单词频率,认为活跃用户对项目相似度贡献应小于不活跃用户,引入IUF对活跃用户进行计算,以用户评分总数定义用户活跃度,取其对数的倒数作为惩罚项,获得相似度计算方式如下:
Figure FDA0003537665240000021
其中,
Figure FDA0003537665240000022
表示
Figure FDA0003537665240000023
Figure FDA0003537665240000024
表示矩阵R按列求和得到的向量;
Figure FDA0003537665240000025
表示从评分矩阵提取的商品i特征向量;g表示内积运算;
按照相似度计算方式所示定义simCal,利用Spark的map算子遍历计算RDD内每一个项目对相似度,得到每一条记录为以物品对为键,它们的相似度为值的弹性分布式数据集,存入数据仓库Hive中,记为sim_item。
2.根据权利要求1所述的基于Spark的个性化推荐方法,其特征在于,所述获取用户对商品的行为信息并进行用预处理,包括:
根据用户对商品的行为信息按不同权重进行线性加权转换处理,获取用户对商品的隐式反馈;
所述用户对商品的行为信息至少包括浏览、收藏、加入购物车、购买、评分或评论中的一种或多种组合;
所述隐式反馈为用户对商品的兴趣值。
3.根据权利要求1所述的基于Spark的个性化推荐方法,其特征在于,所述根据用户对商品的隐式反馈进行用户对商品的交互矩阵构建处理,包括:
根据用户对商品的隐式反馈获取用户对商品的兴趣值;
根据用户对商品的兴趣值进行按照商品为键对应的聚合处理,获取商品为键对应的聚合;
对商品为键对应的聚合进行字典转换处理,获取字典结构;
根据字典结构对商品为键对应的聚合进行稀疏向量重新表示处理,获取用户对商品的交互矩阵。
4.根据权利要求1所述的基于Spark的个性化推荐方法,其特征在于,所述卷积神经网络由输入层、13个卷积层、3个全连接层和输出层依次构成。
5.根据权利要求1所述的基于Spark的个性化推荐方法,其特征在于,所述对第一相似矩阵和第二相似矩阵进行线性加权融合处理的加权公式如下:
S=(1-β)S1+βS2
其中,S为商品相似度矩阵,S1为第一相似矩阵,S2为第二相似矩阵,β为相似度权重,0≤β≤1。
6.根据权利要求1所述的基于Spark的个性化推荐方法,其特征在于,所述根据商品相似度矩阵进行商品邻近集构建处理,包括:
根据商品相似度矩阵获取商品与商品之间的相似度;
对商品与商品之间的相似度进行排序处理,获取排序结果;
根据排序结果选取每个商品相似度较高的K个商品组成商品邻近集。
7.根据权利要求1所述的基于Spark的个性化推荐方法,其特征在于,所述根据商品邻近集进行用户对商品的偏好值预测处理,包括:
根据商品邻近集计算用户对商品的偏好值,获取用户对商品的偏好值。
8.根据权利要求7所述的基于Spark的个性化推荐方法,其特征在于,所述根据商品邻近集计算用户对商品的偏好值的计算公式如下:
Figure FDA0003537665240000031
其中,N(u)表示用户u偏好的商品的集合,j表示用户u偏好的商品的集合中的商品,S(j,k)表示与商品j相似度较高的K个商品的集合,i表示商品j相似度较高的K个商品的集合中的商品,Wij表示商品i与商品j之间的相似度,Ruj表示用户u对商品j的偏好值;
Figure FDA0003537665240000041
表示用户u对商品i的偏好值。
9.一种基于Spark的个性化推荐系统,其特征在于,所述个性化推荐系统,包括:
预处理模块:用于获取用户对商品的行为信息并进行用预处理,获取用户对商品的隐式反馈;
交互矩阵构建模块:用于根据用户对商品的隐式反馈进行用户对商品的交互矩阵构建处理,获取用户对商品的交互矩阵;
相似度矩阵计算模块:用于根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,获取商品相似度矩阵;
邻近集构建模块:用于根据商品相似度矩阵进行商品邻近集构建处理,获取商品邻近集;
偏好值预测模块:用于根据商品邻近集进行用户对商品的偏好值预测处理,获取用户对商品的偏好值;
推荐展示模块:用于根据用户对商品的偏好值向用户进行商品推荐,并将推荐结果进行展示;
所述根据用户对商品的交互矩阵进行商品相似度矩阵计算处理,包括:
对用户对商品的交互矩阵进行逆用户频率进行相似度计算,获取第一相似矩阵;
采用卷积神经网络对用户对商品的交互矩阵进行离线计算商品的相似度矩阵,获取第二相似矩阵;
对第一相似矩阵和第二相似矩阵进行线性加权融合处理,获取商品相似度矩阵;
所述对用户对商品的交互矩阵进行逆用户频率进行相似度计算,获取第一相似矩阵,包括:
受启发于信息检索中利用逆文档频率修正单词频率,认为活跃用户对项目相似度贡献应小于不活跃用户,引入IUF对活跃用户进行计算,以用户评分总数定义用户活跃度,取其对数的倒数作为惩罚项,获得相似度计算方式如下:
Figure FDA0003537665240000051
其中,
Figure FDA0003537665240000052
表示
Figure FDA0003537665240000053
表示矩阵R按列求和得到的向量;
Figure FDA0003537665240000054
表示从评分矩阵提取的商品i特征向量;g表示内积运算;
按照相似度计算方式所示定义simCal,利用Spark的map算子遍历计算RDD内每一个项目对相似度,得到每一条记录为以物品对为键,它们的相似度为值的弹性分布式数据集,存入数据仓库Hive中,记为sim_item。
CN201810322987.7A 2018-04-11 2018-04-11 一种基于Spark的个性化推荐方法及系统 Active CN108647996B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810322987.7A CN108647996B (zh) 2018-04-11 2018-04-11 一种基于Spark的个性化推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810322987.7A CN108647996B (zh) 2018-04-11 2018-04-11 一种基于Spark的个性化推荐方法及系统

Publications (2)

Publication Number Publication Date
CN108647996A CN108647996A (zh) 2018-10-12
CN108647996B true CN108647996B (zh) 2022-04-19

Family

ID=63746140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810322987.7A Active CN108647996B (zh) 2018-04-11 2018-04-11 一种基于Spark的个性化推荐方法及系统

Country Status (1)

Country Link
CN (1) CN108647996B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582864B (zh) * 2018-11-19 2020-11-10 华南师范大学 基于大数据科学和动态权重调整的课程推荐方法及系统
CN109299426A (zh) * 2018-11-30 2019-02-01 广东大比特网络科技有限公司 一种精确头条信息的推荐方法及装置
CN110442781B (zh) * 2019-06-28 2023-04-07 武汉大学 一种基于生成对抗网络的对级排序项目推荐方法
CN110415076A (zh) * 2019-07-11 2019-11-05 广东奥园奥买家电子商务有限公司 一种基于用户行为数据的商品推荐方法及装置
CN110648163B (zh) * 2019-08-08 2024-03-22 中山大学 一种基于用户评论的推荐算法
CN110532330B (zh) * 2019-09-03 2022-06-03 四川长虹电器股份有限公司 基于hive的协同过滤推荐方法
CN110689383B (zh) * 2019-10-12 2023-08-22 腾讯科技(深圳)有限公司 信息推送方法、装置、服务器及存储介质
CN111026966B (zh) * 2019-12-06 2023-12-22 创新奇智(成都)科技有限公司 基于用户和产品画像及两者关联程度的搜索推荐排序方法
CN111144978A (zh) * 2019-12-10 2020-05-12 支付宝(杭州)信息技术有限公司 一种融合推荐的方法、系统和设备
CN111429161B (zh) * 2020-04-10 2023-10-10 杭州网易再顾科技有限公司 特征提取方法、特征提取装置、存储介质及电子设备
CN112381616A (zh) * 2020-11-28 2021-02-19 武汉虹信技术服务有限责任公司 物品推荐引导方法、装置及计算机设备
CN112650946B (zh) * 2020-12-30 2023-06-09 中国联合网络通信集团有限公司 产品信息的推荐方法、装置、系统及存储介质
CN112948670B (zh) * 2021-02-05 2022-04-08 洛阳理工学院 基于用户行为偏好的平台交易推荐模型的构建方法
CN113643817A (zh) * 2021-06-25 2021-11-12 合肥工业大学 考虑隐性反馈和人机交互的医疗案例知识推荐方法及系统
CN114549143B (zh) * 2022-03-18 2022-07-29 电子科技大学 线下停车记录与线上购买行为融合的个性化商品推荐方法
CN117290398A (zh) * 2023-09-27 2023-12-26 广东科学技术职业学院 一种基于大数据的课程推荐方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126734A (zh) * 2016-07-04 2016-11-16 北京奇艺世纪科技有限公司 文档的分类方法和装置
CN106815325A (zh) * 2016-12-28 2017-06-09 中山大学深圳研究院 一种基于Spark平台的个性化推荐系统
CN107066476A (zh) * 2016-12-13 2017-08-18 江苏途致信息科技有限公司 一种基于物品相似度的实时推荐方法
CN107563833A (zh) * 2017-07-27 2018-01-09 广州智慧城市发展研究院 一种基于区块链积分服务平台的个性化推荐方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8879378B2 (en) * 2010-05-28 2014-11-04 Selim Shlomo Rakib Orthonormal time-frequency shifting and spectral shaping communications method
US10298701B2 (en) * 2016-01-29 2019-05-21 Microsoft Technology Licensing, Llc Systems and methods for timely propagation of network content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126734A (zh) * 2016-07-04 2016-11-16 北京奇艺世纪科技有限公司 文档的分类方法和装置
CN107066476A (zh) * 2016-12-13 2017-08-18 江苏途致信息科技有限公司 一种基于物品相似度的实时推荐方法
CN106815325A (zh) * 2016-12-28 2017-06-09 中山大学深圳研究院 一种基于Spark平台的个性化推荐系统
CN107563833A (zh) * 2017-07-27 2018-01-09 广州智慧城市发展研究院 一种基于区块链积分服务平台的个性化推荐方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Improvement of Moderate Resolution Land Use and Land Cover Classification by Introducing Adjacent Region Features;Longlong Yu等;《Remote Sens.》;20180308;第10卷;第414页 *

Also Published As

Publication number Publication date
CN108647996A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN108647996B (zh) 一种基于Spark的个性化推荐方法及系统
Anastasopoulos et al. Machine learning for public administration research, with application to organizational reputation
Duan et al. Big data analytics and business analytics
CN107944986B (zh) 一种o2o商品推荐方法、系统及设备
CN106445988A (zh) 一种大数据的智能处理方法和系统
Xin Analyzing the quality of business English teaching using multimedia data mining
CN111429161B (zh) 特征提取方法、特征提取装置、存储介质及电子设备
Volkova et al. Data science: opportunities to transform education
Zhang et al. Broad Learning Through Fusions
CN113806630A (zh) 基于注意力的多视角特征融合跨域推荐方法及装置
CN114266443A (zh) 数据评估方法和装置、电子设备、存储介质
CN114048354B (zh) 基于多元表征和度量学习的试题检索方法、装置及介质
CN113656699B (zh) 用户特征向量确定方法、相关设备及介质
CN111079011A (zh) 一种基于深度学习的信息推荐方法
Hain et al. The promises of Machine Learning and Big Data in entrepreneurship research
Lazarevic et al. Machine learning driven course recommendation system
Lian et al. Jointly recommending library books and predicting academic performance: A mutual reinforcement perspective
CN109062551A (zh) 基于大数据开发命令集的开发框架
Rokade et al. Forecasting movie rating using k-nearest neighbor based collaborative filtering
Chen et al. Incomplete data analysis
CN113254775A (zh) 一种基于客户浏览行为序列的信用卡产品推荐方法
Kumar et al. Real-time hashtag based event detection model with sentiment analysis for recommending user tweets
AL SBOU et al. Performance comparison of three different types of autoencoders using recommendation systems
Martino Hands-On Machine Learning with Microsoft Excel 2019: Build complete data analysis flows, from data collection to visualization
Olivella et al. Machine learning in political science: Supervised learning models

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