掌桥专利:专业的专利平台
掌桥专利
首页

菜谱推荐方法、系统、电子设备、存储介质及芯片

文献发布时间:2023-06-19 19:28:50


菜谱推荐方法、系统、电子设备、存储介质及芯片

技术领域

本公开涉及智能冰箱技术领域,特别涉及一种菜谱推荐方法、系统、电子设备、存储介质及芯片。

背景技术

智能冰箱,就是能对冰箱进行智能化控制、对食品进行智能化管理的冰箱类型。可让用户通过终端设备或是冰箱上搭载的智慧屏,随时随地了解冰箱里食物的数量、保鲜保质信息,为用户推荐菜谱等服务。

目前的智能冰箱可以根据冰箱中已有的食材进行菜谱推荐。但为了进行准确的菜谱推荐,现在的智能冰箱通常都需要用户提前采集或录入用户喜欢的菜谱,或者是将用户历史选择的菜谱的优先级提高,并不能真正地、准确地了解用户的口味或喜好。

发明内容

为了克服上述技术问题,本公开提供了一种菜谱推荐方法、系统、电子设备、存储介质及芯片。

第一方面,本公开提供一种菜谱推荐方法。包括:

响应于用户从推荐菜谱中选择的目标菜谱,基于所述目标菜谱获取目标菜谱特征向量;其中,所述推荐菜谱根据推荐菜谱特征向量确定,所述推荐菜谱特征向量为神经网络根据食材库信息的输出;

基于所述目标菜谱特征向量确定所述神经网络的学习率;

根据所述学习率优化所述神经网络;

响应于所述食材库信息的更新,基于优化后的所述神经网络根据更新后的所述食材库信息确定新的推荐菜谱。

可选地,所述神经网络执行网络、模型网络及评价网络;

所述执行网络用于根据所述食材库信息输出食材刺激特征向量;其中,所述食材刺激特征向量用于模拟所述食材库信息中不同食材对所述用户的不同刺激;

所述模型网络用于模拟所述用户,根据所述食材刺激特征向量及所述食材库信息输出所述推荐菜谱特征向量;

所述评价网络用于根据所述目标菜谱特征向量输出评价特征向量。

可选地,所述基于所述目标菜谱特征向量确定所述神经网络的学习率的步骤包括:

计算本次第一反馈特征值;其中,所述本次第一反馈特征值根据所述目标菜谱特征向量、本次食材刺激特征向量、本次评价特征向量及所述执行网络的当前权重确定;

获取所述执行网络的前次第一反馈特征和前次刺激预测参考特征值;

根据所述前次第一反馈特征值、所述前次刺激预测参考特征值确定本次刺激预测参考特征值;其中,所述前次第一反馈特征值用于表征前次选择的目标菜谱对所述本次食材刺激特征向量的影响;

根据所述本次第一反馈特征值和所述本次刺激预测参考特征值确定第一学习调整量;

计算所述第一学习调整量与所述执行网络的当前学习率的和得到所述执行网络的第一学习率。

可选地,所述计算本次第一反馈特征值的步骤包括:

从所述目标菜谱特征向量中提取食材消耗特征向量;其中,所述食材消耗特征向量用于表征所述目标菜谱需要消耗的食材;

基于所述食材消耗特征向量确定费用函数;

根据所述费用函数、所述本次食材刺激特征向量、所述目标菜谱特征向量及所述本次评价特征向量确定所述执行网络的目标函数;

根据所述执行网络的目标函数与所述执行网络的当前权重确定所述本次第一反馈特征值。

可选地,所述费用函数为:

U(t)=μ

其中,U(t)为所述费用函数,x

所述执行网络的目标函数为:

其中,E

所述本次第一反馈特征值的计算方式为:

其中,D

可选地,所述本次刺激预测参考特征值的计算方式为:

S

其中,S

所述第一学习率调整量的计算方式为:

其中,Δα

可选地,所述基于所述目标菜谱特征向量确定所述神经网络的学习率步骤包括:

获取所述评价网络的前次理想评价特征向量;

计算所述评价网络的本次第二反馈特征值;其中,所述本次第二反馈特征值根据所述前次理想评价特征向量、本次评价特征向量及所述评价网络的当前权重确定;

获取所述执行网络的前次评价参考特征值及前次第二反馈特征值;

根据所述前次评价参考特征值和所述前次第二反馈特征值确定本次评价参考特征值;其中,所述前次第二反馈特征值用于表征前次选择的目标菜谱对所述本次评价特征向量的影响;

