Systems and methods for dynamically generating personalized beverage recipes
The integration of AI and ML models with beverage dispensing systems generates personalized recipes based on user feedback, addressing the lack of interaction in conventional systems and improving consumer engagement and product success.
Patent Information
- Application Number
- PCT/US2025/035696
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-28
- Filing Date
- 2025-06-27
- Publication Date
- 2026-01-02
AI Technical Summary
Conventional beverage dispensers lack personalized and interactive experiences, limiting consumer engagement and failing to adapt to evolving consumer preferences, with lengthy development cycles and high failure rates in new product launches.
A computer-implemented method using AI and ML models integrates with beverage dispensing systems to generate personalized recipes based on user inputs, incorporating real-time feedback and ingredient variables, and a cloud-based data center for continuous refinement.
Enhances consumer satisfaction by providing highly personalized beverage experiences, reducing development time and costs, and fostering deeper consumer connections with beverage companies.
Smart Images

Figure US2025035696_02012026_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR DYNAMICALLY GENERATING PERSONALIZED BEVERAGE RECIPESCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 665,646, filed June 28, 2024, which is hereby incorporated by reference in entirety for all purposes.FIELD OF THE INVENTION
[0002] This disclosure relates to personalized and interactive beverage experiences. More specifically, this disclosure relates to dynamically generating personalized beverage recipes.BACKGROUND
[0003] Conventional beverage dispensers can pour a beverage by combining a syrup, sweetener, and / or water. These conventional beverage dispensers generally offer a finite variety of beverage selections that incorporate different kinds of syrups. As an example, a single conventional dispenser using several different kinds of syrup might be able to offer choices of COCA-COLA™, DIET COCA-COLA™, SPRITE™, and a few other branded or non-branded beverage selections.
[0004] However, the lack of personalized and interactive beverage experiences for consumers still needs to be addressed. Consumer engagement can be significantly improved through beverage customization instead of a finite variety of beverage selections. For example, the “COCA-COLA FREESTYLE®” refrigerated beverage dispensing systems offered by The Coca- Cola Company of Atlanta, Georgia, provide a wide range of beverage options that may be offered by a beverage dispenser with a conventional size or footprint.
[0005] There is a need in this technical space to further improve personalized and interactive beverage experiences for consumers by offering more individualized beverage recipes.SUMMARY OF THE INVENTION
[0006] One aspect of the present disclosure relates to a method. The method includes: receiving user inputs comprising at least one beverage preference parameter of a user; receiving, by a beverage recipe generator of a server, available ingredient information of a beverage dispensing system; and obtaining, by the beverage recipe generator, a beverage recipe starter collection corresponding to the at least one beverage preference parameter of the user. The beverage recipe starter collection includes a plurality of beverage recipe starters, wherein the beverage recipe starter collection is one of a plurality of beverage recipe starter collections. The method also includes: selecting, by the beverage recipe generator, a first beverage recipe starter from the plurality of beverage recipe starters based on the available ingredient information; and generating, by the beverage recipe generator, a personalized beverage recipe based on the first beverage recipe starter; providing, by the beverage recipe generator, the personalized beverage recipe to the beverage dispensing system, wherein the personalized beverage recipe specifies how the beverage dispensing system produces a beverage based on the personalized beverage recipe. The method also includes: saving in a database, by the server, a new data point comprising the personalized beverage recipe and user feedback received from the user regarding the personalized beverage recipe.
[0007] Implementations may include one or more of the following features. In some implementations, the at least one beverage preference parameter of the user comprises at least one response, by the user, to at least one prompt generated by a user equipment. In some implementations, each of the plurality of beverage recipe starters in the beverage recipe starter collection comprises a plurality of ingredients and a plurality of percentages, each of the plurality of percentages corresponding to one of the plurality of ingredients. In some implementations, the beverage recipe starter collection comprises a permitted percentage range for each of the plurality of ingredients. In some implementations, the beverage recipe starter collection is one of a plurality of beverage recipe starter collections and each beverage recipe starter collection is associated with a different combination of beverage preference parameters.
[0008] In some implementations, generating the personalized beverage recipe based on the first beverage recipe starter comprises: obtaining the first beverage recipe starter; generating a plurality of randomized deviations corresponding to the plurality of percentages; and adding the plurality of randomized deviations to the plurality of percentages, respectively, to generate the personalized beverage recipe. In some implementations, generating the plurality of randomized deviations comprises generating the plurality of randomized deviations so that a sum of each randomized deviation and percentage is within the permitted percentage range for each respective ingredient.
[0009] In some implementations, the first beverage recipe starter is randomly selected from beverage recipe starters of the beverage recipe starter collection that require only ingredients indicated as available in the beverage dispensing system in the available ingredient information.
[0010] In some implementations, the user feedback received from the user regarding the personalized beverage recipe comprises at least one rating parameter received from the user. In some implementations, the at least one rating parameter is generated by the user using a user equipment in communication with the beverage dispensing system. In some implementations, the available ingredient information prioritizes inclusion of a selected ingredient, and the first beverage recipe starter requires the selected ingredient.
[0011] In some implementations, a system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.
[0012] Another aspect of the present disclosure relates to a system. The system includes a server in communication with a beverage dispensing system configured to produce a beverage. The server includes a beverage recipe generator, a database, a memory device, and a processing device. When instructions stored in the memory device are executed, the processing device controls the server to: receive user inputs comprising at least one beverage preference parameter of a user; receive, by the beverage recipe generator, available ingredient information of a beverage dispensing system; obtain, by the beverage recipe generator, a beverage recipe startercollection corresponding to the at least one beverage preference parameter of the user, the beverage recipe starter collection comprising a plurality of beverage recipe starters, wherein the beverage recipe starter collection is one of a plurality of beverage recipe starter collections; select, by the beverage recipe generator, a first beverage recipe starter from the plurality of beverage recipe starters based on the available ingredient information; generate, by the beverage recipe generator, a personalized beverage recipe based on the first beverage recipe starter; provide, by the beverage recipe generator, the personalized beverage recipe to the beverage dispensing system, wherein the personalized beverage recipe specifies how the beverage dispensing system produces a beverage based on the personalized beverage recipe; and save in the database a new data point comprising the personalized beverage recipe and user feedback received from the user regarding the personalized beverage recipe.
[0013] Implementations may include one or more of the following features. In some implementations, the at least one beverage preference parameter of the user comprises at least one response, by the user, to at least one prompt generated by a user equipment in communication with the beverage dispensing system. In some implementations, each of the plurality of beverage recipe starters in the beverage recipe starter collection comprises a plurality of ingredients and a plurality of percentages, each of the plurality of percentages corresponding to one of the plurality of ingredients. In some implementations, the beverage recipe starter collection comprises a permitted percentage range for each of the plurality of ingredients.
[0014] In some implementations, when the instructions stored in the memory device are executed, the processing device controls the server to: obtain the first beverage recipe starter; generate a plurality of randomized deviations corresponding to the plurality of percentages; and add the plurality of randomized deviations to the plurality of percentages, respectively, to generate the personalized beverage recipe.
[0015] In some implementations, the plurality of randomized deviations are generated in compliance with the permitted percentage range for each of the plurality of ingredients. In some implementations, the system further includes the beverage dispensing system in communication with the server.
[0016] In some implementations, the first beverage recipe starter is randomly selected from the plurality of beverage recipe starters based on the available ingredient information.
[0017] In some implementations, the user feedback received from the user regarding the personalized beverage recipe comprises at least one rating parameter received from the user.BRIEF DESCRIPTION OF THE DRAWINGS
[0018] A more complete understanding of the method and apparatus of the present disclosure may be obtained by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings.
[0019] FIG. l is a diagram illustrating an example system for providing personalized beverage experience in accordance with some implementations of the present disclosure.
[0020] FIG. 2 is a diagram illustrating an example of how a beverage experience application handles beverage preference parameters from users in accordance with some implementations of the present disclosure.
[0021] FIG. 3A is a diagram illustrating an example of one beverage recipe starter collection 178 in accordance with some implementations of the present disclosure.
[0022] FIG. 3B is a diagram illustrating an example of the beverage recipe starter collection shown in FIG. 3A after considering available ingredient information in accordance with some implementations of the present disclosure.
[0023] FIG. 3C is a diagram illustrating another example of the beverage recipe starter collection 178 in accordance with some implementations of the present disclosure.
[0024] FIG. 4A is a diagram illustrating an example of a personalized beverage recipe in accordance with some implementations of the present disclosure.
[0025] FIG. 4B is a diagram illustrating an example of a user feedback corresponding to the personalized beverage recipe shown in FIG. 4A in accordance with some implementations of the present disclosure.
[0026] FIG. 5A is a diagram illustrating an example of a personalized beverage recipe in accordance with some implementations of the present disclosure.
[0027] FIG. 5B is a diagram illustrating an example of a user feedback corresponding to the personalized beverage recipe shown in FIG. 5A in accordance with some implementations of the present disclosure.
[0028] FIG. 6 is a diagram illustrating an example operation of the system shown in FIG. 1 in accordance with some implementations of the present disclosure.
[0029] FIG. 7 is a flowchart diagram illustrating an example method in accordance with some implementations of the present disclosure.DETAILED DESCRIPTION
[0030] The ensuing description provides exemplary implementations only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary implementations will provide those skilled in the art with an enabling description for implementing an exemplary implementation. It is understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope as set forth in the appended claims.
[0031] Conventional methods of crafting novel beverage recipes are often a lengthy and complex process that don’t always accommodate constantly evolving consumer preferences. The development cycle is long, and the associated cost is often hefty. In addition, the failure rates of new product launches that do not incorporate direct consumer feedback are relatively high.
[0032] Beverage customization, which has been on the rise in recent years, has become one solution to these problems. To some extent, beverage customization is one of several differentiating factors for the business success of a beverage company. Beverage customization becomes more critical as consumers constantly seek better experiences. Although beverage customization has been recognized in the beverage industry, there has not been a robust and interactive solution that can increase the success rates of new product launches, reduce the development cycle time, and reduce the associated cost.
[0033] In accordance with implementations of the present disclosure, a unique beverage customization system may use a computer-implemented method in connection with a state-of-art beverage dispenser (e.g., the “COCA-COLA FREESTYLE®” refrigerated beverage dispensing systems). The method may use different types of technologies, including software algorithms, machine learning (ML) models, or artificial intelligence (Al) models. The system offers a realtime response to consumer inputs and crafts customized beverages by considering individual consumer preferences and ingredient variables from the beverage dispensers. The beverage customization system can provide invaluable feedback to a cloud-based data center. In some implementations, the beverage customization system can allow for real-world training of an Al model, thereby improving its capability to produce innovative beverage recipes (i.e., constituent ingredients and the ratios of these constituent ingredients). The beverage customization system differentiates itself, both structurally and functionally, from previous techniques by integrating advanced processing with real-time data processing and customization capabilities. Unlike conventional techniques, which often involve a standard set of recipes or limited variations based on predefined flavor mixtures, the beverage customization system disclosed herein offers highly personalized consumer experiences.
[0034] Specifically, the beverage customization system disclosed herein has at least the following structural and functional characteristics. The techniques may be seamlessly integrated with existing beverage dispensing systems (e.g., the “COCA-COLA FREESTYLE®” refrigerated beverage dispensing systems) and may be easily adapted to be compatible with future beverage dispensing systems. The techniques disclosed allow for cloud-based data center connectivity. The cloud-based data center not only gathers user feedback on personalized beverage recipes but may also use the feedback to continuously refine the process for generating customized beverages. In addition, providing a beverage experience application or access to a webpage on user equipment (e.g., a mobile phone) allows for direct interactions with the beverage dispensing system and the server. By analyzing user preferences and generating novel personalized beverage recipes, the system offers a level of personalization that was previously unattainable by the existing beverage dispensing systems. Moreover, user feedback is received and may be incorporated instantly and dynamically using a real-time feedback loop, thereby facilitating a dynamic process that can adapt and evolve to meet consumer trends quickly.
[0035] Numerous benefits are achieved by way of the present disclosure over conventional techniques. For example, the beverage customization system and the method for operating the beverage customization system have the potential to revolutionize the way customers, bottlers, and consumers interact with a beverage company. Enabling consumers to create their own specialty beverages through the beverage customization system can foster a deeper connection between a beverage company and consumers and boost consumer satisfaction. Moreover, the techniques disclosed herein provide a way to provide customized products or compositions based on user-specified characteristics and qualities, available components and materials, and the capabilities of the processing facility. For example, a user may prefer specific characteristics or qualities of a product or composition, e.g. appearance, function. The techniques described herein may be used to select components and / or materials needed to prepare the product and to provide instructions or otherwise control the equipment needed to produce the product to achieve the specified characteristics, resulting in a more efficient production process. These and other implementations of the disclosure, along with many advantages and features, are described in more detail in conjunction with the text below and associated figures.
[0036] FIG. 1 is a diagram illustrating an example system 100 for providing personalized beverage experience in accordance with some implementations of the present disclosure. FIG. 6 is a diagram illustrating an example operation of the system 100 shown in FIG. 1 in accordance with some implementations of the present disclosure. At a high level, as shown in FIGS. 1 and 6, a user equipment 110 associated with a user 102, a beverage dispensing system 130, and a server 160 are in communication with each other through a network 195. The user 102 interacts with the user equipment 110 to provide some beverage flavor preferences for personalizing a beverage to be produced by the beverage dispensing system 130. The server 160 receives these beverage flavor preferences from the user 102 in conjunction with other information, which will be discussed in greater detail below, thereby enabling the server 160 to generate a personalized beverage recipe. After receiving the personalized beverage recipe, the beverage dispensing system 130 produces a beverage based on the personalized beverage recipe for the user 102. After tasting the beverage, the user 102 may provide, using the user equipment 110, some user feedback on the personalized beverage. The server 160 stores the combination of the user feedback and the corresponding personalized beverage recipe, as a new data point, and may utilize the new data point to further improve the generation of personalized beverage recipes. Assuch, a feedback loop is formed and utilized to accumulate more data points, thereby allowing for constantly improving beverage experience of numerous users. In some implementations, the accumulated data points may be used for updating or modifying the process used to generate the personalized beverage recipe.
[0037] The interaction 104 between the user 102 and the user equipment 110 may include the beverage flavor preferences entered by the user 102 and received by the user equipment 110. The interaction 104 may also include information (e.g., introduction to the beverage dispensing system 130, guidance on using the beverage experience application 118, and the like) presented, for example, on a touchscreen of the user equipment 110, by the user equipment 110 to the user 102. In other words, the interaction 104 is bidirectional.
[0038] In the example shown in FIG. 1, the user equipment 110 includes, among other components, a processing device 112, a memory device 114, a communication device 116, and a beverage experience application 118. The user equipment 110 is in communication with the network 195 via a communication path 197, which enables both uplink communication and downlink communication.
[0039] The processing device 112 provides the computing power needed by the user equipment 110. In one example, the processing device 112 includes one or more central processing units (CPUs). In other implementations, the processing device 112 further includes one or more graphics processing units (GPUs), one or more digital signal processors, field- programmable gate arrays, or other electronic circuits.
[0040] The memory device 114 operates to store various types of data and computerexecutable instructions. The memory device 114 may include one or more of the following: volatile (e.g., random access memory (RAM)) memory, non-volatile (e.g., read-only memory (ROM)) memory, flash memory, or any combination thereof. In some implementations, the memory device 114 may store an operating system and various applications.
[0041] The communication device 116 operates to communicate with other components of the system 100 over the networks, such as the network 195 shown in FIG. 1. Examples of the communication device 116 include one or more wired network interfaces and wireless network interfaces. Examples of such wireless network interfaces of the communication device 116include wireless wide area network (WWAN) interfaces (including cellular networks) and wireless local area network (WLAN) interfaces. In other examples, other types of wireless interfaces can be used for the communication device 116.
[0042] In some implementations, the beverage experience application 118 is a web application (sometimes also referred to as a “web app”), which is accessible using a web browser. In other words, the user 102 does not need to download and install the beverage experience application 118 on the user equipment 110. The beverage experience application 118 runs on a remote server (e.g., the server 160, which will be described in greater detail below), and the user 102 uses a browser to access the beverage experience application 118 through the network 195 shown in FIG. 1. In some examples, the beverage experience application 118 can adjust its layout and functionality to fit the user equipment 110 (e.g., depending on whether the user equipment 110 is a smartphone or a tablet). In other implementations, the beverage experience application 118 may be an application installed on the user equipment 110. The user 102 interfaces with the beverage dispensing system 130 and the server 160 through the beverage experience application 118. The beverage experience application 118 provides a user interface, through which the user 102 can read or hear instructions, respond to prompts delivered to the user 102, and provide response to these prompts.
[0043] In the example shown in FIG. 1, the beverage dispensing system 130 includes, among other components, a processing device 132, a memory device 134, a communication device 140, a user interface 142, an ingredient matrix 144, and a beverage dispensing unit 146. Although one example of the beverage dispensing system 130 is the “COCA-COLA FREESTYLE®” refrigerated beverage dispensing systems offered by The Coca-Cola Company of Atlanta, Georgia, the techniques disclosed in the present disclosure may be generally applicable to other types of beverage dispensing systems. The beverage dispensing system 130 is in communication with the network 195 via a communication path 196, which enables both uplink communication and downlink communication. As will be discussed in greater detail below, the beverage dispensing system 130 is also in communication with the user equipment via communication path 199. In other words, the communication between the beverage dispensing system 130 and the user equipment 110 does not have to go through the network 195.
[0044] The processing device 132, like the processing device 112 discussed above, provides the computing power needed by the beverage dispensing system 130. In one example, the processing device 132 includes one or more CPUs. In other implementations, the processing device 112 further includes one or more GPUs, one or more digital signal processors, field- programmable gate arrays, or other electronic circuits.
[0045] The memory device 134, like the memory device 114 discussed above, operates to store various types of data and instructions. The memory device 134 may include one or more of the following: volatile (e.g., RAM) memory, non-volatile (e.g., ROM) memory, flash memory, or any combination thereof. In some implementations, the memory device 134 may store an operating system and various applications. In the example shown in FIG. 1, the memory device 134 stores, among other things, a beverage recipe bank 136 and a beverage recipe processing engine 138, which will be discussed below in greater detail.
[0046] The communication device 140, like the communication device 116 discussed above, operates to communicate with other components of the system 100 over the networks, such as the network 195 shown in FIG. 1. Examples of the communication device 116 include one or more wired network interfaces and wireless network interfaces. Examples of such wireless network interfaces of the communication device 116 include WWAN interfaces (including cellular networks) and WLAN interfaces. In other examples, other types of wireless interfaces can be used for the communication device 140.
[0047] The user interface 142 is an interface presented on the screen of the beverage dispensing system 130 to allow for the interaction between the user 102 and beverage dispensing system 130. In some implementations, the user 102 and the user equipment 110 are in close proximity to the beverage dispensing system 130, and the user equipment 110 is in communication with the beverage dispensing system 130 through, for example, the communication 199 shown in FIG. 1. The communication path 199 is wireless and bidirectional, and various wireless communication protocols, such as Near-Field Communication (NFC), Bluetooth, and the like, may be employed as needed. In some implementations, there may be a code (e.g., a QR code) located at the beverage dispensing system 130, and the user 102 can use the user equipment 110 to read or scan the code to access a webpage with similar functions. As such, the user 102 can interact with the beverage dispensing system 130 and the server 160through the webpage instead of the beverage experience application. In other implementations, the beverage dispensing system 130 may include a beverage experience application identical or similar to the beverage experience application 118 installed on the user equipment 110. As shown as the interaction 106 in FIG. 1, the user may directly interact with the beverage dispensing system 130 through, for example, the user interface. As an example, the user 102 may read some instructions and prompts presented on the touchscreen of the beverage dispensing system 130 and may input her or his responses to these prompts by, for example, touching (e.g., pressing a button, operating a slide bar, swiping among different pages, and zooming in or zooming out using multi-finger operations, and the like) the touchscreen of the beverage dispensing system 130. Alternatively, the user 102 may also interact indirectly with the beverage dispensing system 130 through the beverage experience application 118 of the user equipment 110. In one implementation, the user interface 142 shown on the touchscreen of the beverage dispensing system 130 is mirrored on the screen of the user equipment 110 by the beverage experience application. As such, the user may read some instructions and prompts and may input her or his responses in a similar manner, as discussed above. In some implementations, the user 102 may interact both directly and indirectly with the beverage dispensing system 130 and switch between those two smoothly as needed (e.g., the user 102 may input some prompts through the beverage experience application 118 but then press a button on the touchscreen of the beverage dispensing system 130 to produce a beverage once the initialization or preparation process is finished by the beverage dispensing system 130).
[0048] The ingredient matrix 144 is a component situated in the beverage dispensing system 130. The ingredient matrix 144 is configured to access multiple ingredient sources (e.g., ingredient packages) corresponding to multiple ingredients (e.g., ingredients 301 shown in FIG. 3A and to be discussed in greater detail below) that are used to form a beverage recipe. In some implementations, the ingredient sources are ingredient packages that are inserted in the ingredient matrix 144. In other implementations, the ingredient sources are remotely situated with respect to the ingredient matrix 144 inside the beverage dispensing system 130, and the ingredient sources are connected to the ingredient matrix 144 through, for example, supply lines.
[0049] In some implementations, the ingredient matrix 144 may further include other beverage forming additives, such as water, carbonated water, sweetener, and the like. These beverageforming additives help provide backup options. For example, when the percentages of the ingredients according to a beverage recipe do not add up to 100%, carbonated water can be used to fill the gap (e.g., a gap of 2%). A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0050] The beverage dispensing unit 146 is configured to dispense a beverage into a cup. The beverage dispensing unit 146 may include, among other components, a pump, a nozzle, and a flow rate controller 148. The flow rate controller 148 is configured to control the flow rate of the produced beverage depending on the ingredients used. Beverages produced based on certain ingredients may have recommended or restricted flow rate ranges to produce better beverages.
[0051] As discussed above, the beverage recipe bank 136 is stored in the memory device 134. The beverage recipe bank 136 includes various beverage recipes that can be used to produce a beverage by the beverage dispensing system 130. In some implementations, the beverage recipe bank 136 includes some default beverage recipes set by the operator of the beverage dispensing system 130, thereby guaranteeing that the beverage dispensing system 130 can function even without interactions with the user equipment 110 and the server 160. In some implementations, the beverage recipe bank 136 includes the personalized beverage recipe 180 (e.g., the personalized beverage recipe 180a shown in FIG. 4A to be discussed below) to be used for the user 102, which is generated by the beverage recipe generator 162 and received by the beverage dispensing system 130. The beverage dispensing system 130 can produce a personalized beverage for the user 102 based on the personalized beverage recipe 180. In other words, the personalized beverage recipe 180 specifies how the beverage dispensing system 130 produces a beverage based on the personalized beverage recipe 180. As discussed above, the ingredient matrix 144 of the beverage dispensing system 130 enables the access to various ingredients included in the personalized beverage recipe 180 by providing a list of ingredients and the relative quantities of those ingredients. Details of the personalized beverage recipe will be discussed below. In some implementations, the beverage recipe bank 136 further includes a certain number (e.g., fifty) of historical personalized beverage recipes received by the beverage dispensing system 130.
[0052] As discussed above, the beverage recipe processing engine 138 is stored in the memory device 134. The beverage recipe processing engine 138 is configured to process beveragerecipes, for example, stored in the beverage recipe bank 136, including the personalized beverage recipe for the user 102. In some implementations, the beverage recipe processing engine 138 converts the personalized beverage recipe for the user 102 into various electrical signals corresponding to the control of the ingredient matrix 144 and the beverage dispensing unit 146. For example, some electrical signals are used to control, through some switches, the supply of ingredients 301 shown in FIG. 3A to be used. As another example, some electrical signals are used to control the beverage dispensing unit 146 and, more particularly, the flow rate controller 148, pumps, and nozzles of the beverage dispensing unit 146. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0053] In the example shown in FIG. 1, the server 160 includes, among other components, a beverage recipe generator 162, a database 176, a user feedback analyzing engine 174, a beverage recipe development engine 186, an alternative data portal 188, a processing device 190, a memory device 192, and a communication device 194. The server 160 is in communication with the network 195 via a communication path 198, which enables both uplink communication and downlink communication. In some implementations, the server 160 is on a cloud provided by a cloud computing service provider.
[0054] The beverage recipe generator 162 is configured to generate a beverage recipe. A beverage recipe is comprised of multiple ingredients and the corresponding percentages of the multiple ingredients. For instance, a first beverage recipe is comprised of a first ingredient, a second ingredient, and a third ingredient, and the corresponding percentages of the first ingredient, the second ingredient, and the third ingredient are Pl, P2, and P3, where the sum of Pl, P2, and P3 is 100%. As another example, a second beverage recipe is comprised of the first ingredient, the second ingredient, a fourth ingredient, and a fifth ingredient, and the corresponding percentages of the first ingredient, the second ingredient, the fourth ingredient, and the fifth ingredient are Pl, P2, P4, and P5, where the sum of Pl, P2, P4, and P5 is 100%. As will be discussed below with reference to FIGS. 4A and 5A, personalized beverage recipes 400 and 500 are beverage recipes personalized for a specific user (e.g., the user 102 shown in FIG. 1).
[0055] In the example shown in FIG. 1, the beverage recipe generator 162 includes, among other components, a user input analyzer 164, a beverage recipe starter reader 166, an availableingredient analyzer 168, a beverage recipe generating engine 170, and a beverage recipe formatter 172.
[0056] The user input analyzer 164 is configured to process or analyze user inputs generated by the user 102. As discussed above, the user 102 interacts with the user equipment 110 to provide some instructions on personalizing a beverage to be produced by the beverage dispensing system 130. In some implementations, these instructions are user inputs including at least one beverage preference parameter of the user 102, which enables the customization of a beverage to be produced by the beverage dispensing system 130 for the user 102.
[0057] FIG. 2 is a diagram illustrating an example of how a beverage experience application handles beverage preference parameters from users in accordance with some implementations of the present disclosure. In the example shown in FIG. 2, a first-level prompt 212 is presented to the user 102 using, for example, the beverage experience application 118. In one example, the first-level prompt 212 reads, “What inspires you? Citrus, fruity, or spicy?” In response, the user 102 may provide a first-level response 222a, 222b, or 222c. In one example, the first-level response 222a is “citrus,” the first-level response 222b is “fruity,” and the first-level response 222c is “spicey.” The user 102 picks one of these three choices (i.e., citrus, fruity, and spicey) depending on the user’s personal beverage preference. As such, the first-level response 222a, 222b, or 222c is a first-level beverage preference parameter.
[0058] In the example shown in FIG. 2, a second-level prompt 214a, 214b, or 214c is presented to the user 102 using, for example, the beverage experience application 118, depending on which of the first-level responses 222a, 222b, and 222c has been input or chosen by the user 102. In one example, the second-level prompt 214a, 214b, or 214c reads “twist.” In some implementations, the second-level prompts 214a, 214b, and 214c further include corresponding possible responses (e.g., “Tropical or berry?” for the second-level prompt 214a). In other implementations, the second-level prompts 214a, 214b, and 214c (collectively, “214”) may be different. In response, the user 102 may provide one of the second-level responses 224a-224f. In the example shown in FIG. 2, the second-level response 224a is “tropical,” and the second- level response 224b is “berry.” The user 102 picks one of these two based on her or his personal beverage preference. The second-level response 224c is “tropical,” and the second-level response 224d is “creamy .” The user 102 picks one of these two based on her or his personalbeverage preference. Similarly, the second-level response 224e is “creamy,” and the second- level response 224f is “berry.” The user 102 picks one of these two based on her or his personal beverage preference. Thus, the potential second-level responses 224a-224f are based on the first-level response previously received from the user 102.
[0059] Likewise, in the example shown in FIG. 2, a third-level prompt 216a, 216b, 216c, 216d, 216e, or 216f is presented to the user 102 using, for example, the beverage experience application 118, depending on which of the first-level responses 222 and which of the second level responses 224 have been input or chosen by the user 102. In one example, each of the third-level prompts 216a-216f (collectively, “216”) reads “Truth or dare” or offers possible responses “Mostly primary or any combo?”. In other implementations, the third-level prompts 216a-216f may be different. In response, the user 102 may provide one of the third-level responses 226a-2261 (collectively, “226”). In the example shown in FIG. 2, the third-level response 226a is “mostly primary” indicating a preference for a beverage with flavors that more closely correspond to the beverage preference parameters entered by the user 102, and the third- level response 226b is “any combo” indicating a preference for a beverage with flavors that are not limited to the beverage preference parameters entered by the user 102. The user 102 picks one of these two based on her or his personal beverage preference. In the example shown in FIG. 2, the third-level responses 226c-2261 are similar. As such, the third-level responses 226a- 2261 are possible third-level beverage preference parameters, and the user 102 picks one of these depending on what was previously picked and her or his personal beverage preference.
[0060] In short, the beverage preference parameters of the user 102 include the first-level response 222, the second-level response 224, and the third-level response 226, the combination of which specifies the beverage preference of the user 102. For example, the user 102 may choose “citrus,” “tropical,” and “mostly primary” as the combination, while another user may choose “spiced,” “berry,” and “any combo” as the combination. It should be noted that the example shown in FIG. 2 is exemplary rather than limiting. For example, a different number of levels of prompts and a different number of allowed responses per prompt, as well as different prompts and responses may be employed in other implementations. Moreover, prompts and corresponding responses do not have to be directly related to a flavor profile (e.g., “fruity” shown in FIG. 2), other types of beverage preference parameters (e.g., color, smell, creativitylevel, nutritional content, etc.) of a user may be used as needed. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0061] Now referring back to FIG. 1, the beverage recipe starter reader 166 is configured to obtain a beverage recipe starter collection 178 based on the user inputs including the beverage preference parameters of the user 102. As discussed above, the user inputs have been analyzed or processed by the user input analyzer 164. As will be discussed in greater detail below with reference to FIGS. 3A and 3B, each of the beverage recipe starter collections 178 stored in the database 176 corresponds to one combination of beverage preference parameters shown in FIG. 2. In some implementations, each of the beverage recipe starter collections 178 is reviewed by flavorists based on their expertise given the specific beverage preference parameters. Each of the beverage recipe starter collections 178 may be updated over time based on the user feedback 182 stored in the database 176 shown in FIG. 1, which will be discussed in greater detail below.
[0062] The available ingredient analyzer 168 is configured to receive available ingredient information of the beverage dispensing system 130. In one implementation, the server 160 identifies the beverage dispensing system 130 using a unique ID assigned to the beverage dispensing system 130 and obtains the available ingredient information by, for example, requesting and receiving the available ingredient information. In another implementation, the beverage dispensing system 130 may proactively send updates on the available ingredient information to the server 160. As discussed above, the user equipment 110 is in communication with the beverage dispensing system 130 through either the communication 199 or the network 195 shown in FIG. 1. The unique ID assigned to the beverage dispensing system 130 is also accessible to the user equipment 110. Thus, the server 160 can identify the beverage dispensing system 130 that the user equipment 110 is interacting with when the user equipment 110 initiates the interactions with the server 160. The beverage dispensing system 130 detects, by various types of sensors, the usage of every ingredient and obtains the available ingredient information (i.e., which ingredients are available). In some implementations, the beverage dispensing system 130 detects the presence of the ingredients and the corresponding amount of these ingredients in the beverage dispensing system 130. In some implementations, the available ingredient information is obtained in real time. In other implementations, the available ingredient information is obtained periodically. In other implementations, the available ingredientinformation is updated every time a beverage has been produced. The available ingredient analyzer 168 interfaces with the beverage dispensing system 130 and receives the available ingredient information from the beverage dispensing system 130.
[0063] The beverage recipe generating engine 170 is configured to generate a personalized beverage recipe for the user 102 shown in FIG. 1, based on the user inputs processed by the user input analyzer 164, the available ingredient information received by the available ingredient analyzer 168, and the beverage recipe starter collection 178 received by the beverage recipe starter reader 166. Details of how the personalized beverage recipe is generated will be discussed below.
[0064] The beverage recipe formatter 172 is configured to process the format of the personalized beverage recipe and convert it if necessary. As discussed above, the techniques disclosed herein are not specific to a certain type (e.g., a certain make or a certain model) of beverage dispensing system. Different types of beverage dispensing systems may have different beverage recipe formats. As a result, the beverage recipe formatter 172 is able to convert one beverage recipe format into another beverage recipe format, thereby increasing the versatility of the system 100.
[0065] The database 176 is connected to the beverage recipe generator 162, the user feedback analyzing engine 174, the beverage recipe development engine 186, and the alternative data portal 188. The database 176 stores at least the following data: beverage recipe starter collections 178, personalized beverage recipes 180, user feedback 182, and personalized beverage recipe metadata 184, details of which will be discussed below. It should be understood that other types of data or information may also be stored in the database 176.
[0066] The user feedback analyzing engine 174 is configured to receive, through the communication device 194, user feedback 182 (e.g., the user feedback 182a shown in FIG. 4B to be discussed below) from the user equipment 110. The user feedback 182 is then analyzed or processed by the user feedback analyzing engine 174. It should be noted that the user feedback 182 corresponds to the personalized beverage, which corresponds to the personalized beverage recipe 180. Therefore, the user feedback 182 is also feedback on the personalized beverage recipe 180. In some implementations, the user feedback 182 is converted into an acceptable format or data structure before being stored in the database 176.
[0067] The beverage recipe development engine 186 is connected to the database 176 and configured to receive new data points, each of which includes the personalized beverage recipe 180 generated for the user 102 and the corresponding user feedback 182. In some implementations, the new data points may be added to the training dataset for better training, for example, a machine learning model. In some implementations, the beverage recipe starter collection 178 may be updated based on the new data points. For example, a flavorist may update the beverage recipe starter collection 178 based on the new data points occasionally. In some implementations, the new data point may further include the personalized beverage recipe metadata 184. As shown in FIG. 1, the beverage recipe development engine 186 is also connected to the beverage recipe generator 162. In some implementations, the beverage recipe development engine 186 is configured to train the recipe generator 162 based on the user feedback 182, either as part of batch training separate from use or in real-time as part of the user experience. As shown in FIG. 1, a closed -loop mechanism is achieved using the beverage recipe generator 162, the beverage recipe development engine 186, and the database 176.Details of the beverage recipe development engine 186 and its operation will be discussed below.
[0068] The personalized beverage recipe metadata 184 is data that provides information related to the personalized beverage recipe 180. The personalized beverage recipe metadata 184 operates to provide various information associated with the personalized beverage recipe 180. In some implementations, the personalized beverage recipe metadata 184 includes one or more of the following: the identification number of the beverage dispensing system 130; the make and the model of the beverage dispensing system 130; the medium access control (MAC) address of the beverage dispensing system 130; the geographical location of the beverage dispensing system 130; the MAC address of the user equipment 110; the geographical location of the user equipment 110; the version of the beverage experience application 118 shown in FIG. 1; and the preference settings of the beverage experience application 118. In some implementations, the personalized beverage recipe metadata 184 is collected anonymously.
[0069] The alternative data portal 188 is connected to the database 176. The alternative data portal 188 is a portal, through which alternative data can be incorporated into the database 176, or vice versa. As an example, survey data conventionally collected or purchased by a beverage company can be incorporated into the database 176 through the alternative data portal 188, anddata stored in the database 176 can also be delivered, through the alternative data portal 188, to an external database for generating equivalent survey data using, for example, data mining techniques. As such, the database 176 is open rather than closed, and the more data points can further improve the beverage recipe development engine 186 by providing a larger training dataset. In some implementations, the alternative data portal 188 serves as an interface with periphery systems that support the beverage recipe generator 162, and additional data (e.g., supply chain, customer preferences, profitability, etc.) are thus also accessible. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0070] The processing device 190, like the processing device 112 discussed above, provides the computing power needed by the server 160. In one example, the processing device 190 includes one or more CPUs. In other implementations, the processing device 190 further includes one or more GPUs, one or more digital signal processors, field-programmable gate arrays, or other electronic circuits. In some implementations, the processing device 190 includes components not physically located in proximity to each other. In other words, the components of the processing device 190 may be distributed across a geographic region. The processing device 190 may execute computer-readable instructions to perform the operations described herein.
[0071] The memory device 192, like the memory device 114 discussed above, operates to store various types of data and instructions. The memory device 192 may include one or more of the following: volatile (e.g., RAM) memory, non-volatile (e.g., ROM) memory, flash memory, or any combination thereof. In some implementations, the memory device 192 may store an operating system and various applications.
[0072] The communication device 194, like the communication device 116 discussed above, operates to communicate with other components of the system 100 over the networks, such as the network 195 shown in FIG. 1. Examples of the communication device 194 include one or more wired network interfaces and wireless network interfaces. Examples of such wireless network interfaces of the communication device 194 include WWAN interfaces (including cellular networks) and WLAN interfaces. In other examples, other types of wireless interfaces can be used for the communication device 194.
[0073] FIG. 3A is a diagram illustrating an example of one beverage recipe starter collection178 in accordance with some implementations of the present disclosure. In the example shownin FIG. 3 A, the beverage recipe starter collection 178 corresponds to the combination of “citrus,” “tropical,” and “dare.” In other words, the combination of beverage preference parameters includes the first-level response 222a, the second-level response 224a, and the third-level response 226a, as shown in FIG. 2. As discussed above, each combination of beverage preference parameters corresponds to one beverage recipe starter collection 178. For example, the combination of “fruity,” “creamy,” and “any combo” has a different beverage recipe starter collection than the combination of “citrus,” “tropical,” and “dare.”
[0074] In the example shown in FIG. 3A, seven ingredients 301, namely Ingredient 1, Ingredient 2, . .. , and Ingredient 7, are used as potential constituent ingredients. As will be explained below, various beverage recipe starters 304 can be formed based on these ingredients 301. It should be understood that more or fewer ingredients may be employed in other examples. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0075] Each ingredient 301 has its associated permitted percentage range 302. The permitted percentage ranges 302 server as “guardrails” that ensure the personalized beverage recipe 180 generated is within certain acceptable boundaries. For example, the permitted percentage range of Ingredient 1 is between a first minimum percentage (“Mini” shown in FIG. 3 A) and a first maximum percentage (“Maxi” shown in FIG. 3A), and the permitted percentage range of Ingredient 2 is between a second minimum percentage (“Min2” shown in FIG. 3A) and a second maximum percentage (“Max2” shown in FIG. 3A). The permitted percentage range of each ingredient is usually specified based on some criteria. In one example, the criteria may be based on regulatory limits applicable to the beverage industry. As an example, the percentage of Ingredient 1 cannot exceed 50%. Therefore, the first minimum percentage (“Mini”) is zero, and the first maximum percentage (“Maxi”) is 50%. In another example, the criteria may be based on recommendations made by flavorists. As an example, the percentage of Ingredient 2, if used as an ingredient, is recommended to be between 10% and 20%. Therefore, the second minimum percentage (“Min2”) is 10%, and the second maximum percentage (“Max2”) is 20%. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives. In addition, the permitted percentage ranges 302 may reduce computational burden by preventing unnecessary or redundant processing, optimizing model usage, and preventing infinite loops andrecursion. Moreover, the permitted percentage ranges 302 can also make the personalized beverage recipe 180 generated more reliable (e.g., consistently meeting minimum thresholds, minimizing the risk of undesirable outcomes).
[0076] In the example shown in FIG. 3 A, the beverage recipe starter collection 178 includes ten beverage recipe starters 304-1, 304-2, . . ., 304-10 (collectively, “304”). Each of these ten beverage recipe starters 304 is a starting point or an outline used to generate a personalized beverage recipe 180 shown in FIG. 1, as will be discussed in greater detail below. In the example shown in FIG. 3A, the beverage recipe starter 304-1 includes three ingredients, namely Ingredient 1, Ingredient 4, and Ingredient 7, and the corresponding percentages are 27%, 33%, and 40%, respectively.
[0077] However, a certain ingredient (e.g., Ingredient 1) may not be available at a specific beverage dispensing system (e.g., the beverage dispensing system 130 shown in FIG. 1) at a specific time, and some other ingredients (e.g., Ingredient 2 and Ingredient 3) may be used as alternative ingredients. As shown in FIG. 3A, the beverage recipe starter 304-2 includes four ingredients, namely Ingredient 2, Ingredient 3, Ingredient 4, and Ingredient 7, and the corresponding percentages are 18%, 9%, 33%, and 40%, respectively. As such, when Ingredient 1 and, therefore, the beverage recipe starter 304-1 are not available, the beverage recipe starter 304-2 can be used as an alternative. As an example, the available ingredient analyzer 168 obtains available ingredient information, which indicates that Ingredient 1 is currently not available in the beverage dispensing system 130. As a result, the beverage recipe generating engine 170 may select the beverage recipe starter 304-2 as an alternative. In some implementations, the enjoy-by information (e.g., the enjoy -by dates) of the ingredients, in addition to the available ingredient information, is also sent by the beverage dispensing system 130 to the beverage recipe generator 162. When the enjoy-by date of an ingredient is near, the beverage recipe generator 162 may prioritize (e g., increase the likelihood of choosing) a recipe that includes this ingredient to avoid waste.
[0078] When choosing the ingredients 301, the beverage recipe starters within a beverage recipe collection reflect the possibility that one ingredient may be replaced with one or more other ingredients and thus are able to achieve more possible combinations with the finite number of ingredients 301. More ingredients may be added to the beverage recipe starter collection 178if needed over time. Similarly, some of the ingredients 301 may be phased out if needed over time. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0079] FIG. 3B is a diagram illustrating an example of the beverage recipe starter collection 178 shown in FIG. 3 A after considering available ingredient information in accordance with some implementations of the present disclosure. In the example shown in FIG. 3B, the beverage recipe starter collection 178 corresponds to the combination of “citrus,” “tropical,” and “dare,” and Ingredient 3 and Ingredient 4 are not available (stricken through, as shown in FIG. 3B) at the beverage dispensing system 130 at this moment. As a result, beverage recipe starters 304-1, 304- 2, 304-4, 304-5, 304-6, 304-7, 304-9, and 304-10 are not feasible at this moment because each of them relies on at least one of Ingredient 3 and Ingredient 4. Thus, only beverage recipe starters 304-3 and 304-8 are feasible.
[0080] In one implementation, one of the beverage recipe starters 304-3 and 304-8 is selected by the beverage recipe generating engine 170 of the beverage recipe generator 162. As such, one beverage recipe starter 304 is selected based on the available ingredient information obtained by the available ingredient analyzer 168 shown in FIG. 1. In some implementations, one of the beverage recipe starters 304-3 and 304-8 is selected randomly. As an example, the beverage recipe starter 304-3 is selected using a randomization process.
[0081] Once the beverage recipe starter 304-3 is selected, a personalized beverage recipe 180 may be generated, by the beverage recipe generator 162, based on the beverage recipe starter 304-3. In some implementations, the personalized beverage recipe 180 is generated using a randomization process. As an example, the beverage recipe starter 304-3 is obtained, and the beverage recipe starter 304-3 includes Ingredient 1, Ingredient 5, Ingredient 6, and Ingredient 7, and the corresponding percentages are Pl, P5, P6, and P7 (in this example, 27%, 11%, 22%, and 40%), respectively. Four randomized deviations (i.e., API, AP5, AP6, and AP7) are then generated, and the sum of the four randomized deviations is zero (i.e., AP1+AP5+AP6+AP7=O) so that the total percentage of Ingredient 1, Ingredient 5, Ingredient 6, and Ingredient 7 remains unchanged. As an example, the four randomized deviations are 2%, 1%, -1%, and -2%, respectively. The four randomized deviations are added to the corresponding percentages, respectively, to generate the personalized beverage recipe 180. In the example discussed above,the personalized beverage recipe includes Ingredient 1, Ingredient 5, Ingredient 6, and Ingredient 7, and the corresponding percentages are P1+AP1, P5+AP5, P6+AP6, and P7+AP7 (in this example, 29%, 12%, 21%, and 38%), respectively.
[0082] It should be understood that the example discussed above is not intended to be limiting, and the personalized beverage recipe 180 may be generated using other processes. In addition, generating the randomized deviations is in compliance with the permitted percentage ranges 302 of the relevant ingredients. If the randomized deviations cause at least one of the resultant percentages of the ingredients to be outside its permitted percentage range 302, the randomized deviations are not legitimate. As a result, the process discussed above is repeated until the resultant percentages of the ingredients are all within the permitted percentage ranges 302. In other words, an iterative approach is taken to comply with the permitted percentage ranges 302. Alternatively, the process may incorporate the permitted ranges so that the resultant percentages are not permitted to exceed the permitted percentage ranges. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0083] FIG. 3C is a diagram illustrating another example of the beverage recipe starter collection 178 in accordance with some implementations of the present disclosure. The beverage recipe starter collection 178 shown in FIG. 3C is similar to the beverage recipe starter collection 178 shown in FIG. 3A. However, for each of the beverage recipe starters 3O4’-l, 3O4’-2, . .., 304’-10 (collectively, 304’), the ingredient percentage is a range instead of a value. When the beverage recipe generator 162 generates a personalized beverage recipe, a specific value is randomly picked from each range. For example, if the beverage recipe generator 162 generates a personalized beverage recipe based on the beverage recipe starter 304’ -1, it randomly picks a first value between 0.25 and 0.29 for Ingredient 1, a second value between 0.31 and 0.35 for Ingredient 2, and a third value between 0.38 and 0.42 for Ingredient 3. The sum of the first value, the second value, and the third value is 1 (i.e., 100%). It should be noted that these ranges are not required to be the same as the permitted percentage ranges 302, but certainly within the boundaries set by the permitted percentage ranges 302. Therefore, the “guardrails” (the permitted percentage ranges 302) and the randomization mechanisms (the ingredient percentage ranges) coexist and serve different purposes in this exemplary beverage recipe starter collection178 shown in FIG. 3C. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0084] FIG. 4A is a diagram illustrating an example of a personalized beverage recipe 180a in accordance with some implementations of the present disclosure. FIG. 4B is a diagram illustrating an example of user feedback 182a corresponding to the personalized beverage recipe 180a in accordance with some implementations of the present disclosure. The personalized beverage recipe 180a has a unique identification number “ABC1234Z” and may be associated with the user 102, the user equipment 110, the beverage dispensing system 130, and the user inputs including at least one beverage preference parameter of the user 102. In the example shown in FIG. 4A, the personalized beverage recipe 180a includes Ingredient 1, Ingredient 4, and Ingredient 7, and the corresponding percentages are 29%, 32%, and 39%, respectively.
[0085] After a beverage is produced by the beverage dispensing system 130 based on the personalized beverage recipe 180a, the user 102 may taste the beverage. The user 102 may generate the user feedback 182a on the personalized beverage through, for example, the beverage experience application 118 of the user equipment 110 shown in FIG. 1. In the example shown in FIG. 4B, the user feedback 182a includes five rating parameters 410-1, 410-2, 410-3, 410-4, and 410-5 (collectively “410”). The user 102 may provide a score, on a scale from one to ten, for each of the five rating parameters 410. In the example shown in FIG. 4B, the user feedback 182a is relatively positive, with a general flavor profile score of nine out of ten.
[0086] It should be understood that fewer or more rating parameters 410 may be employed as needed. It should also be understood that higher (e.g., on a scale from one to ninety-nine) or lower (e.g., on a scale from one to five) granularity of each score may be employed as needed. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0087] FIG. 5 A is a diagram illustrating an example of a personalized beverage recipe 180b in accordance with some implementations of the present disclosure. FIG. 5B is a diagram illustrating an example of a user feedback 182b corresponding to the personalized beverage recipe 180b in accordance with some implementations of the present disclosure. Similarly, the personalized beverage recipe 180b has a unique identification number “EFG7968X” and may be associated with the user 102, the user equipment 110, the beverage dispensing system 130, andthe user inputs including at least one beverage preference parameter of the user 102. In the example shown in FIG. 5 A, the personalized beverage recipe 180b includes Ingredient 1, Ingredient 5, and Ingredient 6, and the corresponding percentages are 49%, 40%, and 11%, respectively.
[0088] Likewise, after a beverage is produced by the beverage dispensing system 130 based on the personalized beverage recipe 180b, the user 102 may taste the beverage. The user 102 may generate the user feedback 182b on the personalized beverage recipe 180b through, for example, the beverage experience application 118 of the user equipment 110 shown in FIG. 1. In the example shown in FIG. 5B, the user feedback 182b includes five rating parameters 410-1, 410-2, 410-3, 410-4, and 410-5 (collectively “410”). The user 102 may provide a score, on a scale from one to ten, for each of the five rating parameters 410. In the example shown in FIG. 5B, the user feedback 182a is relatively negative, with a general flavor profile score of only three out of ten.
[0089] FIG. 6 is a diagram illustrating an example of a flow 600 in accordance with some implementations of the present disclosure. It should be understood that the order of the specific steps (e g., S2 and S3) is exemplary rather than limiting. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0090] At SI, user inputs are delivered from the user 102 to the user equipment 110, as the illustrated interactions 104 shown in FIG. 1 . At S2, user inputs are delivered from the user equipment 110 to the beverage recipe generator 162 of the server 160 through, for example, the beverage experience application 118 of the user equipment 110. As discussed above, the user inputs are received by the user input analyzer 164 of the beverage recipe generator 162. In some implementations, the user inputs include at least one beverage preference parameter of the user 102.
[0091] At S3, available ingredient information of the beverage dispensing system 130 is received by the available ingredient analyzer 168 of the beverage recipe generator 162. At S4, the beverage recipe starter collection 178 corresponding to at least one beverage preference parameter of the user 102 received at S2 is obtained by the beverage recipe starter reader 166 of the beverage recipe generator 162.
[0092] Once the user inputs, the available ingredient information, and the beverage recipe starter collection 178 have been accessed by the beverage recipe generator 162, a personalized beverage recipe 180 (e.g., the personalized beverage recipe 180a shown in FIG. 4A) is generated, at S5, by the beverage recipe generator 162. In some implementations, a beverage recipe starter 304 shown in FIG. 3A is selected based on the available ingredient information. In some implementations, the personalized beverage recipe 180 is generated based on the beverage recipe starter 304 using, for example, a randomized process. As discussed above, randomized deviations are generated and added to the corresponding percentages of the ingredients (e g., ingredients 301 shown in FIG. 3B) of a selected beverage recipe starter (e.g., the beverage recipe starter 304-3 shown in FIG. 3B). The personalized beverage recipe 180 specifies how the beverage dispensing system 130 produces a beverage based on the personalized beverage recipe 180.
[0093] At S6, the personalized beverage recipe 180 is sent to and saved in the database 176 of the server 160. In some implementations, the personalized beverage recipe 180 is sent to the database 176 immediately after it is generated. In some implementations, the personalized beverage recipe 180 is sent to the database 176 after the database 176 receives the user feedback at S9, which will be described below. It should be understood that S5 and S6 may be performed simultaneously in some implementations. At S7, the beverage dispensing system 130 produces a beverage based on the personalized beverage recipe 180. As discussed above, the ingredient matrix 144 of the beverage dispensing system 130 enables the access to various ingredients included in the personalized beverage recipe 180, while the beverage recipe processing engine 138 of the beverage dispensing system 130 converts the personalized beverage recipe 180 for the user 102 into various electrical signals corresponding to the control of the ingredient matrix 144 and the beverage dispensing unit 146 in some implementations. In some implementations, the beverage may be produced under the control of the user 102 through the beverage experience application 118.
[0094] At S8, user feedback 182 (e.g., the user feedback 182a shown in FIG. 4B) on the personalized beverage recipe 180a is sent to the user feedback analyzing engine 174 of the server 160. In some implementations, the user feedback 182 may be generated through the beverage experience application 118 of the user equipment 110 shown in FIG. 1.
[0095] At S9, the user feedback analyzing engine 174 analyzes or processes the user feedback 182 and sends the user feedback 182 to the database 176. In some implementations, the user feedback 182 is converted into an acceptable format or data structure before being stored in the database 176. As such, both the personalized beverage recipe 180 and the user feedback 182 have been stored in the database 176 at S6 and S9, respectively. As discussed above, the combination of the personalized beverage recipe 180 and the user feedback 182 on the personalized beverage recipe 180 is considered a new data point. In some implementations, the new data point may further include the personalized beverage recipe metadata 184.
[0096] At S10, the new data point is accessed by the beverage recipe development engine 186. In some implementations, the new data point is added to the training dataset of, for example, a machine learning model of the beverage recipe development engine 186. In some implementations, the training dataset is updated in real time. In other words, the training is on the fly every time a new data point is stored in the database 176 and accessed by the beverage recipe development engine 186. In other implementations, the training dataset is updated periodically (e.g., every five minutes, every one hour, every twenty-four hours, etc.). In other implementations, the training dataset is updated according to a predetermined schedule to accommodate the anticipated traffic of the new data points. The new data points corresponding to the same beverage recipe starter collection 178 are grouped together in advance.
[0097] In some implementations, the beverage recipe generator 162 or the beverage recipe development engine 186 may use machine learning (ML) or artificial intelligence (Al) techniques in addition to or instead of the beverage recipe starter collections 178. At SI 1 (as shown symbolically in FIG. 6 by the dashed line), the beverage recipe development engine 186, after receiving new data point(s) at S10, may communicate with the beverage recipe generator 162 to generate the personalized beverage recipe using ML or Al techniques.
[0098] According to some aspects of the disclosure, an aggregate model approach is used. In the initial deployment stage (i.e., with zero data points), the beverage recipe generator 162 delivers random recipes within the confines of the beverage recipe starter collection 178 as described above. After a collection of data points has been accumulated and saved in the database 176, the beverage recipe development engine 196 may train, for example, a multivariate linear regression model to predict the general flavor profile score based on the ingredients andingredient levels used (e.g., a beverage recipe). Multivariate linear regression is a statistical technique used to analyze the relationship between multiple dependent variables and one or more independent variables. Unlike regular linear regression, multivariate linear regression can model several response variables at once. Multivariate linear regression assumes a linear relationship between the independent variables (predictors, e.g., the ingredients and ingredient levels used) and the dependent variables (responses, e.g., the general flavor profile score). This means the effect of a change in one predictor on a response variable is constant and doesn't depend on the values of other predictors. The multivariate linear regression model can be expressed mathematically using a system of equations, where each equation represents the relationship between the predictors and one of the dependent variables.
[0099] In some implementations, other scores (as an example of the user feedback 182 shown in FIGS. 1 and 6) collected from the user or statistical ensembles of these scores may be predicted. In some implementations, additional data collected from the user (e.g., the user 102 shown in FIG. 1) or the beverage dispensing system (e.g., the beverage dispensing system 130 shown in FIG. 1) directly or indirectly may be used as additional variables in this model.Examples of the additional data include beverage dispensing system local-time or location, user gender, user age, and the like. Additional data and context collected from sources other than the user or the beverage dispensing system (e.g., weather, social media or news trends, movies currently playing in theatres) may also be used. As explained above, these additional data and context from other sources can be accessed by the database 176 via the alternative data portal 188 shown in FIG. 1. The beverage recipe development engine 186 uses these additional data, in conjunction with the collection of data points accumulated since the initial deployment stage mentioned above, as the training data. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0100] In some implementations, especially where predictive ability is prioritized over variance in recipe, other regression models or ensembles of these models may be used. This may include other linear regression approaches (e.g., stepwise, polynomial, Least Absolute Shrinkage and Selection Operator (LASSO), ridge (also known as L2 regularization), Partial Least Squares (PLS)), non-linear regression approaches, or machine learning approaches (e.g., random forest, Support Vector Machine (SVM), neural networks).
[0101] In some implementations, the model is re-trained periodically, e.g., nightly, but may be trained more or less often as needed.
[0102] Following initial and subsequent training of the model, the beverage recipe generator 162 follows a similar process: (i) generate, for example, a number (e g., one hundred) of randomized beverage recipes (e.g., the personalized beverage recipe 180 shown in FIG. 1, 4A, 5 A, and 6) within the confines of the beverage recipe starter collection 178; (ii) predict the user feedback score(s) (e.g., the user feedback 182 shown in FIGS. 1, 4B, 5B, and 6) of these beverage recipes using the aforementioned model; (iii) filter for the top beverage recipes (e.g., top five) by predicted scores; and (iv) randomly select one of the top beverage recipes. Thus, the randomization aspect has two prongs. One lies in the generation of randomized beverage recipes, whereas the other lies the selection from the top beverage recipes after they have been filtered by predicted scores.
[0103] As a result of new data points and re-training of the model implemented by the beverage recipe development engine 186 shown in FIGS. 1 and 6, the process iteratively improves the ability of the beverage recipe generator 162 to deliver beverage recipes, resulting in high scores while simultaneously maintaining recipe variance to support the consumer experience.
[0104] According to some aspects of the disclosure, a custom model approach may be used. The aggregate model approach discussed above may be customized in several ways. In some implementations, “custom models” may be created for groups of beverage dispensing systems comprising certain trade channels (e.g., quick-service restaurant (QSR), cinema, convenience stores, etc.); customers (the business where the beverage dispensing system 130 is located); franchisees; geographies (e.g., North America, Europe, Asia, etc.); or based on other criteria. These custom models may function independently as discussed above, may be ensembles with other custom models, may be ensembles with the aggregate / basic model discussed above, or a combination thereof. As different models excel at capturing different patterns or relationships in the data, combining custom models with other custom models or the aggregate / basic model can result in a more comprehensive understanding of the data and thus better predictions. The overall error rate may also be reduced. Other benefits of such ensembling include greater robustness and better generalization capabilities.
[0105] In some implementations, “individual models” may be created for individual consumers. These models persist for specific users across all beverage dispensing systems participating in the “individual model” experience. These individual models may function independently as described above, may be used in combination or ensembles with other individual or custom models, may be ensembles with the aggregate / basic model discussed above, or a combination thereof. An individual user may have multiple “individual models” in implementations where hybrid custom-individual models exist. For example, a user may have an “individual model” across all FREESTYLE dispensers but also an “individual model” specific to an amusement park’s custom model. These two (or more) individual models may also be ensembled. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0106] According to some aspects of the disclosure, the approaches discussed above may be supplemented by an algorithm that prioritizes beverage recipes for selection that are ideal for the consumer, the customer (the business where the beverage dispensing system 130 is located), or the company (the provider of the system shown in FIG. 1). In some implementations, beverage recipes ideal for the consumer are prioritized. “Ideal for the consumer” implies beverage recipes that benefit the consumer or support consumer objectives due to their functional / nutritional content, appearance (e.g., a color that matches their outfit or ‘pops’ against surroundings), or based on other factors.
[0107] In some implementations, beverage recipes ideal for the customer are prioritized. “Ideal for the customer” implies beverage recipes that utilize ingredients with less remaining shelf-life or backroom / supply-chain availability, underutilized ingredients, promoted ingredients, or that support other customer operational or marketing objectives.
[0108] In some implementations, beverage recipes ideal for the company are prioritized. “Ideal for the company” implies recipes that are more profitable for the system, more available or resilient from a supply-chain perspective, more valuable for capturing consumer preference feedback, or that support other company operational or marketing objectives. These prioritizing approaches, namely “ideal for the consumer,” “ideal for the customer,” and “ideal for the company,” are exemplary. A combination of two of them is also possible as needed. A person of ordinary skill in the art would recognize many variations, modifications, and alternatives.
[0109] FIG. 7 is a flowchart diagram illustrating an example method 700 in accordance with some implementations of the present disclosure. Additional operations may be performed. Also, it should be understood that the sequence of the various operations discussed above with reference to FIG. 7 is provided for illustrative purposes, and as such, other implementations may utilize different sequences. These various sequences of operations are to be included within the scope of the disclosure.
[0110] At operation 702, user inputs are received by a server (e.g., the server 160 shown in FIG. 1). The user inputs include at least one beverage preference parameter (e g., first-level responses 222, second-level responses 224, and third-level responses 226 shown in FIG. 2) of a user (e.g., the user 102 shown in FIG. 1).[0U1] At operation 704, a beverage recipe generator (e.g., the beverage recipe generator 162 shown in FIG. 1) of the server (e.g., the server 160 shown in FIG. 1) receives available ingredient information of a beverage dispensing system (e.g., the beverage dispensing system 130 shown in FIG. 1).
[0112] At operation 706, a beverage recipe starter collection (e.g., the beverage recipe starter collection 178 shown in FIG. 3 A) corresponding to the at least one beverage preference parameter of the user is obtained by the beverage recipe generator. The beverage recipe starter collection includes a plurality of beverage recipe starters (e.g., the beverage recipe starters 304 shown in FIG. 3 A). The beverage recipe starter collection is one of a plurality of beverage recipe starter collections.
[0113] At operation 708, a first beverage recipe starter (e.g., the first beverage recipe starter 304-3 shown in FIG. 3B) is selected, by the beverage recipe generator, from the plurality of beverage recipe starters based on the available ingredient information.
[0114] At operation 710, a personalized beverage recipe (e.g., the personalized beverage recipe 180a shown in FIG. 4A) is generated, by the beverage recipe generator, based on the first beverage recipe starter.
[0115] At operation 712, the personalized beverage recipe is provided, by the beverage recipe generator, to the beverage dispensing system. The personalized beverage recipe specifies howthe beverage dispensing system produces a beverage based on the personalized beverage recipe using the available ingredients.
[0116] At operation 714, a new data point is saved by the server in a database (e.g., the database 176 shown in FIG. 1). The new data point comprises the personalized beverage recipe (e g., the personalized beverage recipe 180a shown in FIG. 4A) and user feedback (e.g., the user feedback 182a shown in FIG. 4B) received from the user regarding the personalized beverage recipe.
[0117] In some implementations, at operation 716, the beverage recipe starter collection is updated, by a beverage recipe development engine (e.g., the beverage recipe development engine 186) of the server, based on the new data point.
[0118] The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of the various implementations must be performed in the order presented. As will be appreciated by one of skill in the art, the steps in the foregoing implementations may be performed in any order. Words such as “then,” “next,” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Although process flow diagrams may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function.
[0119] The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the implementations disclosed here may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but suchimplementation decisions should not be interpreted as causing a departure from the scope of the present invention.
[0120] Implementations implemented in computer software may be implemented in software, firmware, middleware, microcode, hardware description languages, or any combination thereof. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to and / or in communication with another code segment or a hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means, including memory sharing, message passing, token passing, network transmission, etc.
[0121] The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the disclosure. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code being understood that software and control hardware can be designed to implement the systems and methods based on the description here.
[0122] When implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable or processor-readable storage medium. The steps of a method or algorithm disclosed here may be embodied in a processor-executable software module which may reside on a computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable media includes both computer storage media and tangible storage media that facilitate the transfer of a computer program from one place to another. A non-transitory processor-readable storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such non-transitory processor-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other tangible storage medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer or processor. Disk and disc, as used here, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce dataoptically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and / or instructions on a non-transitory processor-readable medium and / or computer-readable medium, which may be incorporated into a computer program product.
[0123] The previous description is of implementations for implementing the invention, and the scope of the invention should not necessarily be limited by this description. The scope of the present invention is instead defined by the following claims.
Claims
CLAIMSWhat is claimed is:
1. A method comprising: receiving, by a server, user inputs comprising at least one beverage preference parameter of a user; receiving, by a beverage recipe generator of the server, available ingredient information of a beverage dispensing system; obtaining, by the beverage recipe generator, a beverage recipe starter collection corresponding to the at least one beverage preference parameter of the user, the beverage recipe starter collection comprising a plurality of beverage recipe starters, wherein the beverage recipe starter collection is one of a plurality of beverage recipe starter collections; selecting, by the beverage recipe generator, a first beverage recipe starter from the plurality of beverage recipe starters based on the available ingredient information; generating, by the beverage recipe generator, a personalized beverage recipe based on the first beverage recipe starter; providing, by the beverage recipe generator, the personalized beverage recipe to the beverage dispensing system, wherein the personalized beverage recipe specifies how the beverage dispensing system produces a beverage based on the personalized beverage recipe using available ingredients; and saving in a database, by the server, a new data point comprising the personalized beverage recipe and user feedback received from the user regarding the personalized beverage recipe.
2. The method of claim 1, wherein the at least one beverage preference parameter of the user comprises at least one response, by the user, to at least one prompt generated by a user equipment.
3. The method of claim 1, wherein each of the plurality of beverage recipe starters in the beverage recipe starter collection comprises a plurality of ingredients and a plurality of percentages, each of the plurality of percentages corresponding to one of the plurality of ingredients.
4. The method of claim 3, wherein the beverage recipe starter collection comprises a permitted percentage range for each of the plurality of ingredients.
5. The method of claim 1, wherein the beverage recipe starter collection is one of a plurality of beverage recipe starter collections and each beverage recipe starter collection is associated with a different combination of beverage preference parameters.
6. The method of claim 4, wherein generating the personalized beverage recipe based on the first beverage recipe starter comprises: obtaining the first beverage recipe starter; generating a plurality of randomized deviations corresponding to the plurality of percentages; and adding the plurality of randomized deviations to the plurality of percentages, respectively, to generate the personalized beverage recipe.
7. The method of claim 6, wherein generating the plurality of randomized deviations comprises generating the plurality of randomized deviations so that a sum of each randomized deviation and percentage is within the permitted percentage range for each respective ingredient.
8. The method of claim 1, wherein the first beverage recipe starter is randomly selected from beverage recipe starters of the beverage recipe starter collection that require only ingredients indicated as available in the beverage dispensing system in the available ingredient information.
9. The method of claim 1, wherein the user feedback received from the user regarding the personalized beverage recipe comprises at least one rating parameter received from the user.
10. The method of claim 9, wherein the at least one rating parameter is generated by the user using a user equipment in communication with the beverage dispensing system.
11. The method of claim 1, wherein the available ingredient information prioritizes inclusion of a selected ingredient, and the first beverage recipe starter requires the selected ingredient.
12. A system comprising: a server in communication with a beverage dispensing system configured to produce a beverage, the server comprising a beverage recipe generator, a database, a memory device, and a processing device, when instructions stored in the memory device are executed, the processing device controls the server to: receive user inputs comprising at least one beverage preference parameter of a user; receive, by the beverage recipe generator, available ingredient information of a beverage dispensing system; obtain, by the beverage recipe generator, a beverage recipe starter collection corresponding to the at least one beverage preference parameter of the user, the beverage recipe starter collection comprising a plurality of beverage recipe starters, wherein the beverage recipe starter collection is one of a plurality of beverage recipe starter collections; select, by the beverage recipe generator, a first beverage recipe starter from the plurality of beverage recipe starters based on the available ingredient information; generate, by the beverage recipe generator, a personalized beverage recipe based on the first beverage recipe starter; provide, by the beverage recipe generator, the personalized beverage recipe to the beverage dispensing system, wherein the personalized beverage recipe specifies how the beverage dispensing system produces a beverage based on the personalized beverage recipe; and save in the database a new data point comprising the personalized beverage recipe and user feedback received from the user regarding the personalized beverage recipe.
13. The system of claim 12, wherein the at least one beverage preference parameter of the user comprises at least one response, by the user, to at least one prompt generated by a user equipment in communication with the beverage dispensing system.
14. The system of claim 12, wherein each of the plurality of beverage recipe starters in the beverage recipe starter collection comprises a plurality of ingredients and a plurality of percentages, each of the plurality of percentages corresponding to one of the plurality of ingredients.
15. The system of claim 14, wherein the beverage recipe starter collection comprises a permitted percentage range for each of the plurality of ingredients.
16. The system of claim 15, wherein when the instructions stored in the memory device are executed, the processing device controls the server to: obtain the first beverage recipe starter; generate a plurality of randomized deviations corresponding to the plurality of percentages; and add the plurality of randomized deviations to the plurality of percentages, respectively, to generate the personalized beverage recipe.
17. The system of claim 16, wherein the plurality of randomized deviations are generated in compliance with the permitted percentage range for each of the plurality of ingredients.
18. The system of claim 12, further comprising the beverage dispensing system in communication with the server.
19. The system of claim 12, wherein the first beverage recipe starter is randomly selected from the plurality of beverage recipe starters based on the available ingredient information.
20. The system of claim 12, wherein the user feedback received from the user regarding the personalized beverage recipe comprises at least one rating parameter received from the user.
Citation Information
Patent Citations
Distributed beverage development and improvement platform
US11472689B1
System and method for producing a customized beverage or beverage concentrate
US20180130141A1
Systems and methods for formulating customized beverages
US20200104797A1
US202463665646P