APP下载

基于内容推荐算法的点餐系统的设计与实现

2022-05-30谷研硕时振涛孙申英盛林

电脑知识与技术 2022年10期
关键词:推荐算法微信小程序

谷研硕 时振涛 孙申英 盛林

摘要:如今微信支付已经成了一个普遍的支付方式。文章针对校园师生因就餐时间和就餐地点固定造成人流量大、点餐不方便等问题,设计一款基于内容推荐算法和微信公众平台的小程序点餐系统。该系统通过调查问卷收集用户信息,应用基于内容的推荐算法分析用户个人的饮食偏好,推出适合用户的个性化菜品,实现线上点餐、推送个性化菜肴、信息反馈等功能,有效解决了师生点餐难、取餐难、就餐难等问题,节省了时间与人力,满足快节奏的生活需求。

关键词:微信小程序;推荐算法;点餐系统

中图分类号:TP311    文献标识码:A

文章编号:1009-3044(2022)10-0048-02

随着物联网行业的迅速发展和小程序技术的出现,餐饮业逐渐从传统的线下运营形式改为线上,很多点餐小程序蜂拥而出,例如“饿了么”“美团外卖”等,使点餐效率提升且便捷。但就目前存在的线上点餐系统而言,大多都是以卖家为主体设计的,无法像一些电子商务行业应用,如美团、京东、拼多多等,在原本信息数字化的基础上通过推荐系统为用户提供个性化的推荐服务[2]。基于此,本文设计出基于实现算法推荐与微信公众平台相结合的智能点餐系统——“随便餐”系统。该系统利用数据分析,挖掘出用户喜欢的菜品及口味,并对其进行健康分析后推荐给用户,从而有效地解决选餐难,点餐难等问题,使用户享受更加快捷的服务,节省了时间,实现了餐厅的自动一体化[7],节省了人力,提高了餐厅的服务能力和效率。

1 系统分析与设计

本文应用微信平台,并结合数据分析开发具有个性化菜单的点餐系统——“随便餐厅”。该餐厅以“随便”为理念,全方位地为大学生推荐他们喜好的餐品,为大学生点餐提供便利的服务,解决大学生就餐时存在的“迷食”现象,使学生点餐更便捷,更人性化。

本系统的可视化模块通过小程序的界面实现,信息数据存储由微信云开发控制台实现。点餐系统功能主要包括:登录模块、数据赛选存储、内容推荐、个人基本信息设置、订单查询模块、点餐模块、订单管理、信息分析及更新模块等,如图1所示。

1) 信息采集模块:用户首次登录平台需要根据提示填写个人日常口味以及用餐习惯,完善个人用餐信息。系统记录用户信息,并根据这些数据分析适合用户的餐品,进而自动推荐出该用户的“随便餐”。

2) 点餐选餐:用户登录微信公众号,查看所有菜品的信息,将自己喜欢的食物添加购物车,提交订单付款完成点餐。

3) 个人中心:完成修改个人信息,查看/修改自己的订单信息,查看订单的配送状态等功能。

4) 信息推送功能:公众号会每周推送本周热榜餐、今日个人“随便餐”及自选饭以供用户参考。(热榜餐:系统每日记录选餐中各饭的选购次数,一周为一个记录周期,每个周期系统会根据选购次数进行排名,选出次数高的餐为下周热榜餐。)

5) 系统设置:这部分属于后台管理员权限,主要实现菜品管理、用户信息、订单信息的管理及用户反馈处理等功能。

6) 数据分析及信息更新:用户每次点餐后,系统都会收集该用户的点餐信息,并进行数据分析,将分析的结果实时更新到个人信息中,以便用户在下次点餐时推出更新后的“随便餐”。

2 基于内容的个性化菜品推荐算法

“随便餐厅”系统为每个用户推荐个性化菜品,这些菜品具有菜品原材料、菜品口味、菜品价格以及菜品详细介绍等属性,不同菜品的属性之间或多或少地有相似性。本系统利用菜品属性相似性强弱设计基于内容(菜品属性) 的推荐算法Content-based Recommendations (CB) 来实现个性化菜品推荐。相似性强弱的判断:不同菜品的用用相同原材料制作的,或者不同菜品口味相同等,就将认为此类菜品具有较高的相似性。本系统根据菜品属性的相似性和用户点餐的偏好进行特征学习,得出与此用户的推荐菜品列表。具体步骤如下:

1)  物品表示:从N个菜品的菜品属性中抽取出权重最大的特征属性作为该菜品的代表属性。公式(1) 计算第k个菜品属性在菜品j中的权重[w(ak,dj)]。

[w(ak,dj)=TF-IDF(ak,dj)s-1NTF-IDF(ak,dj)] (1)

第k个属性在菜品j中出现的频率[TF-IDF(ak,dj)]及逆向文件频率[IDFak]的公式参见如下公式。

[TF-IDF(ak,dj)=IDF(ak,dj)'IDFak] (2)

[IDFak=logNak] (3)

公式中[ak]表示全部N个菜品中含有第k个菜品属性的菜品总数。

2)  特征学习:根据用户高频率点的菜品(菜品偏好) 来刻画这个用户口味偏好的特征向量,本算法是将用户全部高频率菜品的对应向量均值作为该用户的特征向量。

3)  生成推荐列表:根据前两步得到的菜品特征向量[Y]、用户菜品偏好特征向量[X],根据余弦相似度进行计算(公式(4)) ,然后选取所有的相似度similarityN中相似度最大的前N个菜品作为推荐结果放入推荐列表中。

[similarityN=X×YX×Y=i=1NXi×Yii=1NXi2×i=1NYi2] (4)

3 数据库部分设计与搭建

“随便餐厅”点餐推荐系统需要通过大量的数据为基础进行特征学习,实现更精准的智能推荐功能。该系统的数据库基础表,主要分为用户信息类和菜品信息类,其中菜品信息类表以菜品编号为主键,用户信息类表以用户id为主键,具体如表1。

4 系统界面

“随便餐厅”点餐系统有登录界面、推送界面、购物车和设置页面等,如图2~图5所示。订单信息、反馈信息都通过此小程序通知。小程序相比网页加载更快,相比于App更加节省设备空间。界面设计采用传统的css样式,整体给人以简洁,功能不冗余,让使用者更加容易接受。

5 结束语

本文利用微信小程序开发了一款面向校园师生的点餐系统——“随便餐厅”。该系统将点餐、个人偏好设置、向用户推荐菜品等功能集于一体,实现智能选餐点餐动一体化。实现在满足功能需求前提下,引入微信Web开发模式,并利用基于菜品信息特征的推荐算法来实现个性化菜品推送,提升用户点餐的快捷度,使用餐更加便捷,更好地为广大师生服务。

参考文献:

[1] 苏沐晖.智能餐厅频现 “黑科技”重塑餐饮业?[J].新产经,2019(4):80-81.

[2] 李昊.基于微信小程序的智能推荐点餐系统的设计与实现[D].南京:南京邮电大学,2020.

[3] 涂敦兰,王莎.基于Wi-Fi的智能点餐系统[J].电信快报,2020(10):41-43.

[4] 蒲东兵,孙英娟,贾龙洋.基于关联度的智能荐菜系统设计与实现[J].长春师范大学学报,2020,39(2):48-52.

[5] 刘琤,赵桓鑫,王先勇.基于Spring Boot技术的微信平台 校园食堂智能点餐系统设计[J].无线互联科技,2019,16(15):37-38.

[6] 汪迎,白高棚,冯家慧,等.基于ZigBee的“智能无线点餐”系统设计[J].价值工程,2016,35(10):166-169.

[7] 郝传斌,王奂奇,陈梅.智能餐馆一体化系统设计[J].自动化仪表,2020,41(7):48-51.

【通联编辑:李雅琪】

收稿日期:2021-12-14

基金项目:山西省高等学校大学生创新创业训练计划项目(2020980)

作者简介:谷研碩(2000—) ,男,山西省太原科技大学计算机科学与技术学院,本科生;时振涛(1974—) ,女,通信作者,山西省太原科技大学计算机科学与技术学院,副教授。

猜你喜欢

推荐算法微信小程序
基于CNKI的微信小程序研究文献计量分析
当图书馆遇上微信小程序
校园社交平台中标签系统的研究
基于相似传播和情景聚类的网络协同过滤推荐算法研究
社交网络推荐系统
混合推荐算法在电影推荐中的研究与评述
基于情景感知的高校移动社交网络平台设计与开发