本发明涉及一种膳食推荐系统。
背景技术:
随着中国经济的发展,人们生活水平的提高,人们对营养膳食的关注程度越来越大,比如一些健身人群、慢性病患者、孕妇、运动人群等,会迫切的需要一套合理的膳食方案,来补充身体的营养达到健康饮食的目的。
现有技术中cn105180232b公开了一种食物营养分析及烹饪系统,其中体征测量设备用于测量用户的体征信息,烹饪设备用于接收选择信号,并根据选择信号,读取用户的体征信息或提示用户输入自身体征信息,并接收用户输入的自身体征信息,及用于将用户的体征信息或自身体征信息上传至服务平台。服务平台用于根据用户的体征信息或自身体征信息,判断用户对应缺乏的营养物质,并根据对应缺乏的营养物质发送推荐食材。烹饪设备用于根据推荐食材进行烹饪,并显示对应缺乏的营养物质。上述食物营养分析及烹饪系统,可显示用户对应缺乏的营养物质,使用户能够清晰地知道体征所缺乏的营养物质,用户在体征测量设备斜测量体征信息时或用户在输入自身体征信息时,也能够跟踪自己的体征。在此现有技术中,虽然可以根据用户的体征信息或自身体征信息判断用户对应缺乏的营养物质,并根据对应的营养物质发送推荐食材,但是人在用餐时,并不是直接对食材进行用餐,因此,现有技术cn105180232b无法为用餐人员推荐完整的膳食方案。
现有技术cn107103200公开的是一种食物营养分析及烹饪系统,该方法包括:获取用户前期每次食用菜品所包含的营养成分;根据用户输入的身体状况参数,在数据库中查询匹配与用户当前身体状况参数相匹配的体质分类;在数据库中查询与所述体质分类相匹配的营养元素和禁忌食物内容;将获取到的用户前期每次食用菜品所包含的营养成分与查询到的与体质分类相匹配的营养元素和禁忌食物内容进行比对分析,对用户前期的食用菜品进行调整,生成若干个新的食物菜谱,实现适合用户体质的食物菜谱的推荐,从而达到有利于用户健康、康复、减肥或成长的目的。虽然现有技术cn107103200可以生成若干个新的食物菜谱,但是此现有技术需要获取用户前期每次食用菜品的营养成分,若无法获取用户前期每次使用菜品的营养成分,则无法为用户进行食谱菜谱的推荐,且推荐的食谱只是对用户前期的食用菜品进行调整,并没有为用户提供适合用户食用的菜谱。
目前针对用户的膳食推荐方法主要包括基于用户的协同过滤方法和基于知识图谱的知识推理方法。基于用户的协同过滤是根据用户的历史行为对用户进行推荐,而当一个新用户到来时,系统没有用户的行为数据无法对用户做推荐,从而导致用户的冷启动问题,基于知识图谱的知识推理方法可以通过自然语言处理的方式来获取用户特征信息和用户意图,然后根据用户的真实意图在知识图谱中进行检索从而对用户进行推荐,可以良好的解决用户的冷启动问题,然而知识图谱强大的推理能力是建立在高质量的数据基础上,由于高质量数据的缺乏或者建模的复杂等问题,在用户膳食目标的精准定位层面上表现一般。
技术实现要素:
为了解决背景技术中相关问题,本发明提供一种膳食推荐系统。
为了实现上述目的,本发明提供了一种膳食推荐系统,包括有信息收集模块、识别模块、专家系统模块、膳食领域知识图谱模块;信息收集模块用于搜集用户信息;识别模块包括有第一识别单元和第二识别单元,第一识别单元根据信息收集模块所收集的用户信息将用户进行分类,第二识别单元用于将第一识别单元分类后的用户进行再次分组;专家系统模块包括有专家定义的规则库和营养计算公式库,规则库及营养计算公式库根据用户信息计算出对应的营养素需求及营养素对应食材;膳食领域知识图谱模块包括有多个数据库,多个数据库包含相似食材数据库与食材食谱对应数据库,相似食材数据库中包含多种不同食材之间的相似关系及相似度,食材食谱对应数据库中包含不同食材与多个食谱之间的对应关系;相似食材数据库根据规则库及营养计算公式库计算出营养素对应的食材并依据相似度计算找到相似食材,食材食谱对应数据库根据食材和相似食材形成膳食方案。
优选地,上述技术方案中,信息收集模块收集用户信息的方式包括通过智能穿戴设备收集用户实时身体状况信息,通过填表、上传病例收集用户特定信息及在线问答交流收集用户特殊要求信息。
优选地,上述技术方案中,第一识别单元设置不同的阙值区分正常人群和非正常人群;第二识别单元将非正常人群进行细分。
优选地,上述技术方案中,专家定义的规则库包括有食材数据库、中国膳食宝塔种类、食物优选法则;专家系统模块根据用户信息,计算出所述用户信息对应每天所需的各种营养素的需求量,并根据中国膳食宝塔种类通过食物优选法则生成对应食材及其重量。
优选地,上述技术方案中,膳食知识图谱知识模块包括有相似食材库和食材食谱对应数据库,膳食知识图谱模块根据所述专家系统模块得出对应食材,相似食材库根据得出的食材重量以及营养素成分进行相似度计算找到相似食材,食材食谱对应数据库根据食材和相似食材找出相对应的食谱。
优选地,上述技术方案中,相似食材数据库及食材食谱对应数据以图数据库形成领域知识图谱。
优选地,上述技术方案中,对食谱和进行筛选和组合,根据每天所需的每个营养素的营养量按比例将所述膳食方案分配到早餐、中餐、晚餐中,并以每餐营养素的营养量为中心结合筛选后的食谱的营养成分含量通过相似度计算每个食谱的相似度,为用户进行推荐。
优选地,上述技术方案中,相似度计算采用马氏距离计算公式。
优选地,上述技术方案中,进一步包括有用户反馈模块,用户反馈模块用于通过用户的反馈来了解系统推荐的膳食方案的合理程度以便对系统进行更新。
与现有技术相比,本发明具有如下有益效果:
本发明通过智能穿戴设备和多种交互方式来收集用户信息,并使用双单元用户人群识别的方式来提高系统对用户类别的区分能力,同时结合专家系统技术和领域知识图谱技术,解决用户的冷启动问题的同时精准计算不同人群对营养素的需求量和食谱的推荐方案,形成一套完整膳食方案推荐的系统,可以针对不同用户进行的营养分析和膳食推荐。
附图说明
图1是本系统的框架图;
图2是本体域的示例图;
图3是数据层的示例图。
其中,附图中标记如下:
100-信息收集模块,110-用户实时身体状况信息,120-用户特定信息,130-用户特殊要求信息,200-识别模块,210-第一识别单元,211-正常人群,212非正常人群,220-第二识别单元,300-专家系统模块,310-专家定义的规则库,311-食材数据库、312-中国膳食宝塔种类、313-食物优选法则、320-营养计算公式库,400-膳食领域知识图谱模块,410-相似食材数据库,420-食材食谱对应数据库,500-用户反馈模块。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
实施例1
如图1所示,一种膳食推荐系统,其特征在于:包括有信息收集模块100、识别模块200、专家系统模块300、膳食领域知识图谱模块400;信息收集模块100用于搜集用户信息;识别模块200包括有第一识别单元210和第二识别单元220,第一识别单元210根据信息收集模块100所收集的用户信息将用户进行分类,第二识别单元220用于将第一识别单元分类后的用户进行再次分组;专家系统模块300包括有专家定义的规则库310和营养计算公式库320,规则库310及营养计算公式库320根据用户信息计算出对应的营养素需求及营养素对应食材;膳食领域知识图谱模块400包括有多个数据库,多个数据库包含相似食材数据库410与食材食谱对应数据库420,相似食材数据库410中包含多种不同食材之间的相似关系及相似度,食材食谱对应数据库420中包含不同食材与多个食谱之间的对应关系;相似食材数据库410根据规则库310及营养计算公式库320计算出营养素对应的食材并依据相似度计算找到相似食材,食材食谱对应数据库根据食材和相似食材形成膳食方案。
实施例2
如图1所示,一种膳食推荐系统,其特征在于:包括有信息收集模块100、识别模块200、专家系统模块300、膳食领域知识图谱模块400;信息收集模块100用于搜集用户信息;识别模块200包括有第一识别单元210和第二识别单元220,第一识别单元210根据信息收集模块100所收集的用户信息将用户进行分类,第二识别单元220用于将第一识别单元分类后的用户进行再次分组;专家系统模块300包括有专家定义的规则库310和营养计算公式库320,规则库310及营养计算公式库320根据用户信息计算出对应的营养素需求及营养素对应食材;膳食领域知识图谱模块400包括有多个数据库,多个数据库包含相似食材数据库410与食材食谱对应数据库420,相似食材数据库410中包含多种不同食材之间的相似关系及相似度,食材食谱对应数据库420中包含不同食材与多个食谱之间的对应关系;相似食材数据库410根据规则库310及营养计算公式库320计算出营养素对应的食材并依据相似度计算找到相似食材,食材食谱对应数据库根据食材和相似食材形成膳食方案。
信息收集模块100收集用户信息的方式包括通过智能穿戴设备收集用户实时身体状况信息110,通过填表、上传病例收集用户特定信息120及在线问答交流收集用户特殊要求信息130;具体的说,本发明通过三种不同的方式收集用户的信息,一种是通过智能穿戴设备如是智能手环、智能手表或智能t恤等可穿戴设备或其它体征测量设备,用来实时监测用户的体温、体重、血压、血糖、心率、营养状况、运动状况等用户的实时身体状况信息,另一种是通过填表、上传病例或其它交互方式收集用户的疾病史、体检报告、忌口、口味、过敏源等用户特定信息;第三种是通过与任务机器人进行qa问答或其它交流方式收集用户增肌1kg、减肥1kg、有什么好的海鲜适合感冒的人吃等用户特殊要求信息。
第一识别单元210设置不同的阙值区分正常人群211和非正常人群212;第二识别单元220将非正常人群进行细分;具体来说,在识别模块中采用双模块对用户人群进行识别来提高系统对用户类别的区分能力,其中第一识别单元的目的是区分正常人群和非正常人群,这是一个经典的二分类问题,技术上采用机器学习中的树模型(gbdt)与逻辑回归(lr)相结合的方式或者采用深度学习模型如cnn模型或者其它分类模型来提高分类的准确率,并设置不同的阈值来满足任务的需要,假设阈值为0.5,第一识别单元得到的结果如果大于0.5则将人群分到非正常人群类别,小于0.5分到正常人群,可以调整阈值来调整系统对人群分类的严格程度;第二识别单元,将第一识别单元识别得到的非正常人群结果进行进一步的细分,如非正常人群又可以细分为高血脂人群,高血压人群等,这是一个多分类的问题,技术上首先采用多个分类模型(gbdt、xgboost、rf、svm、lightgbm)进行类别的识别,然后将多个分类模型进行加权融合,得到最后的识别结果。
专家定义的规则库310包括有食材数据库311、中国膳食宝塔种类312、食物优选法则313;专家系统模块300根据用户信息,计算出所述用户信息对应每天所需的各种营养素的需求量,并根据中国膳食宝塔种类312通过食物优选法312则生成对应食材;具体的来说,专家系统模块300从信息收集模块100收集到的用户实时身体状况信息110是身高180cm,性别男,体重88公斤,当前温度25摄氏度,当前已打球30分钟,收集到的用户特定信息120是对鸡蛋过敏,收集到的用户特殊要求信息130是增肌1kg,通过营养计算公式库320中的计算公式计算出:每日所需能量=基础代谢bmr*劳动强度pal 需要增肌重量1kg×4 30g(碳水化合物)×需要增肌重量1kg×4 (25摄氏度打球30分钟所需能量),再根据专家定义的规则库中的三大营养素供能比:碳水化合物:蛋白质:脂肪=6:2:2,最后根据专家定义的规则库中健身人群微量元素及矿物质推荐量,计算出碳水化合物a1、脂肪a2、蛋白质a3、维生素a4…a24营养素需要量m1、m2、m3、m4…m24,根据专家定义的规则库中的中国膳食宝塔种类(谷薯类、蔬菜类、水果类、畜禽肉、水产品、蛋类、奶及奶制品、大豆及坚果类、盐和油、水),再通过专家定义的规则库中的食物优选法则313,剔除过敏原含鸡蛋所有食材,用同等营养价值的食材代替,推选出食材及其相应重量f1、f2、f3、f4…fn。
膳食知识图谱知识模块400包括有相似食材库410和食材食谱对应数据库420,膳食知识图谱模块400根据所述专家系统模块300得出对应食材,相似食材库410根据得出的食材重量以及营养素成分进行相似度计算找到相似食材,食材食谱对应数据库420根据食材和相似食材找出相对应的食谱。
食材数据库311、相似食材数据库410及食材食谱对应数据420都是以图数据形成的数据库;具体的说以图数据形成的数据库分为模式层和数据层,模式层构建出本体域,通过本体域对图数据库进行约束;数据层采用三元组以<实体,关系,实体>的方式结合neo4j图数据库进行存储;模式层是在数据层之上,是整个知识图谱的核心,是经过提炼抽象后的知识,模式层旨在构建出一系列的本体域,并通过这些本体域来对整个图数据库进行约束,构建本体域首先是明确本体的应用领域和知识范围,然后抽象出领域内的相关类和概念,比如在膳食食谱领域内,最核心的类便是食谱和食材,食谱属于哪个菜系、食谱采用哪种烹饪方式、....、食谱与食材的关系、食材属于哪种类别、食材属于哪个地域等,具体构建的本体域如图2所示;数据层是指真实的数据,采用三元组以<实体,关系,实体>的方式,如<猪肉,属于,辣椒炒肉>结合neo4j图数据库进行存储,并采用至顶向下的构建方法,至顶向下的构建方法是指首先通过领域专家定义本体域,然后在数据库中将数据按规则插入,其中实体和关系也拥有自己的属性,本发明用猪肉炖粉条、猪肉、辣椒、辣椒闷豆腐举例用来说明数据层的构成,如图3所示;
对食谱和进行筛选和组合,根据每天所需的每个营养素的营养量按比例将所述膳食方案分配到早餐、中餐、晚餐中,并以每餐营养素的营养量为中心结合筛选后的食谱的营养成分含量通过相似度计算每个食谱的相似度,为用户进行推荐;具体的说食谱的筛选包括用户的忌口、餐次、地域、疾病情况、身体状况等等,食谱的组合包括荤素搭配、主食搭配、菜和汤的搭配等也可以让用户自定义选择,食谱筛选完后可以得到一系列的膳食方案,然后根据每天所需的每个营养素的营养量按3:4:3的比例分配到早餐、中餐、晚餐食谱中,并以每餐营养素的营养量为中心结合筛选后的食谱的营养成分含量通过相似度公式计算每个食谱的相似度,得出几个最相似的食谱,为用户进行推荐。
相似度计算采用马氏距离计算公式;具体来说,假设食谱的营养成分含量为x=(x1,x2,....),x1,x2...分别代表热量、蛋白质等营养成分含量,每餐营养素的营养量为y=(y1,y2,...),y1,y2…分别代表每餐中热量、蛋白质等营养成分应该摄入量,计算x和y之间的马氏距离如下:
其中∑-1是协方差矩阵。
进一步包括有用户反馈模块500,所述用户反馈模块用于通过用户的反馈来了解系统推荐的所述膳食方案的合理程度以便对系统进行更新。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
1.一种膳食推荐系统,其特征在于:包括有信息收集模块、识别模块、专家系统模块、膳食领域知识图谱模块;
所述信息收集模块用于搜集用户信息;
所述识别模块包括有第一识别单元和第二识别单元,所述第一识别单元根据所述信息收集模块所收集的用户信息将用户进行分类,所述第二识别单元用于将所述第一识别单元分类后的用户进行再次分组;
所述专家系统模块包括有专家定义的规则库和营养计算公式库,所述规则库及所述营养计算公式库根据所述用户信息计算出对应的营养素需求及所述营养素对应食材;
所述膳食领域知识图谱模块包括有多个数据库,所述多个数据库包含相似食材数据库与食材食谱对应数据库,所述相似食材数据库中包含多种不同食材之间的相似关系及相似度,所述食材食谱对应数据库中包含不同食材与多个食谱之间的对应关系;所述相似食材数据库根据所述规则库及所述营养计算公式库计算出所述营养素对应的食材并依据相似度计算找到相似食材,所述食材食谱对应数据库根据所述食材和所述相似食材形成膳食方案。
2.根据权利要求1所述的一种膳食推荐系统,其特征在于:所述信息收集模块收集用户信息的方式包括通过智能穿戴设备收集用户实时身体状况信息,通过填表、上传病例的方式收集用户特定信息及在线问答交流收集用户特殊要求信息。
3.根据权利要求1所述的一种膳食推荐系统,其特征在于:所述第一识别单元设置不同的阙值区分正常人群和非正常人群;
所述第二识别单元将所述非正常人群进行细分。
4.根据权利要求1所述的一种膳食推荐系统,其特征在于:所述专家定义的规则库包括有食材数据库、中国膳食宝塔种类、食物优选法则;所述专家系统模块根据所述用户信息,计算出所述用户信息对应每天所需的各种营养素的需求量,并根据所述中国膳食宝塔种类通过所述食物优选法则生成对应食材及其重量。
5.根据权利要求4所述的一种膳食推荐系统,其特征在于:所述膳食知识图谱知识模块包括有相似食材库和食材食谱对应数据库,所述膳食知识图谱模块根据所述专家系统模块得出对应食材,所述相似食材库根据得出的食材重量以及营养素成分进行相似度计算找到相似食材,所述食材食谱对应数据库根据食材和相似食材找出相对应的食谱。
6.根据权利要求5所述的一种膳食推荐系统,其特征在于:所述食材数据库、所述相似食材数据库及所述食材食谱对应数据都是以图数据形成的数据库。
7.根据权利要求6所述的一种膳食推荐系统,其特征在于:对所述食谱和进行筛选和组合,根据每天所需的每个营养素的营养量按比例将膳食方案分配到早餐、中餐、晚餐中,并以每餐营养素的营养量为中心结合筛选后的食谱的营养成分含量通过相似度计算每个食谱的相似度,为用户进行推荐。
8.根据权利要求1或5或7任一项所述的一种膳食推荐系统,其特征在于:所述相似度计算采用马氏距离计算公式。
9.根据权利要求1所述的一种膳食推荐系统,其特征在于:进一步包括有用户反馈模块,所述用户反馈模块用于通过用户的反馈来了解系统推荐的所述膳食方案的合理程度以便对系统进行更新。
技术总结