一种基于智能算法的个体化健康饮食的推荐方法与流程

文档序号:36501595发布日期:2023-12-28 04:51阅读:94来源:国知局
一种基于智能算法的个体化健康饮食的推荐方法与流程

本方法涉及一种健康饮食评估推荐系统,尤其是针对罹患饮食代谢综合征的高风险人群,该系统可以针对他们的健康水平,饮食习惯,饮食喜好,推荐合理的健康食谱,从而大幅降低饮食不当导致的代谢疾病的产生和恶化。


背景技术:

1、互联网和移动技术使人们能够随时随地访问信息。因此,人们的生活方式已经被在线系统彻底改变,包括社交媒体、电子商务和不同的生活方式应用程序。当朋友聚餐时,他们可能会在社交媒体上分享他们喜欢的食物的照片,而其他人在决定吃什么时可能会转向应用程序寻求建议。如今,饮食偏好在满足各种必需品方面变得越来越重要,包括基本营养、卡路里、口味、心理健康和社会文化环境。同时,不当的饮食是导致肥胖和糖尿病患病率大幅上升的主要原因。根据全球疾病负担研究,饮食模式是营养不良、肥胖和肥胖阈值的重要组成部分,不健康的饮食每年导致1200万人过早死亡。因此,食物科学性的推荐正在成为解决这些问题的新科学分支。食品推荐系统在广泛的基于在线技术的生活方式应用程序中发挥着至关重要的作用,它们已成为许多生活方式和服务的重要组成部分,进而可以用来促进人们走向健康的生活方式。采用这些方法寻找合适的食品来满足特定用户的日常饮食偏好,同时使这些人能够满足其基本的生物和生理需求,并充分开展日常活动。

2、在当今时代,许多在线服务和应用程序在互联网上产生大量信息。在如此广泛的信息中,互联网用户不知所措地试图找到他们正在寻找的内容,导致众所周知的信息过载问题。在基于互联网的食品服务和食品社交网络的情况下,信息过载尤其成问题,它们为用户提供了过多的选择,使他们很难找到自己喜欢的食物。因此,食物推荐已成为满足潜在客户需求并发现合适的食物推荐来帮助消费者的日益重要的工具。

3、考虑到营养和饮食在个人和公共卫生中的重要性,本方法相比于以往技术,解决了以下问题:

4、(1)食物推荐方法如何同时考虑用户的偏好和健康状况?为了解决这个问题,需要将用户的偏好和健康因素纳入食物推荐模型,以引导他们进行健康饮食;

5、(2)如何使用时间感知推荐方法来识别和解决用户饮食和生活方式的变化?需要通过捕获评分的时间信息并使用它来计算用户相似度分数来解决这个研究问题;

6、(3)成分感知食品分类如何影响推荐方法的最终性能?对于这个研究问题,需要在有和没有各种食物组数据的情况下进行相关实验。

7、近年来提出了许多食物推荐方法来预测人们的偏好和/或根据预定标准指导他们的选择。尽管以前的食物推荐方法在根据个人与食物的历史互动来学习个人偏好方面取得了相对成功,但以往的技术仍然存在一些局限性如下:

8、(1)缺少健康推荐:许多传统的食物推荐方法不能保证推荐的食物对用户来说是健康的选择,因为这些方法不包含营养信息。事实上,大多数传统的推荐只关注用户的偏好。

9、(2)食物成分考虑欠缺:大多数现有的食物推荐模型主要基于历史评级;这种方法的使用忽略了成分的协同过滤方法。因为个人通常更喜欢含有他们喜欢的成分的食物,所以以前的模型可能会忽略推荐的一些重要部分。有些人可能喜欢含猪肉的食物,而另一些人可能对准备食物时使用的某些香料过敏。因此,传统的协同过滤模型可能无法考虑所有用户的偏好和品味。

10、(3)时间因素:传统推荐模型假设过去喜欢类似食物的用户会在未来喜欢它们未来。这些模型没有考虑用户的食物偏好、饮食或生活方式随时间发生的变化,而这些变化可能发生在现实生活中。结果,他们在现实生活中推荐了不准确的建议。

11、(4)数据稀疏性问题:大多数用户只评价了几种食物,因此标准推荐模型在识别活跃用户或类似选项方面存在问题。因此,如果用户对足够多的食物进行了评级,他们只能从标准食物推荐方法接收食物推荐。此外,还没有获得足够用户评分的项目被称为“冷启动食品”。结果,这种食品也将被这样的标准推荐模型忽略。

12、(5)食物集群:大多数已有的推荐模型通常没有考虑的另一个问题是给定食物的邻域或群体方面。该信息允许识别相似的食物并预测未知食物的等级。基于聚类的模型通常用于对推荐方法中的项目进行分组。然而,这种方法面临着许多困难,这些困难在某种程度上是传统聚类算法所固有的。此外,聚类算法通过采用特定的基于用户评分的标准来计算食物之间的相似性。这限制了基于聚类的推荐方法在处理稀疏数据集时的准确性。

13、(6)可控性:在以前的健康食品推荐方法中,用户最终并不直接参与最终的推荐过程。因此,这些模型不允许用户通过与不同类型的输入和参数交互来影响方法。一个有效的健康食品推荐方法应该允许用户指定他们目标的重要性、他们的偏好和他们食物的健康因素。

14、为了解决这些不足,本算法开发了一种新的时间感知和基于食品成分的推荐模型,该模型同时解决了上述所有问题。我们的方法特别考虑了健康因素和食品的成分含量。简而言之,该系统会向活跃用户推荐所需的健康食品。为了预测基于用户的评分,我们首先考虑用户的历史评分。我们使用一种新颖的属性社区检测算法将初始食物分为几组,并相应地预测未评级食物的评级。根据这两种类型的评级预测(即基于用户和基于食品成分),我们预测未评级食品的最终评级。我们最终通过考虑一种新颖的可控多目标函数来推荐前n种健康食品,该函数明确说明了食品的健康选项。总的来说,相比于现有的系统算法,本食物推荐方法的新颖性和创造性可以总结如下:

15、(1)健康饮食推荐:与以往的许多食物推荐模型相比,本算法将健康和营养因素纳入食物推荐模型中,从而引导用户形成健康的饮食方式。换句话说,本算法的目的是提出基于用户偏好和营养因素开发有效食物推荐模型的一般框架。

16、(2)食物成分感知:与在推荐中忽略食物内容的经典食物推荐方法不同,我们的模型在推荐方法的数据处理管道中使用了历史用户评级和食物成分。

17、(3)时间偏好感知:与现有忽略时间因素的算法不同,我们的模型引入了一种新颖的时间感知相似性函数来捕捉评分的时间信息,然后在计算用户相似性得分时明确考虑这些信息。在这个模型中,我们设计了一个加权机制来衡量时间因素对不同评级的重要性,其中旧评级的重要性低于新评级。有了这个时间感知功能,我们可以将用户偏好的动态特性纳入推荐过程。

18、(4)基于食物相似性的推荐:本算法首次研究食物中的配方信息推荐用属性图表示。这种基于内容的食物相似性矩阵使我们能够有效地克服经典食物推荐方法中的冷启动食物问题。该矩阵也可用于预测方法中未评级食品的评级,因为食品类别与其成分之间可能存在高度相关性。

19、(5)食品组群感知:与忽略食品类别的已有算法相反,本算法中开发的方法明确说明了这一方面。这个新方法考虑接近食物类别的最佳数量。它是第一个通过使用基于图形的表示来适应稀疏数据集的方法,其中边缘权重是根据基于食物成分的相似性计算的。

20、(6)可控推荐:本算法开发了一种新颖的可控食物推荐方法,使用户能够积极参与推荐过程,并在自己的喜好和食物的健康因素之间取得平衡建议。


技术实现思路

1、一种基于智能算法的个体化健康饮食的推荐方法,它结合了协同过滤模型和基于内容的模型。开发的模型称为健康和时间感知食物推荐方法,它是一种混合推荐方法,它利用了协同过滤和基于内容的模型的优点。系统通过利用用户相似性和食物组来推荐最喜欢的食物列表。由于每个用户的喜好、饮食、生活方式和饮食习惯都可能随时间发生变化,因此本方法在用户相似度计算过程中考虑了历史评分的时间效应。

2、该模型的概述在图 1 中突出显示。本方法有两个主要阶段:(1)时间感知协同过滤和 (2)基于食品成分的预测评级。在第一阶段,计算用户到用户的相似度矩阵,同时考虑评分 的时间戳。最后,考虑用户的相似性和历史评分,使用基于协同过滤的模型预测用户评分。 在第二阶段,食物首先被视为属性社交网络中的节点,其中每种食物的成分由节点属性表示。 接下来,基于这个归因于社交网络的表示,计算食物到食物的相似性矩阵。通过开发一种新 颖的属性社区检测算法,最初的食物被分为几类。最后,使用生成的食物集群预测未评级食 物的评级。在这两个阶段之后,结合基于协同过滤和基于食品成分的预测评级并考虑食品的 营养成分,推荐 top-n(排名前 n 的)健康食品。后文将详细介绍所提出的食物推荐模型的各 个步骤。

3、

4、本方法的算法具体包括如下步骤:

5、步骤1:时间感知协同过滤

6、基于协同过滤的推荐系统的前提是相似的用户有相似的偏好和喜好。我们基于协作过滤的模型使用相似用户的评分向活跃用户推荐最喜欢的食物。本计算模型的这一阶段采用用户-食物评分矩阵来估计用户与用户之间的相似性矩阵。我们的方法提出了一种新的时间感知相似性度量,将时间因素与不同的用户评分相结合,如下所示:

7、(1)

8、其中ri(u)是用户u对食物fi的评分,是用户u给出的平均评分,au,v是用户u和用户v都评分过的食物集合。此外,tw(u,v,i)表示食物fi相对于用户u和v的时间权重比率,它可由下式计算:

9、(2)

10、其中t(u,i)表示记录用户u对食物fi感知的时间周期,tp表示最大时间评价周期,λ是调整时间因素影响的用户控制参数。一个高或低的λ值表示时间因素对计算相似性值的影响更大或更小。为了创建时间周期,用户评级根据它们的时间间隔被划分为不同的时间周期。在本算法中,用户评分被分成为每月的时间。

11、在用户相似度计算阶段之后,用户u对食物fi的协同过滤的预测率将被表示如下:

12、(3)

13、其中 simu(u,v)表示用户u和v之间的相似性,cu是用户u对食物fi在其感知周期内对该食品的评分的集合。

14、步骤2:基于食品成分的预测评级

15、食品推荐方法的一个巨大的挑战是冷启动和数据稀疏性问题,如果不记录某些项目的先前评级会产生冷启动问题,导致最近加入系统的新食物可能永远没有机会被推荐,可能一直保持“冷”状态。本方法通过结合基于内容的模型和协同过滤模型,混合推荐来解决项目冷启动和数据稀疏问题的见解。此外,本算法基于项目聚类的技术被用于内容推荐方法,以提供更精确的推荐并解决这个问题。在这项方法中,提出了一种食物聚类技术来提高最终的推荐性能。为此,我们提出了一种新的基于成分的食物聚类属性社区检测算法。具体来说,所提出的属性社区检测算法是将食物集划分为不同的不相交的子集,以便产生(1)一些聚类包含密集连接的食物,而其他聚类包含稀疏连接的食物,(2)同一聚类中的食物具有更多不同的成分,而属于不同聚类的食物可能具有较少的成分多样性。

16、图2显示了开发的属性社区检测算法的方案,该算法例举了包含七种食物的简单食物集上进行食物聚类。由于开发的社区检测算法使用食物成分进行食物聚类,因此初始输入数据包含所有食物的成分。接下来,使用来自食品成分的输入数据创建食品属性矩阵。该矩阵中的每一行代表一种食物,而每列代表一种特定成分。如果食物中含有相应的成分,则将值1分配给矩阵的相应单元格;否则,分配0值。然后使用食物属性矩阵计算每种成分的权重。接下来,使用食物属性矩阵和成分的权重计算食物相似性矩阵。最后,根据食物相似性确定食物类别。下面详细介绍了具体步骤。

17、首先,将属性社区检测算法应用于食物聚类,食物集应表示为一种属性社交网络。为此,设定g(f, e, i)为一个图,其中f是所有食物的集合,e是表示食物之间现有相似性的边集,i表示属性向量集(即,所有食物中所有成分的集合i={ing1,ing2,⋯,ingk})。在括号中,ingi表示该食物中存在第i种物质成分。此外,k表示节点向量属性的维度(即所有成分的数量)。

18、由于食物推荐系统中有大量的成分,通常有许多属性来描述每个节点。有几个属性可能与食物聚类过程无关。当属性图包含许多不相关和冗余的属性时,这会对图分析的性能产生负面影响,并增加食物聚类方法的计算复杂度。因此,降低节点属性(即食物成分)的维度是社区网络分析应用的基础。这种简化也可能会提高后续用于食物聚类的社区检测算法的性能。

19、在这一阶段的第一步中,使用术语加权方法计算单个成分的权重。信息处理领域中最流行的术语加权技术是术语频率转置语句频率(tf-isf)方案。该方案建立了不充分的词频因子,以确保在文本检索任务中具有可接受的性能。然后,这种表现得到转置句频率(isf)因素的补充,该因素与它出现的句子数量成反比。

20、在我们的方法中,每种食物都被认为是一个句子,其中标记与其成分相对应。术语权重是计算句子相似度的第一步。为此,tf-isf术语权重测量的改进版本被用于配料加权。如果食品fi不包含成分ingj,则食品fi中ingj的权重被设置为零。否则,食品fi中原料ingj基于tf-isf的权重计算如下:

21、(4)

22、其中m是食物集f中包含的食物数量,nj是包含成分ingj的食物数量。

23、在计算出每种食物中每种成分ingj的权重后,最终的成分集权重计算如下:

24、(5)

25、在计算出每种成分的权重系数后,食物fi和fj之间的相似性根据其食物成分确定如下:

26、(6)

27、其中wl表示成分ingj的权重,siml(fi,fj)是仅基于成分ingj的存在来衡量食物fi和fj之间的相似性。计算如下:

28、(7)

29、在计算食物相似度后,可以进入食物聚类方法的主要步骤,我们的在此提出了一种新的基于标签传播的社区检测算法。标准标签传播算法(lpa)仅利用节点的结构相似性进行社区检测,最初为每个节点分配一个唯一的标签,然后在几个更新步骤中选择频率最高的节点。如果算法达到具有最大相邻标签数的迭代,则稠密的子图下所有达到相同标签的节点都可以聚类为社区图。

30、由于节点重要性相等的假设及其对更新阶段和决胜模式的后续影响,标准lpa面临着不稳定和低性能问题。直观上,在每个社区中,都有对社区建设有显着贡献的重要节点(例如,位于社区中心的节点)。通常,与相邻节点相比,图中给定节点的影响力越大,该节点在相应社区建设中的重要性就越高。中心性高或影响力得分高的节点扮演支配者的角色,重要性较低的节点扮演从属者的角色。中心性度量通过根据节点的受欢迎程度为其分配数字或分数来评估节点在社交网络中的位置。

31、如前所述,在第一阶段,使用基于成分的相似性将初始食物集f转换为图g(f,e,i)。在这个阶段,社交网络中每种食物的受欢迎程度是使用节点中心性度量来计算的。在加权社交网络中具有较高流行度的节点将在结构和属性方面对其邻居具有可渗透性。我们期望处于中心位置的节点能够为社区的控制、引导和建立做出巨大贡献。相反,边界级别的节点可能能够充当社区之间的中介。对于本研究,我们使用拉普拉斯中心性来衡量节点中心性。

32、在测量拉普拉斯中心性后,每个节点的标签影响力(li)计算如下:

33、(8)

34、标准lpa假设所有相邻节点平等地传播标签。为了选择最佳的传播标签,我们在归因和改进的lpa中使用了相邻的标签影响。标签接受度按如下方式衡量:

35、(9)

36、其中γ(m)表示节点p∈f的一阶邻域。在标签更新阶段,每个节点将收到一个在其一级相邻节点中具有相当影响力的节点标签。

37、在食物聚类阶段之后,用户u的食物fi率预测如下:

38、(10)

39、其中rj(u)是用户u给出食物fj的比率,是食物fi的平均比率,sim(fi,fj)是食物fi和fj之间的相似性度量,可以通过等式(6)计算,ci表示属于食物fi所属组的一组食物。

40、步骤3:偏好评级预测

41、在基于协同过滤的评分预测和基于食物成分的评分预测之后,用户u的食物fi的最终预测定义为基于协同过滤和基于食物的预测的组合,如下所示:

42、(11)

43、其中和分别是用户u的基于协同过滤的预测和基于食物成分的食物fi预测,参数β控制基于协同过滤的预测和基于食物成分预测之间的比例系数。

44、步骤4:食品健康系数计算

45、 在可预防的非传染性疾病中,营养起着主要作用。世界卫生组织指出,“非传染性疾病往往是慢性的,是遗传、生理、环境和行为因素的结合。”符合世界卫生组织的分类,心血管疾病、糖尿病、慢性呼吸道疾病和恶性肿瘤是慢性病的主要类型。非传染性疾病发展有两类风险因素,包括可改变的行为(烟草、过量摄入钠、饮酒和缺乏运动)和代谢因素(血压升高、超重、肥胖等)。饮食与多种可改变的行为和代谢风险因素有关。例如,饮食在一个人的一生中对慢性病的预防和治疗起着至关重要的作用。此外,专家组已经认识到饮食在主要非传染性疾病病因学中的重要性,他们强调改变导致这些风险的食物环境的重要性。

46、开发营养分析方法以促进更健康的选择,是世界卫生组织促进健康饮食和减轻可预防非传染性疾病负担的一种方式。此外,此类方法应足够灵活以适应个别条件和情况。例如,在向具有特定健康状况的人提供健康食品建议时,这些方法必须将食品成分与用户偏好一起考虑。我们开发的推荐模型的显着特征是同时考虑食品成分和营养成分。

47、我们的模型使用大量营养素来评估给定食物的健康因素。脂肪、蛋白质和碳水化合物是提供能量和维持生命所必需成分的大量营养素的例子。一个人的饮食必须包含这些大量营养素的组合,以保持健康和长寿。根据世界卫生组织的规定,没有通用的大营养素组合可以提供最佳的健康。历史上,含有不同数量的这些常量营养素配比的饮食在人类中一直存在。

48、鉴于世界卫生组织健康饮食建议,以及食物(蛋白质、脂肪和碳水化合物)的大量营养素中可获得的能量贡献的百分比,食物fi的健康系数(hf)计算如下:

49、,

50、其中,、和分别表示饮食推荐范围与食物fi的蛋白质、脂肪和碳水化合物之间的距离。考虑到膳食建议的理想食物大量营养素范围,如果食物的蛋白质、脂肪和碳水化合物的最小值和最大值之间,、和将等于零。否则,它们将等于食物fi的常量营养素和该常量营养素的平均值之间的距离。很明显,完全在饮食推荐范围内的食物的健康系数(hi)将等于5。另一方面,完全不健康的食物的值将接近0。例如,在一种食物的能量贡献百分比分别为30,20,50的蛋白质,脂肪和碳水化合物,并考虑表2中的饮食推荐,、和将分别为17.5,0和15。因此,这种食物的最终hf将是3.375。

51、步骤5:最终健康建议

52、在根据先前用户的评级和根据其能量含量的百分比计算给定食物的健康因素的最终偏好评级之后,通过将偏好评级和健康因素推荐整合为:

53、(13)

54、其中,是使用公式(11)计算的对用户u的食物fi的偏好评级预测,hf(fi)表示使用公式(12)测量的食物fi的健康系数。此外,参数γ提供了用户偏好和健康因素内容之间的权衡。该参数可以设置在0到1的范围内。随着该参数的增加,最终推荐中食品健康因素成分被认为更重要。我们可控的推荐方法允许用户直接影响最终的推荐;他们可以根据自己的喜好和食物的健康因素调整建议。在这个可控参数中,用户可以选择这两个目标(即偏好和健康)中的哪一个在最终的食物推荐方法中对他们来说最重要。通过将此参数设置为0,将仅考虑用户的偏好,而在推荐过程中将完全忽略食物的健康状况。相反,如果此参数设置为1,则推荐仅考虑食物的健康因素,而不会考虑用户的评分和偏好。该参数没有固定值,因为健康食品在一个人的饮食中的重要性因人而异。实际上,通过创建此用户参数(即通过调整健康因素参数),我们的可控食物推荐方法使最终用户能够参与食物推荐过程。

55、最后,在top-n推荐阶段,开发的模型预测目标用户对未评分食品的评分,然后选择前n个未评分食品进行推荐。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1