APP下载

服装推荐服务平台的研究与开发

2021-01-14郭玉芝林朝阳

现代信息科技 2021年12期
关键词:服务平台

郭玉芝 林朝阳

摘  要:随着互联网技术的发展,越来越多的电商服务平台使用推荐算法来提高用户的购物体验,以此促进消费。该平台主要研究基于协同过滤推荐算法实现服装推荐功能,并实现店铺入驻、服装商品管理、商品交易、服装推荐、消息会话、圈子发现功能。平台采用前后端分离的开发方式,运用Spring Boot+MySQL+MyBatis+Vue等技术完成平台的设计与实现。

关键词:推荐算法;Spring Boot;服务平台;Vue

中图分类号:TP311  文献标识码:A 文章编号:2096-4706(2021)12-0107-03

Abstract: With the development of internet technology, more and more e-commerce service platforms use recommendation algorithms to improve the users' shopping experience, thereby promoting consumption. For the platform, we mainly study the realization of clothing recommendation function based on collaborative filtering recommendation algorithm, and realize the functions of store entry, clothing commodity management, commodity transaction, clothing recommendation, message conversation and circle discovery. Adopting the development mode of front and rear end separation, the platform is designed and implemented by using Spring Boot+MySQL+MyBatis+Vue and other technologies.

Keywords: recommendation algorithm; Spring Boot; service platform; Vue

0   引  言

近年来,随着互联网科技的发展,电商的崛起给实体店带来巨大冲击。新兴技术颠覆了人们传统的生活方式,特别是在服装、购物等领域变化显著。推荐算法能够根据用户的历史行为、物品属性或者上下文等信息进行建模,预测用户对给定项目的偏好。协助消费用户从大量信息中找到符合其需求的产品,帮助卖家提升商品的关注度,这是推荐算法要解决的核心问题。研究设计该平台以实现实体店发展线上销售渠道的目的,并通过用户信息、浏览记录来设计推荐算法,实现对不同用户的个性化推荐以此提高用户体验感,达到解决目前推荐算法影响因素单一,推荐内容具有大众化趋势的问题。

1  国内外研究现状

在国外,互联网行业发展较早,推荐算法的应用也比较普及。Amazon发明了基于物品的协同过滤推荐ItemCF算法,该算法是根据用户已经购买并已进行评分的商品,寻找用户可能喜欢的商品为用户推荐商品。谷歌利用个性化推荐技术推出了优先级收件箱功能,其是通过分析用户的行为,将用户感兴趣的邮件放在一个专门的收件箱里。谷歌的研究表明,该方法帮助用户节省了6%的时间。社交网络应用代表Facebook和Twitter也是通过个性化推荐为用户推荐内容和好友。Facebook还推出一个推荐API(称为InstantPersonalization),该工具根据用户好友信息,为用户推荐其好友喜欢的物品。关于个性化展示广告,雅虎是这方面的研究代表,曾发表大量个性化广告方面的论文。另外,知名阅读网站Google Reader、Zite、新闻阅读网站Digg也都使用个性化推荐技术为用户推荐感兴趣的内容,提高用户的活跃度。

在国内,推荐技术被各大互联网巨头广泛地应用于自家的平台上,如“京东”“阿里巴巴”等电商巨头都在自己的平台上大力发展推荐技术,以提高用户体验和用户黏性,从而增强自身的盈利能力和竞争力。

2  功能需求分析

该系统包含三种用户角色,分别是消费者用户、店铺员工、店铺管理员。所有角色都具备个人信息管理功能,其中包括修改个人信息、登入、登出,消费者用户也可以通过浏览商品并进行购物生成订单。为提高用戶对该平台的使用体验,需要为用户提供服装的个性化推荐,还需要具备动态的功能来为店铺发布消息或进行活动推广。为保障消费者与店铺员工之间的沟通,该系统还提供客服功能。为确保店铺与店铺之间的隔离性,用户需要选择一个已参加的店铺为当前店铺,并进行商品的浏览和购买。店铺管理员相对于店铺员工角色多了管理员工和管理店铺下用户的功能,并享有店铺信息管理和查看店铺流量可视化信息的功能。综合三类用户的功能,系统整体用例图如图1所示。

3  系统设计与实现

3.1  系统设计

通过对该服装店铺服务平台的系统分析,划分出该系统的主要构成模块,分别为服装商品模块、首页配置模块、用户模块、购物车模块、订单模块、动态模块、店铺模块、流量可视化模块。系统总体结构图如图2所示。

3.2  系统部分功能实现

3.2.1  推荐功能

该系统的服装推荐功能主要是基于用户数据协同过滤的推荐算法来实现的,使用余弦相似度的度量方法来计算用户与用户之间的相似性,最终将相似度较高的服装商品推荐给用户。

首先保存用户浏览数据,并完成点击量的统计,再调用推荐模块工具类中的方法,使用余弦相似度公式来计算两个用户之间的相似度。把计算出的用户相似度数据保存到用户相似度数据表中,如果已经存在就会更新两用户之间的相似度数据。具体代码为:

for (UserSimilarityDTO usim : similarityList) {

if (userSimilarityService.isExistsUserSimilarity(usim)) {

boolean flag = userSimilarityService.updateUserSimilarity (usim);

if (!flag) {

userSimilarityService.saveUserSimilarity(usim);

}}}

//得到某個消费者用户与其余用户的相似度列表主要代码

public List<UserSimilarityDTO> listUserSimilarityByUId (Long userId) {

if (userId == null) {return null; }

List<UserSimilarityDTO> userSimilarityList = this.userSimilarityMapper.listUserSimilarityByUId(userId);

return userSimilarityList;}

//找出与该用户浏览行为相似度最高的两个用户

PriorityQueue<UserSimilarityDTO> minHeap = new PriorityQueue<UserSimilarityDTO>(new Comparator<UserSimilarityDTO> (){

public int compare(UserSimilarityDTO o1, UserSimilarity DTO o2) {

if (o1.getSimilarity() - o2.getSimilarity() > 0) { return 1;

} else if (o1.getSimilarity() - o2.getSimilarity() == 0) { return 0;

} else { return -1;

}}});

//把得到最大相似度用户的id取出来

for (UserSimilarityDTO userSimilarityDTO : userSimilarity DTOList) {

if (minHeap.size() < topN) {

minHeap.offer(userSimilarityDTO);

System.out.println(minHeap.peek().getSimilarity());

} else if (minHeap.peek().getSimilarity() < userSimilarityDTO. getSimilarity()) {

minHeap.poll();

minHeap.offer(userSimilarityDTO);

}}

List<Product> recommendateProducts = new ArrayList <Product>();

找出二级类目中的所有商品,将当前二级类目中点击量最大的商品推荐给用户

for (Long category2Id : recommendateCategory2) {

List<ProductDTO> productList = productService.listProductByCategory2Id(category2Id);

Product maxHitsProduct = RecommendUtils.findMaxHitsProduct(productList);

recommendateProducts.add(maxHitsProduct); }

在实现动态推荐功能时,实现方式类似,效果图如图3所示。

3.2.2  店铺流量数据可视化功能

流量可视化功能前端使用Echart对该系统销量、营业额、订单数进行数据渲染。首先初始化Echart实例,指定图表的配置项和数据,最后显示图表。代码为:

myChart = window.echarts.init(document.getElementById ('zoom'))

const option = {

title: {text: '系统折线图'},

tooltip: {},

legend: {data: ['新增注册', '付费用户', '活跃用户', '订单数', '当日总收入']},

toolbox: {feature: {saveAsImage: {}}},

grid: {left: '3%', right: '4%', bottom: '3%', containLabel: true},

xAxis: [ ]}

myChart.setOption(option)} })

onUnmounted(() => {

myChart.dispose()}

3.2.3  用户管理功能

店铺管理员可以通过该功能来管理店铺的消费者用户账号,可以进行消费者用户账号的禁用与解除禁用,以下代码完成查看信息功能。代码为:

User user = userMapper.getById(userId);

UserDetailVO userDetailVO = new UserDetailVO();

BeanUtil.copyProperties(user, userDetailVO);

List<Role> roleList = userDetailVO.getRoleList();

if (i != roleList.size() - 1) {

userDetailVO.setRoleIds(roleList.get(i).getId() + ",");

} else {

userDetailVO.setRoleIds(roleList.get(i).getId() + "");

}

4  結  论

该系统主要面向服装店铺,为服装店铺向线上转型提供了平台,服装店铺可以在该平台发展属于自己店铺的线上销售渠道。该系统采用个性化服装推荐算法为用户提供更加精确的服装推荐。但目前现有的主流推荐算法只是根据该系统设计的,系统也是以用户行为记录为主,通过增加用户身高体重的外貌特征来提高推荐算法的准确性。该系统产生的用户浏览记录是一个不可逆的过程,所以当用户误操作后也会对系统向该用户推荐的商品产生影响;但随着数据的增多这种少量的数据并不会对总体数据产生影响。

参考文献:

[1] HE X N,LIAO L L,ZHANG H W,et al. Neural collaborative filtering [C]//WWW '17:Proceedings of the 26th International Conference on World Wide Web.Perth:International World Wide Web Conferences Steering Committee,2017:173-182.

[2] 陈军,谢卫红,陈扬森.国内外大数据推荐算法领域前沿动态研究 [J].中国科技论坛,2018(1):173-181.

[3] 林伟婷.C/S与B/S架构技术比较分析 [J].科技资讯,2018,16(13):15-16.

[4] LIU J,WANG D,DING Y. PHD:A Probabilistic Model of Hybrid Deep Collaborative Filtering for Recommender Systems [J].Journal of Machine Learning Research,2017:224-239.

[5] 雷曼,龚琴,王纪超,等.基于标签权重的协同过滤推荐算法 [J].计算机应用,2019,39(3):634-638.

作者简介:郭玉芝(1985.01—),女,汉族,山东即墨人,副教授,硕士研究生,研究方向:软件质量管理、数据库应用。

猜你喜欢

服务平台
基于YOLOV5与Raspberry PI及Arduino的视觉开放式智能机器服务平台
基于“云计算+大数据”的工业互联网大数据云服务平台
基于O2O的校园服务平台应用研究
高校财务“一站式服务平台”建设探讨
深圳政务自助服务平台上线
富裕县 搭建平台提升社区服务水平