基于隐语义模型的电商推荐系统的设计与实现
2020-08-05薛琳兰
薛琳兰
(青岛大学,青岛 266071)
0 引言
随着云计算、物联网的相关技术的兴起,电子商务网站的用户规模和业务呈现急速增长的势头,随之而来的是数据量的急速增长。但是,这些数据信息大部分并不能够得到有效的利用,长此以往也就导致了信息过载[1]的问题。为了能够将海量数据运用起来服务于用户,进而推动用户的留存率,推荐系统[2]应运而生。本文基于隐语义模型的推荐算法设计并实现了个性化推荐的电商系统。该系统可以根据用户和商品的评分数据为用户提供个性化的商品推荐,同时结合了大数据平台的使用,不但解决了普通推荐系统存在的冷启动问题,也使得推荐效率大大提升。
1 电商推荐系统
电子商务推荐系统[3]能够为电商网站的用户提供智能化和个性化的购物体验,使用户倾向于购买更多的商品,从而提升用户满意度。作为推荐系统的核心部分,推荐算法可以从不同的角度进行分类,如从数据源角度来看可以分成三部分,第一个是对于人口统计来说的推荐,第二个是基于统计内容来说的推荐,第三个是对于协同过滤来说的。由于这些算法都存在冷启动[4]问题,当新用户加入时,由于没有该用户的历史信息,推荐系统很难作出个性化推荐。而本文提出的基于隐语义模型的推荐算法,通过矩阵分解的运用,能够很好的解决用户的冷启动问题,从而提高推荐精度。
2 基于隐语义模型的推荐算法
基于隐语义模型的推荐算法源于一种基于模型的推荐算法思想,它使用用户偏好数据来训练模型,找到其中内在规律,再使用模型来预测。由于一般情况下,偏好数据往往是稀疏的,这就需要对原始数据进行降维处理,隐语义模型通过矩阵分解进行降维分析,分解之后的矩阵就代表了用户和物品的隐藏特征[5],这些隐含的特征可以解释用户的喜好。假设用户物品评分矩阵为R,现在有m 个用户,n 个物品,k 个隐类,我们的任务就是要找到两个矩阵P 和Q,使这两个矩阵的乘积近似等于R,即一个mxn 的评分矩阵R 可以用两个矩阵Pmxk和Qkxn 的乘积来近似:
得到Pmxk 和Qkxn 的乘积R 不再是稀疏的,之前R 中没有的项也可以由P、Q 的乘积算出,于是我们就得到了一个预测评分矩阵。物品和用户之间是存在一定联系的,隐语义模型则就是对这种联系之间的一个分析,并据此建立一个客户喜好特征模型,而推荐列表也正是以此模型为依据而建立的。
3 推荐系统的设计与实现
本项目设计了基于Spark 的电商平台推荐系统,包括数据层、算法层、服务层、可视化层。服务层与可视化层主要提供网络服务以及与用户的交互和业务数据展示。数据层采用大数据分布式存储HDFS 作为主要存储系统,主要负责平台业务逻辑数据的存储。推荐算法层是本电商推荐系统的核心,本系统采用Spark 作为推荐算法的计算框架,推荐业务采用Spark MLlib 进行实现,采用ALS 算法实现推荐。系统实现效果如下图。
4 结束语
本文针对目前的信息过载问题和用户对于电商平台的个性化需求,设计并实现了基隐语义模型的个性化推荐系统。但该系统还不够完善,由于该系统是一个离线推荐系统,随着用户数量的增加对于系统的实时性要求也在不断提高,如果能将二者结合必然会大大提升推荐效率,这也应该是今后的研究工作的一个发展的方向。