The present disclosure relates to an information processing apparatus, an information processing method, and a program.
In recent years, technologies that can automatically change cooking recipes have been developed. For example, Patent Literature 1 discloses a technology for changing a cooking recipe on the basis of conditions such as a user-specified amount and calorie restriction.
By the way, the degree of avoidance differs depending on a factor that causes a user to avoid an ingredient. However, in a case of the technology described in Patent Literature 1, since cooking recipes are changed statically, it is not always beneficial to the user.
For solving the problem described above, an information processing apparatus according to one aspect of the present disclosure has a control unit that determines a recipe on a basis of user information including an avoidance level of a user for a predetermined ingredient, food information regarding each food, and ingredient information including information regarding each ingredient, wherein the avoidance level for the predetermined ingredient is set on a basis of an avoidance factor of the user for the predetermined ingredient, and the food information includes information indicating the ingredient used to cook the food.
An information processing method according to one aspect of the present disclosure comprises, determining, by a processor, a recipe on a basis of user information including an avoidance level of a user for a predetermined ingredient, food information regarding cooking of each food, and ingredient information including information regarding each ingredient, wherein the avoidance level for the predetermined ingredient is set on a basis of an avoidance factor of the user for the predetermined ingredient, and the food information includes information indicating the ingredient used to cook the food.
A program according to one aspect of the present disclosure causes a computer to function as an information processing apparatus includes a control unit that determines a recipe on a basis of user information including an avoidance level of a user for a predetermined ingredient, food information regarding cooking of each food, and ingredient information including information regarding each ingredient, wherein the avoidance level for the predetermined ingredient is set on a basis of an avoidance factor of the user for the predetermined ingredient, and the food information includes information indicating the ingredient used to cook the food.
Hereinafter, a preferred embodiment of the present disclosure will be described in detail with reference to the appended drawings. Note that, in the present specification and the drawings, components having substantially the same functional configuration are provided with the same reference signs, so that repeated description of these components is omitted.
Note that the description will be provided in the following order.
1. Embodiment
1.1. Overview
1.2. Functional Configuration Example
1.3. Specific Example
2. Hardware Configuration Example
3. Conclusion
First, the outline of the present disclosure will be described. In recent years, a technology for automatically determining a cooking recipe on the basis of a user-specified condition has been developed. Here, the user-specified condition includes information regarding user's likes and dislikes, allergies, calorie restriction, and the like. In a case of the technology described in Patent Literature 1, the cooking recipe can be changed on the basis of the number of people specified by a user and an order condition such as calorie restriction. Here, an item changed in the cooking recipe is, for example, the kind or amount of an ingredient used in a food.
By the way, in determining a cooking recipe, the degree of avoidance of a predetermined ingredient varies depending on an avoidance factor. However, in the technology described in Patent Literature 1, since the change of the item in the cooking recipe is statically determined, the determined cooking recipe is not always beneficial to the user. For example, in a situation where foods are continuously provided such as a course meal, in a case where all the foods provided are changed to use ingredients having the taste preferred by the user, the satisfaction of the user is not necessarily high.
Further, in addition to determining only a recipe with a taste preferred by the user, nutrients contained in an ingredient can be beneficial to the user. Even in a case of an ingredient avoided by the user, it is desirable to change handling thereof depending on an avoidance factor. For example, in a case of an ingredient to which the user has an allergy, the degree of avoidance thereof in determining a recipe is high. However, for example, in a case of an ingredient that the user cannot eat in its original form, as the ingredient is processed so that the ingredient does not remain in its original form, rather than determining a recipe so as to avoid the ingredient, a possibility that the user can eat the ingredient increases. In a case where the ingredient contains nutrients that the user needs, it is beneficial to the user.
Therefore, in the present disclosure, a recipe suitable for each user can be determined by using user information including an avoidance level of a user for a predetermined ingredient and considering a different type of order condition from an order condition included in a food order. Further, by using an avoidance level that is set on the basis of an avoidance factor of a user for a predetermined ingredient, it is possible to determine a recipe suitable for the user even in a case where order conditions that are difficult to compare are mixed.
Here, the avoidance level refers to the degree to which a predetermined ingredient is not desired to be included in a food. Here, the avoidance factor refers to a factor of avoidance of a predetermined ingredient. Examples of the avoidance factor include a dislike of taste, an allergy, and a dislike of texture. Details of the avoidance level and avoidance factor will be described later.
Next, an overview according to an embodiment of the present disclosure will be described. A cooking system according to an embodiment of the present disclosure is assumed to be used in a facility such as a restaurant or a home having a cooking robot.
First, the users UA and UB register their user information regarding a food or ingredient in an information processing apparatus (not illustrated in
Next, the users UA and UB place a food order. The users UA and UB can place a food order by using the smartphone SP. For example, the users UA and UB may place a food order by performing an input operation on a predetermined application running on the smartphone SP. Further, the users UA and UB may place a food order by putting the smartphone SP on the reader RE illustrated in
The information processing apparatus (hereinafter, also referred to as the cooking server) determines a recipe on the basis of the acquired food order. Once the users UA and UB place a food order, the cooking robot RO illustrated in
Note that, in the example of
Note that the food order transmitted from the smartphone SP may be received by the cooking server. Further, the users UA and UB may place a food order by voice using a microphone included in the smartphone SP.
Here, the user information includes information indicating an avoidance factor and an avoidance level of the user for a predetermined ingredient. The cooking server can determine a recipe suitable for each user by using the user information including the information indicating the avoidance factor and the avoidance level. Details of the user information will be described later.
Hereinabove, the overview of the cooking system according to an embodiment of the present disclosure has been described.
<<1.2. Functional Configuration Example>>
Next, a functional configuration example of the cooking system according to the present embodiment will be described.
The input unit 100 according to the present embodiment has a function of receiving a food order from a user.
The input unit 100 may be included in the smartphone SP illustrated in
The input unit 100 may receive, as the food order, a food name specified by the user, and may receive, for example, information regarding an order condition of the user.
The control unit 200 according to the present embodiment has a function of determining a recipe on the basis of the food order acquired from the input unit 100. Specifically, the control unit 200 analyzes a content of the food order acquired from the input unit 100 and determines a content input by the user. Further, the control unit 200 may determine a recipe on the basis of other information in addition to the food order. The other information is stored in, for example, the storage unit 400 as described later. The control unit 200 appropriately acquires information from the storage unit 400 and determines a recipe. Further, the control unit 200 can update data stored in the storage unit 400. Note that the control unit 200 is included in the information processing apparatus that is independent of the input unit 100, the cooking unit 500, and the output unit 600.
The storage unit 400 according to the present embodiment has a function of storing various information used by the control unit 200 to determine a recipe and providing various information to the control unit 200 under the control of the control unit 200. The storage unit 400 includes a food information DB 410, an ingredient information DB 420, and a user information DB 430. In addition, the storage unit 400 stores an order history of each user. The order history is a history of food orders placed by each user.
Here, the food information DB 410 stores food information data regarding each food. The food information includes a recipe corresponding to each food. The ingredient information DB 420 stores ingredient information data including information regarding each ingredient. The information regarding each ingredient includes, for example, information regarding a nutritional value of each ingredient. The user information DB 430 stores user information data including information regarding a predetermined ingredient of the user. Details of each of the above-described databases (DBs) will be described later. Note that the storage unit 400 may be included in the information processing apparatus including the control unit 200.
The cooking unit 500 according to the present embodiment is an automatic cooking device having a function of performing cooking on the basis of the recipe determined by the control unit 200. The cooking unit 500 may be, for example, a cooking robot and be independent of other components.
The output unit 600 according to the present embodiment has a function of outputting predetermined information to the user under the control of the control unit 200. Specifically, the output unit 600 outputs, to the user, information regarding the recipe determination performed by the control unit 200, for example, food information stored in the food information DB 410.
The output unit 600 may be included in the smartphone SP illustrated in
Hereinabove, the configuration of the cooking system according to the present embodiment has been described. Note that the configuration described above with reference to
<<1.3. Specific Example>>
Subsequently, the databases (DBs) included in the storage unit 400 according to the present embodiment will be described in detail. In addition, the use of data in the recipe determination performed by the control unit 200 according to the present embodiment will be described in detail. Moreover, the output of information regarding the data according to the present embodiment will described in detail, the information being output by the output unit 600.
The food information table TA1 includes information regarding each food. The information regarding each food is stored in each of the food information records R11 to R13, R1t, and the like. The control unit 200 determines a recipe by referring to the food information table TA1. The control unit 200 may refer to each attribute (column) as necessary when determining the recipe.
Hereinafter, each attribute (column) in the example illustrated in
A “food name” column shows food names. For example, a “food name” in the food information record R11 is “pork curry”. Note that, in the “food name” column, the names of foods that can be provided are shown, and the names of foods that cannot be provided may also be shown.
A “timing” column shows at which timing each food needs to be provided, for example, in a case of a course meal. The control unit 200 may determine a recipe by referring to data in the “timing” column. For example, a “timing” in the food information record R11 is “main dish”, and a “timing” in the food information record R13 is “appetizer or side dish”. Note that the “timing” may be the number of ordered items, a time elapsed since the first order was placed, or the like.
A “type” column shows the kinds into which respective foods are roughly classified, and a “taste/texture” column shows the taste and texture. For example, a “kind” in the food information record R11 is “curry”, and a “taste/texture” is “rich, spicy, and hot”. The “kind” column and the “taste/texture” column are used when determining a recipe for a food order including user-specified order conditions such as the kind, taste, and texture.
A “basic ingredients” column shows an ingredient included in each food. When performing cooking, the cooking unit 500 uses an ingredient by referring to a “basic ingredients” column in a food information record of a food to be cooked. The kind of the ingredient shown in the “basic ingredients” column corresponds to the kind of the ingredient in ingredient information stored in the ingredient information DB 420. For example, “basic ingredients” in the food information record R11 are “white rice, pork, curry roux, potato, carrot, and onion”.
A “basic recipe” column shows a cooking method of each food. When performing cooking, the cooking unit 500 performs cooking by referring to a “basic recipe” column in a food information record of a food to be cooked. For example, a “basic recipe” in the food information record R11 is “1. fry vegetables; 2. fry pork; 3. cook rice; melt roux and simmer; and 5. serve on a plate”. Note that, in the “basic recipe” column, a cooking method of each food may be stored in more detail than that in the example illustrated in
In a “completed food image” column, data that visually shows an example of a completed form of each food is stored. Here, the example of the completed form stored in the “completed food image” column may be, for example, photographic data. In addition, the example of the completed form may be one in which each ingredient is arranged by using computer graphics (CG). For example, in a case where the control unit 200 determines a recipe in which a predetermined ingredient is substituted, the output unit 600 may replace a CG image of the ingredient stored in the ingredient information DB 420 with a CG image of a substitute ingredient and output a completed food image to the user.
A “matching food” column shows the name of a food that matches with each food. Here, the “matching” means that, for example, foods do not cause a problem when provided at the same time, or a food is suitable to be provided to take away the aftertaste after a predetermined food is provided. For example, a “matching food” in the food information record R11 is “Caesar salad”, and a “matching food” in the food information record R13 is “pork curry”. The food name stored in the “matching food” column is not limited to the above example.
Hereinabove, an example of the food information table TA1 stored in the food information DB 410 has been described. Note that the storage unit 400 may store the food information table TA1 stored in the food information DB 410 in a format that can be searched for and analyzed by the control unit 200, in addition to a table format as illustrated in
Note that the food information DB 410 may be prepared in advance or may be added sequentially. Further, the above-described attribute example is only an example, and is not limited to such an example.
Next, an output of a screen of a food order using a food name will be described, the output being performed by the output unit 600 under the control of the control unit 200.
Here, the order button group BG1 means a set of a plurality of order buttons. When the user touches one of the plurality of order buttons, a food corresponding to the touched order button is ordered. In
In the example of
Hereinabove, the output of a screen of a food order using a food name has been described. Next, an output of a screen of a food order including an order condition will be described, the output being performed by the output unit 600 under the control of the control unit 200.
In the example of
In this way, even in a case where the user places an ambiguous order, the control unit 200 can determine a suitable recipe by using the food information DB 410.
Subsequently, an example of the ingredient information DB 420 in the cooking system according to the present embodiment will be described.
The ingredient information table TA2 includes information regarding each food. The information regarding each food is stored in each of the food information records R21 to R24 and the like. The control unit 200 determines a recipe by referring to the ingredient information table TA2. When determining the recipe, the control unit 200 refers to a food information record of the ingredient information table TA2 as necessary, the food information record corresponding to an ingredient name shown in the “basic ingredients” column of the food information table TA1.
Hereinafter, each attribute (column) in the example illustrated in
An “ingredient name” column shows the name of each ingredient. For example, an “ingredient name” of the ingredient information record R21 is “whiteleg shrimp”.
A “large category” column and a “medium category” column show the kinds into which respective ingredients are roughly classified. The “medium category” column shows the kinds into which the ingredients are more specifically classified, as compared with those in the “large category” column. For example, a “large category” in the ingredient information record R21 is “seafoods”, and a “medium category” is “shrimp”.
A “specific raw material” column shows whether or not each ingredient is a specific raw material. Here, the specific raw material means an ingredient that causes a food allergy. For example, a “specific raw material” in the ingredient information record R21 is “o (the ingredient is the specific raw material)”.
A “three major nutrients” column, a “vitamins” column, and a “minerals” column show nutritional information of each ingredient. Note that the amount of nutrient shown in the example of
A “season” column shows the season of each ingredient. The control unit 200 may determine a recipe so that a food including a seasonal ingredient can be provided to the user on the basis of the “season” column of the ingredient information DB 420. Note that data for an ingredient that is in season all year round may be empty in the “season” column.
A “substitutable ingredient” column shows an ingredient that can substitute for each ingredient. The control unit 200 refers to the “substitutable ingredient” column when determining a recipe in which a predetermined ingredient is substituted. In the “substitutable ingredient” column, ingredients are classified according to a factor of substitution. For example, ingredients are classified into “allergy (nutrient)”, “texture”, and “season”. For example, “allergy (nutrient)” shows a substitutable ingredient in a case where a corresponding ingredient is an ingredient to which the user has an allergy. In the ingredient information table TA2, items for which substitute ingredients are not registered are blank. Further, for example, a “texture” of a “substitutable ingredient” of the ingredient information record R21 is “squid and egg white”.
Note that the number of classifications in the “substitutable ingredient” column may be adjusted to be less than or equal to a predetermined number in order to avoid frequent substitution of ingredients. In addition, the classification in the “substitutable ingredient” column may be used for purposes other than those described in the classification. For example, the ingredient shown in “allergy (nutrient)” may substitute for an ingredient “that the user can eat if the taste is covered up”.
Note that the ingredient information DB 420 may be prepared in advance or may be added sequentially. Further, the above-described attribute example is only an example, and is not limited to such an example. Another example of the attribute includes “possibility of being eaten raw”. In a case of fishes or the like, even when the “kinds” of all ingredients are “fishes”, some ingredients may be more suitable to be eaten raw and some ingredients may be more suitable to be eaten by heating. Therefore, proper cooking can be performed by referring to “possibility of being eaten raw”.
Further, the ingredient information DB 420 may include inventory information of each ingredient. The control unit 200 can determine a recipe of a food that can be currently provided by referring to the inventory information of each ingredient. In addition, the ingredient information DB 420 may include the freshness of a predetermined ingredient such as vegetables. The control unit 200 can perform inventory management and provide a fresher ingredient by referring to the freshness of the predetermined ingredient. In addition, the ingredient information DB 420 may include a CG image of each ingredient. The CG image of each ingredient may be used in the “completed food image” of the food information DB 410.
Subsequently, an example of the user information DB 430 in the cooking system according to the present embodiment will be described.
The user information table TA3 includes information regarding each food. The information regarding each food is stored in each of the user information records R31 to R33 and the like. The control unit 200 determines a recipe by referring to the user information table TA3. When determining the recipe, the control unit 200 refers to a user information record of the user information table TA3 as necessary, the user information record corresponding to a target user for which the recipe is determined in the user information table TA3.
Hereinafter, each attribute (column) in the example illustrated in
An “age” column and a “sex” column show additional information of each user. The control unit 200 may determine a recipe on the basis of the additional information. On the basis of a plurality of pieces of additional information, the control unit 200 may estimate data of a “favorite ingredient” column of a predetermined user from a user information record of another user similar to the predetermined user, the “favorite ingredient” column being to be described later. For example, an “age” in the user information record R31 is “30” and a “sex” is “male”.
A “prioritized item” column shows a tendency of the priority in each user's diet. Examples of the prioritized item include preference and nutrition. Here, the preference as the prioritized item indicates that the user has a tendency to eat by giving priority to the preference of the user in the taste or texture, rather than a nutritional balance. On the other hand, here, the nutrition as the prioritized item indicates that the user has a tendency to eat in consideration of a nutritional balance, rather than the preference of the user in the taste or texture. When determining a recipe, the control unit 200 may refer to the “prioritized item” column and determine the recipe according to the tendency of each user. For example, a “prioritized item” in the user information record R31 is “preference”. Note that the tendency shown in the “prioritized item” column is not limited to the above example.
In the example of
A “favorite ingredient” column and a “least favorite ingredient” column show preferences of the user for a predetermined ingredient, each of which is one of the avoidance factors. The “favorite ingredient” column shows the name of an ingredient preferred by the user. On the other hand, the “least favorite ingredient” column shows the name of an ingredient avoided by the user. When determining a recipe, the control unit 200 refers to the “favorite ingredient” column and the “least favorite ingredient” column, and may determine, for example, a recipe that includes an ingredient preferred by the user and does not include an ingredient avoided by the user. For example, a “favorite ingredient” in the user information record R31 is “pork and potato”, and a “least favorite ingredient” is “carrot and onion”.
Note that, in the example of
An “allergy” column shows the kind of an ingredient to which each user has an allergy as the avoidance factor. When determining a recipe, the control unit 200 may refer to the “allergy” column and determine a recipe that includes only an ingredient to which the user does not have an allergy. For example, an “allergy” in the user information record R31 is “milk”.
Further, although not illustrated in
Here, registration of a “favorite ingredient”, a “least favorite ingredient”, and an “ingredient to which the user has an allergy” as the user information will be described.
The input unit 100 may receive registration of a “favorite ingredient”, a “least favorite ingredient”, and an “ingredient to which the user has an allergy” through an input operation performed by the user on, for example, the predetermined application running on the smartphone SP illustrated in
In the example of
Next, information regarding a predetermined ingredient included in the user information table TA3 will be described. In
An example of
For example, in
Note that the control unit 200 may perform ingredient substitution so that an avoidance level for an ingredient is lower than or equal to a predetermined level. For example, in the example of
As such, it is possible to determine a recipe that is more suitable for each user by setting the avoidance level on the basis of the avoidance factor. With such a function, it becomes possible to determine a recipe that is more beneficial to the user.
Subsequently, a user information update based on a feedback from the user will be described, the user information update being performed by the control unit 200. The control unit 200 according to the present embodiment may update user information of a user on the basis of a feedback from the user.
In the example illustrated on the upper side of
In the above, a feedback on a predetermined food from the user has been described. The control unit 200 may update user information on the basis of a feedback on a predetermined ingredient from the user.
In the example of
As such, it is possible to obtain more realistic user information and set the avoidance level on the basis of a feedback from the user. With such a function, it becomes possible to determine a recipe that is more suitable for each user.
Further, the control unit 200 may estimate predetermined user information on the basis of user information of another user, which is similar to the predetermined user information.
An example of
Note that the control unit 200 may estimate user information by using collaborative filtering.
In this way, it is possible to estimate information regarding a user by using user information of another user, the information having not yet been registered by the user. With such a function, it becomes possible to determine a recipe that is more suitable for the user.
Next, an example of a flow of an operation related to recipe determination performed by the control unit 200 will be described.
Referring to
On the other hand, in a case where the number of items ordered by the user is not less than or equal to the predetermined value (S1103: NO), the control unit 200 calculates a nutrient intake amount of the user on the basis of the number of items ordered by the user, and determines, on the basis of the calculated intake amount and an ideal nutrient amount of the user, whether or not a necessary nutrient is contained (S1105). In a case where it is determined that the nutrient that is determined as being necessary is not contained (S1105: NO), the control unit 200 determines whether or not the number of candidate recipes is plural (S1107).
On the other hand, in a case where it is determined that the nutrient that is determined as being necessary is contained (S1105: YES), the control unit 200 extracts a recipe containing a predetermined amount or more of nutrient that is determined as being necessary among the candidate recipes (S1106), and determines whether or not the number of extracted recipes is plural (S1107). In a case where it is not determined in Step S1107 that the number of candidate recipes is plural (in a case where the number of candidate recipes is one) (S1107: NO), the control unit 200 replaces an ingredient that is not eatable by the user among ingredients of the candidate recipe with a substitute ingredient (S1108) and determines the recipe (S1109).
On the other hand, in a case where it is determined that the number of candidate recipes is plural (S1107: YES), the control unit 200 excludes a recipe including an ingredient that is not eatable by the user among the candidate recipes (S1110). Next, in a case where it is determined that the number of candidate recipes is not plural (S1111: NO), the control unit 200 determines the recipe (S1108) and ends the operation. On the other hand, in a case where it is determined that the number of candidate recipes is plural (S1111: YES), the control unit 200 determines a recipe so that the avoidance level is lower than or equal to a predetermined level on the basis of another order condition (S1112), and ends the operation.
The above-described flow of the operation related to recipe determination performed by the control unit 200 with an emphasis on a nutritional balance is merely an example, and is not limited to such an example. Further, in a case where there is no candidate recipe in Step S1107, for example, a recipe having the lowest avoidance level may be determined in Step S1102, for example. Further, in Step S1108 or Step S1112, the control unit 200 may notify the user of the determined recipe.
Next, an example of a flow of an operation related to recipe determination performed by the control unit 200 with an emphasis on a preference will be described.
Referring to
On the other hand, in a case where the number of items ordered by the user is not less than or equal to the predetermined value (S1203: NO), the control unit 200 determines whether or not there is a recipe including an ingredient preferred by the user among the corresponding recipes (S1205). In a case where it is determined that there is no recipe including an ingredient preferred by the user (S1205: NO), the control unit 200 determines whether or not the number of candidate recipes is plural (S1207).
On the other hand, in a case where it is determined that there is a recipe including an ingredient preferred by the user (S1205: YES), the control unit 200 extracts a recipe including an ingredient preferred by the user among the corresponding recipes (S1206), and determines whether or not the number of extracted recipes is plural (S1207). In a case where it is not determined in Step S1207 that the number of candidate recipes is plural (in a case where the number of candidate recipes is one) (S1207: NO), the control unit 200 replaces an ingredient that is not eatable by the user among ingredients of the candidate recipe with a substitute ingredient (S1208) and determines the recipe (S1209).
On the other hand, in a case where it is determined that the number of candidate recipes is plural (S1207: YES), the control unit 200 excludes a recipe including an ingredient that is not eatable by the user among the candidate recipes (S1210). Next, in a case where it is determined that the number of candidate recipes is not plural (S1211: NO), the control unit 200 determines the recipe (S1208) and ends the operation. On the other hand, in a case where the number of candidate recipes is plural (S1211: YES), the control unit 200 calculates a nutrient intake amount of the user on the basis of the number of items ordered by the user, determines, on the basis of the calculated intake amount and an ideal nutrient amount of the user, a recipe containing a necessary nutrient as much as possible (S1212), and ends the operation.
The above-described flow of the operation related to recipe determination performed by the control unit 200 with an emphasis on a preference is merely an example, and is not limited to such an example.
Further, the control unit 200 can determine a recipe on the further basis of the number of food orders, recommend the recipe to the user, and provide the food on the basis of a response from the user.
Referring to
Next, in a case where the number of orders in an order history is 0 (S1303: YES), the control unit 200 determines an appetizer to be provided (S1304). Next, the control unit 200 performs update so as to add the number of orders in the order history of the user in the storage unit 400 by one (S1305). Next, the cooking unit 500 cooks the appetizer determined in Step S1304 (S1306). Next, the appetizer cooked in Step S1306 is provided by a robot or the like (S1307), and the process returns to Step S1303.
On the other hand, in a case where the number of orders in the order history is not 0 (S1303: NO) and the control unit 200 does not acquire a food order (S1308: NO), the process returns to Step S1308. Further, in a case where the number of orders in the order history is not 0 (S1303: NO) and the control unit 200 acquires a food order (S1308: YES), the control unit 200 determines a recipe on the basis of the food information DB 410, the ingredient information DB 420, and the user information DB 430 (S1309).
Next, the control unit 200 recommends the recipe determined in Step S1309 to the user, and determines whether or not a response from the user is acceptance (S1310). In a case where it is determined that the response is not acceptance (S1310: NO), the process returns to Step S1308. On the other hand, in a case where it is determined that the response is acceptance (S1310: YES), the control unit 200 performs update so as to add the number of orders in the order history of the user in the storage unit 400 by one (S1311). Next, the cooking unit 500 performs cooking on the basis of the recipe determined in Step S1309 (S1312). Finally, the appetizer cooked in Step S1306 is provided by a robot or the like (S1313), and the cooking system ends the operation.
The flow of the operation of the control unit 200 that is related to the recipe recommendation and the order history has been described above. Here, the control unit 200 may recommend a recipe in a case where the number of orders from the user is less than or equal to a predetermined value for a predetermined time.
In the example of
In this way, in a case where there are few food orders from the user for a predetermined time, it is possible to obtain more realistic user information. With such a function, it becomes possible to determine a recipe that is more suitable for each user.
Next, a flow of an operation related to a case where there is no food order from the user for a predetermined time according to the present embodiment will be described, the operation being performed by the control unit 200.
Referring to
On the other hand, in a case where it is determined that the predetermined time has elapsed from the most recent food order from the user (S1403: YES), the control unit 200 determines whether or not the predetermined time elapsed from the most recent food order from the user is longer than or equal to a threshold value (S1404). In a case where it is determined that the predetermined time is longer than or equal to the threshold value (S1404: YES), the control unit 200 causes the output unit 600 to notify the user that food provision to the user has not been performed for a certain time (S1405), and ends the operation.
On the other hand, in a case where it is determined that the predetermined time is not longer than or equal to the threshold value (S1404: NO), the control unit 200 determines a recipe on the basis of the food information DB 410, the ingredient information DB 420, and the user information DB 430 (S1406). Next, in a case where the number of orders in the order history is less than or equal to a predetermined value (S1407: YES), the control unit 200 performs an update so as to add the recipe determined in Step S1406 to the order history of the user (S1409). On the other hand, in a case where the number of orders in the order history is not less than or equal to the predetermined value (S1407: NO), the control unit 200 recommends the recipe determined in Step S1406 to the user, and determines whether or not a response from the user to the recommendation is acceptance (S1408). In a case where it is determined that the response is not acceptance (S1408: NO), the process returns to Step S1401. On the other hand, in a case where it is determined that the response is acceptance (S1408: YES), the control unit 200 performs an update so as to add the recipe determined in Step S1406 to the order history of the user (S1409). After performing Step S1409, the control unit 200 causes the cooking unit 500 to cook the recipe determined in Step S1406 (S1410). Finally, the food cooked in Step S1406 is provided to the user by a person or a robot (S1411), and the control unit 200 ends the operation.
In a case where a cooking robot cooks a determined recipe, the user may not be able to recognize that the cooked food includes an ingredient that is not preferred by the user. For example, in a case where the user orders a food having a food name from which it is difficult to guess ingredients, it is not possible to determine whether or not the provided food includes an ingredient to which the user has an allergy.
Therefore, the control unit 200 may notify the user of ingredient substitution.
In the example of
As such, it is possible to determine a recipe that is more suitable for the user's situation by notifying the user of ingredient substitution. Further, it becomes possible for a user who has an allergy to a predetermined ingredient to eat foods with an easy mind by notifying the user of ingredient substitution as described above.
Subsequently, a display control related to user information according to the present embodiment will be described, the display control being performed by the control unit 200.
In the example of
Hereinabove, an example of a situation where the user eats alone has been described. However, people usually eat together with an accompanying person at a restaurant or the like. Here, the control unit 200 according to the present embodiment may determine a recipe or cause the cooking unit 500 to perform cooking in consideration of the presence of an accompanying person.
The example of
In this way, it is possible to determine a recipe suitable for each user even in a situation where there is an accompanying person, that is, a plurality of users eat together.
Next, a hardware configuration example of the information processing apparatus including the control unit 200 according to an embodiment of the present disclosure will be described.
(Processor 871)
For example, the processor 871 functions as an arithmetic processing device or a control device, and controls an overall operation of each component or a part thereof on the basis of various programs recorded in the ROM 872, the RAM 873, the storage 880, or a removable recording medium 901.
(ROM 872 and RAM 873)
The ROM 872 is means that stores a program read by the processor 871, data to be used for calculation, or the like. The RAM 873 temporarily or permanently stores, for example, the program read by the processor 871, various parameters that change as appropriate when the program is executed, or the like.
(Host Bus 874, Bridge 875, External Bus 876, and Interface 877)
The processor 871, the ROM 872, and the RAM 873 are mutually connected via, for example, the host bus 874 capable of high-speed data transmission. Meanwhile, the host bus 874 is connected to the external bus 876, which has a relatively low data transmission rate, via the bridge 875, for example. In addition, the external bus 876 is connected to various components via the interface 877.
(Input Device 878)
As the input device 878, for example, a mouse, a keyboard, a touch panel, a button, a switch, a lever, or the like is used. Further, a remote controller capable of transmitting a control signal using infrared rays or other radio waves may also be used as the input device 878. In addition, the input device 878 includes a speech input device such as a microphone.
(Output Device 879)
The output device 879 is a device capable of visually or audibly notifying a user of acquired information, such as a display device such as a cathode ray tube (CRT), a liquid crystal display (LCD), or an organic EL, an audio output device such as a speaker or a headphone, a printer, a mobile phone, or a facsimile. In addition, the output device 879 according to the present disclosure includes various vibration devices capable of outputting haptic stimulation.
(Storage 880)
The storage 880 is a device for storing various types of data. As the storage 880, for example, a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, or a magneto-optical storage device is used.
(Drive 881)
The drive 881 is a device that reads information recorded on the removable recording medium 901 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, or writes information to the removable recording medium 901.
(Removable Recording Medium 901)
The removable recording medium 901 is, for example, a DVD medium, a Blu-ray (registered trademark) medium, an HD DVD medium, or various semiconductor storage media. It is a matter of course that the removable recording medium 901 may be, for example, an IC card equipped with a non-contact IC chip, or an electronic device.
(Connection Port 882)
The connection port 882 is a port for connecting an external connection device 902 such as a universal serial bus (USB) port, an IEEE 1394 port, a small computer system interface (SCSI), an RS-232C port, or an optical audio terminal.
(External Connection Device 902)
The external connection device 902 is, for example, a printer, a portable music player, a digital camera, a digital video camera, or an IC recorder.
(Communication Device 883)
The communication device 883 is a communication device for connection to a network, and is, for example, a communication card for a wired or wireless LAN, Bluetooth (registered trademark), or a wireless USB (WUSB), a router for optical communication, a router for an asymmetric digital subscriber line (ADSL), or a modem for various communications.
As described above, the cooking system according to the embodiment of the present disclosure can determine a recipe that is more suitable for each user, and thus can determine a recipe that is more suitable for each user even in a case where the avoidance factor is difficult to quantitatively determine.
As described above, the preferred embodiments of the present disclosure have been described in detail with reference to the accompanying drawings, but the technical scope of the present disclosure is not limited to such examples. It will be apparent to those skilled in the art to which the present disclosure pertains that various modifications or alterations can be conceived within the scope of the technical idea described in the claims and it is naturally understood that these modifications or alterations fall within the technical scope of the present disclosure.
Furthermore, the effects described in the present specification are merely illustrative or exemplary and are not restrictive. That is, the technology according to the present disclosure can exhibit, in addition to or in place of the above-described effects, other effects obvious to those skilled in the art from the description of the present specification.
In addition, the respective steps related to the processing performed by the information processing terminal 10 and the information processing server 20 in the present specification are not necessarily performed in a time-series manner in the order described in the sequence diagram. For example, the respective steps related to the processing performed by the information processing terminal 10 and the information processing server 20 may be performed in an order different from the order described in the flowchart, or may be performed in parallel.
Note that the following configurations also fall within the technical scope of the present disclosure.
(1) An information processing apparatus comprising:
a control unit that determines a recipe on a basis of user information including an avoidance level of a user for a predetermined ingredient, food information regarding each food, and ingredient information including information regarding each ingredient, wherein the avoidance level for the predetermined ingredient is set on a basis of an avoidance factor of the user for the predetermined ingredient, and the food information includes information indicating the ingredient used to cook the food.
(2) The information processing apparatus according to (1), wherein
the control unit determines the recipe in which the ingredient is substituted so that the avoidance level of the ingredient is lower than or equal to a predetermined level.
(3) The information processing apparatus according to (2), wherein
the avoidance factor includes a fact that the user has an allergy to the predetermined ingredient, and
the control unit determines the recipe that does not include the ingredient to which the user has an allergy so that the avoidance level of the ingredient is lower than or equal to the predetermined level.
(4) The information processing apparatus according to (2) or (3), wherein
the avoidance factor includes a preference of the user for the predetermined ingredient, and
the control unit determines the recipe so that the avoidance level for the ingredient is lower than or equal to the predetermined level, on a basis of the preference of the user for the predetermined ingredient.
(5) The information processing apparatus according to (4), wherein
the control unit determines the recipe including an ingredient that the user prefers more than other ingredients, or the recipe that that does not include an ingredient that the user dislikes more than the other ingredients, so that the avoidance level of the ingredient is lower than or equal to the predetermined level.
(6) The information processing apparatus according to any one of (1) to (5), wherein
the control unit determines the recipe on a further basis of a food order history of the user.
(7) The information processing apparatus according to (6), wherein
the food order history of the user includes at least one order condition, and
the control unit determines the recipe on a further basis of the at least one order condition.
(8) The information processing apparatus according to (7), wherein
the order condition includes the avoidance factor, and
the control unit determines the recipe on a further basis of the avoidance level set on a basis of the avoidance factor included in the order condition.
(9) The information processing apparatus according to any one of (6) to (8), wherein
the food order history of the user includes nutritional information regarding a food ordered by the user,
the ingredient information includes information indicating the nutritional information of a nutrient contained in each ingredient, and
the control unit determines the recipe on a further basis of the nutritional information.
(10) The information processing apparatus according to (9), wherein
the control unit determines, on a basis of an ideal nutrient intake amount of the user and an amount of a nutrient contained in a food provided to the user, the recipe so that a nutrient intake amount of the user reaches the ideal nutrient intake amount.
(11) The information processing apparatus according to any one of (6) to (10), wherein
the control unit determines the recipe on a basis of the food order history of the user in a case where it is determined that the number of new orders is less than or equal to a predetermined value for a predetermined time after a predetermined order from the user, on a basis of orders included in the food order history of the user.
(12) The information processing apparatus according to any one of (1) to (11), wherein
the user information is updated on a basis of a feedback on the provided food from the user, and
the control unit determines the recipe on a basis of the updated user information.
(13) The information processing apparatus according to any one of (1) to (12), wherein
the control unit determines the recipe on a further basis of the user information regarding other users.
(14) The information processing apparatus according to (13), wherein
the control unit determines the recipe on a basis of the user information regarding another user, who is similar to a user to be provided with the food, among the other users.
(15) The information processing apparatus according to (13) or (14), wherein
the control unit estimates the avoidance factor of the user on a further basis of the user information regarding the other users, and determines the recipe on a further basis of the estimated avoidance factor.
(16) The information processing apparatus according to (14), wherein
the control unit determines the recipe on a further basis of the user information regarding at least one accompanying user of the user to be provided with the food.
(17) The information processing apparatus according to (16), wherein
the control unit determines the recipe on a further basis of a result of comparison between the user information regarding the user to be provided with the food and the user information regarding the accompanying user.
(18) The information processing apparatus according to any one of (1) to (17), wherein
the control unit causes a cooking robot to cook the food corresponding to the determined recipe.
(19) An information processing method comprising:
determining, by a processor, a recipe on a basis of user information including an avoidance level of a user for a predetermined ingredient, food information regarding cooking of each food, and ingredient information including information regarding each ingredient, wherein
the avoidance level for the predetermined ingredient is set on a basis of an avoidance factor of the user for the predetermined ingredient, and
the food information includes information indicating the ingredient used to cook the food.
(20) A program for causing a computer to function as an information processing apparatus including
a control unit that determines a recipe on a basis of user information including an avoidance level of a user for a predetermined ingredient, food information regarding cooking of each food, and ingredient information including information regarding each ingredient, wherein
the avoidance level for the predetermined ingredient is set on a basis of an avoidance factor of the user for the predetermined ingredient, and
the food information includes information indicating the ingredient used to cook the food.
Number | Date | Country | Kind |
---|---|---|---|
2018-193428 | Oct 2018 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2019/034354 | 9/2/2019 | WO | 00 |