首页 理论教育基于推荐算法的智能餐饮系统优化方案

基于推荐算法的智能餐饮系统优化方案

【摘要】:图8-13推荐系统的基本架构①用户反馈行为采集模块。本案例针对餐饮行业中存在的问题,提出了基于推荐算法的智慧餐饮系统的设计思想,并对其进行了实现。系统中采用的推荐算法是基于协同过滤的思想,针对其处理稀疏数据能力差、可扩展性差这两个影响推荐质量的关键问题,提出了一种基于SVD与GSOM的协同过滤推荐算法。

推荐系统是一种对海量数据进行挖掘分析预测的系统,它通过采用不同的推荐引擎对用户的历史行为进行分析,通过量化计算用户与信息之间关系实现信息预测,并通过推荐策略对信息进行提取并向用户进行展示。所以推荐系统的作用可以分为两个部分:对于用户来讲可以实现用户历史信息的挖掘与兴趣建模,通过推荐服务使用户提高信息检索与信息收集的效率;对于信息来说可以把信息优先向与信息关联度高的用户进行展示,提高信息的利用率。随着推荐系统的逐渐成熟,其在新闻推送、影视作品推荐、电子商务音乐导航等领域得到了大量的应用。

推荐系统的基本架构如图8-13所示,可以看出推荐系统在功能模块上主要分为:用户反馈行为采集模块、推荐引擎模块与推荐解释模块。

图8-13 推荐系统的基本架构

①用户反馈行为采集模块。该模块的主要功能是通过系统中的日志采集或登录访问等信息记录来完成用户的反馈行为信息的采集,这些信息主要包括用户的点击、收藏、打分、购买等。用户的反馈行为一般分为两种:用户显性反馈行为与用户隐性反馈行为。用户显性反馈行为主要是指用户在网络中的购买、收藏、评价等行为,这些行为可以较为准确表达用户的兴趣;用户隐性反馈行为主要是指用户在网络中的浏览、点击等行为,这些行为只能在一定程度上对用户的兴趣需求进行表现。用户反馈行为采集模块则是通过对不同的用户行为数据进行采集,并进行数值化与持久化保存,完成用户反馈行为的采集。

②推荐引擎模块。推荐引擎模块是推荐系统的核心模块,通过量化计算用户与信息之间的关联度,实现用户数据的挖掘与用户兴趣的建模,得到推荐参考信息。

③推荐解释模块。该模块是把推荐引擎中得到的推荐参考信息进行过滤、排名、推荐解释选择等处理,再采用一定的推荐策略对信息进行排序向用户进行发送,完成最终的推荐结果。

在当今餐饮行业的发展中,餐饮行业发展方向已经由传统模式转化成为了互联网模式,人们对餐饮信息获取的手段也已经由原来的传统媒体变成了网络获取。随着餐饮行业与互联网的融合,网络中餐饮数据的规模呈现出了快速增长的态势,餐饮信息过载成为了制约餐饮行业发展的关键问题。在餐饮管理中餐饮业务流程以及餐厅基本信息管理混乱在一定程度上也影响了餐饮行业的发展。本案例针对餐饮行业中存在的问题,提出了基于推荐算法的智慧餐饮系统的设计思想,并对其进行了实现。

系统中采用的推荐算法是基于协同过滤的思想,针对其处理稀疏数据能力差、可扩展性差这两个影响推荐质量的关键问题,提出了一种基于SVD与GSOM的协同过滤推荐算法。其主要思想是首先通过采用SVD矩阵分解,实现对稀疏原始数据的降维与填充;其次运用改进的GSOM聚类的方法将相似用户进行聚类,从而达到缩小近邻用户搜索范围的目的;最后通过引入时间衰减因子对用户的相似度量进行修正,再通过近邻用户的评分与修正的相似度量对目标用户进行评分预测与推荐。

系统整体架构图如图8-14所示,从系统的结构设计图中可以看出,用三层架构设计,分别为UI交互层、逻辑处理层以及网络交互层。

图8-14 系统整体架构图

服务器架构上,采用了4层架构,分别为服务代理、路由模块、后台处理模块以及数据存储模块。服务器代理采用Nginx+uwsgi架构,对网络请求实现转发至后台。整体后台处理框架采用Django服务器框架,分为路由模块与后台处理模块。路由模块采用正则表达式把不同功能的服务请求进行划分路由至后台处理中的处理函数,并对静态资源进行整理,划分专门的路由接口实现静态资源的访问,实现功能服务的功能路由。后台处理功能,划分为业务处理以及日志采集两部分。日志采集模块是对用户的反馈信息实现采集,通过后台采集处理流程,采用Mysql结合Redis集群对不同的用户反馈行为进行分类采集记录。业务处理根据功能分为两大部分,一部分是实现餐饮的业务流程,一部分是实现餐饮的推荐服务。餐饮业务通过路由功能对不同功能需求的请求路由至需求的后台处理函数上,实现餐饮业务的处理,并对处理结果在服务器上实现持久化存储。推荐服务主要实现对登录用户的推荐信息列表推送,通过服务器对Redis集群的连接,对不同的访问用户提供对应的推荐列表信息,通过Json数据形式发送到手机App实现用户的推荐列表信息的展示。数据存储模块采用了Redis集群以及Mysql关系型数据库对服务器的处理结果与数据模型实现持久化存储功能。

离线计算模块采用Peewee+Redis集群+shelve架构,通过数据收集与数据数值化对不同用户的各类反馈行为进行收集,生成用户评价矩阵,之后采用本文提出的基于SVD与GSOM的协同过滤推荐算法对用户数据进行数据挖掘,提取出用户的推荐信息,最后传输到Redis集群中形成推荐列表,在用户登录访问时为用户提供推荐服务。