[go: up one dir, main page]

WO2003054760A2 - Evaluation of a plurality of alternatives based on a plurality of individual preferences - Google Patents

Evaluation of a plurality of alternatives based on a plurality of individual preferences Download PDF

Info

Publication number
WO2003054760A2
WO2003054760A2 PCT/IB2002/005801 IB0205801W WO03054760A2 WO 2003054760 A2 WO2003054760 A2 WO 2003054760A2 IB 0205801 W IB0205801 W IB 0205801W WO 03054760 A2 WO03054760 A2 WO 03054760A2
Authority
WO
WIPO (PCT)
Prior art keywords
individual
restaurant
scores
restaurants
individuals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2002/005801
Other languages
French (fr)
Other versions
WO2003054760A8 (en
Inventor
Joseph F. Mccarthy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Accenture Global Services GmbH
Original Assignee
Accenture Global Services GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Accenture Global Services GmbH filed Critical Accenture Global Services GmbH
Priority to CA002471021A priority Critical patent/CA2471021A1/en
Priority to AU2002358923A priority patent/AU2002358923A1/en
Priority to EP02793266A priority patent/EP1456793A2/en
Publication of WO2003054760A2 publication Critical patent/WO2003054760A2/en
Publication of WO2003054760A8 publication Critical patent/WO2003054760A8/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention generally relates to measurement of group consensus and, in particular, to a technique for evaluating restaurants based on the preferences of a plurality of individuals.
  • a recommender system is a computer program that suggests a course of action to a user based on information known or inferred about that user. Recommendations are usually based on some combination of three factors: a profile of the user's preferences or history, the profiles of other users who are somehow similar to the user, and/or an analysis of the content of the alternatives being recommended. Examples of application domains developed thus far include the recommendation of videos, music albums and news.
  • the members of the group can examine various guides and brochures, but most are incomplete and inconsistent with respect to the kinds of information they provide about the alternatives.
  • a good concierge can be of great assistance in this regard, but one is not always available.
  • a system for determining group consensus relative to music selections is disclosed in
  • the present invention provides a recommendation technique whereby group consensus is measured across multiple preference attributes and whereby location information may be incorporated into the recommendation process.
  • individuals are requested to provide information regarding their preferences regarding a plurality of attributes.
  • information regarding a plurality of alternatives is also provided, which information assesses each of the alternatives according to the same attributes against which users designated their preferences.
  • each individual's preferences for each attribute are assessed for similarity to each alternative's showing with regard to each attribute. Weights designating the relative importance of each attribute to each individual may be used to weight the individual assessment results.
  • the resulting individual scores for each alternative are then combined into a group result for each alternative. Thereafter, the alternatives may be sorted according to their respective group result and presented to the plurality of individuals.
  • recommendations of restaurants are provided to groups of people all desiring to dine together, based both on the location of the group as well as their preferences across a variety of attributes.
  • Prospective diners fill out a profile of their dining preferences regarding restaurants, including, but not necessarily limited to, how far they are willing to travel, how much they are willing to spend, what types of cuisine they like (and don't like), and what types of restaurant amenities they like (and don't like).
  • these dining preferences are combined together to derive a list of potential restaurants, sorted in order of expected desirability for the group as a whole.
  • FIG. 1 illustrates a block diagram of a computer-implemented system in accordance with the present invention.
  • FIG. 2 is a flowchart illustrating a technique for evaluating group consensus across a plurality of alternatives in accordance with the present invention.
  • FIG. 3 illustrates an exemplary data entry screen in accordance with one embodiment of the present invention.
  • FIG. 4 illustrates an exemplary restaurant selection screen in accordance with one embodiment of the present invention.
  • FIG. 5 illustrates an exemplary restaurant selection results screen in accordance with one embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a technique for evaluating a plurality of restaurants according to dining preferences of a plurality of individuals in accordance with one embodiment of the present invention.
  • FIG. 1 illustrates a system 100 comprising a computer 102 that may be used to implement the present invention.
  • the computer 102 comprises a processor component 120 coupled to memory component 122 that stores at least one application 130.
  • the computer 102 may comprise virtually any type of computing platform including, but not limited to, a desktop personal computer, a laptop computer, a handheld computer, a personal digital assistant or a computer-equipped kiosk.
  • the computer 102 may be embodied by a mobile phone or the like, preferably enabled with short range wireless communication capability, such as that provided by IBM's Bluetooth technology, such that various device could communicate with one another.
  • the present invention is not limited in this regard.
  • the processor 120 may comprise any conventional microprocessor (such as a "PENTIUM” series processor), microcontroller, digital signal processor, combinations thereof or the like capable of executing instructions stored in the memory 122.
  • the memory 122 may comprise any combination of volatile storage devices, such random access memory (RAM) or the like, and non-volatile storage devices, such as read-only memory (ROM), optical or magnetic disk drives or the like.
  • RAM random access memory
  • ROM read-only memory
  • optical or magnetic disk drives or the like.
  • the memory 122 comprises one or more applications 130 which typically comprise stored instructions capable of execution by the processor 120.
  • at least one application comprises instructions for accepting attribute preference data and alternative attribute values, processing such data and values in accordance with the functionality described below, and providing outputs based on such processing.
  • the memory 122 may comprise additional stored instructions used to control other aspects of the system 100, such as an operating system and/or interface driver routines such as would be used to communicate with devices peripheral to the computer 102.
  • the computer 102 is coupled to at least one data input device 108 and at least one data output device 110.
  • the data input device(s) 108 allow data to be input to the computer 102, including, but not limited to, information regarding identities of individuals and, optionally, their respective preferences in relation to a plurality of alternatives.
  • the data input device(s) 108 may comprise a conventional keyboard and mouse user interface, a wireless link such as a so-called Bluetooth-capable interface or infrared port, an optical or magnetic scanner capable of reading encoded data or even a network interface coupled to a private or public network.
  • the data input devices 108 comprise a network of infrared sensors in communication with badge emitters worn by individuals. In this manner, when a group of individuals are gathered around a kiosk incorporating the computer 102, the infrared sensor network is capable of determining the identities of the individuals gathered around the kiosk and providing that information to the computer 102.
  • the at least one data output device 110 may comprise a portable display (in the case, e.g., of a handheld or laptop computer) or monitor (in the case, e.g., of a desktop computer or computer-enable kiosk).
  • a portable display in the case, e.g., of a handheld or laptop computer
  • monitor in the case, e.g., of a desktop computer or computer-enable kiosk.
  • a location provision component 112 is also coupled to the computer 102.
  • the location provision component 112 provides information regarding the location relevant to the plurality of individuals seeking a recommendation and thus is dependent upon the configuration of the system 100.
  • the location provision component 112 comprises a storage or memory location having stored therein information describing the fixed location of the kiosk.
  • the location provision component may comprise a data entry screen that allows a user to specify a certain location to an arbitrary degree of specificity.
  • the location provision component 112 may comprise a Global Positioning System receiver or other device capable of empirically determining the location of the computer 102 or one or more users of the computer 102.
  • the computer 102 is coupled, in one embodiment of the present invention, to a user database 104 and an alternatives database 106.
  • the databases 104, 106 may be implemented as an SQL (Structured Query Language) table residing on a suitable database platform such as a Microsoft SQL Server or the like.
  • the alternatives database 106 comprises a plurality of records where each record corresponds to a specific alternative, and each field represents a different attribute for that alternative.
  • an alternative may comprise any uniquely identifiable entity or thing which may be characterized according to one or more attributes, and for which recommendations may be made based on those attributes. For example, particular examples are provided below in which the alternatives are restaurants.
  • attributes in the context of the present invention comprise any criterion or feature applicable to all of the alternatives and which may be assessed in terms of preference by an individual.
  • the attributes for each restaurant may comprise a distance or location attribute, a cost attribute, a cuisine type attribute and/or an amenities attribute.
  • the distance or location attribute of a restaurant may be represented as the street address and city of the restaurant or, where the location of the users is fixed (as in the case of a hotel-based kiosk), a distance between the location and the restaurant.
  • the cost attribute of a restaurant comprises information regarding the average cost of a meal at the restaurant, rounded to the nearest appropriate currency unit.
  • the cuisine type attribute of a restaurant represents the types or styles of food available at that restaurant, e.g., French, Italian or Cajun.
  • all cuisine types are represented as a binary-valued feature vector; with type of cuisine offered by a particular restaurant represented by a one value in the corresponding position of the vector, with all other elements being zero.
  • the number and specificity of cuisine types tracked by the alternatives database is a matter of design choice. For example, according to www. zagats . com , there are 72 cuisine types available in the Chicago, Illinois area, whereas there are only 15 cuisine types available in the Columbus, Ohio area. Other cuisine type categorization schemes could be used and the present invention is not limited in this regard.
  • the amenities attribute represents the particular customer-service features offered by the restaurant, e.g., non-smoking seating, outside dining, valet parking, the willingness to seat parties of varying sizes on short notice, etc.
  • the various possible amenities for each restaurant are set forth in a binary-valued feature vector comprising a plurality of binary elements; each element corresponding to an amenity offered by a given restaurant is set to one, all other elements are set to zero.
  • the particular classification of the various possible amenities is a matter of design choice.
  • the fields in the user database 104 correspond to the information stored in the alternatives database 106.
  • the values for each of the fields are all based on a common scale indicating how important each attribute is to the user.
  • the values are based on a five-point scale, as illustrated in Table 1.
  • the -2 to +2 range shown in Table 1 is essentially arbitrary and other scales could be equally employed; for example, a range of 1 to 5 or 1 to 10 could be employed instead. However, it is believed that the -2 to +2 range is preferable to the extent that the negative and positive values correlate well with the interpretations shown in Table 1.
  • preference values are applied to each of the potential alternative attributes.
  • at least one value corresponding to each attribute treated in the alternatives database 106 is stored.
  • the number of values stored depends on the types of attributes used. For some attributes, a single value will suffice to capture an individual's preference. For other attributes comprising a plurality of specific types or sub-attributes, a plurality of values may be required. For example, with reference to the restaurant attributes described above, a variety of values are preferably stored in the user database 104. For the distance or location attribute, the preference value represents the distance an individual is willing to travel to get to a restaurant, measured in minutes.
  • three categories are preferably provided: less than 10 minutes, 10 to 20 minutes, more than 20 minutes.
  • a user assigns a preference value to each of these categories, e.g., if eating nearby is very important, the user may specify values of 2, -2 and -2 for these categories, respectively, whereas a weaker preference for something close by might be represented by values of 1, 0 and -1, respectively.
  • the number of distance categories shown here is arbitrary; a greater or lesser number of distance categories could be provided as a matter of design choice.
  • the specific values applied to each category are also arbitrary and may be dependent on the particular area under consideration.
  • the categories may be as set forth above. However, in a more rural or suburban environment, the categories may need to be adjusted upward (e.g., less than 15 minutes, 15-30 minutes, greater than 30 minutes) to account for the potential decreased number or density of restaurants.
  • a preference value represents the amount the user is willing to pay for a meal, measured in the appropriate currency units (e.g., U.S. dollars fd ⁇ a system used in the United States).
  • the appropriate currency units e.g., U.S. dollars fd ⁇ a system used in the United States.
  • three categories are preferably provided: less than $10, $10 to $20, and more than $20.
  • each preference value represents a particular user's affinity for each of the available cuisine types.
  • each preference value represents a particular user's affinity for each of the available amenities.
  • users may optionally provide relatives weights of each attribute listed. That is, with reference to the restaurant attributes, each user may specify the relative importance of each of the four attributes.
  • the four weight values must sum to one. So, for example, to represent priorities—in decreasing order of importance—of distance, then cost, then cuisine, then amenities, one might specify weight values of 0.4, 0.3, 0.2 and 0.1.
  • priorities—in decreasing order of importance—of distance, then cost, then cuisine, then amenities one might specify weight values of 0.4, 0.3, 0.2 and 0.1.
  • weight values 0.4, 0.3, 0.2 and 0.1.
  • other normalization schemes could be employed, e.g., forcing weights to sum to 100.
  • each user may be allowed to enter weights according to his or her own scale, with each weight thereafter normalized by the total of the weights entered, e.g., weights of 75, 50, 15 and 10 (for a total of 150) would be normalized to 0.5, 0.33, 0.1 and 0.07.
  • FIG. 2 illustrates a method for evaluating consensus of a plurality of individuals across a plurality of alternatives based on the preferences of the individuals involved.
  • the method illustrated in FIG. 2 may be readily implemented as stored software routines as represented, for example, by the at least one application 122 shown in FIG. 1.
  • individuals provide their attribute preferences to the user database 104 or to another storage media.
  • a computer- implemented data entry screen is provided whereby a user is prompted for information sufficient to uniquely identify that individual to the system, and for information regarding his/her various preferences based on the various attributes tracked by the system. The information obtained in this manner is thereafter stored in the user database 104.
  • a particular example of such a data entry screen is described below relative to FIG. 3.
  • other persistent storage media may be used, such as data encoded in a barcode format and printed to a suitable hardcopy media. Alternatively, such data may be encoded for use with a magnetic stripe card and stored thereon. Regardless of the storage media used, once stored, individual user preferences are available for use by the system. In a preferred embodiment, any individual's preferences may be updated and stored at any time.
  • the preferences of an individual may be inferred based on past history.
  • a restaurant loyalty card such as the Lettuce Entertain You Frequent Diner program (www.leye.com) could be used to track what kinds of restaurants a person frequents, and the cuisines, amenities, costs and distances of those restaurants could be used to approximate otherwise explicitly specified preferences.
  • the meals a person ordered could be tracked, an inference could be made that that person prefers meals of a certain type, e.g., if a person nearly always order seafood, "seafood" cuisine could be given a high preference value.
  • relative weights regarding each attribute may be obtained from the user. As described above, such weights describe the importance of each attribute relative to the other attributes for that user. Furthermore, it is anticipated that such weights could be inferred from experience, given a suitable tracking capability.
  • data representing attribute values for the various alternatives is provided to the alternatives database 106 or to another storage media.
  • the manner in which such data is gathered is a matter of design choice. For example, in one embodiment of the present invention, separate restaurants in a given area may be canvassed by a provider of the system. In another embodiment, the databases of commercially-available restaurant review services (e.g., Zagats) may be employed for this purpose. Regardless of the manner in which it is obtained, suitable formatting scripts (e.g., Perl scripts) may be used to transform the data into a desired format. As in the case of individual preferences, the alternative attribute values of any given alternative are preferably updateable at any time.
  • a group consisting of a plurality of individuals may be composed, which group of individuals desire to obtain a recommendation regarding the alternatives based on the individual preferences of the individuals forming the group. It is anticipated that a variety of social contexts may give rise to such a group. As mentioned previously, one such setting would be a group of unfamiliar individuals at a conference or the like. Even groups of individuals that are otherwise known to each other may desire a recommendation when they are co-located in an environment in which they are unfamiliar, e.g., a family or group of co- workers traveling to another city.
  • a mechanism is required to specify to the recommendation system 100 those individuals whose preferences are to be accounted for in the recommendation process.
  • a variety of such techniques may be employed.
  • a computer-implemented data entry screen is provided whereby information identifying the separate individuals may be manually entered. A particular example of this is illustrated in FIG. 4 below.
  • the mode whereby such identifying data is manually entered is a matter of design choice.
  • Keyboards may be used for this purpose or, in a more sophisticated approach, an infrared port or other wireless input may be provided whereby users are able to wirelessly transmit their identifying information through the use, for example, of a suitably equipped personal digital assistant (PDA).
  • PDA personal digital assistant
  • Other techniques in which the composition of the group is automatically determined may likewise be employed.
  • badges such as the infrared-capable badges described above
  • which badges comprise information identifying each wearer
  • gathering around a kiosk or the like may cause the identities of those so gathered to be wirelessly obtained and entered into the system.
  • a location of the group is also determined.
  • the location is already known to the system 100, e.g., where the system 100 resides at a fixed location such as a hotel or conference center, an explicit determination of location may not be necessary.
  • the system 100 is not tied to any particular location, as in the case of a laptop computer or a desktop computer removed from the location of interest, either a manual or automatic location determination is made, as previously described.
  • the preferences of each individual and the attribute values for each alternative are obtained and assessed against each other.
  • obtaining the individual preferences is a simple matter of using the information identifying each individual in the group to access the relevant preference data.
  • a database may not be readily available and the preference information can be collected in another manner.
  • the computer 102 comprises a laptop or PDA that is not coupled to a network
  • individuals can wirelessly transmit their preference data to a single device comprising the computer 102.
  • smart cards and a suitable card reader may be used to assemble the preference data in a single device.
  • the alternative attribute values may be obtained from the alternatives database 106, if available, and, if not, using a manual process similar to that which may be used to obtain the preference profiles.
  • the preferences of each individual are assessed in light of the specific attribute values for that alternative. Stated another way, the degree to which each individual's preferences align with the attributes of a given alternative is measured for each alternative.
  • an analogous operation might be found in a matched filter receiver in which the degree of correlation between a received signal and each of a plurality of candidate signals is measured.
  • the output of block 207 is a plurality of individual scores or assessments for each alternative. For example, if five individuals are seeking a recommendation from a plurality of alternatives, each alternative would have associated therewith five individual scores or assessments resulting from the comparison of each individual's preferences with the attribute values of that alternative.
  • the relative attribute weights provided by each individual may be optionally used to weight each individual's corresponding individual score or assessment for each alternative. In this manner, user's are able to provide a finer degree of control over the influence their respective preferences will have on the overall group recommendation.
  • the respective individual scores or assessments for each alternative are combined to provide a group result or score for each alternative.
  • this is accomplished by simply adding the individual scores or assessments for that alternative.
  • other methods of combining the individual scores or assessments may be equally employed as a matter of design choice.
  • the various alternatives are sorted or ranked according to their corresponding group result or score.
  • the group results or scores may comprise numerical values, preferably with increased values representing a corresponding degree of likely group satisfaction with a given alternative.
  • some or all of the ranked alternatives are provided as recommendations to one or more of the individuals in the group. Based on the recommendations made, the group can decide whether to act upon one of the recommendations with confidence that the highest ranked alternatives are likely to provide a high level of satisfaction across the entire group.
  • FIGS. 3-6 describe a particular embodiment of the present invention specifically tailored to, and building upon the previous examples concerning, the recommendation of restaurants.
  • FIG. 3 an exemplary data entry screen 302 that may be used to enter preference values and weights in accordance with the present invention is illustrated.
  • the data entry screen 302 (as well as the screen illustrated in FIGS. 4 and 5) is preferably implemented as an Active Server Page and provides a user the opportunity to enter attribute preference and weight data corresponding to the attributes relevant to a restaurant recommendation system.
  • preference values may be entered using pull-down menus, whereas the weight values may be entered directly.
  • a restaurant selection screen 402 may be used.
  • fields 402-406 are provided for entry of data regarding a location of a group of users.
  • an address field 402 a city field 404 and a zip code field 406 may be used to specify a group's location to varying degrees of specificity.
  • other methods could be used to specify location, such as menu-based selection of regions (e.g., downtown, North side, Chinatown, etc.) or landmarks (e.g., Hilton hotel, convention center, airport, etc.).
  • a participant list display 408 may be provided whereby the composition of the group seeking a recommendation may be composed.
  • a scroll bar 410 or other appropriate mechanism the list of potential participants may be scanned to ensure that all participants in the group will be represented in the recommendation process, and that extraneous participants are excluded.
  • an "Add Participant” button 412 and a "Remove Participant” button 414 may be provided.
  • a data entry screen is provided (not shown) whereby additional participants may be added to the list 408.
  • participants may be identified manually or through an automatic process.
  • buttons 412-416 are but one type of implementation for composing a participant list and requesting a restaurant recommendation. Those having ordinary skill in the art will recognize that other techniques may be used to realize these functions without departing from the scope of the present invention.
  • the process computes each person's individual preference for each restaurant, then takes the average of these values to represent the group preference score for each restaurant, and uses those group preference scores to sort the restaurant list.
  • variables i and j used to index participants and restaurants, respectively, are initialized.
  • the attribute preferences of participant(i) are assessed relative to the attribute values of restaurantQ), as described below.
  • LocationScore, ⁇ arg maxJLocationPref, x LocationVal A
  • k 1...3J Eq. 1.
  • LocationPref is the preference value given by person(i) to the location or distance attribute
  • LocationVal j ⁇ is the attribute value of the kth sub-attribute or category for the location or distance attribute for restaurant(j).
  • CosfPrefi is the preference value given by person(i) to the cost attribute
  • CostVal j;k is the attribute value of the kth sub-attribute or category for the cost attribute for restaurant(j).
  • the maximum value computed according to Equations 1 and 2 is taken since only one of the three elements in the LocationVal and CostVal vectors has a non-zero value.
  • a CuisineScore is calculated by taking the average of person i's preference for each of the types of cuisine offered by restaurant j :
  • Amer ⁇ tyPrefj ;k is the preference value given by person(i) to the k'th amenity type
  • AmenityVal ⁇ k is the attribute value of the k'th amenity type for restaurant(j)
  • MAXAMENITIES represents the total number of possible amenity types.
  • LocationPriority CostPriority,, cuisinePriorityj and AmenityPriority ! are the respective weights assigned to each of the attributes by person(i). If such weights are not used (i.e., each attribute is weighted an equal amount), the individual preference score may be calculated by simply adding the four attribute scores.
  • GroupPref group preference for each restaurant(j)
  • GroupPref ' GroupPref ' + IndividualPref, Eq. 6
  • processing for restaurant(j) continues at block 603 for the next participant.
  • processing continues at block 613 where it is determined whether any restaurants in the alternatives (restaurant) database remain to be processed, i.e., to have a group preference score calculated.
  • the number of restaurants need not be limited to any particular number and would likely be dependent upon the available computing resources. Alternatively, it is possible and, in some situations even likely, that the distance preferences of the group of individuals could be used to limit the number of restaurants considered. For example, if all participants have expressed a preference not to travel more than 10 minutes, restaurants outside this constraint may be eliminated from consideration at the outset.
  • processing continues at block 615 where the restaurant index, j, is incremented and the participant index, i, is reinitialized to the first participant in the participant list.
  • the preferences of each participant in the group are assessed relative to the attribute values of each restaurant to arrive at group preference scores for each restaurant.
  • At block 617 at least some of the restaurants considered during the execution of blocks 603-615 are then sorted according to their respective group preference scores. Thereafter, at block 619, the ranked (sorted) restaurants are provided to at least one individual in the group.
  • An exemplary results presentation screen 502 is illustrated in FIG. 5. As shown in FIG. 5, information 504 regarding each restaurant is provided along with its corresponding group preference score 506. Note that the group preference scores 506 shown are for illustration purposes only and do not necessarily reflect an actual range of scores that might be encountered in an actual implementation. Where a relatively large number of restaurants and corresponding group preference scores are presented, a scroll bar 508 or similar mechanism may be used to browse through the ranked results.
  • the data could be displayed according to the group scores and, within that ranking, according to highest attribute score (location, cost, cuisine, amenity) of the group score.
  • the display could be according to group scores initially, with the opportunity to update the display according to an individual attribute or hierarchy of attributes.
  • additional information other than group preference scores could be displayed, such as the average weights of the participants.
  • other information such as a recent reviews, ads, links to detailed menu information, could be provided along with the group preference scores.
  • the present invention substantially overcomes the problem of providing recommendations in a group setting.
  • the present invention provides a means for everyone in a group to have a voice in the recommendation process in a controlled manner through the use of stored attribute preference profiles and complete and consistent list of alternative attribute values.
  • a plurality of group preference scores may be generated, which group preference scores facilitate the sorting or ranking of the alternatives that are most likely to satisfy the specified preferences of the group participants.
  • the present invention allows each participant to contribute his/her preferences to the recommendation process, without any one participant or subset of participants dominating the recommendation, except to the extent that a number of the participants have similar preferences.
  • a currently contemplated enhancement is to allow the specification of restricted diets. For example, a vegetarian might have a variety of preferences, but having meatless dishes available would be a requirement for any restaurant to be acceptable. Additionally, introducing a history mechanism would enable the use of content-based or collaborative filtering techniques to supplement the user-specified preferences. For example, if a user has specified high ratings for a set of restaurants that he or she has dined in previously, any restaurants in the current location that are similar to those restaurants should also be appealing to that user. Likewise, if people with similar profiles to that user have rated a set of local restaurants highly, those restaurants are also likely to be appealing to that user.

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

invention peut s'appliquer de façon bénéfique à un système destiné à établir des recommandations de restaurants et similaires.The invention can be beneficially applied to a system for establishing recommendations for restaurants and the like.

Description

EVALUATION OF A PLURALITY OF ALTERNATIVES BASED ON A PLURALITY OF INDIVIDUAL PREFERENCES
CROSS-REFERENCE TO RELATED APPLICATION
A related patent application is prior U.S. Patent Application Serial Number 09/272,795, filed March 19, 1999 and entitled A SYSTEM, METHOD AND ARTICLE OF MANUFACTURE FOR A USER CENTRIC WORKOUT EXPERIENCE, by Joseph F. McCarthy et al, which prior application is hereby incorporated by reference verbatim, with the same effect as though the prior application were fully and completely set forth herein.
FIELD OF THE INVENTION
The present invention generally relates to measurement of group consensus and, in particular, to a technique for evaluating restaurants based on the preferences of a plurality of individuals.
BACKGROUND OF THE INVENTION
A recommender system is a computer program that suggests a course of action to a user based on information known or inferred about that user. Recommendations are usually based on some combination of three factors: a profile of the user's preferences or history, the profiles of other users who are somehow similar to the user, and/or an analysis of the content of the alternatives being recommended. Examples of application domains developed thus far include the recommendation of videos, music albums and news.
Most recommender systems are designed to suggest alternatives to a single individual. However, there are a number of domains for which a recommender system might make suggestions to help groups of people decide among alternatives. For example, while decisions regarding the purchase of a music CD primarily affects an individual, decisions regarding concerts or music clubs to attend often affect groups of people who all want to participate in the activity. Similarly, the purchase of a videotape is often an individual decision, whereas the decision about which movie (or other performance) to attend at a theater is a decision often arrived at by group consensus. Currently, most recommendation systems have no explicit mechanism to take into account the preferences of a group of people who all want to participate in an activity. Furthermore, the selection of a destination or activity that will please a group of people is typically an iterative, socio-political process that can prove quite challenging, depending on the destination, activity and people involved. Two of the most vexing challenges have to do with a lack of awareness: not knowing everyone's preferences and not knowing what the local alternatives are. Some people are more apt to express their preferences than others, potentially leading to dominance by a vocal minority. This can be especially problematic when there are different power relationships among the members in the group. When the people don't know each other, other problems arise because no one knows how much to rely on others' recommendations. Another problem arises when there is little awareness of the alternatives available in a location. The members of the group can examine various guides and brochures, but most are incomplete and inconsistent with respect to the kinds of information they provide about the alternatives. A good concierge can be of great assistance in this regard, but one is not always available. A system for determining group consensus relative to music selections is disclosed in
U.S. Patent Application Serial Number 09/272,795, filed March 19, 1999 and entitled A SYSTEM, METHOD AND ARTICLE OF MANUFACTURE FOR A USER CENTRIC WORKOUT EXPERIENCE. The '795 application describes a system that selects music that will best please a group of people occupying a public space, such as a fitness center. As described therein, the system comprises a database of user preferences, a badge system for determining who is working out at any given time in a workout room, and a group preference arbitration algorithm for determining the best music to play. Users are asked to provide preference information regarding a variety of music types. These individual preferences are then used to calculate the group-wide affinity for various musical types, wherein the top scoring musical types are selected in a round-robin or random manner for subsequent play. While the solution presented in that patent application is well-suited for the particular scenario that it addresses, it does not address scenarios in which multiple attributes may be evaluated. That is, in the '795 patent application, user preferences are assessed in only a single attribute, musical genres. In contrast, scenarios exist in which user preferences across multiple attributes may be beneficially used.
Furthermore, the most common scenario of use for a recommender system has been for a user to seek suggestions while sitting at a desktop computer connected to the Internet. Although wireless Internet access may enable many of these systems to be used in more varied contexts, very few systems have taken advantage of increased mobility by using contextual features available in the physical world. With the ad-vent of so-called situated computing, one can imagine a situated recommender system that suggests one or more movies, plays or restaurants that are available in the user's immediate vicinity. Therefore, it would be advantageous to provide a technique for measuring group consensus where multiple preference attributes may be used and where location information is used to refme the process.
SUMMARY OF THE INVENTION The present invention provides a recommendation technique whereby group consensus is measured across multiple preference attributes and whereby location information may be incorporated into the recommendation process. In general, individuals are requested to provide information regarding their preferences regarding a plurality of attributes. Likewise, information regarding a plurality of alternatives is also provided, which information assesses each of the alternatives according to the same attributes against which users designated their preferences. When a plurality of individuals manifest their desire to obtain a recommendation applicable to the whole group regarding the possible alternatives, each individual's preferences for each attribute are assessed for similarity to each alternative's showing with regard to each attribute. Weights designating the relative importance of each attribute to each individual may be used to weight the individual assessment results. The resulting individual scores for each alternative are then combined into a group result for each alternative. Thereafter, the alternatives may be sorted according to their respective group result and presented to the plurality of individuals.
In a particular application of the present invention, recommendations of restaurants are provided to groups of people all desiring to dine together, based both on the location of the group as well as their preferences across a variety of attributes. Prospective diners fill out a profile of their dining preferences regarding restaurants, including, but not necessarily limited to, how far they are willing to travel, how much they are willing to spend, what types of cuisine they like (and don't like), and what types of restaurant amenities they like (and don't like). When a group of people is gathered together, these dining preferences are combined together to derive a list of potential restaurants, sorted in order of expected desirability for the group as a whole. One scenario of potential use for such a system is at a workshop or conference, where people who may not know much about local dining options nor the other attendees can use the system to find a post-event dining site. The inquiries and negotiations that take place in such scenarios can often be lengthy, and often result in the selection of sub optimal restaurants. The present invention provides for quicker and better selections for such groups.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a block diagram of a computer-implemented system in accordance with the present invention.
FIG. 2 is a flowchart illustrating a technique for evaluating group consensus across a plurality of alternatives in accordance with the present invention.
FIG. 3 illustrates an exemplary data entry screen in accordance with one embodiment of the present invention.
FIG. 4 illustrates an exemplary restaurant selection screen in accordance with one embodiment of the present invention. FIG. 5 illustrates an exemplary restaurant selection results screen in accordance with one embodiment of the present invention.
FIG. 6 is a flowchart illustrating a technique for evaluating a plurality of restaurants according to dining preferences of a plurality of individuals in accordance with one embodiment of the present invention.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION
The present invention may be more readily described with reference to FIGS. 1-6 below. FIG. 1 illustrates a system 100 comprising a computer 102 that may be used to implement the present invention. The computer 102 comprises a processor component 120 coupled to memory component 122 that stores at least one application 130. In practice, the computer 102 may comprise virtually any type of computing platform including, but not limited to, a desktop personal computer, a laptop computer, a handheld computer, a personal digital assistant or a computer-equipped kiosk. In yet another alternative, the computer 102 may be embodied by a mobile phone or the like, preferably enabled with short range wireless communication capability, such as that provided by IBM's Bluetooth technology, such that various device could communicate with one another. The present invention is not limited in this regard. Accordingly, the processor 120 may comprise any conventional microprocessor (such as a "PENTIUM" series processor), microcontroller, digital signal processor, combinations thereof or the like capable of executing instructions stored in the memory 122. As known in the art, the memory 122 may comprise any combination of volatile storage devices, such random access memory (RAM) or the like, and non-volatile storage devices, such as read-only memory (ROM), optical or magnetic disk drives or the like. Those having ordinary skill in the art will recognize that a wide variety of processor and memory types may be used and is typically dependent, in part, upon the type of computer 102 used.
The memory 122 comprises one or more applications 130 which typically comprise stored instructions capable of execution by the processor 120. In the context of the present invention, at least one application comprises instructions for accepting attribute preference data and alternative attribute values, processing such data and values in accordance with the functionality described below, and providing outputs based on such processing. Additionally, the memory 122 may comprise additional stored instructions used to control other aspects of the system 100, such as an operating system and/or interface driver routines such as would be used to communicate with devices peripheral to the computer 102. As shown, the computer 102 is coupled to at least one data input device 108 and at least one data output device 110. The data input device(s) 108 allow data to be input to the computer 102, including, but not limited to, information regarding identities of individuals and, optionally, their respective preferences in relation to a plurality of alternatives. To this end, the data input device(s) 108 may comprise a conventional keyboard and mouse user interface, a wireless link such as a so-called Bluetooth-capable interface or infrared port, an optical or magnetic scanner capable of reading encoded data or even a network interface coupled to a private or public network. For example, in one implementation of the present invention, the data input devices 108 comprise a network of infrared sensors in communication with badge emitters worn by individuals. In this manner, when a group of individuals are gathered around a kiosk incorporating the computer 102, the infrared sensor network is capable of determining the identities of the individuals gathered around the kiosk and providing that information to the computer 102.
Likewise, the at least one data output device 110 may comprise a portable display (in the case, e.g., of a handheld or laptop computer) or monitor (in the case, e.g., of a desktop computer or computer-enable kiosk). The present invention is not limited with regard to the types of input and output devices that may be used, an those having ordinary skill in the art will recognize that devices other than those listed here may be used. A location provision component 112 is also coupled to the computer 102. In particular, the location provision component 112 provides information regarding the location relevant to the plurality of individuals seeking a recommendation and thus is dependent upon the configuration of the system 100. For example, where the computer 102 is specifically associated with a particular location (for example, a kiosk situated in a hotel or conference center), the location provision component 112 comprises a storage or memory location having stored therein information describing the fixed location of the kiosk. Conversely, where the computer 102 is a laptop or handheld computer not tied to any particular location, the location provision component may comprise a data entry screen that allows a user to specify a certain location to an arbitrary degree of specificity. Further still, the location provision component 112 may comprise a Global Positioning System receiver or other device capable of empirically determining the location of the computer 102 or one or more users of the computer 102. Those having ordinary skill in the art will recognize that other implementations may be used as a matter of design choice. The computer 102 is coupled, in one embodiment of the present invention, to a user database 104 and an alternatives database 106. In practice, the databases 104, 106 may be implemented as an SQL (Structured Query Language) table residing on a suitable database platform such as a Microsoft SQL Server or the like. The alternatives database 106 comprises a plurality of records where each record corresponds to a specific alternative, and each field represents a different attribute for that alternative. In the context of the present invention, an alternative may comprise any uniquely identifiable entity or thing which may be characterized according to one or more attributes, and for which recommendations may be made based on those attributes. For example, particular examples are provided below in which the alternatives are restaurants. However, the present invention is not limited to a recommender system for restaurants and may be applied, for example, to theaters, movies, music clubs, art galleries & shows, performance art, dance performances, readings, comedy shows, etc. Additionally, attributes in the context of the present invention comprise any criterion or feature applicable to all of the alternatives and which may be assessed in terms of preference by an individual. For example, where the various alternatives comprise restaurants, the attributes for each restaurant may comprise a distance or location attribute, a cost attribute, a cuisine type attribute and/or an amenities attribute. The distance or location attribute of a restaurant may be represented as the street address and city of the restaurant or, where the location of the users is fixed (as in the case of a hotel-based kiosk), a distance between the location and the restaurant. The cost attribute of a restaurant comprises information regarding the average cost of a meal at the restaurant, rounded to the nearest appropriate currency unit.
The cuisine type attribute of a restaurant represents the types or styles of food available at that restaurant, e.g., French, Italian or Cajun. In a preferred embodiment, all cuisine types are represented as a binary-valued feature vector; with type of cuisine offered by a particular restaurant represented by a one value in the corresponding position of the vector, with all other elements being zero. The number and specificity of cuisine types tracked by the alternatives database is a matter of design choice. For example, according to www. zagats . com , there are 72 cuisine types available in the Chicago, Illinois area, whereas there are only 15 cuisine types available in the Columbus, Ohio area. Other cuisine type categorization schemes could be used and the present invention is not limited in this regard.
Finally, the amenities attribute represents the particular customer-service features offered by the restaurant, e.g., non-smoking seating, outside dining, valet parking, the willingness to seat parties of varying sizes on short notice, etc. In a preferred embodiment, the various possible amenities for each restaurant are set forth in a binary-valued feature vector comprising a plurality of binary elements; each element corresponding to an amenity offered by a given restaurant is set to one, all other elements are set to zero. Once again, the particular classification of the various possible amenities is a matter of design choice. The fields in the user database 104 correspond to the information stored in the alternatives database 106. However, since the fields in the user database 104 represent preferences, the values for each of the fields are all based on a common scale indicating how important each attribute is to the user. In a presently preferred embodiment, the values are based on a five-point scale, as illustrated in Table 1.
Figure imgf000010_0001
Table 1.
Note that the -2 to +2 range shown in Table 1 is essentially arbitrary and other scales could be equally employed; for example, a range of 1 to 5 or 1 to 10 could be employed instead. However, it is believed that the -2 to +2 range is preferable to the extent that the negative and positive values correlate well with the interpretations shown in Table 1.
These preference values are applied to each of the potential alternative attributes. Thus, for each user, at least one value corresponding to each attribute treated in the alternatives database 106 is stored. The number of values stored depends on the types of attributes used. For some attributes, a single value will suffice to capture an individual's preference. For other attributes comprising a plurality of specific types or sub-attributes, a plurality of values may be required. For example, with reference to the restaurant attributes described above, a variety of values are preferably stored in the user database 104. For the distance or location attribute, the preference value represents the distance an individual is willing to travel to get to a restaurant, measured in minutes. Rather than specifying a single value, e.g., an absolute maximum distance, three categories are preferably provided: less than 10 minutes, 10 to 20 minutes, more than 20 minutes. A user assigns a preference value to each of these categories, e.g., if eating nearby is very important, the user may specify values of 2, -2 and -2 for these categories, respectively, whereas a weaker preference for something close by might be represented by values of 1, 0 and -1, respectively. Note that the number of distance categories shown here is arbitrary; a greater or lesser number of distance categories could be provided as a matter of design choice. Furthermore, the specific values applied to each category are also arbitrary and may be dependent on the particular area under consideration. That is, in an urban environment with a large number of densely situated restaurant choices, the categories may be as set forth above. However, in a more rural or suburban environment, the categories may need to be adjusted upward (e.g., less than 15 minutes, 15-30 minutes, greater than 30 minutes) to account for the potential decreased number or density of restaurants.
For the cost attribute, a preference value represents the amount the user is willing to pay for a meal, measured in the appropriate currency units (e.g., U.S. dollars fdτ a system used in the United States). Again, rather than specifying a single value, three categories are preferably provided: less than $10, $10 to $20, and more than $20. Once again the number of categories, and the currency range applied to each category are design dependent.
For the cuisine type attribute, each preference value represents a particular user's affinity for each of the available cuisine types. Finally, for the amenities attribute, each preference value represents a particular user's affinity for each of the available amenities.
In addition to each attribute or sub-attribute preference, users may optionally provide relatives weights of each attribute listed. That is, with reference to the restaurant attributes, each user may specify the relative importance of each of the four attributes. In a presently preferred embodiment, in order to normalize the relative weights across all users, the four weight values must sum to one. So, for example, to represent priorities—in decreasing order of importance—of distance, then cost, then cuisine, then amenities, one might specify weight values of 0.4, 0.3, 0.2 and 0.1. Of course, other normalization schemes could be employed, e.g., forcing weights to sum to 100. Alternatively, each user may be allowed to enter weights according to his or her own scale, with each weight thereafter normalized by the total of the weights entered, e.g., weights of 75, 50, 15 and 10 (for a total of 150) would be normalized to 0.5, 0.33, 0.1 and 0.07.
The system of FIG. 1 may be used to implement the technique illustrated in FIG. 2. In particular, FIG. 2 illustrates a method for evaluating consensus of a plurality of individuals across a plurality of alternatives based on the preferences of the individuals involved. The method illustrated in FIG. 2 may be readily implemented as stored software routines as represented, for example, by the at least one application 122 shown in FIG. 1.
At block 201, individuals provide their attribute preferences to the user database 104 or to another storage media. For example, in a preferred embodiment, a computer- implemented data entry screen is provided whereby a user is prompted for information sufficient to uniquely identify that individual to the system, and for information regarding his/her various preferences based on the various attributes tracked by the system. The information obtained in this manner is thereafter stored in the user database 104. A particular example of such a data entry screen is described below relative to FIG. 3. In alternative embodiments, other persistent storage media may be used, such as data encoded in a barcode format and printed to a suitable hardcopy media. Alternatively, such data may be encoded for use with a magnetic stripe card and stored thereon. Regardless of the storage media used, once stored, individual user preferences are available for use by the system. In a preferred embodiment, any individual's preferences may be updated and stored at any time.
In yet another alternative embodiment, the preferences of an individual may be inferred based on past history. For example, a restaurant loyalty card such as the Lettuce Entertain You Frequent Diner program (www.leye.com) could be used to track what kinds of restaurants a person frequents, and the cuisines, amenities, costs and distances of those restaurants could be used to approximate otherwise explicitly specified preferences. Further still, if the meals a person ordered could be tracked, an inference could be made that that person prefers meals of a certain type, e.g., if a person nearly always order seafood, "seafood" cuisine could be given a high preference value.
Additionally, at block 201, relative weights regarding each attribute may be obtained from the user. As described above, such weights describe the importance of each attribute relative to the other attributes for that user. Furthermore, it is anticipated that such weights could be inferred from experience, given a suitable tracking capability.
At block 203, data representing attribute values for the various alternatives is provided to the alternatives database 106 or to another storage media. The manner in which such data is gathered is a matter of design choice. For example, in one embodiment of the present invention, separate restaurants in a given area may be canvassed by a provider of the system. In another embodiment, the databases of commercially-available restaurant review services (e.g., Zagats) may be employed for this purpose. Regardless of the manner in which it is obtained, suitable formatting scripts (e.g., Perl scripts) may be used to transform the data into a desired format. As in the case of individual preferences, the alternative attribute values of any given alternative are preferably updateable at any time.
At block 205, a group consisting of a plurality of individuals may be composed, which group of individuals desire to obtain a recommendation regarding the alternatives based on the individual preferences of the individuals forming the group. It is anticipated that a variety of social contexts may give rise to such a group. As mentioned previously, one such setting would be a group of unfamiliar individuals at a conference or the like. Even groups of individuals that are otherwise known to each other may desire a recommendation when they are co-located in an environment in which they are unfamiliar, e.g., a family or group of co- workers traveling to another city.
Regardless, a mechanism is required to specify to the recommendation system 100 those individuals whose preferences are to be accounted for in the recommendation process. A variety of such techniques may be employed. In one embodiment of the present invention, a computer-implemented data entry screen is provided whereby information identifying the separate individuals may be manually entered. A particular example of this is illustrated in FIG. 4 below. The mode whereby such identifying data is manually entered is a matter of design choice. Keyboards may be used for this purpose or, in a more sophisticated approach, an infrared port or other wireless input may be provided whereby users are able to wirelessly transmit their identifying information through the use, for example, of a suitably equipped personal digital assistant (PDA). Other techniques in which the composition of the group is automatically determined may likewise be employed. For example, where individuals are equipped with wirelessly-responsive badges (such as the infrared-capable badges described above), which badges comprise information identifying each wearer, gathering around a kiosk or the like may cause the identities of those so gathered to be wirelessly obtained and entered into the system.
Optionally, at step 205, a location of the group is also determined. In those instances in which the location is already known to the system 100, e.g., where the system 100 resides at a fixed location such as a hotel or conference center, an explicit determination of location may not be necessary. However, where the system 100 is not tied to any particular location, as in the case of a laptop computer or a desktop computer removed from the location of interest, either a manual or automatic location determination is made, as previously described.
At block 207, having satisfactorily formed the relevant group of individuals, the preferences of each individual and the attribute values for each alternative are obtained and assessed against each other. Where the system 100 is suitably coupled to the user database 104, obtaining the individual preferences is a simple matter of using the information identifying each individual in the group to access the relevant preference data. In other embodiments, such a database may not be readily available and the preference information can be collected in another manner. For example, where the computer 102 comprises a laptop or PDA that is not coupled to a network, individuals can wirelessly transmit their preference data to a single device comprising the computer 102. As another example, smart cards and a suitable card reader may be used to assemble the preference data in a single device. Likewise, the alternative attribute values may be obtained from the alternatives database 106, if available, and, if not, using a manual process similar to that which may be used to obtain the preference profiles.
Regardless of how the separate individual preference profiles and alternative attribute values are obtained, for each alternative, the preferences of each individual are assessed in light of the specific attribute values for that alternative. Stated another way, the degree to which each individual's preferences align with the attributes of a given alternative is measured for each alternative. In the field of signal processing, an analogous operation might be found in a matched filter receiver in which the degree of correlation between a received signal and each of a plurality of candidate signals is measured. A specific implementation relative to the context of restaurants is described below.
The output of block 207 is a plurality of individual scores or assessments for each alternative. For example, if five individuals are seeking a recommendation from a plurality of alternatives, each alternative would have associated therewith five individual scores or assessments resulting from the comparison of each individual's preferences with the attribute values of that alternative.
Additionally at block 207, prior to providing the individual scores or assessments as outputs, the relative attribute weights provided by each individual may be optionally used to weight each individual's corresponding individual score or assessment for each alternative. In this manner, user's are able to provide a finer degree of control over the influence their respective preferences will have on the overall group recommendation.
At block 209, the respective individual scores or assessments for each alternative are combined to provide a group result or score for each alternative. Preferably, for each alternative, this is accomplished by simply adding the individual scores or assessments for that alternative. However, other methods of combining the individual scores or assessments may be equally employed as a matter of design choice.
At block 211, the various alternatives are sorted or ranked according to their corresponding group result or score. Depending on the actual methods used to measure attribute preferences, to express attribute values for each alternative, to assess individual preferences and attribute values for each alternative, and to combine the resulting individual scores or assessments, the group results or scores may comprise numerical values, preferably with increased values representing a corresponding degree of likely group satisfaction with a given alternative. Regardless of the manner in which the alternatives are ranked or sorted, at block 213, some or all of the ranked alternatives are provided as recommendations to one or more of the individuals in the group. Based on the recommendations made, the group can decide whether to act upon one of the recommendations with confidence that the highest ranked alternatives are likely to provide a high level of satisfaction across the entire group. A particular example of the system shown and described relative to FIGS. 1 and 2 is further provided with reference to FIGS. 3-6. In particular, FIGS. 3-6 describe a particular embodiment of the present invention specifically tailored to, and building upon the previous examples concerning, the recommendation of restaurants. Referring now to FIG. 3, an exemplary data entry screen 302 that may be used to enter preference values and weights in accordance with the present invention is illustrated. The data entry screen 302 (as well as the screen illustrated in FIGS. 4 and 5) is preferably implemented as an Active Server Page and provides a user the opportunity to enter attribute preference and weight data corresponding to the attributes relevant to a restaurant recommendation system. As shown, preference values may be entered using pull-down menus, whereas the weight values may be entered directly. In order to obtain a recommendation of a restaurant relative to a given location, a restaurant selection screen 402 may be used. As shown in FIG. 4, fields 402-406 are provided for entry of data regarding a location of a group of users. In particular, an address field 402, a city field 404 and a zip code field 406 may be used to specify a group's location to varying degrees of specificity. Of course, other methods could be used to specify location, such as menu-based selection of regions (e.g., downtown, North side, Chinatown, etc.) or landmarks (e.g., Hilton hotel, convention center, airport, etc.).
Additionally, a participant list display 408 may be provided whereby the composition of the group seeking a recommendation may be composed. Using a scroll bar 410 or other appropriate mechanism, the list of potential participants may be scanned to ensure that all participants in the group will be represented in the recommendation process, and that extraneous participants are excluded. To this end, an "Add Participant" button 412 and a "Remove Participant" button 414 may be provided. By activating the "Add Participant" button 412, a data entry screen is provided (not shown) whereby additional participants may be added to the list 408. As described previously, participants may be identified manually or through an automatic process. Likewise, to remove a participant that has been inadvertently added to the list 408, that participant's name may be highlighted and subsequently removed from the list by selecting the "Remove Participant" button 414. Once the list of participants has been finalized, a "Find Restaurant" button 416 may be selected to initiate the process of evaluating a plurality of restaurants according to each participant's preferences. A particular implementation of this process is illustrated with respect to FIG. 6 below. Note that the buttons 412-416 described above are but one type of implementation for composing a participant list and requesting a restaurant recommendation. Those having ordinary skill in the art will recognize that other techniques may be used to realize these functions without departing from the scope of the present invention.
Referring now to FIG. 6, a particular implementation of the process whereby restaurant recommendations are provided is illustrated. In general, the process computes each person's individual preference for each restaurant, then takes the average of these values to represent the group preference score for each restaurant, and uses those group preference scores to sort the restaurant list. Beginning at block 601, variables i and j, used to index participants and restaurants, respectively, are initialized. Thereafter, at block 603, the attribute preferences of participant(i) are assessed relative to the attribute values of restaurantQ), as described below. For simplicity of exposition, assume that, for each restaurant with regard to the distance attribute, there are three distance values in the alternatives (restaurants) database corresponding to the three distance fields in the user database (e.g., less than 10 minutes, 10- 20 minutes, greater than 20 minutes), exactly one of which is set to one, all others being zero. Similarly, assume that, for each restaurant with regard to the cost attribute, there are three average cost fields in the alternatives (restaurant) database that correspond to the three cost fields in the user database (e.g., less than $10, $10-20, greater than $20), and that exactly one of these fields is one and all others are zero. Finally, for each restaurant with regard to the cuisine type and amenities attributes, assume that each attribute is represented as a binary feature vector, as previously described, in the alternatives (restaurant) database. A LocationScore for person(i) and restaurantfj) is calculated as:
LocationScore, ^ = arg maxJLocationPref, x LocationVal A | k = 1...3J Eq. 1. where LocationPref is the preference value given by person(i) to the location or distance attribute, and LocationValj^ is the attribute value of the kth sub-attribute or category for the location or distance attribute for restaurant(j). Similarly, we compute a CostScore for person(i) and restaurantQ) as:
CostScore, = arg maxjCostPref, x CostVal^ 1 k = 1...3} Eq. 2.
where CosfPrefi is the preference value given by person(i) to the cost attribute, and
CostValj;k is the attribute value of the kth sub-attribute or category for the cost attribute for restaurant(j). In the case of both the location (distance) attribute and the cost attribute, only the maximum value computed according to Equations 1 and 2 is taken since only one of the three elements in the LocationVal and CostVal vectors has a non-zero value.
A CuisineScore is calculated by taking the average of person i's preference for each of the types of cuisine offered by restaurant j :
MAXCU1S1NES
^ CuisinePref x Cuisine Val, A
CuisineScore, , = ^ MAXCU!S1NES Eq. 3 Cuisine ValJjA i=l
where
Figure imgf000017_0001
is the preference value given by person(i) to the k'th cuisine type, CuisineValj;k is the attribute value of the k'th cuisine type for restaurant(j), and MAXCUISINES represents the total number of possible cuisine types. An AmenityScore is calculated similarly:
MAXM ENlTIES AmenityPref, k x AmenityVal
AmenityScore, , = *"' UAXAME TIES Ecl- 4
^ Amenity Nal t t=ι
where AmerύtyPrefj;k is the preference value given by person(i) to the k'th amenity type, AmenityVal^k is the attribute value of the k'th amenity type for restaurant(j), and MAXAMENITIES represents the total number of possible amenity types. With the four attribute scores for restaurantQ) in hand, they may be optionally adjusted, at block 305, according to the relative weights specified by the user to provide each user's individual preference score for restaurant(j):
IndividualPref,
= LocationScore, x LocationPriority, + CostScore, x CostPriority, + Eq. 5
CuisineScore, x CuisinePriority, + AmenityScore, x AmenityPriority,
where LocationPriority], CostPriority,, CuisinePriorityj and AmenityPriority! are the respective weights assigned to each of the attributes by person(i). If such weights are not used (i.e., each attribute is weighted an equal amount), the individual preference score may be calculated by simply adding the four attribute scores.
As individual preference scores are determined for each person(i) relative to restaurant(j), the group preference for each restaurant(j) (GroupPref) is updated, at block 607, by simply adding the individual preference score to a running total:
GroupPref ' = GroupPref ' + IndividualPref, Eq. 6
If additional participants have not yet been processed at block 609, the participant index, i, is incremented at block 611 and processing for restaurant(j) continues at block 603 for the next participant. When all participants have been evaluated relative to restauranttj), processing continues at block 613 where it is determined whether any restaurants in the alternatives (restaurant) database remain to be processed, i.e., to have a group preference score calculated. The number of restaurants need not be limited to any particular number and would likely be dependent upon the available computing resources. Alternatively, it is possible and, in some situations even likely, that the distance preferences of the group of individuals could be used to limit the number of restaurants considered. For example, if all participants have expressed a preference not to travel more than 10 minutes, restaurants outside this constraint may be eliminated from consideration at the outset. Regardless, if any restaurants remain to be processed, processing continues at block 615 where the restaurant index, j, is incremented and the participant index, i, is reinitialized to the first participant in the participant list. In this manner, the preferences of each participant in the group are assessed relative to the attribute values of each restaurant to arrive at group preference scores for each restaurant.
At block 617, at least some of the restaurants considered during the execution of blocks 603-615 are then sorted according to their respective group preference scores. Thereafter, at block 619, the ranked (sorted) restaurants are provided to at least one individual in the group. An exemplary results presentation screen 502 is illustrated in FIG. 5. As shown in FIG. 5, information 504 regarding each restaurant is provided along with its corresponding group preference score 506. Note that the group preference scores 506 shown are for illustration purposes only and do not necessarily reflect an actual range of scores that might be encountered in an actual implementation. Where a relatively large number of restaurants and corresponding group preference scores are presented, a scroll bar 508 or similar mechanism may be used to browse through the ranked results. Those having ordinary skill in the art will recognize that other display possibilities are available and may be readily incorporated for use with the present invention. For example, the data could be displayed according to the group scores and, within that ranking, according to highest attribute score (location, cost, cuisine, amenity) of the group score. Alternatively, the display could be according to group scores initially, with the opportunity to update the display according to an individual attribute or hierarchy of attributes. Further still, additional information other than group preference scores could be displayed, such as the average weights of the participants. Also, other information, such a recent reviews, ads, links to detailed menu information, could be provided along with the group preference scores.
The present invention substantially overcomes the problem of providing recommendations in a group setting. To this end, the present invention provides a means for everyone in a group to have a voice in the recommendation process in a controlled manner through the use of stored attribute preference profiles and complete and consistent list of alternative attribute values. By assessing individual attribute preferences against the attribute profiles for a plurality of alternatives, a plurality of group preference scores may be generated, which group preference scores facilitate the sorting or ranking of the alternatives that are most likely to satisfy the specified preferences of the group participants. In this manner, the present invention allows each participant to contribute his/her preferences to the recommendation process, without any one participant or subset of participants dominating the recommendation, except to the extent that a number of the participants have similar preferences. Additionally, because each individual's preferences are expressed across a normalized group of attributes, which groups of attributes are also used to characterize the available alternatives, ignorance of the alternatives does not prevent the determination of meaningful recommendations. Additional aspects of the present invention will be readily apparent to those having ordinary skill in the art. For example, issues of privacy need to be considered in any recommendation system. As described above, a system in accordance with the present invention displays group preference scores without revealing any individual preference information. It is believe that this degree of anonymity is preferable, while at the same time permitting identification of the names of people in the group.
A currently contemplated enhancement is to allow the specification of restricted diets. For example, a vegetarian might have a variety of preferences, but having meatless dishes available would be a requirement for any restaurant to be acceptable. Additionally, introducing a history mechanism would enable the use of content-based or collaborative filtering techniques to supplement the user-specified preferences. For example, if a user has specified high ratings for a set of restaurants that he or she has dined in previously, any restaurants in the current location that are similar to those restaurants should also be appealing to that user. Likewise, if people with similar profiles to that user have rated a set of local restaurants highly, those restaurants are also likely to be appealing to that user. The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description, it is not intended to be exhaustive or to limit invention to the precise form disclosed. The description was selected to best explain the principles of the invention and practical application of these principles to enable others skilled in the art to best utilize the invention and various embodiments, and various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention not be limited by the specification, but be defined by the claims set forth below.

Claims

We Claim:
1. A method for evaluating a plurality of alternatives based on preferences of a plurality of individuals, the method comprising: for each individual of the plurality of individuals and for each alternative of the plurality of alternatives, assessing similarity of preferences of the individual to characteristics of the alternative to provide, for each alternative, a corresponding plurality of individual scores; and for each alternative of the plurality of alternatives, combining the corresponding plurality of individual scores to provide a group score corresponding to the alternative, wherein the group score expresses likelihood that the alternative will be acceptable to the plurality of individuals.
2. The method of claim 1 , further comprising: determining a ranking of the plurality of alternatives based on the group score corresponding to each of the plurality of alternatives; and providing the ranking to at least one individual of the plurality of individuals.
3. A computer-readable medium having stored thereon computer-executable instructions for performing the method of claim 2.
4. The method of claim 1, wherein the preferences for each individual of the plurality of individuals and the characteristics of each alternative of the plurality of alternatives are assessed against a plurality of attributes.
5. The method of claim 4, wherein the preferences for each individual comprise relative weights of the plurality of attributes, and wherein assessing similarity of the preferences of the individual to the characteristics of the alternative to provide the plurality of individual scores further comprises: modifying the plurality of individual scores based on the relative weights of the plurality of attributes.
6. A method for evaluating a first restaurant based on preferences of a plurality of individuals, the method comprising: for each individual of the plurality of individuals, assessing similarity of preferences of the individual to characteristics of the first restaurant to provide a plurality of individual scores; and summing the plurality of individual scores to provide a first group score corresponding to the first restaurant, wherein the first group score expresses likelihood that the first restaurant will be acceptable to the plurality of individuals.
7. A computer-readable medium having stored thereon computer-executable instructions for performing the method of claim 6.
8. The method of claim 6, further comprising: for each individual of the plurality of individuals and for each restaurant of at least one additional restaurant, assessing similarity of the preferences of the individual to characteristics of the additional restaurant to provide at least one set of additional individual scores, wherein the at least one set of additional individual scores is uniquely associated with the at least one additional restaurant; and for each restaurant of the at least one additional restaurant, summing the additional individual scores in the uniquely associated set of additional individual scores to provide at least one additional group score uniquely corresponding to the at least one additional restaurant, wherein the at least one additional group score expresses likelihood that the at least one additional restaurant will be acceptable to the plurality of individuals.
9. The method of claim 8, further comprising: determining a ranking of the first restaurant and the at least one additional restaurant based on the first group score and the at least one additional group score; and providing the ranking to at least one individual of the plurality of individuals.
10. A computer-readable medium having stored thereon computer-executable instructions for performing the method of claim 9.
11. The method of claim 6, wherein the preferences of the individual and the characteristics of the first restaurant are assessed against a plurality of restaurant attributes.
12. The method of claim 11 , wherein the plurality of restaurant attributes comprise any of a distance attribute, a cost attribute, a cuisine type attribute and an amenities attribute.
13. The method of claim 11, wherein the preferences of the individual comprise relative weights of the plurality of restaurant attributes, and wherein assessing similarity of the preferences of the individual to the characteristics of the first restaurant to provide the plurality of individual scores further comprises: modifying the plurality of individual scores based on the relative weights of the plurality of restaurant attributes.
14. A method for evaluating a plurality of restaurants based on preferences of a plurality of individuals, the method comprising: receiving a plurality of restaurant value profiles associated with the plurality of restaurants, wherein each restaurant value profile of the plurality of restaurant value profiles assesses a corresponding restaurant according to restaurant attributes; receiving a plurality of dining preference profiles associated with the plurality of individuals, wherein each dining preference profile of the plurality of dining preference profiles represent preferences of a corresponding individual according to the restaurant attributes; calculating, for each restaurant of the plurality of restaurants, a plurality of individual restaurant assessments based on the plurality of dining preference profiles and a corresponding one of the plurality of restaurant value profiles; and calculating, for each restaurant of the plurality of restaurants, a group restaurant assessment based on the plurality of individual restaurant assessments to provide a plurality of group restaurant assessments.
15. A computer-readable medium having stored thereon computer-executable instructions for performing the method of claim 14.
16. The method of claim 14, further comprising: determining a ranking the plurality of restaurants according to their corresponding plurality of group restaurant assessments; and providing the ranking to at least one individual of the plurality of individuals.
17. A computer-readable medium having stored thereon computer-executable instructions for performing the method of claim 16.
18. The method of claim 14, wherein the restaurant attributes comprises any of a distance attribute, a cost attribute, a cuisine type attribute and an amenities attribute.
19. A method for evaluating a plurality of restaurants based on travel distance preferences of a plurality of individuals at a first location, the method comprising: for each individual of the plurality of individuals and for each restaurant of the plurality of restaurants, assessing similarity of the individual's preference regarding travel distance to a distance to the restaurant based on the restaurant's location and the first location to provide a plurality of sets of individual distance scores, wherein the plurality of sets of individual distance scores are uniquely associated with the plurality of restaurants; for each restaurant of the plurality of restaurants, summing the plurality of individual distance scores in the uniquely associated set of individual distance scores to provide a plurality of group distance scores uniquely corresponding to the plurality of restaurants; determining a plurality of group scores based at least in part upon the plurality of group distance scores, wherein the plurality of group scores express likelihoods that the plurality of restaurants will be acceptable to the plurality of individuals; determining a ranking of the plurality of restaurants based on the plurality of group scores; and providing the ranking to at least one individual of the plurality of individuals.
20. A method for evaluating a plurality of restaurants based on cost preferences of a plurality of individuals, the method comprising: for each individual of the plurality of individuals and for each restaurant of the plurality of restaurants, assessing similarity of the individual's preference regarding cost to a restaurant cost parameter to provide a plurality of sets of individual cost scores, wherein the plurality of sets of individual cost scores are uniquely associated with the plurality of restaurants; for each restaurant of the plurality of restaurants, summing the plurality of individual cost scores in the uniquely associated set of individual cost scores to provide a plurality of group cost scores uniquely corresponding to the plurality of restaurants; determining a plurality of group scores based at least in part upon the plurality of group cost scores, wherein the plurality of group scores express likelihoods that the plurality of restaurants will be acceptable to the plurality of individuals determining a ranking of the plurality of restaurants based on the plurality of group scores; and providing the ranking to at least one individual of the plurality of individuals.
21. A method for evaluating a plurality of restaurants based on cuisine type preferences of a plurality of individuals, the method comprising: for each individual of the plurality of individuals and for each restaurant of the plurality of restaurants, assessing similarity of the individual's preference regarding cuisine type to at least one restaurant cuisine type parameter to provide a plurality of sets of individual cuisine type scores, wherein the plurality of sets of individual cuisine type scores are uniquely associated with the plurality of restaurants; for each restaurant of the plurality of restaurants, summing the plurality of individual cuisine type scores in the uniquely associated set of individual cuisine type scores to provide a plurality of group cuisine type scores uniquely corresponding to the plurality of restaurants; determining a plurality of group scores based at least in part upon the plurality of group cuisine type scores, wherein the plurality of group scores express likelihoods that the plurality of restaurants will be acceptable to the plurality of individuals; determining a ranking of the plurality of restaurants based on the plurality of group scores; and providing the ranking to at least one individual of the plurality of individuals.
22. A method for evaluating a plurality of restaurants based on amenities preferences of a plurality of individuals, the method comprising: for each individual of the plurality of individuals and for each restaurant of the plurality of restaurants, assessing similarity of the individual's preference regarding amenities to at least one restaurant amenities parameter to provide a plurality of sets of individual amenities scores, wherein the plurality of sets of individual amenities scores are uniquely associated with the plurality of restaurants; for each restaurant of the plurality of restaurants, summing the plurality of individual amenities scores in the uniquely associated set of individual amenities scores to provide a plurality of group amenities scores uniquely corresponding to the plurality of restaurants; determining a plurality of group scores based at least in part upon the plurality of group amenities scores, wherein the plurality of group scores express likelihoods that the plurality of restaurants will be acceptable to the plurality of individuals; determining a ranking of the plurality of restaurants based on the plurality of group scores; and providing the ranking to at least one individual of the plurality of individuals.
23. An apparatus for evaluating a plurality of alternatives based on preferences of a plurality of individuals, comprising: a processor; and a storage device coupled to the processor, the storage device comprising instructions that, when executed by the processor, cause the processor to: assess, for each individual of the plurality of individuals and for each alternative of the plurality of alternatives, similarity of preferences of the individual to characteristics of the alternative to provide, for each alternative, a corresponding plurality of individual scores; and combine, for each alternative of the plurality of alternatives, the corresponding plurality of individual scores to provide a group score corresponding to the alternative, wherein the group score expresses likelihood that the alternative will be acceptable to the plurality of individuals.
24. The apparatus of claim 23, further comprising a display coupled to the processor, wherein the storage device further comprises instructions that, when executed by the processor, cause the processor to: determine a ranking of the plurality of alternatives based on the group score corresponding to each of the plurality of alternatives; and provide the ranking to at least one individual of the plurality of individuals via the display.
25. The apparatus of claim 23, wherein the preferences for each individual of the plurality of individuals and the characteristics of each alternative of the plurality of alternatives are assessed against a plurality of attributes, and wherein the preferences for each individual comprise relative weights of the plurality of attributes, the storage device further comprising instructions that, when executed by the processor, cause the processor to: modify the plurality of individual scores based on the relative weights of the plurality of attributes.
26. The apparatus of claim 23, further comprising a location provision component coupled to the processor, wherein the plurality of individual scores are dependent in part upon a location of the plurality of individuals provided by the location provision component.
27. An apparatus for evaluating a plurality of restaurants based on preferences of a plurality of individuals, comprising : a processor; and a storage device coupled to the processor, the storage device comprising instructions that, when executed by the processor, cause the processor to: assess, for each individual of the plurality of individuals and for each restaurant of the plurality of restaurants, similarity of preferences of the individual to characteristics of the restaurant to provide, for each alternative, a corresponding plurality of individual scores; and combine, for each restaurant of the plurality of restaurants, the corresponding plurality of individual scores to provide a group score corresponding to the restaurant, wherein the group score expresses likelihood that the restaurant will be acceptable to the plurality of individuals.
28. The apparatus of claim 27, further comprising a display coupled to the processor, wherein the storage device further comprises instructions that, when executed by the processor, cause the processor to: determine a ranking of the plurality of restaurants based on the group score corresponding to each of the plurality of restaurants; and provide the ranking to at least one individual of the plurality of individuals via the display.
29. The apparatus of claim 27, wherein the preferences for each individual of the plurality of individuals and the characteristics of each restaurant of the plurality of restaurants are assessed against a plurality of restaurant attributes, and wherein the preferences for each individual comprise relative weights of the plurality of restaurant attributes, the storage device further comprising instructions that, when executed by the processor, cause the processor to: modify the plurality of individual scores based on the relative weights of the plurality of restaurant attributes.
30. The apparatus of claim 29, wherein the plurality of restaurant attributes comprise any of a distance attribute, a cost attribute, a cuisine type attribute and an amenities attribute.
31. An apparatus for evaluating a plurality of restaurants based on preferences of a plurality of individuals, the apparatus comprising: means for receiving a plurality of restaurant value profiles associated with the plurality of restaurants, wherein each restaurant value profile of the plurality of restaurant value profiles assesses a corresponding restaurant according to restaurant attributes; means for receiving a plurality of dining preference profiles associated with the plurality of individuals, wherein each dining preference profile of the plurality of dining preference profiles represent preferences of a corresponding individual according to the restaurant attributes; means, coupled to the means for receiving the plurality of restaurant value profiles and to the means for receiving the plurality of dining preference profiles, for calculating, for each restaurant of the plurality of restaurants, a plurality of individual restaurant assessments based on the plurality of dining preference profiles and a corresponding one of the plurality of restaurant value profiles; and means, coupled to the means for calculating the plurality of individual restaurant assessments, for calculating, for each restaurant of the plurality of restaurants, a group restaurant assessment based on the plurality of individual restaurant assessments to provide a plurality of group restaurant assessments.
32. The apparatus of claim 31 , further comprising: means, coupled to the means for calculating the plurality of group restaurant assessments, for determining a ranking the plurality of restaurants according to their corresponding plurality of group restaurant assessments; and means, coupled to the means for determining the ranking, for providing the ranking to at least one individual of the plurality of individuals.
33. The apparatus of claim 31 , wherein the restaurant attributes comprises any of a distance attribute, a cost attribute, a cuisine type attribute and an amenities attribute.
34. An apparatus for evaluating a plurality of restaurants based on travel distance preferences of a plurality of individuals at a first location, the apparatus comprising: means for assessing, for each individual of the plurality of individuals and for each restaurant of the plurality of restaurants, similarity of the individual's preference regarding travel distance to a distance to the restaurant based on the restaurant's location and the first location to provide a plurality of sets of individual distance scores, wherein the plurality of sets of individual distance scores are uniquely associated with the plurality of restaurants; means, coupled to the means for assessing, for summing, for each restaurant of the plurality of restaurants, the plurality of individual distance scores in the uniquely associated set of individual distance scores to provide a plurality of group distance scores uniquely corresponding to the plurality of restaurants; means, coupled to the means for summing, for determining a plurality of group scores based at least in part upon the plurality of group distance scores, wherein the plurality of group scores express likelihoods that the plurality of restaurants will be acceptable to the plurality of individuals ; means, coupled to the means for determining the plurality of group scores, for determining a ranking of the plurality of restaurants based on the plurality of group scores; and means, coupled to the means for ranking, for providing the ranking to at least one individual of the plurality of individuals .
35. An apparatus for evaluating a plurality of restaurants based on cost preferences of a plurality of individuals, the method comprising: means for assessing, for each individual of the plurality of individuals and for each restaurant of the plurality of restaurants, similarity of the individual's preference regarding cost to a restaurant cost parameter to provide a plurality of sets of individual cost scores, wherein the plurality of sets of individual cost scores are uniquely associated with the plurality of restaurants; means, coupled to the means for assessing, for summing, for each restaurant of the plurality of restaurants, the plurality of individual cost scores in the uniquely associated set of individual cost scores to provide a plurality of group cost scores uniquely corresponding to the plurality of restaurants; means, coupled to the means for summing, for determining a plurality of group scores based at least in part upon the plurality of group cost scores, wherein the plurality of group scores express likelihoods that the plurality of restaurants will be acceptable to the plurality of individuals means, coupled to the means for determining the plurality of group scores, for determining a ranking of the plurality of restaurants based on the plurality of group scores; and means, coupled to the means for determining the ranking, for providing the ranking to at least one individual of the plurality of individuals.
36. An apparatus for evaluating a plurality of restaurants based on cuisine type preferences of a plurality of individuals, the method comprising: means for assessing, for each individual of the plurality of individuals and for each restaurant of the plurality of restaurants, similarity of the individual's preference regarding cuisine type to at least one restaurant cuisine type parameter to provide a plurality of sets of individual cuisine type scores, wherein the plurality of sets of individual cuisine type scores are uniquely associated with the plurality of restaurants; means, coupled to the means for assessing, for summing, for each restaurant of the plurality of restaurants, the plurality of individual cuisine type scores in the uniquely associated set of individual cuisine type scores to provide a plurality of group cuisine type scores uniquely corresponding to the plurality of restaurants; means, coupled to the means for summing, for determining a plurality of group scores based at least in part upon the plurality of group cuisine type scores, wherein the plurality of group scores express likelihoods that the plurality of restaurants will be acceptable to the plurality of individuals; means, coupled to the means for determining the plurality of groups scores, for determining a ranking of the plurality of restaurants based on the plurality of group scores; and means, coupled to the means for determining the ranking, for providing the ranking to at least one individual of the plurality of individuals.
37. An apparatus for evaluating a plurality of restaurants based on amenities preferences of a plurality of individuals, the method comprising: means for assessing, for each individual of the plurality of individuals and for each restaurant of the plurality of restaurants, similarity of the individual's preference regarding amenities to at least one restaurant amenities parameter to provide a plurality of sets of individual amenities scores, wherein the plurality of sets of individual amenities scores are uniquely associated with the plurality of restaurants; means, coupled to the means for assessing, for summing, for each restaurant of the plurality of restaurants, the plurality of individual amenities scores in the uniquely associated set of individual amenities scores to provide a plurality of group amenities scores uniquely corresponding to the plurality of restaurants; means, coupled to the means for summing, for determining a plurality of group scores based at least in part upon the plurality of group amenities scores, wherein the plurality of group scores express likelihoods that the plurality of restaurants will be acceptable to the plurality of individuals; means, coupled to the means for determining the plurality of group scores, for determining a ranking of the plurality of restaurants based on the plurality of group scores; and means, coupled to the means for detemiining the ranking, for providing the ranking to at least one individual of the plurality of individuals.
PCT/IB2002/005801 2001-12-21 2002-12-19 Evaluation of a plurality of alternatives based on a plurality of individual preferences Ceased WO2003054760A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002471021A CA2471021A1 (en) 2001-12-21 2002-12-19 Evaluation of a plurality of alternatives based on a plurality of individual preferences
AU2002358923A AU2002358923A1 (en) 2001-12-21 2002-12-19 Evaluation of a plurality of alternatives based on a plurality of individual preferences
EP02793266A EP1456793A2 (en) 2001-12-21 2002-12-19 Evaluation of a plurality of alternatives based on a plurality of individual preferences

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US3678301A 2001-12-21 2001-12-21
US10/036,783 2001-12-21

Publications (2)

Publication Number Publication Date
WO2003054760A2 true WO2003054760A2 (en) 2003-07-03
WO2003054760A8 WO2003054760A8 (en) 2003-10-02

Family

ID=21890621

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2002/005801 Ceased WO2003054760A2 (en) 2001-12-21 2002-12-19 Evaluation of a plurality of alternatives based on a plurality of individual preferences

Country Status (4)

Country Link
EP (1) EP1456793A2 (en)
AU (1) AU2002358923A1 (en)
CA (1) CA2471021A1 (en)
WO (1) WO2003054760A2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418409B1 (en) 2003-10-24 2008-08-26 Sachin Goel System for concurrent optimization of business economics and customer value satisfaction
US7472080B2 (en) 2003-10-24 2008-12-30 Sachin Goel Methods and associated systems for an airline to enhance customer experience and provide options on flights
US7983956B1 (en) 2003-10-24 2011-07-19 Sachin Goel System and method for providing options on products including flights
US8140399B1 (en) 2003-10-24 2012-03-20 Sachin Goel System for concurrent optimization of business economics and customer value
US8145536B1 (en) 2003-10-24 2012-03-27 Sachin Goel System for concurrent optimization of business economics and customer value
US8145535B2 (en) 2003-10-24 2012-03-27 Sachin Goel Computer implemented methods for providing options on products
US8165920B2 (en) 2003-10-24 2012-04-24 Sachin Goel System for concurrent optimization of business economics and customer value
US20120221363A1 (en) * 2011-02-25 2012-08-30 Hipmunk, Inc. System and method for displaying hotel information
US20130024464A1 (en) * 2011-07-20 2013-01-24 Ness Computing, Inc. Recommendation engine that processes data including user data to provide recommendations and explanations for the recommendations to a user
US9910923B2 (en) 2013-03-08 2018-03-06 Opentable, Inc. Context-based queryless presentation of recommendations
US10769523B2 (en) 2017-04-05 2020-09-08 International Business Machines Corporation Using analytics to determine dining venue based on group preferences
CN113626682A (en) * 2020-05-09 2021-11-09 上海触乐信息科技有限公司 Information recommendation method and system based on temporary identity and terminal equipment
US11423462B2 (en) 2010-10-15 2022-08-23 Opentable, Inc. Computer system and method for analyzing data sets and generating personalized recommendations
US11709851B2 (en) 2011-07-20 2023-07-25 Opentable, Inc. Method and apparatus for quickly evaluating entities

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275667B1 (en) 2003-10-24 2012-09-25 Sachin Goel System for concurrent optimization of business economics and customer value satisfaction
US7983956B1 (en) 2003-10-24 2011-07-19 Sachin Goel System and method for providing options on products including flights
US8140399B1 (en) 2003-10-24 2012-03-20 Sachin Goel System for concurrent optimization of business economics and customer value
US8145536B1 (en) 2003-10-24 2012-03-27 Sachin Goel System for concurrent optimization of business economics and customer value
US8145535B2 (en) 2003-10-24 2012-03-27 Sachin Goel Computer implemented methods for providing options on products
US8165920B2 (en) 2003-10-24 2012-04-24 Sachin Goel System for concurrent optimization of business economics and customer value
US7472080B2 (en) 2003-10-24 2008-12-30 Sachin Goel Methods and associated systems for an airline to enhance customer experience and provide options on flights
US7418409B1 (en) 2003-10-24 2008-08-26 Sachin Goel System for concurrent optimization of business economics and customer value satisfaction
US11423462B2 (en) 2010-10-15 2022-08-23 Opentable, Inc. Computer system and method for analyzing data sets and generating personalized recommendations
US12190367B2 (en) 2010-10-15 2025-01-07 Opentable, Inc. Computer system and method for analyzing data sets and generating personalized recommendations
US20120221363A1 (en) * 2011-02-25 2012-08-30 Hipmunk, Inc. System and method for displaying hotel information
US20130024464A1 (en) * 2011-07-20 2013-01-24 Ness Computing, Inc. Recommendation engine that processes data including user data to provide recommendations and explanations for the recommendations to a user
US11709851B2 (en) 2011-07-20 2023-07-25 Opentable, Inc. Method and apparatus for quickly evaluating entities
US10394919B2 (en) 2013-03-08 2019-08-27 Opentable, Inc. Context-based queryless presentation of recommendations
US9910923B2 (en) 2013-03-08 2018-03-06 Opentable, Inc. Context-based queryless presentation of recommendations
US10769523B2 (en) 2017-04-05 2020-09-08 International Business Machines Corporation Using analytics to determine dining venue based on group preferences
CN113626682A (en) * 2020-05-09 2021-11-09 上海触乐信息科技有限公司 Information recommendation method and system based on temporary identity and terminal equipment

Also Published As

Publication number Publication date
CA2471021A1 (en) 2003-07-03
EP1456793A2 (en) 2004-09-15
AU2002358923A1 (en) 2003-07-09
WO2003054760A8 (en) 2003-10-02

Similar Documents

Publication Publication Date Title
McCarthy Pocket restaurantfinder: A situated recommender system for groups
US20190340537A1 (en) Personalized Match Score For Places
US6931399B2 (en) Method and apparatus for providing personalized relevant information
US8880516B2 (en) Endorsing local search results
US9122757B1 (en) Personal concierge plan and itinerary generator
US20020103792A1 (en) Acumatch cross-matching system
US20100030569A1 (en) Party place recommendation apparatus and program
US20100153215A1 (en) Enhanced search result relevance using relationship information
US20020073005A1 (en) Computerized lifestyle planning system and method
US8606612B2 (en) Method and apparatus for improving efficiency in event information exchange among parties of event
WO2003054760A2 (en) Evaluation of a plurality of alternatives based on a plurality of individual preferences
JPH09265478A (en) Information filtering system
US12346534B1 (en) Dynamic sorting and inference using gesture based machine learning
CA2261058A1 (en) A method and apparatus for expertly matching products, services, and consumers
JP5831204B2 (en) Information providing system, information providing method, and program
WO2000004464A9 (en) System, method and article of manufacture for increasing the user value of recommendations
US20030070180A1 (en) System for assisting consideration of selection
JP6550277B2 (en) Property information presentation system, property information presentation method, corresponding information presentation system, and corresponding information presentation method
US20090234664A1 (en) System and method for recommending entertainment venues for specific occasions
Lyu et al. iMCRec: A multi-criteria framework for personalized point-of-interest recommendations
WO2019218654A1 (en) Product ordering method
Chen et al. Approaching another tourism recommender
JP4844669B2 (en) Information provision system
WO2017038177A1 (en) Information provision device, terminal device, information provision method, and program
JP6638265B2 (en) Information providing device, program

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2471021

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2002793266

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2002358923

Country of ref document: AU

WWP Wipo information: published in national office

Ref document number: 2002793266

Country of ref document: EP

NENP Non-entry into the national phase in:

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP