从食物配方中自动提取主要成分

文档序号:787998 发布日期:2021-04-09 浏览:31次 >En<

阅读说明:本技术 从食物配方中自动提取主要成分 (Automatic extraction of essential ingredients from food formulations ) 是由 包炜顺 肖卫民 陈韵 于 2019-08-19 设计创作,主要内容包括:提供了一种用于确定食物配方的主要成分的系统(100)。系统包括用于接收食物配方(r)中的每个成分(i)的标识和质量分数(w-(ri))的第一输入(102)和用于接收已知配方群组中的每个已知配方的成分的标识的第二输入(104)。系统还包括控制器(106),被配置为针对每个成分(i)计算使用成分的群组的分数(P(i))。然后,控制器使用分数(P(i))和质量分数(w-(ri))计算与质量分数(w-(ri))正相关并且与分数(P(i))负相关的值(V-(ri))。然后,主要成分是根据具有等于或大于阈值的值(V-(ri))的成分来确定的。还提供了一种包括该系统的烹饪用具(200)、用于确定食物配方的主要成分的计算机实施方法和实施该方法的计算机程序。(A system (100) for determining a main component of a food formula is provided. The system comprises means for receiving an identification and a mass fraction (w) of each ingredient (i) in a food recipe (r) ri ) And a second input (104) for receiving an identification of a component of each known recipe in the group of known recipes. The system further comprises a controller (106) configured to calculate, for each component (i), a score (p (i)) of the group of usage components. The controller then uses the score (P (i)) and the mass score (w) ri ) Calculation and mass fraction (w) ri ) Value (V) positively correlated and negatively correlated with the score (P (i)) ri ). Then, the main component is determined by having a value (V) equal to or greater than a threshold value ri ) Is determined by the composition of (a). A cooking appliance (200) comprising the system, a computer-implemented method for determining the main components of a food recipe and a computer program implementing the method are also provided.)

从食物配方中自动提取主要成分

技术领域

本发明涉及一种用于确定食物配方的主要成分的系统和方法。

背景技术

控制烹饪参数(诸如烹饪食物成分的温度和烹饪持续时间)对于确保所准备的菜肴既安全又令人愉悦地食用很重要。

选择这种烹饪参数的关键因素是食物配方中包括哪些成分。具体地,烹饪参数倾向于基于配方的主要成分而不是基于每个单一成分来选择。其原因是可能存在某些次要或偶然的成分,这些成分不应影响烹饪参数的选择。而且,当以计算方式执行烹饪参数的选择时,与仅基于配方的主要成分进行计算相比,基于成分的完整列表进行这种选择可能会使用更多的计算资源。

将主要成分与这种次要成分区分开是一个挑战,特别是当主要成分的确定以自动化方式执行时。这是因为这种确定可能仅考虑每个成分的质量分数。仅这种质量分数信息可能无法导致对主要成分的准确标识。例如,基于配方中的鲑鱼的质量分数,鲑鱼沙拉中的鲑鱼可能不会被标识为主要成分,但是鲑鱼仍然可以对应于主要成分。

而且,针对更复杂的配方(诸如在餐厅中使用的配方),其中包括更多的成分,从以配方中的质量百分比的顺序放置的成分列表中标识主要成分与次要成分的分离点可能具有挑战。

基于不准确的主要成分确定来选择烹饪参数可能会导致所准备的菜肴的结果令人不满意。例如,主要成分的不准确确定可能意味着对应的烹饪参数的不良选择会导致所准备的菜肴烹饪不足或烹饪过度。

发明内容

本发明由权利要求限定。

根据一个方面,提供了一种用于确定食物配方的主要成分的系统,该系统包括:

第一输入,用于接收食物配方(r)中的每个成分(i)的标识和质量分数(wri);

第二输入,用于接收已知配方群组中的每个已知配方的成分的标识;以及

控制器,被配置为:

针对每个成分(i),计算使用该成分的群组的分数(P(i));

使用分数(P(i))和质量分数(wri),计算与质量分数(wri)正相关并且与分数(P(i))负相关的值(Vri);以及

根据具有等于或大于阈值的值(Vri)的成分来确定主要成分。

该系统能够更准确地确定配方的主要成分,例如与仅利用该成分的质量百分比的确定相比。进而,这种更准确的主要成分确定使得能够更精确地调整配方的烹饪参数,诸如烹饪食物成分的温度和烹饪持续时间。对配方的烹饪参数的这种高级调整可以减少最终菜肴烹饪不足或烹饪过度的风险。

而且,确定配方的营养组成可以基于所确定的主要成分,而不是基于配方中的每个单一成分,诸如以节省计算资源。由于该系统能够更准确地确定主要成分,因此营养组成计算可能既高效又准确。

该系统利用给定配方中的每个成分(i)的质量分数(wri)和使用每个成分(i)的已知配方的群组的分数(P(i))来确定值(Vri)。针对每个成分(i),质量分数(wri)和群组的分数(P(i))都将大于0但小于1。鉴于以下事实,值(Vri)与质量分数正相关:相当近似地,配方中的成分的较大质量分数(wri)将倾向于增加该成分对应于主要成分的可能性。然而,鉴于更常用的成分不太可能与主要成分相对应的事实,值(Vri)也与分数(P(i))负相关。考虑分数(P(i))提高了主要成分确定的准确性。

主要成分是根据值(Vri)等于或大于阈值的成分来确定的。阈值可以例如是绝对阈值和/或对应于主要成分的最小/最大数量和/或对应于高于某个阈值的重要性的第一下降等。

控制器可以被配置为按大小对针对每个成分(i)计算的值(Vri)进行排序,确定序列中的连续值之间的最大差,并标识序列中与最大差相对应的一对连续值,其中阈值等于该对中的较大值。

通过标识序列中在它们之间具有最大差的一对连续值,该方法能够确定主要成分。主要成分的值等于或大于在它们之间具有最大差的该对中的较大值。该较大值对应于阈值。

控制器可以被配置为使用以下公式通过质量分数(wri)和分数(P(i))计算值(Vri):Vri=-wrilog(P(i))。

-log(P(i))可以用于确保值(Vri)随着分数(P(i))的增大而减小,反映了以下事实:更常用的成分不太可能与主要成分相对应。值(Vri)是质量分数(wri)与-log(P(i))的乘积,这意味着值(Vri)随着食物配方(r)中的每个成分(i)的质量分数(wri)的增大而增大。在这种情况下,质量分数(wri)和分数(P(i))的对数函数(此情况下是-log(P(i)))的乘积可以称为“交叉熵形式”。

控制器可以被配置为基于所确定的主要成分和/或基于相应食物配方的所确定的非主要成分来确定与食物配方的相似性相关的参数,其中所确定的非主要成分为不是相应食物配方的主要成分的成分。

非主要成分可以被视为调料指示符,因为调料倾向于对应于在标识主要成分期间所排除的成分。因此,非主要成分标识可以补充主要成分标识,诸如将配方风味相似性确定的备选方案添加或提供给主要成分相似性确定。

参数(Sim(r1,r2))可以基于所确定的主要成分,并且可以由以下公式定义:

其中是相应配方r1和r2中的主要成分j的质量分数;P(j)是使用主要成分j的所述群组的分数。

参数(Sim(r1,r2))可以备选地基于所确定的非主要成分,并且可以由以下公式定义:

其中是相应配方r1和r2中的非主要成分k的质量分数;P(k)是使用非主要成分k的所述群组的分数。

更一般地,上述相似性参数可以不使用所确定的主要成分或所确定的非主要成分,而是使用针对两个相应配方的完整的成分集合。换言之,尽管仅使用标识出的主要成分或非主要成分执行相似性比较可能会带来计算效率的益处,但这对于相似性评定可能不是必不可少的。这种相似性比较可以使用相应配方的每个成分的标识、相应配方的每个成分的质量分数、和/或使用相应配方的每个成分的已知配方群组的相应分数,以确定参数。例如,可以使用不需要主要成分确定的以下公式:

其中在公式3中,是相应配方r1和r2中的成分i的质量分数。如上面所提到的,P(i)是使用成分i的群组的分数。

使用成分数据本身来比较配方可以提供一种过滤配方的方式,例如为了向用户提供推荐而无需依赖协作过滤技术中需要的用户认可数据。这对于相对较大的配方数据库而言可能特别有利,该数据库具有没有向其提供用户反馈的许多配方。

控制器可以被配置为:使用词语相似性模型来确定针对相应配方的所确定的主要成分或非主要成分的每个成对组合的相似性分数;使用相似性分数来标识相应配方的主要或非主要成分对;并使用相似性分数的阈值来标识相应配方的任何未配对的主要或非主要成分。视情况而定,具有最高相似性分数的成对组合例如可以被标识为一对主要成分或非主要成分。

参数(Sim(r1,r2))可以基于所确定的主要成分,并且可以由以下公式定义:

其中是配方r1中的与m配对的主要成分l的质量分数;是配方r2中的与l配对的主要成分m的质量分数;P(l)是使用成分l的所述群组的分数;P(m)是使用成分m的所述群组的分数;Sim(l,m)是配对的主要成分(l,m)的相似性分数;是相应配方r1和r2中的未配对主要成分n的质量分数;P(n)是使用未配对主要成分n的所述群组的分数。

如果成分相似性函数针对l=m=j取Sim(l,m)=1并且针对l≠m取Sim(l,m)=0,则公式4将减少到公式1。

参数(Sim(r1,r2))可以备选地基于所确定的非主要成分,并且可以由以下公式定义:

其中是配方r1中的与p配对的非主要成分o的质量分数;是配方r2中的与o配对的非主要成分p的质量分数;P(o)是使用成分o的所述群组的分数;P(p)是使用成分p的所述群组的分数;Sim(o,p)是配对的非主要成分(o,p)的相似性分数;是相应配方r1和r2中的未配对的非主要成分q的质量分数;P(q)是使用未配对的非主要成分q的所述群组的分数。

如果成分相似性函数针对o=p=k取Sim(o,p)=1并且针对o≠p取Sim(o,p)=0,则公式5将减少到公式2。

如上面所提到的,相似性参数可以不使用所确定的主要成分或所确定的非主要成分,而是使用针对两个相应配方的完整的成分集合。例如,可以使用不需要主要成分确定的以下公式:

其中是配方r1中的与s配对的成分i的质量分数;是配方r2中的与i配对的成分s的质量分数;P(i)是使用成分i的所述群组的分数;P(s)是使用成分s的所述群组的分数;Sim(i,s)是配对的主要成分(i,s)的相似性分数;是相应配方r1和r2中的未配对成分t的质量分数;P(t)是使用未配对成分t的所述群组的分数。

如果成分相似性函数针对i=s取Sim(i,s)=1并且针对i≠s取Sim(i,s)=0,则公式6将减少到公式3。

该系统可以包括用户界面,该用户界面适用于使得用户能够键入食物配方(r)中的每个成分(i)的标识和质量,其中控制器被配置为通过经由用户界面键入的每个成分(i)的质量计算食物配方(r)中的每个成分(i)的质量分数(wri)。任何合适的用户界面都可以用于该目的,例如触摸屏。

该系统可以包括配方数据库,其中第二输入从数据库接收已知配方群组中的每个已知配方的成分的标识。包含这种配方信息的合适数据库目前可用。例如,来自飞利浦的“NutriU”数据库就是一个这种数据库。

根据另一方面,提供了一种烹饪用具,该烹饪用具包括加热元件以及上面定义的系统,其中控制器被配置为基于所确定的主要成分来控制加热元件。

上述系统由于主要成分确定中的更高准确性而使得能够增强对烹饪用具的控制。因此,可以减少最终菜肴烹饪不足或烹饪过度的风险。

加热元件可以例如使用食物配方中的所确定的主要成分的质量来控制。这可以使得能够精确地控制烹饪参数,以辅助减少最终菜肴烹饪不足或烹饪过度的风险。

控制器可以被配置为基于所确定的主要成分来控制加热元件的温度。备选地或附加地,控制器可以被配置为基于所确定的主要成分来控制由加热元件提供的加热的持续时间。

就烹饪参数而言,关键选择可以是加热元件的温度和加热元件提供的加热持续时间。通过基于使用上述系统确定的主要成分进行这种选择,可以将烹饪参数更精确地调整为配方,例如与主要成分仅基于配方中的相应质量分数确定相比。

根据又一方面,提供了一种用于确定食物配方的主要成分的计算机实施方法,该方法包括:

接收食物配方(r)中的每个成分(i)的标识和质量分数(wri);

接收已知配方群组中的每个已知配方的成分的标识;

针对每个成分(i),计算使用该成分的群组的分数(P(i));

使用分数(P(i))和质量分数(wri),计算与质量分数(wri)正相关并且与分数(P(i))负相关的值(Vri);以及

根据具有等于或大于阈值的值(Vri)的成分来确定主要成分。

该方法还可以包括:按大小对针对每个成分计算的值(Vri)进行排序;确定序列中的连续值之间的最大差;并标识序列中与最大差相对应的一对连续值,其中阈值等于该对中的较大值。

通过质量分数(wri)和分数(P(i))计算值(Vri)可以使用以下公式:Vri=-wrilog(P(i))。

该方法还可以包括基于所确定的主要成分和/或基于相应食物配方的所确定的非主要成分来确定与食物配方的相似性相关的参数,其中所确定的非主要成分为不是相应食物配方的主要成分的成分。

参数(Sim(r1,r2))可以基于所确定的主要成分,并且可以由以上公式1定义。参数(Sim(r1,r2))可以备选地基于所确定的非主要成分,并且可以由以上公式2定义。

如上面所提到的,以上相似性参数可以不使用所确定的主要成分或所确定的非主要成分,而是使用针对两个相应配方的完整的成分集合。换言之,尽管仅使用标识出的主要成分或非主要成分执行相似性比较可能会带来计算效率的益处,但这对于相似性评定可能不是必不可少的。这种相似性比较可以使用相应配方的每个成分的标识、相应配方的每个成分的质量分数、和/或使用相应配方的每个成分的已知配方群组的相应分数,以确定参数。例如,以上公式3可以用于确定参数。

使用成分数据本身来比较配方可以提供一种过滤配方的方式,例如为了向用户提供推荐而无需依赖协作过滤技术中需要的用户认可数据。这对于相对较大的配方数据库而言可能特别有利,该数据库具有没有向其提供用户反馈的许多配方。

该方法可以包括:使用词语相似性模型来确定相应配方的所确定的主要成分或非主要成分的每个成对组合的相似性分数;使用相似性分数来标识最类似的相应配方的主要或非主要成分对;并使用相似性分数的阈值来标识相应配方的任何未配对的主要或非主要成分。

参数(Sim(r1,r2))可以基于所确定的主要成分,并且可以由以上公式4定义。

参数(Sim(r1,r2))可以备选地基于所确定的非主要成分,并且可以由以上公式5定义。

如上面所提到的,相似性参数可以不使用所确定的主要成分或所确定的非主要成分,而是使用针对两个相应配方的完整的成分集合。例如,可以使用不需要主要成分标识的以上公式6。

根据又一方面,提供了一种计算机程序,当该程序在计算机上运行时,该计算机程序适于实施上面定义的方法。

附图说明

参照附图通过非限制性示例更详细地描述本发明的实施例,其中:

图1示出了根据实施例的具有系统的烹饪用具;

图2示出了给定食物配方中的成分及其相应值(Vri)的条形图;

图3示出了根据实施例的方法的流程图;

图4示出了用于图示根据实施例的系统的功能的框图;

图5示出了用于图示根据另一实施例的系统的又一功能的框图;

以及

图6示出了适合于实施系统中使用的控制器的通用计算机架构。

具体实施方式

应该理解的是,在指示装置、系统和方法的示例性实施例时,详细描述和特定示例旨在用于说明的目的,而不旨在限制本发明的范围。通过以下描述、所附权利要求和附图,将更好地理解本发明的装置、系统和方法的这些和其他特征、方面和优点。应该理解的是,附图仅是示意性的,并且未按比例绘制。还应该理解,在所有附图中使用相同的附图标记来指示相同或类似的部分。

提供了一种用于确定食物配方的主要成分的系统。该系统包括用于接收食物配方(r)中的每个成分(i)的标识和质量分数(wri)的第一输入和用于接收已知配方群组中的每个已知配方的成分的标识的第二输入。该系统还包括控制器,被配置为针对每个成分(i)计算使用该成分的群组的分数(P(i))。然后,控制器使用分数(P(i))和质量分数(wri)计算与质量分数(wri)正相关并且与分数(P(i))负相关的值(Vri)。然后,主要成分是根据具有等于或大于阈值的值(Vri)的成分来确定的。

该系统能够更准确地确定配方的主要成分,例如与仅利用该成分的质量百分比的确定相比。进而,这种更准确的主要成分确定使得能够更精确地调整配方的烹饪参数,诸如烹饪食物成分的温度和烹饪持续时间。对配方的烹饪参数的这种高级调整可以减少最终菜肴烹饪不足或烹饪过度的风险。

而且,确定配方的营养组成可以基于所确定的主要成分,而不是基于配方中的每个单一成分,诸如以节省计算资源。由于该系统能够更准确地确定主要成分,因此营养组成计算可能既高效又准确。

还设想了其他优点。例如,当根据与给定配方中提供的成分不同的成分量来增加/减少烹饪时间时,烹饪时间缩放规则取决于食物成分,尤其是主要成分。因此,主要成分确定可以被应用为第一步骤,以实现更准确且有效的缩放。

例如,通过重量损失评估炸薯条配方在空气炸锅中的熟度,而许多其他食品的熟度则由核心温度确定。因此,炸薯条配方的缩放规则可能与不包括马铃薯作为主要成分的配方的缩放规则完全不同。因此,可以在这种场景中应用主要成分确定作为第一步骤,以评估该配方是否应该被视为炸薯条配方,即,以马铃薯为主要成分。

还可以通过比较针对相应配方确定的主要成分以有效且准确的方式评估两个不同配方之间的相似性,如本文中将在下面更详细地描述的。

图1示出了根据实施例的系统100。系统100是具有由控制器106控制的加热元件202的烹饪用具200的一部分。烹饪用具200可以是例如烤箱、空气炸锅、电炉等。可以设想任何合适的加热元件,诸如电阻加热元件。

控制器106基于所确定的主要成分来控制加热元件106。在这方面,控制器106可以基于所确定的主要成分来控制加热元件202的温度。备选地或附加地,控制器106可以被配置为基于所确定的主要成分来控制由加热元件202提供的加热的持续时间。加热元件202还可以由控制器106基于食物配方中的所确定的主要成分的质量并且可选地基于质量分数(wri)来控制。控制器106和加热元件202之间的箭头旨在表示从控制器106传送给加热元件202的控制信号。

通过基于由系统100提供的主要成分的准确确定来控制烹饪用具200的加热元件202,可以实现对烹饪参数的精确控制,以辅助减少最终菜肴烹饪不足或烹饪过度的风险。

此时要注意的是,尽管在图1中的烹饪用具200中采用了系统100,但是这仅出于说明性目的,并且不应被视为限制系统100的适用性。在这方面,系统100可以独立于烹饪用具200使用,例如为了控制烹饪用具200以外的目的。换言之,由系统100提供的以所确定的主要成分形式的输出除了用于控制烹饪用具200的加热元件202之外还可以以其他方式使用。

例如,系统100可以用于提取食物配方的主要成分,以便确定食物配方的营养组成。基于所确定的主要成分(而不是整个成分列表)进行这种营养组成计算节省了计算资源。而且,如先前所描述的,与例如仅基于食物配方中的成分的质量分数的确定相比,系统100能够更准确地确定主要成分。因此,在这种示例中,通过系统100确定主要成分使得能够有效且准确地确定营养组成。

如图1所示,系统100具有第一输入102,该第一输入102用于接收食物配方(r)中的每个成分(i)的标识和质量分数(wri)。如图1所示,系统100可以包括用户界面103,该用户界面103适于使用户能够键入食物配方(r)中的每个成分(i)的标识和质量。用户界面103和第一输入102之间的箭头旨在表示第一输入102从用户界面103接收的信息。任何合适的用户界面都可以用于该目的,例如触摸屏。

每个成分(i)的质量可以在食物配方(r)中转换为质量分数(wri)。该转换可以例如由控制器106执行,并且随后由第一输入102接收。这对于用户而言可能更加方便,因为典型的配方列出了每个食物成分的绝对量。为了实现该转换,控制器可以将不同的测量系统(例如体积、“杯”、“汤匙”和英制测量等)转换为每个食物成分(i)的质量的单个(例如度量)测量。在量为体积的情况下,食物成分的密度用于确定其质量。在这方面,系统100可以例如具有存储器,该存储器存储食物成分的密度和/或使用户能够经由用户界面103键入对密度的估计等。一旦已知每个成分(i)的质量,然后可以通过将每个成分的质量除以成分的总质量来计算每个成分(i)的质量分数,如本领域技术人员将容易了解的。

备选地,例如如果该信息已经可用,则用户可以在食物配方(r)中键入每个成分(i)的质量分数(wri),而不是质量。

在任何情况下,质量分数(wri)信息以及食物配方(r)中的每个食物成分(i)的标识都由第一输入102接收。

在图1中更明显是第二输入104,其接收已知配方群组中的每个已知配方的成分的标识。该系统可以包括配方的数据库105,并且第二输入104从数据库105接收已知配方群组中的每个已知配方的成分的标识。第二输入正在接收的与已知配方群组相对应的信息在图1中通过数据库105和第二输入104之间的箭头表示。包含这种配方信息的合适的数据库当前可用。例如,来自飞利浦的“NutriU”数据库就是一个这种数据库。“NutriU”数据库是配方信息后端,旨在为所有飞利浦厨房用具产品服务并改善用户体验。不仅可以在该后端上呈现各种配方,还可以采用配方数据,例如结合系统100,以提供配方营养计算、配方相似性比较、不同产品模型之间的配方转换甚至自动配方生成。

在实践中,食物成分可能具有用于标识它们的多于一个的术语。系统100可以例如通过还存储这种同义词信息的数据库105来考虑这种同义词。用于识别同义词的工具本身是众所周知的,并且仅出于简洁的目的在本文中不再进一步描述。

如第一输入102和控制器106之间以及第二输入104和控制器106之间的箭头所表示的,控制器106利用分别由第一输入102和第二输入104提供的信息。在这方面,控制器106被配置为针对每个成分(i)计算使用该成分的群组的分数(P(i))。该分数(P(i))可以通过以下公式表达:

#all recipes是已知配方群组中的成分i的出现次数。该分数或概率(P(i))大体上反映了成分的重要性。群组中所包括的所有已知配方中,成分的频率越高,它的重要性就越低,即,与主要成分相对应的可能性越小。配方中通常包括的许多调料和调味品将对应于相对较高的分数(P(i))。

然后,控制器106使用分数(P(i))和第一输入102提供的质量分数(wri)计算与质量分数(wri)正相关并且与分数(P(i))负相关的值(Vri)。

针对每个成分(i),质量分数(wri)和群组的分数(P(i))都将大于0但小于1。鉴于以下事实,值(Vri)与质量分数正相关:相当近似地,配方中的成分的较大质量分数(wri)将倾向于增加该成分对应于主要成分的可能性。然而,鉴于更常用的成分不太可能与主要成分相对应的事实,值(Vri)也与分数(P(i))负相关。与每个成分的质量分数是考虑的唯一参数相比,考虑分数(P(i))提高了主要成分确定的准确性。

如先前所描述的,可以设想计算值(Vri)的任何合适的方式,只要值(Vri)与质量分数(wri)正相关并且与分数(P(i))负相关。

在实施例中,控制器106被配置为使用以下公式通过质量分数(wri)和分数(P(i))计算值(Vri):Vri=-wrilog(P(i))(公式B)。此处,wri=0可能意味着成分(i)不在配方(r)中。

-log(P(i))可以用于确保值(Vri)随着分数(P(i))的增大而减小,这反映了以下事实:更常用的成分不太可能与主要成分相对应。值(Vri)是质量分数(wri)与-log(P(i))的乘积,这意味着值(Vri)随着食物配方(r)中的每个成分(i)的质量分数(wri)的增大而增大。在这种情况下,质量分数(wri)和分数(P(i))的对数函数的乘积可以称为“交叉熵形式”。

已经发现,-wrilog(P(i))是评估成分的重要性的合理度量。该度量在一般配方中(经由-log(P(i))术语)以及在特定配方中(经由(wri)术语)结合成分信息,并产生交叉熵形式。该度量可以帮助确定具有说服力标准的配方中的主要成分。

主要成分是根据具有等于或大于阈值的值(wri)的成分来确定的。可以使用用于确定阈值的任何合适的方式。阈值可以例如是绝对阈值和/或对应于主要成分的最小/最大数量和/或对应于高于某个阈值的重要性的第一下降等。

系统100因此评估给定配方中的成分的重要性。该值(Vri)索引既考虑了所有现有配方中的成分的统计信息,又考虑了配方中的每个成分的质量分数,因此削减了非必需成分并保持(即,确定)主要成分。

在实施例中,控制器106按大小有序地对针对食物配方中的每个成分计算的值(Vri)进行排序。例如,配方r中的成分i可以按Vri的降序排列,即,

控制器106可以被配置为确定序列中的连续值之间的最大差,并且标识序列中与最大差相对应的一对连续值。阈值等于该对中的较大值。该过程可以被认为是找到k,使得

图2示出了按其值(Vri)以降序评级的食物成分。图2提供了非必需成分削减程序或相反地表达的主要成分确定程序的直观可视化。成分按值Vri的降序排列。如图2所示,序列中的值Vri(参见图2中的双向箭头)的最大减小是成分#3和#4之间的减小。因此,阈值等于成分#3的值Vri。因此将成分#1、#2和#3确定为主要成分。成分#4、#5和#6的值小于阈值,因此不对应于主要成分。这在图2中由划去成分#4、#5和#6的线图示。

图3示出了根据实施例的计算机实施方法300的流程图。在步骤302中,接收食物配方(r)中的每个成分(i)的标识和质量分数(wri)。在步骤304中,接收已知配方群组中的每个已知配方的成分的标识。

在步骤306中,针对每个成分(i)计算使用该成分的群组的分数(P(i))。然后在步骤308中使用分数(P(i))和质量分数(wri)来计算与质量分数(wri)正相关并且与分数(P(i))负相关的值(Vri)。在步骤316中根据具有等于或大于阈值的值(Vri)的成分来确定主要成分。

在实施例中,方法300还包括按大小对针对每个成分计算的值(Vri)进行排序310。在步骤312中,确定序列中的连续值之间的最大差。在步骤314中标识序列中对应于最大差的一对连续值。在步骤316中参照的阈值等于该对中的较大值,如先前所描述的。

方法300还可以包括步骤318,其基于所确定的主要成分和/或基于相应配方的所确定的非主要成分来确定与配方的相似性相关的参数。

非主要成分可以被视为调料指示符,因为调料倾向于对应于在标识主要成分期间所排除的成分。因此,非主要成分标识可以补充主要成分标识,诸如将配方风味相似性确定的备选方案添加或提供给主要成分相似性确定。

例如,可以经由上述系统100的控制器106来执行步骤318。基于由参数量化的配方之间的相似性程度,然后可以将已经为一个配方选择的(多个)烹饪参数应用于尚未为其选择烹饪参数的其他配方。因此,与从头开始基于所确定的主要成分选择烹饪参数的情况相比,可以更有效地选择烹饪参数,即,使用更少的计算能力。

参数(Sim(r1,r2))可以基于所确定的主要成分,并且可以由以下公式定义:

其中是相应配方r1和r2中的主要成分j的质量分数;P(j)是使用主要成分j的所述群组的分数。

参数(Sim(r1,r2))可以备选地基于所确定的非主要成分,并且可以由以下公式定义:

其中是相应配方r1和r2中的非主要成分k的质量分数;P(k)是使用非主要成分k的所述群组的分数。

更一般地,以上相似性参数可以不使用所确定的主要成分或所确定的非主要成分,而是使用针对两个相应配方的成分的完整集合。换言之,尽管仅使用标识出的主要成分或非主要成分执行相似性比较可能会带来计算效率的益处,但这对于相似性评定可能不是必不可少的。这种相似性比较可以使用相应配方的每个成分的标识、相应配方的每个成分的质量分数、和/或使用相应配方的每个成分的已知配方群组的相应分数,来确定参数。例如,可以使用不需要主要成分确定的以下公式:

其中在公式3中,是相应配方r1和r2中的成分i的质量分数。如上面所提到的,P(i)是使用成分i的群组的分数。

使用成分数据本身来比较配方可以提供一种过滤配方的方式,例如为了向用户提供推荐而无需依赖协作过滤技术中需要的用户认可数据。这对于相对较大的配方数据库而言可能特别有利,该数据库具有没有向其提供用户反馈的许多配方。

相似性确定步骤318可以包括使用词语相似性模型确定针对相应配方的所确定的主要成分或非主要成分的每个成对组合的相似性分数。

成分名称(尤其是来自各种来源的配方中的成分名称)并非总是很好地标准化。例如,“海藻”和“海带”是几乎相同的成分,但该事实对于计算机识别可能是有问题的。设置硬编码规则可能无法提供持久或可扩展的解决方案,尤其是在配方和成分数量扩大时。由于该原因,例如深度学习模型形式的词语嵌入模型可能会考虑到不同的成分术语而使用。当前,训练有素的模型和预先训练的模型是众所周知的,诸如谷歌的Word2Vec模型。这种模型可以直接使用。这种使用还可能具有通过将配方文本馈送到模型中而继续训练模型的效果,从而使模型获得配方术语的专门训练。

成分相似性(Sim(i,s))例如可以通过表示两个成分i和s的词语向量的余弦值来评估。使用该成分相似性分数,可以在计算的下一步骤之前将最类似的成分配对。可以计算来自两个相应配方的成分的每个成对组合的成分相似性分数(步骤(i))。例如具有最高成分相似性分数的最类似对可以被标识为配对成分,然后在随后的比较步骤中排除这些配对成分(步骤(ii))。然后可以重复步骤(ii)和(iii),直到无法标识进一步配对的成分,例如使用相似性分数的阈值,该阈值将配对的成分(i,s)与任何未配对的成分(t)区分开。然后可以将来自相应配方的配对成分的相似性分数用于确定与配方的相似性相关的参数。

如上面所提到的,相似性参数可以例如针对两个相应配方使用成分的完整集合。例如,可以使用以下公式,其不需要主要成分确定:

其中是配方r1中的与s配对的成分i的质量分数;是配方r2

中的与i配对的成分s的质量分数;P(i)是使用成分i的所述群组的分数;P(s)是使用成分s的所述群组的分数;Sim(i,s)是配对的主要成分(i,s)的相似性分数;是相应配方r1和r2中的未配对成分t的质量分数;P(t)是使用未配对成分t的所述群组的分数。

要注意的是,针对配方r1或r2中的未配对成分“n”,无论是还是因此仅在它们之间选择一个非零的成分,并导致配方差异出现在分数的分母中。

如果成分相似性函数针对i=s取Sim(i,s)=1并且针对i≠s取Sim(i,s)=1,则公式6将减少到公式3。

参数(Sim(r1,r2))可以备选地基于所确定的主要成分,这可以受益于所需的更少计算资源。例如,参数(Sim(r1,r2))可以由以下公式定义:

其中是配方r1中的与m配对的主要成分l的质量分数;是配方r2中的与l配对的主要成分m的质量分数;P(l)是使用成分l的所述群组的分数;P(m)是使用成分m的所述群组的分数;Sim(l,m)是配对的主要成分((l,m))的相似性分数;是相应配方r1和r2中的未配对主要成分n的质量分数;P(n)是使用未配对主要成分n的所述群组的分数。

如果成分相似性函数针对l=m=j取Sim(l,m)=1并且针对l≠m取Sim(l,m)=0,则公式4将减少到公式1。

在备选示例中,参数(Sim(r1,r2))可以基于所确定的主要成分,并且可以由以下公式定义:

其中是配方r1中的与p配对的非主要成分o的质量分数;是配方r2中的与o配对的非主要成分p的质量分数;P(o)是使用成分o的所述群组的分数;P(p)是使用成分p的所述群组的分数;Sim(o,p)是配对的非主要成分(o,p)的相似性分数;是相应配方r1和r2中的未配对的非主要成分q的质量分数;P(q)是使用未配对的非主要成分q的所述群组的分数。

如果成分相似性函数针对o=p=k取Sim(o,p)=1并且针对o≠p取Sim(o,p)=0,则公式5将减少到公式2。

上述配方相似性比较可以被应用以减轻用户信息受限的配方推荐冷启动的问题。通过一个特定用户的极少尝试,根据一些实施例的系统或方法可以使用成分数据(具体地主要或非主要成分数据)合理地推荐类似的配方。基于这种成分数据,营养价值或风味描述符也可以用于该方法或系统中。因此,配方推荐可以基于内在成分相似性,而不是基于群组级别的用户偏好。这种系统和方法可以是许多配方后端应用(例如配方推荐、膳食计划器和配方数据管理)的关键促成因素。

如先前所描述的,可以通过基于主要成分的配方相似性指数来推荐营养价值方面类似的配方。

配方相似性参数可以组合使用。组合方式也可以通过每个用户的个人偏好进行定制。

相似性评估可以用于例如从数据库中删除重复的配方。可以标识例如具有相对较高的参数(Sim(r1,r2))的高度类似的配方对,例如这达到了重复标识阈值。这种信息可以例如由系统输出给食品专家或营养师,以最终确定该对是否是一对重复配方。

又一应用可以是配方聚类和分类。相似性评定例如可以用于监测配方的多样性、质量,尤其是用户创建的那些。而且,可以通过使用先前描述的成分相似性评分方法来实现成分名称统一、映射和层次聚类。

图4示出了用于图示根据实施例的系统的功能的框图。在框420中,使用来自数据库105的配方数据来确定分数(P(i))。在框430中,输入食物配方r的成分列表,即,成分标识-质量对(i,wri)。在框440中,使用上述交叉熵形式来计算每个成分(i)的值:Vri=-wrilog(P(i))。在框450中,将配方r中的成分i按Vri的降序排列,即,

框460对应于找到k使得的步骤。

在框170中,输出配方r中的主要成分,i1,…,ik

图5示出了用于图示根据另一实施例的系统的又一功能的框图。在这种情况下,该系统用于确定相似性参数(Sim(r1,r2))。在框520中,使用来自数据库105的配方数据来确定分数(P(i))。在框540A和540B中,确定相应配方530A和530B的主要成分和/或非主要成分。在框580中,计算相应配方的相似性参数(Sim(r1,r2))。该参数可能涉及以各种方式进行计算,例如如先前所描述的,使用各种成分指示符进行成分相似性评分。在框590中,输出相似性参数。

图6图示了用于实施上述控制器的计算机650的示例。计算机650包括但不限于PC、工作站、膝上型计算机、PDA、掌上设备、服务器、存储装置等。通常,就硬件架构而言,计算机650可以包括一个或多个处理器651、存储器652以及一个或多个I/O设备653,其经由本地接口(未示出)通信地耦合。如本领域中已知的,本地接口可以是例如但不限于一个或多个总线或者其他有线或无线连接。本地接口可能具有附加元件,诸如控制器、缓冲器(缓存)、驱动器、中继器和接收器,以启用通信。进一步地,本地接口可以包括地址、控制和/或数据连接,以实现前面提到的组件之间的适当通信。

处理器651是用于执行可以存储在存储器652中的软件的硬件设备。处理器651实际上可以是任何定制的或可商购的处理器、中央处理单元(CPU)、数字信号处理器(DSP)或在与计算机650相关联的多个处理器之间的辅助处理器,并且处理器651可以是基于半导体的微处理器(以微芯片的形式)或微处理器。

存储器652可以包括易失性存储器元件(例如随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等)和非易失性存储器元件(例如ROM、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁带、光盘只读存储器(CD-ROM)、磁盘、软盘、磁带盒、盒式磁带等)中的任何一种或组合。而且,存储器652可以结合电子、磁性、光学和/或其他类型的存储介质。要注意的是,存储器652可以具有分布式架构,其中各种组件彼此远离放置,但是可以由处理器651访问。

存储器652中的软件可以包括一个或多个单独的程序,每个程序包括用于实施逻辑功能的可执行指令的有序列表。根据示例性实施例,存储器652中的软件包括合适的操作系统(O/S)654、编译器655、源代码656以及一个或多个应用657。

应用657包括许多功能组件,诸如计算单元、逻辑、功能单元、过程、操作、虚拟实体和/或模块。

操作系统654控制计算机程序的执行,并提供调度、输入输出控制、文件和数据管理、存储器管理以及通信控制和相关服务。

应用657可以是源程序、可执行程序(目标代码)、脚本或包括要执行的指令集的任何其他实体。当是源程序时,那么该程序通常经由编译器(诸如编译器655)、汇编器、解释器等(其可以或可以不包括在存储器652内)来翻译,以便结合操作系统654正确地操作。此外,应用657可以被编写为具有数据和方法类的面向对象的编程语言或者具有例程、子例程和/或函数的程序编程语言,例如但不限于C、C++、C#、Pascal、BASIC、API调用、HTML、XHTML、XML、ASP脚本、JavaScript、FORTRAN、COBOL、Perl、Java、ADA、.NET等。

I/O设备653可以包括输入设备,诸如例如但不限于鼠标、键盘、扫描仪、麦克风、相机等。此外,I/O设备653还可以包括输出设备,例如但不限于打印机、显示器等。最后,I/O设备653还可以包括传递输入和输出两者的设备,例如但不限于网络接口控制器(NIC)或调制器/解调器(用于访问远程设备、其他文件、设备、系统或网络)、射频(RF)或其他收发器、电话接口、桥接器、路由器等。I/O设备653还包括用于通过各种网络(诸如互联网或内联网)进行通信的组件。

当计算机650处于操作中时,处理器651被配置为执行存储在存储器652内的软件,以在存储器652之间传递数据,并根据该软件总体上控制计算机650的操作。处理器651全部或部分地读取应用657和操作系统654,可能是缓冲在处理器651内,然后执行。

当应用657以软件实施时,应该注意的是,应用657实际上可以存储在任何计算机可读介质上,以供任何计算机相关系统或方法使用或与其结合使用。在本文的上下文中,计算机可读介质可以是电子、磁性、光学或其他物理设备或部件,其可以包含或存储供计算机相关系统或方法使用或与其结合使用的计算机程序。

通过研究附图、公开内容和所附权利要求,本领域技术人员在实践要求保护的本发明时可以理解和实现所公开的实施例的其他变型。在权利要求中,词语“包括”不排除其他元件或步骤,并且不定冠词“一”或“一个”不排除多个。某些措施被记载在相互不同的从属权利要求中这一事实并不指示这些措施的组合无法被有利地使用。权利要求中的任何附图标记不应该被解释为限制范围。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:便移式下身喷淋设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!