基于协同过滤算法的食堂菜品智能推荐程序

来源 :科技创新导报 | 被引量 : 0次 | 上传用户:majinrao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要:传统的菜品评测软件存在着功能冗余,安装繁琐等降低用户黏性的固有缺点,而微信小程序这一新的开发方式,给了我们解决该问题的新途径。本文以学校食堂菜品推荐为背景设计了新的菜品推荐评测微信小程序。該程序选择基于用户相似度的协同过滤算法,针对每位用户进行智能推荐,具有用户目标明确、程序轻量化、推荐个性化的特点。
  关键词:微信小程序  智能推荐  协同过滤  饮食推荐
  中图分类号:TP39                               文献标识码:A                   文章编号:1674-098X(2020)08(a)-0251-03
  Abstract: Traditional dish evaluation software has inherent disadvantages such as redundant functions and cumbersome installation to reduce user stickiness, while WeChat applets, a new development method, give us a new way to solve this problem. We design a new WeChat program for the food evaluation based on the background of school canteen food recommendation. This program selects a collaborative filtering algorithm based on user similarity, and makes intelligent recommendations for each user. This program has the characteristics of clear user target, lightweight and personalized recommendation.
  Key Words: WeChat applets; Intelligent recommendation; Collaborative filtering; Dietary recommendation
  华中科技大学占地面积广大,拥有食堂多达34所,师生分布在学校东西中三个区域内。当同学老师及访客由于某些原因去往不熟悉的食堂,或者对常去的食堂产生厌倦时,即出现了了解新食堂及其菜品的需求。如果专门为此设计应用软件又难免存在下载安装过程繁琐导致用户吸引力降低的问题。
  为解决该问题,我们设计了基于微信小程序[1]的食堂菜品推荐程序。本文将论述该程序的主要功能模块,实现智能推荐的主要算法,数据库的搭建等并根据实际情况反馈对该设计的优缺点进行了讨论。
  1  实现功能
  本设计主要实现以下功能以解决相关诉求。
  1.1 主页面智能推荐
  根据用户所在区域,智能推荐食堂与菜品。
  针对的是想要尝试新食堂但又没有具体想法的用户。
  1.2 用户手动选择食堂,智能推荐菜品
  针对有心中有大概想法但又无法做出具体选择的用户。
  1.3 用户留言点评菜肴
  让同学通过评论与打分的方式给出评测,程序进行智能分析并进一步修正数据库以便做出更优的推荐。
  2  推荐算法选择
  当前经典的推荐算法包括topN算法、矩阵算法、内容关联算法、协同过滤算法、神经网络矩阵分解法、用户行为轨迹分析法等。此外还存在着混合推荐算法。由于本次设计中评价对象相对较少,我们采用了基于用户相似度的协同过滤算法。
  2.1 主流协同过滤推荐算法的分析
  目前主流的协同过滤推荐算法分为基于用户的协同过滤推荐算法及基于项目的协同过滤推荐算法。基于用户的协同过滤推荐算法依赖于用户对项目的评价矩阵,进而产生用户的推荐集合,对评价的数目有很高的要求,即需要大量评价数据,否则会对推荐的准确性产生很大的影响。基于项目的协同过滤推荐算法对用户已评分的项目的相似项目的评价进行预测,进而减轻了系统对原始评分数据的依赖。但该算法推荐集覆盖率低,用户满意度较低。
  2.2 选择基于用户相似度的协同过滤推荐算法的理由
  传统协同过滤推荐算法在实际运用中逐渐表现出一些问题[2]:传统算法没有利用到社交网络中大量存在的用户交互信息。这反映在食堂推荐程序中则为将同一菜品的评价视为平行关系,忽略了用户之间的互动,即参与评价的用户之间的相关性。而基于用户相似度的协同过滤推荐算法(如图1)综合利用用户注册信息,对主体的评价信息及用户互动信息,提高推荐质量和准确度,进而提升用户满意度。
  2.3 步骤说明
  根据前述说明,用户信息可以分为用户属性和用户互动信息。用户属性即用户的基本注册信息,用户互动信息即用户对其他菜品的浏览信息,或者是反映浏览同一菜品的用户之间的相关性的信息。对两类信息分配合理的权重,进行线性拟合得到用户间的相似度,进而生成推荐集信息。
  (1)用户相似度计算。采用欧几里得距离,计算用户的相似度。应用中希望相似度与返回值正相关,并且值在0到1之间,故我们取函数值加1取倒数的形式计算相似度[3]。   (2)寻找相似用户。我们希望寻找与目标用户相似的用户,采用的方法是:根据用户间的相似系数,对相似用户进行排序,并且选择相似用户的前n名。
  (3)生成推荐集。根据上述求得的相似用户的加权平均,并且排除目標用户已经浏览过的菜品,即得到对目标用户的推荐菜品。
  3  基于用户的协同过滤算法实现过程
  算法总体流程框图如图2所示[4-5]。
  在本软件中算法的核心实现思路为首先分析数据, 建立用户-菜品评分矩阵模型, 接着通过计算用户对菜品浏览频率之间的相似性, 寻找目标用户的最近邻居, 最后根据最近邻居的评分向目标用户产生推荐菜品。
  3.1 评分矩阵的建立
  根据用户浏览菜品的次数, 建立用户-菜品标准化浏览频率矩阵,用户-菜品浏览频率矩阵是一个矩阵,表示用户数,表示菜品数,表示第个用户对第    个菜品课程的浏览频率。
  3.2 相似度计算
  用户与用户之间的相似度可表示为:
  本程序还通过随机推荐方法以修正没有其他用户浏览过当前用户未浏览菜品的问题
  3.3 推荐列表的产生
  我们从矩阵中找到与目标用户最相似的个用户,并去除用户已经浏览过的菜品,用集合表示, 对每门候选菜品,用户对它的感兴趣的程度用以下公式计算:
  其中代表了前名相似用户的推荐权重。
  4  推荐系统的具体构建
  4.1 程序的运行流程
  程序通过获取用户的反馈来不断更新数据库,从而达到优化推荐的目的。根据这一思路设计出的程序运行模式如图3所示。
  4.2 主要环节设计
  (1)数据库设计。我们设计了一个数据库来存储菜品的各项信息,各项菜品的基础信息由人工采集录入作为基础信息,评价与分数可以由用户反馈进行修改最终得到实际评价[6],同时我们还设计了用户提交窗口,由用户帮助我们完善数据库。
  数据库由以下三张表组成:
  ·Canteen:canteenName(食堂名称),geo(地理位置),canteenPicture(食堂图片)
  ·Dish: _id(菜品编号),canteenName(食堂名称),dishName(菜品名称),windowName(窗口名称),windowPicture(窗口图片),price(价格),unit(单位),dishPicture(菜品图片),timeFor(出现时间),rate(评价)
  ·DishProperty: dishid(菜品id),openid,statue(评分),comment(评论)
  由上述内容可知,菜品通过canteenName来表示归属的食堂,windowName来表示所在窗口,通过timeFor来界定该菜品在三餐中的出现时间。DishProperty则用于存储菜品的评价类的属性诸如评分与评论内容等。
  (2)具体功能实现。
  显示菜品功能:使用wxml和wxss显示数据库Dish中的菜品信息在同名js文件中读取数据库信息,对dishname等变量进行赋值,再通过wxml显示在界面上。
  搜索菜品功能:当有输入时,点击搜索按钮跳转至搜索结果页,再在结果页用正则表达式搜索后用wxml显示搜索结果。
  云函数搜索:使用微信给出的云开发api,选择正则表达式的大小写不敏感的匹配模式,在dish数据库中搜索目标菜名。
  用户上传功能:使用api获取用户设备照片文件,和用户填写菜品信息一起上传至服务器上传文件和添加数据是通过2个api实现,上传图片为uploadFile,上传到云数据路径。添加数据则使用collection.add添加用户上传数据至dishUserUpload数据库。
  智能推荐功能:使用前述的欧几里得距离的变形计算用户间的相似度,推荐相似度最高的用户所浏览的目标用户未浏览的菜品。
  5  结语
  选择微信小程序的主要优点在于其轻量快捷,无需繁琐的下载安装过程,降低了使用门槛。同时,微信小程序本身也提供了基本的服务框架,方便开发。我们在设计中采用新潮的智能推荐算法进行用户的个性化推荐,有效解决了本校师生就餐选择难的问题,并为师生跨校区就餐提供了指导。另外,开放式的评论系统也有助于学校官方了解相关情况,及时做出相应调整。
  本程序依然存在一些不足,诸如:用户的自发更新缺乏动力,数据扩大后程序响应缓慢,缺乏审核渠道,缺乏有效推广渠道等。这也是未来准备继续改善的地方。
  参考文献
  [1] 孙旻.广播微信小程序的设计与实现[J].广播电视信息,2019(9):69-73.
  [2] 蒲鲜霖.智能推荐系统中协同过滤算法综述[J].中国新通信,2018,20(23):31-32.
  [3] 周鲲.基于用户相似度的协同过滤推荐算法研究[D].成都:西南交通大学,2016.
  [4] 宋勇建,宋金玲,张正阳,等.基于项目评分预测与用户多相似度的协同过滤推荐算法[J].现代化农业,2019(3):60-62.
  [5] 陈思,田敬阳.基于协同过滤算法的旅游景点推荐模型研究[J].现代电子技术,2020,43(11):132-135.
  [6] 刘禹.基于微信小程序的图书荐选程序设计及实现[J].长春工程学院学报:自然科学版,2019,20(2):59-62.
