一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于人工智能的食物推荐、装置、设备及存储介质的制作方法

2021-11-06 06:28:00 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,尤其涉及一种基于人工智能的食物推荐方法、装置、设备及存储介质。


背景技术:

2.糖尿病是一种常见的内分泌代谢疾病,由于胰岛素分泌缺陷或其生物作用受损,导致血糖升高,从而引起各种组织,特别是眼、肾、心脏、血管、神经的慢性损害及功能障碍,由于每种食物含有不同的营养素,患者进食不同食物后血糖值容易发生变化,传统的糖尿病推荐食物集信息通常以医学标准为主,忽略目标用户个性化的饮食特征,导致目标用户厌恶而无法入食。
3.同时,由于传统推荐方法采用医学标准,推荐算法时需要获取目标用户大量的信息,例如,每餐进食哪些食物、食物的进食量、一型糖尿病或二型糖尿病等个人隐私的数据,基于计算大量的信息需要构建复杂的推荐模型进行计算得到推荐食物集信息,因此,这种方案的缺陷是对系统要求较高,且占用较高的系统内存和cpu,得到推荐食物集信息时容易造成交互页面卡顿,不利于系统流畅运行。


技术实现要素:

4.鉴于以上内容,本发明提供一种基于人工智能的食物推荐方法、装置、设备及存储介质,其目的在于解决现有技术中忽略目标用户个性化的饮食特征及获取目标用户大量的信息进行计算得到推荐食物集信息,且占用较高的系统内存和cpu的技术问题。
5.为实现上述目的,本发明提供一种基于人工智能的食物推荐方法,该方法包括:
6.从预设食物库中获取预设初始食物集中食物的属性值,基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值;
7.根据所述第一热度值、所述第二热度值计算得到任意两种食物之间的相似度值,根据所述每种食物的属性值与所述任意两种食物之间的相似度值构建所述初始食物集中所有食物的知识图谱;
8.根据目标用户的行为信息及所述第三热度值从所述初始食物集中选取第一预设数量的候选食物,基于所述候选食物的属性值,将所述候选食物与所述知识图谱进行匹配得到所述目标用户对应的候选食物集,建立所述候选食物集与血糖值的映射关系表;
9.将所述目标用户的预设血糖指标输入预先构建的血糖预测模型,得到目标用户的血糖预测值,当判断所述血糖预测值是否小于预设值时,若是,根据所述血糖预测值及所述映射关系表得到目标食物集,将所述目标食物集推送至所述目标用户。
10.优选的,所述基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值,包括:
11.读取所述目标用户在预设时间段内浏览所述初始食物集中食物的浏览时长,将所述浏览时长作为该食物的第一热度值;
12.读取所述初始食物集中每种食物的浏览量,将所述浏览量作为该食物的第二热度值;
13.读取所述初始食物集中每种食物的收藏量,将所述收藏量作为该食物的第三热度值。
14.优选的.所述相似度值的计算公式包括:
[0015][0016]
其中,i为初始食物集中的第i个食物,j为初始食物集中的第j个食物,t
i
为第i个食物的第一热度值,v
j
为第j个食物的第一热度值,u
i
为第i个食物的第二热度值,u
j
为第j个食物的第二热度值,q为第i个食物与第j个食物之间的相似度值,a为预留参数。
[0017]
优选的,所述根据目标用户的行为信息及所述第三热度值从所述初始食物集中选取第一预设数量的候选食物,包括:
[0018]
根据目标用户对所述初始食物集中食物进行收藏的行为信息;
[0019]
及所述每种食物的第三热度值对所述初始食物集中所有食物进行排序,根据由大到小的排序顺序选取第一预设数量的候选食物并获取所述候选食物的属性值。
[0020]
优选的,所述血糖预测模型的训练过程,包括:
[0021]
获取第二预设数量的血糖历史值作为样本集;
[0022]
将所述样本集按照预设比例分成训练集及验证集;
[0023]
利用所述训练集中的各自变量及各因变量对长短期记忆模型进行训练,每隔预设周期利用所述验证集中各变量及各因变量对长短期记忆模型的准确率进行验证;
[0024]
及当验所述准确率大于或等于预设阈值时,结束训练得到所述血糖预测模型。
[0025]
优选的,所述方法还包括:
[0026]
当判断所述血糖预测值大于或等于所述预设值时,向所述目标用户反馈预设提示信息。
[0027]
优选的,所述方法还包括:
[0028]
当侦测到所述目标用户对所述目标食物集中任意一种食物进行浏览时,将所述食物所属类别的食物添加至所述目标食物集。
[0029]
为实现上述目的,本发明还提供一种基于人工智能的食物推荐装置,所述装置包括:
[0030]
获取模块:用于从预设食物库中获取预设初始食物集中食物的属性值,基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值;
[0031]
计算模块:用于根据所述第一热度值、所述第二热度值计算得到任意两种食物之间的相似度值,根据所述每种食物的属性值与所述任意两种食物之间的相似度值构建所述初始食物集中所有食物的知识图谱;
[0032]
匹配模块:用于根据目标用户的行为信息及所述第三热度值从所述初始食物集中选取第一预设数量的候选食物,基于所述候选食物的属性值,将所述候选食物与所述知识图谱进行匹配得到所述目标用户对应的候选食物集,建立所述候选食物集与血糖值的映射
关系表;
[0033]
输出模块:用于将所述目标用户的预设血糖指标输入预先构建的血糖预测模型,得到目标用户的血糖预测值,当判断所述血糖预测值是否小于预设值时,若是,根据所述血糖预测值及所述映射关系表得到目标食物集,将所述目标食物集推送至所述目标用户。
[0034]
为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:
[0035]
至少一个处理器;以及,
[0036]
与所述至少一个处理器通信连接的存储器;其中,
[0037]
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述基于人工智能的食物推荐方法。
[0038]
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于人工智能的食物推荐程序,所述基于人工智能的食物推荐程序被处理器执行时,实现如权利要求1至7中任一项所述基于人工智能的食物推荐方法的步骤。
[0039]
本发明提出的基于人工智能的食物推荐方法、装置、设备及存储介质,根据食物的第一热度值、第二热度值计算得到任意两种食物之间的相似度值,根据食物的属性值与任意两种食物之间相似度值构建所述初始食物集中所有食物的知识图谱,根据目标用户的行为信息及食物的第三热度值排序选取候选食物,将候选食物与知识图谱进行匹配得到候选食物集,根据血糖预测值及映射关系表得到目标食物集,将目标食物集推送至目标用户。实现了人工智能对目标用户的饮食个性化推荐的效果,帮助患者科学控制血糖,保持良好的膳食结构。减少了采集目标用户大量的信息和构建推荐模型的复杂度,能够快速得到推荐食物集信息,也降低对系统运行的配置要求,提高交互页面的流畅运行。
附图说明
[0040]
图1为本发明电子设备较佳实施例的示意图;
[0041]
图2为图1中基于人工智能的食物推荐装置较佳实施例的模块示意图;
[0042]
图3为本发明基于人工智能的食物推荐方法较佳实施例的流程图;
[0043]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0044]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045]
参照图1所示,为本发明电子设备1较佳实施例的示意图。
[0046]
该电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobilecommunication,gsm)、宽带码分多址(wideband code division multiple access,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi

fi通话网络等无线或有线网络。
[0047]
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如基于人工智能的食物推荐程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0048]
处理器12在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行基于人工智能的食物推荐程序10的程序代码等。
[0049]
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light

emittingdiode,oled)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
[0050]
网络接口14可选地可以包括标准的有线接口、无线接口(如wi

fi接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
[0051]
图1仅示出了具有组件11

14以及基于人工智能的食物推荐程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0052]
可选地,所述电子设备1还可以包括目标用户接口,目标用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的目标用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light

emitting diode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的目标用户界面。
[0053]
该电子设备1还可以包括射频(radio frequency,rf)电路、传感器和音频电路等等,在此不再赘述。
[0054]
在上述实施例中,处理器12执行存储器11中存储的基于人工智能的食物推荐程序10时可以实现如下步骤:
[0055]
从预设食物库中获取预设初始食物集中食物的属性值,基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值;
[0056]
根据所述第一热度值、所述第二热度值计算得到任意两种食物之间的相似度值,根据所述每种食物的属性值与所述任意两种食物之间的相似度值构建所述初始食物集中所有食物的知识图谱;
[0057]
根据目标用户的行为信息及所述第三热度值从所述初始食物集中选取第一预设数量的候选食物,基于所述候选食物的属性值,将所述候选食物与所述知识图谱进行匹配得到所述目标用户对应的候选食物集,建立所述候选食物集与血糖值的映射关系表;
[0058]
将所述目标用户的预设血糖指标输入预先构建的血糖预测模型,得到目标用户的血糖预测值,当判断所述血糖预测值是否小于预设值时,若是,根据所述血糖预测值及所述映射关系表得到目标食物集,将所述目标食物集推送至所述目标用户。
[0059]
所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
[0060]
关于上述步骤的详细介绍,请参照下述图2关于基于人工智能的食物推荐装置100实施例的功能模块图以及图3关于基于人工智能的食物推荐方法实施例的流程图的说明。
[0061]
参照图2所示,为本发明基于人工智能的食物推荐装置100的功能模块图。
[0062]
本发明所述基于人工智能的食物推荐装置100可以安装于电子设备中。根据实现的功能,所述基于人工智能的食物推荐装置100可以包括获取模块110、计算模块120、匹配模块130及输出模块140。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
[0063]
在本实施例中,关于各模块/单元的功能如下:
[0064]
获取模块110,用于从预设食物库中获取预设初始食物集中食物的属性值,基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值。
[0065]
本实施例中,从预设食物库中获取预设初始食物集中食物的属性值,预设食物库可以指是中国食物成分表、食品网站等,例如,通过数据预处理的数据清洗算法对食物库中的数据,采用填补缺失值,平滑或删除离群点等方式处理,得到预设初始食物集,根据预设食物库中每种食物的升糖指数由小到大的顺序排序,选取排名小于或等于升糖指数70的食物作为预设初始食物集,筛选小于或等于升糖指数70的食物,说明目标用户进食这些食物后能够稳定吸收,不会产生目标用户血糖不稳定的情况,再根据初始食物集中的食物含有热量、脂肪、蛋白质、碳水化合物、维生素、水、钙、磷等营养素,将每个营养素的含有量作为食物其中的一个数据值,根据每个数据值对食物进行排序,选取排序靠前的食物的数据值作为食物的属性值,基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值,若有m个用户在应用程序a上注册了目标用户帐号,则将m个用户作为应用程序a的预设用户群,用户群的行为信息可以是指用户群内各用户浏览食物的浏览时长,及对喜欢食物设为收藏等行为信息。
[0066]
例如,预设食物库中有10000种食物,根据该10000种食物的升糖指数由小到大的顺序排序,选取排名小于或等于升糖指数70的食物,若排名小于或等于升糖指数70的食物有5000种,则将该5000种食物作为预设初始食物集。若得到的预设初始食物集中有5000种食物,再根据该5000种食物的蛋白质的数据值由大到小的顺序排序,选取排名靠前1000名的食物,将蛋白质的数据值作为该排名靠前1000名食物的属性值,其它营养素的数据值也可以按照排序的方法,选取食物的属性值。
[0067]
在一个实施例中,所述基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值,包括:
[0068]
读取所述目标用户在预设时间段内浏览所述初始食物集中食物的浏览时长,将所述浏览时长作为该食物的第一热度值;
[0069]
读取所述初始食物集中每种食物的浏览量,将所述浏览量作为该食物的第二热度值;
[0070]
读取所述初始食物集中每种食物的收藏量,将所述收藏量作为该食物的第三热度值。
[0071]
在预设时间段内,读取目标用户浏览初始食物集中每种食物的浏览时长,将食物对应的浏览时长,作为该食物的第一热度值,浏览时长越长代表该食物越受该目标用户的关注度越高,若食物a在预设时间段内被k个用户浏览过,则将k作为该食物的第二热度值,同时,若食物a在预设时间段内被l个用户设为收藏,食物的收藏量越多代表该食物越受到目标用户的喜好度越高,则将l作为该食物的第三热度值。
[0072]
例如,在预设时间段内(例如,7天内),橘子被目标用户b一共浏览了100秒,则将这100秒作为该橘子的第一热度值,橘子被50个用户浏览过,则将50作为该橘子的第二热度值,同时橘子被30个用户设为收藏,则将30作为该橘子的第三热度值。
[0073]
计算模块120,用于根据所述第一热度值、所述第二热度值计算得到任意两种食物之间的相似度值,根据所述每种食物的属性值与所述任意两种食物之间的相似度值构建所述初始食物集中所有食物的知识图谱。
[0074]
本实施例中,在预设时间段内,读取食物的第一热度值、第二热度值,食物的第一热度值越大代表该食物被目标用户浏览的时长越长,说明目标用户愿意花费时间去了解,该食物是否有利于自己的饮食健康,根据人工智能可以推算出目标用户对该食物的关注度,从而避免大量采集目标用户的饮食信息,食物的第二热度值越大代表该食物被越多个用户的浏览过,说明大部分用户对该食物是普遍喜欢的,该食物可能是一种大众化食物,例如是苹果或橙子等,该食物在日常生活中受大部分用户的欢迎度很高,根据相似度值的计算公式计算任意两种食物的第一热度值、第二热度值之间的相似度值,再根据每种食物的属性值与该任意两种食物之间的相似度值构建初始食物集中所有食物的知识图谱,从而得到食物的知识图谱的准确度更高。
[0075]
在一个实施例中,所述相似度值的计算公式包括:
[0076][0077]
其中,i为初始食物集中的第i个食物,j为初始食物集中的第j个食物,t
i
为第i个食物的第一热度值,t
j
为第j个食物的第一热度值,u
i
为第i个食物的第二热度值,u
j
为第j个食物的第二热度值,q为第i个食物与第j个食物之间的相似度值,a为预留参数,a用于控制浏览时间对相似度值的影响。
[0078]
例如,在预设时间段内(例如,7天内),读取橘子和橙子的第一热度值、第二热度值,其中,橘子被50个用户浏览过,橘子被目标用户b一共浏览了100秒,橙子被30个用户浏览过,橙子被该目标用户b一共浏览了90秒,则橘子的第一热度值为100,橙子的第一热度值为90,橘子的第二热度值为50,橙子的第二热度值为30,根据橘子和橙子的第一热度值、第
二热度值计算得到橘子和橙子之间的相似度值,基于每种食物的属性值与橘子、橙子之间的相似度值构建初始食物集中所有食物的知识图谱,当橘子被该目标用户b设为收藏时,下次该目标用户b浏览橘子时,知识图谱会优先推荐橙子或者与橘子的属性值关联的食物给该目标用户b。
[0079]
本发明通过构建食物的知识图谱,通过知识图谱对目标用户的行为进行人工智能计算,相对于现有技术可以减少采集目标用户的信息,只需要根据每种食物的属性值与两种食物之间的相似度值构建初始食物集中所有食物的知识图谱,从而得到食物的知识图谱的准确度更高。
[0080]
匹配模块130,用于根据目标用户的行为信息及所述第三热度值从所述初始食物集中选取第一预设数量的候选食物,基于所述候选食物的属性值,将所述候选食物与所述知识图谱进行匹配得到所述目标用户对应的候选食物集,建立所述候选食物集与血糖值的映射关系表。
[0081]
本实施例中,行为信息是指在预设时间段内用户对食物的收藏或评价等行为,当目标用户对初始食物集中任意一种食物进行浏览并设为收藏时,说明目标用户觉得该食物对自己的饮食健康有帮助,根据目标用户的收藏行为及浏览过每种食物的第三热度值选取第一预设数量候选食物,第一预设数量可以根据实际场景需要,例如,第一预设数量为10种,将候选食物的属性值与知识图谱中的食物进行匹配,得到该目标用户的候选食物集,建立候选食物集与血糖值的映射关系表,由于候选食物集中的每种食物的属性值是不同的,因此,根据血糖值由小到大的顺序对候选食物集中的每种食物的属性值排序,建立每种食物与不同阶段的血糖值的映射关系表,例如,候选食物集中有苹果、香蕉,其中,苹果的升糖指数为55,香蕉的升糖指数为35,根据血糖值由小到大的顺序对苹果、香蕉进行排序,建立苹果、香蕉与血糖值的映射关系表,例如,苹果的升糖指数为55对应血糖值为(5.5

6.1mmol/l)阶段,香蕉的升糖指数为35对应血糖值为(6.5

6.9mmol/l)阶段。
[0082]
在一个实施例中,所述根据目标用户的行为信息及所述第三热度值从所述初始食物集中选取第一预设数量的候选食物,包括:
[0083]
根据目标用户对所述初始食物集中食物进行收藏的行为信息;
[0084]
及所述每种食物的第三热度值对所述初始食物集中所有食物进行排序,根据由大到小的排序顺序选取第一预设数量的候选食物并获取所述候选食物的属性值。
[0085]
根据目标用户对初始食物集中食物进行浏览并设为收藏的行为信息,及浏览过每种食物的第三热度值对初始食物集中所有食物进行排序,根据由大到小的排序顺序选取第一预设数量候选食物并获取候选食物的属性值,选取第一预设数量候选食物可以是指排序顺序中食物的第三热度值排名靠前的几种,例如,是排名靠前的10种食物,根据该10种食物的属性值,将该10种食物与知识图谱中的食物进行匹配,得到该目标用户的食物集作为候选食物集。
[0086]
例如,在预设时间段内(例如,7天内),当目标用户b分别浏览了苹果、香蕉、梨、橙子并设为收藏时,读取苹果、香蕉、梨、橙子的第三热度值(收藏量),如果苹果的收藏量为100,香蕉、橙子的收藏量各为50,梨的收藏量为20,选取第三热度值排名靠前的3种食物为苹果、香蕉、橙子,将该3种食物的属性值与知识图谱中的食物进行匹配,得到该目标用户b的候选食物集。
[0087]
将候选食物与知识图谱进行匹配得到候选食物集,减少了采集目标用户大量的信息和构建推荐模型的复杂度,同样能够快速得到推荐食物集信息,实现了人工智能对目标用户的饮食个性化推荐的效果。
[0088]
输出模块140,用于将所述目标用户的预设血糖指标输入预先构建的血糖预测模型,得到目标用户的血糖预测值,当判断所述血糖预测值是否小于预设值时,若是,根据所述血糖预测值及所述映射关系表得到目标食物集,将所述目标食物集推送至所述目标用户。
[0089]
本实施例中,预设血糖指标是指在预设时间段内(例如,6小时),目标用户提供的初始空腹血糖数据值或餐后对应升糖指数表的数据值作为目标用户的预设血糖指标,血糖预测模型可以是根据长短期记忆模型训练得到的,长短期记忆模型是一种时间循环神经网络的模型,是为了解决循环神经网络模型梯度弥散的问题而专门设计出来的,根据血糖预测模型得到目标用户的血糖预测值,血糖预测值包括但不限于血糖值及血糖负荷,当血糖预测值小于预设值时,说明该目标用户可能处于低血糖阶段,因此,可以根据预先建立的血糖预测值与候选食物集的映射关系表得到目标食物集,将目标食物集推送至该目标用户,让该目标用户选择目标食物集中的食物进行补充自己体内的血糖。
[0090]
在一个实施例中,所述血糖预测模型的训练过程,包括:
[0091]
获取第二预设数量的血糖历史值作为样本集;
[0092]
将所述样本集按照预设比例分成训练集及验证集;
[0093]
利用所述训练集中的各自变量及各因变量对长短期记忆模型进行训练,每隔预设周期利用所述验证集中各变量及各因变量对长短期记忆模型的准确率进行验证;
[0094]
及当验所述准确率大于或等于预设阈值时,结束训练得到所述血糖预测模型。
[0095]
基于用户群提供的历史血糖数据值作为血糖历史值,从中获取用户群的第二预设数量的血糖历史值作为样品集,第二预设数量根据实际场景需要,例如,获取50000份用户的血糖历史值作为样品集,将样本集按照预设比例分成训练集及验证集,预设比例可以是指3:1或4:1的比例,利用训练集中的各自变量及各因变量对长短期记忆模型进行训练,同时,结合用户群提供的血糖历史值对应的升糖指数表提供的餐后血糖变化时间曲线作为长短期记忆模型的输出函数,每隔预设周期利用该验证集中各变量及各因变量对长短期记忆模型的准确率进行验证,及当验该准确率大于或等于预设阈值(例如,90%)时,结束训练得到血糖预测模型。
[0096]
在一个实施例中,所述方法还包括:
[0097]
当判断所述血糖预测值大于或等于所述预设值时,向所述目标用户反馈预设提示信息。
[0098]
当目标用户血糖的血糖预测值大于或等于预设值时,向该目标用户反馈预设提示信息,例如,预设反馈消息可以为“您好,您的血糖值过高,请及时测量您的血糖或就医会诊”,由于血糖过高对目标用户身体的危害很大,因此反馈消息可以帮助目标用户及时了解到自己的血糖处于高血糖阶段,做好相应的措施。
[0099]
血糖的预设值关系参考表:
[0100]
时间血糖值空腹血糖3.9

6.1mmol/l
餐后1小时血糖6.7

9.4mmol/l餐后2小时血糖3.9

7.8mmol/l餐后3小时血糖3.9

6.1mmol/l
[0101]
例如,基于目标用户提供的血糖数据值,根据血糖预测模型计算得到该目标用户餐后1小时血糖值,目标用户的血糖预测值为(9.7mmol/l),预设值的餐后1小时血糖值为(6.7

9.4mmol/l),当目标用户的血糖预测值大于或等于预设值时,向该目标用户反馈预设提示信息。
[0102]
例如,目标用户的血糖预测值为(5.7mmol/l),预设值的餐后1小时血糖值为(6.7

9.4mmol/l),当目标用户的血糖预测值小于预设值时,根据预先建立的血糖预测值与所述候选食物集的映射关系表,得到目标食物集,例如,当目标用户b分别浏览了苹果、香蕉、梨、橙子并设为收藏时,根据该目标用户b的行为信息,分别读取苹果、香蕉、梨、橙子的收藏量,其中,苹果的收藏量为100,香蕉、橙子的收藏量各为50,梨的收藏量为20,基于食物的第三热度值将苹果、香蕉、梨、橙子由高到低的顺序排序,根据排序顺序选取苹果、香蕉、橙子建立与该目标用户对应的候选食物集,再根据血糖预测值(5.7mmol/l)与候选食物集的映射关系表,其中,候选食物集中某些食物能够快速有效补充该目标用户体内的血糖,会优先推荐这些食物得到目标食物集。
[0103]
在一个实施例中,所述方法还包括:
[0104]
当侦测到所述目标用户对所述目标食物集中任意一种食物进行浏览时,将所述食物所属类别的食物添加至所述目标食物集。
[0105]
当目标用户接收到目标食物集后,若侦测到目标用户对目标食物集的任意一种食物进行点击浏览,说明目标用户对该食物感兴趣,将该食物所属类别的食物添加至候选食物集。
[0106]
此外,本发明还提供一种基于人工智能的食物推荐方法。参照图3所示,为本发明基于人工智能的食物推荐方法的实施例的方法流程示意图。电子设备1的处理器12执行存储器11中存储的基于人工智能的食物推荐程序10时,实现基于人工智能的食物推荐方法,包括步骤s10

s40。以下对各个步骤进行具体说明。
[0107]
步骤s10:从预设食物库中获取预设初始食物集中食物的属性值,基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值。
[0108]
本实施例中,从预设食物库中获取预设初始食物集中食物的属性值,预设食物库可以指是中国食物成分表、食品网站等,例如,通过数据预处理的数据清洗算法对食物库中的数据,采用填补缺失值,平滑或删除离群点等方式处理,得到预设初始食物集,根据预设食物库中每种食物的升糖指数由小到大的顺序排序,选取排名小于或等于升糖指数70的食物作为预设初始食物集,筛选小于或等于升糖指数70的食物,说明目标用户进食这些食物后能够稳定吸收,不会产生目标用户血糖不稳定的情况,再根据初始食物集中的食物含有热量、脂肪、蛋白质、碳水化合物、维生素、水、钙、磷等营养素,将每个营养素的含有量作为食物其中的一个数据值,根据每个数据值对食物进行排序,选取排序靠前的食物的数据值作为食物的属性值,基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值,若有m个用户在应用程序a上注册了目标用户帐号,则将m个用户作为应用程序a的预设用户群,用户群的行为信息可以是指用户群内各用户浏览食物的浏览时长,
及对喜欢食物设为收藏等行为信息。
[0109]
例如,预设食物库中有10000种食物,根据该10000种食物的升糖指数由小到大的顺序排序,选取排名小于或等于升糖指数70的食物,若排名小于或等于升糖指数70的食物有5000种,则将该5000种食物作为预设初始食物集。若得到的预设初始食物集中有5000种食物,再根据该5000种食物的蛋白质的数据值由大到小的顺序排序,选取排名靠前1000名的食物,将蛋白质的数据值作为该排名靠前1000名食物的属性值,其它营养素的数据值也可以按照排序的方法,选取食物的属性值。
[0110]
在一个实施例中,所述基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值,包括:
[0111]
读取所述目标用户在预设时间段内浏览所述初始食物集中食物的浏览时长,将所述浏览时长作为该食物的第一热度值;
[0112]
读取所述初始食物集中每种食物的浏览量,将所述浏览量作为该食物的第二热度值;
[0113]
读取所述初始食物集中每种食物的收藏量,将所述收藏量作为该食物的第三热度值。
[0114]
在预设时间段内,读取目标用户浏览初始食物集中每种食物的浏览时长,将食物对应的浏览时长,作为该食物的第一热度值,浏览时长越长代表该食物越受该目标用户的关注度越高,若食物a在预设时间段内被k个用户浏览过,则将k作为该食物的第二热度值,同时,若食物a在预设时间段内被l个用户设为收藏,食物的收藏量越多代表该食物越受到目标用户的喜好度越高,则将l作为该食物的第三热度值。
[0115]
例如,在预设时间段内(例如,7天内),橘子被目标用户b一共浏览了100秒,则将这100秒作为该橘子的第一热度值,橘子被50个用户浏览过,则将50作为该橘子的第二热度值,同时橘子被30个用户设为收藏,则将30作为该橘子的第三热度值。
[0116]
步骤s20:根据所述第一热度值、所述第二热度值计算得到任意两种食物之间的相似度值,根据所述每种食物的属性值与所述任意两种食物之间的相似度值构建所述初始食物集中所有食物的知识图谱。
[0117]
本实施例中,在预设时间段内,读取食物的第一热度值、第二热度值,食物的第一热度值越大代表该食物被目标用户浏览的时长越长,说明目标用户愿意花费时间去了解,该食物是否有利于自己的饮食健康,根据人工智能可以推算出目标用户对该食物的关注度,从而避免大量采集目标用户的饮食信息,食物的第二热度值越大代表该食物被越多个用户的浏览过,说明大部分用户对该食物是普遍喜欢的,该食物可能是一种大众化食物,例如是苹果或橙子等,该食物在日常生活中受大部分用户的欢迎度很高,根据相似度值的计算公式计算任意两种食物的第一热度值、第二热度值之间的相似度值,再根据每种食物的属性值与该任意两种食物之间的相似度值构建初始食物集中所有食物的知识图谱,从而得到食物的知识图谱的准确度更高。
[0118]
在一个实施例中,所述相似度值的计算公式包括:
[0119][0120]
其中,i为初始食物集中的第i个食物,j为初始食物集中的第j个食物,t
i
为第i个食物的第一热度值,v
j
为第j个食物的第一热度值,u
i
为第i个食物的第二热度值,u
j
为第j个食物的第二热度值,q为第i个食物与第j个食物之间的相似度值,a为预留参数,a用于控制浏览时间对相似度值的影响。
[0121]
例如,在预设时间段内(例如,7天内),读取橘子和橙子的第一热度值、第二热度值,其中,橘子被50个用户浏览过,橘子被目标用户b一共浏览了100秒,橙子被30个用户浏览过,橙子被该目标用户b一共浏览了90秒,则橘子的第一热度值为100,橙子的第一热度值为90,橘子的第二热度值为50,橙子的第二热度值为30,根据橘子和橙子的第一热度值、第二热度值计算得到橘子和橙子之间的相似度值,基于每种食物的属性值与橘子、橙子之间的相似度值构建初始食物集中所有食物的知识图谱,当橘子被该目标用户b设为收藏时,下次该目标用户b浏览橘子时,知识图谱会优先推荐橙子或者与橘子的属性值关联的食物给该目标用户b。
[0122]
本发明通过构建食物的知识图谱,通过知识图谱对目标用户的行为进行人工智能计算,相对于现有技术可以减少采集目标用户的信息,只需要根据每种食物的属性值与两种食物之间的相似度值构建初始食物集中所有食物的知识图谱,从而得到食物的知识图谱的准确度更高。
[0123]
步骤s30:根据目标用户的行为信息及所述第三热度值从所述初始食物集中选取第一预设数量的候选食物,基于所述候选食物的属性值,将所述候选食物与所述知识图谱进行匹配得到所述目标用户对应的候选食物集,建立所述候选食物集与血糖值的映射关系表。
[0124]
本实施例中,行为信息是指在预设时间段内用户对食物的收藏或评价等行为,当目标用户对初始食物集中任意一种食物进行浏览并设为收藏时,说明目标用户觉得该食物对自己的饮食健康有帮助,根据目标用户的收藏行为及浏览过每种食物的第三热度值选取第一预设数量候选食物,第一预设数量可以根据实际场景需要,例如,第一预设数量为10种,将候选食物的属性值与知识图谱中的食物进行匹配,得到该目标用户的候选食物集,建立候选食物集与血糖值的映射关系表,由于候选食物集中的每种食物的属性值是不同的,因此,根据血糖值由小到大的顺序对候选食物集中的每种食物的属性值排序,建立每种食物与不同阶段的血糖值的映射关系表,例如,候选食物集中有苹果、香蕉,其中,苹果的升糖指数为55,香蕉的升糖指数为35,根据血糖值由小到大的顺序对苹果、香蕉进行排序,建立苹果、香蕉与血糖值的映射关系表,例如,苹果的升糖指数为55对应血糖值为(5.5

6.1mmol/l)阶段,香蕉的升糖指数为35对应血糖值为(6.5

6.9mmol/l)阶段。
[0125]
在一个实施例中,所述根据目标用户的行为信息及所述第三热度值从所述初始食物集中选取第一预设数量的候选食物,包括:
[0126]
根据目标用户对所述初始食物集中食物进行收藏的行为信息;
[0127]
及所述每种食物的第三热度值对所述初始食物集中所有食物进行排序,根据由大
到小的排序顺序选取第一预设数量的候选食物并获取所述候选食物的属性值。
[0128]
根据目标用户对初始食物集中食物进行浏览并设为收藏的行为信息,及浏览过每种食物的第三热度值对初始食物集中所有食物进行排序,根据由大到小的排序顺序选取第一预设数量候选食物并获取候选食物的属性值,选取第一预设数量候选食物可以是指排序顺序中食物的第三热度值排名靠前的几种,例如,是排名靠前的10种食物,根据该10种食物的属性值,将该10种食物与知识图谱中的食物进行匹配,得到该目标用户的食物集作为候选食物集。
[0129]
例如,在预设时间段内(例如,7天内),当目标用户b分别浏览了苹果、香蕉、梨、橙子并设为收藏时,读取苹果、香蕉、梨、橙子的第三热度值(收藏量),如果苹果的收藏量为100,香蕉、橙子的收藏量各为50,梨的收藏量为20,选取第三热度值排名靠前的3种食物为苹果、香蕉、橙子,将该3种食物的属性值与知识图谱中的食物进行匹配,得到该目标用户b的候选食物集。
[0130]
将候选食物与知识图谱进行匹配得到候选食物集,减少了采集目标用户大量的信息和构建推荐模型的复杂度,同样能够快速得到推荐食物集信息,实现了人工智能对目标用户的饮食个性化推荐的效果。
[0131]
步骤s40:将所述目标用户的预设血糖指标输入预先构建的血糖预测模型,得到目标用户的血糖预测值,当判断所述血糖预测值是否小于预设值时,若是,根据所述血糖预测值及所述映射关系表得到目标食物集,将所述目标食物集推送至所述目标用户。
[0132]
本实施例中,预设血糖指标是指在预设时间段内(例如,6小时),目标用户提供的初始空腹血糖数据值或餐后对应升糖指数表的数据值作为目标用户的预设血糖指标,血糖预测模型可以是根据长短期记忆模型训练得到的,长短期记忆模型是一种时间循环神经网络的模型,是为了解决循环神经网络模型梯度弥散的问题而专门设计出来的,根据血糖预测模型得到目标用户的血糖预测值,血糖预测值包括但不限于血糖值及血糖负荷,当血糖预测值小于预设值时,说明该目标用户可能处于低血糖阶段,因此,可以根据预先建立的血糖预测值与候选食物集的映射关系表得到目标食物集,将目标食物集推送至该目标用户,让该目标用户选择目标食物集中的食物进行补充自己体内的血糖。
[0133]
在一个实施例中,所述血糖预测模型的训练过程,包括:
[0134]
获取第二预设数量的血糖历史值作为样本集;
[0135]
将所述样本集按照预设比例分成训练集及验证集;
[0136]
利用所述训练集中的各自变量及各因变量对长短期记忆模型进行训练,每隔预设周期利用所述验证集中各变量及各因变量对长短期记忆模型的准确率进行验证;
[0137]
及当验所述准确率大于或等于预设阈值时,结束训练得到所述血糖预测模型。
[0138]
基于用户群提供的历史血糖数据值作为血糖历史值,从中获取用户群的第二预设数量的血糖历史值作为样品集,第二预设数量根据实际场景需要,例如,获取50000份用户的血糖历史值作为样品集,将样本集按照预设比例分成训练集及验证集,预设比例可以是指3:1或4:1的比例,利用训练集中的各自变量及各因变量对长短期记忆模型进行训练,同时,结合用户群提供的血糖历史值对应的升糖指数表提供的餐后血糖变化时间曲线作为长短期记忆模型的输出函数,每隔预设周期利用该验证集中各变量及各因变量对长短期记忆模型的准确率进行验证,及当验该准确率大于或等于预设阈值(例如,90%)时,结束训练得
到血糖预测模型。
[0139]
在一个实施例中,所述方法还包括:
[0140]
当判断所述血糖预测值大于或等于所述预设值时,向所述目标用户反馈预设提示信息。
[0141]
当目标用户血糖的血糖预测值大于或等于预设值时,向该目标用户反馈预设提示信息,例如,预设反馈消息可以为“您好,您的血糖值过高,请及时测量您的血糖或就医会诊”,由于血糖过高对目标用户身体的危害很大,因此反馈消息可以帮助目标用户及时了解到自己的血糖处于高血糖阶段,做好相应的措施。
[0142]
血糖的预设值关系参考表:
[0143][0144][0145]
例如,基于目标用户提供的血糖数据值,根据血糖预测模型计算得到该目标用户餐后1小时血糖值,目标用户的血糖预测值为(9.7mmol/l),预设值的餐后1小时血糖值为(6.7

9.4mmol/l),当目标用户的血糖预测值大于或等于预设值时,向该目标用户反馈预设提示信息。
[0146]
例如,目标用户的血糖预测值为(5.7mmol/l),预设值的餐后1小时血糖值为(6.7

9.4mmol/l),当目标用户的血糖预测值小于预设值时,根据预先建立的血糖预测值与所述候选食物集的映射关系表,得到目标食物集,例如,当目标用户b分别浏览了苹果、香蕉、梨、橙子并设为收藏时,根据该目标用户b的行为信息,分别读取苹果、香蕉、梨、橙子的收藏量,其中,苹果的收藏量为100,香蕉、橙子的收藏量各为50,梨的收藏量为20,基于食物的第三热度值将苹果、香蕉、梨、橙子由高到低的顺序排序,根据排序顺序选取苹果、香蕉、橙子建立与该目标用户对应的候选食物集,再根据血糖预测值(5.7mmol/l)与候选食物集的映射关系表,其中,候选食物集中某些食物能够快速有效补充该目标用户体内的血糖,会优先推荐这些食物得到目标食物集。
[0147]
在一个实施例中,所述方法还包括:
[0148]
当侦测到所述目标用户对所述目标食物集中任意一种食物进行浏览时,将所述食物所属类别的食物添加至所述目标食物集。
[0149]
当目标用户接收到目标食物集后,若侦测到目标用户对目标食物集的任意一种食物进行点击浏览,说明目标用户对该食物感兴趣,将该食物所属类别的食物添加至候选食物集。
[0150]
此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、sd卡、闪存卡、smc、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd

rom)、usb存储器等等中的任意一种或者几种的任
意组合。所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有基于人工智能的食物推荐程序10,所述基于人工智能的食物推荐程序10被处理器执行时实现如下操作:
[0151]
从预设食物库中获取预设初始食物集中食物的属性值,基于预设用户群的行为信息分别读取每种食物的第一热度值、第二热度值及第三热度值;
[0152]
根据所述第一热度值、所述第二热度值计算得到任意两种食物之间的相似度值,根据所述每种食物的属性值与所述任意两种食物之间的相似度值构建所述初始食物集中所有食物的知识图谱;
[0153]
根据目标用户的行为信息及所述第三热度值从所述初始食物集中选取第一预设数量的候选食物,基于所述候选食物的属性值,将所述候选食物与所述知识图谱进行匹配得到所述目标用户对应的候选食物集,建立所述候选食物集与血糖值的映射关系表;
[0154]
将所述目标用户的预设血糖指标输入预先构建的血糖预测模型,得到目标用户的血糖预测值,当判断所述血糖预测值是否小于预设值时,若是,根据所述血糖预测值及所述映射关系表得到目标食物集,将所述目标食物集推送至所述目标用户。
[0155]
在另一个实施例中,本发明所提供的基于人工智能的食物推荐方法,为进一步保证上述所有出现的数据的私密和安全性,上述所有数据还可以存储于一区块链的节点中。例如食物的属性值、相似度值等等,这些数据均可存储在区块链节点中。
[0156]
需要说明的是,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0157]
本发明之计算机可读存储介质的具体实施方式与上述基于人工智能的食物推荐方法的具体实施方式大致相同,在此不再赘述。
[0158]
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0159]
需要说明的是,上述本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0160]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0161]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方
法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用于使得一台电子设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
[0162]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献