您现在的位置: 新晨 >> 设计论文 >> 深化设计论文 >> 正文

浅谈餐厅群体推荐模型与系统设计

2019/06/19 阅读:

摘要:在“互联网+”时代,消费者外出就餐时更多的倾向于通过美食类网站或者APP选择餐厅。但在群体外出就餐时如何高效、迅速地找到大部分人满意的餐厅给现有的餐厅推荐系统带来了新的挑战。文章从社交网络的角度,在分析餐厅群体就餐信息的基础上,构建了基于协同过滤算法的餐厅推荐模型,在此基础上提出了餐厅群体推荐系统设计方案。融合社交网络的餐厅群体推荐算法显著提高了群体推荐的效率,基于此设计的系统实现了推荐餐厅排序、就餐攻略分享、就餐体验评价等功能。

关键词:社交网络;群体推荐系统;餐厅;系统设计

1概述

在经济快速发展的“互联网+”时代,人们更加注重生活的品质,外出就餐的次数增多,对餐厅的要求也进一步提升,人们更倾向于通过美食类网站或APP选择合适的餐厅。然而,已有的餐厅推荐工具(如:美团、大众点评等)大多针对个人用户,无法满足群体外出聚餐情景下的推荐需求,推荐结果不能让聚餐群体达成满意的共识。随着社交网络的普及和发展,人们习惯于在社交网络上分享衣食住行,于是,基于社交网络推荐餐厅成为可能,张重骐[1]对推荐系统的需求分析与再设计是基于社交网络模型的进行的。相比于简单加权处理的群体推荐,基于社交网络的餐厅群体推荐系统更能从用户的行为数据中挖掘出用户的价值,创造经济利益。此外,基于社交网络的餐厅群体推荐系统还有以下优点:第一,基于社交网络的餐厅群体推荐系统可以根据用户的社交圈给用户提供他更感兴趣更信任的餐厅信息/评价内容,例如信息内容、评价的者不同用户的信任度和主观满意度也不同。第二,基于社交网络的餐厅群体推荐系统中可以挖掘出更深层次的用户关系,所有用户在此系统中的关系形成一张网,产生群聚效应。例如根据共同好友的多少分析单个用户之间的交集,推荐他们共同感兴趣的餐厅信息。第三,基于社交网络的餐厅群体推荐系统推荐效率更高。随着系统内用户增长,得到推荐结果的时间也会增加,但基于社交网络的群体餐厅推荐系统可以利用用户的关系网划分用户的等级,减少时间成本。多数个人推荐系统使用的推荐算法为协同过滤算法,对群体推荐算法的研究也已经起步。协同过滤算法可分为以用户为基础的协同过滤、以项目为基础的协同过滤、以模型为基础的协同过滤。基于用户的协同过滤首先收集用户信息,主要是用户的评分和历史浏览记录,其次,寻找与用户评分高、浏览次数多的相似物品,最后根据相似度从高到低排序形成推荐集合向用户进行展示。Castro等提出了共识驱动的群体推荐决策模型,并探讨了其在向群体用户推荐电影中的应用。李汶华等[2]提出了一种基于案例推理和协商的群体推荐决策模型。王茜等[3]提出了一种考虑群体用户接受度及相似度的群体推荐决策模型。陈侠和樊治平[4]通过定义有关区间数决策矩阵的区间数向量,给出了决策个体与群体判断的共识性分析方法和基于区间数决策矩阵的群体判断共识性的判别方法。当群体外出就餐时,群体满意度不高的原因是选择餐厅产生分歧时处理分歧的随意性。群体用户在选择餐厅出现分歧,最终的选择一般都是随机法或者是群体中的一个或极少数人决定的,选择的餐厅受随机因素的影响较大,整个群体的就餐满意度并不高。然而,现有的餐厅推荐系统大多只能针对个体进行推荐,不能很好地解决这个问题。因此,需要一个客观而科学的群体就餐推荐系统,通过科学理性的运算来平衡就餐者之间的口味偏好、餐馆的人均价格和距离远近等因素,提高人们的就餐满意度。本文基于社交网络对用户的需求进行了分析,构建了基于协同过滤算法的餐厅推荐模型,对餐厅群体推荐系统重新解读,提出了一种基于社交网络的餐厅群体推荐系统的总体设计与详细设计方案。本设计可以实现基于社交网络来进行餐厅推荐,并解决现有餐厅个人推荐系统在为群体用户进行推荐时群体共识度不高的问题。

2社交网络下餐厅群体推荐系统的用户信息需求分析

群体餐厅推荐系统有两个面向群体,一个是选择餐厅的用户,另一个是在本系统上展示餐厅的商家。本系统能利用社交网络的优势,更好的为用户推荐适合的餐厅。本部分首先对社交网络进行介绍,其次分析了社交网络下餐厅群体推荐系统的用户信息需求。

2.1社交网络

传统的推荐系统可以利用的资源有用户行为数据和用户与信息特征,根据用户信息特征推测用户间关系,社交网络直接给出了用户间的关系,推荐结果更加准确。社交网络中利用图谱传递信息,其重要的图谱为关系图谱和兴趣图谱。关系图谱是用户线下关系的线上映射,兴趣图谱是各个用户之间相似兴趣建立起来的[5]。本文的群体推荐系统结合两种图谱,基于好友进行推荐,同时可以发现兴趣相同的附近的人,建立新的用户线上关系。基于社交网络的群体推荐系统增加了用户对推荐结果的信任度。

2.2餐厅群体推荐的信息需求分析

本部分对餐厅群体推荐的信息需求进行分析,根据调研结果,用户对餐厅推荐系统的信息需求如下表1。当问及“您希望此系统产生推荐时包含哪方面的信息”时,80.49%的被访者希望系统具有餐厅价格对比的信息,60.98%的被访者希望系统具有就餐攻略的信息,58.54%的被访者希望系统具有用户评价的信息,51.22%的被访者希望系统具有自己所在地点和餐厅距离远近的信息,43.90%的被访者希望系统具有餐厅排行的信息。统计数据总体说明餐厅的消费高低是消费者最关心的问题。系统的价格对比的信息可以使用户根据群体的收入范围来选择更适合本群体的餐厅,能够提高每个用户的满意度;就餐攻略的信息可以使用户在分享与接受分享中提升用餐体验;用餐评价信息可以使其他用户知道每一个用户的个人满意度和此群体在某餐厅就餐之后群体的满意度,据此来更好的做出选择;距离远近的信息可以使用户更好的根据自己的时间选择合适距离的餐厅,乘坐合适的交通工具出行,更加提高了时间的有效利用率;用户可以根据餐厅排行信息更好选择自己没去过但是可能符合自己期待的信息。在社交网络上,餐厅价格对比的信息被公开的展示在系统推荐界面上,信息不对称的情况减少;就餐攻略和用户评价等信息能够更快速的在用户间传播,用户在选择餐厅时可以根据这些可信度更高的、主观的用户信息进行选择;餐厅排行信息提供了餐厅的客观优势。

3基于协同过滤算法的餐厅推荐系统模型构建

本系统首先确定用户的权重,在将用户划分相似簇,利用基于用户的协同过滤算法,建立多目标决策模型,提高了推荐准确度。

3.1用户在群体中的权重确定

在社交网络中,孤立的用户极少存在,用户之间都有一定的熟识程度[7](信任度),熟识度通过社交网络中的图谱判断。群体共n个用户中某一用户为i,此用户对群体中其他用户的信任度之和为Ti,群体中所有用户到群体其他用户的信任度之和为:

3.2相似用户簇划分

利用群组功能,将一起就餐的用户划分为一组。将就餐群体中的用户根据用户注册时选择的口味偏好标签分类,口味偏好相似度高的用户合并为一簇,将此就餐群体分为2~4簇。每一用户簇重新聚合口味偏好,其权重相当于簇中每个成员的权重之和。假设共m簇,第k个簇中的用户数为nK,其中第i个用户对应的权重为wik,则该簇的权重为:3.3推荐列表聚集利用以用户为基础的协同过滤算法,即用相似度度量方法得到目标用户簇的最近邻居[6],产生每一相似用户簇的餐厅推荐列表。设用户簇u的最近邻居集合用NNu表示,则用户簇u对项i的预测评分Pu,i,可通过此用户簇对最近邻居集合NNu中项的评分得到,公式如下:3.4推荐项目排序计算出每一簇对此推荐列表中餐厅的模糊偏好关系矩阵,建立多目标决策模型[7]:

4基于社交网络的餐厅群体推荐系统设计

4.1总体设计

本系统采取B/S模式,架构主要分为表示层、业务逻辑层和数据层。系统框架如图1所示。表示层是直接与用户接触的部分,需要有友好的交互界面,使用微信小程序WXML等语言编写。表示层主要包括用户注册登录、信息维护、群组管理等页面,承载了用户交互的重要任务和餐厅推荐结果展示等核心功能。业务逻辑层包括用户和餐厅的信息管理、数据分析与转换、推荐结果计算和推荐模型优化等功能,是支持系统运行的关键部分。作为表示层和数据层之间的连接,业务逻辑层处理用户操作并给出结果,用于表示层的页面展示或数据层的存储。数据层为本系统的运行提供数据存储服务,存储了用户、餐厅、群体、推荐模型等数据,同时记录系统日志,保证系统数据安全。

4.2详细设计

4.2.1流程设计从用户的角度出发,系统主要包含用户信息管理、群组管理、餐厅推荐、评价和反馈等功能,系统数据流图如图2所示。4.2.2数据库设计本系统的数据库包括用户、餐厅、群组等多个表,实体-关系图如图3所示。数据库的关系模式设计如下,共包含8个表:用户(用户名,密码,性别,年龄,地区,头像,个人描述,用餐偏好)餐厅(餐厅号,餐厅名,风格,口味)群组(群组号,群组名,群组类别,推荐方式,群主用户名)攻略(用户名,时间,内容)用户加群(用户名,群组号)推荐记录(群组号,推荐时间,餐厅号,群体评分)评价(用户名,餐厅号,评价时间,评分,评价内容)意见(用户名,提交时间,意见类别,意见内容)

4.2.3系统功能设计本节将对系统应具备的功能进行设计。餐厅群体推荐系统需要包含通用的用户注册登录等基础功能外,还需要实现数据采集处理、群组创建、群体偏好分析、餐厅推荐、攻略分享和反馈等功能。(1)单用户功能设计用户注册功能:新用户初次使用需要注册或使用第三方帐号登录,同时系统展示本系统的欢迎界面,系统展示友好的欢迎界面,请用户填写用户名、密码、性别、年龄等信息,然后使用生动形象的可视选项引导用户完成用餐偏好的采集并存入后台。用户登录功能:已完成注册的用户在使用系统前需要输入用户名密码或使用第三方账号进行登录,验证通过后进入系统。群组功能:本系统面向群体推荐餐厅,需要将个体用户联结形成群组,分析并展示群组的特征。用户可以建立群组并分享邀请码,也可使用邀请码加入已有的群组,还可以使用面对面建群或微信群链接等方式加入群组。攻略分享功能:同城用户可以在平台上分享用餐攻略,分享自己的用餐经历或体验他人的美好用餐回忆。餐厅发现功能:用户点击地图上已登入本系统的餐厅,可以看到餐厅内部实景、评分、口味倾向、用户主观评价以及适合何种群体聚餐等信息,用户也可标注新餐厅并获得奖励。就餐体验评价功能:用户在前往本系统推荐的餐厅用餐后,用户在用餐后对餐厅环境、食物质量、口味等做出评价,并记录用餐满意度,系统通过计算优化在注册时采集的用户用餐偏好信息。个人信息维护功能:用户可以修改更新系统中的个人信息,也可以重新进行用餐偏好采集,使推荐结果更适合自己。意见反馈功能:用户可以向我们反馈意见或建议,包括小程序存在的程序问题、希望添加的功能等。(2)群体用户功能设计群组信息维护功能:用于维护群组信息,可修改群组类别、群组名称,设置群主、管理员等。其中群组类别等的准确设置可以使推荐结果更适合本群体。推荐方式设置功能:用于设置餐厅推荐方式,用户可选择更适合本群体的推荐方式,使推荐结果更令人满意。在每次发起推荐前,可再次选择。数据处理与分析功能:群体用户中有人修改了自己的用餐偏好后,群体的偏好也可能发生变化。为减少推荐时花费的时间,需要进行数据预处理。群体用户发起聚餐时,根据设置的推荐方式以及去过的餐厅等发起参数不同,仍然需要再次处理数据,从而生成推荐结果。餐厅推荐结果展示功能:系统生成推荐结果后,采用简洁、美观、图文并茂的方式展示推荐结果,同事显示用户所关心的距离远近、人均价格、餐厅风格等信息,并根据群体信息和偏好列举推荐原因。推荐结果评价功能:用户在看到推荐结果时、前往餐厅就餐后均可就推荐的餐厅与自身、群体偏好之间的吻合度分别进行评价,评价数据用于推荐方式的优化调整。

5结论

本文分析了在社交网络基础上的群体推荐的信息需求,构建了基于协同过滤的推荐模型,提出了系统的总体设计和详细设计方案。发现用户希望此系统具有餐厅价格对比、就餐攻略、用户评价等信息,社交网络加速了这些信息的传播;社交网络更好展示了用户间的关系,使得基于协同过滤的推荐模型得出的结果更加满足群体用户的期待;基于此的系统设计极大满足了用户的实际需求,提高了推荐结果的准确度和效率。对群体餐厅推荐系统的研究是群体推荐系统的进一步发展,一定程度上加快了餐厅群体推荐系统开发的步伐。

参考文献:

[1]张重骐.基于社交网络模型推荐系统的需求分析与再设计[A].清华大学.设计驱动商业创新:2013清华国际设计管理大会论文集(中文部分)[C].清华大学:清华大学美术学院工业设计系,2013:8.

[2]李汶华,熊晓栋,郭均鹏.一种基于案例推理和协商的群体推荐算法[J].系统工程,2013,7:93-98.

[3]王茜,邓伟伟,喻继军.一种考虑群成员接受度及相似度的群体推荐算法[J].计算机应用研究,2017,34(11):3285-3290,3298.

[4]陈侠,樊治平.关于区间数决策矩阵的专家群体判断共识性研究[J].运筹与管理,2008,17:127-133.

[5]李奕杭,于世东.基于社交网络的群体推荐系统[J].科技创新与应用,2014(15):61.

[6]张雪文.智能推荐系统中协同过滤算法的研究[D].上海交通大学,2008.

[7]赵欣.基于社交网络的群体推荐系统[D].电子科技大学,2013.

作者:刘思宇 陈挺 单位:河海大学

浅谈餐厅群体推荐模型与系统设计

2019/06/19 阅读:

推荐度:

免费复制文章