其他文献
摘 要:在我国城市化进程快速推进的背景下,城市管理专业具有非常广阔的发展前景,但其作为一个年轻的专业目前尚未形成较为成熟的人才培养模式。本文以重庆工商大学融智学院城市管理专业为例,从培养定位、培养特色、培养成效等方面,深入探讨了财经类民办应用型本科高校城市管理专业特色培养模式,旨为其他高校城市管理专业发展提供参考和借鉴。  关键词:城市管理 财经类 应用型高校 培养特色  中图分类号:G642
期刊
摘 要:在G60科创走廊持续推进过程中,走廊九城在经济发展方面也取得良好进展,在今年的金华市政府工作报告中,金华市首次提出要积极创建国家创新型城市,深度融入G60科创走廊,谋划建设中央创新区。加入G60科创走廊,就是助推金华企业勇敢走出去,不只是企业,更让一座城市迎来了创新发展的历史新动力。本文就金华市为例,分析融入G60科创走廊加快高水平创新型城市建设研究,现将有关结果公布如下。  关键词:G
期刊
摘 要:军事课是高校建设发展的内在要求。党的十九大将“立德树人”作为我国教育的根本任务。当前,高校军事课程教育长期效果不佳,教学内容固化,缺少改革创新,无法满足新时期国防教育的需要。湖南安全技术职业学院实行“三年一贯制”军事课程改革,以令行禁止、服从命令的纪律规范来抓养成,把军事文化融入高校教育文化,为培养良好的校风学风提供有力保障。  关键词:三年一贯制 军事课程 改革 军事文化  中图分类号:
期刊
摘 要:自2017年以来,随着网络技术的发展,混合式教学已成为我国高等教育教学改革的首选。《极限配合与测量技术》课程是高职机械类专业开设的一门核心技术基础课程,是联系设计课程和制造工艺课程之间的纽带。为适应职业教育技术技能型人才培养的需要,课程组进行了混合式教学模式的课程改革,积累了丰富的实践经验。本文对课程的教学设计理念与思路、教学方法与教学内容、教学模式与教学评价等方面的探索与实施做了阐述。
期刊
摘 要:随着社会经济的不断发展,传统的大电网已经不能满足当今社会的电网供电需求,分布式发电应运而生。随着能源消耗的加剧和生态环境污染的日益严重,全世界都在寻求积极开发新能源的方式,分布式发电是利用可再生资源的重要途径。分布式发电最大的优势就是可以利用可再生资源,但如果无计划地使用分布式发电技术将会对配电网电压产生一定程度的影响。本文将重点分析分布式新能源发电对配电网电压造成影响的因素,以便为今后的
期刊
摘 要本文以汽车车身焊接与切割技术为例,借助“职教云”在线平台,实现“课前、课中、课后”的全过程线上教学实施过程,以培养学生的自主学习意识。辅助“腾讯课堂”直播平台实现实时互动学习,提高学生的学习效果。依靠平台大数据功能,对学生知识的掌握情况进行分析,督促学生及时巩固知识,同时方便教师调整授课计划,提高教学质量。  关键词:职教云 腾讯课堂 线上教学 电阻电焊原理  中图分类号:G64
期刊
摘 要:建立和发展科研平台的根本目标是立德树人,在科研的过程中培育人才,在实践的过程中锻炼人才。科研平台的创建能够推动科学研究和基础教学的互动融合与相互发展,是创新中国研究生培养模式的重要平台。本文以哈尔滨师范大学为例,总结了科研平台的建设工作,深化研究生培养改革,提出了全方位促进科研平台建设的具体思考:以需求为导向;加强协同创新;聚焦德育的关键环节。  关键词:科研平台 研究生培养 科研育人 
期刊
摘 要:网络平台的蓬勃发展在实现资源高效配置和经济循环发展的同时,给平台的支配地位和垄断风险带来了诸多风险:垄断平台排除和限制竞争影响经济民主制度、扼杀网络市场的创新因子、损害交易公平、弱化对个人权利和隐私的保护。在市场经济面临挑战的同时,版权也因此受到威胁,版权人价值缩减、版权界限不清、版权作品被任意删改、版权收益平台提成过高等问题浮出水面。因此,在网络大环境下,亟待探索出更高效更公平的实现版权
期刊
摘 要:我国随着社会经济和互联网技术的发展逐渐进入数据信息化时代,在高校的招生、教学、管理上,网络经济的兴起都对其各个环节产生了不可忽视的影响。高校传统的教学模式也会在网络经济的进一步发展中受到网络信息技术的冲击,同时在互联网+的影响下,多元化的网络技术都会引导高校发展产生变革。不仅在教学手段和教学质量上得到丰富和提高,也会在扩大学校的招生资源和创造校与校之间的资源共享条件。本文就针对当前互联网+
期刊
摘 要:消防站的布局直接影响城市消防工作的效率,为提高梅州市主城区消防站点的分布合理性,亟需对城市消防设施布局开展空间优化相关研究。本文基于POI(兴趣点)数据,通过使用位置-分配模型形成消防站在理想状态下、短期规划下以及长期规划下的空间布局方案。结果表明为实现梅州市主城区消防工作效率的稳步提升,至少4座消防站应该在短期内得到布局,在长期规划中建设不少于7座消防站,同时需要对2座消防站进行改造,达
期刊