CN112861008B - 一种基于多用户信息融合和熵的餐厅点餐推荐方法和系统 - Google Patents
一种基于多用户信息融合和熵的餐厅点餐推荐方法和系统 Download PDFInfo
- Publication number
- CN112861008B CN112861008B CN202110224323.9A CN202110224323A CN112861008B CN 112861008 B CN112861008 B CN 112861008B CN 202110224323 A CN202110224323 A CN 202110224323A CN 112861008 B CN112861008 B CN 112861008B
- Authority
- CN
- China
- Prior art keywords
- dishes
- user
- dish
- entropy
- same table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000004927 fusion Effects 0.000 title claims abstract description 38
- 239000011159 matrix material Substances 0.000 claims abstract description 36
- 235000012054 meals Nutrition 0.000 claims abstract description 27
- 238000012216 screening Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 32
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 6
- 235000021158 dinner Nutrition 0.000 claims description 6
- 235000013305 food Nutrition 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 238000009826 distribution Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 235000005911 diet Nutrition 0.000 description 2
- 230000000378 dietary effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000010794 food waste Substances 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000000172 allergic effect Effects 0.000 description 1
- 208000010668 atopic eczema Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了基于多用户信息融合和熵的餐厅点餐推荐方法和系统。其中,该方法包括获取历史点菜数据和权值信息,生成加权频繁模式树,确定出菜品和菜品、菜品数量和用餐人数之间的关联规则;接收同一桌号下的每个用户的菜品喜好信息,基于加权频繁模式树、熵和相似度的推荐矩阵,计算出向同一桌号下的每个用户推荐菜品的候选子集;接收同一桌号下的每个用户的属性信息并构建用户不相容度矩阵,将同一桌号下所有候选子集取并,重合菜品增益值相加,按照增益值由大到小排序菜品,再根据用户不相容度矩阵剔除不相容度超出预设阈值的菜品,筛选出增益值最高的且与当前用户数量相匹配的菜品数量作为最终推荐菜品集合,并向同一桌号下所有用户同步推荐。
Description
技术领域
本发明属于机器学习及信息处理技术领域,尤其涉及一种基于多用户信息融合和熵的餐厅点餐推荐方法和系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着信息技术的发展和推荐算法的不断改进,丰富的个性化推荐方案已经渗透到人们生产生活的各个领域。目前用在餐厅中的菜品推荐算法,都是基于单人用餐的推荐,但在实际就餐场景中,同桌用餐的人数大部分至少两人,基于单人用餐的推荐方案显然不具有实际意义。
传统的推荐算法主要有基于内容的推荐算法、基于协同过滤的推荐算法、混合推荐等,在餐饮行业常用的有诸如兴趣感知选择算法、通过建立用户兴趣模型与餐厅位置的协同过滤算法。在后来提出的基于关联度的菜品推荐算法中,首次引入FP-Tree(FrequentPattern tree频繁模式树),在此基础上又出现混合推荐算法,通过历史就餐数据推理出菜品的关联度和相似度等,通过前两部分的结果整合出最终的菜品推荐规则进行推荐,但是这种推荐模型在构建时,很大程度上基于菜品相似度,这就会导致相似度越高的物品越容易得到推荐。然而通常情况下人们在点餐时,对同一桌菜品不只涉及一类菜品,而是考虑菜品的多样性。另外发明人发现,仅仅基于现有历史数据的推荐模型的构建,推荐准确性会随着时间推移和数据量的增大而逐渐下降,因此对菜品的推荐模型仍要考虑实时更新的问题。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种基于多用户信息融合和熵的餐厅点餐推荐方法及系统,其能够通过推荐模型为用户输出适量的个性化菜单,不仅能够弥补现有推荐算法的不足,而且还能够在很大程度上避免出现严重的粮食浪费问题,填补混合推荐算法在多人用餐场景中应用的空白。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种基于多用户信息融合和熵的餐厅点餐推荐方法。
一种基于多用户信息融合和熵的餐厅点餐推荐方法,包括:
获取历史点菜数据和权值信息,生成加权频繁模式树,确定出菜品和菜品、菜品数量和用餐人数之间的关联规则,所述权值信息为携带用餐人数的权重值;
接收同一桌号下的每个用户的菜品喜好信息,基于加权频繁模式树、熵和相似度的推荐矩阵,计算出向同一桌号下的每个用户推荐菜品的候选子集。其中,每个推荐菜品都携带有增益值信息;
接收同一桌号下的每个用户的属性信息并构建用户不相容度矩阵,将同一桌号下所有候选子集取并,重合菜品增益值相加,按照增益值由大到小排序菜品,再根据用户不相容度矩阵剔除不相容度超出预设阈值的菜品,筛选出增益值最高的且与当前用户数量相匹配的菜品数量作为最终推荐菜品集合,并向同一桌号下所有用户同步推荐。
进一步地,所述基于多用户信息融合和熵的餐厅点餐推荐方法,还包括:
接收参与点餐的用户对点过的菜品的反馈信息和基于反馈信息更新加权频繁模式树。
进一步地,通过两次扫描历史点菜数据和权值信息来构建加权频繁模式树。
进一步地,第一次扫描统计所有历史菜品的使用情况,构建一张用菜品ID和用餐人数作为唯一键值的头表(Header Table),头表第二列的值表示对应第一列键值出现的次数;第二次扫描遍历历史点菜数据,以维护一个指针指向加权频繁模式树中的对应节点。
进一步地,加权频繁模式树中每条路径的深度视作用户点餐推荐数量上限。
进一步地,在计算出向同一桌号下的每个用户推荐菜品的候选子集的过程中,假设有M个不同的菜品,给定非负整数K,K表示菜品组合的总数;首先构建基于熵和相似度的目标函数f(M),其中,评分函数R(M)代表用户对M中所有菜品的喜好程度,g(M)代表集合M中所有菜品的多样化程度,α代表熵的正则化常数,α>0;再采用贪心近似算法求解目标函数得到最优解加入候选集合,直至达到用户点餐推荐数量上限。
进一步地,将同一桌号下所有候选子集取并之前,还包括对同一子集的所有增益值信息进行归一化处理。
本发明的第二个方面提供一种基于多用户信息融合和熵的餐厅点餐推荐系统。
一种基于多用户信息融合和熵的餐厅点餐推荐系统,包括:
加权频繁模式树生成模块,其用于获取历史点菜数据和权值信息,生成加权频繁模式树,确定出菜品和菜品、菜品数量和用餐人数之间的关联规则;所述权值信息为携带用餐人数的权重值;
候选子集计算模块,其用于接收同一桌号下的每个用户的菜品喜好信息,基于加权频繁模式树、熵和相似度的推荐矩阵,计算出向同一桌号下的每个用户推荐菜品的候选子集;其中,每个推荐菜品都携带有增益值信息;
多用户信息融合模块,其用于接收同一桌号下的每个用户的属性信息并构建用户不相容度矩阵,将同一桌号下所有候选子集取并,重合菜品增益值相加,按照增益值由大到小排序菜品,再根据用户不相容度矩阵剔除不相容度超出预设阈值的菜品,筛选出增益值最高的且与当前用户数量相匹配的菜品数量作为最终推荐菜品集合,并向同一桌号下所有用户同步推荐。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于多用户信息融合和熵的餐厅点餐推荐方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于多用户信息融合和熵的餐厅点餐推荐方法中的步骤。
与现有技术相比,本发明的有益效果是:
本发明的基于多用户信息融合和熵的餐厅点餐推荐方法,将将同一桌号下所有候选子集取并集进行多用户信息融合的推荐,不仅考虑单个用户的偏好,更适合多人就餐场景下的菜品推荐;而且菜品推荐时,考虑推荐菜品的复杂度,在保证用户喜好的前提下,引入熵的概念,求解单个用户的推荐子集时获得最具菜品多样性的菜品集合,提高了菜品推荐的精准度。
本发明还基于每个用户的属性信息构建用户不相容度矩阵,首次提出不相容度的概念,在对多用户的菜品进行融合时,剔除超出任意用户不相容度的菜品,大程度保证了用户体验。
本发明基于加权频繁模式树,挖掘出了菜品和菜品、菜品数量和用餐人数之间的关联规则,从而提出了控制点餐数量的就餐方案,杜绝了浪费。
本发明还接收参与点餐的用户对点过的菜品的反馈信息,进一步基于反馈信息更新加权频繁模式树,以提高菜品推荐的精准性及用户体验度。
本发明附加方面的优点将在下面的描述中部分给出,部分优点将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例的基于多用户信息融合和熵的餐厅点餐推荐方法流程图;
图2是本发明实施例的客户端应用软件功能框图;
图3是本发明实施例的推荐流程框图;
图4是本发明实施例的客户端应用软件操作流程框图;
图5是本发明实施例的推荐算法构建流程图;
图6是传统FP-Tree数据结构图;
图7是构建WFP-Tree的原始数据集实例;
图8是WFP-Tree数据结构图;
图9是多用户信息融合流程图;
图10是构建的WFP-Tree头表。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
如图1所示,本实施例提供了一种基于多用户信息融合和熵的餐厅点餐推荐方法,包括:
S101:获取历史点菜数据和权值信息,生成加权频繁模式树,确定出菜品和菜品、菜品数量和用餐人数之间的关联规则;所述权值信息为携带用餐人数的权重值。
其中,确定出菜品和菜品的关联规则,能够实时更新推荐结果,提高推荐精确度;确定出菜品数量和用餐人数之间的关联规则,能够为不同用餐规模的用户提供不同规模的菜品推荐,有效控制浪费。
本实施例基于WFP-growth(Weighted Frequent Pattern-growth)算法,生成加权频繁模式树WFP-Tree(Weighted Frequent Pattern-tree),进而得到菜品的关联规则。权值信息(Weight Information)指的是携带用餐人数的权重值。
WFP-Tree的构建过程与传统FP-Tree的构建过程类似,通过两次扫描历史数据集,构建加权频繁模式树。
与传统的FP-Tree维护一张只包含物品名称的头表不同,如附图6展示了构建的传统FP-Tree,本发明提出一种整合了用餐人数的WFP-Tree。通过菜品ID和用餐人数组合得到一个唯一确定的值作为头表(Header Table)的第一列,头表第二列的值表示对应第一列键值出现的次数,并维护一个指针指向WFP-Tree中的对应节点。进一步的从WFP-Tree中挖掘出菜品与菜品的关联规则和用餐人数与菜品数量的对应关系。
上述的历史数据集是经过运营人员根据消费情况,或根据专家经验及时修正过的,因此直接代表了对应用餐人数下的最佳历史菜品集。
下面根据附图8介绍构建WFP-Tree的详细步骤:
对于历史点餐数据集的每条点餐数据视为一个事务。原始数据集如附图7所示,每条事务包含菜品集合和用餐人数。
第一次扫描统计所有历史菜品的使用情况,构建一张Header Table,包含两列,键值(Key)列和指针(Pointer)列,Pointer列的值是对应键值的统计数量,表中的每条数据指向WFP-Tree中某一子节点。本发明构建的头表如附图10所示,Header Table中作为Key的一列包含了菜品和用餐人数的信息,为了理解方便用字符串直接拼接的方式展示,实际计算过程中,通过菜品Id和用餐人数进行hash计算,得到唯一确定的值作为Key,并按照Pointer的值降序排列。历史数据集中的每条事务以Header Table的键值顺序排序。
第二次扫描,遍历历史数据集中的每条事务逐步构建WFP-Tree,以NULL作为WFP-Tree的根节点,每条事务看作从根节点延伸出的一条路径,经过相同路径的节点时,节点值+1。以扫描第一条事务为例,经过组合排序后的菜品集合可表示为{B2,A2},此时从根节点延伸出第一个子节点{B2},紧接着{A2}作为{B2}的子节点,第一条事务的路径构建完毕,又因为两个节点只走了一次,因此节点值都是1。进一步的根据上述过程,依次扫描所有事务,构建完整的WFP-Tree。根据本样例中的事务集构建的WFP-Tree如附图8所示。
经过两次扫描后,就构建了针对包含点餐人数的加权频繁模式树,规则挖掘过程与传统频繁模式树的挖掘类似。
规定最小支持度和最小置信度,挖掘菜品关联规则。支持度表示一个菜品组合被选择的概率,及在所有历史点餐数据中某一菜品组合被选择的次数与所有历史点餐次数的比值。当支持度大于某一个设定的阈值时,即可认为该菜品组合为一个频繁项集。支持度表示如下:
Support(X|Y)=σ(X∪Y)/K
其中X|Y表示,当X发生时,Y也发生,σ(X∪Y)表示X和Y同时发生的总次数,K表示菜品组合的总数。
根据前述构建的WFP-Tree,得出如下结论:每条路径的深度视作用户点餐推荐数量上限Q,至此关联规则构建完毕。
S102:接收同一桌号下的每个用户的菜品喜好信息,基于加权频繁模式树、熵和相似度的推荐矩阵,计算出向同一桌号下的每个用户推荐菜品的候选子集;其中,每个推荐菜品都携带有增益值信息。
此步骤的目的是为了计算出菜品推荐评分,进而选出对应单一用户的最优菜品推荐子集。
计算菜品推荐程度矩阵时,引入熵来增大推荐菜品的多样性。在计算菜品推荐评分矩阵时,引入熵来增大推荐多样性。此步骤作为整个推荐算法构建中的子过程,可以将其抽象成如下问题:
构建基于熵和相似度的目标函数f(M):
评分函数R(M)代表用户对M中所有菜品的喜好程度,g(M)代表集合M中所有菜品的多样化程度,α代表熵的正则化常数,α>0。
目标函数的最优解最大限度的考虑了菜品的多样性和用户的喜好程度。为计算目标函数的最优解,根据目标函数公式需要分别构建评分函数R(M)和熵正则化函数g(M),进一步的选取特定参数,构建满足子模性和单调性的目标函数。
下面介绍求解目标函数最优子集的详细计算步骤:
采用概率矩阵分解对菜品的特征矩阵进行估计,菜品评分rM的预测分布表示为:
rM|rΩ,V~x(μM,∑M)
μM=∑MΩ(∑ΩΩ+σe 2I)-1rΩ
∑M=∑MΩ+σe 2I-∑MΩ(∑ΩΩ+σe 2I)-1∑ΩM
其中∑AB表示∑M的子矩阵,其行索引是A,列索引是B,σe 2表示噪声的方差。
评分函数R(M)为集合M中所有菜品的评分期望之和,表示为:
R(M)=1TμM-|M|c
进而可得到评分函数:
R(M)=1TΣMΩ(ΣΩΩ+σe 2I)-1rn-|M|c
进一步的熵正则化函数表示为:
进一步得到:
当菜品集合M中的特征向量互相垂直,且与已经标注过的菜品的特征向量也垂直时,g(M)取得最大值。
根据上述评分函数和熵正则化函数构建的目标函数的求解,采用贪心近似算法得到最优解。
每次迭代选用使得目标函数f(M)得到最大增益的一个物品加入候选集合,加入候选集合的菜品同时携带最大增益值,直至条件满足循环跳出。
通过以上计算针对单个用户就得到了兼顾菜品属性多样性和用户喜好程度的菜品推荐集合M,需要注意的是推荐菜品子集中,每个推荐菜品都携带了增益值信息。
S103:接收同一桌号下的每个用户的属性信息并构建用户不相容度矩阵,将同一桌号下所有候选子集取并,重合菜品增益值相加,按照增益值由大到小排序菜品,再根据用户不相容度矩阵剔除不相容度超出预设阈值的菜品,筛选出增益值最高的且与当前用户数量相匹配的菜品数量作为最终推荐菜品集合,并向同一桌号下所有用户同步推荐。
当有用户绑定餐桌时,此餐桌ID下就新添一行用户信息。用户表中维护了用户的属性矩阵,表征用户的固有属性,包括但不限于宗教、健康状况、忌口、年龄区间等信息。
本实施例首次提出不相容度的概念,进行推荐融合前,根据用户属性列表,构建用户与菜品的不相容度列表。不相容度表征的是用户对某一菜品的不接受程度,例如,用户u对菜品i的原料有过敏或忌口现象,则用户u对菜品i的不相容度就是1。
构建同一桌号下所有用户的不相容度矩阵。如下所示:
由公式可以看出,当同一桌号下的用餐人数增多时,个人针对单一菜品的不相容度会相应削弱。因此符合实际用餐情况,也就是说某一个用户对菜品的影响程度会随用餐人数的不同而有不同的表现。例如,某用户A对菜品X的不相容度为1,用户B、C、D对菜品X的不相容度为0,设系统的不相容度阈值为0.45,那么当A对B两人一起用餐时,此餐桌所有用户对菜品X的不相容度为0.5超过系统阈值,则菜品X被过滤,当A、B、C、D四人一起用餐时,此餐桌所有用户对菜品X的不相容度为0.25,低于不相容度阈值,则菜品X被列入推荐菜品候选集。
根据用户属性列表构建用户与菜品的不相容度矩阵,为多用户信息融合时菜品的剔除作保障。
参照附图9,同一个餐桌ID下,每加入一个新的点餐用户,都针此用户根据步骤S102生成对应的推荐菜品子集。进一步的根据所有用户的推荐菜品子集计算出增益值最高的前Q个菜品,Q就是根据步骤S101推导出的菜品数量上限。实际推荐时,向同一个餐桌ID下的所有用户同步推荐融合后的菜品列表。
对于每个用户的菜品推荐子集表示为:
Mui={(ω:Pω)|ω∈M}
其中ω表示集合M中的菜品,Pω表示菜品ω的增益值,也就是目标函数f(M)根据贪心算法计算最优子集时携带的增益值。
为保证每个用户的推荐菜品具有相同等级的增益值,先对同一子集的所有Pω进行归一化处理。
当用户对不在推荐列表中的菜品进行添加购物车操作时,根据步骤S101的菜品关联规则更新菜品推荐列表。当用户点菜数量超过θQ(0<θ<2)时,按时间顺序对超出部分的菜品进行锁定。锁定菜品被放入此桌号下的锁定池,并开启计时器。
在其他实施例中,如图5所示,所述基于多用户信息融合和熵的餐厅点餐推荐方法,还包括:
接收参与点餐的用户对点过的菜品的反馈信息;
基于反馈信息更新加权频繁模式树。
针对用户反馈,在其他实施例中,还使用基于双层注意力的深度学习机制或迪利克雷算法(LDA算法),挖掘反馈信息中的用户关注热点或改进意见,及时对菜品或餐厅运营管理过程中的不足进行改进。
本实施例的基于多用户信息融合和熵的餐厅点餐推荐方法可以App或是程序的形式加载至客户端中。其中,客户端应用软件功能框图如图2所示。
在客户端软件具体实施流程如下:
参照附图3和图4,用户端应用软件操作流程框图,若用户是首次登陆,需要通过移动端软件输入用户基本信息,考虑到保护用户隐私的相关条例,不涉及用户敏感信息,只考虑宗教、健康状况、忌口、性别、年龄区间等信息,构建用户属性列表。
用户X进行点菜前,需要通过扫描对应餐桌二维码或直接输入桌号,绑定餐桌信息。如果此桌号没绑定过其他用户,用户X被认定为初始用户,需要输入用餐人数。
在给定时间范围T内加入此餐桌的其他用户,自动归入同一桌号。同一桌号下的所有用户的推荐菜品,就是经过多用户信息融合后的推荐菜品。用户可以选用推荐菜单的部分或全部菜品直接进行下单操作,也可以从菜品分类列表中自行选择其他菜品。
同一桌号下的任何用户每进行一次选择菜品并添加购物车的操作,都会通过推荐引擎实时反馈最新推荐结果。
如果此桌号下的菜品达到推荐限度,提示用户若继续点餐可能导致食物浪费问题。当点餐数量达到系统设置的浪费上限时,对超出限制的菜品强制锁单,只有当用餐人数增加或者超出锁单时长后,被锁定的菜品自动释放。
对于释放菜品,支持用户进行下单确认或放弃下单等后续操作。
用户用餐完毕后,可采用线上或线下结账的方式结束此桌号与对应用户的绑定关系。
应用软件保留用户的历史菜品信息,用户可对菜品进行评价,选择最心仪的菜品,也可以直接进行菜品评论反馈用餐意见。
实施例二
本实施例提供了一种基于多用户信息融合和熵的餐厅点餐推荐系统,其包括:
加权频繁模式树生成模块,其用于获取历史点菜数据和权值信息,生成加权频繁模式树,得到菜品和菜品、菜品和用餐人数之间的关联规则;所述权值信息为携带用餐人数的权重值;
候选子集计算模块,其用于基于加权频繁模式树、熵和相似度的推荐矩阵,计算出向同一桌号下的每个用户推荐菜品的候选子集;其中,每个推荐菜品都携带有增益值信息;
多用户信息融合模块,其用于将同一桌号下所有候选子集取并,重合菜品增益值相加,按照增益值由大到小排序菜品,基于用户属性列表构建用户不相容度矩阵以用来剔除不相容度超出预设阈值的菜品,将增益值最高的前设定数量的菜品作为多用户信息融合的推荐菜品集合,并向同一桌号下所有用户同步推荐。
此处需要说明的是,本实施例的基于多用户信息融合和熵的餐厅点餐推荐系统中的各个模块,与实施例一中的基于多用户信息融合和熵的餐厅点餐推荐方法中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的基于多用户信息融合和熵的餐厅点餐推荐方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的基于多用户信息融合和熵的餐厅点餐推荐方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于多用户信息融合和熵的餐厅点餐推荐方法,其特征在于,包括:
获取历史点菜数据和权值信息,生成加权频繁模式树,确定出菜品和菜品、菜品数量和用餐人数之间的关联规则;所述权值信息为携带用餐人数的权重值;
接收同一桌号下的每个用户的菜品喜好信息,基于加权频繁模式树、熵和相似度的推荐矩阵,计算出向同一桌号下的每个用户推荐菜品的候选子集;其中,每个推荐菜品都携带有增益值信息;首先构建基于熵和相似度的目标函数f(M),其中,评分函数R(M)代表用户对M中所有菜品的喜好程度,g(M)代表集合M中所有菜品的多样化程度,α代表熵的正则化常数,α>0,K表示菜品组合的总数;再采用贪心近似算法求解目标函数得到最优解加入候选集合,直至达到用户点餐推荐数量上限;
接收同一桌号下的每个用户的属性信息并构建用户不相容度矩阵,将同一桌号下所有候选子集取并,重合菜品增益值相加,按照增益值由大到小排序菜品,再根据用户不相容度矩阵剔除不相容度超出预设阈值的菜品,筛选出增益值最高的且与当前用户数量相匹配的菜品数量作为最终推荐菜品集合,并向同一桌号下所有用户同步推荐。
2.如权利要求1所述的基于多用户信息融合和熵的餐厅点餐推荐方法,其特征在于,所述基于多用户信息融合和熵的餐厅点餐推荐方法,还包括:
接收参与点餐的用户对点过的菜品的反馈信息;
基于反馈信息更新加权频繁模式树。
3.如权利要求1所述的基于多用户信息融合和熵的餐厅点餐推荐方法,其特征在于,通过两次扫描历史点菜数据和权值信息来构建加权频繁模式树。
4.如权利要求3所述的基于多用户信息融合和熵的餐厅点餐推荐方法,其特征在于,第一次扫描统计所有历史菜品的使用情况,构建一张用菜品ID和用餐人数作为唯一键值的头表,头表第二列的值表示对应第一列键值出现的次数;第二次扫描遍历历史点菜数据,以维护一个指针指向加权频繁模式树中的对应节点。
5.如权利要求1所述的基于多用户信息融合和熵的餐厅点餐推荐方法,其特征在于,加权频繁模式树中每条路径的深度视作用户点餐推荐数量上限。
6.如权利要求1所述的基于多用户信息融合和熵的餐厅点餐推荐方法,其特征在于,将同一桌号下所有候选子集取并之前,还包括对同一子集的所有增益值信息进行归一化处理。
7.一种基于多用户信息融合和熵的餐厅点餐推荐系统,其特征在于,包括:
加权频繁模式树生成模块,其用于获取历史点菜数据和权值信息,生成加权频繁模式树,确定出菜品和菜品、菜品数量和用餐人数之间的关联规则;所述权值信息为携带用餐人数的权重值;
候选子集计算模块,其用于接收同一桌号下的每个用户的菜品喜好信息,基于加权频繁模式树、熵和相似度的推荐矩阵,计算出向同一桌号下的每个用户推荐菜品的候选子集;其中,每个推荐菜品都携带有增益值信息;首先构建基于熵和相似度的目标函数f(M),其中,评分函数R(M)代表用户对M中所有菜品的喜好程度,g(M)代表集合M中所有菜品的多样化程度,α代表熵的正则化常数,α>0,K表示菜品组合的总数;再采用贪心近似算法求解目标函数得到最优解加入候选集合,直至达到用户点餐推荐数量上限;
多用户信息融合模块,其用于接收同一桌号下的每个用户的属性信息并构建用户不相容度矩阵,将同一桌号下所有候选子集取并,重合菜品增益值相加,按照增益值由大到小排序菜品,再根据用户不相容度矩阵剔除不相容度超出预设阈值的菜品,筛选出增益值最高的且与当前用户数量相匹配的菜品数量作为最终推荐菜品集合,并向同一桌号下所有用户同步推荐。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的基于多用户信息融合和熵的餐厅点餐推荐方法中的步骤。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的基于多用户信息融合和熵的餐厅点餐推荐方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110224323.9A CN112861008B (zh) | 2021-03-01 | 2021-03-01 | 一种基于多用户信息融合和熵的餐厅点餐推荐方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110224323.9A CN112861008B (zh) | 2021-03-01 | 2021-03-01 | 一种基于多用户信息融合和熵的餐厅点餐推荐方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112861008A CN112861008A (zh) | 2021-05-28 |
CN112861008B true CN112861008B (zh) | 2022-08-09 |
Family
ID=75990586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110224323.9A Active CN112861008B (zh) | 2021-03-01 | 2021-03-01 | 一种基于多用户信息融合和熵的餐厅点餐推荐方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112861008B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005907A (zh) * | 2015-03-05 | 2015-10-28 | 张良均 | 一种餐饮服务动态菜品智能推荐方法 |
CN106815745A (zh) * | 2016-12-30 | 2017-06-09 | 北京三快在线科技有限公司 | 菜品推荐方法及系统 |
WO2017201920A1 (zh) * | 2016-05-27 | 2017-11-30 | 西华大学 | 基于项目子集事例树的极小非约简关联规则挖掘方法 |
CN107862542A (zh) * | 2017-09-28 | 2018-03-30 | 北京三快在线科技有限公司 | 一种菜品推荐方法和装置 |
CN109102326A (zh) * | 2018-07-15 | 2018-12-28 | 山东工业职业学院 | 一种基于大数据特征分析的云餐饮平台及分析方法 |
CN111160750A (zh) * | 2019-12-23 | 2020-05-15 | 东南大学 | 一种基于关联规则挖掘的配网分析和投资决策方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180174218A1 (en) * | 2016-12-19 | 2018-06-21 | Sap Se | Recommendation optmization with a dynamic mixture of frequent and occasional recommendations |
CN107481119A (zh) * | 2017-08-21 | 2017-12-15 | 贵州西部生态链电子商务有限公司 | 一种基于大数据特征分析的云餐饮平台及分析方法 |
CN108897768B (zh) * | 2018-05-25 | 2022-03-25 | 北京三快在线科技有限公司 | 一种点餐方法及装置,电子设备 |
US11366821B2 (en) * | 2018-05-25 | 2022-06-21 | Salesforce.Com, Inc. | Epsilon-closure for frequent pattern analysis |
CN109544285A (zh) * | 2018-11-13 | 2019-03-29 | 口碑(上海)信息技术有限公司 | 点餐过程的菜品推荐方法及装置 |
-
2021
- 2021-03-01 CN CN202110224323.9A patent/CN112861008B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005907A (zh) * | 2015-03-05 | 2015-10-28 | 张良均 | 一种餐饮服务动态菜品智能推荐方法 |
WO2017201920A1 (zh) * | 2016-05-27 | 2017-11-30 | 西华大学 | 基于项目子集事例树的极小非约简关联规则挖掘方法 |
CN106815745A (zh) * | 2016-12-30 | 2017-06-09 | 北京三快在线科技有限公司 | 菜品推荐方法及系统 |
CN107862542A (zh) * | 2017-09-28 | 2018-03-30 | 北京三快在线科技有限公司 | 一种菜品推荐方法和装置 |
CN109102326A (zh) * | 2018-07-15 | 2018-12-28 | 山东工业职业学院 | 一种基于大数据特征分析的云餐饮平台及分析方法 |
CN111160750A (zh) * | 2019-12-23 | 2020-05-15 | 东南大学 | 一种基于关联规则挖掘的配网分析和投资决策方法 |
Non-Patent Citations (1)
Title |
---|
"基于消费者行为的点餐推荐算法";丁铛,张志飞等;《计算机科学》;20171130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112861008A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Słowiński et al. | Rough-set-based decision support | |
Sánchez et al. | A systematic review of hyper-heuristics on combinatorial optimization problems | |
CN103984721B (zh) | 基于交互式进化优化的图书个性化搜索方法 | |
Nadimi-Shahraki et al. | Cold-start problem in collaborative recommender systems: Efficient methods based on ask-to-rate technique | |
WO2016140697A1 (en) | Increasing interaction between clusters with low connectivity in a network | |
Selke et al. | Pushing the boundaries of crowd-enabled databases with query-driven schema expansion | |
CN109241366B (zh) | 一种基于多任务深度学习的混合推荐系统及其方法 | |
KR101543780B1 (ko) | 동적 사용자 프로필 및 소셜 네트워크 신뢰성을 이용한 전문가 검색 시스템 및 방법 | |
US20200226493A1 (en) | Apparatus and Method for Training a Similarity Model Used to Predict Similarity Between Items | |
CN107563867A (zh) | 一种基于多臂赌博机置信上限的推荐系统冷启动方法 | |
CN110362753A (zh) | 一种基于用户隐式反馈的个性化神经网络推荐方法及系统 | |
CN105787068A (zh) | 基于引用网络及用户熟练度分析的学术推荐方法及系统 | |
Sekozawa et al. | One‐to‐one recommendation system in apparel online shopping | |
Tapia-Rosero et al. | Fusion of preferences from different perspectives in a decision-making context | |
US11874645B2 (en) | Multi-source item creation system | |
Xia et al. | Predicting user replying behavior on a large online dating site | |
Qi et al. | An improved hierarchical genetic algorithm for collaborative optimization of manufacturing processes in metal structure manufacturing systems | |
US11250338B2 (en) | Method for enhancing association rules, apparatus using the same and computer readable medium therefor | |
CN112861008B (zh) | 一种基于多用户信息融合和熵的餐厅点餐推荐方法和系统 | |
CN111159556A (zh) | 一种基于用户好奇心的贝叶斯个性化排序推荐方法 | |
CN112148974A (zh) | 用户养老服务推荐方法以及计算机设备及存储介质 | |
CN109086281A (zh) | 一种基于最近邻协同过滤推荐算法的供应商推荐方法 | |
Yang et al. | An ordinal scale-based GDM approach to prioritize customer requirements in QFD product planning | |
Kabir | Data mining framework for generating sales decision making information using association rules | |
Szela̧g et al. | Rule‐based approach to multicriteria ranking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |