营养成分生成器使用教程
闲来无事,又把快手下载回来,一打开就被扑面而来的美食震撼到了,在看了大约1024个美食视频后,我发现了一个规律,任何的饭菜、面食都由3种元素组成:主食、配菜、调味。于是忽然想起去年的一个需求:菜谱生成与营养计算器,一时兴起,设计一下核心部分。
首先,没有算法模型的应用是没有灵魂的,这里引入n元一次方程作为算法模型,f(menu)=ax+by+c,省略号代表若干个参数乘以未知数,参数代表烹饪方式,c代表调味。这里主食和蔬菜可以合并,统一表示为未知数x,y,···
再使用参考文献中的中国食物成分表数据和参考文献[2]中的烹饪方式、调味品数据,一个菜谱随机生成器的算法部分就有了。举个例子,a,b,随机从烹饪方式数据中抽取,x,y,随机从食物数据中抽取,c从调味品数据中抽取,就变成了:f(menu)=蒸米饭+白切鸡+酱油。
以上,菜谱生成器的核心算法就做好了,接下来就是营养计算器的核心算法设计。为了引入食物分量和营养成分维度,营养计算器的算法模型基于菜谱生成器的算法进行升维,原公式的参数升级为:食物交换份常数烹饪方式对食物各种营养素的影响矩阵,如aA,未知数升级为营养矩阵,如x,常数c升级为调味品的营养矩阵C。
食物交换份:各类食物提供同等热卡90千卡的重量,叫做1份食物交换份。
同样以上面的菜式(蒸米饭+白切鸡+酱油)举例,计算该食谱的营养:f(nutrition)=一交换份蒸(营养素影响矩阵)米饭(营养矩阵)+一交换份白切(营养素影响矩阵)鸡(营养矩阵)+酱油(营养矩阵)。
接下来就是业务部分:
如果考虑食物偏好,可以建立用户个人的食物偏好评分表,将分数高的食物排序靠前,同时,如果用户选择某样食物次数多了,也可自动增加食物的偏好分数。
如果考虑食物组合优先程度,可以建立食物组合评分表,将分数高的食物组合排序靠前。
美食视频如何获得食谱如果考虑用户过敏、疾病等情况,自动根据疾病屏蔽过敏食物、根据疾病计算碳水化合物、脂类、纤维素等相关营养素的摄入量。