CN110310721A - 一种基于知识图谱构建食谱推荐策略的方法及装置 - Google Patents
一种基于知识图谱构建食谱推荐策略的方法及装置 Download PDFInfo
- Publication number
- CN110310721A CN110310721A CN201810255751.6A CN201810255751A CN110310721A CN 110310721 A CN110310721 A CN 110310721A CN 201810255751 A CN201810255751 A CN 201810255751A CN 110310721 A CN110310721 A CN 110310721A
- Authority
- CN
- China
- Prior art keywords
- recipe
- user
- node
- matrix
- knowledge mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/60—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Health & Medical Sciences (AREA)
- Nutrition Science (AREA)
- Engineering & Computer Science (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明揭示了一种基于知识图谱构建食谱推荐策略的方法,包括:获取用户的健康信息和忌口信息,根据营养健康知识图谱G生成用户i对应的用户子图G’;对营养健康知识图谱G进行表示学习,将营养健康知识图谱G编码到向量空间;根据营养健康知识图谱G和用户子图G’生成用户‑食谱偏好矩阵R’;对用户‑食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci;根据预设条件对食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。本发明所揭示的方法,能够实现多重条件下的动态食谱推荐策略。本发明同时还揭示了一种基于知识图谱构建食谱推荐策略的装置,该装置能够用于构建食谱推荐策略,解决用户“吃什么”的问题。
Description
技术领域
本发明涉及知识图谱领域,更具体的说,涉及一种基于知识图谱构建食谱推荐策略的方法。本发明同时还揭示了一种基于知识图谱构建食谱推荐策略的装置。
背景技术
随着人们生活水平不断的提高。无论是在家就餐,点外卖或者外出就餐,人们每日可选择的美食越来越多,人们面对如此繁多的美食,并不清楚如何选择,而现有的食谱推荐策略多为单一维度的,或者为根据权重对几个维度进行的简单叠加,而没有真正建立起不同维度的相互影响关系,因此现有的食谱推荐方法无法构建出多重约束条件下动态变化的食谱推荐策略。
知识图谱是由谷歌提出,属于一种知识库,该知识库通过收集不同信息源中的信息构建而成,主要应用于互联网搜索领域。然而,目前的知识图谱技术虽然在搜索领域已发展的较为成熟,但尚未在其他领域得到广泛应用,市面上缺乏利用知识图谱构建食谱推荐策略的先例;同时,由于知识图谱技术涉及复杂的实体、关系构建,技术门槛高,目前缺乏现成的基于知识图谱的食谱推荐模型,因而相应的食谱推荐模型需要从头建起,并完善和梳理基于知识图谱的食谱推荐逻辑。
发明内容
本发明为解决上述现有技术中存在的技术问题,提供了一种基于知识图谱构建食谱推荐策略的方法,该方法能够首先排除用户的忌口食材以及其他由于疾病原因不适宜食用的食材,然后通过对营养健康知识图谱进行表示学习等方法生成并分解用户-食谱偏好矩阵,最终能够根据其他预设条件为用户筛选确定出既符合营养健康又能够迎合用户饮食偏好的食谱,从而解决了用户“吃什么”的难题。
为达到上述目的,本发明采用的技术方案如下:
一种基于知识图谱构建食谱推荐策略的方法,包括:获取用户的健康信息和忌口信息,根据营养健康知识图谱G生成用户i对应的用户子图G’;对营养健康知识图谱G进行表示学习,将营养健康知识图谱G编码到向量空间;根据营养健康知识图谱G和用户子图G’生成用户-食谱偏好矩阵R’;对用户-食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci;根据预设条件对食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。
进一步地,获取用户的健康信息和忌口信息,根据营养健康知识图谱G生成用户i对应的用户子图G’的步骤包括:
S11,将用户健康信息和忌口信息分别表示为三元组集合F1,F2;
S12,获取用户i对应的健康信息集合Fi1,遍历集合Fi1,如果集合Fi1为空,或者集合Fi1遍历完成,跳至S14;
S13,对于Fi1中的元素f1:(h,r,t),在营养健康知识图谱G中查找值为t的结点,生成并遍历结点集合T1,对于结点集合T1中的每一个结点m1,在营养健康知识图谱G中寻找其邻近结点n1,删除其邻近结点n1;
S14,获取用户i对应的忌口信息集合Fi2,遍历集合Fi2,如果集合Fi2为空,或者集合Fi2遍历完成,跳至S16;
S15,对于Fi2中的元素f2:(h,r,t),在营养健康知识图谱G中查找值为t的结点,生成并遍历结点集合T2,对于结点集合T2中的每一个结点m2,在营养健康知识图谱G中寻找其邻近结点n2,删除其邻近结点n2;
S16,生成用户i对应的用户子图G’。
进一步地,对营养健康知识图谱G进行表示学习,将营养健康知识图谱G编码到向量空间步骤包括:
S21,获取食谱结点集合;
S22,遍历食谱结点集合,如果食谱结点集合为空或遍历完成,跳至S27;
S23,获取食谱结点的邻接结点集合,并计算每个邻接结点的采样概率QIJ;
S24,根据采样概率QIJ对邻接结点进行随机采样,将选中的结点,加入路径中;
S25,如果路径长度大于5或者已无邻接结点,返回步骤S22,遍历其他食谱结点;
S26,输出所有生成的路径;
S27,将所有路径输入word2vec模型中,训练word2vec模型,获得食谱结点集合中所有食谱结点的向量表示。
进一步地,根据营养健康知识图谱G和用户子图G’生成用户-食谱偏好矩阵R’的步骤包括:
S31,获取用户三餐的历史记录;
S32,根据营养健康知识图谱G的表示学习结果计算食谱之间的余弦相似度,获得食谱-食谱相似矩阵;
S33,根据用户三餐的历史记录,分别构建早餐、中餐、晚餐的用户-食谱矩阵R1、R2、R3,其中矩阵的列表示食谱,行表示用户,行数为用户个数,列数为食谱数量,其中Rij=1表示用户i喜欢食谱j;
S34,计算获得用户三餐的用户-食谱偏好度,其中,用户-食谱偏好度=用户-食谱矩阵*食谱-食谱相似矩阵;
S35,判断食谱是否在用户i对应的用户子图G’中,如果是则进入S36,如果否则进入S37;
S36,将用户-食谱偏好度填入用户-食谱偏好矩阵的对应位置,若相应位置处的用户-食谱偏好度低于预设偏好度,则认为该用户对该食谱不感兴趣,将该位置处的用户-食谱偏好度重置为0;
S37,将用户-食谱偏好度矩阵的对应位置处填为0;
S38,输出三餐的用户-食谱偏好矩阵。
进一步地,对用户-食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci的步骤包括:
S41,定义矩阵分解的目标:R’≈UVT,其中U∈Rm*d,表示用户的潜在特征矩阵,V∈Rn*d,表示食谱的潜在特征矩阵,m为用户数量,n为食谱数量,d为分解后潜在特征向量的维度,R’为用户-食谱偏好矩阵,R为用户-食谱矩阵,T为时间窗口;
S42,求解用户的潜在特征矩阵U以及食谱的潜在特征矩阵V,其中,满足
S43,将用户-偏好矩阵R’补全为偏好预测矩阵对于用户i,选取偏好预测矩阵值最大且不在用户i的历史记录集合Hi’的中的若干个食谱,相应的若干个食谱作为用户i的食谱候选集合Ci。
进一步地,根据预设条件对食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐的步骤包括:
根据预设的营养条件和热量条件对食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。
进一步地,根据预设的营养条件和热量条件对食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐的步骤包括:
S51,从营养健康知识图谱G中获取食谱候选集合Ci中每个食谱的营养成分、营养成分含量以及热量信息;
S52,根据预设人群特征获取相应的标准营养摄入量SN以及标准热量SH,为用户i匹配适合其个人的建议摄入量BN以及建议热量BH,并根据一日三餐情况将建议摄入量和建议热量分为三份,分别记为BN1,BN2,BN3和BH1,BH2,BH3;
S53,分别从食谱候选集合Ci中以概率P删除营养含量和/或热量高于BHk、BNk的食谱o,其中
,
T为时间窗口,Zo为该时间窗口内食谱o被过滤的次数,Zo越大,则该食谱被过滤的概率越小;
S54,定义食谱候选集合Ci中每个食谱x与建议摄入量、建议热量之间的摄入量差值△N和热量差值△H,其中,
Δ=ΔH+ΔN,
∑Nx表示食谱x所包含的营养含量,∑Hx表示食谱x所包含的热量,k在(1,2,3)中取值,分别表示早、中、晚三个时段;
S55,将食谱候选集合Ci中的食谱按照营养含量和热量排序,从中选取营养含量和/或热量最高,且满足△N的绝对值小于第一阈值、△H的绝对值小于第二阈值的食谱x添加至优选食谱集合;
S56,若△介于第三阈值和第四阈值之间且优选食谱集合中的元素少于5,则继续重复S55;若△大于第四阈值则进入S58;若优选食谱集合中的食谱数超过预设值且相应的食谱尚未达到营养含量和/或热量标准,则进入S57;若优选食谱集合中的食谱数超过预设值且相应的食谱达到营养含量和/或热量标准,进入S59;
S57,增加优选食谱集合中相应的食谱的食材用量,进入S59;
S58,若食谱候选集合Ci中无可添加至优选食谱集合的食谱,则进入S60;否则,进入S61;
S59,根据优选食谱集合为用户进行推荐;
S60,清空优选食谱集合,还原食谱候选集合Ci,删除食谱候选集合Ci中营养含量和/或热量最高的食谱,返回S55;
S61,从优选食谱集合中删除最后添加的食谱。
进一步地,在步骤S23中,采样概率
,
其中I表示食谱结点,J表示与I邻接的食材结点,WJ表示食材J的用量。
进一步地,营养健康知识图谱G包括结点集合V,边结点集合E以及结点和边的标签P。
本发明同时还揭示了一种基于知识图谱构建食谱推荐策略的装置,包括:获取单元,用于获取用户的健康信息和忌口信息;用户子图构建单元,用于根据营养健康知识图谱G生成用户i对应的用户子图G’;表示学习单元,用于对营养健康知识图谱G进行表示学习,将营养健康知识图谱G编码到向量空间;矩阵生成单元,用于根据营养健康知识图谱G和用户子图G’生成用户-食谱偏好矩阵R’;矩阵分解单元,用于对用户-食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci;以及,推荐单元,用于根据预设条件对食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。
本发明技术方案的有益效果如下:
本发明揭示了一种基于知识图谱构建食谱推荐策略的方法,采用该方法推荐的食谱,不仅能够迎合用户的饮食偏好,而且还能够符合特定用户的营养健康标准;同时,由于知识图谱能够描述客观世界的概念、实体、事件及它们之间的关系,且彼此之间的相互影响关系存在科学依据,因而相应的食谱推荐策略能够满足动态变化的多重约束条件,所推荐的食谱更加健康、精准且有效。另外,本发明还揭示了一种基于知识图谱构建食谱推荐策略的装置,该装置能够基于知识图谱构建食谱推荐的模型,实现为用户推荐食谱的功能。
附图说明
图1是本发明所述方法其中一实施例的步骤框图;
图2是本发明所述方法其中一实施例中生成用户子图步骤的流程示意图;
图3是本发明所述方法其中一实施例中对营养健康知识图谱进行表示学习步骤的流程示意图;
图4是本发明所述方法其中一实施例中生成用户-食谱偏好矩阵步骤的流程示意图;
图5是本发明所述装置其中一实施例的模块架构图。
具体实施方式
以下通过附图和具体实施例对本发明所提供的技术方案做更加详细的描述:
附图1揭示了本发明所述方法的具体实施例。如图1所示的,是本发明所述方法的步骤框图,该实施例中揭示了一种基于知识图谱构建食谱推荐策略的方法,包括:
步骤101,获取用户的健康信息和忌口信息,根据营养健康知识图谱G生成用户i对应的用户子图G’;
步骤102,对营养健康知识图谱G进行表示学习,将营养健康知识图谱G编码到向量空间;
步骤103,根据营养健康知识图谱G和用户子图G’生成用户-食谱偏好矩阵R’;
步骤104,对用户-食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci;
步骤105,根据预设条件对食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。
该实施例中的方法,采用知识图谱的方法构建食谱推荐策略,首先排除不适宜用户食用的食材以及对应的食谱,根据营养健康知识图谱生成用户子图,通过知识图谱中的表示学习方法,根据营养健康知识图谱和用户子图生成用户-食谱偏好矩阵,并对用户-食谱偏好矩阵进行矩阵分解,从而获得了排除禁忌且迎合用户饮食偏好的食谱候选集合;根据预设条件对食谱候选集合中的食谱进行筛序,即可获得用于为用户进行推荐的优选食谱集合,从而使所推荐的食谱能够进一步满足用户的营养健康需求。其中,营养健康知识图谱中包含用户基本信息、疾病信息、食谱信息、食材信息、食材营养成分信息等各类本体的属性信息,且本体与本体之间已通过专家知识库进行了标注,建立起了完善的对应关系,因此基于知识图谱构建的食谱推荐策略,不仅能够符合健康、忌口要求,迎合用户的饮食偏好,同时还能满足营养热量要求,所推荐的食谱具有专家知识的科学依据,同时当用户的疾病、年龄等发生变化后,还能够自动根据本体与本体之间的关系对食谱推荐策略进行调整,从而能够为用户科学、动态地持续提供食谱推荐服务。
如图2所示的,在本发明所述方法其中一实施例中,所述获取用户的健康信息和忌口信息,根据营养健康知识图谱G生成用户i对应的用户子图G’的步骤包括:
S11,将用户健康信息和忌口信息分别表示为三元组集合F1,F2:按照知识图谱的形式对用户i的健康情况及忌口情况进行描述,表示为知识图谱中三元组的形式,例如对于健康情况表示为(用户i,患病,疾病b)的形式,对于忌口情况表示为(用户i,忌口,食材b)的形式,以便于按照知识图谱的规则进行运算;
S12,获取用户i对应的健康信息集合Fi1,遍历集合Fi1,如果集合Fi1为空,或者集合Fi1遍历完成,跳至S14;
S13,对于Fi1中的元素f1:(h,r,t),在所述营养健康知识图谱G中查找值为t的结点,生成并遍历结点集合T1,对于结点集合T1中的每一个结点m1,在营养健康知识图谱G中寻找其邻近结点n1,删除其邻近结点n1;
S14,获取用户i对应的忌口信息集合Fi2,遍历集合Fi2,如果集合Fi2为空,或者集合Fi2遍历完成,跳至S16;
S15,对于Fi2中的元素f2:(h,r,t),在所述营养健康知识图谱G中查找值为t的结点,生成并遍历结点集合T2,对于结点集合T2中的每一个结点m2,在营养健康知识图谱G中寻找其邻近结点n2,删除其邻近结点n2;
S16,生成用户i对应的用户子图G’。
该实施例中,通过遍历用户的健康信息集合和忌口信息集合并对相应的邻近结点进行删除,剔除了用户由于自身疾病原因以及忌口原因而不适宜食用的食材以及食谱,从而确保生成的用户子图在后续的运算中不会产生用户所禁忌食用的食谱。
如图3所示的,是本发明所述方法其中一实施例中对营养健康知识图谱进行表示学习步骤的流程示意图。作为本发明所述方法的其中一实施例,所述对所述营养健康知识图谱G进行表示学习,将所述营养健康知识图谱G编码到向量空间步骤包括:
S21,获取食谱结点集合:营养健康知识图谱G中包含有食谱结点集合,可以通过营养健康知识图谱G直接获取;
S22,遍历食谱结点集合,如果所述食谱结点集合为空或遍历完成,跳至S27:采用随机游走算法对营养健康知识图谱G进行路径采样,选取某食谱结点s,将s添加入采样路径P,记为{s};
S23,获取食谱结点的邻接结点集合,并计算每个邻接结点的采样概率QIJ:选择采样路径P中末端结点c,获取结点c的邻接结点集合N;
S24,根据所述采样概率QIJ对邻接结点进行随机采样,将选中的结点,加入路径中:根据采样概率QIJ随机选取集合N中的结点n,采样路径P中添加结点n,记为{s,n},其中食谱结点和食材结点的关系通过食材的用量构建,
,
其中I表示食谱结点,J表示与I邻接的食材结点,WJ表示食材J的用量;
S25,如果所述路径长度大于5或者已无邻接结点,返回步骤S22,遍历其他食谱结点;
S26,输出所有生成的路径;
S27,将所有路径输入word2vec模型中,训练word2vec模型,获得食谱结点集合中所有食谱结点的向量表示。
该实施例中,通过对营养健康知识图谱G进行表示学习后,获得了所有食谱结点的向量表示,将这些食谱送入word2vec模型中进行训练,能够用于后续的食谱推荐。而word2vec模型属于一种特别有效的预测模型,在食谱结点都通过向量表示后,该模型能够从最原始的文本中学习词向量,根据目标结点周围的邻近结点进行预测。
图4是本发明所述方法其中一实施例中生成用户-食谱偏好矩阵步骤的流程示意图。作为本发明所述方法其中一实施例,所述根据所述营养健康知识图谱G和所述用户子图G’生成用户-食谱偏好矩阵R’的步骤包括:
S31,获取用户三餐的历史记录:定义时间窗口T,从用户i对应的历史记录集合中获取时间窗口T范围内的历史记录;
S32,根据营养健康知识图谱G的表示学习结果计算食谱之间的余弦相似度,获得食谱-食谱相似矩阵:构建食谱-食谱相似矩阵S,矩阵S的行和列都表示食谱,其中Sij=s表示食谱i和食谱j的相似程度;获取用户i对应用户子图G’中食谱结点的向量表示,利用余弦相似度计算每个食谱之间的相似度,构建用户i对应的食谱-食谱相似度矩阵Si,将上述计算的食谱相似度对应填入Si中的对应位置,对于不在用户子图G’的食谱,其食谱相似度都填0,重复该过程,最终能够获得每一位用户对应的食谱-食谱相似度矩阵;
S33,根据用户三餐的历史记录,分别构建早餐、中餐、晚餐的用户-食谱矩阵R1、R2、R3,其中矩阵的列表示食谱,行表示用户,行数为用户个数,列数为食谱数量,其中Rij=1表示用户i喜欢食谱j;
S34,计算获得用户三餐的用户-食谱偏好度,其中,用户-食谱偏好度=用户-食谱矩阵*食谱-食谱相似矩阵;
S35,判断食谱是否在用户i对应的用户子图G’中,如果是则进入S36,如果否则进入S37;
S36,将用户-食谱偏好度填入用户-食谱偏好矩阵的对应位置,若相应位置处的用户-食谱偏好度低于预设偏好度,则认为该用户对该食谱不感兴趣,将该位置处的用户-食谱偏好度重置为0:可选的,所述预设偏好度为0.3;
S37,将用户-食谱偏好度矩阵的对应位置处填为0;
S38,输出三餐的用户-食谱偏好矩阵。
该实施例中,根据用户的历史记录以及食谱与食谱之间的相似度,构建起了针对特定用户的用户-食谱偏好矩阵,建立起了用户与饮食偏好之间的关联关系;同时,针对用户的禁忌食谱,也会结合用户饮食偏好以及食谱-食谱相似矩阵为用户进行替代,确保用户有更多的选择;另外,后续的食谱候选集合也将根据用户-食谱偏好矩阵获得。
作为本发明所述方法的其中一实施例,所述对所述用户-食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci的步骤包括:
S41,定义矩阵分解的目标:R’≈UVT,其中U∈Rm*d,表示用户的潜在特征矩阵,V∈Rn*d,表示食谱的潜在特征矩阵,m为用户数量,n为食谱数量,d为分解后潜在特征向量的维度,R’为用户-食谱偏好矩阵,R为用户-食谱矩阵,T为时间窗口;
S42,求解用户的潜在特征矩阵U以及食谱的潜在特征矩阵V,其中,满足
S43,将用户-偏好矩阵R’补全为偏好预测矩阵对于用户i,选取偏好预测矩阵值最大且不在用户i的历史记录集合Hi’的中的若干个食谱,相应的若干个食谱作为用户i的食谱候选集合Ci。
该实施例中,对用户-食谱偏好矩阵进行了分解,以实现模型的推荐功能,通过矩阵分解能够获得用户和食谱的低秩矩阵,并将用户-食谱偏好矩阵补全为偏好预测矩阵。其中,进行推荐的目标是使得R’ij≠0且R’ij与尽可能接近,即
,
但是,为了防止过拟合情况的发生,对上式进行了改进,添加了正则项,上式变为
。
上述问题为无约束的最优化问题,优选的,可以采用梯度下降法求解该式,最终获得分解后的用户的潜在特征矩阵U和食谱的潜在特征矩阵V。在偏好预测矩阵中进行选取,能够确定候选食谱集合Ci。
经过上述处理步骤之后获得的候选食谱集合Ci,已经剔除了受疾病、忌口等因素影响的食谱,同时也符合用户的饮食偏好,但候选食谱集合Ci还没有考虑食谱的营养含量以及热量等因素,因而需要进一步设置条件,对候选食谱集合Ci中的食谱进行筛选,使推荐给用户的食谱同时还能够满足用户对营养以及热量的需求。在本发明所述方法的其中一实施例中,所述根据预设条件对所述食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐的步骤包括:根据预设的营养条件和热量条件对所述食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。本领域人员可以理解地,营养条件和热量条件可变更,也可由其他条件进行替代,但并不影响获取用户子图步骤、表示学习步骤、用户-食谱偏好矩阵生成步骤以及矩阵分解步骤的正常运行。
作为本发明所述方法的其中一实施例,所述根据预设的营养条件和热量条件对所述食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐的步骤包括:
S51,从营养健康知识图谱G中获取食谱候选集合Ci中每个食谱的营养成分、营养成分含量以及热量信息;
S52,根据预设人群特征获取相应的标准营养摄入量SN以及标准热量SH,为用户i匹配适合其个人的建议摄入量BN以及建议热量BH,并根据一日三餐情况将建议摄入量和建议热量分为三份,分别记为BN1,BN2,BN3和BH1,BH2,BH3:其中的预设人群特征包括但不限于人群的年龄、性别、职业等,根据用户i的个人信息将用户i划分至相应的人群中为其匹配适合用户i个人的建议摄入量和建议热量;
S53,分别从食谱候选集合Ci中以概率P删除营养含量和/或热量高于BHk、BNk的食谱o,其中
,
T为时间窗口,Zo为该时间窗口内食谱o被过滤的次数,Zo越大,则该食谱被过滤的概率越小;
S54,定义食谱候选集合Ci中每个食谱x与建议摄入量、建议热量之间的摄入量差值△N和热量差值△H,其中,
Δ=ΔH+ΔN,
∑Nx表示食谱x所包含的营养含量,∑Hx表示食谱x所包含的热量,k在(1,2,3)中取值,分别表示早、中、晚三个时段;
S55,将食谱候选集合Ci中的食谱按照营养含量和热量排序,从中选取营养含量和/或热量最高,且满足△N的绝对值小于第一阈值、△H的绝对值小于第二阈值的食谱x添加至优选食谱集合:其中第一阈值优选为20%,第二阈值优选为20%;
S56,若△介于第三阈值和第四阈值之间且优选食谱集合中的元素少于5,则继续重复S55;若△大于第四阈值则进入S58;若优选食谱集合中的食谱数超过预设值且相应的食谱尚未达到营养含量和/或热量标准,则进入S57;若优选食谱集合中的食谱数超过预设值且相应的食谱达到营养含量和/或热量标准,进入S59:其中,第三阈值为-20%,第四阈值为20%;
S57,增加优选食谱集合中相应的食谱的食材用量,进入S59;
S58,若食谱候选集合Ci中无可添加至优选食谱集合的食谱,则进入S60;否则,进入S61;
S59,根据优选食谱集合为用户进行推荐;
S60,清空优选食谱集合,还原食谱候选集合Ci,删除食谱候选集合Ci中营养含量和/或热量最高的食谱,返回S55;
S61,从优选食谱集合中删除最后添加的食谱。
该实施例中,根据营养含量和热量的标准值为用户设置了三餐的建议营养摄入量以及建议热量,以适合用户i的营养含量和热量对食谱候选集合中的食谱进行了筛选,同时,还通过概率算法以及预设条件设置食谱推荐机制,不仅确保了优选食谱集合中始终具备足量的食谱供用户选择,同时还最大程度上避免了食谱的重样,大大提升了所推荐食谱的丰富程度。
本领域人员能够理解地,在本发明所述的实施例中,所述营养健康知识图谱G包括结点集合V,边结点集合E以及结点和边的标签P,即该营养健康知识图谱可以表示为G(V,E,P)。
本发明还揭示一种基于知识图谱构建食谱推荐策略的装置,包括:获取单元501,用于获取用户的健康信息和忌口信息;用户子图构建单元502,用于根据营养健康知识图谱G生成用户i对应的用户子图G’;表示学习单元503,用于对所述营养健康知识图谱G进行表示学习,将所述营养健康知识图谱G编码到向量空间;矩阵生成单元504,用于根据所述营养健康知识图谱G和所述用户子图G’生成用户-食谱偏好矩阵R’;矩阵分解单元505,用于对所述用户-食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci;以及,推荐单元506,用于根据预设条件对所述食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。该装置能够为用户排除禁忌食谱,迎合用户的饮食偏好,同时所推荐的食谱还能够满足用户的营养以及热量需求而不会超标,实现了多重约束条件下的动态食谱推荐机制。
上述具体实施方式只是用于说明本发明的设计方法,并不能用来限定本发明的保护范围。对于在本发明技术方案的思想指导下的变形和转换,都应该归于本发明保护范围以内。
Claims (10)
1.一种基于知识图谱构建食谱推荐策略的方法,其特征在于,包括:
获取用户的健康信息和忌口信息,根据营养健康知识图谱G生成用户i对应的用户子图G’;
对所述营养健康知识图谱G进行表示学习,将所述营养健康知识图谱G编码到向量空间;
根据所述营养健康知识图谱G和所述用户子图G’生成用户-食谱偏好矩阵R’;对所述用户-食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci;根据预设条件对所述食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。
2.根据权利要求1所述的方法,其特征在于,所述获取用户的健康信息和忌口信息,根据营养健康知识图谱G生成用户i对应的用户子图G’的步骤包括:
S11,将用户健康信息和忌口信息分别表示为三元组集合F1,F2;
S12,获取用户i对应的健康信息集合Fi1,遍历集合Fi1,如果集合Fi1为空,或者集合Fi1遍历完成,跳至S14;
S13,对于Fi1中的元素f1:(h,r,t),在所述营养健康知识图谱G中查找值为t的结点,生成并遍历结点集合T1,对于结点集合T1中的每一个结点m1,在营养健康知识图谱G中寻找其邻近结点n1,删除其邻近结点n1;
S14,获取用户i对应的忌口信息集合Fi2,遍历集合Fi2,如果集合Fi2为空,或者集合Fi2遍历完成,跳至S16;
S15,对于Fi2中的元素f2:(h,r,t),在所述营养健康知识图谱G中查找值为t的结点,生成并遍历结点集合T2,对于结点集合T2中的每一个结点m2,在营养健康知识图谱G中寻找其邻近结点n2,删除其邻近结点n2;
S16,生成用户i对应的用户子图G’。
3.根据权利要求1所述的方法,其特征在于,所述对所述营养健康知识图谱G进行表示学习,将所述营养健康知识图谱G编码到向量空间步骤包括:
S21,获取食谱结点集合;
S22,遍历食谱结点集合,如果所述食谱结点集合为空或遍历完成,跳至S27;
S23,获取食谱结点的邻接结点集合,并计算每个邻接结点的采样概率QIJ;
S24,根据所述采样概率QIJ对邻接结点进行随机采样,将选中的结点,加入路径中;
S25,如果所述路径长度大于5或者已无邻接结点,返回步骤S22,遍历其他食谱结点;
S26,输出所有生成的路径;
S27,将所有路径输入word2vec模型中,训练word2vec模型,获得食谱结点集合中所有食谱结点的向量表示。
4.根据权利要求1所述的方法,其特征在于,所述根据所述营养健康知识图谱G和所述用户子图G’生成用户-食谱偏好矩阵R’的步骤包括:
S31,获取用户三餐的历史记录;
S32,根据营养健康知识图谱G的表示学习结果计算食谱之间的余弦相似度,获得食谱-食谱相似矩阵;
S33,根据用户三餐的历史记录,分别构建早餐、中餐、晚餐的用户-食谱矩阵R1、R2、R3,其中矩阵的列表示食谱,行表示用户,行数为用户个数,列数为食谱数量,其中Rij=1表示用户i喜欢食谱j;
S34,计算获得用户三餐的用户-食谱偏好度,其中,用户-食谱偏好度=用户-食谱矩阵*食谱-食谱相似矩阵;
S35,判断食谱是否在用户i对应的用户子图G’中,如果是则进入S36,如果否则进入S37;
S36,将用户-食谱偏好度填入用户-食谱偏好矩阵的对应位置,若相应位置处的用户-食谱偏好度低于预设偏好度,则认为该用户对该食谱不感兴趣,将该位置处的用户-食谱偏好度重置为0;
S37,将用户-食谱偏好度矩阵的对应位置处填为0;
S38,输出三餐的用户-食谱偏好矩阵。
5.根据权利要求4所述的方法,其特征在于,所述对所述用户-食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci的步骤包括:
S41,定义矩阵分解的目标:R’≈UVT,其中U∈Rm*d,表示用户的潜在特征矩阵,V∈Rn*d,表示食谱的潜在特征矩阵,m为用户数量,n为食谱数量,d为分解后潜在特征向量的维度,R’为用户-食谱偏好矩阵,R为用户-食谱矩阵,T为时间窗口;
S42,求解用户的潜在特征矩阵U以及食谱的潜在特征矩阵V,其中,满足
S43,将用户-偏好矩阵R’补全为偏好预测矩阵对于用户i,选取偏好预测矩阵值最大且不在用户i的历史记录集合Hi’的中的若干个食谱,相应的若干个食谱作为用户i的食谱候选集合Ci。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述根据预设条件对所述食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐的步骤包括:
根据预设的营养条件和热量条件对所述食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。
7.根据权利要求6所述的方法,其特征在于,所述根据预设的营养条件和热量条件对所述食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐的步骤包括:
S51,从营养健康知识图谱G中获取食谱候选集合Ci中每个食谱的营养成分、营养成分含量以及热量信息;
S52,根据预设人群特征获取相应的标准营养摄入量SN以及标准热量SH,为用户i匹配适合其个人的建议摄入量BN以及建议热量BH,并根据一日三餐情况将建议摄入量和建议热量分为三份,分别记为BN1,BN2,BN3和BH1,BH2,BH3;
S53,分别从食谱候选集合Ci中以概率P删除营养含量和/或热量高于BHk、BNk的食谱o,其中
,
T为时间窗口,Zo为该时间窗口内食谱o被过滤的次数,Zo越大,则该食谱被过滤的概率越小;
S54,定义食谱候选集合Ci中每个食谱x与建议摄入量、建议热量之间的摄入量差值△N和热量差值△H,其中,
Δ=ΔH+ΔN,
∑Nx表示食谱x所包含的营养含量,∑Hx表示食谱x所包含的热量,k在(1,2,3)中取值,分别表示早、中、晚三个时段;
S55,将食谱候选集合Ci中的食谱按照营养含量和热量排序,从中选取营养含量和/或热量最高,且满足△N的绝对值小于第一阈值、△H的绝对值小于第二阈值的食谱x添加至优选食谱集合;
S56,若△介于第三阈值和第四阈值之间且优选食谱集合中的元素少于5,则继续重复S55;若△大于第四阈值则进入S58;若优选食谱集合中的食谱数超过预设值且相应的食谱尚未达到营养含量和/或热量标准,则进入S57;若优选食谱集合中的食谱数超过预设值且相应的食谱达到营养含量和/或热量标准,进入S59;
S57,增加优选食谱集合中相应的食谱的食材用量,进入S59;
S58,若食谱候选集合Ci中无可添加至优选食谱集合的食谱,则进入S60;否则,进入S61;
S59,根据优选食谱集合为用户进行推荐;
S60,清空优选食谱集合,还原食谱候选集合Ci,删除食谱候选集合Ci中营养含量和/或热量最高的食谱,返回S55;
S61,从优选食谱集合中删除最后添加的食谱。
8.根据权利要求3所述的方法,其特征在于,在所述步骤S23中,所述采样概率
,
其中I表示食谱结点,J表示与I邻接的食材结点,WJ表示食材J的用量。
9.根据权利要求7或8所述的方法,其特征在于,所述营养健康知识图谱G包括结点集合V,边结点集合E以及结点和边的标签P。
10.一种基于知识图谱构建食谱推荐策略的装置,其特征在于,包括:
获取单元,用于获取用户的健康信息和忌口信息;
用户子图构建单元,用于根据营养健康知识图谱G生成用户i对应的用户子图G’;
表示学习单元,用于对所述营养健康知识图谱G进行表示学习,将所述营养健康知识图谱G编码到向量空间;
矩阵生成单元,用于根据所述营养健康知识图谱G和所述用户子图G’生成用户-食谱偏好矩阵R’;
矩阵分解单元,用于对所述用户-食谱偏好矩阵R’进行矩阵分解,生成用户i的食谱候选集合Ci;以及,
推荐单元,用于根据预设条件对所述食谱候选集合Ci中的食谱进行筛选,获得优选食谱集合并进行推荐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810255751.6A CN110310721B (zh) | 2018-03-27 | 2018-03-27 | 一种基于知识图谱构建食谱推荐策略的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810255751.6A CN110310721B (zh) | 2018-03-27 | 2018-03-27 | 一种基于知识图谱构建食谱推荐策略的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110310721A true CN110310721A (zh) | 2019-10-08 |
CN110310721B CN110310721B (zh) | 2023-05-02 |
Family
ID=68073471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810255751.6A Active CN110310721B (zh) | 2018-03-27 | 2018-03-27 | 一种基于知识图谱构建食谱推荐策略的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110310721B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111599439A (zh) * | 2020-05-14 | 2020-08-28 | 陕西师范大学 | 一种基于多目标需求相似性的家庭饮食推荐方法及设备 |
CN111883228A (zh) * | 2020-07-28 | 2020-11-03 | 平安科技(深圳)有限公司 | 基于知识图谱的健康信息推荐方法、装置、设备及介质 |
CN114218931A (zh) * | 2021-11-04 | 2022-03-22 | 北京百度网讯科技有限公司 | 信息抽取方法、装置、电子设备和可读存储介质 |
CN115033800A (zh) * | 2022-07-08 | 2022-09-09 | 西安电子科技大学 | 基于知识图谱的数控加工刀具推荐方法 |
CN116417115A (zh) * | 2023-06-07 | 2023-07-11 | 北京四海汇智科技有限公司 | 妊娠期糖尿病患者个性化营养方案推荐方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874378A (zh) * | 2017-01-05 | 2017-06-20 | 北京工商大学 | 基于规则模型的实体抽取与关系挖掘构建知识图谱的方法 |
CN107391906A (zh) * | 2017-06-19 | 2017-11-24 | 华南理工大学 | 基于神经网络和图谱结构的健康饮食知识网络构建方法 |
-
2018
- 2018-03-27 CN CN201810255751.6A patent/CN110310721B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874378A (zh) * | 2017-01-05 | 2017-06-20 | 北京工商大学 | 基于规则模型的实体抽取与关系挖掘构建知识图谱的方法 |
CN107391906A (zh) * | 2017-06-19 | 2017-11-24 | 华南理工大学 | 基于神经网络和图谱结构的健康饮食知识网络构建方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111599439A (zh) * | 2020-05-14 | 2020-08-28 | 陕西师范大学 | 一种基于多目标需求相似性的家庭饮食推荐方法及设备 |
CN111599439B (zh) * | 2020-05-14 | 2023-06-02 | 陕西师范大学 | 一种基于多目标需求相似性的家庭饮食推荐方法及设备 |
CN111883228A (zh) * | 2020-07-28 | 2020-11-03 | 平安科技(深圳)有限公司 | 基于知识图谱的健康信息推荐方法、装置、设备及介质 |
CN111883228B (zh) * | 2020-07-28 | 2023-07-07 | 平安科技(深圳)有限公司 | 基于知识图谱的健康信息推荐方法、装置、设备及介质 |
CN114218931A (zh) * | 2021-11-04 | 2022-03-22 | 北京百度网讯科技有限公司 | 信息抽取方法、装置、电子设备和可读存储介质 |
CN114218931B (zh) * | 2021-11-04 | 2024-01-23 | 北京百度网讯科技有限公司 | 信息抽取方法、装置、电子设备和可读存储介质 |
CN115033800A (zh) * | 2022-07-08 | 2022-09-09 | 西安电子科技大学 | 基于知识图谱的数控加工刀具推荐方法 |
CN116417115A (zh) * | 2023-06-07 | 2023-07-11 | 北京四海汇智科技有限公司 | 妊娠期糖尿病患者个性化营养方案推荐方法及系统 |
CN116417115B (zh) * | 2023-06-07 | 2023-12-01 | 北京四海汇智科技有限公司 | 妊娠期糖尿病患者个性化营养方案推荐方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110310721B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110310721A (zh) | 一种基于知识图谱构建食谱推荐策略的方法及装置 | |
Pérez-Rodrigo et al. | Food preferences of Spanish children and young people: the enKid study | |
Marlowe | Hunting and gathering: The human sexual division of foraging labor | |
US20190034556A1 (en) | Method, apparatus and refrigerator for recipe recommendation | |
CA2864741C (en) | Systems and methods for user-specific modulation of nutrient intake | |
Bjorndal et al. | Somatic growth dynamics of west Atlantic hawksbill sea turtles: a spatio‐temporal perspective | |
KR102122763B1 (ko) | 빅데이터 기반의 체질을 고려한 음식 추천 시스템 및 방법 | |
Huh et al. | More similar but less satisfying: Comparing preferences for and the efficacy of within-and cross-category substitutes for food | |
US20190272774A1 (en) | Fitness and Educational Game and Method of Playing the Same | |
CN112289407A (zh) | 基于健康管理的餐饮管理的方法、系统、装置和存储介质 | |
Falk | Born to choose: Evolution, self, and well-being | |
JP6641460B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
CN112614564A (zh) | 一种基于多源异构数据融合的智能化营养膳食推荐方法 | |
Hosking et al. | Macronutrient intakes and the lifespan-fecundity trade-off: a geometric framework agent-based model | |
CN110945407A (zh) | 用于优化饮食质量和/或将对环境的影响降到最低的饮食映射过程和系统 | |
Ljubobratović et al. | Assessment of various machine learning models for peach maturity prediction using non-destructive sensor data | |
JP6843597B2 (ja) | 情報処理装置、食材選択方法及びプログラム | |
CN109300527A (zh) | 饮食信息的推荐方法 | |
Zhang et al. | From market to dish: Multi-ingredient image recognition for personalized recipe recommendation | |
Garcia Anton et al. | Climate, isolation and intraspecific competition affect morphological traits in an endangered steppe bird, the Dupont’s Lark Chersophilus duponti | |
Wagner et al. | Men eat on mars, women on venus? an empirical study of food-images | |
Laybros et al. | Quantitative airborne inventories in dense tropical forest using imaging spectroscopy | |
Thömmes et al. | What Instagram can teach us about bird photography: the most photogenic bird and color preferences | |
Lu et al. | Application of machine learning and grocery transaction data to forecast effectiveness of beverage taxation | |
KR20160046628A (ko) | 청소년 식생활 평가 도구와 이를 이용한 식사종류별 반정량적 식품섭취빈도 조사방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |