Method and apparatus for automated selection and organization of products including menus
First Claim
1. A computer-implemented method for creating a food preference vector, the preference vector comprising a plurality of fields that represent specific user preferences, the method comprising the steps of:
- (A) asking a pre-determined question eliciting information about the user'"'"'s preference for a food with a specific characteristic;
(B) storing a user response to the question in a field in the preference vector corresponding to the specific characteristic;
(C) repeating steps (A)-(B) until all preference questions have been asked;
(D) accessing a recipe for a menu with characteristics;
(E) determining the suitability of the menu based on a comparison of the characteristics of the recipe for the menu with user preferences obtained from the food preference vector wherein the determining the suitability of the menu further comprises assigning a suitability weight to the menu based on a comparison of the characteristics of the recipe for the menu with the user preferences;
identifying a last time the menu was used; and
modifying the suitability weight based on the identified time of last use;
(F) recommending the menu to the user if the menu is found to be suitable; and
(G) updating the user food preference vector based on user satisfaction of the recommended menu.
2 Assignments
0 Petitions
Accused Products
Abstract
An automatic maid performs all of the selection and organization tasks involved with family meal planning. The automatic maid keeps track of the needs and preferences of all users. User needs and preferences are constantly refined through questions about foods both eaten and rejected. The automatic maid keeps track of household inventory and can order additional supplies. The automatic maid uses the preferences of the users and its knowledge of the household inventory to select the most compatible meals. It gives instruction on food preparation, can activate appliances, and can order food. The automatic maid can be accessed from a remote location and can update its recipes over a network or the Internet.
211 Citations
20 Claims
-
1. A computer-implemented method for creating a food preference vector, the preference vector comprising a plurality of fields that represent specific user preferences, the method comprising the steps of:
-
(A) asking a pre-determined question eliciting information about the user'"'"'s preference for a food with a specific characteristic;
(B) storing a user response to the question in a field in the preference vector corresponding to the specific characteristic;
(C) repeating steps (A)-(B) until all preference questions have been asked;
(D) accessing a recipe for a menu with characteristics;
(E) determining the suitability of the menu based on a comparison of the characteristics of the recipe for the menu with user preferences obtained from the food preference vector wherein the determining the suitability of the menu further comprises assigning a suitability weight to the menu based on a comparison of the characteristics of the recipe for the menu with the user preferences;
identifying a last time the menu was used; and
modifying the suitability weight based on the identified time of last use;
(F) recommending the menu to the user if the menu is found to be suitable; and
(G) updating the user food preference vector based on user satisfaction of the recommended menu. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 19)
(A) exclusive preference positions for storing the user'"'"'s absolute preferences for a first set of specific characteristics relating to a product; and
(B) non-exclusive preference positions for storing the degree of user preference for a second set of specific characteristics relating to a product.
-
-
3. The computer-implemented method of claim 1 wherein the preference vector comprises exclusive preference positions for storing the user'"'"'s absolute preferences for a first set of specific characteristics relating to a product, and non-exclusive preference positions for storing the degree of user preference for a second set of specific characteristics relating to a product, the method further comprising the steps of:
-
(A) asking basic system parameter questions;
(B) asking exclusive preference questions;
(C) setting the exclusive preference positions of the preference vector based on user responses to the exclusive preference questions;
(D) asking additional questions for matching user preferences to a preset model;
(E) selecting a preset model for representing user preferences based on the user responses to the basic system parameter questions, exclusive preference questions, and the additional questions;
(F) setting default values for the non-exclusive preference positions based on the selected preset model; and
(G) asking questions for modifying the default values of specified non-exclusive preference positions for better representing user preferences.
-
-
4. The computer-implemented method of claim 1 wherein the preference vector is a food preference vector and the step of asking a pre-determined question comprises the step of asking a pre-determined question about a particular food characteristic.
-
5. The computer-implemented method of claim 1 wherein the food preference vector comprises exclusive preference positions for storing the user'"'"'s absolute preferences for a first set of specific food characteristics, and non-exclusive preference positions for storing the degree of user preference for a second set of specific food characteristics, the step of determining the suitability of the menu further comprising the steps of:
-
(A) representing the recipe in a recipe vector comprising exclusive positions and non-exclusive positions;
(B) comparing the exclusive preference positions of the food preference vector with the exclusive positions of the recipe vector;
(C) assigning a suitability weight to the recipe if the exclusive preference positions match the exclusive positions of the recipe vector, wherein the suitability weight is based on a comparison of the non-exclusive preference positions with the non-exclusive positions of the recipe vector.
-
-
6. The computer-implemented method of claim 1 further comprising the step of changing the menu from a remote location after user selection of the recommended menu.
-
7. The computer-implemented method of claim 1 further comprising the step of providing a cooking instruction to the user upon user selection of the recommended menu.
-
8. The computer-implemented method of claim 1 further comprising the steps of:
-
(A) determining which ingredients are necessary for preparing the recommended menu;
(B) checking a home product database for the ingredients necessary for preparing the recommended menu where the home product database contains an inventory of all food related products in the user home;
(C) placing ingredients missing from the home product database into a shopping list.
-
-
9. The computer-implemented method of claim 8 further comprising the step of transmitting the shopping list to a store via a network connection.
-
10. The computer-implemented method of claim 9 further comprising the step of automatically updating the home product database upon receipt of items in the shopping list.
-
19. The computer-implemented method of claim 1, wherein the updating the user food preference vector further comprises:
-
receiving user feedback about a particular characteristic of the recommended menu;
searching for a field in the preference vector corresponding to the particular characteristic; and
modifying the value in the field corresponding to the particular characteristic based on the user feedback, the modified value enabling a more accurate representation of the user'"'"'s food preferences.
-
-
11. In an automated maid system including a computer, an apparatus for creating a food preference vector, the preference vector comprising a plurality of fields that represent specific user preferences, the apparatus comprising:
-
(A) means for asking a pre-determined question eliciting information about the user'"'"'s preference for a food with a specific characteristic;
(B) means for storing a user response to the question in a field in the preference vector corresponding to the specific characteristic;
(C) means for accessing a recipe for a menu with characteristics;
(D) means for determining the suitability of the menu based on a comparison of characteristics of the recipe for the menu with user preferences obtained from the food preference vector, wherein the means for determining the suitability of the menu further comprises means for assigning a suitability weight to the menu based on a comparison of the characteristics of the recipe for the menu with the user preferences;
means for identifying a last time the menu was used; and
means for modifying the suitability weight based on the identified time of last use;
(E) means for recommending the menu to the user if the menu is found to be suitable; and
(F) updating the user food preference vector based on user satisfaction of the recommended menu. - View Dependent Claims (20)
means for receiving user feedback about a particular characteristic of the recommended menu;
means for searching for a field in the preference vector corresponding to the particular characteristic; and
means for modifying the value in the field corresponding to the particular characteristic based on the user feedback, the modified value enabling a more accurate representation of the user'"'"'s food preferences.
-
-
12. A computer-implemented method for recommending recipes catered to a particular user'"'"'s preferences, the method comprising:
-
creating a user preference vector having a plurality of fields, each field corresponding to an objectively measurable characteristic associated with food;
asking a pre-determined question for measuring the user'"'"'s food preferences;
storing a preference value in the user preference vector for at least a portion of the objectively measurable characteristics based on a user response to the question;
retrieving a recipe from a menu recommendation database, the recipe being associated with a plurality of recipe characteristic values associated with the objectively measurable characteristics in the user preference vector;
comparing the recipe characteristic values with the preference values in the user preference vector;
assigning a suitability weight to the recipe based on the comparison;
identifying a last time the recipe was used;
modifying the suitability weight based on the identified time of last use;
selecting the recipe as a recommended recipe based on the suitability weight; and
displaying the recommended recipe on a user display. - View Dependent Claims (13, 14)
retrieving a list of ingredients for preparing the recommended recipe; and
writing the retrieved list of ingredients into a shopping list.
-
-
14. The method of claim 12 further comprising:
-
creating a recipe vector having the same fields as the user preference vector; and
storing the recipe characteristic values in the recipe vector.
-
-
15. A computer-implemented method for recommending recipes catered to a particular user'"'"'s preferences, the method comprising:
-
creating a user preference vector having a plurality of fields, each field corresponding to an objectively measurable food characteristic;
asking a pre-determined question eliciting a user rating of one of the objectively measurable food characteristics, the user rating indicating a degree of preference for the food characteristic;
storing the user rating in the corresponding field of the user preference vector;
retrieving a recipe from a menu recommendation database, the recipe being associated with a plurality of recipe characteristic values associated with the objectively measurable food characteristics in the user preference vector;
comparing the recipe characteristic values with the user ratings in the user preference vector;
assigning a suitability weight to the recipe based on the comparison;
identifying a last time the recipe was used;
modifying the suitability weight based on the identified time of last use;
selecting the recipe as a recommended recipe based on the suitability weight; and
displaying the recommended recipe on the user display. - View Dependent Claims (16, 17)
retrieving a list of ingredients for preparing the recommended recipe; and
writing the retrieved list of ingredients into a shopping list.
-
-
17. The method of claim 15 further comprising:
-
creating a recipe vector having the same fields as the user preference vector; and
storing the recipe characteristic values in the recipe vector.
-
-
18. A computer system for recommending recipes catered to a particular user'"'"'s preferences, the system comprising:
-
means for storing a user preference vector having a plurality of fields, each field corresponding to an objectively measurable characteristic associated with food;
a display for presenting to the user a pre-determined question designed to measure the user'"'"'s food preferences;
a user input for receiving a user response to the pre-determined question presented on the display, wherein the user response is used to store a preference value in the user preference vector for at least a portion of the objectively measurable characteristics;
a menu recommendation database for storing a plurality of recipes, each recipe being associated with a plurality of recipe characteristic values associated with the objectively measurable characteristics;
a choice subsystem including logic for retrieving one of the recipes from the menu recommendation database, for comparing the recipe characteristic values with the preference values in the user preference vector, for assigning a suitability weight to the recipe based on the comparison, for identifying a last time the recipe was used, for modifying the suitability weight based on the identified time of last use, for selecting the recipe as a recommended recipe based on the suitability weight, and for displaying the recommended recipe on a user display.
-
Specification