US20150161912A1 - Analytics-based design and planning of creative menus - Google Patents
Analytics-based design and planning of creative menus Download PDFInfo
- Publication number
- US20150161912A1 US20150161912A1 US14/564,224 US201414564224A US2015161912A1 US 20150161912 A1 US20150161912 A1 US 20150161912A1 US 201414564224 A US201414564224 A US 201414564224A US 2015161912 A1 US2015161912 A1 US 2015161912A1
- Authority
- US
- United States
- Prior art keywords
- menu
- dishes
- user
- specified
- dish
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000013461 design Methods 0.000 title abstract description 28
- 239000004615 ingredient Substances 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000005457 optimization Methods 0.000 claims abstract description 17
- 235000016709 nutrition Nutrition 0.000 claims description 10
- 238000002360 preparation method Methods 0.000 claims description 10
- 238000012886 linear function Methods 0.000 claims description 3
- 235000021186 dishes Nutrition 0.000 description 54
- 238000003860 storage Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 235000019640 taste Nutrition 0.000 description 13
- 150000001875 compounds Chemical class 0.000 description 11
- 235000015927 pasta Nutrition 0.000 description 9
- 125000002015 acyclic group Chemical group 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 235000013305 food Nutrition 0.000 description 6
- 235000013550 pizza Nutrition 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 235000013399 edible fruits Nutrition 0.000 description 4
- 239000000796 flavoring agent Substances 0.000 description 4
- 235000019634 flavors Nutrition 0.000 description 4
- 230000035764 nutrition Effects 0.000 description 4
- 241000287828 Gallus gallus Species 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 235000005911 diet Nutrition 0.000 description 3
- 230000000378 dietary effect Effects 0.000 description 3
- 235000021183 entrée Nutrition 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 235000013599 spices Nutrition 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 235000013311 vegetables Nutrition 0.000 description 3
- 240000004160 Capsicum annuum Species 0.000 description 2
- 235000008534 Capsicum annuum var annuum Nutrition 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 2
- 235000017788 Cydonia oblonga Nutrition 0.000 description 2
- 240000008790 Musa x paradisiaca Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 235000021015 bananas Nutrition 0.000 description 2
- 238000009835 boiling Methods 0.000 description 2
- 239000001511 capsicum annuum Substances 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 235000013351 cheese Nutrition 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010411 cooking Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 235000001291 Aechmea magdalenae Nutrition 0.000 description 1
- 244000291564 Allium cepa Species 0.000 description 1
- 235000002732 Allium cepa var. cepa Nutrition 0.000 description 1
- 241000219198 Brassica Species 0.000 description 1
- 235000003351 Brassica cretica Nutrition 0.000 description 1
- 235000003343 Brassica rupestris Nutrition 0.000 description 1
- 235000005979 Citrus limon Nutrition 0.000 description 1
- 244000131522 Citrus pyriformis Species 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 244000124209 Crocus sativus Species 0.000 description 1
- 235000015655 Crocus sativus Nutrition 0.000 description 1
- 108010068370 Glutens Proteins 0.000 description 1
- 244000088415 Raphanus sativus Species 0.000 description 1
- 235000006140 Raphanus sativus var sativus Nutrition 0.000 description 1
- 244000061456 Solanum tuberosum Species 0.000 description 1
- 235000002595 Solanum tuberosum Nutrition 0.000 description 1
- 241001284352 Terminalia buceras Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- QKSKPIVNLNLAAV-UHFFFAOYSA-N bis(2-chloroethyl) sulfide Chemical compound ClCCSCCCl QKSKPIVNLNLAAV-UHFFFAOYSA-N 0.000 description 1
- 235000019519 canola oil Nutrition 0.000 description 1
- 239000000828 canola oil Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 235000015142 cultured sour cream Nutrition 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000021185 dessert Nutrition 0.000 description 1
- 235000020805 dietary restrictions Nutrition 0.000 description 1
- 235000013601 eggs Nutrition 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 235000011389 fruit/vegetable juice Nutrition 0.000 description 1
- 235000021312 gluten Nutrition 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000010460 mustard Nutrition 0.000 description 1
- 230000000474 nursing effect Effects 0.000 description 1
- 235000012015 potatoes Nutrition 0.000 description 1
- 235000011835 quiches Nutrition 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 235000013974 saffron Nutrition 0.000 description 1
- 239000004248 saffron Substances 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- A—HUMAN NECESSITIES
- A23—FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
- A23L—FOODS, FOODSTUFFS, OR NON-ALCOHOLIC BEVERAGES, NOT COVERED BY SUBCLASSES A21D OR A23B-A23J; THEIR PREPARATION OR TREATMENT, e.g. COOKING, MODIFICATION OF NUTRITIVE QUALITIES, PHYSICAL TREATMENT; PRESERVATION OF FOODS OR FOODSTUFFS, IN GENERAL
- A23L3/00—Preservation of foods or foodstuffs, in general, e.g. pasteurising, sterilising, specially adapted for foods or foodstuffs
- A23L3/34—Preservation of foods or foodstuffs, in general, e.g. pasteurising, sterilising, specially adapted for foods or foodstuffs by treatment with chemicals
- A23L3/3409—Preservation of foods or foodstuffs, in general, e.g. pasteurising, sterilising, specially adapted for foods or foodstuffs by treatment with chemicals in the form of gases, e.g. fumigation; Compositions or apparatus therefor
- A23L3/34095—Details of apparatus for generating or regenerating gases
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61L—METHODS OR APPARATUS FOR STERILISING MATERIALS OR OBJECTS IN GENERAL; DISINFECTION, STERILISATION OR DEODORISATION OF AIR; CHEMICAL ASPECTS OF BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES; MATERIALS FOR BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES
- A61L2/00—Methods or apparatus for disinfecting or sterilising materials or objects other than foodstuffs or contact lenses; Accessories therefor
- A61L2/16—Methods or apparatus for disinfecting or sterilising materials or objects other than foodstuffs or contact lenses; Accessories therefor using chemical substances
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B01—PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
- B01F—MIXING, e.g. DISSOLVING, EMULSIFYING OR DISPERSING
- B01F35/00—Accessories for mixers; Auxiliary operations or auxiliary devices; Parts or details of general application
- B01F35/20—Measuring; Control or regulation
- B01F35/22—Control or regulation
- B01F35/2201—Control or regulation characterised by the type of control technique used
- B01F35/2207—Use of data, i.e. barcodes, 3D codes or similar type of tagging information, as instruction or identification codes for controlling the computer programs, e.g. for manipulation, handling, production or compounding in mixing plants
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N30/00—Investigating or analysing materials by separation into components using adsorption, absorption or similar phenomena or using ion-exchange, e.g. chromatography or field flow fractionation
- G01N30/02—Column chromatography
- G01N30/88—Integrated analysis systems specially adapted therefor, not covered by a single one of the groups G01N30/04 - G01N30/86
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G06F17/50—
-
- G06F19/3475—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
- G06Q10/1097—Task assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/20—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for electronic clinical trials or questionnaires
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/60—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets
-
- A—HUMAN NECESSITIES
- A23—FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
- A23V—INDEXING SCHEME RELATING TO FOODS, FOODSTUFFS OR NON-ALCOHOLIC BEVERAGES AND LACTIC OR PROPIONIC ACID BACTERIA USED IN FOODSTUFFS OR FOOD PREPARATION
- A23V2002/00—Food compositions, function of food ingredients or processes for food or foodstuffs
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B01—PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
- B01D—SEPARATION
- B01D2257/00—Components to be removed
- B01D2257/90—Odorous compounds not provided for in groups B01D2257/00 - B01D2257/708
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N30/00—Investigating or analysing materials by separation into components using adsorption, absorption or similar phenomena or using ion-exchange, e.g. chromatography or field flow fractionation
- G01N30/02—Column chromatography
- G01N2030/022—Column chromatography characterised by the kind of separation mechanism
- G01N2030/025—Gas chromatography
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N30/00—Investigating or analysing materials by separation into components using adsorption, absorption or similar phenomena or using ion-exchange, e.g. chromatography or field flow fractionation
- G01N30/02—Column chromatography
- G01N30/88—Integrated analysis systems specially adapted therefor, not covered by a single one of the groups G01N30/04 - G01N30/86
- G01N2030/8809—Integrated analysis systems specially adapted therefor, not covered by a single one of the groups G01N30/04 - G01N30/86 analysis specially adapted for the sample
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0092—Nutrition
Definitions
- This disclosure relates generally to the field of food preparation, and relates more specifically to the use of analytics to design and plan creative menus that meet a set of stated requirements.
- a menu is a set of dishes (i.e., sets of ingredients prepared according to respective recipes) that, together, constitute a meal (e.g., a soup, an entrée, a side, a dessert, and/or a beverage).
- a menu may be defined by one or more attributes (i.e., potentially measurable features), such as novelty (e.g., how “new” the person consuming the food perceives the menu to be), nutrition level (e.g., how healthy the menu is), profitability (e.g., how much profit the menu is expected to bring to the person or establishment providing the menu), or the like.
- a creative menu is a menu that is perceived to be highly novel, and that may optionally also be perceived as superior when considering other attributes.
- menus that meet specific constraints, such as restrictions on ingredients (e.g., must be vegetarian, kosher, gluten-free, use locally-sourced ingredients, etc.), nutritional requirements (must not contain more than/less than x calories), or other constraints.
- a menu creator should, for practical purposes, have access to the recipes for all of the dishes constituting the menu.
- a recipe is a list of component ingredients and series of actionable tasks for modifying/cooking the ingredients to produce a dish.
- the menu creator should also have access to a work plan (also referred to as a “menu plan”).
- a work plan is a schedule of tasks for joint preparation of the recipes for all dishes constituting the menu, based on available resources and facilities.
- Planning a creative menu is thus complicated by the consideration of required attributes and/or constraints for the menu, as well as the availability of the required resources and facilities.
- the present disclosure provides a method for analytics-based design and planning of creative menus.
- a method for designing and planning a menu wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
- the present disclosure provides a device for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, where the device includes a processor and a computer-readable medium storing instructions, which when executed by the processor, cause the processor to perform operations.
- the operations include obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
- the present disclosure provides a system for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe.
- the system includes a database storing recipes for a plurality of potential dishes and an application server for automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed by automatically evaluating the plurality of dishes by optimizing over a user-specified criterion, wherein the plurality of dishes includes at least one dish that includes a user-specified ingredient.
- FIG. 1 illustrates one embodiment of a system for planning a menu, according to the present disclosure
- FIG. 2 is a block diagram illustrating the application server of FIG. 1 in greater detail
- FIG. 3 illustrates an exemplary set of clusters of ingredients
- FIG. 4 illustrates an exemplary set of clusters of recipes
- FIG. 5 depicts two exemplary recipes modeled as directed acyclic graphs
- FIG. 6 depicts an exemplary recipe modeled as a Latent Dirichlet Allocation topic model
- FIG. 7 is a diagram depicting conversion of an exemplary menu into an exemplary work plan, in which the recipes comprising the menu are represented as directed acyclic graphs;
- FIG. 8 depicts an exemplary detailed work plan in which tasks are scheduled on a common timeline and allocated to specific individuals or equipment for completion;
- FIG. 9 is a flow diagram illustrating the high level method 900 for planning a menu, according to embodiments of the present disclosure.
- FIG. 10 is a high-level block diagram of a general purpose computing device suitable for use in performing the functions described herein.
- the present disclosure is related to a method and apparatus for analytics-based design and planning of creative menus.
- Design of a menu involves the selection of the dishes that constitute the menu, while planning of the menu involves scheduling and delegating (e.g., to people or equipment) the tasks necessary to prepare the dishes.
- one embodiment of the present disclosure automatically (i.e., with little or no human assistance) designs a menu that may be perceived to be novel and varied, and may also be perceived as superior when considering other attributes or constraints. Further embodiments plan the menu for execution in a manner that considers the available facilities and resources.
- the present disclosure has particular applicability in the food industry, where it may be applied to design and plan menus in collaboration with entities that provide planning services to their customers (e.g., restaurants, nursing homes, schools, airlines, etc.).
- entities that provide planning services to their customers e.g., restaurants, nursing homes, schools, airlines, etc.
- Embodiments of the disclosure can provide direct analytical support to such entities.
- One aspect of the present disclosure is to modify a function of a computer based on whether certain resources are available. For instance, the computer may assign specific menu preparation tasks to certain individuals and/or equipment based on availability, need, and/or time constraints. Notably, a machine is required to modify certain portions of the computer as tasks are identified, scheduled, and assigned.
- Embodiments of the present disclosure transform a set of disparate criteria (e.g., individual ingredients, desired attributes, constraints, etc.) into a suggested menu and/or work plan (e.g., a set of dishes satisfying the criteria and/or a plan for preparing the set of dishes using available resources and facilities).
- a set of ingredients or attributes does not typically dictate how, when, or by whom specific tasks will be performed.
- embodiments of the present disclosure take a set of disparate criteria and transform it into a suggested menu and/or work plan.
- some of the disparate criteria may be supplied by a human user, the transformation of the criteria into the suggested menu and/or workplan is performed with little or no human assistance (i.e., automatically).
- an “attribute” as used herein refers to a feature of a menu or recipe that is deemed to be desirable.
- some desirable features of menus and recipes include, but are not limited to: menus/recipes that are perceived to be novel, menus/recipes that are perceived to be tasty and flavorful, menus/recipes that demonstrate variety over time, menus/recipes that are compatible with a healthy lifestyle that meets nutritional requirements, menus/recipes that increase profit, menus/recipes that satisfy kitchen constraints and use available resources, menus/recipes that are opportunistic and economical with ingredient availability, menus/recipes with low carbon footprints, menus/recipes that are personalized for disparate tastes, and menus/recipes that meet dietary restrictions (e.g., nut-free, gluten-free, etc.).
- dietary restrictions e.g., nut-free, gluten-free, etc.
- FIG. 1 illustrates one embodiment of a system 100 for planning a menu, according to the present disclosure.
- the system 100 generally comprises one or more endpoint devices 102 1 - 102 n (hereinafter collectively referred to as endpoint devices 102 ′′) coupled to a network 104 .
- the network 104 generally comprises an application server 106 and one or more databases 108 1 - 108 m (hereinafter collectively referred to as “databases 108 ”).
- the network 104 is a communications network.
- the network 104 may be any type of communications network, such as for example, a traditional circuit switched network (e.g., a public switched telephone network (PSTN)) or an Internet Protocol (IP) network (e.g., an IP Multimedia Subsystem (IMS) network, an asynchronous transfer mode (ATM) network, a wireless network, a cellular network (e.g., 2G, 3G and the like), a long term evolution (LTE) network, and the like) related to the current disclosure.
- IP Internet Protocol
- IMS IP Multimedia Subsystem
- ATM asynchronous transfer mode
- wireless network e.g., a wireless network
- a cellular network e.g., 2G, 3G and the like
- LTE long term evolution
- IP network is broadly defined as a network that uses Internet Protocol to exchange data packets.
- Additional exemplary IP networks include Voice over IP (VoIP) networks, Service over IP (SoIP) networks, and the like.
- the network 104 may comprise a core network that is in communication with one or more access networks (not shown), where the access networks may include a wireless access network (e.g., a WiFi network and the like), a cellular access network, a PSTN access network, a cable access network, a wired access network and the like.
- the access networks may all be different types of access networks, may all be the same type of access network, or some access networks may be the same type of access network and other may be different types of access networks.
- the core network and the access networks may be operated by different service providers, the same service provider or a combination thereof.
- the network 104 includes an application server 106 and one or more databases 108 . Although only a single application server 106 and two databases 108 are illustrated, it should be noted that any number of application servers 106 or databases 108 may be deployed.
- an application server 106 may comprise a general purpose computer configured as a special purpose computer, as illustrated in FIG. 10 and discussed below.
- the application server 106 may perform the methods and algorithms discussed below related to planning a menu and/or work plan. For instance, the application server 106 may suggest a menu in response to a set of inputs (received from the endpoint devices 102 , for example) including required ingredients, desired flavor profiles/cuisines (e.g., seasonal and/or ethnic influences), and/or constraints (e.g., restrictions on ingredients, nutritional requirements, etc.).
- the application server 106 may additionally suggest a work plan based on available facilities and/or resources.
- the databases 108 may store data relating to menu planning.
- a first database 108 1 may store a plurality of recipes.
- the recipes are grouped according to one or more criteria, such as by cuisine (e.g., Italian, holiday, etc.), by dish (e.g., pasta, chicken, etc.), by course (e.g., appetizer, entrée, etc.), or the like.
- a single recipe may belong to more than one group (e.g., a recipe for lasagna may belong to groups comprising “entrées” and “Italian cuisine”).
- Each recipe comprises a list of ingredients and a series of steps for preparing the ingredients to produce a dish.
- a second database 108 m may store information relating to ingredients and chemical compounds.
- ingredients and chemical compounds may also be grouped according to one or more criteria.
- multiple databases 108 may store the recipes, or multiple databases 108 may store the information relating to the ingredients and chemical compounds.
- all recipes and all information relating to the ingredients and chemical compounds are stored in a single database 108 .
- the network 104 is in communication with the endpoint devices 102 .
- the endpoint devices 102 may be any type of computing device such as a desktop computer, a tablet computer, a laptop computer, a netbook, an ultrabook, a cellular telephone, a smart phone, a portable media device (e.g., an MP3 player), a gaming console, a portable gaming device, and the like. It should be noted that although only three endpoint devices 102 are illustrated in FIG. 1 , any number of endpoint devices 102 may be deployed.
- the methods performed by the application server 106 may be performed locally by the endpoint devices 102 .
- the endpoint devices 102 access the databases 108 directly over the network 104 and perform the methods and algorithms discussed below related to planning a menu.
- the network 104 has been simplified.
- the network 104 may include other network elements (not shown) such as border elements, routers, switches, policy servers, security devices, a content distribution network (CDN) and the like.
- CDN content distribution network
- FIG. 2 is a block diagram illustrating the application server 106 of FIG. 1 in greater detail.
- the application server 106 receives a plurality of inputs from endpoint devices 102 .
- the plurality of inputs relate to a menu to be planned, and may include, for example, required ingredients, desired flavor profiles/cuisines, and/or other constraints (e.g., restrictions on ingredients, nutritional requirements, etc.) on the menu.
- the application server 106 produces as output a suggested menu responsive to the plurality of inputs.
- the application server may also produce as output a work plan for preparing the menu based on the available facilities and resources.
- the application server 106 transforms a set of criteria (e.g., individual ingredients, constraints, etc.) into a suggested menu and/or work plan (e.g., a set of dishes incorporating the criteria and/or a plan for preparing the set of dishes using available resources and facilities).
- a set of criteria e.g., individual ingredients, constraints, etc.
- a suggested menu and/or work plan e.g., a set of dishes incorporating the criteria and/or a plan for preparing the set of dishes using available resources and facilities.
- the application server 106 generally comprises an assessment modeling engine 200 , a menu design engine 202 , and a menu planning engine 204 . Any of the modeling engine 200 , menu design engine 202 , and menu planning engine 204 may be implemented as a processor.
- the assessment modeling engine 200 receives as input data gathered from a plurality of sources and, using this input, builds models to assess menu attributes.
- the types of data received by the assessment modeling engine 200 include recipes, expert opinions (e.g., from chefs), and management interviews.
- the models built by the assessment modeling engine 200 assess menu attributes such as novelty, variety, nutrition, and the like.
- the data from which the models are built may be retrieved, for example, from one or more of the databases 108 .
- the menu design engine 202 receives as input the models built by the assessment modeling engine 200 and user-specified criteria, and, using this input, designs a menu.
- the user-specified criteria include required ingredients, desired flavor profiles/cuisines, and/or other attributes or constraints on the menu.
- the user-specified criteria may be obtained, for example, from one of the endpoint devices 102 .
- the menu design engine 202 optimizes over the user-specified criteria and attempts to satisfy any constraints. Embodiments of methods for designing a menu are discussed in greater detail below in connection with EQNs. 1-5.
- the menu planning engine 204 receives as input the menus created by the menu design engine 202 and, using this input, schedules the work plan for preparing the menu.
- One embodiment of a method for preparing a work plan is discussed in greater detail below in connection with FIGS. 7 and 8 .
- the menu and/or work plan may be output by the menu planning engine 204 , for example to one or more of the endpoint devices 102 .
- the data gathering process may collect several different types of data, including recipes, expert opinions, interviews, and/or external datasets.
- the recipes may be retrieved from one or more of the databases 108 , which serve as sources for potentially performing re-combinations and modifications of existing recipes, and also for measuring novelty of menus.
- the expert opinions may be provided by chefs and can be used to generate ideas for novel recipes and for performing other attribute assessment-related tasks.
- the interviews may be provided by managers and/or other sources in the food preparation industry and contain information relating to available resources in the menu preparation facility, to costs and revenues associated with ingredients and dishes, and other types of information.
- the expert opinions and interviews may be retrieved from one or more of the databases 108 .
- the external datasets comprise data from external sources (e.g., databases other than the databases 108 ), which may be required depending on the desired attributes of the menu.
- Data from external datasets may include information relating to the nutritional content of ingredients, to the seasonality of ingredients, or other information.
- data gathering may involve clustering ingredients and recipes into groups of like items. Ingredients may be clustered according to various categoies, such as type of ingredient (e.g., fruit, spice, etc.) or type of cuisine (e.g., Jamaican, Hungarian, etc.). Each cluster will contain ingredients that fall into a stated category, and a given ingredient may be included in more than one cluster.
- type of ingredient e.g., fruit, spice, etc.
- type of cuisine e.g., Jamaican, Hungarian, etc.
- FIG. 3 illustrates an exemplary set of clusters of ingredients.
- FIG. 3 depicts three distinct ingredients: bananas, quinces, and paprika.
- each of these ingredients is included in one or more of four potential clusters: “fruit,” “spices,” “Hungarian cuisine,” and “Jamaican cuisine.”
- bananas are included in the clusters for both “fruit” and “Jamaican cuisine,” while quinces are included in the clusters for both “fruit” and “Hungarian cuisine.”
- Paprika is included in the clusters for both “spices” and “Hungarian cuisine.”
- recipes may be clustered according to various categories, such as type of dish (e.g., pasta, pizza, etc.) or type of cuisine (e.g., American, Italian, etc.). Each cluster will contain recipes that fall into a stated category, and a given recipe may be included in more than one cluster.
- type of dish e.g., pasta, pizza, etc.
- type of cuisine e.g., American, Italian, etc.
- FIG. 4 illustrates an exemplary set of clusters of recipes.
- FIG. 4 depicts three distinct recipes: “Mario's Pizza,” “Anna's Spaghetti Bolognese (Spag Bol),” and “My Mac and Cheese.”
- each of these recipes is included in one or more of four potential clusters: “pizza dishes,” “pasta dishes,” “Italian cuisine,” and “American cuisine.”
- “Mario's Pizza” is included in the clusters for both “pizza dishes” and “Italian cuisine”
- “Anna's Spag Bol” is included in the clusters for both “pasta dishes” and “Italian cuisine.”
- My Mac and Cheese is included in the clusters for both “pasta dishes” and “American cuisine.”
- FIGS. 3 and 4 depict only one embodiment of a suitable approach to organizing data.
- the assessment modeling engine 200 uses the gathered data to build assessment models for specified attributes.
- the assessment models quantify a measure of how well a given recipe and/or menu satisfies a given attribute. Different types of data will be useful for modeling different attributes.
- different modeling techniques may be implemented depending on the attributes to be modeled. Table 1, for example, presents some exemplary menu attributes, along with some of the data and modeling techniques that are considered useful for building assessment models of the stated attributes.
- variety may be modeled using graph edit distance.
- the recipes are represented as directed acyclic graphs.
- FIG. 5 depicts two exemplary recipes modeled as directed acyclic graphs.
- the graph representation G of the recipe includes vertices V representing ingredients or steps, edges E representing relationships between the vertices, and labels L that identify the specific ingredient or step represented by each vertex.
- Several graph editing operations may be defined, including one or more of the following: substituting a vertex label, deleting a vertex, inserting a vertex, deleting an edge, and inserting an edge.
- the graph edit distance d(G 1 , G 2 ) is then defined between the labeled graphs G 1 and G 2 as the minimum number of edits needed to convert G 1 into G 2 .
- the variety of several graphs is defined as the variance of the pairwise edit distances among the graphs. Other measures of variety may include the standard deviation, mean, or entropy of the graphs, among other metrics.
- variety may be modeled using probabilistic analysis (see, e.g., Table 1).
- probabilistic analysis see, e.g., Table 1).
- topic modeling One particular probabilistic analysis technique that may be used in this case is topic modeling.
- the recipes are considered as documents that can be modeled as probabilistic mixtures, where the ingredients are probabilistically selected from a potential list of “topics” (i.e., combinations of ingredients).
- each recipe is a distribution of topics, and the distance between recipes can be measured to generate a measure of variety.
- FIG. 6 depicts an exemplary recipe modeled as a Latent Dirichlet Allocation (LDA) topic model.
- LDA Latent Dirichlet Allocation
- Document M contains N words.
- Those words include ingredients x and topics z, where the topics are sets or combinations of ingredients.
- an exemplary topic might include the following ingredients: lemon juice, salt, cooking spray, green onions, sour cream, canola oil, Dijon mustard, radishes, pita, and black olives.
- the parameters ⁇ , ⁇ , and ⁇ represent parameters of a machine learning model and describe the kinds of topics present in the database 108 .
- every recipe can be associated with a probability distribution over topics.
- a menu can then be evaluated for variety based on the distance between the probability distributions over topics for recipes included in the menu.
- the variety may be scored quantitatively as:
- P T is the topic distribution for an associated recipe R 1 , . . . , R K .
- the menu design engine 202 may design a menu.
- the menu design engine 202 obtains as input one or more ingredients, one or more flavor profiles/cuisines, and/or one or more other attributes or constraints (e.g., on dietary compliance, cost, or ingredient availability).
- design of a menu may start with a number S of initially selected (e.g., user-specified) ingredients, and then extend the ingredient set to include one or more new (e.g., not user-specified) ingredients.
- the user may allow the system 100 to recommend further ingredients beyond the initially selected group of ingredients.
- additional ingredients may be recommended based on frequent pairings (i.e., where the additional ingredients are those that are observed by the system 100 to be most frequently paired with one or more of the initially selected ingredients) and/or on common chemical compounds (i.e., where the additional ingredients are those that are observed by the system to share the most or the least chemical compounds with the initially selected ingredients).
- the menu design engine 202 determines a dish superset (i.e., the set of potential dishes from which the menu may be chosen).
- determining the dish superset comprises selecting all dishes that are both: (1) typical of the selected cuisines (e.g., pasta would be typical of Italian cuisine); and (2) contain at least one of the ingredients.
- at least one ingredient in the set of initially selected ingredients is maintained in the menu.
- each dish in the dish superset can be substituted with one or more of: (1) a canonical recipe for that dish (e.g., the most highly rated pizza recipe); (2) all of the recipes for that dish, as long as they contain at least one of the initially selected ingredients; or (3) a recipe for the dish that contains at least one of the initially selected ingredients and is generated using a computational creativity algorithm.
- a canonical recipe for that dish e.g., the most highly rated pizza recipe
- all of the recipes for that dish as long as they contain at least one of the initially selected ingredients
- a recipe for the dish that contains at least one of the initially selected ingredients and is generated using a computational creativity algorithm.
- Substitute recipes may be obtained from the databases 108 .
- the number of dishes contained in the final dish superset may be denoted as M.
- optimization is then employed to select specific dishes from the dish superset in order to generate a menu.
- selection of specific dishes is formulated as an optimization model that optimizes a weighted linear function of scores for three attributes (e.g., novelty, taste, and variety), under constraints such as the availability of ingredients.
- attributes e.g., novelty, taste, and variety
- constraints such as the availability of ingredients.
- i ⁇ ⁇ 1, . . . , M ⁇ Index for a dish in the superset of dishes (e.g., quiche, pie, etc.) j ⁇ ⁇ 1, . . . , N ⁇ : Index for ingredient (e.g., chicken, saffron, etc.) k ⁇ ⁇ 1, . . . , K ⁇ : Index for ingredient category (e.g., vegetable, meat, etc.) s ⁇ ⁇ 1, . . .
- the novelty of a menu is the sum of the novelty measures of each dish in the menu.
- the novelty of a dish can be computed, in one embodiment, by applying a metric such as Bayesian surprise to the ingredients of the dish.
- NOV the novelty of the menu, NOV (y 1 , . . . , y M ; x 1 , . . . , x N ) may be computed as:
- f NOV is the novelty score for a set of ingredients.
- the taste of a menu (i.e., how “good” the taste is) can be computed by considering a known food pairing hypothesis that suggests that pairs of ingredients taste better when the component ingredients share more chemical compounds.
- TASTE (y 1 , . . . , y M ; x 1 , . . . , x N ) may be computed as:
- the variety of a menu can be computed by comparing the graph edit distances between pairs of recipes for dishes in the menu, or by using topic modeling, or by a combination of graph edit distance comparison and topic modeling.
- a graph edit distance-based measure may compute the variety of the menu, VAR (y 1 , . . . , y M ; x 1 , . . . , x N ), as:
- VAR ⁇ ( y 1 , ... ⁇ , y M ) ⁇ ⁇ j ⁇ i ⁇ y i ⁇ y l ⁇ d ⁇ ( G il ) ( EQN . ⁇ 4 )
- the objective function is thus the weighted linear function of the measures for the attributes being balanced.
- the objective function is:
- the menu planning engine 204 creates a work plan for preparing the menu.
- the work plan is a schedule of tasks for joint preparation of the recipes for all dishes constituting the menu, based on available resources and facilities.
- the menu planning engine 204 takes as inputs directed acyclic graphs representing all of the recipes required to prepare the menu.
- the menu planning engine 204 produces as an output the work plan, while determining if the menu can be prepared within any given time constraints.
- FIG. 7 is a diagram depicting conversion of an exemplary menu into an exemplary work plan, in which the recipes comprising the menu are represented as directed acyclic graphs.
- the directed acyclic graphs represent the menus as mathematical formalisms.
- the vertices of the graphs represent actions to be taken by different people or equipment (e.g., boil water, slice vegetables, bake potatoes, etc.).
- the edges connecting the vertices represent the sequences in which the actions are to be taken (e.g., the water should be boiled before the pasta is put in the water), and the edges are annotated with timing constraints that set limits on the maximum amount of time that may elapse between sequential actions (e.g., no more than eight minutes should elapse between putting the pasta in the boiling water and removing the pasta from the boiling water).
- the menu planning engine 204 Given such a graph for each recipe in the menu (illustrated on the left side of FIG. 7 ), and a list of available resources (e.g., people and/or equipment), the menu planning engine 204 produces a plan (illustrated on the right side of FIG. 7 ) for the individual resources to prepare the menu (and other summaries, such as the total time required).
- the plan may assign specific actions in the directed acyclic graphs to specific individuals who are available to prepare the menu (e.g., John will slice the vegetables).
- FIG. 8 depicts an exemplary detailed work plan in which tasks are scheduled on a common timeline and allocated to specific individuals or equipment for completion.
- FIG. 9 is a flow diagram illustrating the high level method 900 for planning a menu, according to embodiments of the present disclosure.
- the method 900 may be performed, for example, by the application server 106 illustrated in FIGS. 1 and 2 and described in detail above. However, it will be appreciated that the method 900 is not limited to implementation on the application server 106 ; in alternate embodiments, the method 900 may be performed by other devices or systems, including the endpoint devices 102 or a general purpose computing device that is configured as a special purpose computing device.
- the method 900 begins in step 902 .
- the assessment modeling engine 200 gathers data from one or more sources.
- the gathered data may include one or more of the following types of data: recipes, chef expert opinions, or management interviews. Any one or more of these types of data may be obtained from one of the databases 108 , or from an external database.
- the assessment modeling engine 200 builds one or more models in accordance with the data gathered in step 904 .
- the models are build to help assess menu attributes, such as novelty, variety, nutrition, or the like.
- the assessment modeling engine 200 may use one or more of the modeling techniques listed in Table 1 (above) to build models using the gathered data.
- the menu design engine 202 obtains a plurality of inputs.
- the inputs obtained by the menu design engine 202 may include one or more of the following: one or more user-specified cuisines (e.g., Indian, holiday, etc.), one or more user-specified ingredients (e.g., chicken, eggs, etc.), one or more user-specified desired attributes (e.g., novelty, variety, etc.), or one or more user-specified constraints (e.g., no more than x calories, no gluten, etc.).
- any one or more of the user-specified inputs may be provided using one or more of the endpoint devices 102 .
- the menu design engine 202 extends the ingredient set.
- the ingredient set may be extended by adding new ingredients that pair well in the menu (but not necessarily in the same recipe) with user-specified ingredients obtained in step 908 .
- the menu design engine 202 consults a database of recipes (e.g., one of the databases 108 ) for information on pairing of ingredients.
- the menu design engine 202 may evaluate taste metrics (e.g., sharing of chemical compounds) for ingredient pairs.
- the menu design engine 202 determines a dish superset.
- the dish superset comprises a set of all potential dishes from which the menu may be selected.
- the dish superset may be constructed by performing standard database queries (e.g., to the databases 108 ) that identify all dishes in the database that correspond to user-specified cuisines and contain at least one of the ingredients in the (optionally extended) ingredient set.
- the menu design engine 202 determines the menu in accordance with the dish superset. That is, the menu design engine 202 selects one or more of the dishes in the dish superset for inclusion in the menu.
- dishes are selected from the dish superset in accordance with an optimization technique that finds a set of dishes that “fit together” (e.g., based on a weighted function of user-specified attributes, subject to user-specified constraints). For instance, dishes may be selected from the dish superset by considering the optimization problem detailed in EQNs. 1-5, above.
- the menu planning engine 204 designs a work plan in accordance with the menu designed in step 914 and the available resources and facilities. That is, the menu planning engine 204 plans a detailed schedule of tasks to be performed, concurrently, by the available people and equipment in order to produce the menu within a specified period of time. As discussed above in connection with FIG. 7-8 , designing the work plan may involve representing each recipe in the menu as a directed acyclic graph and then implanting bipartite matching in the individual stages of the recipes.
- step 918 the menu planning engine 204 outputs the work plan (e.g., to one or more of the endpoint devices 102 ).
- the method 900 then ends in step 920 .
- FIG. 10 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein.
- the system 1000 comprises a hardware processor element 1002 (e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor), a memory 1004 , e.g., random access memory (RAM) and/or read only memory (ROM), a module 1005 for planning a menu and/or work plan, and various input/output devices 1006 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, an input port and a user input device (such as a keyboard, a keypad, a mouse, a microphone and the like)).
- a hardware processor element 1002 e.g., a central processing unit (CPU), a microprocessor
- the general-purpose computer may employ a plurality of processor elements.
- the general-purpose computer may employ a plurality of processor elements.
- the general-purpose computer of this figure is intended to represent each of those multiple general-purpose computers.
- the present disclosure can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents, e.g., computer readable instructions pertaining to the respective systems and/or methods discussed above can be used to configure a hardware processor to perform the steps functions and/or operations of the above disclosed systems and methods.
- instructions and data for the present module or process 1005 for planning a menu and/or work plan e.g., a software program comprising computer-executable instructions
- hardware processor element 1002 can be loaded into memory 1004 and executed by hardware processor element 1002 to implement the steps, functions or operations as discussed above in connection with the exemplary systems 100 and 106 and/or method 900 .
- the processor executing the computer readable or software instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor.
- the present module 1005 for planning a menu and/or work plan (including associated data structures) of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like.
- the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server.
- the hardware processor can be configured or programmed to cause other devices to perform one or more operations as discussed above. In other words, the hardware processor may serve the function of a central controller directing other devices to perform the one or more operations as discussed above.
- the present invention may be a system, a method, and/or a computer program product.
- the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- a non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Chemical & Material Sciences (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Primary Health Care (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical Kinetics & Catalysis (AREA)
- Epidemiology (AREA)
- Public Health (AREA)
- General Chemical & Material Sciences (AREA)
- Nutrition Science (AREA)
- Algebra (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Veterinary Medicine (AREA)
Abstract
In one embodiment, the present disclosure provides a method for analytics-based design and planning of creative menus. A method for designing and planning a menu, wherein the menu comprises at least one dish comprising a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the at least one dish from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein the at least one dish includes the user-specified ingredient.
Description
- This disclosure relates generally to the field of food preparation, and relates more specifically to the use of analytics to design and plan creative menus that meet a set of stated requirements.
- A menu is a set of dishes (i.e., sets of ingredients prepared according to respective recipes) that, together, constitute a meal (e.g., a soup, an entrée, a side, a dessert, and/or a beverage). A menu may be defined by one or more attributes (i.e., potentially measurable features), such as novelty (e.g., how “new” the person consuming the food perceives the menu to be), nutrition level (e.g., how healthy the menu is), profitability (e.g., how much profit the menu is expected to bring to the person or establishment providing the menu), or the like.
- There is an increasing demand in the field of food preparation for “creative” menus. A creative menu is a menu that is perceived to be highly novel, and that may optionally also be perceived as superior when considering other attributes. In addition, there is an increasing demand for menus that meet specific constraints, such as restrictions on ingredients (e.g., must be vegetarian, kosher, gluten-free, use locally-sourced ingredients, etc.), nutritional requirements (must not contain more than/less than x calories), or other constraints.
- A menu creator should, for practical purposes, have access to the recipes for all of the dishes constituting the menu. A recipe is a list of component ingredients and series of actionable tasks for modifying/cooking the ingredients to produce a dish. The menu creator should also have access to a work plan (also referred to as a “menu plan”). A work plan is a schedule of tasks for joint preparation of the recipes for all dishes constituting the menu, based on available resources and facilities.
- Planning a creative menu is thus complicated by the consideration of required attributes and/or constraints for the menu, as well as the availability of the required resources and facilities.
- In one embodiment, the present disclosure provides a method for analytics-based design and planning of creative menus. For example, a method for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
- In another embodiment, the present disclosure provides a device for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe includes obtaining a user-specified ingredient that must be included in the menu, where the device includes a processor and a computer-readable medium storing instructions, which when executed by the processor, cause the processor to perform operations. The operations include obtaining a user-specified ingredient that must be included in the menu, obtaining a user-specified criterion that must be satisfied by the menu, automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion, and automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
- In another embodiment, the present disclosure provides a system for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe. The system includes a database storing recipes for a plurality of potential dishes and an application server for automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed by automatically evaluating the plurality of dishes by optimizing over a user-specified criterion, wherein the plurality of dishes includes at least one dish that includes a user-specified ingredient.
- The teachings of the present disclosure can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
-
FIG. 1 illustrates one embodiment of a system for planning a menu, according to the present disclosure; -
FIG. 2 is a block diagram illustrating the application server ofFIG. 1 in greater detail; -
FIG. 3 illustrates an exemplary set of clusters of ingredients; -
FIG. 4 illustrates an exemplary set of clusters of recipes; -
FIG. 5 depicts two exemplary recipes modeled as directed acyclic graphs; -
FIG. 6 depicts an exemplary recipe modeled as a Latent Dirichlet Allocation topic model; -
FIG. 7 is a diagram depicting conversion of an exemplary menu into an exemplary work plan, in which the recipes comprising the menu are represented as directed acyclic graphs; -
FIG. 8 depicts an exemplary detailed work plan in which tasks are scheduled on a common timeline and allocated to specific individuals or equipment for completion; -
FIG. 9 is a flow diagram illustrating thehigh level method 900 for planning a menu, according to embodiments of the present disclosure; and -
FIG. 10 is a high-level block diagram of a general purpose computing device suitable for use in performing the functions described herein. - In one embodiment, the present disclosure is related to a method and apparatus for analytics-based design and planning of creative menus. Design of a menu involves the selection of the dishes that constitute the menu, while planning of the menu involves scheduling and delegating (e.g., to people or equipment) the tasks necessary to prepare the dishes. For example, one embodiment of the present disclosure automatically (i.e., with little or no human assistance) designs a menu that may be perceived to be novel and varied, and may also be perceived as superior when considering other attributes or constraints. Further embodiments plan the menu for execution in a manner that considers the available facilities and resources. The present disclosure has particular applicability in the food industry, where it may be applied to design and plan menus in collaboration with entities that provide planning services to their customers (e.g., restaurants, nursing homes, schools, airlines, etc.). Embodiments of the disclosure can provide direct analytical support to such entities.
- One aspect of the present disclosure is to modify a function of a computer based on whether certain resources are available. For instance, the computer may assign specific menu preparation tasks to certain individuals and/or equipment based on availability, need, and/or time constraints. Notably, a machine is required to modify certain portions of the computer as tasks are identified, scheduled, and assigned.
- Embodiments of the present disclosure transform a set of disparate criteria (e.g., individual ingredients, desired attributes, constraints, etc.) into a suggested menu and/or work plan (e.g., a set of dishes satisfying the criteria and/or a plan for preparing the set of dishes using available resources and facilities). In other words, a set of ingredients or attributes does not typically dictate how, when, or by whom specific tasks will be performed. However, embodiments of the present disclosure take a set of disparate criteria and transform it into a suggested menu and/or work plan. Although some of the disparate criteria may be supplied by a human user, the transformation of the criteria into the suggested menu and/or workplan is performed with little or no human assistance (i.e., automatically).
- An “attribute” as used herein refers to a feature of a menu or recipe that is deemed to be desirable. For example, some desirable features of menus and recipes include, but are not limited to: menus/recipes that are perceived to be novel, menus/recipes that are perceived to be tasty and flavorful, menus/recipes that demonstrate variety over time, menus/recipes that are compatible with a healthy lifestyle that meets nutritional requirements, menus/recipes that increase profit, menus/recipes that satisfy kitchen constraints and use available resources, menus/recipes that are opportunistic and economical with ingredient availability, menus/recipes with low carbon footprints, menus/recipes that are personalized for disparate tastes, and menus/recipes that meet dietary restrictions (e.g., nut-free, gluten-free, etc.).
-
FIG. 1 illustrates one embodiment of asystem 100 for planning a menu, according to the present disclosure. Thesystem 100 generally comprises one or more endpoint devices 102 1-102 n (hereinafter collectively referred to asendpoint devices 102″) coupled to anetwork 104. Thenetwork 104, in turn, generally comprises anapplication server 106 and one or more databases 108 1-108 m (hereinafter collectively referred to as “databases 108”). - The
network 104 is a communications network. Thenetwork 104 may be any type of communications network, such as for example, a traditional circuit switched network (e.g., a public switched telephone network (PSTN)) or an Internet Protocol (IP) network (e.g., an IP Multimedia Subsystem (IMS) network, an asynchronous transfer mode (ATM) network, a wireless network, a cellular network (e.g., 2G, 3G and the like), a long term evolution (LTE) network, and the like) related to the current disclosure. It should be noted that an IP network is broadly defined as a network that uses Internet Protocol to exchange data packets. Additional exemplary IP networks include Voice over IP (VoIP) networks, Service over IP (SoIP) networks, and the like. - In one embodiment, the
network 104 may comprise a core network that is in communication with one or more access networks (not shown), where the access networks may include a wireless access network (e.g., a WiFi network and the like), a cellular access network, a PSTN access network, a cable access network, a wired access network and the like. In one embodiment, the access networks may all be different types of access networks, may all be the same type of access network, or some access networks may be the same type of access network and other may be different types of access networks. The core network and the access networks may be operated by different service providers, the same service provider or a combination thereof. - As discussed above, the
network 104 includes anapplication server 106 and one ormore databases 108. Although only asingle application server 106 and twodatabases 108 are illustrated, it should be noted that any number ofapplication servers 106 ordatabases 108 may be deployed. - One embodiment of an
application server 106 is described in greater detail in connection withFIG. 2 . In another embodiment, theapplication server 106 may comprise a general purpose computer configured as a special purpose computer, as illustrated inFIG. 10 and discussed below. In one embodiment, theapplication server 106 may perform the methods and algorithms discussed below related to planning a menu and/or work plan. For instance, theapplication server 106 may suggest a menu in response to a set of inputs (received from theendpoint devices 102, for example) including required ingredients, desired flavor profiles/cuisines (e.g., seasonal and/or ethnic influences), and/or constraints (e.g., restrictions on ingredients, nutritional requirements, etc.). Theapplication server 106 may additionally suggest a work plan based on available facilities and/or resources. - In one embodiment, the
databases 108 may store data relating to menu planning. For instance, afirst database 108 1 may store a plurality of recipes. The recipes are grouped according to one or more criteria, such as by cuisine (e.g., Italian, holiday, etc.), by dish (e.g., pasta, chicken, etc.), by course (e.g., appetizer, entrée, etc.), or the like. A single recipe may belong to more than one group (e.g., a recipe for lasagna may belong to groups comprising “entrées” and “Italian cuisine”). Each recipe comprises a list of ingredients and a series of steps for preparing the ingredients to produce a dish. Asecond database 108 m may store information relating to ingredients and chemical compounds. These ingredients and chemical compounds may also be grouped according to one or more criteria. In an alternative embodiment,multiple databases 108 may store the recipes, ormultiple databases 108 may store the information relating to the ingredients and chemical compounds. In a further embodiment still, all recipes and all information relating to the ingredients and chemical compounds are stored in asingle database 108. - In one embodiment, the
network 104 is in communication with theendpoint devices 102. In one embodiment, theendpoint devices 102 may be any type of computing device such as a desktop computer, a tablet computer, a laptop computer, a netbook, an ultrabook, a cellular telephone, a smart phone, a portable media device (e.g., an MP3 player), a gaming console, a portable gaming device, and the like. It should be noted that although only threeendpoint devices 102 are illustrated inFIG. 1 , any number ofendpoint devices 102 may be deployed. - In an alternative embodiment, the methods performed by the
application server 106 may be performed locally by theendpoint devices 102. In this case, theendpoint devices 102 access thedatabases 108 directly over thenetwork 104 and perform the methods and algorithms discussed below related to planning a menu. - It should be noted that the
network 104 has been simplified. For example, thenetwork 104 may include other network elements (not shown) such as border elements, routers, switches, policy servers, security devices, a content distribution network (CDN) and the like. -
FIG. 2 is a block diagram illustrating theapplication server 106 ofFIG. 1 in greater detail. In general, theapplication server 106 receives a plurality of inputs fromendpoint devices 102. The plurality of inputs relate to a menu to be planned, and may include, for example, required ingredients, desired flavor profiles/cuisines, and/or other constraints (e.g., restrictions on ingredients, nutritional requirements, etc.) on the menu. Theapplication server 106 produces as output a suggested menu responsive to the plurality of inputs. In addition, the application server may also produce as output a work plan for preparing the menu based on the available facilities and resources. Thus, theapplication server 106 according to embodiments of the present disclosure transforms a set of criteria (e.g., individual ingredients, constraints, etc.) into a suggested menu and/or work plan (e.g., a set of dishes incorporating the criteria and/or a plan for preparing the set of dishes using available resources and facilities). - The
application server 106 generally comprises anassessment modeling engine 200, amenu design engine 202, and amenu planning engine 204. Any of themodeling engine 200,menu design engine 202, andmenu planning engine 204 may be implemented as a processor. - The
assessment modeling engine 200 receives as input data gathered from a plurality of sources and, using this input, builds models to assess menu attributes. In one embodiment, the types of data received by theassessment modeling engine 200 include recipes, expert opinions (e.g., from chefs), and management interviews. The models built by theassessment modeling engine 200 assess menu attributes such as novelty, variety, nutrition, and the like. The data from which the models are built may be retrieved, for example, from one or more of thedatabases 108. Some embodiments of methods for building models to assess menu attributes are discussed in greater detail below in connection withFIGS. 5-6 . - The
menu design engine 202 receives as input the models built by theassessment modeling engine 200 and user-specified criteria, and, using this input, designs a menu. In one embodiment, the user-specified criteria include required ingredients, desired flavor profiles/cuisines, and/or other attributes or constraints on the menu. The user-specified criteria may be obtained, for example, from one of theendpoint devices 102. Themenu design engine 202 optimizes over the user-specified criteria and attempts to satisfy any constraints. Embodiments of methods for designing a menu are discussed in greater detail below in connection with EQNs. 1-5. - The
menu planning engine 204 receives as input the menus created by themenu design engine 202 and, using this input, schedules the work plan for preparing the menu. One embodiment of a method for preparing a work plan is discussed in greater detail below in connection withFIGS. 7 and 8 . The menu and/or work plan may be output by themenu planning engine 204, for example to one or more of theendpoint devices 102. - As discussed above, building the models to assess menu attributes relies on data gathering. The data gathering process may collect several different types of data, including recipes, expert opinions, interviews, and/or external datasets. The recipes may be retrieved from one or more of the
databases 108, which serve as sources for potentially performing re-combinations and modifications of existing recipes, and also for measuring novelty of menus. The expert opinions may be provided by chefs and can be used to generate ideas for novel recipes and for performing other attribute assessment-related tasks. The interviews may be provided by managers and/or other sources in the food preparation industry and contain information relating to available resources in the menu preparation facility, to costs and revenues associated with ingredients and dishes, and other types of information. The expert opinions and interviews may be retrieved from one or more of thedatabases 108. The external datasets comprise data from external sources (e.g., databases other than the databases 108), which may be required depending on the desired attributes of the menu. Data from external datasets may include information relating to the nutritional content of ingredients, to the seasonality of ingredients, or other information. - At a high level, data gathering may involve clustering ingredients and recipes into groups of like items. Ingredients may be clustered according to various categoies, such as type of ingredient (e.g., fruit, spice, etc.) or type of cuisine (e.g., Jamaican, Hungarian, etc.). Each cluster will contain ingredients that fall into a stated category, and a given ingredient may be included in more than one cluster.
-
FIG. 3 , for example, illustrates an exemplary set of clusters of ingredients. In particular,FIG. 3 depicts three distinct ingredients: bananas, quinces, and paprika. In turn, each of these ingredients is included in one or more of four potential clusters: “fruit,” “spices,” “Hungarian cuisine,” and “Jamaican cuisine.” For example, bananas are included in the clusters for both “fruit” and “Jamaican cuisine,” while quinces are included in the clusters for both “fruit” and “Hungarian cuisine.” Paprika is included in the clusters for both “spices” and “Hungarian cuisine.” - Similarly, recipes may be clustered according to various categories, such as type of dish (e.g., pasta, pizza, etc.) or type of cuisine (e.g., American, Italian, etc.). Each cluster will contain recipes that fall into a stated category, and a given recipe may be included in more than one cluster.
-
FIG. 4 , for example, illustrates an exemplary set of clusters of recipes. In particular,FIG. 4 depicts three distinct recipes: “Mario's Pizza,” “Anna's Spaghetti Bolognese (Spag Bol),” and “My Mac and Cheese.” In turn, each of these recipes is included in one or more of four potential clusters: “pizza dishes,” “pasta dishes,” “Italian cuisine,” and “American cuisine.” For example, “Mario's Pizza” is included in the clusters for both “pizza dishes” and “Italian cuisine,” while “Anna's Spag Bol” is included in the clusters for both “pasta dishes” and “Italian cuisine.” “My Mac and Cheese” is included in the clusters for both “pasta dishes” and “American cuisine.” -
FIGS. 3 and 4 depict only one embodiment of a suitable approach to organizing data. Once sufficient data has been gathered and optionally organized as illustrated inFIGS. 3 and 4 , theassessment modeling engine 200 uses the gathered data to build assessment models for specified attributes. The assessment models quantify a measure of how well a given recipe and/or menu satisfies a given attribute. Different types of data will be useful for modeling different attributes. Moreover, different modeling techniques may be implemented depending on the attributes to be modeled. Table 1, for example, presents some exemplary menu attributes, along with some of the data and modeling techniques that are considered useful for building assessment models of the stated attributes. -
TABLE 1 Data and Modeling Techniques by Attribute Menu Attribute Useful Data Modeling Techniques Novelty Recipe database; Interviews with chefs Machine learning; Probabilistic analysis Taste External datasets relating to ingredient Chemical compound pairings; Interviews with chefs and olfactory analysis Variety Recipe database; Interviews with chefs Machine learning; Probabilistic analysis Healthy External datasets relating to nutrition Statistical analysis and dietetics Satisfies kitchen Internal information on kitchen Work orchestration constraints resources, facilities, and operations and planning Satisfies dietary External datasets relating to types of Constraint satisfaction restrictions restrictions Carbon footprint Internal information on supply; Statistical analysis External datasets relating to ingredient availability Personalization to External datasets relating to ingredient Chemical compound disparate tastes pairings; Interviews with chefs and olfactory analysis Profit Internal information on marketing Statistical analysis; conditions, kitchen resources, facilities Operations research and operations, cost data, and past economic data - As an example, suppose that one wants to measure the variety of a set of recipes. In one embodiment, variety may be modeled using graph edit distance. In this case, the recipes are represented as directed acyclic graphs.
-
FIG. 5 , for example, depicts two exemplary recipes modeled as directed acyclic graphs. In each instance, the graph representation G of the recipe includes vertices V representing ingredients or steps, edges E representing relationships between the vertices, and labels L that identify the specific ingredient or step represented by each vertex. - Several graph editing operations may be defined, including one or more of the following: substituting a vertex label, deleting a vertex, inserting a vertex, deleting an edge, and inserting an edge. The graph edit distance d(G1, G2) is then defined between the labeled graphs G1 and G2 as the minimum number of edits needed to convert G1 into G2. In one embodiment, then, the variety of several graphs is defined as the variance of the pairwise edit distances among the graphs. Other measures of variety may include the standard deviation, mean, or entropy of the graphs, among other metrics.
- Alternatively, variety may be modeled using probabilistic analysis (see, e.g., Table 1). One particular probabilistic analysis technique that may be used in this case is topic modeling. In this case, the recipes are considered as documents that can be modeled as probabilistic mixtures, where the ingredients are probabilistically selected from a potential list of “topics” (i.e., combinations of ingredients). Thus, each recipe is a distribution of topics, and the distance between recipes can be measured to generate a measure of variety.
-
FIG. 6 , for example, depicts an exemplary recipe modeled as a Latent Dirichlet Allocation (LDA) topic model. In this instance, one assumes the existence of a corpus of M recipes or “documents.” Document M, illustrated inFIG. 6 , contains N words. Those words include ingredients x and topics z, where the topics are sets or combinations of ingredients. For example, an exemplary topic might include the following ingredients: lemon juice, salt, cooking spray, green onions, sour cream, canola oil, Dijon mustard, radishes, pita, and black olives. The parameters α, β, and θ represent parameters of a machine learning model and describe the kinds of topics present in thedatabase 108. - From the topic model, every recipe can be associated with a probability distribution over topics. A menu can then be evaluated for variety based on the distance between the probability distributions over topics for recipes included in the menu. Thus, the variety may be scored quantitatively as:
-
D(P T|R1 , . . . ,P T|RK ) (EQN. 1) - Where PT is the topic distribution for an associated recipe R1, . . . , RK.
- As discussed above, once the assessment models have been built, the
menu design engine 202 may design a menu. In addition to the assessment models, themenu design engine 202 obtains as input one or more ingredients, one or more flavor profiles/cuisines, and/or one or more other attributes or constraints (e.g., on dietary compliance, cost, or ingredient availability). - In one embodiment, design of a menu may start with a number S of initially selected (e.g., user-specified) ingredients, and then extend the ingredient set to include one or more new (e.g., not user-specified) ingredients. For instance, the user may allow the
system 100 to recommend further ingredients beyond the initially selected group of ingredients. In this case, additional ingredients may be recommended based on frequent pairings (i.e., where the additional ingredients are those that are observed by thesystem 100 to be most frequently paired with one or more of the initially selected ingredients) and/or on common chemical compounds (i.e., where the additional ingredients are those that are observed by the system to share the most or the least chemical compounds with the initially selected ingredients). - Once the set of ingredients has been optionally extended, the
menu design engine 202 determines a dish superset (i.e., the set of potential dishes from which the menu may be chosen). In one embodiment, determining the dish superset comprises selecting all dishes that are both: (1) typical of the selected cuisines (e.g., pasta would be typical of Italian cuisine); and (2) contain at least one of the ingredients. In one embodiment, at least one ingredient in the set of initially selected ingredients is maintained in the menu. - Additionally, each dish in the dish superset can be substituted with one or more of: (1) a canonical recipe for that dish (e.g., the most highly rated pizza recipe); (2) all of the recipes for that dish, as long as they contain at least one of the initially selected ingredients; or (3) a recipe for the dish that contains at least one of the initially selected ingredients and is generated using a computational creativity algorithm. There are a variety of computational creativity algorithms that are suitable for use in this context. Substitute recipes may be obtained from the
databases 108. The number of dishes contained in the final dish superset may be denoted as M. - Optimization is then employed to select specific dishes from the dish superset in order to generate a menu. In one embodiment, selection of specific dishes is formulated as an optimization model that optimizes a weighted linear function of scores for three attributes (e.g., novelty, taste, and variety), under constraints such as the availability of ingredients. In this optimization model, the following notation is employed:
- i ε {1, . . . , M}: Index for a dish in the superset of dishes (e.g., quiche, pie, etc.)
j ε {1, . . . , N}: Index for ingredient (e.g., chicken, saffron, etc.)
k ε {1, . . . , K}: Index for ingredient category (e.g., vegetable, meat, etc.)
s ε {1, . . . , s}: Index for initially selected ingredient
xij ε {0,1}∀i, j: Whether ingredient j is in dish i
yi ε {0,1}∀i: Whether dish i is included in the selected menu
wjk ε {0,1}∀i, j: Whether ingredient j is of category type k
Bj ε {0,1}∀j: Whether ingredient j is available
Lik: Lower bound on number of ingredients of category type k in dish i
Uik: Upper bound on number of ingredients of category type k in dish i
D: Maximum number of dishes in menu
Coj1: Number of chemical compounds shared by ingredients j and 1
d(Gn): Graph edit distance between recipes for dishes i and 1
Where xij and yi are decision variables, and wjk, Bj, Lik, and Uik are optional variables. - As discussed above, different attributes may be measured in different ways. For instance, the novelty of a menu is the sum of the novelty measures of each dish in the menu. The novelty of a dish can be computed, in one embodiment, by applying a metric such as Bayesian surprise to the ingredients of the dish. In this case, the novelty of the menu, NOV (y1, . . . , yM; x1, . . . , xN) may be computed as:
-
- Where fNOV is the novelty score for a set of ingredients.
- The taste of a menu (i.e., how “good” the taste is) can be computed by considering a known food pairing hypothesis that suggests that pairs of ingredients taste better when the component ingredients share more chemical compounds. In this case, the taste of the menu, TASTE (y1, . . . , yM; x1, . . . , xN) may be computed as:
-
- The variety of a menu can be computed by comparing the graph edit distances between pairs of recipes for dishes in the menu, or by using topic modeling, or by a combination of graph edit distance comparison and topic modeling. For instance, a graph edit distance-based measure may compute the variety of the menu, VAR (y1, . . . , yM; x1, . . . , xN), as:
-
- Where d(Gi1) is the distance between the graphs for recipes i and 1.
- The objective function is thus the weighted linear function of the measures for the attributes being balanced. In the exemplary case (i.e., where the attributes being balanced are novelty, variety, and taste), the objective function is:
-
- Such that:
-
- Once the menu has been designed (i.e., the dishes comprising the menu have been selected), the
menu planning engine 204 creates a work plan for preparing the menu. As discussed above, the work plan is a schedule of tasks for joint preparation of the recipes for all dishes constituting the menu, based on available resources and facilities. - In one embodiment, the
menu planning engine 204 takes as inputs directed acyclic graphs representing all of the recipes required to prepare the menu. Themenu planning engine 204 produces as an output the work plan, while determining if the menu can be prepared within any given time constraints. -
FIG. 7 is a diagram depicting conversion of an exemplary menu into an exemplary work plan, in which the recipes comprising the menu are represented as directed acyclic graphs. The directed acyclic graphs represent the menus as mathematical formalisms. In particular, the vertices of the graphs represent actions to be taken by different people or equipment (e.g., boil water, slice vegetables, bake potatoes, etc.). The edges connecting the vertices represent the sequences in which the actions are to be taken (e.g., the water should be boiled before the pasta is put in the water), and the edges are annotated with timing constraints that set limits on the maximum amount of time that may elapse between sequential actions (e.g., no more than eight minutes should elapse between putting the pasta in the boiling water and removing the pasta from the boiling water). Given such a graph for each recipe in the menu (illustrated on the left side ofFIG. 7 ), and a list of available resources (e.g., people and/or equipment), themenu planning engine 204 produces a plan (illustrated on the right side ofFIG. 7 ) for the individual resources to prepare the menu (and other summaries, such as the total time required). For instance, the plan may assign specific actions in the directed acyclic graphs to specific individuals who are available to prepare the menu (e.g., John will slice the vegetables).FIG. 8 , for example, depicts an exemplary detailed work plan in which tasks are scheduled on a common timeline and allocated to specific individuals or equipment for completion. -
FIG. 9 is a flow diagram illustrating thehigh level method 900 for planning a menu, according to embodiments of the present disclosure. Themethod 900 may be performed, for example, by theapplication server 106 illustrated inFIGS. 1 and 2 and described in detail above. However, it will be appreciated that themethod 900 is not limited to implementation on theapplication server 106; in alternate embodiments, themethod 900 may be performed by other devices or systems, including theendpoint devices 102 or a general purpose computing device that is configured as a special purpose computing device. - The
method 900 begins instep 902. Instep 904, theassessment modeling engine 200 gathers data from one or more sources. As discussed above, the gathered data may include one or more of the following types of data: recipes, chef expert opinions, or management interviews. Any one or more of these types of data may be obtained from one of thedatabases 108, or from an external database. - In
step 906, theassessment modeling engine 200 builds one or more models in accordance with the data gathered instep 904. As discussed above, the models are build to help assess menu attributes, such as novelty, variety, nutrition, or the like. For instance, theassessment modeling engine 200 may use one or more of the modeling techniques listed in Table 1 (above) to build models using the gathered data. - In
step 908, themenu design engine 202 obtains a plurality of inputs. As discussed above, the inputs obtained by themenu design engine 202 may include one or more of the following: one or more user-specified cuisines (e.g., Indian, holiday, etc.), one or more user-specified ingredients (e.g., chicken, eggs, etc.), one or more user-specified desired attributes (e.g., novelty, variety, etc.), or one or more user-specified constraints (e.g., no more than x calories, no gluten, etc.). In one embodiment, any one or more of the user-specified inputs may be provided using one or more of theendpoint devices 102. - In optional step 910 (illustrated in phantom), the
menu design engine 202 extends the ingredient set. As discussed above, the ingredient set may be extended by adding new ingredients that pair well in the menu (but not necessarily in the same recipe) with user-specified ingredients obtained instep 908. In one embodiment, themenu design engine 202 consults a database of recipes (e.g., one of the databases 108) for information on pairing of ingredients. Alternatively or in addition, themenu design engine 202 may evaluate taste metrics (e.g., sharing of chemical compounds) for ingredient pairs. - In
step 912, themenu design engine 202 determines a dish superset. As discussed above, the dish superset comprises a set of all potential dishes from which the menu may be selected. The dish superset may be constructed by performing standard database queries (e.g., to the databases 108) that identify all dishes in the database that correspond to user-specified cuisines and contain at least one of the ingredients in the (optionally extended) ingredient set. - In
step 914, themenu design engine 202 determines the menu in accordance with the dish superset. That is, themenu design engine 202 selects one or more of the dishes in the dish superset for inclusion in the menu. In one embodiment, dishes are selected from the dish superset in accordance with an optimization technique that finds a set of dishes that “fit together” (e.g., based on a weighted function of user-specified attributes, subject to user-specified constraints). For instance, dishes may be selected from the dish superset by considering the optimization problem detailed in EQNs. 1-5, above. - In
step 916, themenu planning engine 204 designs a work plan in accordance with the menu designed instep 914 and the available resources and facilities. That is, themenu planning engine 204 plans a detailed schedule of tasks to be performed, concurrently, by the available people and equipment in order to produce the menu within a specified period of time. As discussed above in connection withFIG. 7-8 , designing the work plan may involve representing each recipe in the menu as a directed acyclic graph and then implanting bipartite matching in the individual stages of the recipes. - In
step 918, themenu planning engine 204 outputs the work plan (e.g., to one or more of the endpoint devices 102). Themethod 900 then ends instep 920. -
FIG. 10 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein. As depicted inFIG. 10 , thesystem 1000 comprises a hardware processor element 1002 (e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor), amemory 1004, e.g., random access memory (RAM) and/or read only memory (ROM), amodule 1005 for planning a menu and/or work plan, and various input/output devices 1006 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, an input port and a user input device (such as a keyboard, a keypad, a mouse, a microphone and the like)). Although only one processor element is shown, it should be noted that the general-purpose computer may employ a plurality of processor elements. Furthermore, although only one general-purpose computer is shown in the figure, if the method(s) as discussed above is implemented in a distributed manner for a particular illustrative example, i.e., the steps of the above method(s) or the entire method(s) are implemented across multiple general-purpose computers, then the general-purpose computer of this figure is intended to represent each of those multiple general-purpose computers. - It should be noted that the present disclosure can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents, e.g., computer readable instructions pertaining to the respective systems and/or methods discussed above can be used to configure a hardware processor to perform the steps functions and/or operations of the above disclosed systems and methods. In one embodiment, instructions and data for the present module or
process 1005 for planning a menu and/or work plan (e.g., a software program comprising computer-executable instructions) can be loaded intomemory 1004 and executed byhardware processor element 1002 to implement the steps, functions or operations as discussed above in connection with theexemplary systems method 900. The processor executing the computer readable or software instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor. As such, thepresent module 1005 for planning a menu and/or work plan (including associated data structures) of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like. More specifically, the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server. In addition, it should be noted that the hardware processor can be configured or programmed to cause other devices to perform one or more operations as discussed above. In other words, the hardware processor may serve the function of a central controller directing other devices to perform the one or more operations as discussed above. - Referring to
FIG. 10 , the present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention. - The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
- While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims (20)
1. A method for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe, the method comprising:
obtaining, by a processor, a user-specified ingredient that must be included in the menu;
obtaining, by the processor, a user-specified criterion that must be satisfied by the menu;
automatically formulating, by the processor, an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion; and
automatically selecting, by the processor, the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
2. The method of claim 1 , wherein the user-specified criterion is a type of cuisine that must be included in the menu.
3. The method of claim 1 , wherein the user-specified criterion is an attribute that must be maximized in the menu.
4. The method of claim 3 , wherein the attribute is novelty of the menu.
5. The method of claim 3 , wherein the attribute is variety of the menu.
6. The method of claim 1 , wherein the plurality of potential dishes includes dishes that satisfy the user-specified criterion and contain the user-specified ingredient.
7. The method of claim 1 , wherein the optimization problem comprises a weighted linear function of scores including a score for the user-specified criterion.
8. The method of claim 7 , wherein the optimization problem additionally attempts to satisfy a constraint on the menu.
9. The method of claim 8 , wherein the constraint is user-specified.
10. The method of claim 9 , wherein the constraint relates to a nutritional requirement of the menu.
11. The method of claim 8 , wherein the constraint is an availability of a resource required to prepare the menu.
12. The method of claim 7 , wherein at least the score for the user-specified criterion is generated in accordance with an assessment model.
13. The method of claim 12 , wherein the assessment model is built using data from a plurality of recipes.
14. The method of claim 12 , wherein the assessment model is built using data from a plurality of expert opinions relating at least to the user-specified criterion.
15. The method of claim 12 , wherein the assessment model is built using data from a plurality of interviews relating at least to resource and facility availability.
16. The method of claim 1 , further comprising:
automatically designing, by the processor, a work plan, wherein the work plan specifies a schedule of tasks for preparation of the menu.
17. The method of claim 16 , wherein the work plan accounts for resources and facilities available for use in the preparation of the menu.
18. The method of claim 1 , wherein the work plan accounts for a time constraint on the preparation of the menu.
19. A device for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe, the device comprising:
a processor; and
a computer-readable medium storing instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:
obtaining a user-specified ingredient that must be included in the menu;
obtaining a user-specified criterion that must be satisfied by the menu;
automatically formulating an optimization problem that evaluates a plurality of potential dishes for inclusion in the menu by optimizing over the user-specified criterion; and
automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed based at least in part on a solution to the optimization problem, and wherein at least one dish in the plurality of dishes includes the user-specified ingredient.
20. A system for designing and planning a menu, wherein the menu comprises a plurality of dishes, and each dish in the plurality of dishes comprises a set of ingredients prepared according to a recipe, the system comprising:
a database storing recipes for a plurality of potential dishes; and
an application server for automatically selecting the plurality of dishes from among the plurality of potential dishes, wherein the automatically selecting is performed by automatically evaluating the plurality of dishes by optimizing over a user-specified criterion, wherein the plurality of dishes includes at least one dish that includes a user-specified ingredient.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/564,224 US20150161912A1 (en) | 2013-12-09 | 2014-12-09 | Analytics-based design and planning of creative menus |
US14/747,325 US20150324938A1 (en) | 2013-12-09 | 2015-06-23 | Analytics-based design and planning of creative menus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361913703P | 2013-12-09 | 2013-12-09 | |
US14/564,224 US20150161912A1 (en) | 2013-12-09 | 2014-12-09 | Analytics-based design and planning of creative menus |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/747,325 Continuation US20150324938A1 (en) | 2013-12-09 | 2015-06-23 | Analytics-based design and planning of creative menus |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150161912A1 true US20150161912A1 (en) | 2015-06-11 |
Family
ID=53270073
Family Applications (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/186,645 Expired - Fee Related US9600793B2 (en) | 2013-12-09 | 2014-02-21 | Active odor cancellation |
US14/561,869 Active 2036-10-08 US10019689B2 (en) | 2013-12-09 | 2014-12-05 | Association-based product design |
US14/565,136 Active 2036-11-30 US10936983B2 (en) | 2013-12-09 | 2014-12-09 | Optimized menu planning |
US14/564,224 Abandoned US20150161912A1 (en) | 2013-12-09 | 2014-12-09 | Analytics-based design and planning of creative menus |
US14/747,144 Active 2035-11-02 US10915846B2 (en) | 2013-12-09 | 2015-06-23 | Optimized menu planning |
US14/747,198 Active 2036-01-26 US10026050B2 (en) | 2013-12-09 | 2015-06-23 | Association-based product design |
US14/747,325 Abandoned US20150324938A1 (en) | 2013-12-09 | 2015-06-23 | Analytics-based design and planning of creative menus |
US15/354,257 Abandoned US20170067866A1 (en) | 2013-12-09 | 2016-11-17 | Active odor cancellation |
US15/976,352 Active US10127512B2 (en) | 2013-12-09 | 2018-05-10 | Association-based product design |
US15/976,350 Active US10217072B2 (en) | 2013-12-09 | 2018-05-10 | Association-based product design |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/186,645 Expired - Fee Related US9600793B2 (en) | 2013-12-09 | 2014-02-21 | Active odor cancellation |
US14/561,869 Active 2036-10-08 US10019689B2 (en) | 2013-12-09 | 2014-12-05 | Association-based product design |
US14/565,136 Active 2036-11-30 US10936983B2 (en) | 2013-12-09 | 2014-12-09 | Optimized menu planning |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/747,144 Active 2035-11-02 US10915846B2 (en) | 2013-12-09 | 2015-06-23 | Optimized menu planning |
US14/747,198 Active 2036-01-26 US10026050B2 (en) | 2013-12-09 | 2015-06-23 | Association-based product design |
US14/747,325 Abandoned US20150324938A1 (en) | 2013-12-09 | 2015-06-23 | Analytics-based design and planning of creative menus |
US15/354,257 Abandoned US20170067866A1 (en) | 2013-12-09 | 2016-11-17 | Active odor cancellation |
US15/976,352 Active US10127512B2 (en) | 2013-12-09 | 2018-05-10 | Association-based product design |
US15/976,350 Active US10217072B2 (en) | 2013-12-09 | 2018-05-10 | Association-based product design |
Country Status (2)
Country | Link |
---|---|
US (10) | US9600793B2 (en) |
WO (1) | WO2015088978A1 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483547B1 (en) * | 2014-05-30 | 2016-11-01 | Yummly, Inc. | Clustering and display of recipes |
US20170139902A1 (en) * | 2015-11-12 | 2017-05-18 | International Business Machines Corporation | Modifying Existing Recipes to Incorporate Additional or Replace Existing Ingredients |
US20180075369A1 (en) * | 2016-09-09 | 2018-03-15 | International Business Machines Corporation | Data-driven models for improving products |
US20180114284A1 (en) * | 2016-10-21 | 2018-04-26 | International Business Machines Corporation | Recipe suggestion based on customer feedback |
CN109829111A (en) * | 2019-01-30 | 2019-05-31 | 珠海优特智厨科技有限公司 | The method and apparatus that the production of user's taste label and menu are recommended |
US20190197564A1 (en) * | 2017-12-22 | 2019-06-27 | International Business Machines Corporation | Product space representation mapping |
US20190311445A1 (en) * | 2018-04-05 | 2019-10-10 | International Business Machines Corporation | Generating a personalized menu for submitting a custom order |
WO2021024829A1 (en) * | 2019-08-08 | 2021-02-11 | ソニー株式会社 | Information processing device, information processing method, cooking robot, cooking method, and cookware |
WO2021024830A1 (en) * | 2019-08-08 | 2021-02-11 | ソニー株式会社 | Information processing device, information processing method, cooking robot, cooking method, and cooking instrument |
US10949470B2 (en) * | 2019-02-13 | 2021-03-16 | International Business Machines Corporation | Topic clustering to generate formulations |
US11232259B1 (en) * | 2020-11-30 | 2022-01-25 | Kpn Innovations, Llc. | Methods and systems for personal recipe generation |
US11354607B2 (en) | 2018-07-24 | 2022-06-07 | International Business Machines Corporation | Iterative cognitive assessment of generated work products |
US11514495B2 (en) | 2019-03-19 | 2022-11-29 | International Business Machines Corporation | Creating custom objects from a static list of objects and turning the custom objects into trends |
CN115722138A (en) * | 2022-09-22 | 2023-03-03 | 青岛宝恒机械技术有限公司 | Automatic timing and quantifying control system and method for feed in breeding industry |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600793B2 (en) | 2013-12-09 | 2017-03-21 | International Business Machines Corporation | Active odor cancellation |
US10380615B2 (en) * | 2015-08-27 | 2019-08-13 | International Business Machines Corporation | Product design based on user reviews |
US10262302B2 (en) * | 2015-10-27 | 2019-04-16 | International Business Machines Corporation | Recipe selection system with bidirectional calendar interface |
US10255703B2 (en) * | 2015-12-18 | 2019-04-09 | Ebay Inc. | Original image generation system |
US10412985B2 (en) * | 2016-09-29 | 2019-09-17 | International Business Machines Corporation | Identifying components based on observed olfactory characteristics |
US10416138B2 (en) * | 2016-09-29 | 2019-09-17 | International Business Machines Corporation | Sensing and adjusting the olfactory characteristics of a sample |
US11183078B2 (en) * | 2016-10-07 | 2021-11-23 | Mixator AB | Meal preparation orchestrator |
US20180336640A1 (en) * | 2017-05-22 | 2018-11-22 | Insurance Zebra Inc. | Rate analyzer models and user interfaces |
CN107993703A (en) * | 2017-12-05 | 2018-05-04 | 傅峰峰 | A kind of vegetable based on heat provides method and a kind of computer-readable recording medium |
JP6559839B1 (en) * | 2018-05-22 | 2019-08-14 | クックパッド株式会社 | Device control system, server device, device control method, program, and recipe data structure |
US20210221388A1 (en) * | 2018-08-20 | 2021-07-22 | Nissan Motor Co., Ltd. | Vehicle management system, on-vehicle system, and vehicle management method |
US11182815B1 (en) * | 2018-08-21 | 2021-11-23 | Sarath Chandar Krishnan | Methods and apparatus for a dish rating and management system |
US11636123B2 (en) * | 2018-10-05 | 2023-04-25 | Accenture Global Solutions Limited | Density-based computation for information discovery in knowledge graphs |
US11789991B2 (en) | 2019-01-24 | 2023-10-17 | Accenture Global Solutions Limited | Compound discovery via information divergence with knowledge graphs |
US11776667B2 (en) * | 2019-09-24 | 2023-10-03 | Bryan Research & Engineering | Composition tracking of mixed species in chemical processes |
US11693868B2 (en) * | 2020-06-08 | 2023-07-04 | Apriori Technologies, Inc. | Insight generation based on retrieved PLM data |
CN111772495B (en) * | 2020-07-10 | 2022-04-15 | 宁波方太厨具有限公司 | Method and system for updating recipe cooking parameters, electronic device and storage medium |
US12050970B2 (en) * | 2020-11-03 | 2024-07-30 | Kpn Innovations, Llc. | Method and system for selecting an alimentary provider |
WO2023182197A1 (en) * | 2022-03-24 | 2023-09-28 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030225731A1 (en) * | 2002-06-03 | 2003-12-04 | Edward Vidgen | System and method for optimized dietary menu planning |
US20090234712A1 (en) * | 1999-06-28 | 2009-09-17 | Musicip Corporation | Method and apparatus for automated selection, organization, and recommendation of items based on user preference topography |
US20130224694A1 (en) * | 2011-08-26 | 2013-08-29 | Laura M. Moore | Integrated System and Method for Meal Planning and Management |
Family Cites Families (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5119307A (en) * | 1989-12-22 | 1992-06-02 | General Electric Company | Method and system for automated bill-of-material generation |
US5303846A (en) | 1990-09-17 | 1994-04-19 | Abcc/Techcorp. | Method and apparatus for generating and dispensing flavoring syrup in a post mix system |
US5311424A (en) * | 1991-06-28 | 1994-05-10 | International Business Machines Corporation | Method and system for product configuration definition and tracking |
US5630070A (en) * | 1993-08-16 | 1997-05-13 | International Business Machines Corporation | Optimization of manufacturing resource planning |
US5670475A (en) | 1994-08-12 | 1997-09-23 | The Procter & Gamble Company | Composition for reducing malodor impression of inanimate surfaces |
US5663134A (en) * | 1994-08-12 | 1997-09-02 | The Procter & Gamble Company | Composition for reducing malodor impression on inanimate surfaces |
US6216109B1 (en) * | 1994-10-11 | 2001-04-10 | Peoplesoft, Inc. | Iterative repair optimization with particular application to scheduling for integrated capacity and inventory planning |
US5960414A (en) * | 1997-11-25 | 1999-09-28 | Hewlett-Packard Company | Method for monitoring excess inventory |
US6003012A (en) * | 1997-12-05 | 1999-12-14 | Square D Company | Methodology and computer-based tools for design, production and sales of customized switchboards |
US6009406A (en) * | 1997-12-05 | 1999-12-28 | Square D Company | Methodology and computer-based tools for re-engineering a custom-engineered product line |
US6278978B1 (en) * | 1998-04-07 | 2001-08-21 | Blue Pumpkin Software, Inc. | Agent scheduling system and method having improved post-processing step |
US6253187B1 (en) * | 1998-08-31 | 2001-06-26 | Maxagrid International, Inc. | Integrated inventory management system |
US7209869B1 (en) * | 1998-09-01 | 2007-04-24 | Daimlerchrysler Ag | Method and system for resource requirement planning and generating a production schedule using a uniform data model |
US7122152B2 (en) | 1999-05-10 | 2006-10-17 | University Of Florida | Spatiotemporal and geometric optimization of sensor arrays for detecting analytes fluids |
US6850809B1 (en) * | 1999-05-28 | 2005-02-01 | Oracle International Corporation | Methods, devices and systems for splitting an integrated manufacturing and distribution plan for use by separate manufacturing and distribution execution systems |
FR2798757B1 (en) | 1999-09-17 | 2002-07-05 | Moulinex Sa | CULINARY PREPARATION ASSISTANCE DEVICE |
AU2001261127A1 (en) * | 2000-05-02 | 2001-11-12 | Assettrade | Internet-based systems and methods for reallocating and selling used industrial equipment and machinery |
US20020065764A1 (en) * | 2000-05-05 | 2002-05-30 | Brodersen Andrew N. | Marketing and purchasing components and services |
US7117163B1 (en) * | 2000-06-15 | 2006-10-03 | I2 Technologies Us, Inc. | Product substitution search method |
US20020046060A1 (en) | 2000-08-04 | 2002-04-18 | Fitness Venture Group | System and method for generating a meal plan |
US6733703B2 (en) * | 2000-09-26 | 2004-05-11 | Romain L. Billiet | Method for controlling the dimensions of bodies made from sinterable materials |
US7210624B1 (en) * | 2000-10-26 | 2007-05-01 | I2 Technologies Us, Inc. | Redistribution of parts in a distribution network |
JP2002183547A (en) * | 2000-12-11 | 2002-06-28 | Hitachi Ltd | Transaction method for reused parts |
US20020099589A1 (en) * | 2001-01-23 | 2002-07-25 | Rice Bronwyn C. | Method for providing home-cooked ethnic dishes by native-trained chefs through a chef agency |
US7058587B1 (en) * | 2001-01-29 | 2006-06-06 | Manugistics, Inc. | System and method for allocating the supply of critical material components and manufacturing capacity |
US7577577B2 (en) * | 2001-01-31 | 2009-08-18 | Dell Products L.P. | Pull to customer order demand fulfillment system and method |
CA2438552A1 (en) * | 2001-02-16 | 2002-09-12 | Gary F. Falkenstein | Method, system, and software for inventory management |
US20020138316A1 (en) * | 2001-03-23 | 2002-09-26 | Katz Steven Bruce | Value chain intelligence system and methods |
EP1244060A3 (en) | 2001-03-23 | 2004-10-27 | Honda Giken Kogyo Kabushiki Kaisha | Computer-aided product design system |
EP1389047B1 (en) | 2001-04-30 | 2009-07-08 | Pepsi/Lipton Tea Partnership | Method for delivering fresh flavor in an on-premise beverage |
US6574717B1 (en) * | 2001-05-31 | 2003-06-03 | Oracle Corporation | Techniques for time-based retention of a reusable resource |
US7085728B2 (en) * | 2001-07-31 | 2006-08-01 | Iex Corporation | Method for forecasting and managing multimedia contracts |
CA2364121A1 (en) * | 2001-11-30 | 2003-05-30 | Ibm Canada Limited-Ibm Canada Limitee | Allocating inventory based on allocation priorities |
US6826568B2 (en) * | 2001-12-20 | 2004-11-30 | Microsoft Corporation | Methods and system for model matching |
US6681990B2 (en) * | 2002-05-31 | 2004-01-27 | Sap Aktiengesellschaft | Item tracking systems and real-time inventory management |
US6843415B2 (en) * | 2002-01-11 | 2005-01-18 | Sap Atkiengesellschaft | Event-based communication in a distributed item tracking system |
JP3618720B2 (en) * | 2002-02-20 | 2005-02-09 | イーマニファクチャリング株式会社 | Management method based on flow management in supply chain product management |
US7567917B2 (en) | 2002-03-14 | 2009-07-28 | Kenneth Miller | Product design methodology |
US7664683B2 (en) * | 2002-04-08 | 2010-02-16 | Oracle International Corporation | Computer implemented system for determining a distribution policy for a single period inventory system, optimization application therefor, and method therefor, and decision support tool for facilitating user determination of a distribution policy for a single period inventory system |
US8190370B2 (en) * | 2002-04-15 | 2012-05-29 | Sap Aktiengesellschaft | Change management of process flow descriptions |
US7231361B2 (en) * | 2002-04-29 | 2007-06-12 | International Business Machines Corporation | Method, system, and storage medium for utilizing excess and surplus inventory |
US7373371B2 (en) * | 2002-08-01 | 2008-05-13 | International Business Machines Corporation | Method, system, and storage medium for facilitating excess inventory utilization in a manufacturing environment |
US6845909B2 (en) * | 2002-10-31 | 2005-01-25 | United Parcel Service Of America, Inc. | Systems and methods of inventory management utilizing unattended facilities |
US6866195B2 (en) * | 2002-10-31 | 2005-03-15 | United Parcel Service Of America, Inc. | Systems and methods of inventory management utilizing unattended facilities |
US20040122689A1 (en) * | 2002-12-20 | 2004-06-24 | Dailey Roger S. | Method and apparatus for tracking a part |
JP2004210460A (en) * | 2002-12-27 | 2004-07-29 | Honda Motor Co Ltd | Delivery management system and delivery management method |
US7222634B2 (en) | 2003-01-17 | 2007-05-29 | Daniel G. Hess | Scent elimination system for hunters |
WO2005010675A2 (en) * | 2003-07-15 | 2005-02-03 | Profitlogic, Inc. | Methods and apparatus for inventory allocation and pricing |
US20050048186A1 (en) | 2003-08-27 | 2005-03-03 | Unilever Bestfoods North America Usa | Infusion system for enhanced flavor beverages |
US20070111251A1 (en) | 2003-09-02 | 2007-05-17 | Rosania Gustavo R | Chemical address tags |
US7647255B2 (en) * | 2004-01-23 | 2010-01-12 | United Technologies Corporation | Rotable inventory calculation method |
US20050278271A1 (en) * | 2004-05-14 | 2005-12-15 | Anthony James T | System and method for determining a product configuration |
US7043321B2 (en) * | 2004-05-27 | 2006-05-09 | Palo Alto Research Center Incorporated | Exception handling in manufacturing systems combining on-line planning and predetermined rules |
US7778857B2 (en) * | 2004-07-20 | 2010-08-17 | Sap Aktiengesellschaft | System and method for service parts planning in a multi-echelon network |
US20060053122A1 (en) * | 2004-09-09 | 2006-03-09 | Korn Philip R | Method for matching XML twigs using index structures and relational query processors |
US20060111874A1 (en) * | 2004-09-30 | 2006-05-25 | Blazant, Inx. | Method and system for filtering, organizing and presenting selected information technology information as a function of business dimensions |
US7636727B2 (en) * | 2004-12-06 | 2009-12-22 | Skyler Technology, Inc. | Enumeration of trees from finite number of nodes |
US8615530B1 (en) * | 2005-01-31 | 2013-12-24 | Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust | Method and/or system for tree transformation |
US20060206225A1 (en) * | 2005-03-11 | 2006-09-14 | Wright Anthony P | Automatic data configuration strategy, such as for storing and manipulating product manufacturing data |
US20060235555A1 (en) * | 2005-03-11 | 2006-10-19 | Seong Brian H | File configuration strategy, such as for storing and manipulating parts and product definitions used in product manufacturing |
US20070100881A1 (en) * | 2005-10-24 | 2007-05-03 | International Business Machines Corporation | Method, system and storage medium for identifying and allocating surplus inventory |
US20070185786A1 (en) * | 2006-02-06 | 2007-08-09 | International Business Machines Corporation | Systems and methods for inventory allocation in mobile logistics networks |
US8924269B2 (en) * | 2006-05-13 | 2014-12-30 | Sap Ag | Consistent set of interfaces derived from a business object model |
US20070282618A1 (en) * | 2006-05-31 | 2007-12-06 | International Business Machines Corporation | Method and system for scheduling delivery of at least one of goods and services |
SG139587A1 (en) | 2006-07-28 | 2008-02-29 | Givaudan Sa | Method of using organic compounds |
DE102007007627A1 (en) | 2006-09-15 | 2008-03-27 | Rwth Aachen | Method for embedding steganographic information into signal information of signal encoder, involves providing data information, particularly voice information, selecting steganographic information, and generating code word |
US7755494B2 (en) | 2007-06-08 | 2010-07-13 | University Of Florida Research Foundation, Inc. | Hand washing compliance detection system |
US7788070B2 (en) | 2007-07-30 | 2010-08-31 | Caterpillar Inc. | Product design optimization method and system |
US20090037288A1 (en) * | 2007-08-03 | 2009-02-05 | Christensen Michael J | Recipe management and execution systems and methods |
US20090164285A1 (en) * | 2007-12-20 | 2009-06-25 | International Business Machines Corporation | Auto-cascading clear to build engine for multiple enterprise order level parts management |
US20100248390A1 (en) | 2009-03-02 | 2010-09-30 | Duke University | Compositions and methods for identifying ligands of odorant receptors |
US8200548B2 (en) * | 2009-08-31 | 2012-06-12 | Peter Wiedl | Recipe engine system and method |
US20120136864A1 (en) * | 2010-11-30 | 2012-05-31 | Robert Thomas Ochtel | Aggregation of Recipe Information, Meal Planning and Preparation |
US8655476B2 (en) * | 2011-03-09 | 2014-02-18 | GM Global Technology Operations LLC | Systems and methods for computationally developing manufacturable and durable cast components |
US9165320B1 (en) * | 2011-06-10 | 2015-10-20 | Amazon Technologies, Inc. | Automatic item selection and ordering based on recipe |
WO2013035070A1 (en) * | 2011-09-07 | 2013-03-14 | Yeda Research And Development Co. Ltd. | Olfactory signature and odorant mixture having the same |
JP5988056B2 (en) * | 2011-11-18 | 2016-09-07 | パナソニックIpマネジメント株式会社 | Recipe presentation system and recipe presentation method |
US20130149679A1 (en) * | 2011-12-12 | 2013-06-13 | Yukie J. Tokuda | System and methods for virtual cooking with recipe optimization |
DE202012013642U1 (en) * | 2011-12-16 | 2018-11-13 | Illinois Tool Works Inc. | Tagging assets for content distribution in an enterprise management system |
WO2014002512A1 (en) * | 2012-06-27 | 2014-01-03 | 楽天株式会社 | Information processing device, information processing method, and information processing program |
US9536237B2 (en) * | 2012-11-28 | 2017-01-03 | Wal-Mart Stores, Inc. | Recipe suggestion apparatus and method |
US20140188566A1 (en) | 2012-12-27 | 2014-07-03 | International Business Machines Corporation | Automated generation of new work products and work plans |
WO2014143729A1 (en) * | 2013-03-15 | 2014-09-18 | Affinnova, Inc. | Method and apparatus for interactive evolutionary optimization of concepts |
US9417221B2 (en) | 2013-08-27 | 2016-08-16 | International Business Machines Corporation | Food steganography |
US9600793B2 (en) | 2013-12-09 | 2017-03-21 | International Business Machines Corporation | Active odor cancellation |
-
2014
- 2014-02-21 US US14/186,645 patent/US9600793B2/en not_active Expired - Fee Related
- 2014-12-05 US US14/561,869 patent/US10019689B2/en active Active
- 2014-12-08 WO PCT/US2014/069108 patent/WO2015088978A1/en active Application Filing
- 2014-12-09 US US14/565,136 patent/US10936983B2/en active Active
- 2014-12-09 US US14/564,224 patent/US20150161912A1/en not_active Abandoned
-
2015
- 2015-06-23 US US14/747,144 patent/US10915846B2/en active Active
- 2015-06-23 US US14/747,198 patent/US10026050B2/en active Active
- 2015-06-23 US US14/747,325 patent/US20150324938A1/en not_active Abandoned
-
2016
- 2016-11-17 US US15/354,257 patent/US20170067866A1/en not_active Abandoned
-
2018
- 2018-05-10 US US15/976,352 patent/US10127512B2/en active Active
- 2018-05-10 US US15/976,350 patent/US10217072B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090234712A1 (en) * | 1999-06-28 | 2009-09-17 | Musicip Corporation | Method and apparatus for automated selection, organization, and recommendation of items based on user preference topography |
US20030225731A1 (en) * | 2002-06-03 | 2003-12-04 | Edward Vidgen | System and method for optimized dietary menu planning |
US20130224694A1 (en) * | 2011-08-26 | 2013-08-29 | Laura M. Moore | Integrated System and Method for Meal Planning and Management |
Non-Patent Citations (1)
Title |
---|
Vaidehi Venkatesan, "Cuisines as Complex Networks", 10/13/2011, Graduate School of the University of Cincinnati, pages. 1 - 135 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483547B1 (en) * | 2014-05-30 | 2016-11-01 | Yummly, Inc. | Clustering and display of recipes |
US20170139902A1 (en) * | 2015-11-12 | 2017-05-18 | International Business Machines Corporation | Modifying Existing Recipes to Incorporate Additional or Replace Existing Ingredients |
US9870550B2 (en) * | 2015-11-12 | 2018-01-16 | International Business Machines Corporation | Modifying existing recipes to incorporate additional or replace existing ingredients |
US10817799B2 (en) * | 2016-09-09 | 2020-10-27 | International Business Machines Corporation | Data-driven models for improving products |
US20180075369A1 (en) * | 2016-09-09 | 2018-03-15 | International Business Machines Corporation | Data-driven models for improving products |
US20180114284A1 (en) * | 2016-10-21 | 2018-04-26 | International Business Machines Corporation | Recipe suggestion based on customer feedback |
US20190197564A1 (en) * | 2017-12-22 | 2019-06-27 | International Business Machines Corporation | Product space representation mapping |
US20190311445A1 (en) * | 2018-04-05 | 2019-10-10 | International Business Machines Corporation | Generating a personalized menu for submitting a custom order |
US11393052B2 (en) * | 2018-04-05 | 2022-07-19 | International Business Machines Corporation | Generating a personalized menu for submitting a custom order |
US11354607B2 (en) | 2018-07-24 | 2022-06-07 | International Business Machines Corporation | Iterative cognitive assessment of generated work products |
CN109829111A (en) * | 2019-01-30 | 2019-05-31 | 珠海优特智厨科技有限公司 | The method and apparatus that the production of user's taste label and menu are recommended |
US10949470B2 (en) * | 2019-02-13 | 2021-03-16 | International Business Machines Corporation | Topic clustering to generate formulations |
US11514495B2 (en) | 2019-03-19 | 2022-11-29 | International Business Machines Corporation | Creating custom objects from a static list of objects and turning the custom objects into trends |
WO2021024829A1 (en) * | 2019-08-08 | 2021-02-11 | ソニー株式会社 | Information processing device, information processing method, cooking robot, cooking method, and cookware |
WO2021024830A1 (en) * | 2019-08-08 | 2021-02-11 | ソニー株式会社 | Information processing device, information processing method, cooking robot, cooking method, and cooking instrument |
US11232259B1 (en) * | 2020-11-30 | 2022-01-25 | Kpn Innovations, Llc. | Methods and systems for personal recipe generation |
CN115722138A (en) * | 2022-09-22 | 2023-03-03 | 青岛宝恒机械技术有限公司 | Automatic timing and quantifying control system and method for feed in breeding industry |
Also Published As
Publication number | Publication date |
---|---|
US20150324711A1 (en) | 2015-11-12 |
US10915846B2 (en) | 2021-02-09 |
US10019689B2 (en) | 2018-07-10 |
US20150161531A1 (en) | 2015-06-11 |
US20150161748A1 (en) | 2015-06-11 |
WO2015088978A1 (en) | 2015-06-18 |
US20180260751A1 (en) | 2018-09-13 |
US20180260750A1 (en) | 2018-09-13 |
US20170067866A1 (en) | 2017-03-09 |
US20150157752A1 (en) | 2015-06-11 |
US20150324938A1 (en) | 2015-11-12 |
US9600793B2 (en) | 2017-03-21 |
US10026050B2 (en) | 2018-07-17 |
US10217072B2 (en) | 2019-02-26 |
US10936983B2 (en) | 2021-03-02 |
US20150371164A1 (en) | 2015-12-24 |
US10127512B2 (en) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150324938A1 (en) | Analytics-based design and planning of creative menus | |
US20190050477A1 (en) | Iterative image search algorithm informed by continuous human-machine input feedback | |
US9286589B2 (en) | Method and system for customizing a project | |
US9639805B1 (en) | Inferring temporal attributes of a recipe | |
Gibson et al. | Make good choices, kid: biopolitics of children's bodies and school lunch reform in Jamie Oliver's Food Revolution | |
Halkier et al. | Doing ‘healthier’food in everyday life? A qualitative study of how Pakistani Danes handle nutritional communication | |
Varshney et al. | A big data approach to computational creativity: The curious case of Chef Watson | |
US20150058065A1 (en) | Generating work plans using substitute constituents | |
AU2017232140A1 (en) | System and method for providing flavor advisement and enhancement | |
US20180033074A1 (en) | System, method, and recording medium for recipe and shopping list recommendation | |
Blanchet et al. | Dietary acculturation among black immigrant families living in Ottawa—a qualitative study | |
Cross et al. | The impact of diversity on institutional longevity | |
Said et al. | You are What You Eat! Tracking Health Through Recipe Interactions. | |
CN109377416A (en) | Generation method, device and the equipment of menu information | |
Hoolohan et al. | COVID-19 and socio-materially bounded experimentation in food practices: insights from seven countries | |
Jabeen et al. | EvoChef: show me what to cook! Artificial evolution of culinary arts | |
US20210150543A1 (en) | Taste profile system | |
Noever et al. | The multimodal and modular ai chef: Complex recipe generation from imagery | |
Kocaman et al. | Exploring users interested in 3D food printing and their attitudes: case of the employees of a kitchen appliance company | |
de Morais Sato et al. | Eating practices among low‐income overweight/obese Brazilian mothers: A Bourdieusian approach | |
US9766618B2 (en) | Generating work product plans specifying proportions of constituents to be used in forming a work product | |
US20220012800A1 (en) | System and method for ordering food | |
Kulturel-Konak et al. | Menu engineering for continuing care senior living facilities with captive dining patrons | |
Değerli et al. | Cooking with ChatGPT and Bard: A Study on Competencies of AI Tools on Recipe Correction, Adaption, Time Management and Presentation | |
Zitouni et al. | Personalized Menu: a New Contextual Collaborative Recommender System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BHATTACHARJYA, DEBARUN;PINEL, FLORIAN;VARSHNEY, LAV R.;SIGNING DATES FROM 20150113 TO 20150119;REEL/FRAME:035036/0636 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |