一种饮食推荐方法、装置、系统、存储介质及电子设备与流程

文档序号:28494711发布日期:2022-01-15 03:51阅读:105来源:国知局
一种饮食推荐方法、装置、系统、存储介质及电子设备与流程

1.本发明涉及数据分析的技术领域,尤其涉及一种饮食推荐方法、装置、系统、存储介质及电子设备。


背景技术:

2.健康饮食有助于预防所有类型的营养不良以及包括诸如糖尿病、心脏病、中风和癌症在内的非传染性疾病和慢性疾病。其中,对于预防或控制糖尿病,健康饮食尤为重要,因为饮食是人体获取糖的最直接途径。通过合理的饮食干预,能够有效降低糖尿病的发展速度及并发症风险,甚至对于糖前期或糖尿病轻症用户实现逆转。
3.现有的食谱确定方案所依据的用户数据不够准确,或者即使获得了准确的数据但没有有效的数据分析方法,导致最终的食谱确定存在准确度低等问题。


技术实现要素:

4.本发明提供一种饮食推荐方法、装置、系统、存储介质及电子设备,该方法能够得到准确度高的饮食推荐方案。
5.本发明一方面提供一种饮食推荐方法,该方法包括:获取用户数据,所述用户数据包括基础数据、疾病数据、运动数据以及饮食数据中的至少一项;根据所述用户数据,确定所述用户的病因类型以及与所述病因类型对应的饮食目标;根据所述用户数据,确定所述用户的健康风险以及与所述健康风险对应的饮食建议;根据所述饮食目标和所述饮食建议为所述用户生成饮食指导信息;基于食材库中各食材对应的用户权重,获取与所述饮食目标和所述饮食建议相匹配的目标食材,其中所述用户权重基于用户行为更新;基于所述饮食指导信息和所述目标食材,为用户生成饮食推荐方案。
6.在一可实施方式中,所述根据所述用户数据,确定所述用户的病因类型以及与所述病因类型对应的饮食目标,包括:将所述用户数据输入基于机器学习的病因识别模型或者决策树模型,输出所述用户的病因类型;根据所述病因类型确定所述用户的饮食目标。
7.在一可实施方式中,所述根据所述用户数据,确定所述用户的健康风险以及与所述健康风险对应的饮食建议,包括:将所述用户数据输入多个基于机器学习的健康风险模型或者决策树模型,输出所述用户是否具有该健康风险的结果;根据所述健康风险的结果确定所述用户的饮食建议。
8.在一可实施方式中,所述根据所述饮食目标和所述饮食建议为所述用户生成饮食指导信息,包括:根据所述运动数据确定所述用户的代谢等级;根据所述基础数据、所述代谢等级和所述饮食目标确定所述用户的每日饮食摄入能量;根据所述每日饮食摄入能量和所述饮食建议生成饮食指导信息,所述饮食指导信息至少包括每日进餐次数和每餐各营养成分摄入量。
9.在一可实施方式中,该方法还包括:根据所述用户数据确定所述用户的饮食禁忌;在获取所述目标食材之前,根据所述饮食禁忌对食材进行过滤。
10.在一可实施方式中,所述用户权重基于用户行为更新,包括:根据所述用户的个体行为和/或环境分析更新所述用户权重。
11.在一可实施方式中,所述用户的个体行为包括所述用户对某食材的替换操作和搜索操作,所述环境分析包括季节的改变、用户地点的改变、食材价格的改变。
12.在一可实施方式中,根据所述用户的个体行为更新所述用户权重,包括:若所述用户存在对某食材的替换操作且所述替换操作的次数大于阈值,则降低该食材对应的所述用户权重;若所述用户存在对某食材的搜索操作且选择该食材作为目标食材,则增加该食材对应的所述用户权重。
13.在一可实施方式中,所述基于所述饮食指导信息和所述目标食材,为用户生成饮食推荐方案,包括:根据所述目标食材确定所述目标食材对应的食谱;根据所述目标食材的属性数据、每餐各营养成分摄入量及烹饪方式确定食谱中各目标食材的重量。
14.本发明另一方面提供一种饮食推荐装置,该装置包括:获取模块,用于获取用户数据,所述用户数据包括基础数据、疾病数据、运动数据以及饮食数据中的至少一项;第一确定模块,用于根据所述用户数据,确定所述用户的病因类型以及与所述病因类型对应的饮食目标;第二确定模块,用于根据所述用户数据,确定所述用户的健康风险以及与所述健康风险对应的饮食建议;指导模块,用于根据所述饮食目标和所述饮食建议为所述用户生成饮食指导信息;匹配模块,用于基于食材库中各食材对应的用户权重,获取与所述饮食目标和所述饮食建议相匹配的目标食材,其中所述用户权重基于用户行为更新;推荐模块,用于基于所述饮食指导信息和所述目标食材,为用户生成饮食推荐方案。
15.本发明再一方面提供一种饮食推荐系统,包括:客户端,所述客户端用于接收用户数据;
服务器,所述服务器用于接收所述客户端发送的指令,并根据所述指令为用户生成饮食推荐方案;数据库,所述数据库用于存储食材和食谱数据。
16.本发明再一方面提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本发明所述的饮食推荐方法。
17.本发明还一方面提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本发明所述的饮食推荐方法。
18.本发明的上述方案中,通过获取用户数据并对用户数据进行分析确定用户的病因类型和病因类型对应的饮食目标,根据用户数据确定用户的健康风险以及与健康风险对应的饮食建议,根据饮食目标和饮食建议为用户生成饮食指导信息,再基于食材库中各食材对应的用户权重,获取与饮食目标和饮食建议相匹配的目标食材,最后基于饮食指导信息和目标食材,为用户生成饮食推荐方案。本发明通过获取准确的用户数据并对用户数据采用有效的分析方法,确定出针对性强、准确度高的饮食推荐方案。
附图说明
19.图1示出了本发明一实施例提供的一种饮食推荐方法的流程示意图;图2示出了本发明一实施例提供的食材库的示意图;图3示出了本发明一实施例提供的一种饮食推荐装置的结构示意图。
具体实施方式
20.为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.如图1所示为本发明实施例提供的一种饮食推荐方法,本发明所指的饮食推荐记录了每日各餐的食谱名称、所需的食材配料、所含的营养成分含量及热量等,该饮食推荐可以是一份文件也可以是一张表格,本发明对饮食推荐的具体表现形式不做限制。
22.该方法包括:步骤s101、获取用户数据,所述用户数据包括基础数据、疾病数据、运动数据以及饮食数据中的至少一项;步骤s102、根据所述用户数据,确定所述用户的病因类型以及与所述病因类型对应的饮食目标;步骤s103、根据所述用户数据,确定所述用户的健康风险以及与所述健康风险对应的饮食建议;步骤s104、根据所述饮食目标和所述饮食建议为所述用户生成饮食指导信息;步骤s105、基于食材库中各食材对应的用户权重,获取与所述饮食目标和所述饮
食建议相匹配的目标食材,其中所述用户权重基于用户行为更新;步骤s106、基于所述饮食指导信息和所述目标食材,为用户生成饮食推荐方案。
23.本发明的上述方案中,本发明的上述方案中,通过获取用户数据并对用户数据进行分析确定用户的病因类型和病因类型对应的饮食目标,根据用户数据确定用户的健康风险以及与健康风险对应的饮食建议,根据饮食目标和饮食建议为用户生成饮食指导信息,再基于食材库中各食材对应的用户权重,获取与饮食目标和饮食建议相匹配的目标食材,最后基于饮食指导信息和目标食材,为用户生成饮食推荐方案。本发明通过获取准确的用户数据并对用户数据采用有效的分析方法,确定出针对性强、准确度高的饮食推荐方案。
24.在一个示例中,步骤s101中,基础数据为用户生理数据,其中用户生理数据为表征用户生理指标的数据,例如用户生理数据包括用户的性别、年龄、身高、体重、腰围、臀围等。
25.用户疾病数据包括用户的病程(病程指用户罹患某疾病的时间长度,通常以年为单位)、疾病类型、与疾病类型对应的检验指标、并发症、家族史、用药信息等。
26.其中疾病类型对应的检验指标为表征该疾病的指标数据,不同的疾病类型所对应的检验指标存在差别。例如对于糖尿病来说,检验指标包括空腹血糖、空腹胰岛素、血糖均值、胰岛素均值、随机血糖、内脏脂肪等级、甘油三酯、转氨酶、肾小球滤过率、血尿酸、血压、胰岛素、c肽、糖化血红蛋白等指标数据。例如对于肝病来说,检验指标包括转氨酶、谷丙转氨酶、谷草转氨酶、白蛋白、球蛋白、白球比值、胆红素、胆汁酸等指标数据。
27.运动数据为表征用户运动行为的数据,运动数据包括用户的运动习惯,例如用户每日的运动种类以及各运动的运动时长等。
28.饮食数据体现了用户对饮食的倾向性,例如主食中喜欢米饭,不喜欢馒头;蔬菜中喜欢菠菜、生菜,不喜欢胡萝卜。饮食数据可以为一张表格,该表格上记载了用户喜欢哪些食材、不喜欢哪些食材等信息。以及对哪些食材有禁忌,即对食材进行分类。
29.本发明通过获取用户的基础数据、疾病数据、运动数据以及饮食数据,一方面丰富了用户数据的内容,另一方面由于采集的用户数据比较全面,有利于提高饮食推荐方案的准确度。
30.在一个示例中,获取用户数据后,该方法还包括:对获取的用户数据进行预处理。
31.其中,所述预处理包括数据准确性检查及缺失值处理。
32.对获取的用户数据进行准确性检查,对不准确的用户数据进行修正或删除该条不准确的用户数据。例如将用户数据中的基础数据、疾病数据等指标数据与各指标数据对应的有效范围进行比较,根据比较结果确定该用户数据是否准确。若数据不准确,再根据比较结果对错误的用户数据进行修正或删除。
33.例如,某成年用户的身高为120厘米,该身高不符合本发明对该数据的要求,则删除该条用户数据。或者某用户的血压为200,该血压数据不符合血压有效范围,该用户的血压数据很可能是测量有问题的数据,因此删除该条用户数据。
34.例如,血糖常用的单位有mg/dl与mmol/l,不同血糖单位的有效值域不同,比如:某用户的血糖数据是120mmol/l,显然远超出血糖有效值域,该数据很可能是错误的单位导致,例如将血糖单位修改为mg/dl或者根据两种单位之间的换算关系进行换算,该血糖数据修正为120mg/dl或6.67mmol/l。再例如某男性用户的体重数据为140(单位为kg),但该用户
的腰围数据正常,此时很可能是体重数据的单位为“斤”,因此将该体重数据修正为70kg。
35.对于用户数据中存在缺失值的情况,对存在缺失值的用户数据进行填充,例如采用均值或众数对缺失的数据进行填充,若获取的用户数据足够多,则删除该条存在缺失值的用户数据。
36.在一个示例中,根据步骤s102,根据所述用户数据,确定所述用户的病因类型以及与所述病因类型对应的饮食目标,包括:将所述用户数据输入基于机器学习的病因识别模型或者决策树模型,输出所述用户的病因类型;根据所述病因类型确定所述用户的饮食目标。
37.将用户的基础数据和疾病数据输入基于机器学习的病因识别模型或决策树模型,其中病因识别模型可以是梯度提升树模型、多类别分类模型,且不限于此,经过模型计算输出该用户的病因类型。例如以糖尿病患者的用户数据为例,输入用户的腰围、臀围、空腹血糖、空腹胰岛素、血糖均值、胰岛素均值、随机血糖、内脏脂肪等级、甘油三酯、转氨酶、肾小球滤过率、血尿酸、血压、胰岛素、c肽、糖化血红蛋白等指标数据,根据这些数据,病因识别模型或决策树模型输出用户的病因类型,例如病因类型为“肥胖导致胰岛素抵抗”或“脂毒性伴糖毒性引起的胰岛功能下降”或“长期脂毒性伴糖毒性引起胰岛功能下降及肌肉流失”。其中“肥胖导致胰岛素抵抗”病因类型对应的饮食目标为减脂;“脂毒性伴糖毒性引起的胰岛功能下降”病因类型对应的饮食目标为减脂和增肌;“长期脂毒性伴糖毒性引起胰岛功能下降及肌肉流失”病因类型对应的饮食目标为增肌。
38.在一个示例中,用户的病因类型除了基于病因识别模型或决策树模型判断外,还可以将用户数据与对应的阈值范围作比较,根据比较结果确定用户的病因类型。例如以基础数据为例说明,若已知一位男性用户的腰围和臀围,根据腰围和臀围的比值确定该用户的腰臀比,假设男性的腰臀比阈值范围是0.8至0.9,根据该用户的腰臀比和腰臀比的阈值范围可确定第一结果。例如该用户的腰臀比为0.78,则比较结果为第一结果为该用户的腰臀比不超标;若该用户的腰臀比为0.95,则第一结果为该用户的腰臀比超标。
39.疾病类型以糖尿病为例,根据检验指标中的空腹血糖和空腹胰岛素对用户的胰岛素抵抗进行评估,具体评估方法可通过homa-ir公式,其中空腹血糖的单位为mmlo/l,空腹胰岛素单位为μu/ml,22.5为校正因子。胰岛素抵抗除了用homa-ir公式进行评估外,还可采用matsuda指数、李光伟指数、quiski指数等,例如目前普遍采用matsuda指数公式用于评估胰岛素抵抗,本发明对胰岛素抵抗的评估方法不做具体限制。
40.根据胰岛素抵抗指数和胰岛素抵抗指数的阈值范围可以确定第二结果,例如第二结果为胰岛素抵抗程度高或胰岛素抵抗程度一般或胰岛素抵抗程度低。
41.同理根据检验指标中的内脏脂肪等级和内脏脂肪等级的阈值范围确定第二结果,
例如第二结果为内脏脂肪等级超标或内脏脂肪等级不超标。根据检验指标中的糖化血红蛋白和糖化血红蛋白的阈值范围确定第二结果,假设糖化血红蛋白的阈值范围为4%至6%,若用户的糖化血红蛋白为10%,第二结果为糖化血红蛋白过高。本发明对根据其它检验指标和检验指标阈值如何确定第二结果,不再一一列举。
42.根据第一结果、第二结果以及第一结果和第二结果的组合得到多个数组,即一个数组可以是一个第一结果,也可以是一个第二结果,也可以是第一结果和第二结果的组合,其中第一结果和第二结果的组合中至少包括一个第一结果和一个第二结果。
43.构建的知识库用于记录病因类型和数组的映射关系以及风险类型和数组的映射关系,构建的知识库如表1所示:表1病因类型数组风险类型数组病因1数组1风险1数组11病因2数组2病因2数组12病因3数组3风险3数组13病因4数组4风险4数组14病因5数组5风险5数组15
…………
其中表1中的“...”表示省略,例如病因类型除了示例的5种外,还包括其它病因。
44.根据用户的第一结果和第二结果判断第一结果和第二结果所在的数组,根据数组和病因类型之间的映射关系从知识库中确定病因类型,例如:(1)若根据用户的基础数据和检验指标确定的第一结果为腰臀比超标,第二结果为胰岛素抵抗程度高、体内脏脂肪等级超标,其中腰臀比超标,胰岛素抵抗程度高、体内脏脂肪等级超标在数组1,根据表1,数组1与病因1之间存在映射关系,病因1为“肥胖导致胰岛素抵抗”,因此根据该用户的基础数据和检验指标可以确定该用户的病因类型,此时该用户的饮食目标为减脂;(2)若根据用户的基础数据和检验指标确定的第一结果为腰臀比超标,第二结果为胰岛素抵抗程度一般、内脏脂肪等级超标、有脂肪肝,其中腰臀比超标、胰岛素抵抗程度一般、内脏脂肪等级超标、有脂肪肝在数组2,根据表1,数组2与病因2之间存在映射关系,病因2的病因类型为“脂毒性伴糖毒性引起的胰岛功能下降”,此时该用户的饮食目标为减脂和增肌;(3)若根据用户的基础数据和检验指标确定的第一结果为身体质量指数(bmi)过低,第二结果为胰岛素抵抗程度较低、糖化血红蛋白过高、病程长,其中身体质量指数(bmi)过低、胰岛素抵抗程度较低、糖化血红蛋白过高、病程长在数组3,根据表1,数组3与病因3之间存在映射关系,病因3的病因类型为“长期脂毒性伴糖毒性引起胰岛功能下降及肌肉流失”,此时该用户的饮食目标为增肌。
45.上述三种病因类型仅是本发明的举例说明,病因类型不局限于上述三种类型,本发明对病因类型的数量和具体病因内容不做限制。
46.在一个示例中,在步骤s103中,所述根据所述用户数据,确定所述用户的健康风险以及与所述健康风险对应的饮食建议,包括:
将所述用户数据输入多个基于机器学习的健康风险模型或者决策树模型,输出所述用户是否具有该健康风险的结果;根据所述健康风险的结果确定所述用户的饮食建议。
47.将用户的基础数据和疾病数据输入多个基于机器学习的健康风险模型或者决策树模型,其中健康风险模型可以是梯度提升树模型、多类别分类模型,且不限于此,经过模型计算输出该用户的健康风险。例如以糖尿病患者的用户数据为例,输入用户用药信息、血糖均值、肾小球滤过率、血尿酸、血压、等指标数据,根据这些数据,健康风险模型或者决策树模型输出健康风险的结果。例如健康风险的结果为“低血糖风险”或“慢性肾小球肾炎风险”或“高血压风险”或“尿酸高风险”,其中“低血糖风险”对应的饮食建议为睡前加餐,“慢性肾小球肾炎风险”对应的饮食建议为低蛋白饮食,“高血压风险”对应的饮食建议为低盐饮食,“尿酸高风险”对应的饮食建议为低嘌呤饮食。
48.在一个示例中,用户的健康风险除了根据上述健康风险模型或者决策树模型确定外,还可以根据用户的第一结果和第二结果判断第一结果和第二结果所在的数组,根据数组和健康风险之间的映射关系从知识库中确定健康风险的结果,例如:(1)根据用户的用药信息和用药信息阈值确定第一结果,假设第一结果为血糖低,血糖低在数组11,根据表1,与数组11存在映射关系的为风险1,风险1的健康风险的结果为低血糖风险,存在该风险类型的用户对应的饮食建议为应该加餐,尤其是睡前加餐;(2)根据检验指标中的肾小球过滤检验指标和肾小球过滤检验阈值确定第二结果,假设第二结果为肾小球过滤检验指标超标,肾小球过滤检验指标超标在数组12,根据表1,与数组12存在映射慢性肾小球肾炎风险关系的为风险2,风险2的健康风险的结果为慢性肾小球肾炎风险,存在该风险的用户对应的饮食建议为低蛋白饮食;(3)根据血压指标和血压阈值确定第二结果,假设第二结果为血压高,血压高在数组13,根据表1,与数组13存在映射关系的风险类型为风险3,风险3的健康风险的结果为高血压风险,存在该风险类型的用户对应的饮食建议为低盐饮食;(4)根据尿酸指标和尿酸阈值确定第二结果,假设第二结果为尿酸高,尿酸高在数组4,根据表1,与数组4存在映射关系的为风险4,风险4的健康风险的结果为尿酸高,存在该风险类型的用户对应的饮食建议为低嘌呤饮食。
49.上述四种健康风险的类型仅是本发明的举例说明,健康风险的类型不局限于上述四种类型,本发明对健康风险的类型的数量和具体风险内容不做限制。
50.通过确定用户的病因类型和健康风险的结果能够对后续饮食推荐方案的确定起到指导作用,从而进一步提高饮食推荐的准确性。
51.在一个示例中,在步骤s104中,所述根据所述饮食目标和所述饮食建议为所述用户生成饮食指导信息,包括:根据所述运动数据确定所述用户的代谢等级;根据所述基础数据、所述代谢等级和所述饮食目标确定所述用户的每日饮食摄入能量;根据所述每日饮食摄入能量和所述饮食建议生成饮食指导信息,所述饮食指导信息至少包括每日进餐次数和每餐各营养成分摄入量。
52.例如根据用户的运动数据确定用户的代谢等级,再根据用户的基础数据、代谢等
级及饮食目标确定用户的每日饮食摄入能量。
53.例如根据用户基础数据中的性别、身高、体重、年龄,采用mifflin-st jeor equations方程计算用户每日所需的热量,男性:bmr(kcal)=9.99w+6.25h-4.92a+5女性:bmr(kcal)=9.99w+6.25h-4.92a-161其中w为体重(kg),h为身高(cm),a为年龄(周岁)。
54.用户每日所需的热量还可以根据henry方程:18-30岁:男性:bmr(kj)=51
×
体重(kg)+3500女性:bmr(kj)=47
×
体重(kg)+288030-60岁:男性:bmr(kj)=53
×
体重(kg)+3070女性:bmr(kj)=39
×
体重(kg)+3070用户每日所需的热量除了采用举例说明的两种方法确定外,还可以采用其它方法确定,例如cunningham equation、liu equation等,本发明对每日所需的热量的确定方法不做限制。
55.用户每日所需的热量的确定后,根据用户的代谢等级和饮食目标确定用户的每日饮食摄入能量。例如用户每日所需的热量为1800大卡,该用户的代谢等级差。且该用户的饮食目标为减脂,则每日饮食摄入能量应低于1800大卡。例如将用户的代谢等级、饮食目标、基础数据输入模型,模型根据输入数据输出用户每日饮食摄入能量,该模型可以是逻辑回归模型等,本发明对此不做限制。
56.根据用户每日饮食摄入能量和饮食建议生成饮食指导信息,饮食指导信息包括每日进餐次数、每餐各营养成分摄入量、标准热量下的各营养成分含量;以及标准热量下各餐中各食材的质量。
57.用户的每日进餐次数跟用户的疾病类型以及用户基础数据和用户疾病数据有关,进餐次数还可以根据饮食建议中的加餐建议确定。例如有些用户适合一日三餐,对于糖尿病类型且存在“苏木杰现象”的用户来说则适合一日四餐,即常规的早中晚三餐以及睡前加餐;还有一些用户适合一日五餐或者六餐,本发明对每日进餐次数不做具体限制。
58.每种进餐次数下各餐的热量比例,例如对于一日四餐的用户来说,早餐、中餐、晚餐及睡前加餐的热量比例为3:4:2:1。
59.每餐各营养成分摄入量为每餐所需的碳水化合物、蛋白质、纤维素等营养成分的含量,每餐营养成分摄入量可以根据饮食建议中营养成分建议确定,例如饮食建议为低蛋白饮食,则应该降低每餐中蛋白质的摄入量。
60.标准热量下的各营养成分含量,例如每日所需的碳水化合物、蛋白质、脂肪、纤维素等营养成分的含量,根据每种进餐次数下各餐的热量比例,还可以确定每餐所需的碳水化合物、蛋白质、脂肪、纤维素等营养成分的含量。
61.标准热量下各餐中各食材的质量,例如早餐中馒头为80g,牛奶200g,鸡蛋60g,香蕉100g。
62.根据用户每日所需的热量及每种进餐次数下各餐的热量比例确定每餐所需的热
量;再根据每餐所需的热量及单位食材包含的热量确定待选食材的质量。通过采用上述方案,能够提高饮食推荐的准确度。
63.在一个示例中,该方法还包括:根据所述用户数据确定所述用户的饮食禁忌;在获取所述目标食材之前,根据所述饮食禁忌对食材进行过滤。
64.饮食禁忌指因过敏等因素导致饮食推荐方案中绝对不能包含的特定食材或成分,例如某用户对花生过敏,因此该用户的禁忌食材中包括花生,该用户的饮食推荐方案中则不能出现花生或者由花生制作的其它食材。
65.在一个示例中,在步骤s105中,基于食材库中各食材对应的用户权重,获取与所述饮食目标和所述饮食建议相匹配的目标食材,其中所述用户权重基于用户行为更新。所述食材库用于记录食材信息,所述食材信息包括食材名称、食材类型、食材的营养构成、单位食材包含的营养成分含量及热量以及食材对应的用户权重。
66.其中,食材对应的用户权重为根据地域、季节、城乡等环境因素以及用户的个人因素设定的权重,例如对于沿海城市的用户来说,优质蛋白中鱼虾的权重相对较高,而对于非沿海城市的用户,优质带白中鱼虾的权重相对较低。用户的个人因素指用户对食材的倾向性,若用户喜好某食材,则该食材的用户权重相对较高;若用户不喜好某食材,则该食材的用户权重相对较低;若用户对某食材有禁忌,则该禁忌食材对应的用户权重为0。
67.如图2所示为构建的食材库的示意图,例如大米,大米的食材信息包括食材名称米饭,食材类型为主食,食材的营养构成包括碳水化合物、脂肪、蛋白质、纤维素,100g米饭的营养成分含量为碳水化合物25.9g、脂肪0.3g、蛋白质2.6g、纤维素0.3g,100g米饭的热量为116大卡,米饭的初始权重为2。
68.从食材库中获取待选食材列表,其中待选食材列表中的各种食材均是用户可以食用的食材,通过结合用户的病因类型、饮食目标以及饮食数据和饮食禁忌从食材库中过滤掉不适合用户食用的食材,即得到待选食材列表。例如用户的病因类型是“肥胖导致胰岛素抵抗”,则食材库中的高脂肪的食材不适合用户食用,因此食材库中需要过滤掉高脂肪的食物;例如用户的饮食禁忌数据中确定用户对虾过敏,不能食用虾,则待选食材列表中不包括虾,例如待选食材列表如表2:表2
其中表2中的“...”表示省略,例如主食中除了示例的米饭、馒头、包子外,还有其它主食。
69.在一个示例中,从所述待选食材列表中确定目标食材,包括:根据食材对应的用户权重构建食材池,所述食材库中包括多个种类的食材,每个种类食材的数量根据该种类食材对应的用户权重确定,从所述食材池中随机选择目标食
材。
70.对于上述获取的待选食材列表,根据食材对应的用户权重构建一个食材池,例如食材池中共包括10种类型食材,分别编号为食材1至食材10,其中食材1至食材10的权重分别为1、2、2、3、2、2、1、4、3、5,假设食材池中食材的数量是100,则食材池中食材1至食材10的数量分别为4、8、8、12、8、8、4、16、12、20,从食材池中随机选取食材1至食材10,由于食材10的权重最大,因此食材10被选中的概率最大。
71.在一个示例中,所述用户权重基于用户行为更新,包括:根据所述用户的个体行为和/或环境分析更新所述用户权重。
72.用户的个体行为包括用户对某食材的替换操作和搜索操作,所述环境分析包括季节的改变、用户地点的改变、食材价格的改变。
73.在一个示例中,根据所述用户的个体行为更新所述用户权重,包括:若所述用户存在对某食材的替换操作且所述替换操作的次数大于阈值,则降低该食材对应的所述用户权重;若所述用户存在对某食材的搜索操作且选择该食材作为目标食材,则增加该食材对应的所述用户权重。
74.例如,用户已经有30天的行为记录,若今天用户选择不吃牛肉(饮食推荐方案中包含牛肉时,选择更换),且前面30天记录中的牛肉均正常采纳,此种状况不降低牛肉对应的用户权重,原因可能是“冰箱里目前没有牛肉,无法制作”。同样的,若用户近一周内多次选择不吃牛肉,至少表明该用户近期不吃牛肉或不方便吃牛肉,则要降低牛肉对应的用户权重,保证接下来一段时间牛肉被推荐出的概率一定幅度降低。例如用户搜索鲈鱼,并将鲈鱼加入到自己的饮食推荐方案中,则增加鲈鱼对应的用户权重。
75.在一个示例中,环境分析包括季节的改变、用户地点的改变、食材价格的改变,例如某地区夏季是虾的丰收季节,则夏季时虾对应的用户权重增加,冬季时虾对应的用户权重降低。或者某一食材的价格增加,超过用户的预期,则相应降低该食材对应的用户权重。通过动态调节各食材对应的用户权重,有利于提高饮食推荐方案的效率和准确度。
76.在一个示例中,在步骤s106中,所述基于所述饮食指导信息和所述目标食材,为用户生成饮食推荐方案,包括:根据所述目标食材确定所述目标食材对应的食谱;根据所述目标食材的属性数据、每餐各营养成分摄入量及烹饪方式确定食谱中各目标食材的重量。
77.在一个示例中,确定目标食材后,从食谱库中确定该目标食材对应的食谱,所述食谱库用于记录食谱信息,所述食谱信息包括食谱的制作方式、烹饪方法、注意事项、食材配料表以及食谱的权重。
78.根据饮食禁忌和食材配料表从食材库中确定待选食谱列表,若食材配料表中包括饮食禁忌数据中的食材,则从食材库中过滤包含该食材配料表的食谱。例如用户对花生过敏,虽然食谱a中的食材不包括花生,但是制作食谱a时,使用的食材配料表中包括花生酱,则食谱a被过滤,不能成为待选食谱。食谱库中过滤掉不能选择的食谱后,剩余食谱组成的列表即为待选食谱列表。
79.在一个示例中,从所述待选食谱列表中确定目标食谱,包括:
根据食谱的权重构建食谱池,所述食谱库中包括多个种类的食谱,每个种类食谱的数量根据该种类食谱的权重确定,从所述食谱池中随机选择目标食谱。
80.例如待选食谱列表中有五种食谱,分别编号为食谱1至食谱5,食谱1至食谱5的权重分别为1、2、2、3、2,构建一个食谱池总量为100的食谱,则食谱池中食谱1至食谱5的数量分别为10、20、20、30、20,从食谱池中随机选择目标食谱。
81.根据目标食材的属性数据、每餐各营养成分摄入量及烹饪方式确定目标食谱中各目标食材的重量。
82.如图3所示为本发明一实施例提供的一种饮食推荐装置的结构示意图,该装置包括:获取模块201,用于获取用户数据,所述用户数据包括基础数据、疾病数据、运动数据以及饮食数据中的至少一项;第一确定模块202,用于根据所述用户数据,确定所述用户的病因类型以及与所述病因类型对应的饮食目标;第二确定模块203,用于根据所述用户数据,确定所述用户的健康风险以及与所述健康风险对应的饮食建议;指导模块204,用于根据所述饮食目标和所述饮食建议为所述用户生成饮食指导信息;匹配模块205,用于基于食材库中各食材对应的用户权重,获取与所述饮食目标和所述饮食建议相匹配的目标食材,其中所述用户权重基于用户行为更新;推荐模块206,用于基于所述饮食指导信息和所述目标食材,为用户生成饮食推荐方案。
83.本发明再一方面提供一种饮食推荐系统,该系统包括:客户端,所述客户端用于接收用户数据;服务器,所述服务器用于接收所述客户端发送的指令,并根据所述指令为用户生成饮食推荐方案;数据库,所述数据库用于存储食材和食谱数据。
84.客户端除了接收用户数据外,还可以接受用户的界面操作,例如用户在客户端界面对目标食材的替换操作或用户的搜索操作。服务器接收客户端发送的指令后,服务器基于该指令执行饮食推荐方法,从数据库中选择目标食材和目标食谱,最终生成用户的饮食推荐方案。
85.本发明再一方面提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本发明所述的饮食推荐方法。
86.本发明还一方面提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本发明所述的饮食推荐方法。
87.除了上述方法和设备以外,本技术的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本技术各种实施例的方法中的步骤。
88.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
89.此外,本技术的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本技术各种实施例的方法中的步骤。
90.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
91.以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。
92.本技术中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
93.还需要指出的是,在本技术的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。
94.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本技术。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本技术的范围。因此,本技术不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
95.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本技术的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1