食材推荐清单的生成方法、冰箱及计算机可读存储介质与流程

文档序号:29622664发布日期:2022-04-13 13:40阅读:112来源:国知局
食材推荐清单的生成方法、冰箱及计算机可读存储介质与流程

1.本发明涉及一种食材推荐清单的生成方法,尤其涉及一种涉及该方法的冰箱及计算机可读存储介质。


背景技术:

2.随着人们生活水平的进一步提高、科技的进一步发展,用户对家电的要求也在进一步提高,也进一步要求家电的智能化,寻求更好的、人机交互更便捷、算法更加智能的智能家电。例如,冰箱是现代家庭中常用的使食物或其他物品保持恒定低温冷态的产品。如今,用户对冰箱的要求也不仅只要求冰箱本身所应该具有的功能更好、更实用、更节省和更方便,用户还希望看到更加智能的功能以及有效提高用户场景体验的冰箱。
3.如今的智能冰箱具备联网功能,用户可进行食材的选购,冰箱也可进行饮食菜谱推荐,但菜谱如何推荐依赖于客户所采购的食材,不同的用户所选购的食材也可能存在很大差异,如何推荐符合每个客户需求的购物清单,是实现冰箱智能化改进的难点,符合客户需求的食材推荐清单的生成方法更符合智慧家居的需求。


技术实现要素:

4.为解决上述的现有技术中的问题,本发明的目的在于提供一种食材推荐清单的生成方法、冰箱及计算机可读存储介质。
5.为实现上述发明目的,本发明一实施方式提供一种食材推荐清单的生成方法,包括步骤:
6.获取最近n次的历史购物信息,每次的所述历史购物信息为ai={a1,a2

aj},其中,i表示第i次历史购物,i∈[1,n],aj表示食材信息,n的值越大,购物的时间距离当前越近;
[0007]
将n次的所述历史购物信息a1、a2

an的食材信息汇总,生成食材汇总信息b={a1,a2

aj

am};
[0008]
结合n次的所述历史购物信息中食材aj出现的次数的权重、以及食材aj出现的时间的权重,计算食材aj的推荐系数kj;
[0009]
生成购物汇总信息c={k1a1,k2a2

kjaj

kmam};
[0010]
将所述购物汇总信息c内的每个元素按kj的大小排序,生成食材推荐清单。
[0011]
作为本发明的进一步改进,所述步骤“结合n次的所述历史购物信息中食材aj出现的次数的权重、以及食材aj出现的时间的权重,计算食材aj的推荐系数kj”包括:
[0012]
计算食材aj的推荐系数kj,其中,
[0013]
作为本发明的进一步改进,所述步骤“将所述购物推荐清单b内的每个元素按kj的大小排序,生成食材推荐清单”包括:
[0014]
将所述购物推荐清单b内的每个元素按kj的大小从大到小排序,生成食材推荐清
单。
[0015]
作为本发明的进一步改进,所述步骤“将所述购物推荐清单b内的每个元素按kj的大小从大到小排序,生成食材推荐清单”包括:
[0016]
当m小于等于x时,根据kj的大小对所述购物推荐清单b内的每个元素由大到小排序,生成食材推荐清单;
[0017]
当m大于x时,根据kj的大小对所述购物推荐清单b内的每个元素由大到小排序,取前x个元素生成食材推荐清单。
[0018]
作为本发明的进一步改进,所述步骤“将所述购物汇总信息c内的每个元素按kj的大小排序,生成食材推荐清单”包括:
[0019]
当m大于x时,取{k1a1,k2a2

kjaj

kmam}中的前x个元素作为待定集合d,d={k1a1,k2a2

kxax};
[0020]
依次比较kx+1、kx+1

kx+y

km是否大于{k1,k2

kx}中的所有元素,若kx+y大于{k1,k2

kx}中的任一元素kz,将待定集合d中的kzaz替换为kx+yax+y;
[0021]
将比较完成后的集合d中的所有食材信息作为所述食材推荐清单。
[0022]
为实现上述发明目的之一,本发明一实施例提供了一种冰箱,包括存储模块和处理模块,所述存储模块存储有可在所述处理模块上运行的计算机程序,所述处理模块获取所述存储模块存储的最近n次的历史购物信息,每次的所述历史购物信息为ai={a1,a2

aj},其中,i表示第i次历史购物,i∈[1,n],aj表示食材信息,n的值越大,购物的时间距离当前越近;
[0023]
所述处理模块将n次的所述历史购物信息a1、a2

an的食材信息汇总,生成食材汇总信息b={a1,a2

aj

am};
[0024]
所述处理模块结合n次的所述历史购物信息中食材aj出现的次数的权重、以及食材aj出现的时间的权重,计算食材aj的推荐系数kj;
[0025]
所述处理模块生成购物汇总信息c={k1a1,k2a2

kjaj

kmam};
[0026]
所述处理模块将所述购物汇总信息c内的每个元素按kj的大小排序,生成食材推荐清单。
[0027]
作为本发明的进一步改进,所述处理模块根据公式计算食材aj的推荐系数kj,其中,
[0028]
作为本发明的进一步改进,当m小于等于x时,所述处理模块根据kj的大小对所述购物推荐清单b内的每个元素由大到小排序,生成食材推荐清单;
[0029]
当m大于x时,所述处理模块根据kj的大小对所述购物推荐清单b内的每个元素由大到小排序,取前x个元素生成食材推荐清单。
[0030]
作为本发明的进一步改进,当m大于x时,所述处理模块取{k1a1,k2a2

kjaj

kmam}中的前x个元素作为待定集合d,d={k1a1,k2a2

kxax};
[0031]
所述处理模块依次比较kx+1、kx+1

kx+y

km是否大于{k1,k2

kx}中的所有元素,若kx+y大于{k1,k2

kx}中的任一元素kz,将待定集合d中的kzaz替换为kx+yax+y;
[0032]
所述处理模块将比较完成后的集合d中的所有食材信息作为所述食材推荐清单。
[0033]
为实现上述发明目的之一,本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理模块执行时实现上述的食材推荐清单的生成方法中的步骤。
[0034]
与现有技术相比,本发明具有以下有益效果:通过对历史购物信息中的每个食材进行推荐系数的计算,该推荐系数结合了对应的食材在历史购物信息中出现的次数,以及出现的时间的远近进行调整,出现次数越多、出现的时间越近的食材赋予的推荐系数越大,将不同的食材按推荐系数排序,生成推荐清单,使得冰箱的智能程度更高,用户的使用体验更好。
附图说明
[0035]
图1是本发明一实施例食材推荐清单的生成方法的流程示意图;
[0036]
图2是本发明一实施例的控制模块示意图;
[0037]
其中,1、冰箱;11、处理模块;12、存储模块;13、通信总线。
具体实施方式
[0038]
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
[0039]
本发明一实施例提供一种食材推荐清单的生成方法、冰箱及计算机可读存储介质,实现了针对用户习惯的个性化的食材购买清单的推荐,方便了用户买菜和饮食更贴合需求,满足了智能冰箱和智能家庭的需求。
[0040]
将食材推荐清单的生成方法应用在冰箱1上,冰箱1对用户进行需要购买的食材的推荐,包括步骤:
[0041]
获取最近n次的历史购物信息,每次的所述历史购物信息为ai={a1,a2

aj},其中,i表示第i次历史购物,i∈[1,n],aj表示食材信息,n的值越大,购物的时间距离当前越近;
[0042]
将n次的所述历史购物信息a1、a2

an的食材信息汇总,生成食材汇总信息b={a1,a2

aj

am};
[0043]
结合n次的所述历史购物信息中食材aj出现的次数的权重、以及食材aj出现的时间的权重,计算食材aj的推荐系数kj;
[0044]
生成购物汇总信息c={k1a1,k2a2

kjaj

kmam};
[0045]
将所述购物汇总信息c内的每个元素按kj的大小排序,生成食材推荐清单。
[0046]
出现次数越多、出现的时间越近的食材赋予的推荐系数越大,对这样的食材优先进行推荐,符合了每个客户的需求。n的值可以由系统或用户进行设置。
[0047]
进一步地,所述步骤“结合n次的所述历史购物信息中食材aj出现的次数的权重、以及食材aj出现的时间的权重,计算食材aj的推荐系数kj”包括:
[0048]
计算食材aj的推荐系数kj,其中,
[0049]
该函数表达了这样的含义,从两方面来说:
[0050]
一方面,计算每个kj时,都考虑到了从第1次购买到第n次购买中该食材是否出现,若该食材没有出现,的值为0,在累加时,第i次的累加则相对于其他食材少加了该值,其权重降低,若该食材在第i次出现了,则值变为即出现的这次的权重进行累计,体现到了最终的kj中,该函数体现出了n次的所述历史购物信息中食材aj出现的次数的权重。
[0051]
另一方面,计算每个kj时,若第一1次出现了,则该第一次的出现累计到最终的kj中的值为若第10次出现,则累计的值变为显然,第10出现累计到kj中的值大于第一次出现累计的值,尤其是当第n次出现时,累计到kj中的值为1,也就是说,时间越靠近最近一次出现累计到kj中的值越大,该函数体现出了食材aj出现的时间的权重。
[0052]
为了更加直观的说明上述的推荐系数kj的计算原理,以一个很简单的例子进行说明。假设用户第一次的历史购物信息a1={苹果,香蕉},即上述的a1=苹果,a2=香蕉,第二次的历史购物信息a2={苹果,桔子},第三次的历史购物信息a3={桔子,香蕉},生成食材汇总信息b={苹果,香蕉,桔子},分别对应于a1=苹果,a2=香蕉,a3=桔子。
[0053]
生成购物汇总信息c={k1苹果,k2香蕉,k3桔子};
[0054]
此时k1即代表苹果的推荐系数,
[0055]
k2即代表香蕉的推荐系数,
[0056]
k3即代表桔子的推荐系数,
[0057]
比较上述的推荐系数k1、k2和k3,得出k3》k2》k1,也就是说,此时生成推荐清单为{桔子、香蕉、苹果}。
[0058]
该推荐结果显示了本食材推荐清单的生成方法的运行逻辑,虽然三种水果在3次历史购买记录中都出现了两次,但桔子是最近两次出现的,所以需要优先推荐,桔子的推荐系数k3最大;苹果是第一次和第二次出现,香蕉是第一次和第三次出现,所以香蕉最近出现的次数大于苹果出现的次数,所以香蕉的推荐系数k2其次,最后才是苹果。
[0059]
当用户使用冰箱1很久后,历史的购买信息可能很多,为了避免过于久远的购买信息增加无谓的计算,可以选定一个合适的数值(当然,如果n的值取的很大,过于久远的历史购买信息在最终的kj计算中反应出的值也很小,这里并不是n取大了会影响kj的计算结果,仅仅是没比较累计过于小的数值,例如n为1000时,开始10次都出现了,也比不上最近10次中出现1次累计进kj中的值大),即只考虑最近的n次购物,即可结合适当的历史时间的购物偏好,实现更实时的购物清单的推荐。
[0060]
以及,所述步骤“将所述购物推荐清单b内的每个元素按kj的大小排序,生成食材推荐清单”包括:
[0061]
将所述购物推荐清单b内的每个元素按kj的大小从大到小排序,生成食材推荐清单。该食材推荐清单中排名越靠前的,推荐系数越大,具体的排序算法,可以采用诸如冒泡算法、插序排序、归并排序等方法,将排名越靠前的越优先推荐。
[0062]
进一步地,所述步骤“将所述购物推荐清单b内的每个元素按kj的大小从大到小排序,生成食材推荐清单”包括:
[0063]
当m小于等于x时,根据kj的大小对所述购物推荐清单b内的每个元素由大到小排序,生成食材推荐清单;
[0064]
当m大于x时,根据kj的大小对所述购物推荐清单b内的每个元素由大到小排序,取前x个元素生成食材推荐清单。
[0065]
当n的值较大,或者用户每次购买内容都差异很大时,m的值可能会变得很大,但用户不需要一个过于冗长的食材推荐清单,因此,设置一个推荐清单内容的最大长度x,也就是说,当m》x时,仅推荐前x个食材供用户选择。
[0066]
进一步地,所述步骤“将所述购物汇总信息c内的每个元素按kj的大小排序,生成食材推荐清单”包括:
[0067]
当m大于x时,取{k1a1,k2a2

kjaj

kmam}中的前x个元素作为待定集合d,d={k1a1,k2a2

kxax};
[0068]
依次比较kx+1、kx+1

kx+y

km是否大于{k1,k2

kx}中的所有元素,若kx+y大于{k1,k2

kx}中的任一元素kz,将待定集合d中的kzaz替换为kx+yax+y;
[0069]
将比较完成后的集合d中的所有食材信息作为所述食材推荐清单。
[0070]
同上述的内容,为了防止食材推荐清单过于冗长,设置一个推荐清单内容的最大长度x,可以理解的,若最终排序中包括所有食材,则影响排序的效率,因为当推荐系数的排名在x的范围以外时,其值的大小其实并不重要。所以忽略前x个元素之间的大小关系,仅从x+1开始比较,计算速度更快。
[0071]
本实施例的冰箱1包括存储模块12和处理模块11,所述存储模块12存储有可在所述处理模块11上运行的计算机程序,所述处理模块11获取所述存储模块12存储的最近n次的历史购物信息,每次的所述历史购物信息为ai={a1,a2

aj},其中,i表示第i次历史购物,i∈[1,n],aj表示食材信息,n的值越大,购物的时间距离当前越近;
[0072]
所述处理模块11将n次的所述历史购物信息a1、a2

an的食材信息汇总,生成食材汇总信息b={a1,a2

aj

am};
[0073]
所述处理模块11结合n次的所述历史购物信息中食材aj出现的次数的权重、以及食材aj出现的时间的权重,计算食材aj的推荐系数kj;
[0074]
所述处理模块11生成购物汇总信息c={k1a1,k2a2

kjaj

kmam};
[0075]
所述处理模块11将所述购物汇总信息c内的每个元素按kj的大小排序,生成食材推荐清单。
[0076]
进一步地,所述处理模块11根据公式计算食材aj的推荐系数kj,其中,
[0077]
进一步地,当m小于等于x时,所述处理模块11根据kj的大小对所述购物推荐清单b内的每个元素由大到小排序,生成食材推荐清单;
[0078]
当m大于x时,所述处理模块11根据kj的大小对所述购物推荐清单b内的每个元素
由大到小排序,取前x个元素生成食材推荐清单。
[0079]
进一步地,当m大于x时,所述处理模块11取{k1a1,k2a2

kjaj

kmam}中的前x个元素作为待定集合d,d={k1a1,k2a2

kxax};
[0080]
所述处理模块11依次比较kx+1、kx+1

kx+y

km是否大于{k1,k2

kx}中的所有元素,若kx+y大于{k1,k2

kx}中的任一元素kz,将待定集合d中的kzaz替换为kx+yax+y;
[0081]
所述处理模块11将比较完成后的集合d中的所有食材信息作为所述食材推荐清单。
[0082]
另外冰箱1还可以包括通信总线13,该通信总线13用于在处理模块11与存储模块12之间建立连接,通信总线13可包括一通路,在上述的各电器元件之间传送信息。
[0083]
在本技术的处理模块11可以集中在一个处理模块中,也可以是各个模块单独物理存在,也可以2个或2个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0084]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)或处理模块(processor)执行本技术各个实施方式所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0085]
另外,本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理模块11执行时可实现上述的食材推荐清单的生成方法中的任意一个步骤,也就是说,实现上述食材推荐清单的生成方法的任意一个技术方案中的步骤。
[0086]
与现有技术相比,本实施例具有以下有益效果:
[0087]
通过对历史购物信息中的每个食材进行推荐系数的计算,该推荐系数结合了对应的食材在历史购物信息中出现的次数,以及出现的时间的远近进行调整,出现次数越多、出现的时间越近的食材赋予的推荐系数越大,将不同的食材按推荐系数排序,生成推荐清单,使得冰箱的智能程度更高,用户的使用体验更好。
[0088]
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
[0089]
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1