根据所述本次评价参考特征值和所述本次第二反馈特征值确定第二学习调整量;

计算所述第二学习调整量与所述评价网络的当前学习率的和得到所述评价网络的第二学习率。

可选地,所述计算所述评价网络的本次第二反馈特征值的步骤包括:

根据所述前次理想评价特征向量和所述本次评价特征向量确定本次理想评价特征向量;

根据所述本次评价特征向量与所述本次理想评价特征向量确定所述评价网络的目标函数;

根据所述评价网络的目标函数和所述评价网络的当前权重确定所述本次第二反馈特征值。

可选地,所述本次理想评价特征向量的计算方式为:

其中,β

所述评价网络的目标函数为:

其中,E

所述本次第二反馈特征值的计算方式为:

其中,D

可选地,所述本次评价参考特征值的计算方式为:

S

其中,S

所述第二学习率调整量的计算方式为:

其中,Δα

可选地,所述根据所述学习率优化所述神经网络的步骤包括:

获取前次理想食材刺激特征向量;

根据所述前次理想食材刺激特征向量和所述本次食材刺激特征向量确定本次理想食材刺激特征向量;

根据所述第一学习率、所述本次理想食材刺激特征向量、所述本次食材刺激特征向量及所述本次理想评价特征向量获取第一误差梯度;

使用所述第一误差梯度更新所述执行网络的权重;

所述本次理想食材刺激特征向量的计算方式为:

所述第一误差梯度的计算方式为:

其中,Δw

可选地,所述根据所述学习率优化所述神经网络的步骤包括:

根据所述第二学习率获取第二误差梯度;

使用所述第二误差梯度更新所述评价网络的权重;

所述第二误差梯度的计算方式为:

其中,Δw

可选地,所述神经网络用于根据所述食材库信息统计食材种类和各个所述食材种类的数量,以得到食材库特征向量,将所述食材库特征向量输入所述执行网络。

可选地,所述菜谱推荐方法包括:

计算所述推荐菜谱特征向量与菜谱数据库中的菜谱特征向量的匹配度;

根据所述匹配度确定所述推荐菜谱。

第二方面,本公开提供一种菜谱推荐系统。包括:

响应模块,用于响应于用户从推荐菜谱中选择的目标菜谱,基于所述目标菜谱获取目标菜谱特征向量;其中,所述推荐菜谱根据推荐菜谱特征向量确定,所述推荐菜谱特征向量为神经网络根据食材库信息的输出;

学习率计算模块,用于基于所述目标菜谱特征向量确定所述神经网络的学习率;

网络更新模块,用于根据所述学习率优化所述神经网络;

推荐菜谱更新模块,用于响应于所述食材库信息的更新,基于优化后的所述神经网络根据更新后的所述食材库信息确定新的推荐菜谱。

可选地,所述神经网络执行网络、模型网络及评价网络;

所述执行网络用于根据所述食材库信息输出食材刺激特征向量;其中,所述食材刺激特征向量用于模拟所述食材库信息中不同食材对所述用户的不同刺激;

所述模型网络用于模拟所述用户,根据所述食材刺激特征向量及所述食材库信息输出所述推荐菜谱特征向量;

所述评价网络用于根据所述目标菜谱特征向量输出评价特征向量。

可选地,所述学习率计算模块包括第一学习率确定单元。

所述第一学习率确定单元用于计算本次第一反馈特征值;其中,所述本次第一反馈特征值根据所述目标菜谱特征向量、本次食材刺激特征向量、本次评价特征向量及所述执行网络的当前权重确定;获取所述执行网络的前次第一反馈特征和前次刺激预测参考特征值;根据所述前次第一反馈特征值、所述前次刺激预测参考特征值确定本次刺激预测参考特征值;其中,所述前次第一反馈特征值用于表征前次选择的目标菜谱对所述本次食材刺激特征向量的影响;根据所述本次第一反馈特征值和所述本次刺激预测参考特征值确定第一学习调整量;计算所述第一学习调整量与所述执行网络的当前学习率的和得到第一学习率。

可选地,第一学习率确定单元用于从所述目标菜谱特征向量中提取食材消耗特征向量;其中,所述食材消耗特征向量用于表征所述目标菜谱需要消耗的食材;基于所述食材消耗特征向量确定费用函数;根据所述费用函数、所述本次食材刺激特征向量、所述目标菜谱特征向量及所述本次评价特征向量确定所述执行网络的目标函数;根据所述执行网络的目标函数与所述执行网络的当前权重确定所述本次第一反馈特征值。

可选地,所述费用函数为:

U(t)=μ

其中,U(t)为所述费用函数,x

所述执行网络的目标函数为:

其中,E

所述本次第一反馈特征值的计算方式为:

其中,D

可选地,所述本次刺激预测参考特征值的计算方式为:

S

其中,S

所述第一学习率调整量的计算方式为:

其中,Δα

可选地,所述学习率计算模块包括第二学习率确定单元。

所述第二学习率确定单元用于获取所述评价网络的前次理想评价特征向量;计算所述评价网络的本次第二反馈特征值;其中,所述本次第二反馈特征值根据所述前次理想评价特征向量、本次评价特征向量及所述评价网络的当前权重确定;获取所述执行网络的前次评价参考特征值及前次第二反馈特征值;根据所述前次评价参考特征值和所述前次第二反馈特征值确定本次评价参考特征值;其中,所述前次第二反馈特征值用于表征前次选择的目标菜谱对所述本次评价特征向量的影响;根据所述本次评价参考特征值和所述本次第二反馈特征值确定第二学习调整量;计算所述第二学习调整量与所述评价网络的当前学习率的和得到第二学习率。

可选地,所述第二学习率确定单元用于根据所述前次理想评价特征向量和所述本次评价特征向量确定本次理想评价特征向量;根据所述本次评价特征向量与所述本次理想评价特征向量确定所述评价网络的目标函数;根据所述评价网络的目标函数和所述评价网络的当前权重确定所述本次第二反馈特征值。

可选地,所述本次理想评价特征向量的计算方式为:

其中,β

所述评价网络的目标函数为:

其中,E

所述本次第二反馈特征值的计算方式为:

其中,D

可选地,所述本次评价参考特征值的计算方式为:

S

其中,S

所述第二学习率调整量的计算方式为:

其中,Δα

可选地,所述网络更新模块包括执行网络优化单元。

所述执行网络优化单元用于获取前次理想食材刺激特征向量;根据所述前次理想食材刺激特征向量和所述本次食材刺激特征向量确定本次理想食材刺激特征向量;根据所述第一学习率、所述本次理想食材刺激特征向量、所述本次食材刺激特征向量及所述本次理想评价特征向量获取第一误差梯度;使用所述第一误差梯度更新所述执行网络的权重。

所述本次理想食材刺激特征向量的计算方式为:

所述第一误差梯度的计算方式为:

其中,Δw

可选地,所述网络更新模块包括评价网络优化单元。

所述评价网络优化单元,用于:根据所述第二学习率获取第二误差梯度;使用所述第二误差梯度更新所述评价网络的权重;

所述第二误差梯度的计算方式为:

/>

其中,Δw

可选地,所述神经网络用于根据所述食材库信息统计食材种类和各个所述食材种类的数量,以得到食材库特征向量,将所述食材库特征向量输入所述执行网络。

可选地,所述推荐菜谱更新模块用于计算所述推荐菜谱特征向量与菜谱数据库中的菜谱特征向量的匹配度;根据所述匹配度确定所述推荐菜谱。

第三方面,本公开提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现第一方面所述的菜谱推荐方法。

第四方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面所述的菜谱推荐方法。

第五方面,本公开提供一种芯片,所述芯片执行第一方面所述的菜谱推荐方法。

本公开的积极进步效果在于:

本公开提供的菜谱推荐方法、系统、电子设备、存储介质及芯片,通过使用神经网络,基于获取到的食材库信息为用户生成推荐菜谱特征向量,基于推荐菜谱特征向量确定一个或多个推荐菜谱,并解析用户从一个或多个推荐菜谱中确定的目标菜谱,得到目标菜谱特征向量,基于目标菜谱特征向量调整神经网络的学习率,以使得神经网络学习用户的喜好。

特别的是,本公开相比与传统神经网络中采用常数值作为学习率,本公开根据每次用户的选择动态确定神经网络的学习率,能够大大提高训练过程中的收敛速度,进而使得神经网络基于更少的学习次数便可以真正地学习到用户的口味或喜好。

附图说明

图1为本公开实施例1提供的菜谱推荐方法的流程示意图;

图2为本公开实施例1提供的神经网络的结构示意图;

图3为本公开实施例2提供的菜谱推荐系统的模块示意图;

图4为本公开实施例2提供的智能冰箱的结构示意图;

图5为本公开实施例3提供的一种电子设备的结构示意图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。

需要说明的是,关于本实施例提供的菜谱推荐方法的执行主体可以为单独的芯片、芯片模组或者UE,也可以是集成于UE内的芯片或者芯片模组。

关于实施例描述的菜谱推荐系统具体可以是单独的芯片、芯片模组或者UE,也可以是集成于UE内的芯片或者芯片模组。菜谱推荐系统包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。

例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于UE的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于UE内部集成的处理器,剩余的部分模块/单元可以采用电路等硬件方式实现。

实施例1

本实施例提供过一种菜谱推荐方法。

参见图1,该菜谱推荐方法包括以下步骤:

S1、响应于用户从推荐菜谱中选择的目标菜谱,基于目标菜谱获取目标菜谱特征向量;其中,推荐菜谱根据推荐菜谱特征向量确定,推荐菜谱特征向量为神经网络根据食材库信息的输出;

S2、基于目标菜谱特征向量确定神经网络的学习率;

S3、根据学习率优化神经网络;

S4、响应于食材库信息的更新,基于优化后的神经网络根据更新后的食材库信息确定新的推荐菜谱。

上述菜谱推荐方法使用神经网络,基于获取到的食材库信息为用户生成一个或多个推荐菜谱,解析用户从一个或多个推荐菜谱中确定的目标菜谱,得到目标菜谱特征向量,基于目标菜谱特征向量调整神经网络的学习率,以使得神经网络学习用户的喜好,从而进行更加精准的推荐菜谱。

在本实施例中,参见图2,神经网络包括执行网络、模型网络及评价网络。

首先,该神经网络从食材库信息中提取出食材库特征向量。

具体地,神经网络用于根据食材库信息统计食材种类和各个食材种类的数量,以得到食材库特征向量。

然后,将食材库特征向量输入执行网络,执行网络用于根据食材库特征向量输出食材刺激特征向量。

具体地,食材刺激特征向量用于模拟食材库信息中的不同食材对用户产生的不同刺激。

紧接着,将食材库特征向量和食材刺激特征向量输入至模型网络,模型网络用于根据食材库特征向量和食材刺激特征向量输出推荐菜谱特征向量。

具体地,模型网络主要是在已知食材库信息和各种食材对于不同用户产生的不同刺激的情况下,预测用户偏好的菜谱,进而生成推荐菜谱特征向量。

示例性的,推荐菜谱特征向量主要包括对烹饪方式、采用到的肉菜种类、采用到的素材种类、咸度、甜度、辣度及酸度等多维度的预测。

在模型网络输出推荐菜谱特征向量后,可以计算推荐菜谱特征向量与预置的菜谱数据库中不同菜谱的菜谱特征向量的匹配度,并根据匹配度确定推荐菜谱。用户便可以从一个或多个推荐菜谱中选择目标菜谱。

示例性的,将匹配度大于预设阈值的菜谱特征向量所对应的菜谱均作为推荐菜谱,并按照匹配度的高低进行推荐排序。具体根据每页所能够展示的菜谱数量,将匹配度高的推荐菜谱放在前几页进行展示推荐。另外,也可以按照计算的匹配度的高低进行排序,选取排序靠前的预设数量的菜谱作为推荐菜谱。

其中,匹配度的计算方法除了常见的相似度算法以外,还可以通过将推荐菜谱特征向量与菜谱特征向量做差并取范数,以得到匹配度。

最后,响应于用户选择的目标菜谱,根据目标菜谱提取出目标菜谱特征向量,将目标菜谱特征向量输入至评价网络,评价网络会根据目标菜谱特征向量输出评价特征向量。基于该评价特征向量可以去调整执行网络和评价网络的权重,以使得执行网络输出的食材刺激特征向量更加贴近不同的食材对于用户的真实刺激。

其中,调整执行网络和评价网络的权重需要先确定网络的学习率。

具体地,步骤S2包括确定执行网络的第一学习率的步骤:

S211、计算本次第一反馈特征值;其中,本次第一反馈特征值根据目标菜谱特征向量、本次食材刺激特征向量、本次评价特征向量及执行网络的当前权重确定;

S212、获取执行网络的前次第一反馈特征和前次刺激预测参考特征值;

S213、根据前次第一反馈特征值、前次刺激预测参考特征值确定本次刺激预测参考特征值;其中,前次第一反馈特征值用于表征前次选择的目标菜谱对本次食材刺激特征向量的影响;

S214、根据本次第一反馈特征值和本次刺激预测参考特征值确定第一学习调整量;

S215、计算第一学习调整量与执行网络的当前学习率的和得到第一学习率。

需要说明的是,神经网络在第一次针对该用户的喜好进行优化时,本次刺激预测参考特征值是预设的,不需要进行计算。

其中,步骤S211包括:

S2111、从目标菜谱特征向量中提取食材消耗特征向量;其中,食材消耗特征向量用于表征目标菜谱需要消耗的食材;

S2112、基于食材消耗特征向量确定费用函数;

S2113、根据费用函数、本次食材刺激特征向量、目标菜谱特征向量及本次评价特征向量确定执行网络的目标函数;

S2114、根据执行网络的目标函数与执行网络的当前权重确定本次第一反馈特征值。

示例性的,本次食材消耗特征向量为x

U(t)=μ

其中,U(t)为费用函数,μ

根据费用函数U(t)、本次食材刺激特征向量

其中,E

基于此,本次第一反馈特征值的计算方式为:

其中,D

并且,获取的前次第一反馈特征表示为D

S

其中,S

基于本次刺激预测参考特征值S

其中,Δα

需要说明的是,在本次刺激预测参考特征值S

在本次刺激预测参考特征值S

也就是说,本实施例中第一学习率正向调整时,增加一个常数,第一学习率反向调整时,则按照一种比例进行减小。保证了第一学习率正向调整时是线性增长的,反向调整时是指数性减少的。这样可以更加快速地学习用户的喜好。

因此,执行网络的第一学习率的计算方式为:

α

其中,α

以及,步骤S2还包括确定评价网络的第二学习率的步骤:

S221、获取评价网络的前次理想评价特征向量;

S222、计算评价网络的本次第二反馈特征值;其中,本次第二反馈特征值根据前次理想评价特征向量、本次评价特征向量及评价网络的当前权重确定;

S223、获取执行网络的前次评价参考特征值及前次第二反馈特征值;

S224、根据前次评价参考特征值和前次第二反馈特征值确定本次评价参考特征值;其中,前次第二反馈特征值用于表征前次选择的目标菜谱对本次评价特征向量的影响;

S225、根据本次评价参考特征值和本次第二反馈特征值确定第二学习调整量;

S226、计算第二学习调整量与评价网络的当前学习率的和得到第二学习率。

需要说明的是,神经网络在第一次针对该用户的喜好进行优化时,本次评价参考特征值也是预设的,不需要进行计算。

其中,步骤S222具体包括:

S2221、根据前次理想评价特征向量和本次评价特征向量确定本次理想评价特征向量;

S2222、根据本次评价特征向量与本次理想评价特征向量确定评价网络的目标函数;

S2223、根据评价网络的目标函数和评价网络的当前权重确定本次第二反馈特征值。

示例性的,获取到的前次理想评价特征向量为β

基于本次理想评价特征向量β

其中,E

基于评价网络的当前权重w

并且,获取的前次第二反馈特征值表示为D

S

其中,S

基于本次评价参考特征值S

/>

其中,Δα

需要说明的是,在本次评价参考特征值S

在本次评价参考特征值S

也就是说,本实施例中第二学习率正向调整时,增加一个常数,第二学习率反向调整时,则按照一种比例进行减小。保证了第二学习率正向调整时是线性增长的,反向调整时是指数性减少的。这样可以更加快速地学习用户的喜好。

基于步骤S2获取的第一学习率,步骤S3具体包括:

S311、获取前次理想食材刺激特征向量;

S312、根据前次理想食材刺激特征向量和本次食材刺激特征向量确定本次理想食材刺激特征向量;

S313、根据第一学习率、本次理想食材刺激特征向量、本次食材刺激特征向量及本次理想评价特征向量获取第一误差梯度;

S314、使用第一误差梯度更新执行网络的权重。

示例性的,获取的前次理想食材刺激特征向量表示为u

其中,t为本次对应的神经网络针对用户的已优化次数。

基于第一学习率α

计算执行网络的当前权重w

相应的,基于步骤S2获取的第二学习率,步骤S3还包括:

S321、根据第二学习率获取第二误差梯度;

S322、使用第二误差梯度更新评价网络的权重。

示例性的,基于第二学习率α

计算评价网络的当前权重w

在步骤S4中,由于神经网络的执行网络及评价网络都已进行了相应的优化,响应于食材库信息的更新,可以基于优化后的神经网络根据更新后的食材库信息确定新的推荐菜谱,使得输出的推荐菜谱更加符合用户的喜好。

实施例2

本实施例提供过一种菜谱推荐系统。

参见图3,该菜谱推荐系统包括:

响应模块41,用于响应于用户从推荐菜谱中选择的目标菜谱,基于目标菜谱获取目标菜谱特征向量;其中,推荐菜谱根据推荐菜谱特征向量确定,推荐菜谱特征向量为神经网络根据食材库信息的输出;

学习率计算模块42,用于基于目标菜谱特征向量确定神经网络的学习率;

网络更新模块43,用于根据学习率优化神经网络;

推荐菜谱更新模块44,用于响应于食材库信息的更新,基于优化后的神经网络根据更新后的食材库信息确定新的推荐菜谱。

上述菜谱推荐系统使用神经网络,基于获取到的食材库信息为用户生成一个或多个推荐菜谱,解析用户从一个或多个推荐菜谱中确定的目标菜谱,得到目标菜谱特征向量,基于目标菜谱特征向量调整神经网络的学习率,以使得神经网络学习用户的喜好,从而进行更加精准的推荐菜谱。

在本实施例中,参见图2,神经网络包括执行网络、模型网络及评价网络。

首先,该神经网络从食材库信息中提取出食材库特征向量。

具体地,神经网络用于根据食材库信息统计食材种类和各个食材种类的数量,以得到食材库特征向量。

然后,将食材库特征向量输入执行网络,执行网络用于根据食材库特征向量输出食材刺激特征向量。

具体地,食材刺激特征向量用于模拟食材库信息中的不同食材对用户产生的不同刺激。

紧接着,将食材库特征向量和食材刺激特征向量输入至模型网络,模型网络用于根据食材库特征向量和食材刺激特征向量输出推荐菜谱特征向量。

具体地,模型网络主要是在已知食材库信息和各种食材对于不同用户产生的不同刺激的情况下,预测用户偏好的菜谱,进而生成推荐菜谱特征向量。

示例性的,推荐菜谱特征向量主要包括对烹饪方式、采用到的肉菜种类、采用到的素材种类、咸度、甜度、辣度及酸度等多维度的预测。

推荐菜谱更新模块44用于在模型网络输出推荐菜谱特征向量后,计算推荐菜谱特征向量与预置的菜谱数据库中不同菜谱的菜谱特征向量的匹配度,并根据匹配度确定推荐菜谱。用户便可以从一个或多个推荐菜谱中选择目标菜谱。

示例性的,将匹配度大于预设阈值的菜谱特征向量所对应的菜谱均作为推荐菜谱,并按照匹配度的高低进行推荐排序。具体根据每页所能够展示的菜谱数量,将匹配度高的推荐菜谱放在前几页进行展示推荐。另外,也可以按照计算的匹配度的高低进行排序,选取排序靠前的预设数量的菜谱作为推荐菜谱。

其中,匹配度的计算方法除了常见的相似度算法以外,还可以通过将推荐菜谱特征向量与菜谱特征向量做差并取范数,以得到匹配度。

最后,响应于用户选择的目标菜谱,根据目标菜谱提取出目标菜谱特征向量,将目标菜谱特征向量输入至评价网络,评价网络会根据目标菜谱特征向量输出评价特征向量。基于该评价特征向量可以去调整执行网络和评价网络的权重,以使得执行网络输出的食材刺激特征向量更加贴近不同的食材对于用户的真实刺激。

其中,调整执行网络和评价网络的权重需要先确定网络的学习率。

具体地,学习率计算模块42包括第一学习率确定单元421,第一学习率确定单元421用于计算本次第一反馈特征值;其中,本次第一反馈特征值根据目标菜谱特征向量、本次食材刺激特征向量、本次评价特征向量及执行网络的当前权重确定;获取执行网络的前次第一反馈特征和前次刺激预测参考特征值;根据前次第一反馈特征值、前次刺激预测参考特征值确定本次刺激预测参考特征值;其中,前次第一反馈特征值用于表征前次选择的目标菜谱对本次食材刺激特征向量的影响;根据本次第一反馈特征值和本次刺激预测参考特征值确定第一学习调整量;计算第一学习调整量与执行网络的当前学习率的和得到第一学习率。

需要说明的是,神经网络在第一次针对该用户的喜好进行优化时,本次刺激预测参考特征值是预设的,不需要进行计算。

其中,第一学习率确定单元421用于从目标菜谱特征向量中提取食材消耗特征向量;其中,食材消耗特征向量用于表征目标菜谱需要消耗的食材;基于食材消耗特征向量确定费用函数;根据费用函数、本次食材刺激特征向量、目标菜谱特征向量及本次评价特征向量确定执行网络的目标函数;根据执行网络的目标函数与执行网络的当前权重确定本次第一反馈特征值。

示例性的,本次食材消耗特征向量为x

U(t)=μ

其中,U(t)为费用函数,μ

根据费用函数U(t)、本次食材刺激特征向量

其中,E

基于此,本次第一反馈特征值的计算方式为:

其中,D

并且,获取的前次第一反馈特征表示为D

S

其中,S

基于本次刺激预测参考特征值S

其中,Δα

需要说明的是,在本次刺激预测参考特征值S

在本次刺激预测参考特征值S

也就是说,本实施例中第一学习率正向调整时,增加一个常数,第一学习率反向调整时,则按照一种比例进行减小。保证了第一学习率正向调整时是线性增长的,反向调整时是指数性减少的。这样可以更加快速地学习用户的喜好。

因此,执行网络的第一学习率的计算方式为:

α

其中,α

以及,学习率计算模块42还包括第二学习率确定单元422,第二学习率确定单元422用于获取评价网络的前次理想评价特征向量;计算评价网络的本次第二反馈特征值;其中,本次第二反馈特征值根据前次理想评价特征向量、本次评价特征向量及评价网络的当前权重确定;获取执行网络的前次评价参考特征值及前次第二反馈特征值;根据前次评价参考特征值和前次第二反馈特征值确定本次评价参考特征值;其中,前次第二反馈特征值用于表征前次选择的目标菜谱对本次评价特征向量的影响;根据本次评价参考特征值和本次第二反馈特征值确定第二学习调整量;计算第二学习调整量与评价网络的当前学习率的和得到第二学习率。

需要说明的是,神经网络在第一次针对该用户的喜好进行优化时,本次评价参考特征值也是预设的,不需要进行计算。

其中,第二学习率确定单元422用于根据前次理想评价特征向量和本次评价特征向量确定本次理想评价特征向量;根据本次评价特征向量与本次理想评价特征向量确定评价网络的目标函数;根据评价网络的目标函数和评价网络的当前权重确定本次第二反馈特征值。

示例性的,获取到的前次理想评价特征向量为β

基于本次理想评价特征向量β

其中,E

基于评价网络的当前权重w

并且,获取的前次第二反馈特征值表示为D

S

其中,S

基于本次评价参考特征值S

其中,Δα

需要说明的是,在本次评价参考特征值S

在本次评价参考特征值S

也就是说,本实施例中第二学习率正向调整时,增加一个常数,第二学习率反向调整时,则按照一种比例进行减小。保证了第二学习率正向调整时是线性增长的,反向调整时是指数性减少的。这样可以更加快速地学习用户的喜好。

基于学习率计算模块42获取的第一学习率,网络更新模块43包括执行网络优化单元431。

执行网络优化单元431用于获取前次理想食材刺激特征向量;根据前次理想食材刺激特征向量和本次食材刺激特征向量确定本次理想食材刺激特征向量;根据第一学习率、本次理想食材刺激特征向量、本次食材刺激特征向量及本次理想评价特征向量获取第一误差梯度;使用第一误差梯度更新执行网络的权重。

示例性的,获取的前次理想食材刺激特征向量表示为u

其中,t为本次对应的神经网络针对用户的已优化次数。

基于第一学习率α

计算执行网络的当前权重w

相应的,基于学习率计算模块42获取的第二学习率,网络更新模块43还包括评价网络优化单元432。

评价网络优化单元432用于根据第二学习率获取第二误差梯度;使用第二误差梯度更新评价网络的权重。

示例性的,基于第二学习率α

计算评价网络的当前权重w

在推荐菜谱更新模块44中,由于神经网络的执行网络及评价网络都已进行了相应的优化,响应于食材库信息的更新,可以基于优化后的神经网络根据更新后的食材库信息确定新的推荐菜谱,使得输出的推荐菜谱更加符合用户的喜好。

在实际的应用场景中,该菜谱推荐系统可以应用于各种智能终端。例如,智能冰箱、手机、电脑等终端。

示例性的,该菜谱推荐系统可以用于搭载显示屏幕和摄像头的智能冰箱。通过摄像头采集用户存放或取出冰箱中的视频帧图像,以实时更新食材库信息。智能冰箱响应于食材库信息的更新,基于神经网络智能地为用户生成推荐菜谱,并以视频、图片、音频等多种方式进行输出展示,便于用户选择。在用户从推荐菜谱选择目标菜谱后,对目标菜谱进行分析和学习,以优化神经网络。进而使用神经网络对用户偏好的烹饪方式、食材种类、口味等方面进行多维度地学习,以便于符合用户喜好的推荐菜谱。

同时,为了减轻智能终端的运算复杂度,可以通过云计算的方式,将本地采集的数据传输到云端进行计算,再将计算结果返回给智能终端。这样可以有效缓解智能终端的硬件压力,减少不必要的硬件成本。

示例性的,参考图4,智能冰箱通过摄像模块采集视频帧图像,中央处理器将采集到的视频帧图像上传至云端进行分析,云端分析完成后将最新的食材库信息返回给智能冰箱,中央处理器在接收到最新的食材库信息后将其保存至本地存储模块。当中央处理器检测到本地存储模块中的食材库信息更新后,会使用菜谱推荐模块根据本地的食材库信息生成合适的推荐菜谱。中央处理器根据菜谱推荐模块确定的推荐菜谱,通过触控显示模块(例如触控显示屏)将推荐菜谱进行展示,还可以通过语音模块将推荐菜谱进行播报。

具体地,摄像模块主要是通过用户行为的触发进行视频帧采集。

示例性的,摄像模块按照30帧每分钟的标准采集,用食物框框将识别出的食物进行标记,并将包含食物框的视频帧图像标记为有效帧,然后在采集的有效帧中,基于食物框的前后位移做计算食物的实际位移,就判断出当前这次操作是属于取出动作还是放入动作。

另外,摄像模块还集成了人脸识别功能,针对不同的用户建立不同的喜好数据表,当前用户模式的操作只影响当前用户的喜好数据表,实现多用户模式的菜谱精准推荐功能。

应当理解的是,由于手机或电脑地硬件通常足以进行菜谱推荐,并且还提供交互功能,基于该菜谱推荐方法形成的应用软件也可以在手机、电脑等终端上运行。

示例性的,智能冰箱在联网的情况下,可以直接或间接地将食材库信息传输至手机或电脑,相关的应用软件基于获取到的食材库信息输出推荐菜谱后,用户便可以直接使用手机或电脑选择目标菜谱。

实施例3

本实施例提供一种电子设备。

图5为本公开实施例3提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现实施例1所述的菜谱推荐方法。图5显示的电子设备50仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

在实际应用中,电子设备可以是智能冰箱、手机、电脑等设备产品。

如图5所示,电子设备50也可以通用计算设备的形式表现,例如其可以为服务器设备。电子设备50的组件可以包括但不限于:上述至少一个处理器51、上述至少一个存储器52、连接不同系统组件(包括存储器52和处理器51)的总线53。

总线53包括数据总线、地址总线和控制总线。

存储器52可以包括易失性存储器,例如随机存取存储器(RAM)521和/或高速缓存存储器522,还可以进一步包括只读存储器(ROM)523。

存储器52还可以包括具有一组(至少一个)程序模块524的程序/实用工具525,这样的程序模块524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

处理器51通过运行存储在存储器52中的计算机程序,从而执行各种功能应用以及数据处理,例如本公开实施例1所述的菜谱推荐方法。

电子设备50也可以与一个或多个外部设备54(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口55进行。并且,模型生成的设备50还可以通过网络适配器56与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器56通过总线53与模型生成的设备50的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

实施例4

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时,实现实施例1所述的菜谱推荐方法。

其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。

在可能的实施方式中,本公开还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行时,实现实施例1所述的菜谱推荐方法。

其中,可以一种或多种程序设计语言的任意组合来编写用于执行本公开的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

相关技术
  • 视频推荐方法及装置、系统、电子设备以及存储介质
  • 存储方法、存储系统、电子设备及存储介质
  • 生成推荐词的方法、装置、电子设备及存储介质
  • 文章推荐方法、装置、存储介质和电子设备
  • 推荐代理人方法、电子设备以及计算机可读存储介质
  • 菜谱推荐方法、推荐菜谱装置、存储介质和电子设备
  • 菜谱推荐方法、烹饪设备、存储介质及菜谱推荐系统
技术分类

06120115926971