首页> 中国专利> 一种基于食物营养与健康知识库的个性化膳食推荐方法

一种基于食物营养与健康知识库的个性化膳食推荐方法

摘要

本发明实施例公开了一种基于食物营养与健康知识库的个性化膳食推荐方法、装置、设备及存储介质,本发明所设计的食物营养与健康知识库本体,其目的是展示食材、食谱、中医体质、疾病、药品、食疗之间的相互关系是如何影响生活习惯病的管理,并对其进行语义建模,用以帮助用户选择每日膳食。本发明所实现的个性化推荐引擎包括食物营养与健康知识库、由语义网规则语言构建的规则集、个性化的用户画像,根据用户的营养需求、偏好、身体特征、医学症状等个性化特性,结合知识库,进行具有可解释性的膳食推荐。

著录项

  • 公开/公告号CN113051391A

    专利类型发明专利

  • 公开/公告日2021-06-29

    原文格式PDF

  • 申请/专利权人 深圳软通动力信息技术有限公司;

    申请/专利号CN202110334920.7

  • 发明设计人 姜春涛;荆继远;

    申请日2021-03-29

  • 分类号G06F16/335(20190101);G06F16/36(20190101);G16H20/60(20180101);

  • 代理机构11332 北京品源专利代理有限公司;

  • 代理人孟金喆

  • 地址 518000 广东省深圳市罗湖区东晓街道布吉路1028号中设广场A栋2-24层

  • 入库时间 2023-06-19 11:39:06

说明书

技术领域

本发明实施例涉及多个交叉技术领域,主要包括:语义网、自然语言处理、推荐系统,尤其涉及一种基于食物营养与健康知识库的个性化膳食推荐方法。

背景技术

与生活方式相关的疾病如糖尿病、高血压、高血脂、痛风、肥胖症是现代生活中的主要问题,然而通过营养学知识的获取,这类问题是可以被预防和阻止的,有时甚至是可逆转的。

食物推荐系统已被标记为一种潜在的帮助用户健康地获取营养的方式,即利用食物推荐作为改变行为的一种策略。在线食谱推荐系统在健康膳食计划中扮演了非常重要的角色。文献Intelligent food planning:personalized recipe recommendation提出了基于内容的食谱推荐系统,其中,食谱的推荐是基于用户对食谱的评价,即根据对个体食材的预测评价,其他食谱的评价也随之通过计算获取,实验结果显示,该推荐方法的性能要超出直接对食物进行协同过滤的方法,然而,作者并没有考虑用户画像和食材的营养信息因素。文献Back to the future:knowledge light case base cookery则使用层次表达法来匹配食材(即,通过人工标记来区分三个层级的重要性,重要性越高的食材,其对食谱相似性计算的贡献就越大),这样不同类型食谱之间的相似性也可进行比较。文献Deriving arecipe similarity measure for recommending healthful meals在所设计的基于营养的餐食推荐系统中,提出了一种计算食谱相似性的方法。该方法将食物特征所发生的频率作为权重,从而构建基于食物的特征向量,这样,两种餐点的相似性,可通过欧氏权重距离进行计算。此推荐系统中,健康食谱的获取是由和所选健康食谱相似的食谱而得来的,其相似性并不是由营养成分而引导的。文献Substructure similarity measurement inChinese recipes提出了一种使用图结构对食谱进行建模的方法。该模型使用食材(作为对象)和烹饪指令(作为行动),将食谱构建成图,这样对食谱的相似性计算就转换为对应的图的相似性计算。

前述研究所提出的食物推荐系统,通常利用相似的推荐策略(即,基于内容或协同过滤的推荐)并聚焦于用户的口味,而忽视食物的营养属性或用户的健康状态。食物偏好并不仅仅由口味来引导,同时还由其他因素决定,如膳食需求、季节性、食材的可获取性、社会习俗和期待。对于能够提供令用户信服和满足的健康推荐而言,除了在营养价值、食材、准备方法的不同以外,通过研究烹饪特有的策略及其可解释性和推荐结果的多样性,将更有价值。

发明内容

本发明提供一种食物营养与健康知识库的个性化膳食推荐方法、装置、设备及存储介质,提供个性化膳食建议的在线推荐引擎,即在给出饮食建议和反馈时,除了考虑个体所遵从的通用膳食指南,同时还考虑用户的个性化信息。

第一方面,本发明实施例提供了一种基于食物营养与健康知识库的个性化膳食推荐方法,所述膳食推荐方法包括:

接收用户输入的待查询膳食信息;

根据所述待查询膳食信息和预先确定的用户信息,确定所述用户对应的目标推荐规则,所述目标推荐规则基于预构建的食物营养与健康知识库生成;

将所述目标推荐规则中所包含的结果数据作为推荐结果。

第二方面,本发明实施例还提供了一种基于食物营养与健康知识库的个性化膳食推荐装置,该膳食推荐装置包括:

接收模块,用于接收用户输入的待查询膳食信息;

规则确定模块,用于根据所述待查询膳食信息和预先确定的用户信息,确定所述用户对应的目标推荐规则,所述目标推荐规则基于预构建的食物营养与健康知识库生成;

推荐结果确定模块,用于将所述目标推荐规则中所包含的结果数据作为推荐结果。

第三方面,本发明实施例还提供了一种计算机设备,该设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的一种基于食物营养与健康知识库的个性化膳食推荐方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的一种基于食物营养与健康知识库的个性化膳食推荐方法。

本发明实施例提供了一种基于食物营养与健康知识库的个性化膳食推荐方法、装置、设备及存储介质,通过接收用户输入的待查询膳食信息;根据所述待查询膳食信息和预先确定的用户信息,确定所述用户对应的目标推荐规则;将所述目标推荐规则中所包含的结果数据作为推荐结果,解决了现有技术中为用户推荐食物时仅能根据用户喜好或通过简单计算食谱的相似性为用户推荐膳食的问题,通过预确定的用户信息为用户提供个性化的膳食建议,提供了一种基于食物营养与健康知识图谱的语义推荐能力,用以支持监督和劝服人们遵循健康的生活方式。

附图说明

图1是本发明实施例一中的一种基于知识库的语义推理引擎架构图;

图2是本发明实施例一中的一种基于食物营养与健康知识库的个性化膳食推荐方法的流程图;

图3是本发明实施例一中的一种用户画像原型类型为高血压的用户信息的效果展示图;

图4是本发明实施例一中的一种用户画像原型类型为高血压前期的用户信息的效果展示图;

图5是本发明实施例二中的一种基于食物营养与健康知识库的个性化膳食推荐方法的流程图;

图6是本发明实施例二中的一种基于食物营养与健康知识库的个性化膳食推荐方法中形成推荐规则集的实现流程图;

图7是本发明实施例二中的一种食物营养与健康本体的概念关系图;

图8是本发明实施例二中的一种‘天然食品’类的层次结构示意图;

图9是本发明实施例二中的一种推荐结果的展示示意图;

图10是本发明实施例三中的一种基于食物营养与健康知识库的个性化膳食推荐装置的结构示意图;

图11是本发明实施例四中的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种基于知识库的语义推理引擎架构图,本实施例可适用于为用户提供个性化膳食推荐建议的情况,本发明聚焦于设计和构建食物营养与健康的知识库及基于该知识库的语义推理引擎FoodNutriCare,用以对特定人群提供个性化的膳食建议。该FoodNutriCare包括:知识库11、推荐引擎12、终端设备13和数据库14。知识库11构建基本上依赖于领域专家,食物与营养数据库、国家标准,食物、营养学教科书,国家营养协会出版物。它由两种形式的知识构成:本体和规则。基于本体的知识表达了食物、营养、疾病、药品、中医体质等概念的知识结构及其关系,同时还表示了用户的知识结构及其健康相关的状态;基于规则的知识则表达了生成推荐结果所使用的决策模型。推荐引擎12以网络本体语言(OWL)和语义网规则语言(SWRL)的形式,从知识库中处理本体数据,随后基于规则的知识被应用于个体数据,产生推荐结果,通过终端设备向用户展示。终端设备13可以为用户21提供网络界面,该网络界面可以向用户展示推荐内容、接收用户的操作,例如,输入问题,或输入用户信息,用于构建用户画像(即用户信息)。数据库14用于存储数据,例如,为用户构建的用户画像。用户画像可以表示用户个体的膳食需求、目标、偏好,数据库14中还可以存储食物营养学的基本指南、疾病史、服用药品、中医个人体质、食疗学等相关知识。

FoodNutriCare的设计利用基于知识的框架,通过采用知识工程的方法,以本体的形式对食物、营养、疾病、药品、中医体质、食疗学等知识进行建模。其中,本体的类、关系、属性和基于规则的领域专家知识作为构建知识库的基础,用以提供语义推荐。

图2为本发明实施例一提供的一种基于食物营养与健康知识库的个性化膳食推荐方法的流程图,本实施例所提供的个性化膳食推荐方法是基于知识库(知识图谱)进行查询和推理的。该方法可以由膳食推荐装置来执行,具体包括如下步骤:

S110、接收用户输入的待查询膳食信息。

在本实施例中,用户可以是任意一个具有查询膳食需求的用户,本申请的膳食推荐方法可以集成在智能设备的应用软件中,用户通过安装应用软件,就可以实现对膳食的查询。用户在安装应用软件后可以进行注册,完善身份信息,以便后续进行膳食推荐。待查询膳食信息可以是用户根据想获取的信息所输入的相关信息,例如,老人适合吃什么,适合老人的菜谱,适合高血压老人的食材等等。

以膳食推荐方法集成在智能设备的应用软件中为例,应用软件中可以设置搜索栏,以便用户输入信息。用户在需要智能设备推荐膳食时,通过在智能设备的搜索栏中输入待查询膳食信息,智能设备实时监测并接收用户所输入的信息。或者,在应用软件中设置不同的选择键,每个选择键代表一种信息,如,菜谱、食材、老人、孕妇、儿童等等,用户通过点击或其他方式选择不同的选择键,智能设备通过接收用户的点击获取用户选择的信息,进而根据所选择的多种信息组成待查询膳食信息。

S120、根据待查询膳食信息和预先确定的用户信息,确定用户对应的目标推荐规则,目标推荐规则基于预构建的食物营养与健康知识库生成。

