WO2002079901A2 - Customer preference system - Google Patents

Customer preference system Download PDF

Info

Publication number
WO2002079901A2
WO2002079901A2 PCT/US2001/045175 US0145175W WO02079901A2 WO 2002079901 A2 WO2002079901 A2 WO 2002079901A2 US 0145175 W US0145175 W US 0145175W WO 02079901 A2 WO02079901 A2 WO 02079901A2
Authority
WO
WIPO (PCT)
Prior art keywords
product
attribute
opinions
user
opinion
Prior art date
Application number
PCT/US2001/045175
Other languages
French (fr)
Other versions
WO2002079901A3 (en
Inventor
Albert D. Lin
Yiping Zhou
Chad Justin Browser
Original Assignee
Bee-Bee, Inc.
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 Bee-Bee, Inc. filed Critical Bee-Bee, Inc.
Priority to AU2002258357A priority Critical patent/AU2002258357A1/en
Publication of WO2002079901A2 publication Critical patent/WO2002079901A2/en
Publication of WO2002079901A3 publication Critical patent/WO2002079901A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 is directed to user opinion systems, and more particularly to customer preference systems for predicting customer opinions about products and attributes of products.
  • Expert Based or Rule Based Systems To predict a subject user's opinions, predetermined rules are supplied (e.g., by a knowledge expert). While expert based systems may use customer databases as input information, expert systems do not depend on observed data to process the inputs to make predictions. Rather, the expert's knowledge and rules control this information processing. As such, expert based systems are subject to limitations on the knowledge and predictive powers of human experts. Atty Docket No.: 28749- 2/P02 Page 3 of 54 Patent
  • Fuzzy Logic A formal system of logic in which numbers on a scale from 0 to 1 are used instead of the values "true” and “false” as absolutes, to accurately represent the fact that some questions do not have a simple yes or no answer. Many issues, including many expressions of various customer preferences, are amenable to fuzzy logic type analysis.
  • Trainable Vector Function This is a technique that can be used in conjunction with the various types of user opinion systems enumerated above.
  • some form of predicate information is used to "predict" other known information present in the database.
  • the predicate information may take the form of known customer opinions regarding product attributes, or predicted user opinions regarding user attributes.
  • the trainable vector function "prediction" is made without resort to the known information that is being predicted based on the predicate information. If the trainable vector function predictions of the known information tend to be very close to the actual known values of the known information, then it may be inferred that the prediction algorithm works well and will also work well to predict unknown information using the prediction algorithm and similar predicate information inputs.
  • a neural network is one example of implementation of a trainable vector function. Any Docket No.: 28749- 2/P02 Page 4 of 54 Patent
  • U.S. patent 4,870,579 (“Hey”) discloses a customer preference system wherein a selected user's reaction to an unsampled item is predicted based upon the reactions of other users who have sampled the item. The data from the other users is weighted depending upon an agreement scalar, which is intended to reflect the degree of respective similarity between the selected user and each of the other users.
  • Heckerman et al. discloses a system and method for predicting user preferences.
  • data in a user database is used to create and test a plurality of competing belief networks .
  • the belief network that is determined to be best is then employed as part of a collaborative filtering algorithm.
  • This collaborative filtering algorithm including the best belief network, is repeatedly employed to predict user opinions.
  • the user database may again be used to create and compare a new set of competing belief networks.
  • the belief network adjudged to be best is used to effectively make a new collaborative filtering algorithm.
  • the new collaborative filtering algorithm is then used to repeatedly determine unknown user opinions.
  • a user opinion database (see definitions section) is used to mean any database where a large number of user opinions are stored, either directly or at least inferentially.
  • the user opinion database preferably store other types of information, such as user attributes, information regarding products and information regarding product attributes. Both the user opinions, and the other types of information will generally fall into one of two types: (1) known (or explicit) information; and (2) predicted (or estimated) information.
  • a user opinion database is a conventional customer preference database.
  • the users are customers and potential users who actually or potentially purchase, rent or otherwise give value in exchange for products and/or services.
  • user opinion databases such as a political opinion database, used to predict political opinions and opinions on candidates for public office.
  • the opinions of the user opinion database may be known opinions andor predicted opinions. Known opinions are obtained when there is direct information about a user's opinion regarding a topic (e.g., a product) or attribute, such as when a customer responds to a questionnaire asking for opinions regarding a product. Predicted opinions are opinions determined indirectly from other data in the user opinion database. Often, the prediction of Atty Docket No.: 28749- 2/P02 Page 7 of 54 Patent
  • an opinion will be the primary use of the user opinion system. In other cases, a predicted opinion may be used to help predict other opinions.
  • a user's opinion about an attribute of a product may be used to help predict the user's overall opinion regarding the product.
  • the opinions regarding products are herein referred to as product opinions.
  • the opinions regarding attributes present in various products are herein referred to as attribute opinions.
  • a user will be an individual, such as a customer who purchases household supplies for a household.
  • the user may be any other entity capable of having an opinion, such as: a family, acorporation, a political jurisdiction, an artificially intelligent computer based being, an animal and so on. So long as an entity can somehow express some sort of opinion (e.g., a dog that prefers one type of dog food over another), it can be considered a user.
  • At least some embodiments of the present invention may implicate the following inventive concepts: 1. Predicting a user opinion (e.g., an attribute opinion prediction, a product opinion prediction) by combining the results from parallel algorithms for predicting user opinion.
  • a user opinion e.g., an attribute opinion prediction, a product opinion prediction
  • the user decision model preferably uses a trainable non-linear vector Atty Docket No.: 28749- 2/P02 Page 9 of 54 Patent
  • the user decision model is preferably non-linear. For example, various relevant, known attribute opinions for a subject user may be differently weighted to unequally influence a predicted product opinion for the subject user.
  • a method of making a prediction of an opinion of a predetermined user based on data in a user opinion database includes several Atty Docket No.: 28749- 2/P02 Page 10 of 54 Patent
  • a method of determining the price for a product includes several steps.
  • One step is provision of a customer opinion database including attribute value data and attribute opinion data.
  • the attribute value data corresponds to the plurality of attributes and associated attribute values present in the product, with one of the attributes being the price of the product.
  • the attribute opinion data is associated with at least some of the attributes in the list of attributes.
  • Another step is provision of a product opinion algorithm for determining a product opinion regarding the product for a predetermined customer based on the data in the customer opinion database.
  • Another step is determination of a plurality of product opinions for the predetermined customer using the product opinion algorithm wherein each product opinion is based upon assumption of a different attribute value for the price attribute.
  • a method of determining an estimate of a product opinion of a predetermined product for a predetermined customer includes several steps.
  • One step is provision of a list of attributes and associated attribute values present in the predetermined product.
  • Another step is provision of attribute opinion values for at least some of the attributes.
  • Another step is calculation of an estimated product opinion value for the predetermined customer based on the attribute opinion values using a product opinion algorithm.
  • Fig. 1 is a schematic diagram of a customer preference system according to the present invention.
  • Fig. 2 is another schematic diagram of the customer preference system of Fig. 1.
  • Fig. 3 is another schematic diagram of the customer preference system of Fig. 1.
  • Fig. 4 is another schematic diagram of the customer preference system of Fig. 1.
  • Fig. 5 is another schematic diagram of the customer preference system of Fig. 1.
  • Fig. 6 is another schematic diagram of the customer preference system of Fig. 1.
  • Fig. 7 is another schematic diagram of the customer preference system of Fig. 1.
  • Fig. 8 is another schematic diagram of the customer preference system of Fig. 1.
  • Fig. 9 is another schematic diagram of the customer preference system of Fig. 1.
  • Fig. 10(a) is another schematic diagram of the customer preference system of Fig. 1. Atty Docket No.: 28749- 2/P02 Page 12 of 54 Patent
  • Fig. 10(b) is another schematic diagram of the customer preference system of Fig. 1.
  • Fig. 11 is another schematic diagram of the customer preference system of Fig. Fig. 12 is another schematic diagram of the customer preference system of Fig. Fig. 13 is another schematic diagram of the customer preference system of Fig. Fig. 14 is another schematic diagram of the customer preference system of Fig. Fig. 15 is another schematic diagram of the customer preference system of Fig. Fig. 16 is another schematic diagram of the customer preference system of Fig. Fig. 17 is another schematic diagram of the customer preference system of Fig. Fig. 18 is another schematic diagram of the customer preference system of Fig. Fig. 19 is another schematic diagram of the customer preference system of Fig. Fig. 20 is another schematic diagram of the customer preference system of Fig.
  • Fig. 21 is another schematic diagram of the customer preference system of Fig. Fig. 22 is another schematic diagram of the customer preference system of Fig. Fig. 23 is another schematic diagram of the customer preference system of Fig. Fig. 24 is another schematic diagram of the customer preference system of Fig. Fig. 25 is another schematic diagram of the customer preference system of Fig. Fig. 26 is another schematic diagram of the customer preference system of Fig. Fig. 27 is another schematic diagram of the customer preference system of Fig. Fig. 28 is another schematic diagram of the customer preference system of Fig.
  • Rule 3 The role of the specification (other than the Specially Defined Terms section) as an interpretive or definitional aid shall be limited to helping choose between alternative definitions that meet the requirements of Rule 2 (above).
  • Rule 4 The role of extrinsic evidence (e.g., expert witnesses) as an interpretive or definitional aid shall be limited to helping choose between alternative definitions that meet the requirements of Rule 2 (above).
  • the present invention means at least some embodiments of the present invention; references to various feature(s) of the "present invention” throughout this document do not mean that all claimed embodiments or methods include the referenced feature(s).
  • dictionaries and/or technical lexicons any document whose primary purpose is the definition of words, terms and/or phrases; on the other hand, documents that merely discuss, explain or provide examples of devices or methods, without purporting to provide definitions of specific words, phrases or terms, are not to be considered as dictionaries and/or technical lexicons.
  • user any entity capable of having an opinion; users include, but are not limited to, individuals, groups of individuals, business entities, artificial intelligence beings and social institutions. Any Docket No. : 28749- 2/P02 Page 15 of 54 Patent
  • product any item involved in a commercial transaction; products include, but are not limited to, commodity products, non-commodity products, real estate, commodity services, professional services and intellectual property; commercial transactions include, but are not limited to, purchase, rental, barter and loan.
  • price amount of value potentially and/or actually asked and/or received for a product; the value may be measured in monetary units or non-monetary units.
  • combining includes, but is not limited to, combining by static averaging, combining by determining a weighted average, and combining according to an algorithm determined using a trainable linear vector function; combining does not include the process of selecting a single thing from a group of things.
  • trainable vector function any function wherein a predictive algorithm is tested and/or modified based on the difference between known results and predictions of the known results obtained by the predictive algorithm.
  • known opinion an opinion directly provided by a user (e.g., known product opinion, known attribute opinion).
  • predicted opinion an opinion predicted based on other known and/or predicted information (e.g., predicted product opinion, predicted attribute opinion).
  • a customer's opinion e.g., degree of like / dislike
  • the customer preference system uses a customer profile, representative of a customer, and a product profile, representative of a product.
  • the quantitative estimate of customer opinion is herein referred to as a predicted opinion.
  • Collaborative Filtering There are a variety of possible methods for implementing this customer preference, the most common being collaborative filtering. Collaborative filtering utilizes a process of estimating the degree of similarity between a potential new customers and past customers.
  • the assumption is that the potential new customer's opinion, about a new product at issue, will tend to be similar to known opinions of similar past customers.
  • the known opinions may have been provided by past customers in response to a consumer survey.
  • One type of collaborative filtering algorithm used to predict an opinion of a predetermined user, determines similarity between the predetermined user and other users based upon the degree of similarity in product opinions between the predetermined user and the other users.
  • Another type of collaborative filtering algorithm used to predict an opinion of a predetermined user, determines similarity between the predetermined user and other users based upon the degree of similarity in attribute opinions between the predetermined user and the other users.
  • Another type of collaborative filtering algorithm used to predict an opinion regarding a predetermined product, determines similarity between the predetermined product and other products based upon the degree of similarity in product opinions between the predetermined product and the other products.
  • a product can be considered to be made up of attributes and attribute values.
  • an attribute may be color and the attribute value may be red.
  • the users known attribute opinions, relating to some or all attributes of a product are used to predict a product opinion for the subject user. Attributes of a product might include its price, its color, the presence/absence of a feature, and so on. If the potential new Atty Docket No.: 28749- 2/P02 Page 19 of 54 Patent
  • content based prediction can be made by finding a measure of similarity between products, based on the products' constituent attributes and attribute values.
  • the content based prediction would be based upon the subject user's known opinions for products determined as similar to the subject product. Once again, sufficient predetermined data about the potential new customer's product opinions for similar products is required. Otherwise, the accuracy of the prediction will tend to be poor.
  • One type of content based algorithm used to predict an opinion of a predetermined user, determines similarity between the predetermined user and other users based upon the degree of similarity in attributes of the user between the predetermined user and other users.
  • This term "attributes of the user” refers to factual data regarding the user, as opposed to the opinions held by the user. Such factual data may include characteristics such as age, gender, religion, hair color, weight and so on.
  • Another type of content based algorithm, used to predict an opinion regarding a predetermined product determines similarity between the predetermined product and other products based upon the degree of similarity in attributes of the product between the predetermined product and other products. These attributes of the product are actual features of the product, as distinct from product opinions proffered by users regarding the product.
  • ARPA is a static (that is, non-trainable) algorithm wherein a predicted product opinion for a predetermined Any Docket No.: 28749- 2/P02 Page 20 of 54 Patent
  • the predicted product opinion is calculated by collecting attribute opinions (known and/or predicted) for the predetermined user. Along with the attribute opinions, associated attribute weights are also collected. These attribute weights reflect the relative importance of each attribute to the user. Some attributes are more important than others.
  • the ARPA user decision model algorithm accounts for this fact in its use of attribute opinion weights.
  • PRAR is a trainable user decision model. Under PRAR, there are two stages; (1) the training stage; and (2) the utilization stage. In the training stage, known attribute opinions and known product opinions for various users are provided. The known attribute opinions are combined in various ways to form product predictions. For example, the attributes may be ascribed various weights so that differently weighted averages of the attribute opinions yield different predicted product opinions. The predicted product opinions, each calculated in different ways, are compared to the known product opinions.
  • the training stage may be revisited and a new chosen algorithm may be determined to best reflect the totality of the data in the user opinion database.
  • a new chosen algorithm may be determined to best reflect the totality of the data in the user opinion database.
  • Collaborative filtering type and content based type predictive algorithms have degraded performance with missing data.
  • Expert based algorithms depend upon the (generally limited) knowledge of experts. However, each of these three types of algorithms depends on non-identical sets of data. Thus, when one method has insufficient data to operate effectively, the other may have fully sufficient data available.
  • the accuracy may be improved. This may be especially true when results from algorithms of different types are combined. For example, the combination of both content based and collaborative filtering based algorithms may give especially accurate results because collaborative filtering algorithms and content based algorithms generally tend to depend on highly divergent data sets.
  • Parallel-combinative estimation combines (see above definition of "combines") the results of various algorithms, rather than merely trying to select the best result from a set of parallel algorithms. While each algorithm result may weigh equally in the ultimate parallel-combinative prediction, it is usually preferable to weigh the results differently in the combination, depending on the degree of perceived accuracy of each separate algorithm.
  • combiners for combining parallel predictions (e.g., predictions of user attribute opinions, predictions of user product opinions) into a single parallel-combinative prediction, including: (1) confidence weighting; (2) expert weighting (also sometimes called combination of experts weighting); and (3) trainable vector combinations.
  • each of the parallel predictions is associated with a confidence value. These confidence values are used as weighting factors in calculating a weighted average of the various parallel estimates that are being combined.
  • the confidence value is proportional to the similarity and the respective dimensions of the similarities.
  • the similarities include product rating similarity 238, product attribute similarity 240, product rating similarity 248, attribute rating similarity 250, attribute similarity 252.
  • the respective dimensions include product rating dimension 239, product attribute dimension 241, product rating dimension 249, attribute rating dimension 251 and attribute dimension 253.
  • the parallel estimates are combined by summing the multiple estimates weighted by expert's (e.g., domain expert's) assigned weights.
  • expert's e.g., domain expert's
  • trainable vector combinations parallel estimates are combined in various ways to predict known data.
  • the method of combination that yield parallel-combinative predictions that best match the known data is deemed to be the best method of combination.
  • This method of combination is then used to calculate parallel-combinative predictions where the data being predicted (e.g., a user opinion) is not known.
  • One type of trainable vector function that may be used as a combiner is a neural network. Atty Docket No.: 28749- 2/P02 Page 23 of 54 Patent
  • the product opinion prediction for a given product, may be created by combining known and/or predicted attribute opinions with respect to a subject user.
  • An evident problem with such a process is that different users will mentally combine attribute opinions into product opinions in a variety of ways. Some folks will only be concerned about finding a product having a single outstandingly-good attribute. Other folks may be more concerned about the balance of all the attributes, with all the attributes taking on a similar level of influence over the resulting product opinion.
  • Product Opinion Prediction sum(Attribute Opinion) / number of Attributes (1) This equation (1) is known as the Linear Customer Decision Model. The underlying assumption that all attributes are equally important is not optimally accurate.
  • a trainable nonlinear vector function approximator such as a neural network
  • a trainable nonlinear vector function approximator is used to learn how each individual customer combines attribute opinions into product opinions.
  • the assumption is that a customer, or even groups of customers, will tend to combine attribute opinions into product opinions in similar ways.
  • the attribute opinion predictions may be used as a substitute for predetermined attribute opinions (e.g., attribute opinions gleaned from customer surveys).
  • predetermined attribute opinions e.g., attribute opinions gleaned from customer surveys.
  • One method of forming attribute opinion predictions for a subject user is to use attribute opinions of other users who happen to be similar to the potential new customer. This is analogous to the collaborative filtering method of forming product opinions by using predetermined product opinions of other, similar users.
  • Another way of predicting attribute opinions is to infer attribute opinion predictions from predetermined product opinions, where the products include the attribute of interest. While this inference process (termed "attribution") is usually under-constrained, and thus has intrinsic descriptive error, it can be used still sometimes provide meaningful attribute opinion predictions, even in the absence of similar, past customers. Attribution works from the Linear Customer Decision Model, stipulating that if several, predetermined, known product opinions are available for a subject, then the these equations define a set of simultaneous equations that can be roughly solved to find predicted attribute opinions. The predicted attribute opinions can be used to help form a more rigorous basis for making new product opinion predictions for the subject user.
  • One objective of the present invention is provision of a descriptive and detailed model ("user decision model") of how users form opinions.
  • the user decision model primarily deals with the way in which attribute opinions influence associated product opinions for a user, and may additionally deal with how product opinions may be used to glean meaningful information about attribute opinions.
  • Such a user model is especially advantageous for use in other personalized retail applications.
  • a user decision model for a subject user preferably includes known attribute opinions and predicted attribute opinions.
  • the user decision model models the subject user's subjective, mental method of combining attribute opinions into product opinions. Developing a good user decision model can be useful for finer-grained interaction with the subject user (e.g., potential customer). For example, the user decision model may be used to determine the most appealing attributes of a given product, so as to create advertisements whose content is tailored to the subject user.
  • Such a fine-grained user decision model could be utilized to estimate the price-demand curve of the subject user.
  • 100% market segmentation in pricing may be achieved.
  • Such complete market segmentation is conventionally attempted in the selling of used cars, wherein each potential customer is offered a different price for the same product, based on that potential customer's willingness/ability to pay for the product, and based on the perceived appeal of the product to the potential customer.
  • this attempted market segmentation pricing does not always work well in practice because of deficiencies in information about the potential customer and his opinions.
  • the present invention improves on this situation by increased collection of data (e.g., using data in a large database), more Atty Docket No.: 28749- 2/P02 Page 26 of 54 Patent
  • the preferred embodiment of the system 1000 depends on a database 4 to store large amounts of persistent data (detailed later). This embodiment also interacts with the user by way of a User Interface 1, which communicates to the System 3 by means of an Internet Connection 2.
  • the interaction between the User 5 and the System 3, takes place in several possible modes.
  • a User 5 supplies the System with his own User Id 2-1, and a Product Id 2-1, whereupon the System 3 responds to the User 5 with a predicted Customer Product Rating 2-2 corresponding to the User Id 2-1 and Product Id 2-1.
  • Another style of interaction between User 5 and System 3, shown in Figure 3, requires that the User 5 supply the System 3 with a User Id 3-1, and a Product Category Id 3-1.
  • the System 3 can then respond by producing an ordered list of the Product Ids 3-2 that are predicted to have the highest Customer Product Rating for the User.
  • FIG. 4 Another use case for the System 3 occurs when a User 5 enters a Product Id 4-1, and the System 3 delivers an ordered list of User Ids 4-2, which i> predicted to have the highest Customer Product Rating for that Product Id 4-1. All three use cases utilize the same underlying functionality of creating a prediction of Customer Product Rating for each pairing of Customer and Product. Any Docket No.: 28749- 2/P02 Page 27 of 54 Patent
  • the use case Figure 5 employs an adjunct to the main system, the Ad System 5, which selects a product to advertise, sends the selected User Id 5-2 and Product Id 5-3 to the main System 3, and then receives the resulting rating-sorted list of Attributes 5-4 for the selected product.
  • the Ad System 5 then converts the rated attributes into a displayable Advertisement 5-5 for delivery to the User 5.
  • the Producer of a specific Product will select a User 5 (most likely a group of individuals), and for that User 6-2 and Product 6-3, the System 3 will generate a PriceDemandCurve 6-4 for the User 5, consisting of the User's Rating for the Product at different price levels. As shown Figure 6, the DemandSystem 7 may then determine a discounted product price 6-5 for User 5, which can be conveyed to the User as an advertisement, or upon demand.
  • the present invention allows a user opinion database to be used to generate price demand curves, or other price-related predictions, such as: calculating the probability of a sale of a product to a given customer at a given price or prepare product inventory based on expected sales.
  • price-related predictions such as: calculating the probability of a sale of a product to a given customer at a given price or prepare product inventory based on expected sales.
  • a designer may determine what combination of features to include in a newly- designed product or service to maximize profitability on the new product or service.
  • this price-related predictive work is based upon predicted user opinions, rather than facts.
  • pricing predictions may be conventionally based on customers expressing demand for a specific product with pre-orders or the like.
  • these price-related predictions based upon known information may be additionally or alternatively based upon predicted information.
  • This predicted information used to make price-related predictions, may include predicted attribute opinions of various users, predicted product opinions of various users and predicted user attributes. Preferred methods of predicting product opinions, attribute opinions and user attributes are discussed throughout this document.
  • Demand curve data is different for each combination of user (e.g., individual user, group of individuals) and product.
  • the demand curve predicts different product opinions given different product attributes, which may include or be the price.
  • a price demand curve may be created for each individual by the present invention and may be helpful even when the product is real estate. For example, suppose that a real estate seller desires to propose a possible price for a piece of real estate to a user.
  • the demand system can be used to generate a price demand curve for the specific user and then determine a price range that co ⁇ esponds to sound product opinion.
  • the proposed price may then be based on the price range to maximize the probability and profitability of the transaction for the seller.
  • the Main System 3 is composed of a multitude of data tables, which are permanently stored in the aforementioned Database 4. Portions of each table are loaded into the Computer's RAM for more rapid processing, though the details of this process are not necessary in order to build and use the System 99.
  • the Participant Tables 18 which contain data describing the Customers and the Products.
  • each row 301of the Users Table 10 describes one individual Customer with information including userid 201, average product rating 202, num product ratings 203, average attribute rating 204, num attribute ratings 205, clusterid 206, decision mode neural net 207 and attributes 256.
  • the Users Table 10 contains columns such that each row of the table holds one User's User Id 201 (a number or string unique to each User), Average Product Rating 202, total number of Product Ratings (Num Product Ratings 203), Average Attribute Rating 204, total number of Attribute Ratings (Num Attribute Ratings 205), and a Cluster Id 206 used for grouping the Users. Also, the Users
  • Table 301 row entry has a field for storing a serialized Neural Net 207 (or other vector function module - used in compositing a user's Attribute Ratings to Product Ratings).
  • attribute ratings table 16 has rows 302 including userid 201, attribute name 208, attribute value 209, explicit rating 210, estimate 211, estimate certainty 212, estimate from user similarity using explicit ratings 213, estimate certainty from user similarity using explicit ratings 214, estimate from user similarity using attributed ratings 215, estimate certainty from user similarity using attributed ratings 216, estimate from attributed product ratings 217 and estimate certainty from attributed product ratings 218.
  • User Attributes Table 12b (shown in Fig. 7 and shown in more detail in Fig. 10(b))is used in calculating user-to-user similarity based on the users' attributes, such as age, career, Atty Docket No.: 28749- 2/P02 Page 30 of 54 Patent
  • each row 303b of user attribute table 12b includes attribute name 208b, type 219b, constraint 220b and representative values 221b.
  • product ratings table 17 has rows 304 including userid 201, productid 222, explicit rating 223, estimate 224, estimate certainty 225, estimate from user similarity from product ratings 226, estimate certainty from user similarity from product ratings 227, estimate from attribute ratings 228, estimate certainty from attribute ratings 229, estimate from user similarity from attribute ratings 230, estimate certainty from user similarity from attribute ratings 231, estimate from product similarity from product ratings 232, estimate certainty from product similarity from product ratings 233, estimate from product similarity from product attributes 234, estimate certainty from product similarity from product attributes 235, estimate from attribute ratings by attribute similarity 236, estimate certainty from attribute ratings by attribute similarity 237, estimate from user similarity from user attributes 258 and estimate from user similarity from user attributes 259.
  • product similarity table 14 has rows 305 including productid_l 222, product_id2222, product rating similarity 238, product rating dimension 239, product attribute similarity 240 and product attribute dimension 241.
  • each row 306of the Products Table 11 partially describes a Product, including information such as productid 222, average product rating 242, num product ratings 243, nearest neighbors 244, category 245 and attributes 246.
  • users cluster table 15 has rows 307 including clusterid 247.
  • user similarity table 13 has rows 308 including userid_l 201, userid_2 201, product rating similarity 248, product rating dimension 249, attribute rating Atty Docket No.: 28749- 2/P02 Page 31 of 54 Patent
  • Personalized Advertisement System 6 including a data table of Ad Fragments 21 (stored in a database), and an Ad Fragment Combiner 22 module, which will assemble selected Ad Fragments from the Ad Fragment Table 21 into a composite ad for delivery to the user.
  • the Demand Curve Generation System 7, shown in Fig. 17, shows that the Demand Subsystem 7 is composed of just a pair of essential data tables -the Products Table 17
  • This pair of tables jointly stores the information used for predicting the number of customer purchases that would be made at a variety of price levels.
  • the second major step is to derive the Attribute Ratings Table 16 from the User Similarity Table 13, the Product Ratings Table 17, and the Attribute Ratings Table 16.
  • the Product Ratings Table 17 is filled with a variety Atty Docket No.: 28749- 2/P02 Page 32 of 54 Patent
  • System 6 takes in the Attribute Ratings 5-4 from the Main System 3, selects matching Ad Fragments from the Ad Fragment Table 21, and composites those Fragments by way of the Ad Fragment Combiner 22 module.
  • the operations of the Ad Fragment Combiner 22 are described below in more detail. As shown in Fig. 22, during the application of the System 3 for Demand Curve
  • the set of estimated Product Ratings 22-1 at various Price levels (given by the MainSystem 3), is combined with the Purchase History 22-2 data in the Demand System 7. This combination produces a set of Estimated Quantities 22-3 of Product purchased at various Price levels. Those purchase quantity estimates are processed by the Demand System 7 to determine the most profitable Price Level 22-4, which is then output.
  • Set Similarity Methods refers to two sets or vectors or numbers, which can include (but should not be construed as limited to): covariance, Euclidean distance, hamming distance and cosine distance.
  • Sets of numbers can be combined in a variety of manners, including averaging, weighted averaging (where the weights are usually some confidence measure), selecting the mode, median, or other statistical summary of the data set. Any Docket No.: 28749- 2/P02 Page 33 of 54 Patent
  • Similarity 240 is based on Similarity of Product Attributes 246. This calculation requires that calculation of the Similarity between two vectors of mixed numbers and discrete values (as described in the preceding section Set Comparisons.
  • the normalized Euclidean distance, between the two sets of Product Attributes 246 corresponding to each Product 222 in the pair is calculated. The reciprocal of this distance is entered in the Product Similarity Table 14 field Product Attribute Similarity 240.
  • the number of Product Attributes 246 present for both products in the pair is entered as the Product Attribute Dimension241. These common Attributes are used in calculating the Product Attribute Similarity 240.
  • the Rating Covariance Similarity 238 is set to a Set Comparison measure (covariance). This Set Comparison measure reflects the Similarity between the sets of Product Ratings 223 (from the Product Ratings 17 table) corresponding to each Product 222 in the pair.
  • the Product Rating Covariance Dimension 239 is set to the number of Product Ratings 223, which is non- null for both Products 222 in the pair.
  • the Product Rating Similarity 248 is set to a Set Comparison measure of the Similarity (covariance) of each Atty Docket No.: 28749- 2/P02 Page 34 of 54 Patent
  • the Product Rating Dimension 249 is set to the number of corresponding pairs of Product Ratings present for both Users.
  • the field Attribute Rating Similarity 250 is set to a Set Comparison measure of the similarity (covariance) of each of the pair's user's set of Attribute Ratings 210.
  • the Attribute Rating Dimension 251 is set to the number of corresponding pairs of Attribute Ratings 210 present for both Users 201.
  • the Attribute Similarity 252 field of the User Similarity Table 13 is set to the Set Comparison measure (Euclidean distance) of the sets of User Attributes 256 corresponding to each of the pair's Users 201, and again the Attribute Dimension 253 is set to the number of corresponding couples of User Attributes 256 present for both Users 201.
  • Attributes 256 are demographic profiles for the users.
  • each pairing of Attribute Name 208 and Attribute Value 209 may be rated explicitly by the User 5 by way of the User Interface 1. This explicit rating is thus stored in the Explicit Rating 210 field of the Attribute Ratings Table 16.
  • the rating (or attribute opinion) can be predicted by the methods disclosed herein. These predicted Estimates of the Attribute Rating can be determined through a variety of processes, including the major processes of estimating from User Similarity, and estimating from Decision Model Attribution.
  • the Decision Model Attribution starts with the assumption of some function PR(AR), that predicts a user's Product Rating 223 for a given Product 222 from that user's Attribute Ratings 210 for the Attributes 208,209 co ⁇ esponding to the given Product 222.
  • that model is a trainable Neural Network of relatively simple design.
  • the Neural Network preferably includes a layer of sigmoid units matching the number of attributes, followed by a second layer holding a single sigmoid unit.
  • This Neural Net User Model 500 is then trained using the available data, such that the training inputs to the Learning Module 500 are the known Attribute Ratings 210 for a certain Product 222, and the training output is the Explicit Product Rating 223 for that Product 222.
  • network 500 can be trained on individual explicit Attribute Ratings 210, whereby the training input is just that one
  • Attribute Rating 210 (explicit, known) (other inputs are set to default "zero preference” values), and the training output is that same Attribute Rating 210 (estimated, predicted).
  • the objective is to realize a User Decision Model 500 that does a relatively smooth interpolation of the User's true internal Decision Model.
  • the statistical User decision Model of the present invention should preferably reflect the way that various attributes and associated attribute opinions influence a user's opinion ofproduct, when those product opinions are formed (consciously or unconsciously) by the user out in the real world.
  • Types of user decision models other than a Neural Net of sigmoid units, are also workable. For example, a Linear Decision Model, essentially averages the Attribute Ratings 210 into a Product Rating 224.
  • Attribution process proceeds by finding an Attribute Rating Estimate 211 for a certain Attribute Name 208 and Attribute Atty Docket No.: 28749- 2/P02 Page 36 of 54 Patent
  • the Estimate211 minimizes the sum of differences between each Product Rating 223 and the output of the User Decision Model 500 when all known Attribute Ratings 210 and the Estimate 211 are input into the User Decision Model 500.
  • Product Ratings 223 co ⁇ esponding to Products 222 not possessing the Attribute Name 208 and Attribute Value 209 are preferably ignored in this process. This minimization can be done in a variety of ways (e.g., gradient descent, binary search, discrete approximation), though maximal accuracy is not required.
  • Confidence Measure 212 is non- interchangeable with other Confidence Measures, which are based on different scales.
  • Confidence Measure 212 is the normalized error (e.g. Root Mean Squared Error) of the
  • Attribute Rating Estimates 211 e.g., the sum of each difference between the Explicit Product Rating 223 and the Product Rating Estimate resulting from putting the Attribute Rating Estimate 211 into the User Decision Model 500.
  • This Confidence Measure 212 is used later in combining various parallel Attribute Rating Estimates and Product Rating Estimates.
  • Attribute Rating Estimates 213 for a subject User 201 may also create Attribute Rating Estimates 213 for a subject User 201 based on the Attribute Rating Estimates 211 of other Similar Users 201, using any of the Similarity Measures in the User Similarity Table 13. To do this, an Attribute Rating Estimate 213 for a given User 201,
  • Attribute Name 208 and Attribute Value 209, is created based on a similarity-weighted Set Combination (in our case, the weighted average) of the Explicit Attribute Ratings 210 of other Users 201 for the same Attribute Name 208, and AttributeValue 209.
  • a similarity-weighted Set Combination in our case, the weighted average
  • a Confidence Measure 214 (non-interchangeable) can also be determined. This Confidence Measure 214 is proportional to the User Similarity and the User Similarity Dimension of the Users 201 whose Attribute Ratings 210 were used in constructing the Attribute Rating Estimate 213.
  • Attribute Rating Estimates e.g.,. from Attribution, and from Case Based Estimation
  • Attribute Rating Estimates are maintained to create a co ⁇ esponding variety of Product Rating Estimates based on those Attribute Rating Estimates.
  • the relative merits of the various Product Rating Estimates can be learned by the Product Rating Estimate Combiner 501 (e.g, Neural Network). The inputs to and outputs from Product Rating
  • Attribute Rating Estimates are made at this point, in that any available Explicit Attribute Rating 210 is used to replace the co ⁇ esponding Attribute Rating Estimates.
  • the modified Attribute Rating Estimates' Certainty Measures, which are known attribute opinions, are set to maximum confidence values, because these values are known rather than predicted.
  • each User 201 may rate each Product 222, though the fraction of Products rated by any particular User 201 is usually quite small.
  • the Product Ratings 223, which are missing, will be estimated (or predicted) in this stage. Co ⁇ esponding to the entries in the Product Rating Table 17, the estimation methods used in this implementation include:
  • This method is the same as the previous process, except that it uses the User Similarity measure Attribute Rating Similarity 250, and the Similarity Confidence Measure Attribute Rating Dimension 251.
  • This method is the same as the previous process, except that it uses the User Similarity measure Attribute Similarity 252, and the Similarity Confidence Measure Attribute Dimension 253.
  • Product Rating Estimate 232 is determined as the Product Similarity-weighted Set Combination (weighted average) of the other Products' Explicit Product Ratings 223 by the subject User201. This method uses weights that are the product of the Similarity ProductRatingSimilarity238 and the Certainty Measure Product Rating Dimension 239. A Confidence Measure 233 for this Estimate 232 is formed as the weighted Confidence
  • This method is the same as the previous process, except that it uses the Product Attribute Similarity 240 (as a Product Similarity measure) and the Product Attribute Dimension 241 (as a Confidence Measure).
  • This Product Rating Estimate is predicted by taking the Attribute Rating Estimates 211 for the subject User 201 for the Attributes 208 of the given Product 222. These are input into the User Decision Model 500, to create a Product Rating Estimate 228, as shown in Figure 23.
  • the Confidence Measure 229 for this Estimate 228 is formed as the CM weighted Set Combination (average) of the Confidence Measures 212 of the component Attribute Rating Estimates 211.
  • the Confidence Measure 237 for this Estimate is formed as the Confidence Measure-weighted Set Combination (average) of the Confidence Measures of the component Attribute Rating Estimates 211.
  • the Personalized Ad 5-5 is to be generated based on this User / Product input data. This selection is passed to the Main System 3, which returns the set of Attribute Rating Estimates 5-4 for that User for the Attributes of the given Product 222. The Ad System 6 then selects the Attributes 208 for the given Product 222, which co ⁇ espond to the Attribute Rating Estimates 211 with the highest estimated Utility for the User (the number selected is a parameter of the Ad System 6).
  • the Ad System collects the set of Ad Fragments which co ⁇ espond to those Attributes 208 in the Ad Fragment Table21 ( Figure 24) and these fragments are subsequently combined into a composite Advertisement 5-5 in the Ad Fragment Combiner 22 module.
  • the Ad Fragment Combiner's 22 methodology would depend on the types of Ad Fragments being combined, and on the desired output format of the Advertisements 5-5.
  • the combination process may work by simple concatenation.
  • the Ad Fragments are text strings and the desired output format is an image (like a "banner" advertisement)
  • the text strings may be written, in a panelized fashion, contiguously onto a background bitmap to make the image.
  • the Ad Fragments are images, and the desired output format is an image
  • the Ad Fragments may be super-imposed contiguously on a background image, and then delivered.
  • the Demand System 7 In order to generate Demand Curve data, the Demand System 7 must first select a User 5, 6-2, 201 and Product 6-3, 222 for which the data is to be generated.
  • Attribute Name 208 of an Attribute 246 belonging to the selected Product 222 so that this Attribute 209 will be varied to generate the Demand Curve data.
  • this selected Attribute 209 does not have to be the Price of the Product 222, but can in fact be any of the Product's Attributes 246 -though Price is considered to be the most generally useful, and is the subject of this example.
  • the Main System 3 generates a set of Product Rating Estimates 6-4 from Attribute Ratings 211, by cycling the selected Attribute 209 through a range of represenfetive Attribute Values. On each cycle, the Attribute Rating Estimates 211 co ⁇ esponding to the Product's Attribute Values 246 and the cycled Attribute Value, are input into a Product Rating Estimate
  • the Demand System 7 selects data from the Purchase History Table 23 that co ⁇ esponds to the given Product 222, and Product Rating Estimate 211. In this way, a set of
  • Purchase Quantity Estimates 22-3 are created that co ⁇ espond to each of the Attribute Values.
  • the Demand System 7 may then use some internal rules to determine which combination of
  • Attribute Value e.g., Price
  • Purchase Quantity Estimate will generate the most desirable outcome (e.g., maximum net profit).
  • the Demand System 7 may then provide this data to another system (e.g. the Personalized Ad System 6) which then delivers a co ⁇ esponding offer to the User 5.
  • Much of the present invention deals with the prediction of user opinions, rather than facts. This is because facts, such as age or gender, are usually more readily ascertainable than opinions, such as like or dislike of a product or attribute of a product. However, facts may also be predicted using the system of the present invention.
  • predictions are based on known (or explicit) information. According to the present invention, predictions may be based, in whole or in part, upon other predictions. For example, in a preceding example, it was predicted that a subject user was 5 years of age. Suppose that the subject user's opinion on the famous novel Atty Docket No.: 28749- 2/P02 Page 44 of 54 Patent
  • Predicted opinions, as well as predicted facts, can also be used to make predictions.
  • a subject user was assumed to have known favorable opinions regarding toys, cookies and kindergarten classes.
  • there was no known opinion for the subject user regarding finge ⁇ ainting but it was known that the user possessed a fingerpainting set.
  • this predicted opinion on fingerpainting could then be used with the other known information (height, opinion on toys, opinion on cookies) to help predict the age of the user, as in the preceding example. In this way, a predicted opinion can help predict other facts and/or other opinions.

Abstract

A user opinion system and customer preference system (1000) employs a user opinion database (4) and opinion prediction algorithms for predicting various facts and opinions. A combination of parallel opinion predictions are used to determine a single parallel-combinative prediction. Product opinions (17) are predicted based upon predicted attribute opinions (16, 211, 213, 215, 217), known attribute opinions (16, 210), product attributes (11, 246), known user attributes (10, 256) and other product opinions (17). Attribute opinions (16) are predicted based on attribute opinions (16, 210, 211, 213, 215, 217) (including known and/or predicted attribute opinions), know attribute opinions (16, 210), product attributes (11), known user attributes (10, 256) and other product opinions (17). Price versus demand curves (sometimes herein called price-demand curves) are based on data in a user opinion database (4).

Description

CUSTOMER PREFERNCE SYSTEM
PRIORITY INFORMATION The present application claims all applicable priority and other legal benefit based on the following application: Provisional U.S. patent application number 60/269,419 entitled "Method and System for Matching Products with Interests and Demographic Profiles."
FIELD OF THE INVENTION The present invention is directed to user opinion systems, and more particularly to customer preference systems for predicting customer opinions about products and attributes of products.
BACKGROUND OF THE INVENTION Conventionally, information about customer preferences, predilections, behavior, opinions and buying habits has been informally collected, maintained and analyzed by certain businesspeople, such as salespeople and marketing experts. More recently, customer preference information has increasing been collected, maintained and analyzed by computer. The field of computer based customer preference technology is relatively new having emerged from recent advances in the ability of computers to efficiently handle large amounts of information. The computers can better collect, organize and store large amounts of information about customer behavior. The computers can also do complex or data-intensive Any Docket No.: 28749- 2/P02 Page 2 of 54 Patent
forms of statistical analysis on large consumer behavior databases to predict customer desires or future purchases.
There are several different conventional techniques that been used to make predictions about user opinions (e.g., customer preferences): 1. Collaborative Filtering. To predict a subject user's opinion, the user is compared with other users in a user opinion database to determine which other users tend to hold similar opinions. The known opinions of some or all of the similar users are used as a basis for predicting opinions of the subject user.
2. Content Based Systems. To predict a subject user's opinions (e.g., preferences) about a topic (e.g., a product), known opinions for the user about attributes of the product, from the user opinion database, are used as a basis for predicting the users opinions. For example if it is known that a user is highly partial to the color red, is highly partial to cotton clothing and is highly partial to sweaters, then a content based user opinion system would predict that the user would be highly partial to a red, cotton sweater because this product is made up of attributes about which the users holds favorable opinions.
3. Expert Based or Rule Based Systems. To predict a subject user's opinions, predetermined rules are supplied (e.g., by a knowledge expert). While expert based systems may use customer databases as input information, expert systems do not depend on observed data to process the inputs to make predictions. Rather, the expert's knowledge and rules control this information processing. As such, expert based systems are subject to limitations on the knowledge and predictive powers of human experts. Atty Docket No.: 28749- 2/P02 Page 3 of 54 Patent
The foregoing three types of user preference systems may (ormay not) employ mathematical or statistical concepts of: (1) fuzzy logic, and (2) trainable vector functions. These concepts are briefly explained below.
1. Fuzzy Logic. A formal system of logic in which numbers on a scale from 0 to 1 are used instead of the values "true" and "false" as absolutes, to accurately represent the fact that some questions do not have a simple yes or no answer. Many issues, including many expressions of various customer preferences, are amenable to fuzzy logic type analysis.
2. Trainable Vector Function. This is a technique that can be used in conjunction with the various types of user opinion systems enumerated above. In using a trainable vector function, some form of predicate information is used to "predict" other known information present in the database. For example, the predicate information may take the form of known customer opinions regarding product attributes, or predicted user opinions regarding user attributes. The trainable vector function "prediction" is made without resort to the known information that is being predicted based on the predicate information. If the trainable vector function predictions of the known information tend to be very close to the actual known values of the known information, then it may be inferred that the prediction algorithm works well and will also work well to predict unknown information using the prediction algorithm and similar predicate information inputs. On the other hand, if the trainable linear vector function predictions do not correspond well with the predetermined, known opinions, then the algorithm may be discarded or modified until it yields good "predictions" of predetermined, known opinion data. A neural network is one example of implementation of a trainable vector function. Any Docket No.: 28749- 2/P02 Page 4 of 54 Patent
Some specific patent publications in the area of customer preference systems will now be discussed.
U.S. patent 4,870,579 ("Hey") discloses a customer preference system wherein a selected user's reaction to an unsampled item is predicted based upon the reactions of other users who have sampled the item. The data from the other users is weighted depending upon an agreement scalar, which is intended to reflect the degree of respective similarity between the selected user and each of the other users.
U.S. patent 5,704,017 ("Heckerman et al.") discloses a system and method for predicting user preferences. In Heckerman et al., data in a user database is used to create and test a plurality of competing belief networks . The belief network that is determined to be best is then employed as part of a collaborative filtering algorithm. This collaborative filtering algorithm, including the best belief network, is repeatedly employed to predict user opinions. Periodically, as new information is added to the user database, the user database may again be used to create and compare a new set of competing belief networks. Again, the belief network adjudged to be best is used to effectively make a new collaborative filtering algorithm. The new collaborative filtering algorithm is then used to repeatedly determine unknown user opinions.
One potential drawback of the Heckerman, et al. system is that the new belief networks are generated only periodically. This means that the resultant collaborative filtering algorithm may be unoptimal because new information may have been added to the user database since the collaborative filtering algorithm was last updated. Perhaps more fundamentally, another potential drawback of the Heckerman et al. system is that the optimal belief network and resulting collaborative filtering algorithm is not optimized on a case by Atty Docket No.: 28749- 2/P02 Page 5 of 54 Patent
case basis, but rather optimized for the user database as a whole. While the collaborative filtering algorithm deemed to be the best by the Heckerman, et al. system may be the best, on average, across a wide spectrum of users and known user information, in practice the amount and type of available user information will often vary from user to user. However, Heckerman, et al. uses the same collaborative filtering algorithm, regardless of what information happens to available for a specific user. Finally, Heckerman, et al. only contemplates one type of algorithm: collaborative filtering (based on expert rules and/or known data).
U.S. patent 4,870,579 ("Miller et al.") discloses a predictive system wherein various collaborative filtering algorithms are evaluated and compared against each other using receiver operating curves. In this way, a preferred collaborative filtering technique can be used for a given user opinion prediction problem. It is noted that Miller et al. is limited to collaborative filtering algorithms. It is further noted that Miller et al. does not combine the results of its various algorithms in making a prediction of a user opinion. Rather, Miller et al. attempts to use the single, best algorithm to make its predictions of user opinions.
U.S. patent 6,101,484 ("Halbert, et al") discloses the calculation of price demand curve based on known information. In Halbert et al., the known information is primarily customer demand, expressed as binding maximum bids for products offered in a type of auction. To the extent that specific publications are discussed above, these discussions should not be taken as an admission that the discussed publications (e.g., patents) are prior art for patent law purposes. For example, some or all of the discussed publications may not be Atty Docket No.: 28749- 2/P02 Page 6 of 54 Patent
sufficiently early in time and/or sufficiently enabling so as to amount to prior art for patent law purposes.
SUMMARY OF THE INVENTION
Now some basic terminology will be discussed. First, a user opinion database (see definitions section) is used to mean any database where a large number of user opinions are stored, either directly or at least inferentially. In addition to user opinions, the user opinion database preferably store other types of information, such as user attributes, information regarding products and information regarding product attributes. Both the user opinions, and the other types of information will generally fall into one of two types: (1) known (or explicit) information; and (2) predicted (or estimated) information.
One example of a user opinion database is a conventional customer preference database. In a customer preference database, the users are customers and potential users who actually or potentially purchase, rent or otherwise give value in exchange for products and/or services. There are other types of user opinion databases, such a political opinion database, used to predict political opinions and opinions on candidates for public office.
The opinions of the user opinion database may be known opinions andor predicted opinions. Known opinions are obtained when there is direct information about a user's opinion regarding a topic (e.g., a product) or attribute, such as when a customer responds to a questionnaire asking for opinions regarding a product. Predicted opinions are opinions determined indirectly from other data in the user opinion database. Often, the prediction of Atty Docket No.: 28749- 2/P02 Page 7 of 54 Patent
an opinion will be the primary use of the user opinion system. In other cases, a predicted opinion may be used to help predict other opinions.
For example, a user's opinion about an attribute of a product may be used to help predict the user's overall opinion regarding the product. The opinions regarding products are herein referred to as product opinions. The opinions regarding attributes present in various products are herein referred to as attribute opinions.
Now that the generic concept of a user opinion database has been established, the concept of a user will be discussed. Often a user will be an individual, such as a customer who purchases household supplies for a household. However, the user may be any other entity capable of having an opinion, such as: a family, acorporation, a political jurisdiction, an artificially intelligent computer based being, an animal and so on. So long as an entity can somehow express some sort of opinion (e.g., a dog that prefers one type of dog food over another), it can be considered a user.
In the process of predicting user opinions based on the user opinion database, there are two types of users: (1) the subject user; and (2) other users. The subject user is the user who is the subject of the prediction. The other users are everybody else in the database. In the process of predicting user opinions based on the user opinion database, the opinion being predicted will be referred to as the subject opinion. Other opinions stored in the database will be referred to as other opinions. The opinions may take different forms depending on the associated issue. A yes-or- no opinion would be an example of an opinion in binary form, where only two possible opinions are appropriate. Another form for opinions would be discrete opinions, wherethere are two or more possible opinions, but where the number of possible opinions is finite. An Atty Docket No.: 28749- 2/P02 Page 8 of 54 Patent
example of an issue that would be associated with a discrete numerical opinion would be: rate Brand X widgets on a scale of 1 to 100. An example of an issue that would give rise to a discrete narrative opinion would be: choose the word that best describes Brand X widgets from the following choices: reliable, inexpensive or portable. While the inventive user opinion predictive concepts explained in this document may apply to both numerical and narrative opinions, numerical opinions, where feasible, are often preferable because they are more easily subject to statistical analysis and interpretation.
At least some embodiments of the present invention may implicate the following inventive concepts: 1. Predicting a user opinion (e.g., an attribute opinion prediction, a product opinion prediction) by combining the results from parallel algorithms for predicting user opinion.
2. Predicting user opinions by combining results of different types of parallel algorithm. For example, instead of merely using parallel collaborative filtering algorithms, the predictions of one or more collaborative filtering algorithms may be combined with results form one or more content based algorithms and/or one or more expert rules based algorithms.
3. Various novel ways of combining results from various, alternative predictive algorithms to form a single predictions. These various methods of combining predictions are sometimes herein referred to as combiners.
4. A user decision model for determining product opinion for determining product opinions based on attribute opinions, and/or for determining attribute opinions based on product opinions. The user decision model preferably uses a trainable non-linear vector Atty Docket No.: 28749- 2/P02 Page 9 of 54 Patent
function so that known product and attribute opinions of the subject user, or of other users, can help determine and optimize the parameters of various algorithms employed in the user decision model. The user decision model is preferably non-linear. For example, various relevant, known attribute opinions for a subject user may be differently weighted to unequally influence a predicted product opinion for the subject user.
5. Generation of a price versus demand curve based upon user opinion data (that is, known and/or predicted user opinion data). For example, user attribute opinions (known and/or predicted) can be used to predict a price versus demand curve for a product having the attributes. At least some embodiments of the present invention may exhibit one or more of the following objects, advantages and benefits:
1. More accurate opinion predictions based on a limited amount and/or types of known opinions and/or known facts available in the user opinion database.
2. Better targeted advertising based on more accurate product opinion predictions.
3. Better pricing policies, such as optimal market segmentation pricing schemes, based on more accurate product opinion predictions.
4. Better product and/or service design based on more accurate attribute opinion predictions and/or better product opinion predictions. 5 Increased business for parties, such as banks, who are able to offer their clients and/or customers more accurate customer opinion predictions.
According to one aspect of the present invention, a method of making a prediction of an opinion of a predetermined user based on data in a user opinion database includes several Atty Docket No.: 28749- 2/P02 Page 10 of 54 Patent
steps. One of the steps is determination of a plurality of predictions for the predetermined user based on a respective plurality of prediction algorithms applied to the data of the user opinion database. Another step is delivery of at least one prediction(s) of the plurality of predictions in human readable form. According to a further aspect of the present invention, a method of determining the price for a product includes several steps. One step is provision of a customer opinion database including attribute value data and attribute opinion data. The attribute value data corresponds to the plurality of attributes and associated attribute values present in the product, with one of the attributes being the price of the product. The attribute opinion data is associated with at least some of the attributes in the list of attributes. Another step is provision of a product opinion algorithm for determining a product opinion regarding the product for a predetermined customer based on the data in the customer opinion database. Another step is determination of a plurality of product opinions for the predetermined customer using the product opinion algorithm wherein each product opinion is based upon assumption of a different attribute value for the price attribute.
According to a further aspect of the present invention, a method of determining an estimate of a product opinion of a predetermined product for a predetermined customer includes several steps. One step is provision of a list of attributes and associated attribute values present in the predetermined product. Another step is provision of attribute opinion values for at least some of the attributes. Another step is calculation of an estimated product opinion value for the predetermined customer based on the attribute opinion values using a product opinion algorithm. Atty Docket No.: 28749- 2/P02 Page 11 of 54 Patent
Further applicability of the present invention will become apparent from a review of the detailed description and accompanying drawings. It should be understood that the description and examples, while indicating preferred embodiments of the present invention, are not intended to limit the scope of the invention, and various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will become more fully understood from the detailed description given below, together with the accompanying drawings, which are given by way of illustration only, and are not to be construed as limiting the scope of the present invention. In the drawings:
Fig. 1 is a schematic diagram of a customer preference system according to the present invention. Fig. 2 is another schematic diagram of the customer preference system of Fig. 1.
Fig. 3 is another schematic diagram of the customer preference system of Fig. 1.
Fig. 4 is another schematic diagram of the customer preference system of Fig. 1.
Fig. 5 is another schematic diagram of the customer preference system of Fig. 1.
Fig. 6 is another schematic diagram of the customer preference system of Fig. 1. Fig. 7 is another schematic diagram of the customer preference system of Fig. 1.
Fig. 8 is another schematic diagram of the customer preference system of Fig. 1.
Fig. 9 is another schematic diagram of the customer preference system of Fig. 1.
Fig. 10(a) is another schematic diagram of the customer preference system of Fig. 1. Atty Docket No.: 28749- 2/P02 Page 12 of 54 Patent
Fig. 10(b) is another schematic diagram of the customer preference system of Fig. 1. Fig. 11 is another schematic diagram of the customer preference system of Fig. Fig. 12 is another schematic diagram of the customer preference system of Fig. Fig. 13 is another schematic diagram of the customer preference system of Fig. Fig. 14 is another schematic diagram of the customer preference system of Fig. Fig. 15 is another schematic diagram of the customer preference system of Fig. Fig. 16 is another schematic diagram of the customer preference system of Fig. Fig. 17 is another schematic diagram of the customer preference system of Fig. Fig. 18 is another schematic diagram of the customer preference system of Fig. Fig. 19 is another schematic diagram of the customer preference system of Fig. Fig. 20 is another schematic diagram of the customer preference system of Fig. Fig. 21 is another schematic diagram of the customer preference system of Fig. Fig. 22 is another schematic diagram of the customer preference system of Fig. Fig. 23 is another schematic diagram of the customer preference system of Fig. Fig. 24 is another schematic diagram of the customer preference system of Fig. Fig. 25 is another schematic diagram of the customer preference system of Fig. Fig. 26 is another schematic diagram of the customer preference system of Fig. Fig. 27 is another schematic diagram of the customer preference system of Fig. Fig. 28 is another schematic diagram of the customer preference system of Fig.
Atty Docket No.: 28749- 2/P02 Page 13 of 54 Patent
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Before starting a description of the Figures, instructions for interpreting the words and phrases of this patent document will be provided. More particularly, many jurisdictions allow a patentee to act as its own lexicographer, and thereby allows the patentee to provide instructions in a patent document as to how the words, terms and phrases of the document are to be interpreted as a legal matter. For example, in the United States, the prerogative of the patentee to act as its own lexicographer has been solidly established based on statutory and case law. Accordingly, the following section provides rules for interpreting the words, terms and phrases of this particular patent document.
INTERPRETIVE RULES
Rule 1: There is a "Specially Defined Terms" section set forth below. Only words, terms or phrases that are explicitly defined in the Specially Defined Terms are to be considered to have a special definition, and, of course, the explicit definition provided herein is to serve as the definition for these terms. Accordingly, sources such as the patent specification and extrinsic evidence shall not be used to help define these terms - the explicitly provided definitions shall control.
Rule 2: If a word, term or phrase is not specially defined, then its definition shall be determined in the first instance by resort to dictionaries and technical lexicons that either exist as of the time this patent document is filed. (See definition of "dictionaries and technical lexicons" below in the Specially defined Terms section.) It is acknowledged that dictionaries and technical lexicons often provide alternative definitions. Also, definitions provided in different dictionaries and different lexicons often differ and are not always entirely consistent. Atty Docket No.: 28749- 2/P02 Page 14 of 54 Patent
In that case, it must be decided which definition is in best accordance with this document. Rules 3 and 4, set forth below, provide some guidelines for choosing between alternative definitions for a word, term or phrase.
Rule 3: The role of the specification (other than the Specially Defined Terms section) as an interpretive or definitional aid shall be limited to helping choose between alternative definitions that meet the requirements of Rule 2 (above).
Rule 4: The role of extrinsic evidence (e.g., expert witnesses) as an interpretive or definitional aid shall be limited to helping choose between alternative definitions that meet the requirements of Rule 2 (above).
SPECIALLY DEFINED TERMS the present invention: means at least some embodiments of the present invention; references to various feature(s) of the "present invention" throughout this document do not mean that all claimed embodiments or methods include the referenced feature(s). dictionaries and/or technical lexicons: any document whose primary purpose is the definition of words, terms and/or phrases; on the other hand, documents that merely discuss, explain or provide examples of devices or methods, without purporting to provide definitions of specific words, phrases or terms, are not to be considered as dictionaries and/or technical lexicons. user: any entity capable of having an opinion; users include, but are not limited to, individuals, groups of individuals, business entities, artificial intelligence beings and social institutions. Any Docket No. : 28749- 2/P02 Page 15 of 54 Patent
product: any item involved in a commercial transaction; products include, but are not limited to, commodity products, non-commodity products, real estate, commodity services, professional services and intellectual property; commercial transactions include, but are not limited to, purchase, rental, barter and loan. price: amount of value potentially and/or actually asked and/or received for a product; the value may be measured in monetary units or non-monetary units. combining: includes, but is not limited to, combining by static averaging, combining by determining a weighted average, and combining according to an algorithm determined using a trainable linear vector function; combining does not include the process of selecting a single thing from a group of things. trainable vector function: any function wherein a predictive algorithm is tested and/or modified based on the difference between known results and predictions of the known results obtained by the predictive algorithm. known opinion: an opinion directly provided by a user (e.g., known product opinion, known attribute opinion). predicted opinion: an opinion predicted based on other known and/or predicted information (e.g., predicted product opinion, predicted attribute opinion).
To the extent that the definitions provided above are consistent with ordinary, plain and accustomed meanings (as generally evidenced, inter alia, by dictionaries and/or technical lexicons), the above definitions shall be considered supplemental in nature. To the extent that the definitions provided above are inconsistent with ordinary, plain and accustomed meanings (as generally evidenced, inter alia, by dictionaries and/or technical lexicons), the above definitions shall control. If the definitions provided above are broader than the ordinary, Atty Docket No.: 28749- 2/P02 Page 16 of 54 Patent
plain and accustomed meanings in some aspect, then the above definitions will control at least in relation to their broader aspects.
To the extent that a patentee may act as its own lexicographer under applicable law, it is hereby further directed that all words appearing in the claims section, except for the above* defined words, shall take on their ordinary, plain and accustomed meanings (as generally evidenced, inter alia, by dictionaries and/or technical lexicons), and shall not be considered to be specially defined in this specification. Notwithstanding this limitation on the inference of "special definitions," the specification may be used to evidence the appropriate ordinary, plain and accustomed meanings (as generally evidenced, inter alia, by dictionaries and/or technical lexicons), in the situation where a word or term used in the claims has more than one alternative ordinary, plain and accustomed meaning and the specification is helpful in choosing between the alternatives.
Customer Preference Systems The field of "customer preference" technology is a relatively new one, having emerged from recent advances in computers' ability to efficiently store and organize large amounts of information describing customers' behavior and expressed opinions. More particularly, this new technology has been helped along by advances in computer network communication (e.g., the Internet) and large capacity data storage systems. The notion of "collaborative filtering" focuses on the idea that a vendor's past experience with past customers can be used to more quickly and accurately predict the needs and desires of new potential customers.
The core ability of a customer preference system is to produce a quantitative Any Docket No.: 28749- 2/P02 Page 17 of 54 Patent
prediction regarding a customer's opinion (e.g., degree of like / dislike) about a product. To do this, the customer preference system uses a customer profile, representative of a customer, and a product profile, representative of a product. The quantitative estimate of customer opinion is herein referred to as a predicted opinion. Generally speaking, there are three distinct classes of predictive algorithms for use in customer preference systems: (1) expert based, (2) collaborative filtering, and (3) content based. Expert based systems are discussed above. Further remarks on collaborative filtering and content based algorithms follow.
Collaborative Filtering There are a variety of possible methods for implementing this customer preference, the most common being collaborative filtering. Collaborative filtering utilizes a process of estimating the degree of similarity between a potential new customers and past customers.
The assumption is that the potential new customer's opinion, about a new product at issue, will tend to be similar to known opinions of similar past customers. For example, the known opinions may have been provided by past customers in response to a consumer survey.
Clearly, there are several drawbacks to this approach.
One of the most fundamental limitations of this approach, is that it requires that the system has previously encountered a reasonable number of past customers who actually reasonably similar to the new potential customer. Also, the system should have comprehensive product ratings collected for those past customers. The absence of suitable past customers with relevant, known opinions, will lead the system to make predictions with poor accuracy. Atty Docket No.: 28749- 2/P02 Page 18 of 54 Patent
One type of collaborative filtering algorithm, used to predict an opinion of a predetermined user, determines similarity between the predetermined user and other users based upon the degree of similarity in product opinions between the predetermined user and the other users. Another type of collaborative filtering algorithm, used to predict an opinion of a predetermined user, determines similarity between the predetermined user and other users based upon the degree of similarity in attribute opinions between the predetermined user and the other users.
Another type of collaborative filtering algorithm, used to predict an opinion regarding a predetermined product, determines similarity between the predetermined product and other products based upon the degree of similarity in product opinions between the predetermined product and the other products.
Content Based Customer Preference Systems
One means of circumventing some of these problems arising from data shortage about similar customers, is to use content based methods of predicting a product opinion. More particularly, a product can be considered to be made up of attributes and attribute values. For example, an attribute may be color and the attribute value may be red. In content based systems, the users known attribute opinions, relating to some or all attributes of a product, are used to predict a product opinion for the subject user. Attributes of a product might include its price, its color, the presence/absence of a feature, and so on. If the potential new Atty Docket No.: 28749- 2/P02 Page 19 of 54 Patent
customer's attribute opinions regarding the attributes is known, or can be predicted, then these attribute opinions may be combined to predict the product opinion.
For example, content based prediction can be made by finding a measure of similarity between products, based on the products' constituent attributes and attribute values. In this case, the content based prediction would be based upon the subject user's known opinions for products determined as similar to the subject product. Once again, sufficient predetermined data about the potential new customer's product opinions for similar products is required. Otherwise, the accuracy of the prediction will tend to be poor.
One type of content based algorithm, used to predict an opinion of a predetermined user, determines similarity between the predetermined user and other users based upon the degree of similarity in attributes of the user between the predetermined user and other users. This term "attributes of the user" refers to factual data regarding the user, as opposed to the opinions held by the user. Such factual data may include characteristics such as age, gender, religion, hair color, weight and so on. Another type of content based algorithm, used to predict an opinion regarding a predetermined product, determines similarity between the predetermined product and other products based upon the degree of similarity in attributes of the product between the predetermined product and other products. These attributes of the product are actual features of the product, as distinct from product opinions proffered by users regarding the product.
User Decision Models
One type of user decision model algorithm is herein called ARPA. ARPA is a static (that is, non-trainable) algorithm wherein a predicted product opinion for a predetermined Any Docket No.: 28749- 2/P02 Page 20 of 54 Patent
user is calculated. The predicted product opinion is calculated by collecting attribute opinions (known and/or predicted) for the predetermined user. Along with the attribute opinions, associated attribute weights are also collected. These attribute weights reflect the relative importance of each attribute to the user. Some attributes are more important than others. The ARPA user decision model algorithm accounts for this fact in its use of attribute opinion weights.
Under the ARPA algorithm, a product of each collected attribute opinion and its associated weight is calculated. These products are summed (and normalized, as necessary) to form the predicted product opinion for the user. Another user decision model is herein called PRAR. PRAR is a trainable user decision model. Under PRAR, there are two stages; (1) the training stage; and (2) the utilization stage. In the training stage, known attribute opinions and known product opinions for various users are provided. The known attribute opinions are combined in various ways to form product predictions. For example, the attributes may be ascribed various weights so that differently weighted averages of the attribute opinions yield different predicted product opinions. The predicted product opinions, each calculated in different ways, are compared to the known product opinions.
In the subsequent utilization stage, the way of combining the attribute opinions that gives the most accurate product opinions in the training stage is chosen. This chosen algorithm is then used to combine attribute opinions when the product opinion is not known.
Periodically (e.g., when a significant amount of known product opinion data is added to the user opinion database), the training stage may be revisited and a new chosen algorithm may be determined to best reflect the totality of the data in the user opinion database. Atty Docket No.: 28749-2/P02 Page 21 of 54 Patent
Parallel-Combinative Estimation
Collaborative filtering type and content based type predictive algorithms have degraded performance with missing data. Expert based algorithms depend upon the (generally limited) knowledge of experts. However, each of these three types of algorithms depends on non-identical sets of data. Thus, when one method has insufficient data to operate effectively, the other may have fully sufficient data available. By combining the predictions of various algorithms into a single prediction, the accuracy may be improved. This may be especially true when results from algorithms of different types are combined. For example, the combination of both content based and collaborative filtering based algorithms may give especially accurate results because collaborative filtering algorithms and content based algorithms generally tend to depend on highly divergent data sets.
This combination of predictions from independent algorithms to form a single prediction is herein called parallel-combinative estimation. Parallel-combinative estimation combines (see above definition of "combines") the results of various algorithms, rather than merely trying to select the best result from a set of parallel algorithms. While each algorithm result may weigh equally in the ultimate parallel-combinative prediction, it is usually preferable to weigh the results differently in the combination, depending on the degree of perceived accuracy of each separate algorithm. Some exemplary combiners, for combining predictive results, will be discussed below.
Combiners Atty Docket No.: 28749- 2/P02 Page 22 of 54 Patent
There are several different types of combiners for combining parallel predictions (e.g., predictions of user attribute opinions, predictions of user product opinions) into a single parallel-combinative prediction, including: (1) confidence weighting; (2) expert weighting (also sometimes called combination of experts weighting); and (3) trainable vector combinations.
In confidence weighting, each of the parallel predictions is associated with a confidence value. These confidence values are used as weighting factors in calculating a weighted average of the various parallel estimates that are being combined. For content based estimates and collaborative filtering estimates, the confidence value is proportional to the similarity and the respective dimensions of the similarities. As shown in Figs. 12 and 15, the similarities include product rating similarity 238, product attribute similarity 240, product rating similarity 248, attribute rating similarity 250, attribute similarity 252. As shown in Figs. 12 and 15, the respective dimensions include product rating dimension 239, product attribute dimension 241, product rating dimension 249, attribute rating dimension 251 and attribute dimension 253.
In expert weighting, the parallel estimates are combined by summing the multiple estimates weighted by expert's (e.g., domain expert's) assigned weights.
In trainable vector combinations, parallel estimates are combined in various ways to predict known data. The method of combination that yield parallel-combinative predictions that best match the known data is deemed to be the best method of combination. This method of combination is then used to calculate parallel-combinative predictions where the data being predicted (e.g., a user opinion) is not known. One type of trainable vector function that may be used as a combiner is a neural network. Atty Docket No.: 28749- 2/P02 Page 23 of 54 Patent
Attribute Based Customer Preference Systems
Another important possibility for creating content based estimates, is to find attribute opinion predictions for various attributes that may be present in one or more products of interest. The product opinion prediction, for a given product, may be created by combining known and/or predicted attribute opinions with respect to a subject user. An evident problem with such a process, is that different users will mentally combine attribute opinions into product opinions in a variety of ways. Some folks will only be concerned about finding a product having a single outstandingly-good attribute. Other folks may be more concerned about the balance of all the attributes, with all the attributes taking on a similar level of influence over the resulting product opinion.
A simplifying assumption is the assumption that every product opinion is inherently expressed in the following equation:
Product Opinion Prediction = sum(Attribute Opinion) / number of Attributes (1) This equation (1) is known as the Linear Customer Decision Model. The underlying assumption that all attributes are equally important is not optimally accurate.
For increased accuracy, a trainable nonlinear vector function approximator, such as a neural network, is used to learn how each individual customer combines attribute opinions into product opinions. Here the assumption is that a customer, or even groups of customers, will tend to combine attribute opinions into product opinions in similar ways.
A further complication of trying to use attribute opinions to create product opinion predictions, is that there may not be enough predetermined data regarding the attribute opinions. This may be reconciled somewhat by methods of predicting attribute opinions. Atty Docket No.: 28749- 2/P02 Page 24 of 54 Patent
The attribute opinion predictions may be used as a substitute for predetermined attribute opinions (e.g., attribute opinions gleaned from customer surveys). One method of forming attribute opinion predictions for a subject user is to use attribute opinions of other users who happen to be similar to the potential new customer. This is analogous to the collaborative filtering method of forming product opinions by using predetermined product opinions of other, similar users.
Another way of predicting attribute opinions is to infer attribute opinion predictions from predetermined product opinions, where the products include the attribute of interest. While this inference process (termed "attribution") is usually under-constrained, and thus has intrinsic descriptive error, it can be used still sometimes provide meaningful attribute opinion predictions, even in the absence of similar, past customers. Attribution works from the Linear Customer Decision Model, stipulating that if several, predetermined, known product opinions are available for a subject, then the these equations define a set of simultaneous equations that can be roughly solved to find predicted attribute opinions. The predicted attribute opinions can be used to help form a more rigorous basis for making new product opinion predictions for the subject user.
Unorthodox Applications
There exist a variety of ways of determining similarity, so as to produce more independent predicted opinions, both predicted attribute opinions and predicted product opinions. These methods have slightly differing data dependencies, and thus can be used in parallel (that is combination or selection) to cover each other's weaknesses when data is missing. Atty Docket No.: 28749- 2/P02 Page 25 of 54 Patent
One objective of the present invention is provision of a descriptive and detailed model ("user decision model") of how users form opinions. The user decision model primarily deals with the way in which attribute opinions influence associated product opinions for a user, and may additionally deal with how product opinions may be used to glean meaningful information about attribute opinions. Such a user model is especially advantageous for use in other personalized retail applications.
A user decision model for a subject user preferably includes known attribute opinions and predicted attribute opinions. The user decision model models the subject user's subjective, mental method of combining attribute opinions into product opinions. Developing a good user decision model can be useful for finer-grained interaction with the subject user (e.g., potential customer). For example, the user decision model may be used to determine the most appealing attributes of a given product, so as to create advertisements whose content is tailored to the subject user.
Alternatively, such a fine-grained user decision model could be utilized to estimate the price-demand curve of the subject user. By providing reasonably accurate price-demand curves for all potential customers for a product, 100% market segmentation in pricing may be achieved. Such complete market segmentation is conventionally attempted in the selling of used cars, wherein each potential customer is offered a different price for the same product, based on that potential customer's willingness/ability to pay for the product, and based on the perceived appeal of the product to the potential customer. Conventionally, this attempted market segmentation pricing does not always work well in practice because of deficiencies in information about the potential customer and his opinions. The present invention improves on this situation by increased collection of data (e.g., using data in a large database), more Atty Docket No.: 28749- 2/P02 Page 26 of 54 Patent
completely applying the available data (e.g., using statistically based algorithms) and better leveraging the available data (e.g., parallel-combinative estimation).
External Dependencies As depicted in Figure 1, the preferred embodiment of the system 1000 depends on a database 4 to store large amounts of persistent data (detailed later). This embodiment also interacts with the user by way of a User Interface 1, which communicates to the System 3 by means of an Internet Connection 2.
Use Cases
The interaction between the User 5 and the System 3, takes place in several possible modes. For example, as shown in Figure 2, a User 5 supplies the System with his own User Id 2-1, and a Product Id 2-1, whereupon the System 3 responds to the User 5 with a predicted Customer Product Rating 2-2 corresponding to the User Id 2-1 and Product Id 2-1. Another style of interaction between User 5 and System 3, shown in Figure 3, requires that the User 5 supply the System 3 with a User Id 3-1, and a Product Category Id 3-1. The System 3 can then respond by producing an ordered list of the Product Ids 3-2 that are predicted to have the highest Customer Product Rating for the User.
As shown in Fig. 4, another use case for the System 3 occurs when a User 5 enters a Product Id 4-1, and the System 3 delivers an ordered list of User Ids 4-2, which i> predicted to have the highest Customer Product Rating for that Product Id 4-1. All three use cases utilize the same underlying functionality of creating a prediction of Customer Product Rating for each pairing of Customer and Product. Any Docket No.: 28749- 2/P02 Page 27 of 54 Patent
The use case Figure 5 employs an adjunct to the main system, the Ad System 5, which selects a product to advertise, sends the selected User Id 5-2 and Product Id 5-3 to the main System 3, and then receives the resulting rating-sorted list of Attributes 5-4 for the selected product. The Ad System 5 then converts the rated attributes into a displayable Advertisement 5-5 for delivery to the User 5.
In the final use case, the Producer of a specific Product will select a User 5 (most likely a group of individuals), and for that User 6-2 and Product 6-3, the System 3 will generate a PriceDemandCurve 6-4 for the User 5, consisting of the User's Rating for the Product at different price levels. As shown Figure 6, the DemandSystem 7 may then determine a discounted product price 6-5 for User 5, which can be conveyed to the User as an advertisement, or upon demand.
The present invention allows a user opinion database to be used to generate price demand curves, or other price-related predictions, such as: calculating the probability of a sale of a product to a given customer at a given price or prepare product inventory based on expected sales. By comparing pricing calculations based on differing sets of product attributes, a designer may determine what combination of features to include in a newly- designed product or service to maximize profitability on the new product or service. While attempts to predict pricing and market behavior based upon alternative pricing schemes are not new, under the present invention, this price-related predictive work is based upon predicted user opinions, rather than facts. For example, pricing predictions may be conventionally based on customers expressing demand for a specific product with pre-orders or the like. Atty Docket No.: 28749- 2/P02 Page 28 of 54 Patent
However, under the present invention, these price-related predictions based upon known information (e.g., known user opinions, known user demand) may be additionally or alternatively based upon predicted information. This predicted information, used to make price-related predictions, may include predicted attribute opinions of various users, predicted product opinions of various users and predicted user attributes. Preferred methods of predicting product opinions, attribute opinions and user attributes are discussed throughout this document.
Demand curve data is different for each combination of user (e.g., individual user, group of individuals) and product. The demand curve predicts different product opinions given different product attributes, which may include or be the price. Thus a price demand curve may be created for each individual by the present invention and may be helpful even when the product is real estate. For example, suppose that a real estate seller desires to propose a possible price for a piece of real estate to a user. The demand system can be used to generate a price demand curve for the specific user and then determine a price range that coπesponds to sound product opinion. The proposed price may then be based on the price range to maximize the probability and profitability of the transaction for the seller.
Software Object Design - Main System- Object Containment As shown in Figure 7, the Main System 3 is composed of a multitude of data tables, which are permanently stored in the aforementioned Database 4. Portions of each table are loaded into the Computer's RAM for more rapid processing, though the details of this process are not necessary in order to build and use the System 99. Atty Docket No.: 28749- 2/P02 Page 29 of 54 Patent
As shown in Fig. 7, the first group of tables, are the Participant Tables 18, which contain data describing the Customers and the Products.
As shown in Fig. 8, each row 301of the Users Table 10 describes one individual Customer with information including userid 201, average product rating 202, num product ratings 203, average attribute rating 204, num attribute ratings 205, clusterid 206, decision mode neural net 207 and attributes 256. As shown in Fig. 8, the Users Table 10 contains columns such that each row of the table holds one User's User Id 201 (a number or string unique to each User), Average Product Rating 202, total number of Product Ratings (Num Product Ratings 203), Average Attribute Rating 204, total number of Attribute Ratings (Num Attribute Ratings 205), and a Cluster Id 206 used for grouping the Users. Also, the Users
Table 301 row entry has a field for storing a serialized Neural Net 207 (or other vector function module - used in compositing a user's Attribute Ratings to Product Ratings).
As shown in Fig. 9, attribute ratings table 16 has rows 302 including userid 201, attribute name 208, attribute value 209, explicit rating 210, estimate 211, estimate certainty 212, estimate from user similarity using explicit ratings 213, estimate certainty from user similarity using explicit ratings 214, estimate from user similarity using attributed ratings 215, estimate certainty from user similarity using attributed ratings 216, estimate from attributed product ratings 217 and estimate certainty from attributed product ratings 218.
As shown in Fig. 10(a), further Product data is stored in the Product Attributes Table 12a, wherein each row 303 describes an Attribute of a Product, including information such as attribute name 208, type 219, constraint 220 and representative values 221.
User Attributes Table 12b (shown in Fig. 7 and shown in more detail in Fig. 10(b))is used in calculating user-to-user similarity based on the users' attributes, such as age, career, Atty Docket No.: 28749- 2/P02 Page 30 of 54 Patent
income and so on. As shown in Fig. 10(b), each row 303b of user attribute table 12b includes attribute name 208b, type 219b, constraint 220b and representative values 221b.
As shown in Fig. 11, product ratings table 17 has rows 304 including userid 201, productid 222, explicit rating 223, estimate 224, estimate certainty 225, estimate from user similarity from product ratings 226, estimate certainty from user similarity from product ratings 227, estimate from attribute ratings 228, estimate certainty from attribute ratings 229, estimate from user similarity from attribute ratings 230, estimate certainty from user similarity from attribute ratings 231, estimate from product similarity from product ratings 232, estimate certainty from product similarity from product ratings 233, estimate from product similarity from product attributes 234, estimate certainty from product similarity from product attributes 235, estimate from attribute ratings by attribute similarity 236, estimate certainty from attribute ratings by attribute similarity 237, estimate from user similarity from user attributes 258 and estimate from user similarity from user attributes 259.
As shown in Fig. 12, product similarity table 14 has rows 305 including productid_l 222, product_id2222, product rating similarity 238, product rating dimension 239, product attribute similarity 240 and product attribute dimension 241.
As shown in Fig. 13, each row 306of the Products Table 11 partially describes a Product, including information such as productid 222, average product rating 242, num product ratings 243, nearest neighbors 244, category 245 and attributes 246. As shown in Fig. 14, users cluster table 15 has rows 307 including clusterid 247.
As shown in Fig. 15, user similarity table 13 has rows 308 including userid_l 201, userid_2 201, product rating similarity 248, product rating dimension 249, attribute rating Atty Docket No.: 28749- 2/P02 Page 31 of 54 Patent
similarity 250, attribute rating dimension 251, attribute similarity 252 and attribute dimension
253.
Software Object Design - Supplement Systems- Object Containment The diagram shown in Figure 16 illustrates the components comprising the
Personalized Advertisement System 6, including a data table of Ad Fragments 21 (stored in a database), and an Ad Fragment Combiner 22 module, which will assemble selected Ad Fragments from the Ad Fragment Table 21 into a composite ad for delivery to the user.
The Demand Curve Generation System 7, shown in Fig. 17, shows that the Demand Subsystem 7 is composed of just a pair of essential data tables -the Products Table 17
(shared with the main system) and the Purchase History Table 23. This pair of tables jointly stores the information used for predicting the number of customer purchases that would be made at a variety of price levels.
Normal Operations
As shown in Figures 18 and 19, information in the System 3 moves from the Participant Tables 18, to the Similarity Tables 19, and finally to the Rating Tables 20. The first stage is to fill the Similarity Tables 19 based on statistical algorithms using data from the Product Ratings Table 17, Attribute Ratings Table 16, Products Table 11 and users Table 10 (see Figs. 18 and 20).
As shown in Figure 20, the second major step is to derive the Attribute Ratings Table 16 from the User Similarity Table 13, the Product Ratings Table 17, and the Attribute Ratings Table 16. Next, as shown in Figure 21, the Product Ratings Table 17 is filled with a variety Atty Docket No.: 28749- 2/P02 Page 32 of 54 Patent
of Estimates of the Product Ratings, using the data from the User Similarity Table 13, the Product Similarity Table 14, the Product Ratings Table 17, and the Attribute Ratings Table 16. Finally, the variety of Product Rating Estimates is combined to produce a final Product Rating Estimate224. In the case where Personalized Advertisements are created (refer to Figure 5), the Ad
System 6 takes in the Attribute Ratings 5-4 from the Main System 3, selects matching Ad Fragments from the Ad Fragment Table 21, and composites those Fragments by way of the Ad Fragment Combiner 22 module. The operations of the Ad Fragment Combiner 22 are described below in more detail. As shown in Fig. 22, during the application of the System 3 for Demand Curve
Generation, the set of estimated Product Ratings 22-1 at various Price levels (given by the MainSystem 3), is combined with the Purchase History 22-2 data in the Demand System 7. This combination produces a set of Estimated Quantities 22-3 of Product purchased at various Price levels. Those purchase quantity estimates are processed by the Demand System 7 to determine the most profitable Price Level 22-4, which is then output.
Set Comparisons and Combinations
Throughout the discussion of this particular implementation of the system, the phrase "Set Similarity Methods" refers to two sets or vectors or numbers, which can include (but should not be construed as limited to): covariance, Euclidean distance, hamming distance and cosine distance. Sets of numbers can be combined in a variety of manners, including averaging, weighted averaging (where the weights are usually some confidence measure), selecting the mode, median, or other statistical summary of the data set. Any Docket No.: 28749- 2/P02 Page 33 of 54 Patent
Filling the SimilarityTables
In order to fill the Product Similarity 14 table, a couple different statistics for every possible combination of products in the system must be provided. For example, the Product
Similarity 240 is based on Similarity of Product Attributes 246. This calculation requires that calculation of the Similarity between two vectors of mixed numbers and discrete values (as described in the preceding section Set Comparisons. In this implementation example, for each pair of Products, the normalized Euclidean distance, between the two sets of Product Attributes 246 corresponding to each Product 222 in the pair, is calculated. The reciprocal of this distance is entered in the Product Similarity Table 14 field Product Attribute Similarity 240. The number of Product Attributes 246 present for both products in the pair is entered as the Product Attribute Dimension241. These common Attributes are used in calculating the Product Attribute Similarity 240. Likewise, for each pair of Products 222, the Product Similarity Table 14 field Product
Rating Covariance Similarity 238 is set to a Set Comparison measure (covariance). This Set Comparison measure reflects the Similarity between the sets of Product Ratings 223 (from the Product Ratings 17 table) corresponding to each Product 222 in the pair. The Product Rating Covariance Dimension 239 is set to the number of Product Ratings 223, which is non- null for both Products 222 in the pair.
In the User Similarity Table 13, for each pair of Users 201, the Product Rating Similarity 248 is set to a Set Comparison measure of the Similarity (covariance) of each Atty Docket No.: 28749- 2/P02 Page 34 of 54 Patent
user's set of Product Ratings 223. The Product Rating Dimension 249 is set to the number of corresponding pairs of Product Ratings present for both Users.
The field Attribute Rating Similarity 250 is set to a Set Comparison measure of the similarity (covariance) of each of the pair's user's set of Attribute Ratings 210. The Attribute Rating Dimension 251 is set to the number of corresponding pairs of Attribute Ratings 210 present for both Users 201.
The Attribute Similarity 252 field of the User Similarity Table 13 is set to the Set Comparison measure (Euclidean distance) of the sets of User Attributes 256 corresponding to each of the pair's Users 201, and again the Attribute Dimension 253 is set to the number of corresponding couples of User Attributes 256 present for both Users 201. The sets of User
Attributes 256 are demographic profiles for the users.
Filling the Attribute Ratings Table
In the Attribute Ratings Table 16, each pairing of Attribute Name 208 and Attribute Value 209 may be rated explicitly by the User 5 by way of the User Interface 1. This explicit rating is thus stored in the Explicit Rating 210 field of the Attribute Ratings Table 16. Alternatively, if no Explicit Rating 210 is supplied, the rating (or attribute opinion) can be predicted by the methods disclosed herein. These predicted Estimates of the Attribute Rating can be determined through a variety of processes, including the major processes of estimating from User Similarity, and estimating from Decision Model Attribution.
Attribution Atty Docket No.: 28749- 2/P02 Page 35 of 54 Patent
The Decision Model Attribution starts with the assumption of some function PR(AR), that predicts a user's Product Rating 223 for a given Product 222 from that user's Attribute Ratings 210 for the Attributes 208,209 coπesponding to the given Product 222. In this example that model is a trainable Neural Network of relatively simple design. The Neural Network preferably includes a layer of sigmoid units matching the number of attributes, followed by a second layer holding a single sigmoid unit. This Neural Net User Model 500 is then trained using the available data, such that the training inputs to the Learning Module 500 are the known Attribute Ratings 210 for a certain Product 222, and the training output is the Explicit Product Rating 223 for that Product 222. Furthermore, network 500 can be trained on individual explicit Attribute Ratings 210, whereby the training input is just that one
Attribute Rating 210 (explicit, known) (other inputs are set to default "zero preference" values), and the training output is that same Attribute Rating 210 (estimated, predicted).
From this training, the objective is to realize a User Decision Model 500 that does a relatively smooth interpolation of the User's true internal Decision Model. In other words, the statistical User decision Model of the present invention should preferably reflect the way that various attributes and associated attribute opinions influence a user's opinion ofproduct, when those product opinions are formed (consciously or unconsciously) by the user out in the real world. Types of user decision models, other than a Neural Net of sigmoid units, are also workable. For example, a Linear Decision Model, essentially averages the Attribute Ratings 210 into a Product Rating 224. These other types of user decision models can be trained just as described for the neural network model.
To construct an Estimated Attribute Rating 211, the Attribution process proceeds by finding an Attribute Rating Estimate 211 for a certain Attribute Name 208 and Attribute Atty Docket No.: 28749- 2/P02 Page 36 of 54 Patent
Value 209. The Estimate211 minimizes the sum of differences between each Product Rating 223 and the output of the User Decision Model 500 when all known Attribute Ratings 210 and the Estimate 211 are input into the User Decision Model 500. Product Ratings 223 coπesponding to Products 222 not possessing the Attribute Name 208 and Attribute Value 209 are preferably ignored in this process. This minimization can be done in a variety of ways (e.g., gradient descent, binary search, discrete approximation), though maximal accuracy is not required.
We also form a Confidence Measure 212. The Confidence Measure 212 is non- interchangeable with other Confidence Measures, which are based on different scales. Confidence Measure 212 is the normalized error (e.g. Root Mean Squared Error) of the
Attribute Rating Estimates 211 (e.g., the sum of each difference between the Explicit Product Rating 223 and the Product Rating Estimate resulting from putting the Attribute Rating Estimate 211 into the User Decision Model 500). This Confidence Measure 212 is used later in combining various parallel Attribute Rating Estimates and Product Rating Estimates.
Case-Based Estimation
In the rather more traditional style of Collaborative Filtering, we may also create Attribute Rating Estimates 213 for a subject User 201 based on the Attribute Rating Estimates 211 of other Similar Users 201, using any of the Similarity Measures in the User Similarity Table 13. To do this, an Attribute Rating Estimate 213 for a given User 201,
Attribute Name 208, and Attribute Value 209, is created based on a similarity-weighted Set Combination (in our case, the weighted average) of the Explicit Attribute Ratings 210 of other Users 201 for the same Attribute Name 208, and AttributeValue 209. Thus an Attribute Atty Docket No.: 28749- 2/P02 Page 37 of 54 Patent
Rating Estimate 213 may be predicted based on Users 201 who are Similar by the Product Rating Similarity 248 ( from the User Similarity Table 13), Attribute Rating Similarity 250, or User Attribute Similarity252. A Confidence Measure 214 (non-interchangeable) can also be determined. This Confidence Measure 214 is proportional to the User Similarity and the User Similarity Dimension of the Users 201 whose Attribute Ratings 210 were used in constructing the Attribute Rating Estimate 213.
Combining Attribute Rating Estimates
Although, at this point, it might seem helpful to combine the various types of Attribute Rating Estimates (e.g.,. from Attribution, and from Case Based Estimation) for each
User 201, Attribute Name 208 and AttributeValue 209, it is advantageous to postpone this step. Instead, the various Attribute Rating Estimates are maintained to create a coπesponding variety of Product Rating Estimates based on those Attribute Rating Estimates. The relative merits of the various Product Rating Estimates can be learned by the Product Rating Estimate Combiner 501 (e.g, Neural Network). The inputs to and outputs from Product Rating
Estimate Combiner 501 are shown in Fig. 28.
However, one modification of the Attribute Rating Estimates is made at this point, in that any available Explicit Attribute Rating 210 is used to replace the coπesponding Attribute Rating Estimates. The modified Attribute Rating Estimates' Certainty Measures, which are known attribute opinions, are set to maximum confidence values, because these values are known rather than predicted.
Filling the Product Ratings Table Atty Docket No.: 28749- 2/P02 Page 38 of 54 Patent
In the Product Rating Table 17, each User 201 may rate each Product 222, though the fraction of Products rated by any particular User 201 is usually quite small. The Product Ratings 223, which are missing, will be estimated (or predicted) in this stage. Coπesponding to the entries in the Product Rating Table 17, the estimation methods used in this implementation include:
Product Rating Estimate from User Similarity from Product Ratings 226 Product Rating Estimate from User Similarity from Attribute Ratings 230 Product Rating Estimate from User Similarity from User Attributes 258 Product Rating Estimate from Product Similarity from Product Ratings 232 Product Rating Estimate from Product Similarity from Product Attributes 234
Product Rating Estimate from Attribute Ratings 228 Product Rating Estimate from Attribute Ratings Similarity to Product Attributes 236
Product Rating Estimate from UserSimilarity from ProductRatings 226 This is the most traditional Collaborative Filtering method. This process predicts a
Product Rating Estimate from the User Similarity-weighted Set Combination (e.g., weighted average) of the other Users' Explicit Product Ratings 223 for the given Product. In this implementation, the other Users' Product Ratings 223 are weighted by Product Rating Similarity 248 from the User Similarity Table 13, and by the Confidence Measure (Product Rating Dimension 249) of this User Similarity. A Confidence Measure for this Estimate is formed as the weighted Confidence Measure of the Similarities 248 used in forming the Estimate 226, where the weights of the partial Confidence Measures are the same weights as those used to weight the Product Ratings 223. Atty Docket No.: 28749- 2/P02 Page 39 of 54 Patent
Product Rating Estimate from User Similarity from Attribute Ratings 230
This method is the same as the previous process, except that it uses the User Similarity measure Attribute Rating Similarity 250, and the Similarity Confidence Measure Attribute Rating Dimension 251.
Product Rating Estimate from User Similarity from User Attributes 258
This method is the same as the previous process, except that it uses the User Similarity measure Attribute Similarity 252, and the Similarity Confidence Measure Attribute Dimension 253.
Product Rating Estimate from Product Similarity from ProductRatings 232
Analogous to the traditional Collaborative Filtering method, this process predicts a Product Rating Estimate for a given User 201 and Product 222 based on the Product Ratings 223 of other Similar Products 222, as found in the Product Similarity Table 17. Thusly, the
Product Rating Estimate 232 is determined as the Product Similarity-weighted Set Combination (weighted average) of the other Products' Explicit Product Ratings 223 by the subject User201. This method uses weights that are the product of the Similarity ProductRatingSimilarity238 and the Certainty Measure Product Rating Dimension 239. A Confidence Measure 233 for this Estimate 232 is formed as the weighted Confidence
Measures of the Similarities used in forming the Estimate 232. The weights of the partial Confidence Measures are the same weights as those used to weight the Product Ratings 223. Atty Docket No.: 28749- 2/P02 Page 40 of 54 Patent
Product Rating Estimate from Product Similarity from Product Attributes 234
This method is the same as the previous process, except that it uses the Product Attribute Similarity 240 (as a Product Similarity measure) and the Product Attribute Dimension 241 (as a Confidence Measure).
Product Rating Estimate from Attribute Ratings 228
This Product Rating Estimate is predicted by taking the Attribute Rating Estimates 211 for the subject User 201 for the Attributes 208 of the given Product 222. These are input into the User Decision Model 500, to create a Product Rating Estimate 228, as shown in Figure 23. The Confidence Measure 229 for this Estimate 228 is formed as the CM weighted Set Combination (average) of the Confidence Measures 212 of the component Attribute Rating Estimates 211.
Product Rating Estimate from Attribute Ratings Similarity to Product Attributes 236 This Product Rating Estimate is created as the Attribute Similarity- weighted Set
Combination (weighted average) of the Attribute Ratings 210 for the given User 201, which coπespond to the Attributes 246 of the given Product 222. The Confidence Measure 237 for this Estimate is formed as the Confidence Measure-weighted Set Combination (average) of the Confidence Measures of the component Attribute Rating Estimates 211.
Personalized Ads
The process of creating Personalized Advertisements 5-5 from the underlying Main System 3 for Recommendations, begins when the Ad System 6 module selects a User and a Atty Docket No.: 28749- 2/P02 Page 41 of 54 Patent
Product. The Personalized Ad 5-5 is to be generated based on this User / Product input data. This selection is passed to the Main System 3, which returns the set of Attribute Rating Estimates 5-4 for that User for the Attributes of the given Product 222. The Ad System 6 then selects the Attributes 208 for the given Product 222, which coπespond to the Attribute Rating Estimates 211 with the highest estimated Utility for the User (the number selected is a parameter of the Ad System 6).
Once Attributes 208 are selected, the Ad System collects the set of Ad Fragments which coπespond to those Attributes 208 in the Ad Fragment Table21 (Figure 24) and these fragments are subsequently combined into a composite Advertisement 5-5 in the Ad Fragment Combiner 22 module.
The Ad Fragment Combiner's 22 methodology would depend on the types of Ad Fragments being combined, and on the desired output format of the Advertisements 5-5. In the case where the Ad Fragments are text strings and the desired output format is a text string, the combination process may work by simple concatenation. In the case where the Ad Fragments are text strings and the desired output format is an image (like a "banner" advertisement), the text strings may be written, in a panelized fashion, contiguously onto a background bitmap to make the image. In the case where the Ad Fragments are images, and the desired output format is an image, the Ad Fragments may be super-imposed contiguously on a background image, and then delivered.
Demand Curve Generation
In order to generate Demand Curve data, the Demand System 7 must first select a User 5, 6-2, 201 and Product 6-3, 222 for which the data is to be generated. The Demand Atty Docket No.: 28749- 2/P02 Page 42 of 54 Patent
System 7 must also select the Attribute Name 208 of an Attribute 246 belonging to the selected Product 222, so that this Attribute 209 will be varied to generate the Demand Curve data.
It is noteworthy that this selected Attribute 209 does not have to be the Price of the Product 222, but can in fact be any of the Product's Attributes 246 -though Price is considered to be the most generally useful, and is the subject of this example.
The Main System 3 generates a set of Product Rating Estimates 6-4 from Attribute Ratings 211, by cycling the selected Attribute 209 through a range of represenfetive Attribute Values. On each cycle, the Attribute Rating Estimates 211 coπesponding to the Product's Attribute Values 246 and the cycled Attribute Value, are input into a Product Rating Estimate
Method ( 228, 232, and/or 236 ), whose output is a Product Rating Estimate. The set of Product Rating Estimates 6-4 coπesponding to the varied set of Attribute Values is sent back to the Demand System 7.
As shown in Figures 22 and 25, for each pair of Attribute Value and Product Rating Estimate in 22-1, the Demand System 7 selects data from the Purchase History Table 23 that coπesponds to the given Product 222, and Product Rating Estimate 211. In this way, a set of
Purchase Quantity Estimates 22-3 are created that coπespond to each of the Attribute Values.
The Demand System 7 may then use some internal rules to determine which combination of
Attribute Value (e.g., Price) and Purchase Quantity Estimate will generate the most desirable outcome (e.g., maximum net profit). The Demand System 7 may then provide this data to another system (e.g. the Personalized Ad System 6) which then delivers a coπesponding offer to the User 5. Atty Docket No. : 28749- 2/P02 Page 43 of 54 Patent
Prediction of Facts
Much of the present invention deals with the prediction of user opinions, rather than facts. This is because facts, such as age or gender, are usually more readily ascertainable than opinions, such as like or dislike of a product or attribute of a product. However, facts may also be predicted using the system of the present invention.
For example, consider a user whose age is not known. Assume that it is known that the user has a height of 3 feet 6 inches. Assume that this subject user of unknown age has explicitly provided some of her opinions. These known opinions indicate a strong liking for toys, cookies and fingerpainting. It would be expected that an algorithm that looked in a large database for other users (of known ages) with similar opinions and a similar height, the algorithm would find that other users with similar likes would be about 5 years of age. Therefore, the algorithm could predict a fact (user's age) based on other information (known facts and known opinions in this case).
Of course, many algorithms, known now and/or later to be developed, could be used to predict facts. However, it is important to note that the prediction of facts using user databases is not conventionally common, because it is generally opinions, rather than facts, that are predicted by user databases.
Predictions Based On Predicted Information Conventionally, predictions (or estimates) are based on known (or explicit) information. According to the present invention, predictions may be based, in whole or in part, upon other predictions. For example, in a preceding example, it was predicted that a subject user was 5 years of age. Suppose that the subject user's opinion on the famous novel Atty Docket No.: 28749- 2/P02 Page 44 of 54 Patent
"War and Peace" needed to be predicted. The predicted age (5 years old) of the user would provide a strong indication that the user would not like the novel "War and Peace" because very few 5 year olds enjoy this long and difficult novel. In this case, a predicted opinion would be based, at least in part, on a predicted fact. Again, many different algorithms (or a combination of parallel algorithms) could be used to do the actual prediction, but the point is that the predicted fact may provide a very strong indication upon which to base an accurate predicted opinion.
Predicted opinions, as well as predicted facts, can also be used to make predictions. In a preceding example, a subject user was assumed to have known favorable opinions regarding toys, cookies and kindergarten classes. In a slight variation, assume that there was no known opinion for the subject user regarding fingeφainting, but it was known that the user possessed a fingerpainting set. Based on this known fact (along with other available, relevant information), it might be predicted that the subject user had a favorable opinion of fingerpainting. This predicted opinion on fingerpainting could then be used with the other known information (height, opinion on toys, opinion on cookies) to help predict the age of the user, as in the preceding example. In this way, a predicted opinion can help predict other facts and/or other opinions.
Conclusion Many variations on the above-described user opinion systems are possible. Such variations are not to be regarded as a departure from the spirit and scope of the invention, but rather as subject matter intended to be encompassed within the scope of the following claims, to the fullest extent allowed by applicable law.

Claims

Atty Docket No.: 28749-2/P02 Page 45 of 54 PatentWhat is claimed is:
1. A method of making a prediction of an opinion of a predetermined user based on data in a user opinion database, the method comprising the steps of:
determining a plurality of predictions for the predetermined user based on a respective
plurality of prediction algorithms applied to the data of the user opinion database; and
combining the plurality of predictions into a single parallel-combinative prediction.
2. The method of claim 1 wherein the plurality of prediction algorithms include
algorithms of at least two of the following types: collaborative filtering algorithms, content based algorithms and expert based algorithms.
3. The method of claim 1 further comprising the steps of:
determining, for each prediction of the plurality of predictions, a respective confidence
value; wherein, in the combining step, the plurality of predictions are combined by calculating a
confidence weighted parallel-combinative prediction based on the confidence values.
4. The method of claim 1 wherein, in the combining step, the plurality of predictions
are combined by an expert weighting algorithm. Atty Docket No.: 28749-2/P02 Page 46 of 54 Patent
5. The method of claim 1 wherein, in the combiriing step, the plurality of predictions are weighted by an algorithm that is determined through the use of a trainable vector function.
6. The method of claim 5 wherein the trainable vector function is implemented by a neural network.
7. The method of claim 1 wherein:
the user opinion database is a customer preference database comprising customer
preferences regarding a plurality of products; and
the predetermined user is a potential customer for at some of the plurality of products.
8. The method of claim 7 wherein the at least one prediction(s) delivered at the delivering step is effectively delivered in the form of a targeted advertisement.
9. The method of claim 1 wherein:
the user opinion database is stored in a computer system;
the combining step is performed by the computer system.
10. A computer system comprising:
a user opinion database comprising user opinion data stored in machine readable form; Atty Docket No.: 28749-2/P02 Page 47 of 54 Patent
prediction instructions comprising machine readable instructions for determining a plurality of predictions for a predetermined user based on a respective plurality of prediction algorithms applied to the user opinion data; and
a combiner comprising machine readable instructions for combining the plurality of
predictions into a single parallel-combinative prediction.
11. The computer system of claim 10 wherein the combiner combines the plurality of predictions by confidence weighting.
12. The computer system of claim 10 wherein the combiner combines the plurality of
predictions by expert weighting.
13. The computer system of claim 10 wherein the combiner combines the predictions
based on an algorithm determined using a trainable vector function.
14. The computer system of claim 13 wherein the trainable vector function is
implemented by a neural network.
15. A method of determining product price-demand information, the method comprising the steps of:
providing a user opinion database including predicted information; and Atty Docket No.: 28749-2/P02 Page 48 of 54 Patent
predicting a relationship between price and demand using at least some of the predicted
information.
16. The method of claim 15 wherein:
the predicted information is a predicted product opinion of at least one user.
17. The method of claim 15 wherein:
the predicted information is a predicted attribute opinion of at least one user.
18. The method of claim 15 wherein:
the predicted information is a predicted user attribute of at least one user.
19. The method of claim 15 wherein the predicted information is based upon a
combination of predictions from a plurality of parallel predictive algorithm.
20. The method of claim 15 further comprising the step of proposing a price for a
product based upon the results of the predicting step.
21. The method of claim 20 wherein the proposed price would maximize profits
under the predictions of the predicting step. Atty Docket No.: 28749-2/P02 Page 49 of 54 Patent
22. A method of determining a prediction of a product opinion of a predetermined product for a predetermined customer, the method comprising the steps of: providing a list of attributes present in the predetermined product;
providing attribute opimons for at least some of the attributes; and
calculating a predicted product opinion for the predetermined customer based on the
attribute opinions using a product opinion algorithm.
23. The method of claim 22 wherein the attribute opinions comprise known attribute
opinions.
24. The method of claim 22 wherein the attribute opinions comprise predicted attribute opinions.
25. The method of claim 22 wherein the attribute opinions comprise attribute opinions
for the predetermined customer.
26. The method of claim 22 wherein the attribute opinions comprise attribute opinions for customers other than the predetermined customer.
27. The method of claim 22 wherein the calculating step comprises the following sub-
steps: Atty Docket No.: 28749-2/P02 Page 50 of 54 Patent
determining an attribute opinion for the predetermined customer for each attribute of list of attributes; and
compositing the attribute opinions for the predetermined customer to determine the product opinion prediction.
28. The method of claim 27 wherein the compositing step composits the attribute opinions by taking the arithmetic mean of the estimated attribute opinions and using this
arithmetic mean as the product opinion prediction.
29. The method of claim 27 wherein the compositing step comprises the sub-steps of: ascribing respective weights to each attribute opinion;
calculating a weighted average of the attribute opinions to determine the product opinion
prediction.
30. The method of claim 29 wherein the ascribing step comprises the sub-step of:
determining the weights based upon the relationship between attribute opinions for the
predetermined customer and product opinions for the predetermined customer, with the product
opinions being product opinions provided by the predetermined customer for products other than
the predetermined product.
31. The method of claim 29 wherein the ascribing step comprises the sub-step of: determining the weights using a trainable vector function. Atty Docket No.: 28749-2/P02 Page 51 of 54 Patent
32. A method of determining a prediction of an attribute opinion, of a predetermined
attribute included in at least one product, for a predetermined customer, the method comprising the steps of:
providing a list of products that include the predetermined attribute;
providing product opinions for at least some of the at least one products that include the predetermined attribute; and
calculating a predicted attribute opinion for the predetermined customer based on the
product opinions using an attribute opinion algorithm.
33. The method of claim 32 wherein the product opinions comprise known product opinions.
34. The method of claim 32 wherein the product opinion values comprise predicted product opinions.
35. The method of claim 32 wherein the product opinions comprise product opinions
for the predetermined customer.
36. The method of claim 32 wherein the product opinions comprise product opinions for customers other than the predetermined customer. Atty Docket No.: 28749-2/P02 Page 52 of 54 Patent
37. The method of claim 32 wherein the calculating step comprises the following sub- steps:
collecting all available product opinions for the predetermined customer for products that
include the predetermined attribute; and
decompositing the product opinions for the predetermined customer to determine the
attribute opinion prediction.
38. A method of using a user opinion database to make a prediction, the method including the steps of:
providing a user opinion database with known information; determining a first prediction using a first algorithm based on the known information; determining a second prediction using a second algorithm based at least in part on the
first prediction.
39. The method of claim 38 where the first algorithm is the same as the second
algorithm.
40. The method of claim 38 wherein the first prediction is a predicted fact.
41. The method of claim 38 wherein the second prediction is a predicted fact. Atty Docket No.: 28749-2/P02 Page 53 of 54 Patent
42. The method of claim 38 wherein the first prediction is a predicted opinion.
43. The method of claim 38 wherein the second prediction is a predicted opimon.
End of claims section - space below this line is intentionally blank.
PCT/US2001/045175 2001-02-16 2001-10-31 Customer preference system WO2002079901A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002258357A AU2002258357A1 (en) 2001-02-16 2001-10-31 Customer preference system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26941901P 2001-02-16 2001-02-16
US60/269,419 2001-02-16

Publications (2)

Publication Number Publication Date
WO2002079901A2 true WO2002079901A2 (en) 2002-10-10
WO2002079901A3 WO2002079901A3 (en) 2004-04-01

Family

ID=23027157

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/045175 WO2002079901A2 (en) 2001-02-16 2001-10-31 Customer preference system

Country Status (2)

Country Link
AU (1) AU2002258357A1 (en)
WO (1) WO2002079901A2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363267B1 (en) 1999-06-03 2008-04-22 The Ticket Reserve, Inc. Contingency-based options and futures for contingent travel accommodations
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
US20100042615A1 (en) * 2008-08-12 2010-02-18 Peter Rinearson Systems and methods for aggregating content on a user-content driven website
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
US8396718B2 (en) 2008-06-23 2013-03-12 Microsoft Corporation Determining whether a response from a participant is contradictory in an objective manner
US8521675B2 (en) 2010-01-28 2013-08-27 International Business Machines Corporation Integrated automatic user support and assistance
US20150032534A1 (en) * 2006-10-20 2015-01-29 Mcafee, Inc. System, method and computer program product for determining preferences of an entity
CN111079002A (en) * 2019-11-27 2020-04-28 北京大生在线科技有限公司 Preference calculation method based on implicit feedback data and data generation device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870579A (en) * 1987-10-01 1989-09-26 Neonics, Inc. System and method of predicting subjective reactions
US5704017A (en) * 1996-02-16 1997-12-30 Microsoft Corporation Collaborative filtering utilizing a belief network
US6041311A (en) * 1995-06-30 2000-03-21 Microsoft Corporation Method and apparatus for item recommendation using automated collaborative filtering
US6064980A (en) * 1998-03-17 2000-05-16 Amazon.Com, Inc. System and methods for collaborative recommendations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870579A (en) * 1987-10-01 1989-09-26 Neonics, Inc. System and method of predicting subjective reactions
US6041311A (en) * 1995-06-30 2000-03-21 Microsoft Corporation Method and apparatus for item recommendation using automated collaborative filtering
US5704017A (en) * 1996-02-16 1997-12-30 Microsoft Corporation Collaborative filtering utilizing a belief network
US6064980A (en) * 1998-03-17 2000-05-16 Amazon.Com, Inc. System and methods for collaborative recommendations

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363267B1 (en) 1999-06-03 2008-04-22 The Ticket Reserve, Inc. Contingency-based options and futures for contingent travel accommodations
US8165920B2 (en) 2003-10-24 2012-04-24 Sachin Goel System for concurrent optimization of business economics and customer value
US8275667B1 (en) 2003-10-24 2012-09-25 Sachin Goel System for concurrent optimization of business economics and customer value satisfaction
US8145535B2 (en) 2003-10-24 2012-03-27 Sachin Goel Computer implemented methods for providing options on products
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
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
US20150032534A1 (en) * 2006-10-20 2015-01-29 Mcafee, Inc. System, method and computer program product for determining preferences of an entity
US8396718B2 (en) 2008-06-23 2013-03-12 Microsoft Corporation Determining whether a response from a participant is contradictory in an objective manner
US20100042615A1 (en) * 2008-08-12 2010-02-18 Peter Rinearson Systems and methods for aggregating content on a user-content driven website
US8521675B2 (en) 2010-01-28 2013-08-27 International Business Machines Corporation Integrated automatic user support and assistance
US9009085B2 (en) 2010-01-28 2015-04-14 International Business Machines Corporation Integrated automatic user support and assistance
CN111079002A (en) * 2019-11-27 2020-04-28 北京大生在线科技有限公司 Preference calculation method based on implicit feedback data and data generation device
CN111079002B (en) * 2019-11-27 2023-09-22 北京哈沃在线科技有限公司 Preference calculation method and data generation device based on implicit feedback data

Also Published As

Publication number Publication date
WO2002079901A3 (en) 2004-04-01
AU2002258357A1 (en) 2002-10-15

Similar Documents

Publication Publication Date Title
US10176494B2 (en) System for individualized customer interaction
US10664889B2 (en) System and method for combining and optimizing business strategies
Jiang et al. Maximizing customer satisfaction through an online recommendation system: A novel associative classification model
Rossi et al. The value of purchase history data in target marketing
US8650079B2 (en) Promotion planning system
Donnelly et al. Counterfactual inference for consumer choice across many product categories
Scholz et al. Using PageRank for non-personalized default rankings in dynamic markets
US9715702B2 (en) System and method for determining retail-business-rule coefficients from current prices
L’Ecuyer et al. Revenue-maximizing rankings for online platforms with quality-sensitive consumers
WO2002079901A2 (en) Customer preference system
Wang et al. M-GAN-XGBOOST model for sales prediction and precision marketing strategy making of each product in online stores
TW201935363A (en) Recommended system and method of product promotion combination
Zhang et al. Feedback reviews and bidding in online auctions: An integrated hedonic regression and fuzzy logic expert system approach
KR20010109402A (en) System and method for measuring customer's activity value on internet
Adams Estimating demand from eBay prices
Wu et al. An enhanced recommendation scheme for online grocery shopping
Prakash et al. BayesRec: Personalize search ranking with customer attribute-level willingness-to-pay using heterogeneous booking choice data
Li et al. Optimally integrating ad auction into E-commerce platforms
US8117063B2 (en) System and methods for creating probabilistic products and for facilitating probabilistic selling
KR102576123B1 (en) Product marketing linkage system and method
Guo et al. Price-aware enhanced dynamic recommendation based on deep learning
Hooda et al. A study of recommender systems on social networks and content-based web systems
Xu et al. A scalable recommendation engine for new users and items
Dadouchi et al. Context-aware interactive knowledge-based recommendation
Shruthi et al. An Effective Product Recommendation System for E-Commerce Website Using Hybrid Recommendation Systems

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 PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA 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 ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE 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
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: COMMUNICATION PURSUANT TO RULE 69 EPC (EPO FORM 1205A OF 160104)

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP