食谱生成器与营养计算器的核心部分设计

#食谱生成器与营养计算器的核心部分设计#

闲来无事,又把快手下载回来,一打开就被扑面而来的美食震撼到了,在看了大约1024个美食视频后,我发现了一个规律,任何的饭菜、面食都由3种元素组成:主食、配菜、调味。于是忽然想起去年的一个需求:菜谱生成与营养计算器,一时兴起,设计一下核心部分。

首先,没有算法模型的应用是没有灵魂的,这里引入n元一次方程作为算法模型,f(menu)=ax+by+ ··· +c,省略号代表若干个参数乘以未知数,参数代表烹饪方式,c代表调味。这里主食和蔬菜可以合并,统一表示为未知数x, y, ···

再使用参考文献[1]中的中国食物成分表数据和参考文献[2]中的烹饪方式、调味品数据,(见附件一)一个菜谱随机生成器的算法部分就有了。举个例子,a, b, ··· 随机从烹饪方式数据中抽取,x, y, ··· 随机从食物数据中抽取,c从调味品数据中抽取,就变成了:f(menu)=蒸米饭 + 白切鸡 + 酱油。

以上,菜谱生成器的核心算法就做好了,接下来就是营养计算器的核心算法设计。为了引入食物分量和营养成分维度,营养计算器的算法模型基于菜谱生成器的算法进行升维,原公式的参数升级为:食物交换份常数烹饪方式对食物各种营养素的影响矩阵,如aA,未知数升级为营养矩阵,如x,常数c升级为调味品的营养矩阵C,模型为:f(nutrition)=aAx+bBy+ ··· +C。

*食物交换份:各类食物提供同等热卡90千卡的重量,叫做1份食物交换份。

同样以上面的菜式(蒸 米饭 + 白切 鸡 + 酱油)举例,计算该食谱的营养:f(nutrition)=一交换份*蒸(营养素影响矩阵)米饭(营养矩阵)+一交换份白切(营养素影响矩阵)*鸡(营养矩阵)+酱油(营养矩阵)。

接下来就是业务部分:

如果考虑食物偏好,可以建立用户个人的食物偏好评分表,将分数高的食物排序靠前,同时,如果用户选择某样食物次数多了,也可自动增加食物的偏好分数。

如果考虑食物组合优先程度,可以建立食物组合评分表,将分数高的食物组合排序靠前。

如果考虑用户过敏、疾病等情况,自动根据疾病屏蔽过敏食物、根据疾病计算碳水化合物、脂类、纤维素等相关营养素的摄入量。

参考文献:

[1]陈秋月. 食物交换份法生成食谱的膳食质量评估的研究[D].天津医科大学,2015.

[2]烹饪.百度百科

[3]美食制作视频1024个.快手

附件一:中国食物成分表数据、烹饪方式、调味品数据

一、中国食物成分表数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二、烹饪的方式

1.油传热:

  • 炒,煎,贴,烹,炸,熘,煸。
  • 炒后水传热:熬,烩,焖,烧,扒

2.水传热:

  • 氽,涮,煮,炖,煨,焐

3.汽传热:

  • 蒸,鲊

4.其它:

  • 卤,酱,熏,烤,炝,腌,拌,拔丝,焗:

三、调味品列表在烹饪中使用到的调味料有:

食盐、酒、白糖、食醋、酱油、味素、辣椒、胡椒、花椒、小茴香、大茴香、肉桂、桂皮、陈皮、葱、姜、大蒜、番茄酱、五香粉、八角、柠檬、鱼露、虾酱、薄荷、豆豉、面豉、南乳、腐乳、蚝油、麻油、芝麻酱、XO酱、丁香、月桂叶、迷迭香、香草、豆蔻、九层塔(罗勒)、鼠尾草、百里香、薰衣草、茶叶等。

发布了14 篇原创文章 · 获赞 8 · 访问量 9万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览