在本实施例中,用户信息具体可以理解为与用户身体状况、喜好等相关的信息,即用户希望用于推荐相关膳食的信息内容。例如,身高、体重、年龄、疾病史、过敏原、运动情况等等。目标推荐规则具体可以理解为与待查询膳食信息和用户信息相匹配的推理规则。推理规则是一种规则语言,本申请实施例中的推理规则以语义网规则语言(SWRL)为例,SWRL是一种富于表达的基于OWL的规则语言,可以提供更加强大的推理能力。SWRL是构建于和OWL同样的描述性逻辑基础,并对推理任务,提供相似地强大的规范性保证。SWRL所编辑的规则是使用基于OWL概念的表达(类、属性、个体)。一条SWRL规则,包含一个前项(‘BODY’)和一个结果(‘HEAD')。在实际应用中,由于用户众多,并且同一用户也会具有不同需求,所以推荐规则通常设置多个,目标推荐规则为多个推荐规则中的一个。例如,目标推荐规则为[小花,具有,阴虚体质]→[阴虚体质,适宜,食材]→[小花,适宜,食材]。

在用户进行查询前,通常已经由用户画像获得了用户的相关信息,可以是用户自行输入的,也可以是根据用户的浏览记录等相关联的信息推理得到的。将待查询膳食信息和预先确定的用户信息作为查询时所使用的约束条件,然后从多个推荐规则中找到匹配的目标推荐规则。需要知道的是,若此时没有用户信息,用户信息为空,仅需要根据待查询膳食信息寻找匹配的目标推荐规则。

S130、将目标推荐规则中所包含的结果数据作为推荐结果。

在本实施例中,结果数据可以理解为目标推荐规则的结果中所包含的数据,通常选择特定位置的数据作为结果数据,如,最后位置的数据。以S120中的目标推荐规则为例,[小花,适宜,食材]为目标推荐规则中的结果,食材为结果数据。所以食材所对应的实际食材即为推荐结果。

本发明实施例提供了一种基于食物营养与健康知识库的个性化膳食推荐方法,通过接收用户输入的待查询膳食信息;根据所述待查询膳食信息和预先确定的用户信息,确定所述用户对应的目标推荐规则;将所述目标推荐规则中所包含的结果数据作为推荐结果,解决了现有技术中为用户推荐食物时仅能根据用户喜好或通过简单计算食谱的相似性为用户推荐膳食的问题,通过预确定的用户信息为用户提供个性化的膳食建议,提供了一种基于食物营养与健康知识图谱的语义推荐能力,用以支持监督和劝服人们遵循健康的生活方式。

需要知道的是,用户信息是对用户画像的描述,可以对用户进行直观反映。用户画像原型设计可以包括以下内容:1)用户的基本人口统计特征,2)用户的行为和信仰,用户的需求和目标。为了增加对前述假定模型的验证,用户画像原型创建聚焦于三种类型的用户个体:1)具有慢性病的个体,并使用药物,有其他风险因素;2)正常的个体想要健康的膳食,以预防慢性病;3)处在慢性病和正常个体之间的具有前期慢性病的个体,并且没有服药。

作为本实施例的一个可选实施例,本可选实施例进一步优化,在根据所述待查询膳食信息和用户信息确定对应的目标推荐规则之前,还包括:

1a、接收用户输入的画像原型类型。

在本实施例中,画像原型类型具体可以理解为用户个人画像所属的类型,用户个人画像原型是为了描述用户的特征,为了对不同类型的用户采用不同侧重点的描述方式进行描述,所以设置不同的画像原型类型,例如,高血压、糖尿病等等。对于不同画像原型类型采集用户的不同信息。

在用户登录或者注册应用软件时,提示用户输入画像原型类型,或者提供选择项,用户从中选择合适的画像原型类型,接收用户通过触发操作所输入的画像原型类型。用户输入或者选择画像原型类型的时机还可以是登录应用软件后的任一时刻。

1b、根据画像原型类型确定对应的预设画像信息集合,其中,预设画像信息集合包括至少一个待收集信息。

在本实施例中,待收集信息具体可以理解为需要收集的用户的相关信息,例如,身高、体重、病史等等,预设画像信息集合具体可以理解为一个或多个待收集信息所构成的数据集合。

需要知道的是,每个预设画像信息集合中包括了一个或多个待收集信息,不同的预设画像信息集合中所包括的待收集信息可以包括相同的待收集信息,即不同的预设画像信息集合中的信息可以重叠。例如,对于每个用户均需收集身高、体重、年龄,而针对不同疾病类型的用户需收集一些针对性的信息。

预先为不同的画像原型类型设置相应的预设画像信息集合,在已知画像原型类型时,根据映射关系确定对应的预设画像信息集合,在确定了预设画像信息集合后,相应的可以确定集合中的各待收集信息。

1c、依次向用户输出各待收集信息,并获取用户针对每个待收集信息所反馈的反馈信息。

在本实施例中,反馈信息具体可以理解为用户根据待收集信息进行针对性反馈的信息,例如,待收集信息为年龄,相应的反馈信息为46。

1d、根据各反馈信息形成用户信息。

各反馈信息共同组成了用户信息,通过用户信息可以准确描述用户形象。通过预先确定用户信息,准确描述用户,为膳食推荐提供依据,无需用户重复输入,只需输入一次即可。

示例性的,图3给出了一种画像原型类型为高血压用户的用户信息的效果展示图,图中所收集的反馈信息包括年龄、性别、血压,家族病史、生活方式、喜欢的食物、不喜欢的食物、想要达到的目标等等。图4给出了一种画像原型类型为高血压前期用户的用户信息的效果展示图,图中所收集的反馈信息一部分与高血压用户的用户信息相同,除此之外还有一些其他信息,例如,工作种类、工作状态等等。

需要知道的是,某种情况、行为及其他特性可影响患上慢性病的风险,如糖尿病、高血压前期。具有慢性病前期特征的个体必然会对通过改变膳食来减低患上此类病症的风险而感兴趣。其他风险因素还包括:个体摄入什么样的膳食,如,摄入过多的钠,没有摄取足够的钾,身体活动欠缺,肥胖,吸烟、饮酒。此外,遗传学和家庭病史,特别是与生活方式相结合,也是一种风险因素。最终,年龄、性别、和种族对于慢性病的易感性,也扮演了一定的角色。

因此,在设计一种用户画像原型时,有关使用什么类型的信息作为用户的特性,其因素包括:检验病人的信息和病历表格,考虑用户的喜好和不喜好,每日的饮食和运动习惯。其中,最通用的信息被收集,并被反映到如图3和4所示的例子中。通过这样的过程,用户画像的原型被创建,用以提供以下感知:个体的喜好及不喜好,过敏史、当前的药物服用状况、目标。这样,用户画像原型类型的设计,可用来测试和修改本体,确保其预设的功能满足相似需求的用户。本申请实施例所提供的用户进行输入的界面以及向用户输出信息的界面,可以采用中文、英文等任意一种语言,可以设置不同语言选项,由用户自主选择。

作为本实施例的另外一个可选实施例,本可选实施例进一步优化,在根据所述待查询膳食信息和用户信息确定对应的目标推荐规则之前,还包括:

2a、获取用户的关联信息,所述关联信息至少包括以下一种:浏览记录信息、访问内容信息和社交关系信息。

在本实施例中,关联信息具体可以理解为与用户有关的信息,例如,浏览记录信息、访问内容信息和社交关系信息。浏览记录信息具体可以理解为用户在查询或者根据应用软件的推荐进行浏览所产生的信息,如蒜蓉油麦菜,五彩虾仁,糖醋排骨;访问内容信息具体可以理解为对于某一具体信息进行访问时所产生的信息,糖醋排骨的具体做法;社交关系信息具体可以理解为关注、被关注、或者互动的其他用户的信息。

具体的,用户在应用软件上进行操作时,产生的操作记录会按照操作类型进行分类存储,存储至云端或者本地存储空间,在需要确定用户信息时,直接从存储空间中获取用户的关联信息。或者,每隔一段时间获取一次,判断是否有新增的关联信息,如果有,对用户信息进行更新。

2b、对各关联信息进行筛选,得到至少一个目标信息。

在本实施例中,目标信息具体可以理解为从关联信息中所筛选出来的有利于构建用户画像的信息。可以预先设置筛选的规则,根据规则对目标信息进行筛选,得到目标信息。例如,将浏览次数大于设定阈值的菜谱、食材等作为目标信息,将互动超过设定次数的其他用户相关信息作为目标信息等等。

2c、根据各目标信息形成用户信息。

根据目标信息形成用户信息,同样可以形成用户画像,构建用户个人画像模型,便于后续对用户进行针对性的膳食推荐。

需要知道的是,本申请实施例所提供的两种形成用户信息的方式可以仅采用其中一种方式进行,也可以两种方式同时采用,将一种方式所采集的信息作为另一种方式采集信息的补充。本申请实施例对具体实施例方式不做限定。

通过采用不同方式对用户信息进行采集确定,形成个性化的用户画像原型,有利于后续为用户提供准确的膳食推荐。并且通过预先创建不同用户画像原型类型的预设画像信息集合,可以实现对一类用户的通用信息的采集。实现了对不同类型用户的用户信息针对性采集,进而进行个性化膳食推荐,提高用户体验。通过用户的关联信息对用户信息进行采集,无需用户手动输入信息,简化用户操作,在用户无感的情况下达到收集用户信息的效果。

实施例二

图5为本发明实施例二提供的一种基于食物营养与健康知识库的个性化膳食推荐方法的流程图。本实施例的技术方案在上述技术方案的基础上进一步细化,具体主要包括如下步骤:

S210、接收用户输入的待查询膳食信息。

S220、根据待查询膳食信息确定目标概念和关系谓词。

在本实施例中,目标概念具体可以理解为待查询膳食信息中与知识库中概念相匹配的实体;关系谓词具体可以理解为表达不同实体之间关系的谓词。在待查询膳食信息中,目标概念各关系谓词的数量为一个或者多个。

由于本申请实施例所提供的膳食推荐方法是基于知识库的,在构建知识库时所需的概念或数据实例是从专业书籍中获取,或者使用通用的表述。在进行查询推荐时,目标概念和关系谓词需要与知识库相匹配。利用问题解析技术对用户输入的待查询膳食信息进行分析,获取与知识库匹配的目标概念和关系谓词。在对待查询膳食信息进行分析时,可以采用消歧、语义分析等方式。

可以知道的是,为了接收用户输入的待查询膳食信息,可以通过设计一个Web前端界面,知识库所含有的食物营养与健康相关知识可支持:用户以自然语言提问的方式,从知识库中查询明确而清晰的知识。

S230、根据各目标概念、关系谓词和用户信息形成目标查询语句。

在本实施例中,目标查询语句具体可以理解为通过查询语言所编写的、与待查询膳食信息对应匹配的查询语句。

本申请实施例中以Simple Protocol and RDF Query Language(SPARQL)查询语言为例,通过各目标概念、关系谓词和用户信息编写查询语句,得到目标查询语句。

S240、根据目标查询语句从预定义的推荐规则集中进行规则筛选,得到对应的目标推荐规则。

在本实施例中,推荐规则集是由一个或者多个推荐规则所构成的集合,本申请实施例中的知识库以包含了大量的食物、营养、疾病、药品、中医体质、食疗领域的相关知识和概念为例,相应的,需要大量的推荐规则才可以完整表达所有知识。通过目标查询语句从推荐规则集中进行筛选,寻找匹配的推荐规则,将匹配的推荐规则确定为目标推荐规则。

进一步地,图6为本申请实施例提供的一种基于食物营养与健康知识库的个性化膳食推荐方法中形成推荐规则集的实现流程图,推荐规则集的形成步骤包括:

S241、获取预构建的食物营养与健康知识库,食物营养与健康知识库包括本体和数据实例。

本体即由概念、概念之间关系所组成的语义关系网络;数据实例即知识库中的一个具体实例。本申请为了解决现有技术中无法结合多领域知识向用户合理化推荐膳食的问题,在构建知识库时通过语义集成了食物、营养、疾病、药品、中医体质、食疗领域相关的知识和概念,有利于以知识库内在逻辑机制,进行推理,从而为用户提供有益健康的膳食建议。知识库也可以通过添加更多的领域概念和属性,对知识库的广度和深度进行相应的扩展。

S242、根据知识库和预定义的知识抽取规则形成至少一条推荐规则。

在确定了知识库后,由于知识库中包含了本体和数据实例,通过本体可以获得知识库中各概念之间的关系,通过数据实例可实现对概念的实例化,例如,根据领域专家经验预先设定糖尿病病人不能吃糖醋排骨,适合吃油菜炒香菇,糖尿病病人适合吃油菜炒香菇就是一条推荐规则。可以预先根据经验确定知识抽取规则,例如,针对糖尿病病人的所有推荐规则,均不包括甜类食品和菜谱,然后根据知识抽取规则从知识库中进行知识抽取和推理,生成推荐规则。

现从‘人群’、‘中医体质’、‘疾病’,三个概念类,举例说明,本发明所提出的膳食推荐方法,是如何利用本体模型内在的逻辑关系和SWRL规则,通过逻辑推理,来生成推荐规则和推荐结果的,推荐结果包含在推荐规则中。假设,某用户的用户信息为:姓名为‘小花’,其中医体质为‘阴虚体质’,那么根据用户这个单一的特性,其通过内在推理产生的推荐结可由图7所示:图7为本发明实施例提供的一种推荐结果的展示示意图,如作为用户‘小花’,因为具有‘阴虚体质’,其所能适用及不适用的食材和食谱。其中,虚线的边及标签是知识图谱中原来所具有的属性关系,而实线及‘推理’字样的标签及其所在边,所表示的为经过知识图谱的自动推理而新获取的知识。前述推荐结果,其推理过程可由下述三元组关系作简要说明:

由[小花,具有,阴虚体质],[阴虚体质,适宜,食材]推断出[小花,适合,食材]。

以此类推,

由[小花,具有,阴虚体质],[阴虚体质,适宜,食谱]推断出[小花,适合,食谱]。

图7中每类新推出的关系,可用一种规则语言来编写,推断出多少种新关系,就可形成多少条规则,由此形成推荐规则集。本发明实施例采用SWRL编写规则,形成推荐规则集,并集成到原有的知识库中,形成经过扩展的新知识库。同样道理,当用户信息中含有多个属性时,本发明所提出的膳食推荐方法,可同时考虑多个属性,进行组合推荐。假设,同样的用户‘小花’,除了体质属性值不变外,其人群属性为‘老人’,疾病属性为‘糖尿病’,同样可以形成多条推荐规则。

S243、根据各推荐规则形成推荐规则集。

将多个推荐规则存在放同一集合中,形成推荐规则集。以便后续进行膳食推荐。

进一步地,作为本实施例的一个可选实施例,本可选实施例进一步对构建知识库进行优化,构建知识库的步骤包括:

A、确定本体的领域和范围。

在本体开发的初始阶段,需明确以下问题:本体所覆盖的领域是什么?使用本体来干什么?什么人来使用和维护本体?本体能够提供什么类型问题的答案?等。为了能够完成上述问题的回答,下面提出一系列基于本体的知识库应该能够回答的能力问题,这些问题被用于决定本体是否有足够的信息和细节来回答问题。本体的维护者通常应该涉及到领域专家,本发明所设计的本体所关联的能力问题,可以是:a)一个食谱是否会加重现有的过敏状况?b)食谱中的食材是否具有高浓度的营养成分,可引起药食反应?c)如果一个用户每日的钠摄人量要在1500mg内,那么食谱中食材的钠含量是否过高?d)哪些膳食含有食材f1,f2…?e)当患某种疾病d1时,哪些食物不应该吃?f)哪些食谱需要少于10分钟进行烹饪?g)哪些食材可进行搭配?h)食材的禁忌人群?i)哪些食材包含某些营养成分(如,B族维生素)?j)食谱的口味、工艺、难度、做法?k)哪些膳食适合不同人群(如老人、儿童)?l)特定地域的食谱?上述问题并不能代表本体所应提供的完整问题集,只是提供一个参考指南:对于使用什么样的概念和概念之间的关系,用来支持真实世界场景中与食物营养与健康相关的表达。即,明确构建本体所需要数据的领域和范围。

B、获取与本体的领域和范围相关联的目标术语表,目标术语表包括目标术语及对应的术语类型。

在本实施例中,目标术语具体可以理解为根据本体所覆盖的领域所选取的术语。术语类型具体可以理解为目标术语可作为哪一种数据,术语类型包括:类、对象和数据属性;目标术语表具体可以理解为由目标术语和对应的术语类型,以及之间的映射关系所构成的数据表。

在构建知识库时,首先列举本体中重要的术语。当进行本体开发时,列出选定领域相关的术语列表,该步骤的目的是获取一个完整的领域术语表,用以提供开发层次关系的基础。此步骤主要涉及到确定哪些术语成为类、对象、或数据属性。本发明所设计的本体中所使用的目标术语包括:从中国居民膳食指南、中国食物成分表中获取的食物名称,从中医食疗学中获取的中医食疗方名称,从中国食品营养标准(食品营养成分基本术语、营养名词术语、食物成分数据表达规范、食品工业基本术语、高血压膳食指导、成人糖尿病患者膳食指导)中获取的营养术语及食材、食谱名称、烹饪方法、疾病名称、药物名称,及从经典营养学专业书籍中获取的食品、营养、慢性病三者的基本知识及相互深层关系。通过从专业领域书籍中获取目标术语,对其进行分析确定对应的术语类型,形成目标术语表并进行存储。

C、根据目标术语表和预定义术语关系集确定本体。

在本实施例中,预定义术语关系集具体可以理解为存储了多种术语之间关系的集合,术语之间关系预先根据经验或者书籍知识确定;在获取到目标术语表后,根据预定义术语关系集对各目标术语根据术语类型进行分析,包括对目标术语进行多层次分类,定义类的数据属性和属性特征,进而得到各目标术语之间的关系,形成本体。

进一步地,作为本实施例的一个可选实施例,本可选实施例将根据目标术语表和预定义术语关系集确定本体优化为C1-C3所示的步骤:

C1、根据预定义术语关系集对目标术语表中术语类型为类的各目标术语进行分类,并确定类层次关系。

在本实施例中,类层次关系具体可以理解为不同的类之间的关系,例如,‘水生蔬菜’、‘豆类’、‘野生蔬菜’为同一层次的类,‘蔬菜类’为更高层次的类(即父类),‘水生蔬菜’、‘豆类’、‘野生蔬菜’均属于‘蔬菜类’的子类。

本步骤的目的是定义类和类的层次结构。对于所获取的目标术语表,需要根据预定义术语关系表对目标术语进行分类,从而使得整个进程更易于管理。在确定初步的类层次结构后,再进行第二轮的分析,获取概念更广的类层次结构,通过分析,一些初步的类,超出范围,因此被移除列表。以此类推,每个剩余的类,经过仔细审查,用以寻找与其他类之间的关系。作为结果,一些新的概念涌现出来,当所有初始的类和类之间的关系确定后,类和类的层次关系定义开始启动,确定出类层次关系。本实施例提供了一种食物营养与健康本体的概念关系图,如图8所示,包括了概念类中各目标术语之间的类层次关系展示,如,‘食材’、‘菜谱’、‘食物搭配’等等。本申请实施例所设计的本体产生418个类,图8展示了最高层级的15个类,及其相互的概念关系,其中,连接概念之间的边之上的标签,如‘sub',‘has',表示关系名称。

C2、根据术语类型为数据属性的各目标术语对术语类型为类的各目标术语进行属性定义,并为相应的数据属性确定属性特征。

定义类的属性(即插槽),类属性用以体现与类相关的语义信息。本步骤所需的是对内在结构进行建模或者说定义类的插槽。一个类可以有两种类型的属性:1)内在属性;2)相互或关系属性。第一种属性只依赖于一个类,而第二种属性可能依赖于两个或两个以上的其他类。以图8为例,所有带有箭头的边即表示为关系属性,而与概念‘致病因子’相连的不带箭头的边,即为内在属性。定义类的属性通常取决于领域知识和经验。类属性的定义,可使得本体变得富有表达性。图8仅给出了一部分示例,由于‘食材’、‘疾病’等概念还包含很多其他内容,本申请不进行一一举例,本领域技术人员可以知晓。

不同的数据属性具有不同的属性特征,为每个目标术语对应的数据属性定义属性特征,例如,数据属性为‘年龄’,其属性特征为整数型。为相应的数据属性确定属性特征,即定义插槽的值域和槽值所允许的关联项的数目,插槽的值域设置了槽值的不同特性,如,整数型、字符串型等。

C3、根据各目标术语、类层次关系、数据属性和属性特征形成本体。

各目标术语通过类层次关系、数据属性和属性特征构成可以反映彼此之间关系的本体。

进一步地,在形成本体后,还包括:通过第三方开源的推理器对本体的一致性进行交叉验证,并根据验证结果对本体进行修正。

推理器可以从一个清晰声明的事实或定理集合中推断出逻辑结果,它通常提供对推理任务如分类、调试、查询的自动支持。本体中的知识并不总是清晰的,推理器提供一种能力,用于从隐含的知识中演绎出正确的结果。当应用本体时,可能存在不一致性,即说明本体中有错误或冲突之处,阻止进行推理。如果没有捕获这种错误,本体就会存在错误的语义推理机制。使用推理器可以极大地减少这些冲突以及确保本体是具有一致性的。本申请实施例中所采用的推理器可以是FaCT++,Pellet,Hermit,可以从本体中获取事实。推理器的数量可以根据实际需求设置,本申请实施例通过使用FaCT++,Pellet,Hermit三种推理器,进行交叉验证所设计本体的一致性,并根据验证结果对本体进行相应的修正。

D、对本体进行数据实例填充,形成知识库。

通过创建数据实例完成本体填充,该过程使用具体数据实例对所创建的类,属性进行实例填充,例如,‘菠菜’即为‘绿叶蔬菜’类的一个数据实例,‘菠菜’适宜于‘血瘀体质’则为属性实例。本实施例所使用的数据实例来源,可由美食网站、书籍(如中国食物营养成分表、中国居民膳食指南、中医食疗学)、标准(食物成分数据表达规范、成人糖尿病患者膳食指导、高血压膳食指导)、百科(百度百科、互动百科)、数据库(美国农业部国家食物营养数据标准资料库、美国农业部品牌食品数据库、加拿大食物营养成分数据库、中国营养协会食品库)等途径获取。其中,食材、食谱、食材搭配相关实例主要从美食网站、百科、数据库中由网络爬虫程序获取,食物营养成分相关实例主要从书籍、数据库中获取,中医体质、食疗、特定膳食相关实例主要由书籍、标准中提取,疾病、药物、食物和药物相互作用相关实例,主要从专业医学书籍和网站中,通过交叉验证其正确性而获取。

可以知道的是,经由上述步骤所建知识库,共由418个类、33个对象关系、98个数据属性关系、及8273个数据实例组成,相应的,其所表达的食物营养与健康知识图谱共含有109840条三元组知识。如前所述,该本体主要由15个一级类构成,其类的层次关系标签,可由表1描述:表1中示例性的给出了4种,此外,还包括药品、营养、致病因子、人(儿童、老人、成年女性、成年男性)、制作工艺、食谱、膳食许可量、特定膳食、口味、中医体质。本申请实施例以此为例,在实际应用中,不局限于本申请实施例中的例子,还可以有其他种类。

其中层次关系级数较多的概念:如‘食材-天然食品’和‘食材-加工食材’,其层次关系可再次进行细化显示。图9提供了一种‘天然食品’类的层次结构示意图,从图中可以看出,天然食品包括种子、坚果、水产、蔬菜类、水果、乳制品,还可以包括蛋类、畜肉等,本申请实施例仅给出部分示例。其中,水产、蔬菜类、水果、乳制品可以继续细化。本实施例所形成的本体,在‘食材’概念的属性关系中除了添加与中国营养协会食物代码的连接信息,同时还添加了与美国农业部国家食物营养数据标准资料库中的食物代码相连接的信息,通过这种连接方式,使得两大食物营养成分数据库的食物营养知识可以得到共享,有利于知识的链接和融合。

S250、将目标推荐规则中所包含的结果数据作为推荐结果。

与前述研究工作相比,本发明研究所设计和实现的基于食物营养与健康知识图谱的个性化膳食推荐引擎的策略是由用户画像原型(如营养需求及约束、过敏信息、疾病史、服药状况、烹饪习惯、食物偏好、生活方式),和食物的营养特性而激励的。它利用以本体所表达的知识库及语义网规则语言所表达的领域专家知识,对特定人群(慢性病患者、老人、孕妇、儿童)提供营养膳食建议。与现有的方法相比较,本发明内容的不同之处在于以下两方面:

1、知识库本体建模方面

1)设计和集成了多个领域本体:食材本体、食谱本体、营养本体、疾病本体、药品本体、中医体质本体、用户画像本体,并支持中、英两种语言;

2)聚焦于9种生活习惯疾病(糖尿病、高血脂、高血压、痛风、食道癌、肝癌、食物中毒、营养缺乏、营养过剩)和3类特定人群(老人、孕妇、儿童)的营养膳食知识;

3)语义链接了国内外大型公共食品营养数据库:中国营养协会食品库、美国农业部国家食物营养数据标准资料库,实现了语义层的数据融合。

2、个性化膳食推荐引擎方面

1)通过设计用户画像原型,利用特定用户的数据,决定最合适的策略去满足用户的独特需求,从而形成定制化的健康交流;

2)所生成的膳食推荐是基于知识库本体的内在逻辑机制,进行推理而得,与基于深度学习的推荐方法相比,本发明所实现的推荐结果具有可解释性;

3)外部领域专家知识,通过语义网规则语言转换为基于规则的知识,集成于知识库中,用于自动推理生成推荐结果。本发明实施例提供了一种基于食物营养与健康知识库的个性化膳食推荐方法,通过各书籍、专业领域知识等构建知识库,将多个领域中的专业术语及其关系集成到一个知识库中,可以满足不同类型用户的需求,以及同一用户的不同需求,综合多方面的权威知识对用户进行针对性推荐,解决了现有技术中知识库所涉及、覆盖的领域比较单一、知识较少的问题。由于知识库所覆盖的领域和内容的多样性,为保证快速及准确对用户进行推荐,根据所建的知识库,利用语义网规则语言集成专家知识和用户画像于推荐规则,实现为用户提供个性化的健康膳食建议。

实施例三

图10为本发明实施例三提供的一种基于食物营养与健康知识库的个性化膳食推荐装置的结构示意图,该装置包括:接收模块31、规则确定模块32和推荐结果确定模块33。

其中,接收模块31,用于接收用户输入的待查询膳食信息;规则确定模块32,用于根据所述待查询膳食信息和预先确定的用户信息,确定所述用户对应的目标推荐规则,所述目标推荐规则基于预构建的食物营养与健康知识库生成;推荐结果确定模块33,用于将所述目标推荐规则中所包含的结果数据作为推荐结果。

发明实施例提供了一种膳食推荐装置,通过接收用户输入的待查询膳食信息;根据所述待查询膳食信息和预先确定的用户信息,确定所述用户对应的目标推荐规则;将所述目标推荐规则中所包含的结果数据作为推荐结果,解决了现有技术中为用户推荐食物时仅能根据用户喜好或根据食谱的相似性计算为用户推荐膳食的问题,通过预确定的用户信息为用户提供个性化的膳食建议,提供了一种基于食物营养与健康知识图谱的语义推荐能力,用以支持监督和劝服人们遵循健康的生活方式。

进一步地,该装置还包括:

画像类型接收模块,用于接收用户输入的画像原型类型;

集合确定模块,用于根据所述画像原型类型确定对应的预设画像信息集合,其中,所述预设画像信息集合包括至少一个待收集信息;

反馈信息接收模块,用于依次向用户输出各所述待收集信息,并获取用户针对每个待收集信息所反馈的反馈信息;

用户信息形成模块,用于根据各所述反馈信息形成用户信息。

进一步地,该装置还包括:

关联信息获取模块,用于获取用户的关联信息,所述关联信息至少包括以下一种:浏览记录信息、访问内容信息和社交关系信息;

目标信息确定模块,用于对各所述关联信息进行筛选,得到至少一个目标信息;

用户信息确定模块,用于根据各所述目标信息形成用户信息。

进一步地,规则确定模块32,包括:

概念和谓词确定单元,用于根据所述待查询膳食信息确定目标概念和关系谓词;

查询语句确定单元,用于根据各所述目标概念、关系谓词和用户信息形成目标查询语句;

推荐规则确定单元,用于根据所述目标查询语句从预定义的推荐规则集中进行规则筛选,得到对应的目标推荐规则。

进一步地,该装置还包括:

规则集形成模块,用于形成推荐规则集。

规则集形成模块,包括:

知识库获取单元,用于获取预构建的食物营养与健康知识库,所述食物营养与健康知识库包括本体和数据实例;

规则获取单元,用于根据所述知识库和预定义的知识抽取规则形成至少一条推荐规则;

集合确定单元,用于根据各所述推荐规则形成推荐规则集。

进一步地,该装置还包括:构建模块,用于构建食物营养与健康知识库。

构建模块,包括:

范围确定单元,用于确定本体的领域和范围;

术语表获取单元,用于获取与所述本体的领域和范围相关联的目标术语表,所述目标术语表包括目标术语及对应的术语类型;

本体确定单元,用于根据所述目标术语表和预定义术语关系集构成本体;

填充单元,用于对本体进行数据实例填充,形成所述食物营养与健康知识库。

进一步地,本体确定单元,具体用于:根据所述预定义术语关系集对目标术语表中术语类型为类的各目标术语进行分类,并确定类层次关系;根据术语类型为数据属性的各目标术语对术语类型为类的各目标术语进行属性定义,并为相应的数据属性确定属性特征;根据各所述目标术语、类层次关系、数据属性和属性特征形成本体。

本发明实施例所提供的基于食物营养与健康知识库的个性化膳食推荐装置可执行本发明任意实施例所提供的基于食物营养与健康知识库的个性化膳食推荐方法,具备执行方法相应的功能模块和有益效果。

实施例四

图11为本发明实施例四提供的一种计算机设备的结构示意图,如图11所示,该设备包括处理器40、存储器41、输入装置42和输出装置43;设备中处理器40的数量可以是一个或多个,图11中以一个处理器40为例;设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图11中以通过总线连接为例。

存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的膳食推荐方法对应的程序指令/模块(例如,基于食物营养与健康知识库的个性化膳食推荐装置中的接收模块31、规则确定模块32和推荐结果确定模块33)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的膳食推荐方法。

存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置42可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于食物营养与健康知识库的个性化膳食推荐方法,该方法包括:

接收用户输入的待查询膳食信息;

根据所述待查询膳食信息和预先确定的用户信息,确定所述用户对应的目标推荐规则,所述目标推荐规则基于预构建的食物营养与健康知识库生成;

将所述目标推荐规则中所包含的结果数据作为推荐结果。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于食物营养与健康知识库的个性化膳食推荐方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述基于食物营养与健康知识库的个性化膳食推荐装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号