一种家庭多人组合的配餐推荐方法和系统

文档序号:7583 发布日期:2021-09-17 浏览:29次 英文

一种家庭多人组合的配餐推荐方法和系统

技术领域

本申请属于营养配餐

技术领域

,具体涉及一种家庭多人组合的配餐推荐方法和系统。

背景技术

当今时代,随着生活水平的不断提高,人们日益关注自身的身体健康,相应的饮食习惯也发生的很大的变化,很多人开始关注科学的营养配餐方法,因此很多营养配餐系统应运而生。

目前的营养配餐系统都是采用单人模式配餐、标签化形式菜谱推荐的方式,通过标签的形式进行同类菜品的推荐,用户选择菜谱时,虽然会给出替换菜谱列表,但是由于营养配餐系统并不知道用户的口味喜好,因此这种方式无法精准的把握住客户的需求。而且目前常见的烹饪形式多是以家庭为单位,因此营养配餐系统中只针对个人进行营养配餐的单人配餐方式,很难适用于家庭日常烹饪过程。

发明内容

本申请的目的在于提供一种家庭多人组合的配餐推荐方法和系统,能够生成针对家庭的符合用户需求的推荐菜谱。

为实现上述目的,本申请所采取的技术方案为:

一种家庭多人组合的配餐推荐方法,所述家庭多人组合的配餐推荐方法,包括:

步骤S1、根据家庭的用户行为数据和用户属性数据构建用户画像,所述用户行为数据包括预设时间段内的历史烹饪菜谱数据和换菜数据,所述用户属性数据包括家庭成员人数、各家庭成员的身高、年龄、性别、体重、疾病情况、每日活动量;

步骤S2、根据各家庭成员的身高、年龄、性别、体重、每日活动量计算每个家庭成员的每日推荐摄入能量值,将每个家庭成员的每日推荐摄入能量值汇总得到家庭的每日推荐摄入能量值;

步骤S3、若当前家庭为新用户,则根据当前家庭的用户属性数据以及用餐人数生成推荐菜品列表;若当前家庭为非新用户,则根据用户画像生成推荐菜品列表;

步骤S4、根据计算得到的家庭的每日推荐摄入能量值、生成的推荐菜品列表以及每餐中各类菜品所占能量比例生成当前家庭的营养食谱;

步骤S5、根据用户操作对营养食谱中的菜品进行替换得到最终配餐推荐生成的家庭式营养食谱。

以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。

作为优选,所述根据各家庭成员的身高、年龄、性别、体重、每日活动量计算每个家庭成员的每日推荐摄入能量值,包括:

步骤S21、根据性别将家庭成员的身高减去预设值作为该家庭成员的标准体重;

步骤S22、根据家庭成员的体重和身高计算体质指数BMI,并根据体质指数BMI和年龄得到该家庭成员对应的体型;

步骤S23、根据预设的能量供给标准与体型、每日活动量的关系,根据家庭成员的每日活动量以及计算出的体型得到该家庭成员的能量供给标准;

步骤S24、根据所述标准体重和能量供给标准计算得到该家庭成员的每日推荐摄入能量值。

作为优选,所述根据当前家庭的用户属性数据以及用餐人数生成推荐菜品列表,包括:

根据用餐人数以及预设的荤素搭配比例表得到当前家庭中每餐的荤素比例;

根据用户属性数据以及每餐的荤素比例生成推荐菜品列表。

作为优选,根据用户画像生成推荐菜品列表,包括:

1)筛选与当前家庭的用户属性数据相似的多个参考家庭用户;

2)提取当前家庭和各个参考家庭用户的用户行为数据,并将用户行为数据转换为行为数据特征向量,将所有家庭的行为数据特征向量进行合并得到家庭用户行为矩阵;

3)将家庭用户行为矩阵转换为用户行为数据对应的用户表;

4)根据用户行为数据对应的用户表建立家庭用户相似矩阵,得到家庭菜品兴趣相似度;

5)选取与当前家庭的家庭菜品兴趣相似度最接近的两个参考家庭用户,提取这两个参考家庭用户的历史烹饪菜谱数据;

6)获取最新推荐菜品集合,根据两个参考家庭用户的历史烹饪菜谱数据以及最新推荐菜品集合生成当前家庭的拟定推荐菜品列表;

7)过滤所述拟定推荐菜品列表中当前家庭近一周已烹饪的菜品或禁忌的菜品,得到针对当前家庭的推荐菜品列表。

作为优选,所述最新推荐菜品集合包括两部分菜品,一部分为当前时令菜品,另一部分为根据当前家庭中家庭成员的疾病情况筛选出的适宜菜品。

作为优选,所述根据两个参考家庭用户的历史烹饪菜谱数据以及最新推荐菜品集合生成当前家庭的拟定推荐菜品列表,包括:

将两个参考家庭用户的历史烹饪菜谱数据以及最新推荐菜品集合进行合并作为拟定推荐菜品列表。

作为优选,所述根据计算得到的家庭的每日推荐摄入能量值、生成的推荐菜品列表以及每餐中各类菜品所占能量比例生成当前家庭的营养食谱,包括:

根据家庭的每日推荐摄入能量值以及每餐中各类菜品所占能量比例计算得到每餐中每类菜品所分配到的能量值;

根据生成的推荐菜品列表确定每餐中每类菜品具体的每个菜品,获取每个菜品对应的能量密度;

将每类菜品所分配到的能量值均分至该类菜品中的每个菜品,并根据每个菜品对应的能量密度计算得到该菜品对应的重量;

在生成的推荐菜品列表的基础上为每类菜品中每个菜品标注上所计算出的重量生成当前家庭的营养食谱。

本申请还提供一种家庭多人组合的配餐推荐系统,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器读取所述存储器中的计算机程序并运行以实现所述的家庭多人组合的配餐推荐方法的步骤。

本申请提供的家庭多人组合的配餐推荐方法和系统,通过构建家庭用户的画像,来形象的表现出用户的喜好、需求及用户的一些行为数据,并且利用推荐系统对用户画像进行分析,得到满足用户兴趣爱好的菜品推荐列表,同时在用户使用的过程中,通过搜集与分析用户的行为数据,不断完善家庭用户的画像,从而不断优化营养配餐的结果,进而提高用户对推荐菜谱的满意度。

附图说明

图1为本申请的家庭多人组合的配餐推荐方法的流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。

其中一个实施例中,提供一种家庭多人组合的配餐推荐方法,解决了现有技术中营养配餐系统仅针对单人进行配餐而无法适用于家庭烹饪环境的问题,并且根据用户兴趣进行有针对性的菜品推荐,以极大限度的提高用户对推荐菜品的满意度。

如图1所示,本实施例的家庭多人组合的配餐推荐方法,包括以下步骤:

步骤S1、根据家庭的用户行为数据和用户属性数据构建用户画像。

用户画像将用户的每个具体信息抽象成标签,利用这些标签将用户形象具体化。本实施例中引入用户画像记录每一家庭的特征,根据特征进行菜谱生成,从而准确把握客户需求。

用户画像的构建主要是用户标签数据的确定,本实施例中用户标签数据分为两类,一类是静态类数据标签,即利用用户填写的基本信息作为用户属性数据构建的标签数据,其中基本信息包括家庭成员人数,各家庭成员的身高、年龄、性别、体重、疾病情况、每日活动量。

容易理解的是,本实施例中以上述字段作为基本信息,在其他实施例中还可以添加其他字段,例如籍贯、口味偏好等;另一类用户标签数据是统计类数据标签,本实施例中统计类数据取用户行为数据,即预设时间段内(例如近半年之内)的历史烹饪菜谱数据和换菜数据。

需要说明的是,本实施例中构建的用户画像主要在于确定用户标签数据,不存在其他的复杂处理。在其他实施例中还可以根据现有方法构建用户画像,例如根据需要添加数据处理等。

步骤S2、根据各家庭成员的身高、年龄、性别、体重、每日活动量计算每个家庭成员的每日推荐摄入能量值,将每个家庭成员的每日推荐摄入能量值汇总得到家庭的每日推荐摄入能量值。

由于能量控制是推荐菜谱中十分重要的一点,因此需要准确把握一个家庭的每日推荐摄入能量值,而家庭的每日推荐摄入能量值与家庭中每个成员的每日推荐摄入能量值直接相关,因此本实施例重点在于计算各个家庭成员的推荐摄入能量值,其具体计算过程如下:

步骤S21、根据性别将家庭成员的身高减去预设值作为该家庭成员的标准体重。其中的预设值根据需要可以进行相应调整,例如本实施例中设置男性对应的预设值为105,而女性对应的预设值为110,以符合通常男性体能消耗较多,因此需要更多的能量摄入的情况。因此本实施例中男性的标准体重=身高(cm)-105,而女性的标准体重=身高(cm)-110。

步骤S22、根据家庭成员的体重和身高计算体质指数BMI,并根据体质指数BMI和年龄得到该家庭成员对应的体型。

其中体质指数BMI=体重(kg)/[身高(cm)]2,而家庭成员的体型可以根据不同国家或地区等因素设置不同的对应关系。例如本实施例中设置形式如表1所示:

表1成年人的体质指数-体型对应表

考虑到老人小孩的体质指数与成人存在一定区别,因此以上表格为针对成人(18~65岁)的体质指数-体型对应表,其中小孩(2~17岁,2岁以下不考虑)直接根据未成年人膳食能量表得出所需能量,而老人(65岁以上)的体质指数-体型对应表如表2所示:

表2老人的体质指数-体型对应表

步骤S23、根据预设的能量供给标准与体型、每日活动量的关系,根据家庭成员的每日活动量以及计算出的体型得到该家庭成员的能量供给标准。

由于每人的能量需要不仅与体型有关,还与每日活动量具有直接关联,因此本实施例中确定能量供给标准时,综合考虑了体型与每日活动量,因此本实施例中设置能量供给标准与体型、每日活动量的关系如表3所示:

表3能量供给标准表

其中,轻体力活动、中体力活动和重体力活动为根据一定标准进行区分的活动等级,例如以活动时间(如一天内活动3小时以内为轻体力活动,3~6小时为中体力活动,6小时以上为重体力活动)或活动力度(如仅有日常生活活动(散步等)为轻体力活动,上班劳作为中体力活动,工地施工干活为重体力活动)作为区分标准,在其他实施例中,可以根据每个家庭成员的情况进行适应调整。

步骤S24、根据所述标准体重和能量供给标准计算得到该家庭成员的每日推荐摄入能量值。

基于上述内容可以得到家庭成员的每日推荐摄入能量值=标准体重*能量供给标准。根据严格的计算以及各方面的综合考虑,得到最适合每一家庭的每日推荐摄入能量值。

由于处于生长期的小孩无对应的体质指数-体型对应数据,因此本实施例针对家庭中的小孩直接根据未成年人膳食能量表得出所需能量作为每日推荐摄入能量值,本实施例中未成年人膳食能量表如表4所示:

表4未成年人膳食能量表

需要说明的是,以上为本实施例提供的未成年人膳食能量表,由于不同时期的未成年人根据生长环境具有不同的能量需求,因此在实际应用中表4中的数据可根据实际需求进行调整。

步骤S3、若当前家庭为新用户,则根据当前家庭的用户属性数据以及用餐人数生成推荐菜品列表;若当前家庭为非新用户,则根据用户画像生成推荐菜品列表。

其中,针对新用户(新用户的判断可以是无历史烹饪菜谱数据的用户)根据当前家庭的用户属性数据以及用餐人数生成推荐菜品列表,包括以下步骤:

1)根据用餐人数以及预设的荤素搭配比例表得到每餐(包括早餐、中餐、晚餐以及加餐)中的荤素比例。本实施例中的预设荤素搭配比例如表5所示:

表5预设的荤素搭配比例表

考虑到常规家庭人员的人数一般不超过6人,因此本实施例列举至就餐人数为6人,在其他实施例中,若家庭中就餐人数增加,可相应调整各餐比例,例如六人以上时(最多不超过十人),在六人餐的基础上进行修改,早餐主食与早餐荤菜中菜品的数量都修改为2,中晚餐的荤菜和素菜的数量为在六人餐的基础上加上(n-6)/2四舍五入后的值(n为用餐人数),其他保持不变。

本实施例中用餐人数为实际用餐人数(2岁以下不考虑),以实际用餐人数进行计算能够得到更加准确的推荐营养食谱。并且家庭每日用餐中通常用餐人数不超过十人,因此本实施例主要适用于十人及以内的用餐人数的营养食谱推荐,对于用餐人数超过十人的家庭或者聚餐等可进行参考使用。

2)根据用户属性数据以及每餐的荤素比例生成推荐菜品列表。

由于新用户不存在任何的历史参考数据,因此本实施例推荐根据每餐的荤素比例随机生成推荐菜品列表,例如荤素比例中主食的菜品数量为1,则随机选取米饭或者面食等主食中的一种作为主食。当然也可以根据家庭成员的具体用户属性数据进行调整,例如选取适宜疾病康复的菜品、或者适宜老人进食的菜品等。

另外,针对非新用户根据用户画像生成推荐菜品列表,包括以下步骤:

1)筛选与当前家庭的用户属性数据相似的多个参考家庭用户。本实施例中参考家庭用户的筛选条件为家庭成员人数、各家庭成员的身高、年龄、性别、体重、疾病情况、每日活动量,得到综合以上各个条件的相似度最高的多个(三个及以上)参考家庭用户。

2)提取当前家庭和各个参考家庭用户的用户行为数据,并将用户行为数据转换为行为数据特征向量,将所有家庭的行为数据特征向量进行合并得到家庭用户行为矩阵。

例如得到的家庭用户行为矩阵为N,其中N(n)表示用户n的行为数据特征向量。若当前家庭为A,筛选得到的多个参考家庭用户为B、C、D,假设参考家庭用户B、C、D的用户行为数据涉及的所有菜品为5个且分别为a、b、c、d、e,根据A、B、C、D的用户行为数据生成行为数据特征向量分别为N(A)5=(1,0,0,1,1)、N(B)5=(1,0,1,0,1)、N(C)5=(0,1,0,1,0)、N(D)5=(0,0,1,1,1),其中N(K)k为1表示K家庭曾经做过k菜品,为0表示K家庭从未做过k菜品,例如N(A)1=1,表示A家庭曾经做过a菜品。

因此得到的家庭用户行为矩阵N为:

3)将家庭用户行为矩阵转换为用户行为数据对应的用户表。

用户行为数据对应的用户表,即为行为数据到家庭用户的倒排表,即菜品对应的用户表,

得到用户表C如下:

其中C(c)表示菜品c对应的用户行为,例如C(1)表示菜品a对应的用户行为为(1,1,0,0),即用户家庭A、B曾做过a菜品,用户家庭C、D未做过a菜品。

4)根据用户行为数据对应的用户表建立家庭用户相似矩阵,得到家庭菜品兴趣相似度。

令稀疏矩阵X[i][j]=|N(i)∩N(j)|,那么假设家庭用户i和用户j同时有过矩阵C中的q种行为,那么X[i][j]=q,因此可以得到最终的矩阵X如下:

由于本实施例为4个家庭用户,因此建立4×4的家庭用户相似矩阵X,由于菜品a被A、B用户烹饪过,所以X[A][B]和X[B][A]各加1,并以此类推;最终得到矩阵X。

然后将矩阵X除以即得到家庭用户菜品的相似度,即X[i][j]为用户i和用户j的菜品兴趣相似度。

5)选取与当前家庭的家庭菜品兴趣相似度最接近的两个参考家庭用户,提取这两个参考家庭用户的历史烹饪菜谱数据。

针对本申请所计算的4个家庭用户得到的矩阵X可以看出与用户A最相似的用户为B和D,那么便可取出B和D选过的历史烹饪菜谱数据。

需要说明的是,考虑到计算压力,本实施例中选取两个参考家庭用户,在其他实施例中还可以选取例如4个、5个等,即根据实际需要选取与当前家庭用户相似度高的TOP L位家庭用户即可。

6)获取最新推荐菜品集合,根据两个参考家庭用户的历史烹饪菜谱数据以及最新推荐菜品集合生成当前家庭的拟定推荐菜品列表。

其中,最新推荐菜品集合包括两部分菜品,一部分为当前时令菜品,另一部分为根据当前家庭中家庭成员的疾病情况筛选出的适宜菜品(例如有利于疾病康复相关的菜品)。

本实施例中在生成拟定推荐菜品列表时,直接将两个参考家庭用户的历史烹饪菜谱数据以及最新推荐菜品集合进行合并作为拟定推荐菜品列表。这里的合并是指将对应餐中对应菜品种类进行合并。

例如两个参考家庭用户的历史烹饪菜谱数据共有10条,则获取这10条数据,将这10条数据中对应餐类以及菜品种类中的菜品进行叠加,叠加中滤除重复,然后叠加上最新推荐菜品集合中对应餐类以及菜品种类中的菜品,叠加时同样滤除重复,则得到拟定推荐菜品列表中对应餐来以及菜品种类中的总菜品。

结合实际菜品进一步说明:若两个参考家庭用户的10条历史烹饪菜谱数据中早餐的早餐主食不重复的菜品为米饭、面条、米线,最新推荐菜品集合早餐的早餐主食中与米饭、面条、米线不重复的菜品有年糕、稀饭,则合并得到拟定推荐菜品列表中早餐的早餐主食的菜品为米饭、面条、米线、年糕、稀饭。

本实施例中拟定推荐菜品列表中每餐的菜品种类(例如主食、荤菜、素菜等)与表5的预设的荤素搭配比例表中每餐的菜品种类相同,则根据上述规律可类推得到拟定推荐菜品列表中各餐的各类菜品中的菜品。

7)过滤所述拟定推荐菜品列表中当前家庭近一周已烹饪的菜品或禁忌的菜品,得到针对当前家庭的推荐菜品列表。

步骤S4、根据计算得到的家庭的每日推荐摄入能量值、生成的推荐菜品列表以及预设的每餐中各类菜品所占能量比例生成当前家庭的营养食谱。

本实施例中生成当前家庭的营养食谱的过程具体如下:

根据家庭的每日推荐摄入能量值以及每餐中各类菜品所占能量比例计算得到每餐中每类菜品所分配到的能量值;

根据生成的推荐菜品列表确定每餐中每类菜品具体的每个菜品,获取每个菜品对应的能量密度;

将每类菜品所分配到的能量值均分至该类菜品中的每个菜品,并根据每个菜品对应的能量密度计算得到该菜品对应的重量;

在生成的推荐菜品列表的基础上为每类菜品中每个菜品标注上所计算出的重量生成当前家庭的营养食谱。

本实施例严格根据每日推荐摄入能量值以及每个菜品的能量密度进行计算,从而得到最佳的营养食谱。本实施例中预设的每餐中各类菜品所占能量比例如下:

早餐的主食、荤菜、素菜、奶类/糖水、水果、坚果的能量比例为15:8:2:10:5:6,中餐的主食、荤菜、素菜的能量比例为35:13:5,晚餐的主食、荤菜、素菜的能量比例为30:9.5:5,加餐的水果、奶类/糖水的能量比例为1:2。

基于上述能量比例,根据每日推荐摄入能量值即可得到每餐中每类菜品的能量分配,然后根据每个菜品的能量密度即可得到单个菜品的重量(比如计算得出主食分配到的能量为1000kacl,其中这一餐有两个主食,那么每个主食分配得到的能量就为500kcal,再根据这两个主食的能量密度就可以得到对应菜品的重量,当然每个主食分配到的能量还可以根据用户喜好进行不均等分配),用户即可根据各个菜品的重量进行相应烹饪。如果因菜品替换导致某餐内无对应类型的菜品,直接减去该类型的占比即可(例如家庭的每日推荐摄入能量值为2000kacl,中餐荤素比例为35:13:5,若中餐中素菜个数为0,则中餐荤素比例变为35:13,根据35:13去比例分配2000kacl)。

需要说明的是,本实施例考虑到家庭烹饪中以家庭为单位进行总烹饪,因此计算得到各个菜品的重量即可,在食用时家庭成员一起食用所烹饪的菜品。若需要具体到每个家庭成员各个菜品的可食用重量,则可以根据计算的每个家庭成员的每日推荐摄入能量值进行比例分配即可。

步骤S5、根据用户操作对营养食谱中的菜品进行替换得到最终配餐推荐生成的家庭式营养食谱。

本申请在得到营养食谱后还支持用户主动替换掉其中不喜欢的菜品,最终生成符合家庭用户喜好的营养食谱,以便于更好符合用户需求,得到更加符合用户所需的营养食谱。

本实施例通过构建家庭用户的画像,来形象的表现出用户的喜好、需求及用户的一些行为数据,并且利用推荐系统原理对用户画像进行分析,得到满足用户兴趣爱好的菜品推荐列表,同时在用户使用的过程中,通过搜集与分析用户的行为数据,不断完善家庭用户的画像,从而不断优化营养配餐的结果,进而提高用户对推荐菜谱的满意度。本实施例能够利用家庭用户的行为数据和属性数据自动生成科学的生成家庭营养配餐,简化了营养配餐的过程复杂度的同时也提高了用户对生成的营养食谱的满意度。

在另一个实施例中,提供一种家庭多人组合的配餐推荐系统,即一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。

该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种家庭多人组合的配餐推荐方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种多智能体的集成数据的监控方法及云服务器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!