一种基于特定人群的排菜方法、系统及存储介质与流程
未命名
10-09
阅读:93
评论:0

1.本技术涉及排菜技术领域,特别涉及一种基于特定人群的排菜方法、系统及存储介质。
背景技术:
2.健康是人类生活永恒的追求,特别是在人们生活水平不断提高、资讯极度发达的今天,健康的意识已经渗透到人们生活的方方面面。饮食健康已成为一种趋势,是人体健康的重要环节,是快乐生活的重要组成部分。新鲜的食材、健康的烹饪方法和合理的饮食搭配等都直接影响人们的健康生活。然而术业有专攻,非研究营养学方面的人们一般无法合理完成饮食搭配工作,所以为了能够响应人们生活水平的号召,需要研制一种排菜方法来帮助人们进行健康饮食。
3.目前,现有的排菜首先将菜品样本入库,并将菜品营养成分信息存储,获得菜品营养情况。然后菜品入库后,提取菜品特征,并将提取的特征与库中已有的菜品特征进行比对,获取菜品特征相似度,将特征相似的菜品标记,使特征相似的菜品不在同一天出现。再然后利用菜品识别记录取餐结果,以周期为时间节点,将取餐结果进行数据分析,得出热销菜品名称。接着结合菜品营养成分分析,计算出菜品内销售菜品的能量。最后通过热销菜、菜品营养状态和菜品特征相似度三个维度推荐出每次菜谱。
4.上述虽然融合菜品识别、食物营养分析和销售情况进行智能排菜,在尽量保证菜品不会浪费的情况下保证营养的均衡,从而一方面提高菜品识别的准确率,将容易识别错的菜品分开,保证识别结果更准确;另一方面减少出现大量菜品无人购买造成浪费的情况。但是现有排菜方法并没有充分考虑到患有糖尿病、三高、癌症等慢性疾病的特定人群,毕竟患有慢性疾病的人群更需要注重健康饮食,不能因饮食造成对病情的不利影响。若使用现有排菜方法对上述特定人群进行排菜,会根据历史的热销菜品来指导后续的排菜工作。然而特定人群中的人员并不是固定不变的,根据历史的热销菜品来指导新的排菜,可能导致得到的排菜结果并不是合理的排菜结果,造成排菜结果的不合理性。
技术实现要素:
5.为了提高排菜结果的合理性,本技术实施例提供了一种基于特定人群的排菜方法、系统及存储介质。
6.第一方面,本实施例提供了一种基于特定人群的排菜方法,所述方法包括:获取人群信息和每种类型的菜品比例,基于所述人群信息中的就餐人员数量和所述菜品比例,以获得就餐人员一天需要的每种类型对应的总菜品数量;获取就餐人员的三餐比例和日摄入营养素值,将日摄入营养素值和所有总菜品数量按照三餐比例进行划分,以得到每餐对应的次营养素值以及每种类型的次菜品数量;获取预设的菜品数据库中每个菜品在单位重量下对应的参考营养素值,基于所述人群信息中的疾病信息和所述参考营养素值对所述菜品数据库中每个菜品进行打分,以得
到每个菜品对应的分数;基于每种类型的次菜品数量和所述分数,以确定每餐对应的菜品名称;基于所述就餐人员数量和所述次营养素值确定每个菜品对应的重量。
7.在其中的一些实施例中,所述类型包括全荤类型、半荤类型和全素类型,获取每种类型的菜品比例包括:获取人群信息中的疾病信息,基于所述疾病信息判断就餐人群对荤素的需求是否对等,若对等,将常规菜品比例确定为每种类型的菜品比例,其中,常规菜品比例表征日常生活中默认的一种分配全荤菜品、半荤菜品和全素菜品的比例,常规菜品比例对应的类型依次为全荤类型、半荤类型和全素类型;若不对等,获取就餐人群对荤素需求的需求差值,基于所述需求差值调整常规菜品比例以得到每种类型的菜品比例。
8.在其中的一些实施例中,获得就餐人员一天需要的每种类型对应的总菜品数量包括:基于就餐人员数量获取所述就餐人员日需要的所有菜品的日菜品数量;分别将所述菜品比例中每一个类型对应的数值除以所述菜品比例中所有数值之和,以得到每种类型对应的比值;使每个类型对应的比值统一乘以所述日菜品数量,以得到每个类型对应的初始总菜品数量;判断所有初始总菜品数量是否都为整数,若都为整数,每个类型对应的初始总菜品数量就是就餐人员一天需要的每种类型对应的总菜品数量;若至少一个不是整数,基于所述菜品比例和常规菜品比例获得所述菜品比例的偏向类型,基于所述偏向类型和日菜品数量调整初始总菜品数量以得到每种类型对应的总菜品数量,其中,每种类型对应的总菜品数量都是整数。
9.在其中的一些实施例中,基于所述偏向类型和日菜品数量调整初始总菜品数量以得到每种类型对应的总菜品数量包括:根据所述偏向类型将所述类型划分为与所述偏向类型处于直接关联的直接类型、与所述偏向类型处于间接关联的间接类型,以及与所述偏差类型处于对立关联的对立类型;将所述直接类型对应的初始总菜品数量进行向上取整,以得到所述直接类型对应的总菜品数量;将所述对立类型对应的初始总菜品数量进行向下取整,以得到所述对立类型对应的总菜品数量;将所述日菜品数量减去取整后的直接类型和对立类型对应的总菜品数量,以得到间接类型对应的总菜品数量。
10.在其中的一些实施例中,菜品包括应季菜品和非应季菜品,基于所述人群信息中的疾病信息和所述参考营养素值对所述菜品数据库中每个菜品进行打分包括:依次判断每个菜品中是否为应季菜品,若否,将所述菜品记为零分;若是,获取每个疾病信息对应的子分数,每次判断一个应季菜品对应的参考营养素值是否落入每个疾病信息的接收范围,若落入,所述应季菜品接收所述疾病信息对应的子分数;
若没有落入,获取所述参考营养素值与接收范围之间的预警比值,基于所述预警比值调整所述疾病信息对应的子分数,所述应季菜品接收所述疾病信息对应的调整后子分数;将所述应季菜品接收每个疾病信息对应的子分数进行相加,以得到所述应季菜品对应分数;判断是否得到所述菜品数据库中每个菜品对应的分数,若否,继续判断下一个应季菜品对应的参考营养值是否落入每个疾病信息的接收范围。
11.在其中的一些实施例中,所述获取就餐人员的三餐比例包括:获取就餐人员每天的就餐时间,判断所述就餐时间是否符合科学就餐时间,若符合,将科学就餐时间对应的三餐比例确定为就餐人员的三餐比例;若不符合,获取不符合科学就餐时间所对应的餐名,基于所述餐名获得所述餐名对应的参考时间与相邻餐名对应的关联时间,通过所述参考时间和所述关联时间获得时间差值,通过时间差值调整科学就餐时间对应的三餐比例,以得到就餐人员的三餐比例。
12.在其中的一些实施例中,每个菜品都对应一种类型,所述确定每餐对应的菜品名称包括:获取每个菜品对应的类型,将同一类型菜品对应的分数划分为一个分数组,其中,每个分数组对应有唯一确定的类型;从分数组中获取与所述分数组属于同一类型的总菜品数量个目标分数,基于所述目标分数获取所述目标分数对应的目标菜品;按照每餐对应的每种类型的次菜品数量,从属于同一类型的目标菜品中获得所述类型在每餐对应的菜品名称,其中,每餐对应的菜品名称都不同,属于同一餐的所有类型对应的菜品名称为该餐对应的菜品名称。
13.第二方面,本实施例提供了一种基于特定人群的排菜系统,所述系统包括:日处理模块、次处理模块、分数模块、菜品名称模块和菜品重量模块;其中,所述日处理模块用于获取人群信息和每种类型的菜品比例,基于所述人群信息中的就餐人员数量和所述菜品比例,以获得就餐人员一天需要的每种类型对应的总菜品数量;所述次处理模块用于获取就餐人员的三餐比例和日摄入营养素值,将日摄入营养素值和所有总菜品数量按照三餐比例进行划分,以得到每餐对应的次营养素值以及每种类型的次菜品数量;所述分数模块用于获取预设的菜品数据库中每个菜品在单位重量下对应的参考营养素值,基于所述人群信息中的疾病信息和所述参考营养素值对所述菜品数据库中每个菜品进行打分,以得到每个菜品对应的分数;所述菜品名称模块用于基于每种类型的次菜品数量和所述分数,以确定每餐对应的菜品名称;所述菜品重量模块用于基于所述就餐人员数量和所述次营养素值确定每个菜品对应的重量。
14.在其中的一些实施例中,所述类型包括全荤类型、半荤类型和全素类型,所述日处理模块在获取每种类型的菜品比例包括:获取人群信息中的疾病信息,基于所述疾病信息判断就餐人群对荤素的需求是否对等,若对等,将常规菜品比例确定为每种类型的菜品比例,其中,常规菜品比例表征日常
生活中默认的一种分配全荤菜品、半荤菜品和全素菜品的比例,常规菜品比例对应的类型依次全荤类型、半荤类型和全素类型;若不对等,获取就餐人群对荤素需求的需求差值,基于所述需求差值调整常规菜品比例以得到每种类型的菜品比例。
15.第三方面,本技术实施例提供了一种存储介质,其上存储有能在处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的一种基于特定人群的排菜方法。
16.通过采用上述方法,本技术先通过就餐人员报名或者逐一询问的方式获取到人群信息,以及结合就餐人员的疾病信息在常规菜品比例的基础上进行调整来得到菜品比例,使得调整后的菜品比例能够更合理地使用当前就餐人群。然后使用更合理的人群信息和菜品比例,得到的就餐人员一天需要的每种类型对应的总菜品数量也就相对合理。另外,结合就餐时间在科学就餐时间对应的三餐比例的基础上进行调整来得到就餐人员实际的三餐比例,这样不仅仅将就餐人员内的三餐比例局限为科学就餐时间对应的三餐比例,而是根据就餐人员的实际就餐时间就三餐比例进行相应的调整,使得调整后的三餐比例也更适用于就餐人员,提高三餐比例的合理性。以及获取日摄入营养素值,这样将日摄入营养素值和所有总菜品数量按照三餐比例进行划分,得到的每餐对应的次营养素值以及每种类型的次菜品数量也相对合理。接着结合每个菜品在单位重量下对应的参考营养素值,使用人群信息中的疾病信息和参考营养素值对菜品进行打分,得到每个菜品对应的分数。接着根据种类型的次菜品数量和分数,以确定每餐对应的菜品名称。由于次菜品数量相对合理,使得确定的每餐对应的菜品名称也相对合理。最后再基于就餐人员数量和次营养素值确定每个菜品对应的重量。这样在得到合理的菜品名称后,也通过使用合理的次营养素值也得到相应合理的菜品重量,提高整体排菜结果的合理性。
附图说明
17.图1是本实施例提供的一种基于特定人群的排菜方法框图。
18.图2是本技术实施例提供的获取每种类型的菜品比例框图。
19.图3是本技术实施例提供的获得就餐人员一天需要的每种类型对应的总菜品数量框图。
20.图4是本技术实施例提供的基于偏向类型和日菜品数量调整初始总菜品数量以得到每种类型对应的总菜品数量框图。
21.图5是本技术实施例提供的获取就餐人员的三餐比例框图。
22.图6是本技术实施例提供的基于人群信息中的疾病信息和参考营养素值对菜品数据库中每个菜品进行打分框图。
23.图7是本技术实施例提供的确定每餐对应的菜品名称框图。
24.图8是本实施例提供的一种基于特定人群的排菜系统框架图。
具体实施方式
25.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。然而,本领域的普通技术人员应该明白,可以在没有这些细节的情况
下实施本技术。对于本领域的普通技术人员来说,显然可以对本技术所公开的实施例作出各种改变,并且在不偏离本技术的原则和范围的情况下,本技术中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本技术不限于所示的实施例,而是符合与本技术所要求保护的范围一致的最广泛范围。
26.下面结合说明书附图对本技术实施例作进一步详细描述。
27.营养素为维持机体繁殖、生长发育和生存等一切生命活动和过程,需要从外界环境中摄取的物质。营养素必须从食物中摄取,能够满足机体的最低需求,即生存。来自食物的营养素种类繁多,根据其化学性质和生理作用可将营养素分为蛋白质、脂类、碳水化合物、维生素、矿物质、膳食纤维和水这七大类。其中,营养素值为每单位重量的食材中所包含每类营养素值对应的数值。比如,一个物质a的营养素值为蛋白质a1g、脂类a2g、碳水化合物a3g、维生素a4g、矿物质a5g、膳食纤维a6g和水a7g。
28.图1是本实施例提供的一种基于特定人群的排菜方法框图。如图1所示,一种基于特定人群的排菜方法包括以下步骤:步骤s100,获取人群信息和每种类型的菜品比例,基于人群信息中的就餐人员数量和菜品比例,以得到就餐人员一天需要的每种类型对应的总菜品数量。
29.上述人群信息只针对就餐的特定人群,人群信息包括就餐人员数量和每个就餐人员对应的疾病信息。对于餐饮商来说,该餐饮商会通过就餐人员报名或者逐一询问的方式在每天傍晚或者晚上录入第二天需要到该餐饮商处进行就餐的人群信息,从而使得该餐饮商设置的基于特定人群的排菜系统获取到人群信息。本实施例基于特定人群的排菜方法针对多个人员,结合多个人员整体的情况进行排菜,而非单个人员。
30.另外,荤素搭配可以保证人体获得均衡、全面的营养。考虑到菜品需要荤素搭配,餐饮商在准备第二天的菜品时会安排全荤类型、半荤类型和全素类型这三种类型的菜品。待确定菜品类型后,还需要合理安排这三种类型之间的比例。图2是本技术实施例提供的获取每种类型的菜品比例框图。如图2所示,获取每种类型的菜品比例框图包括以下步骤:步骤s101,获取人群信息中的疾病信息,基于疾病信息判断就餐人群对荤素的需求是否对等,若对等,将常规菜品比例确定为每种类型的菜品比例,其中,常规菜品比例表征日常生活中默认的一种分配全荤菜品、半荤菜品和全素菜品的比例,常规菜品比例对应的类型依次为全荤类型、半荤类型和全素类型。
31.步骤s102,若不对等,获取就餐人群对荤素需求的需求差值,基于需求差值调整常规菜品比例以得到每种类型的菜品比例。
32.上述疾病信息包括表征人员所患疾病的疾病名称,以及该疾病名称对应在饮食上对至少某类营养素的日限值。比如,一个疾病信息中的疾病名称为糖尿病,相应在饮食上对碳水化合物的日限值为130g。其中,疾病名称为三高的疾病在饮食上需要对脂类和碳水化合物进行控制,疾病名称为癌症的疾病在饮食上需要全面摄入这七大营养素。食用糖口的菜品会增加患有慢性疾病这类特定人群的身体负担,因此本技术实施例中涉及到的菜品中不包括糖口的菜品。这样每种类型的菜品中都含有少量的碳水化合物,正常食用菜品并不会达到碳水化合物的限值。若人群信息中的疾病信息不包括三高这一疾病名称,表征就餐人群对荤素的需求是对等的,表明就餐人群对荤素的需求是平等的,不需要对现有制定的常规菜品比例进行调整,即全荤类型、半荤类型和全素类型这三种类型的菜品数量之间的
菜品比例就是常规菜品比例。该常规菜品比例就是日常生活中默认的一种分配全荤菜品、半荤菜品和全素菜品的比例,该常规菜品比例一般默认为是1:1:1,对应的类型依次为全荤类型、半荤类型和全素类型。
33.若人群信息中的疾病信息包括三高这一疾病名称,表征就餐人群对荤素的需求不对应,为了能够使得每种类型的菜品比例能够更合理地适用当前就餐人群,需要将常规菜品比例中全素类型对应的数值除以所有类型对应的数值总和,以得到全素类型在常规菜品比例中的常规比值。获取三高人员对全荤类型、半荤类型和全素类型的三高比例,将三高比例中全素类型对应的数值除以该三高比例中所有的数值总和,以得到全素类型在三高比例中的三高比值。使三高比值减去常规比值以得到就餐人群对荤素需求的需求差值。比如常规菜品比例为1:1:1,三高比例为1:1:2,常规比值为1/3,三高比值为1/2,就餐人群对荤素需求的需求差值为1/2-1/3=1/6。
34.在获得需求差值的基础上,使用该需求差值在常规菜品比例的基础上进行比例的调整,以得到一个新的菜品比例。即获取该就餐人群中患有三高的人员数量,将就餐人群中患有三高的人员数量除以整个人群数量,以得到该就餐人群中的三高人员比值。使上述常规比值加上三高人员比值乘以需求差值得到的数值,以得到全素类型在调整常规菜品比例后得到菜品比例中的新全素比值;用一减去新全素比值可以得到全荤类型和半荤类型在调整常规菜品比例后得到菜品比例中的比值总和,求取该比值总和的平均数,来得到全荤类型和半荤类型在调整常规菜品比例后得到菜品比例中的新全荤比值和新半荤比值。这样新全荤比值、新半荤比值和新全素比值之间的比例就是调整常规菜品比例以得到每种类型的菜品比例。比如,就餐人群中患三高人员数量为8个,不患三高人员数量为2个,三高人员比值为8/(2+8)=4/5,常规比值为1/3,需求差值为1/6,新全素比值为1/3+4/5(1/6)=7/15,新全荤比值为(1-7/15)/2=4/15,新半荤比值为(1-7/15)/2=4/15,基于需求差值调整常规菜品比例以得到每种类型的菜品比例为4/15:/15:/15=4:4:7。
35.一天中每餐的菜品重量和菜品名称的确定是排菜工作的一部分。待得到人群信息和菜品比例后,可以基于该人群信息和菜品比例来得到就餐人员一天需要的每种类型对应的总菜品数量。图3是本技术实施例提供的获得就餐人员一天需要的每种类型对应的总菜品数量框图。如图3所示,获得就餐人员一天需要的每种类型对应的总菜品数量包括以下步骤:步骤s103,基于就餐人员数量获取就餐人员需要的所有菜品的日菜品数量。
36.步骤s104,分别将菜品比例中每一个类型对应的数值除以菜品比例中所有数值之和,以得到每种类型对应的比值。
37.步骤s105,使每个类型对应的比例统一乘以日菜品数量,以得到每个类型对应的初始总菜品数量。
38.步骤s106,判断所有初始总菜品数量是否都为整数,若都为整数,每个类型对应的初始总菜品数量就是就餐人员一天需要的每种类型对应的总菜品数量。
39.步骤s107,若至少一个不是整数,基于菜品比例和常规菜品比例获得菜品比例的偏向类型,基于偏向类型和日菜品数量调整初始总菜品数量以得到每种类型对应的总菜品数量,其中,每种类型对应的总菜品数量都是整数。
40.上述日菜品数量表征一天中需要准备菜品的总数量。不同数量的人员需要菜品数量也不相同,日菜品数量与就餐人员数量呈正相关,可通过大数据来统计得到就餐人员数
量与日菜品数量之间的数量对应关系,将获取到的就餐人员数量代入到该数量对应关系中,从而得到就餐人员需要的所有菜品的日菜品数量。其中,通过该对应关系得到的日菜品数量为三的倍数。
41.另外,在确定每种类型的菜品比例后,依次将每种类型对应的数值除以菜品比例中所有数值之和得到的数值就是该类型对应的比值,即该类型菜品数量在日菜品数量中的比值。接着用每个类型对应的比值乘以日菜品数量得到的数值就是该类型对应的需要当天准备的菜品数量,即该类型对应的初始总菜品数量。
42.然而通过上述方法得到每种类型对应的初始总菜品数量并不一定是整数。可通过使用number.isinteger()函数或者严格等式运算符和parseint等方式来判断每个初始总菜品数量是否都为整数,这里不再对判断是否为整数的具体过程进行阐述。若判断出所有初始总菜品数量都是整数,那么无需再调整每个初始总菜品数量,每个类型对应的初始总菜品数量就是就餐人员一天需要的每种类型对应的总菜品数量。
43.由于菜品数量的最小单位是一,因此若判断出至少有一个初始总菜品数量不是整数,可根据就餐人群对荤素的偏向来调整初始总菜品数量。其中,通过菜品比例可以得到在该菜品比例中全素类型菜品的第一比值,通过常规菜品比例可以得到在该常规菜品比例中全素类型菜品的第二比值。由于日菜品数量为三的倍数,因此若判断出至少有一个初始总菜品数量不是整数,不会存在第一比值等于第二比值的情况。若第一比值大于第二比值,则表明菜品比例是表征偏素的偏向类型;若第一比值小于第二比值,则表明菜品比例是表征偏荤的偏向类型。
44.图4是本技术实施例提供的基于偏向类型和日菜品数量调整初始总菜品数量以得到每种类型对应的总菜品数量框图。如图4所示,基于偏向类型和日菜品数量调整初始总菜品数量以得到每种类型对应的总菜品数量包括以下步骤:步骤s107-1,根据偏向类型将类型划分为与偏向类型处于直接关联的直接类型、与偏向类型处于间接关联的间接类型,以及与偏差类型处于对立关联的对立类型。
45.步骤s107-2,将直接类型对应的初始总菜品数量进行向上取整,以得到直接类型对应的总菜品数量。
46.步骤s107-3,将对立类型对应的初始总菜品数量进行向下取整,以得到对立类型对应的总菜品数量。
47.步骤s107-4,将日菜品数量减去取整后的直接类型和对立类型对应的总菜品数量,以得到间接类型对应的总菜品数量。
48.若偏向类型表征偏素,那么全素类型是与该偏向类型处于直接关联的直接类型,半荤类型是与该偏向类型处于间接关联的间接类型,全荤类型是与该偏向类型处于对立关联的对立类型。若偏向类型表征偏荤,那么全荤类型是与该偏向类型处于直接关联的直接类型,半荤类型是与该偏向类型处于间接关联的间接类型,全素类型是与该偏向类型处于对立关联的对立类型。
49.直接类型与偏向类型的偏向一致,对立类型与偏向类型的偏向相反,间接类型不对偏向类型的偏向造成实质性影响。在存在初始菜品数量不是正数的情况下,通过将直接类型对应的初始总菜品数量进行向上取整,将对立类型对应的初始总菜品数量进行向下取整。为了使得每种类型对应的总菜品数量都是整数,通过日菜品数量依次减去取整后的直
接类型对应的总菜品数量和对立类型对应的总菜品数量,来得到间接类型对应的总菜品数量。从而在保持原有的偏向类型,使得就餐人员那一天需要的每种类型对应的总菜品数量都是整数,满足菜品数量的最小单位。这样基于更合理的菜品比例,使得到达就餐人员一天需要的每种类型对应的总菜品数量也相对合理。其中,这里总菜品数量是指某类菜品在一天内需要准备的菜品名称数量。比如全荤类菜品在一天内需要准备清蒸鱼、西红柿牛腩、椒盐虾、白条鸡这四种,那么全荤类型对应的菜品名称数量为四。
50.步骤s200,获取就餐人员的三餐比例和日摄入营养素值,将日摄入营养素值和所有总菜品数量按照三餐比例进行划分,以得到每餐对应的次营养素值以及每种类型的次菜品数量。
51.上述三餐比例为早餐、午餐和晚餐对营养素的需求比值。图5是本技术实施例提供的获取就餐人员的三餐比例框图。如图5所示,获取就餐人员的三餐比例包括以下步骤:步骤s201,获取就餐人员每天的就餐时间,判断就餐时间是否符合科学就餐时间,若符合,将科学家就餐时间对应的三餐比例确定为就餐人员的三餐比例。
52.步骤s202,若不符合,获取不符合科学就餐时间所对应的餐名,基于餐名获得餐名对应的参考时间与相邻餐名对应的关联时间,通过参考时间和关联时间获得时间差值,通过时间差值调整科学就餐时间对应的三餐比例,以得到就餐人员的三餐比例。
53.就餐人员每天具有相同的就餐时间,通过就餐人员打卡或者预约等方式获得就餐人员每天的就餐时间。就餐时间包括早餐就餐时间、午餐就餐时间和晚餐就餐时间。营养学中设有公认的科学就餐时间,科学就餐时间包括早餐科学就餐时间段、午餐科学就餐时间段和晚餐科学就餐时间段。依次判断早餐就餐时间是否落入早餐科学就餐时间段内、午餐就餐时间是否落入午餐科学就餐时间段内,以及晚餐就餐时间是否落入晚餐科学就餐时间段内,来判断就餐时间是否符合科学就餐时间。若每餐的就餐时间都落入对应的科学就餐时间内,则表明就餐时间符合科学就餐时间。那么科学就餐时间就是就餐人员的三餐比例。
54.若其中一餐的就餐时间没有落入对应的科学就餐时间内,那么表明就餐时间不符合科学就餐时间。通过比对就餐时间和科学就餐时间可以得到不符合科学就餐时间所对应的餐名。通过该餐名可以获得与该餐名相邻的相邻餐名。比如,早餐的相邻餐名为午餐,午餐的相邻餐名为早餐和晚餐,晚餐的相邻餐名为午餐。相邻餐名所对应的时间为关联时间。将该餐名对应的参考时间与关联时间进行相减再求取平均值就可以获得相邻两餐之间的时间差值。正常的科学就餐时间是早餐和午餐相差四个小时,午餐和晚餐相差六个小时。时间差值与三餐比例是呈正比的。当两餐之间的时间差值变小时,就根据时间差值重新确定早餐和午餐之间的第一实际时间差,以及午餐和晚餐之间的第二实际时间差。将第一实际时间差除以第一实际时间差和第二实际时间差之和,来得到第一实际时间差所对应的第一比值;将第二实际时间差除以第一实际时间差和第二实际时间差之和,来得到第二实际时间差所对应的第二比值。根据第一实际时间差与第二实际时间差的比值调整科学就餐时间对应的三餐比例,使得午餐和早餐之间的比例差值在就餐人员对应的三餐比例中的比值等于第一比值,晚餐和午餐之间的比例差值在就餐人员对应的三餐比例中的比值等于第二比值。这样不仅仅将就餐人员的三餐比例局限为科学就餐时间对应的三餐比例,而是根据就餐人员的实际就餐时间就三餐比例进行相应的调整,使得调整后的三餐比例更适用于就餐人员,提高三餐比例的合理性。
55.每个就餐人员都对应有一个一天需要摄入的营养素值,将就餐人群中每个就餐人员对应的需要摄入的营养素值进行相加,就可以得到日摄入营养素值。该日摄入营养素值包括每种营养素对应的一天内就餐人群需要摄入的营养素值。将日摄入营养素值按照三餐比例进行划分就可以得到每餐对应的次营养素值,将总菜品数量按照三餐比例进行划分就可以得到每餐对应的次菜品数量。使得三餐中分别对应的日营养素值之间的比值等于三餐比例,三餐中每个类型分别对应的日菜品数量之间的比值等于三餐比值。这样在得到合理的总菜品数量后,再使用适用的三餐比例来划分日摄入营养素值和总菜品数量,使得相较于通过常规性的三餐比例得到次营养素值以及次菜品数量,本实施例使用调整后的三餐比例进行划分后得到的每餐对应的次营养素值和每种类型对应的次菜品数量更加适用就餐人群。
56.步骤s300,获取预设的菜品数据库中每个菜品在单位重量下对应的参考营养素值,基于人群信息中的疾病信息和参考营养素值对菜品数据库中每个菜品进行打分,以得到每个菜品对应的分数。
57.在预设的菜品数据库中存储有每个菜品在单位重量下对应的参考营养素值。其中,每个菜品都对应有相应的配料表,该配料表中包括主料和辅料,以及每单位重量的菜品所需要每个主料或者配料的配料重量。通过将某个菜品的配料表代入到中国食物成分表中,可以得到单位重量的菜品中每个主料或者配料所对应的营养素值,再将该菜品中每个主料或者配料对应的营养素值进行相加求总和,就可以得到该菜品在单位重量下对应的参考营养素值,并将该菜品对应的参考营养素值存储在预设的菜品数据库中。这样将中国食物成分表与预设的次奥平数据库建立数据关联后,通过预设的菜品数据库可以得到每个菜品在单位重量下对应的参考营养素值。
58.菜品数据库中存储的菜品涉及所有季节的应季菜品。因此菜品包括应季菜品和非应季菜品。图6是本技术实施例提供的基于人群信息中的疾病信息和参考营养素值对菜品数据库中每个菜品进行打分框图。如图6所示,基于人群信息中的疾病信息和参考营养素值对菜品数据库中的每个菜品进行打分包括以下步骤:步骤s301,依次判断每个菜品中是否为应季菜品,若否,将菜品记为零分。
59.步骤s302,若是,获取每个疾病信息对应的子分数和接收范围,每次判断哪一个应季菜品对应的参考营养素值是否落入每个疾病信息的接收范围,若落入,应季菜品接收疾病信息对应的子分数。
60.步骤s303,若没有落入,获取参考营养素值与接收范围之间的预警比值,基于预警比值调整疾病信息对应的子分数,应季菜品接收疾病信息对应的调整后子分数。
61.步骤s304,将应季菜品接收每个疾病信息对应的子分数进行相加,以得到应季菜品对应分数。
62.步骤s305,判断是否得到菜品数据库中每个菜品对应的分数,若否,继续判断下一个应季菜品对应的参考营养值是否落入每个疾病信息的接收范围。
63.菜品的时令性具有一票否决权,在基于特定人群的排菜系统中存储有当前应季菜品的名称,若存储的当前应季菜品中没有该菜品的名称,表明该菜品为非应季菜品。由于本实施例中的特定人群存在身体健康问题,非应季菜品会存在一些激素等不利于身体健康的物质,因此当菜品是非应季菜品时,该菜品对应的分数判定为零分,并将非应季菜品打上禁
止菜品的标签。
64.若存储的当前应季菜品中有该菜品的名称,表明该菜品为应季菜品。此时通过获取就餐人群中患某种疾病的人员数量在就餐人群中总数量的人数比值,该人数比值就是该疾病信息对应的子分数。该子分数表征菜品满足该疾病信息对应的就餐人员对营养素的要求,可以给到该菜品最高的分数。将就餐人群中所有疾病信息对应的子分数进行相加得到的总和为菜品能够拿到的最高分数。每个应季菜品都有唯一确定的参考营养素值,每个疾病信息也都有关于该疾病所能接收营养素值的一个接收范围,若菜品的参考营养素值落入到某个疾病信息对应的接收范围内,那么该应季菜品的子分数就加上该疾病信息对应的子分数。其中,将菜品的参考营养素值与每个疾病信息对应的接收范围都进行比对,每个应季菜品的初始子分数为零。
65.若菜品的参考营养素值没有落入到某个疾病信息对应的接收范围内,若菜品的参考营养素值小于接收范围的最小值,将接收范围的最小值与参考营养素值之间的差值除以接收范围的最小值,以得到参考营养素值与接收范围之间的预警比值。若菜品的参考营养素值大于接收范围的最大值,将接收范围的最大值与参考营养素值之间的差值除以接收范围的最大值,以得到参考营养素值与接收范围之间的预警比值。使疾病信息最开始对应的子分数减去该子分数乘以预警比值得到的数值就是疾病信息对应的调整后的子分数。其中,疾病信息对应的子分数永远不小于零,若调整后的子分数为负数,则将计算得到的调整后的子分数更新为零。调整后的子分数就是该应季菜品接收该疾病信息的子分数,将同一应季菜品接收到的所有疾病信息最后对应的子分数进行相加得到的总和就是该应季菜品对应的分数。
66.每确定完菜品数据库中的一个菜品后,就将该菜品的状态标记为已处理状态。若菜品数据库中的所有菜品的状态都是已处理状态,表明已经确定完菜品数据库中的所有菜品分数。若菜品数据库中还存在菜品的状态不是已处理状态,还需要继续判断状态未标记的应季菜品对应的参考营养值是否落入每个疾病信息的接收范围。这样根据参考营养素值与接收范围之间的预警比值,来在初始表征最大值的子分数上调整就餐人群中每个疾病信息对应的子分数,并将该菜品对应的调整后子分数都加入该菜品对应的分数上,这样该菜品将在就餐人群中得到的每个子分数都相加在一起,得到的最后分数就是该菜品对应的分数。使得每个菜品相对于当前就餐人群有一个分数,根据分数的高低来直观地表明当前就餐人员比较适合食用哪些菜品。
67.步骤s400,基于每种类型的次菜品数量和分数,以确定每餐对应的菜品名称。
68.图7是本技术实施例提供的确定每餐对应的菜品名称框图。如图7所示,确定每餐对应的菜品名称包括以下步骤:步骤s401,获取每个菜品对应的类型,将同一类型菜品对应的分数划分为一个分数组,其中,每个分数组对应有唯一确定的类型。
69.步骤s402,从分数组中获取与分数组属于同一类型的总菜品数量个目标分数,基于目标分数获取目标分数对应的目标菜品。
70.步骤s403,按照每餐对应的每种类型的次菜品数量,从属于同一类型的目标菜品中获得该类型在每餐对应的菜品名称,其中,每餐对应的菜品名称都不同,属于同一餐的所有类型对应的菜品名称为该餐对应的菜品名称。
71.菜品数据库中存储的每个菜品都标有该菜品所属的类型,通过查看每个菜品标有的类型可以获取到每个菜品对应的类型。其中,每个菜品都对应全荤类型、半荤类型和全素类型这三种类型中的一种类型。那么每个菜品对应的分数也都对应上述三种类型中的一种类型。根据分数对应的类型,将上述得到的所有分数划分为全荤类型分数组、半荤类型分数组和全素类型分数组这三大类型组。每个分数组中存储的分数都属于同一类型。
72.在上述步骤s100中得到每种类型的总菜品数量表征一天中需要准备该类型菜品的数量。按照分数从高到低的顺序,依次从每个分数组中获取第一数量个分数,其中,第一数量为与该分数组属于同一类型的总菜品数量,获取到的分数就是需要得到的目标分数。每个目标分数对应的菜品就是目标菜品。比如,全荤类型对应的总菜品数量为5,那么全荤类型分数组中分数排名前五的分数就是全荤类型对应的目标分数,这五个目标分数对应的菜品就是全荤类型的目标菜品。
73.待确定每个类型的目标菜品后,从属于同一类型的目标菜品中任意选取每餐对应的次菜品数量,使得该类型的每个目标菜品都有相应的餐名,且每餐对应的菜品名称都不同,属于同一餐名的所有类型对应的菜品名称为该餐对应的菜品名称。比如,全荤类型对应的三餐的次菜品数量分别为1、3、1,那么从上述五个目标菜品中任意选取一个目标菜品作为早餐中的全荤菜品,从剩下的四个目标菜品中任意选取三个目标菜品作为午餐中的全荤菜品,那么剩下的那一个目标菜品就是晚餐中的全荤菜品。这样确定了每餐对应的菜品名称。由于上述得到的总菜品数量和次菜品数量都是更合理的数量,因此,基于总菜品数量和次菜品数量得到的每餐对应的菜品名称相对也合理。
74.步骤s500,基于就餐人员数量和次营养素值确定每个菜品对应的重量。
75.将每个就餐人员每餐需要的次营养素值乘以就餐人员数量,就可以得到排菜时每餐需要准备的对于所有就餐人员的营养素值,由于每个菜品都有单位重量对应的营养素值,通过使用数据拟合的方法,求取该餐中每个菜品需要准备的重量,以使得该餐中所有菜品能够满足对于所有就餐人员的营养素值。
76.图8是本实施例提供的一种基于特定人群的排菜系统框架图。如图8所示,一种基于特定人群的排菜系统包括日处理模块、次处理模块、分数模块、菜品名称模块和菜品重量模块。
77.其中,日处理模块用于获取人群信息和每种类型的菜品比例,基于人群信息中的就餐人员数量菜品比例,以获得就餐人员一天需要的每种类型对应的总菜品数量。次处理模块用于获取就餐人员的三餐比例和日摄入营养素值,将日摄入营养素值和所有总菜品数量按照三餐比例进行划分,以得到每餐对应的次营养素值以及每种类型的次菜品数量。分数模块用于获取预设的菜品数据库中每个菜品在单位重量下对应的参考营养素值,基于人群信息中的疾病信息和参考营养素值对菜品数据库中每个菜品进行打分,以得到每个菜品对应的分数。菜品名称模块用于基于每种类型的次菜品数量和所述分数,以确定每餐对应的菜品名称。菜品重量模块用于基于就餐人员数量和次营养素值确定每个菜品对应的重量。
78.另外,类型包括全荤类型、半荤类型和全素类型,日处理模块在获取每种类型的菜品比例包括:获取人群信息中的疾病信息,基于疾病信息判断就餐人群对荤素的需求是否对等,若对等,将常规菜品比例确定为每种类型的菜品比例,其中,常规菜品比例表征日常
生活中默认的一种分配全荤菜品、半荤菜品和全素菜品的比例,常规菜品比例对应的类型依次全荤类型、半荤类型和全素类型。若不对等,获取就餐人群对荤素需求的需求差值,基于需求差值调整常规菜品比例以得到每种类型的菜品比例。上述日处理模块、次处理模块、分数模块、菜品名称模块和菜品重量模块所执行的其它功能以及各个功能的技术细节均与前面描述的基于特定人群的排菜方法中对应的特征相同或相似,故在此不再赘述。
79.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相关内容。
80.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确地说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。
81.以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
技术特征:
1.一种基于特定人群的排菜方法,其特征在于,所述方法包括:获取人群信息和每种类型的菜品比例,基于所述人群信息中的就餐人员数量和所述菜品比例,以获得就餐人员一天需要的每种类型对应的总菜品数量;获取就餐人员的三餐比例和日摄入营养素值,将日摄入营养素值和所有总菜品数量按照三餐比例进行划分,以得到每餐对应的次营养素值以及每种类型的次菜品数量;获取预设的菜品数据库中每个菜品在单位重量下对应的参考营养素值,基于所述人群信息中的疾病信息和所述参考营养素值对所述菜品数据库中每个菜品进行打分,以得到每个菜品对应的分数;基于每种类型的次菜品数量和所述分数,以确定每餐对应的菜品名称;基于所述就餐人员数量和所述次营养素值确定每个菜品对应的重量。2.根据权利要求1所述的方法,其特征在于,所述类型包括全荤类型、半荤类型和全素类型,获取每种类型的菜品比例包括:获取人群信息中的疾病信息,基于所述疾病信息判断就餐人群对荤素的需求是否对等,若对等,将常规菜品比例确定为每种类型的菜品比例,其中,常规菜品比例表征日常生活中默认的一种分配全荤菜品、半荤菜品和全素菜品的比例,常规菜品比例对应的类型依次为全荤类型、半荤类型和全素类型;若不对等,获取就餐人群对荤素需求的需求差值,基于所述需求差值调整常规菜品比例以得到每种类型的菜品比例。3.根据权利要求2所述的方法,其特征在于,获得就餐人员一天需要的每种类型对应的总菜品数量包括:基于就餐人员数量获取所述就餐人员日需要的所有菜品的日菜品数量;分别将所述菜品比例中每一个类型对应的数值除以所述菜品比例中所有数值之和,以得到每种类型对应的比值;使每个类型对应的比值统一乘以所述日菜品数量,以得到每个类型对应的初始总菜品数量;判断所有初始总菜品数量是否都为整数,若都为整数,每个类型对应的初始总菜品数量就是就餐人员一天需要的每种类型对应的总菜品数量;若至少一个不是整数,基于所述菜品比例和常规菜品比例获得所述菜品比例的偏向类型,基于所述偏向类型和日菜品数量调整初始总菜品数量以得到每种类型对应的总菜品数量,其中,每种类型对应的总菜品数量都是整数。4.根据权利要求3所述的方法,其特征在于,基于所述偏向类型和日菜品数量调整初始总菜品数量以得到每种类型对应的总菜品数量包括:根据所述偏向类型将所述类型划分为与所述偏向类型处于直接关联的直接类型、与所述偏向类型处于间接关联的间接类型,以及与所述偏差类型处于对立关联的对立类型;将所述直接类型对应的初始总菜品数量进行向上取整,以得到所述直接类型对应的总菜品数量;将所述对立类型对应的初始总菜品数量进行向下取整,以得到所述对立类型对应的总菜品数量;将所述日菜品数量减去取整后的直接类型和对立类型对应的总菜品数量,以得到间接
类型对应的总菜品数量。5.根据权利要求1所述的方法,其特征在于,菜品包括应季菜品和非应季菜品,基于所述人群信息中的疾病信息和所述参考营养素值对所述菜品数据库中每个菜品进行打分包括:依次判断每个菜品中是否为应季菜品,若否,将所述菜品记为零分;若是,获取每个疾病信息对应的子分数,每次判断一个应季菜品对应的参考营养素值是否落入每个疾病信息的接收范围,若落入,所述应季菜品接收所述疾病信息对应的子分数;若没有落入,获取所述参考营养素值与接收范围之间的预警比值,基于所述预警比值调整所述疾病信息对应的子分数,所述应季菜品接收所述疾病信息对应的调整后子分数;将所述应季菜品接收每个疾病信息对应的子分数进行相加,以得到所述应季菜品对应分数;判断是否得到所述菜品数据库中每个菜品对应的分数,若否,继续判断下一个应季菜品对应的参考营养值是否落入每个疾病信息的接收范围。6.根据权利要求1所述的方法,其特征在于,所述获取就餐人员的三餐比例包括:获取就餐人员每天的就餐时间,判断所述就餐时间是否符合科学就餐时间,若符合,将科学就餐时间对应的三餐比例确定为就餐人员的三餐比例;若不符合,获取不符合科学就餐时间所对应的餐名,基于所述餐名获得所述餐名对应的参考时间与相邻餐名对应的关联时间,通过所述参考时间和所述关联时间获得时间差值,通过时间差值调整科学就餐时间对应的三餐比例,以得到就餐人员的三餐比例。7.根据权利要求1所述的方法,其特征在于,每个菜品都对应一种类型,所述确定每餐对应的菜品名称包括:获取每个菜品对应的类型,将同一类型菜品对应的分数划分为一个分数组,其中,每个分数组对应有唯一确定的类型;从分数组中获取与所述分数组属于同一类型的总菜品数量个目标分数,基于所述目标分数获取所述目标分数对应的目标菜品;按照每餐对应的每种类型的次菜品数量,从属于同一类型的目标菜品中获得所述类型在每餐对应的菜品名称,其中,每餐对应的菜品名称都不同,属于同一餐的所有类型对应的菜品名称为该餐对应的菜品名称。8.一种基于特定人群的排菜系统,其特征在于,所述系统包括:日处理模块、次处理模块、分数模块、菜品名称模块和菜品重量模块;其中,所述日处理模块用于获取人群信息和每种类型的菜品比例,基于所述人群信息中的就餐人员数量和所述菜品比例,以获得就餐人员一天需要的每种类型对应的总菜品数量;所述次处理模块用于获取就餐人员的三餐比例和日摄入营养素值,将日摄入营养素值和所有总菜品数量按照三餐比例进行划分,以得到每餐对应的次营养素值以及每种类型的次菜品数量;所述分数模块用于获取预设的菜品数据库中每个菜品在单位重量下对应的参考营养素值,基于所述人群信息中的疾病信息和所述参考营养素值对所述菜品数据库中每个菜品进行打分,以得到每个菜品对应的分数;
所述菜品名称模块用于基于每种类型的次菜品数量和所述分数,以确定每餐对应的菜品名称;所述菜品重量模块用于基于所述就餐人员数量和所述次营养素值确定每个菜品对应的重量。9.根据权利要求8所述的系统,其特征在于,所述类型包括全荤类型、半荤类型和全素类型,所述日处理模块在获取每种类型的菜品比例包括:获取人群信息中的疾病信息,基于所述疾病信息判断就餐人群对荤素的需求是否对等,若对等,将常规菜品比例确定为每种类型的菜品比例,其中,常规菜品比例表征日常生活中默认的一种分配全荤菜品、半荤菜品和全素菜品的比例,常规菜品比例对应的类型依次全荤类型、半荤类型和全素类型;若不对等,获取就餐人群对荤素需求的需求差值,基于所述需求差值调整常规菜品比例以得到每种类型的菜品比例。10.一种计算机可读存储介质,其上存储有能在处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至7中任意一项所述的一种基于特定人群的排菜方法。
技术总结
本发明提供一种基于特定人群的排菜方法、系统及存储介质,方法包括:获取人群信息和每种类型的菜品比例,基于人群信息中的就餐人员数量和菜品比例,获得人员一天需要的每种类型对应的总菜品数量;获取人员的三餐比例和日摄入营养素值,将日摄入营养素值和所有总菜品数量按照三餐比例划分,得到每餐对应的次营养素值和每种类型的次菜品数量;获取菜品数据库中每个菜品在单位重量下对应的参考营养素值,基于人群信息中的疾病信息和参考营养素值对菜品数据库中每个菜品打分,得到每个菜品对应的分数;基于每种类型的次菜品数量和分数,确定每餐对应的菜品名称;基于就餐人员数量和次营养素值确定每个菜品对应的重量。本申请可提高排菜结果合理性。排菜结果合理性。排菜结果合理性。
技术研发人员:周俊彦 徐汉传
受保护的技术使用者:浙江校联信息技术有限公司
技术研发日:2023.07.24
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/