基于JavaEE技术的中小学供餐监管平台系统设计初探
2020-02-24王兢
王 兢
(郑州大学 河南 郑州 450001)
一、系统概述
本系统采用B/S架构,使用Struts2+Spring+Hibernate技术框架开发,利用MySQL数据库进行数据存储,从菜品的进货入手,通过评论收集用户的喜好,在此基础上创新地引入基于物品的协同过滤推荐算法,结合家长和学校两方面的特点,为学校的订购进行推荐,为学校的餐饮服务提供便利。
二、系统设计
(一)数据库设计
经需求分析,本系统一共设计了十一张表,分别为:学校信息表(school),供货商信息表(producer),学校餐厅表(hall),餐厅进货表(stock),供餐信息表(serve),用户信息表(User),回复表(Reply),评论赞踩表(DLove),供餐赞踩表(SLove),敏感词(Word)
,评论表(Discuss)。不同表之间通过主外键相互关联,为系统功能的实现奠定了基础,下面是对着十一张表中重点表的介绍。
1.学校信息表(school),它是以sid(学校编号)为自增主键,同时包含了sname(学校名称)、spassword(学校密码)、slogo(学校图片)、saddress(学校地址)、sinfo(学校简介)、
stel(学校联系电话)、identify(身份)这些属性列。
2.供货商信息表(producer)它是以供货商编号sid为主键,包含了pname(供货商名称)、
、ppassword(供货商密码)、plogo(供货商图片)、paddress(供货商地址)、ptel(供货商联系电话)、pinfo(供货商简介/经营范围)属性列。
3.供餐信息表(serve),它是以供餐编号eid为主键,sid(学校编号)为外键,包含了
etime(供餐时间)、variety(菜品种类)、elogo(供餐图片)、edate(供餐日期)、ELove(赞)、
Edislike(踩)、Etitle(题目)属性列。
4.用户信息表(User)它是以Uphone(用户手机号)为主键,包含了Uphone(手机号)、Uname(昵称)、Upassword(密码)、Ulevel(活跃等级)、Uemail(邮箱)、Ugroup(用户组)、identify(用户身份)属性列。
(二)功能设计
基于前期的需求分析,本系统的功能主要分为两大模块学校模块和家长模块,其中学校模块分为信息的注册登录功能,信息发布功能、评论回复功能以及菜品推荐功能,家长模块分为注册登录功能、信息浏览功能和评论回复功能,这些模块间的功能相辅相成共同组成了一个完整的系统。
1.登录注册功能是使用整个系统的前提,每个用户凭借注册的手机号或者邮箱来进行登录并进行信息的发布或者评论回复。
2.信息发布功能是本系统的基础功能和核心功能,本功能只有学校用户才能使用,通过本功能进行菜品信息的公布,为菜品推荐奠定基础。
3.评论回复功能是每个用户学校发表的菜品进行自己的评价,除了有赞和踩两种不同的选项外还可以发表自己的看法,这个功能是后期进行菜品推荐的基础之一。
4.菜品推荐功能是本系统的一个特色功能,可以针对不同的学校,结合他们发布的信息和受欢迎程度为不同学校针对性的推荐特色菜品。
(三)算法设计
本系统采用基于物品的协同过滤算法(Item-based collaborative filtering,简称ItemCF),该算法由著名电子商务公司亚马逊提出[1],并在业内获得了广泛的应用。该算法的基本思想是:通过分析用户对物品的行为,计算物品之间的相似度,从而找出和目标物品具有一定相似度的物品集合,然后通过目标用户的历史行为数据预测其对相似物品的评分,并将预测评分高的一个或多个物品推荐给目标用户[2],即向用户推荐和他们之前喜欢的物品相似的物品。在本系统使用该算法可以一定程度上避免长尾分布和冷启动问题。
1、在本系统中,通过查询各个学校发布的菜品信息,通过三餐进行分类,同时收集评论用户的个人喜好,从而建立学校-菜品评分矩阵R,R是一个m×n的矩阵,其中m学校的数量,n表示菜品的种类,Rmn的值始终在一定的取值范围内,表示不同学校不同菜品的受欢迎程度,其中赞代表1,踩代表-1,该值越大代表受欢迎程度越高,通过计算菜品在m维学校空间上的向量夹角的余弦值来表示商品间的相似度,夹角余弦值越大则相似度就越高。
2、Deshpande和Karypis的研究[3]指出,将相似度矩阵按最大值归一化之后可以获得更高的推荐准确率,同时对于目标商品的K个最近邻商品,K取值应在10到30之间。我们利用电商平台的销售交易数据集进行测试表明,K=10时可以获得较高的准确率和召回率。最后,从不同学校的菜品中计算他们的相似程度从中剔除已经有的菜品,根据相似程度的高低选出k个新的菜品,从中选出Top-N推荐学校,完成推荐过程[4]。
三、结束语
本文研究了基于JavaEE和协同过滤算法的中小学供餐平台系统的设计。在依托网络进行信息公开的同时,结合可靠准确的推荐算法,提高了学校食堂的受欢迎程度,有助于提高学校的形象,一定程度上解决家长的担心。本系统基于B/S架构,考虑到更多的使用场景,后续可进一步研究设计开发移动端产品。随着人民生活水平的提高,针对中小学供餐监管平台系统必将发挥更大的作用,而结合推荐算法提高系统智能化水平的方案也将对其发展起到积极作用。