Patent Publication Number: US-8117199-B2

Title: Determination of a profile of an entity based on product descriptions

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     The instant application is a divisional application of U.S. patent application Ser. No. 10/119,665 entitled “DETERMINATION OF ATTRIBUTES BASED ON PRODUCT DESCRIPTIONS” and filed Apr. 10, 2002, the entirety of which prior application is incorporated herein by this reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to a technique for gaining better understanding of the meaning of products offered/selected by entities and, in particular, to a technique for determining attributes based on product descriptions. 
     BACKGROUND OF THE INVENTION 
     Data Mining techniques are being used with increasing frequency by retailers and manufacturers in an attempt to better understand the nature of their business and customers. That is, in most data mining applications, a large amount of transactional data is analyzed without actually having any idea of what the items in the transactions mean or what they say about the customers who purchased those items. For example, in a retail apparel transaction, a basket (i.e., the items purchased by a given customer at one time) may contain a shirt, a tie and a jacket. When data mining algorithms such as association rules, decision trees, neural networks etc. are applied to this basket, they are unable to comprehend the attributes of these products and what those attributes imply. In fact, these items could just as easily be replaced by distinct symbols, such as A, B and C, and the algorithms would produce the same results. 
     However, in many domains, attribute information is implicitly available and can be used to improve data mining systems by adding an attribute dimension to the data being analyzed. For example, using current data mining techniques, a clothing retailer would know the price, size, and color of a particular shirt that was purchased. However, that same retailer will not be able tell, using these same techniques, what the shirt says about the customer, e.g., this customer tends toward conservative, classic, business wear rather than flashy, trendy, casual wear. These “softer” attributes that say so much about products and the people who buy them tend not to be available for analysis in a systematic way. In a similar vein, such attributes may not only tell something about the people that buy them, but also about the retailers that sell them and/or the manufacturers that provide them. Indeed, a greater understanding of the attributes of product lines being offered by competitors could be used to better develop strategies and aid in planning Thus, a need exists for a technique whereby such attributes may be more readily obtained and applied. With an understanding of such attributes, a variety of services, including recommendation systems and competitive analysis, may be enabled with greater efficiency and efficacy than currently available. 
     SUMMARY OF THE INVENTION 
     The present invention provides a technique for determining attributes of products based on one or more descriptions of those products. In one embodiment, one or more attributes are defined and, for each attribute, a plurality of possible attribute values are also defined. For a given product and attribute, one or more descriptions of the product are obtained and analyzed to determine the correspondence of the description(s) to each of the plurality of possible attribute values. The language found in these descriptions is typically selected to position the product in consumers&#39; minds in a manner that implicitly suggests some values of the defined attributes. In this manner, an understanding of the given product as judged by the defined attributes may be obtained. 
     In another embodiment, the analysis performed to assess the correspondence between the product description(s) and the possible attribute values is based on a statistical model that is itself developed based on labeled training data. The labeled training data, in turn, is provided by analysis of a sample of industry-specific descriptions across a variety of products according to industry resources, such as industry experts, catalogs, trade magazines, etc. 
     A knowledge base can be populated with information identifying the products and their correspondence to the plurality of possible attribute values for each attribute. Where the products assessed in this manner correspond to products selected by an entity (e.g., an individual browsing or purchasing via an on-line system), a profile of that entity may be developed indicating that entity&#39;s preferences. Based on this profile, appropriate marketing messages specific to the entity may be selected or recommendations for other products having similar attribute profiles may be developed. Significantly, such recommendations may not only pertain to products similar to those selected by the entity, but also to entirely different categories of products. Similarly, profiles of retailers and/or manufacturers may be developed based on the products they offer, thereby fostering competitive analysis. In yet another embodiment, understanding can be developed regarding not just the attributes of the products themselves, but also the type of marketing schemes being employed. By combining an understanding of the products a given entity expresses interest in with an understanding of the marketing schemes used in conjunction with such products, more tailored marketing approaches may be used on a case-by-case basis. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The features described in this disclosure are set forth with particularity in the appended claims. These features and attendant advantages will become apparent from consideration of the following detailed description, taken in conjunction with the accompanying drawings. One or more embodiments are now described, by way of example only, with reference to the accompanying drawings wherein like reference numerals represent like elements and in which: 
         FIG. 1  is a block diagram schematically illustrating processing in accordance with an embodiment of the present invention; 
         FIG. 2  is a block diagram illustrating a system that may be used in conjunction with an embodiment of the present invention; 
         FIG. 3  is a block diagram illustrating a system that may be used in conjunction with another embodiment of the present invention; 
         FIG. 4  is a schematic illustration of determination of attributes for a product in accordance with an embodiment of the present invention; 
         FIG. 5  is a schematic illustration of determination of a profile of an entity and uses thereof in accordance with an embodiment of the present invention; and 
         FIG. 6  is a schematic illustration of determination of recommendations in accordance with an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PRESENT EMBODIMENTS 
     The present invention may be more readily described with reference to  FIGS. 1-6 .  FIG. 1  schematically illustrates processing in accordance with one embodiment of the present invention. In particular, blocks  102 - 112  illustrate the manner in which a statistical model is developed, and blocks  112 - 116  illustrate the manner in which the statistical model is used to develop a knowledge base regarding products. In general, separate statistical models should be developed for each category of products under consideration. For example, throughout this specification, various examples relating to the retail apparel industry are presented, including the development of a statistical model specific to the retail apparel industry. However, it is understood that the same techniques described herein could be applied to other categories of products, e.g., furniture, consumer electronics, books, music, etc. 
     When a particular category of products has been selected, descriptions of various products within the category to be used for training are collected at block  102 . The present invention is not limited to any particular format that a given description may take, nor is the present invention limited to any particular method for collecting such descriptions. Descriptions for the purposes of the present invention may comprise any means by which characteristics (both objective and subjective) of a product may be conveyed to an interested party. It is preferred that such descriptions can be obtained in an automated fashion. In one embodiment of the present invention, it is further preferred that the descriptions take the form of text documents or excerpts and, more particularly, text documents that are accessible via a public communication network such as the World Wide Web. Furthermore, such text documents may exist in an unstructured form, as in the case of straight text, or in semi-structured (e.g., tables) or structured (e.g., relational database) form. Such documents may be discovered at various websites residing on servers maintained by a variety of entities such as retailers and manufacturers. For example, written ad copy provided in a retailer&#39;s website may be considered a description for the purposes of the present invention. 
     At block  104 , attributes to be used in assessing the various products, as well as the various possible attribute values for each attribute, are selected. The process of selecting such attributes should be performed based on the category of products to be assessed and should be performed in light of particularized knowledge of the category. To this end, a variety of sources may be consulted to determine those attributes having the most meaning in understanding the subjective nature of the products under consideration. For example, industry experts may be consulted in an attempt to define those attributes most commonly considered in the industry. Alternatively, other sources of industry knowledge, such as catalogs, trade magazines, etc. may be used. Further still, polling techniques may be used to determine the type of attributes that consumers themselves consider when assessing various categories of products. An exemplary set of attributes and possible attribute values, particularly applicable to the retail apparel industry, is shown in Table 1: 
     
       
         
           
               
               
               
             
               
                 TABLE 1 
               
               
                   
               
               
                 Attribute 
                 Possible Attribute Values 
                 Description 
               
               
                   
               
             
            
               
                 Age Group 
                 Juniors, Teens, GenX, 
                 For what ages is this item 
               
               
                   
                 Mature, All Ages 
                 most appropriate? 
               
               
                 Functionality 
                 Loungewear, Sportswear, 
                 How will the item be used? 
               
               
                   
                 Eveningwear, Business 
               
               
                   
                 Casual, Business Formal 
               
               
                 Price Point 
                 Discount, Average, Luxury 
                 Compared to other items of 
               
               
                   
                   
                 this kind is this item cheap 
               
               
                   
                   
                 or expensive? 
               
               
                 Formality 
                 Informal, Somewhat 
               
               
                   
                 Formal, Very Formal 
               
               
                 Conservative 
                 1 (gray suits) to 5 (loud, 
                 Does this suggest the person 
               
               
                   
                 flashy clothes) 
                 is conservative or ashy? 
               
               
                 Sportiness 
                 1 (very sporty) to 5 (not 
               
               
                   
                 sporty at all) 
               
               
                 Trendiness 
                 1 (timeless classic) to 5 
                 Is this item popular now but 
               
               
                   
                 (this season&#39;s favorite) 
                 likely to go out of style, or 
               
               
                   
                   
                 is it more timeless? 
               
               
                 Brand 
                 1 (brand makes the product 
                 Is the brand known and 
               
               
                 Appeal 
                 unappealing) to 5 (high 
                 likely to make it appealing 
               
               
                   
                 brand appeal) 
                 to a sizable group? 
               
               
                   
               
            
           
         
       
     
     As the entries in Table 1 illustrate, the definition of attributes and their possible attribute values is an exercise in creating objective criteria to capture a range of subjective attributes. As such, it may be necessary to refine the attributes and their possible values as experience demonstrates the worthiness of the attribute definitions, or lack thereof, as judged by the degree of insight provided by the attribute definitions. Note that the possible attribute values may comprise distinct labels chosen to cover recognized perceptions of the attribute (e.g., Loungewear, Sportswear, Eveningwear, Business Casual, Business Formal), or they may be chosen to express varying degrees of affinity with the attribute (e.g., 1=not trendy at all, 5=very trendy). Those having ordinary skill in the art will recognize that the system of values chosen for any given attribute is a matter of design choice, and the present invention is not limited in this regard. 
     With the attributes and their various possible attribute values defined, labeling of the product descriptions to be used for training occurs at block  106 . In a presently preferred embodiment, the various descriptions are presented to experts in the field of marketing the types of products under consideration. The experts are also presented with a description of the attributes and their corresponding possible attribute values. The experts assign a particular attribute value for each attribute to each of the descriptions they have been given. It is anticipated, however, that other types of individuals may be used for this purpose. For example, depending on the application, interested consumers or members of a focus group can be used in place of marketing experts as a matter of design choice. 
     In practice, the training descriptions are most typically divided into disjoint subsets with each subset labeled by a different expert. However, this requires checks to ensure that the labeling done by each expert is consistent with the other experts. One way to perform such checks would be to swap the subsets for each expert and ask each expert to repeat the process on his/her set. Obviously, this can get very expensive and clearly subverts the very efficiencies gained by distributing disjoint subsets to multiple experts. To address this, association rules may be generated based on the labeled data using the apriori algorithm described by Agrawal et al. in “Fast Discovery of Association Rules”, Advances in Knowledge Discovery and Data Mining, p. 307-328 (AAAI Press/The MIT Press 1996), the disclosure of which is incorporated herein by this reference. By using the apriori algorithm, a set of rules can be provided which relate multiple attributes over all products that were labeled. Traditionally, the apriori algorithm has been used to perform basket analysis, i.e., analyze a collection of baskets (transactions) and identify associations among items found in these baskets. By treating each product as a basket and the attributes of that product (as assigned by each expert) as items in the basket, this scenario becomes analogous to traditional market-basket analysis. For example, a product with some unique identification, say a “Polo V-Neck Shirt”, which was labeled as Age Group: Teens, Functionality: Loungewear, Price Point: Average, Formality: Informal, Conservative: 3, Sportiness: 4, Trendiness: 4, Brand Appeal: 4 becomes a basket with each attribute value as an item. Table 2 shows some sample rules that were generated on actual labeled descriptions based on execution of the apriori algorithm with both single and two-feature antecedents and consequents. 
     
       
         
           
               
               
               
             
               
                 TABLE 2 
               
               
                   
               
               
                 Rule 
                 Support 
                 Confidence 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
               
            
               
                 Informal ← Sportswear 
                 24.5% 
                 93.6% 
               
               
                 Informal ← Loungewear 
                 16.1% 
                 82.3% 
               
               
                 Informal ← Juniors 
                 12.1% 
                 89.4% 
               
               
                 Price Point = Average ← Brand Appeal = 2 
                 8.8% 
                 79.0% 
               
               
                 Brand Appeal = 5 ← Trendiness = 5 
                 16.3% 
                 91.2% 
               
               
                 Sportswear ← Sportiness = 4 
                 9.0% 
                 85.7% 
               
               
                 Age Group = Mature ← Trendiness = 1 
                 9.4% 
                 78.8% 
               
               
                   
               
            
           
         
       
     
     In Table 2, the “←” symbol illustrates an association rule, e.g., items categorized as “Informal” are also categorized as “Sportswear” and “Loungewear”. More generally, the notation “A←B with support S and confidence C” means that S % of the transactions (baskets) contain item A and C % of those S % have both A and B. As Table 2 illustrates, the association rules match one&#39;s general intuition, e.g., apparel items labeled as informal were also labeled as sportswear and loungewear. Items with average prices did not have high brand appeal, reflecting the possibility that items with high brand appeal are usually more expensive. Also, trendy clothes often have a very high brand appeal, which is often the case in the apparel industry. Interestingly, items that were labeled as “Mature” were also labeled as being not at all trendy. Although the example illustrated in Table 2 is illustrative only, it demonstrates the manner in which association rules can be used to verify the consistency of the labeling process. 
     The output of the labeling process  106 , preferably verified as described above, is labeled training product descriptions  108  that may be stored in a digital storage medium. Thereafter, training of statistical models is performed at block  110 . In one embodiment of the present invention, the process of training models to learn the attributes associated with each of the products extracted from the retailers websites is treated as a traditional text classification problem where one text classifier is created for each attribute. For example, in the case of the Age Group attribute, a product is classified into one of five classes or possible attribute value (e.g., Juniors, Teens, GenX, Mature, All Ages). One algorithm that may be used for this purpose is the so-called naive Bayes algorithm, a brief description of which is given below. Further information regarding the naïve Bayes algorithm can be found in Lewis, “Naive (Bayes) at forty: The independence assumption in information retrieval”, Machine Learning: ECML-98, Tenth European Conference on Machine Learning, p. 4-15 (1998) and McCallum et al., “A comparison of event models for naive Bayes text classification”, Learning for Text Categorization: Papers from the AAAI Workshop, p. 41-48 (AAAI Press 1998), the disclosure of which articles are incorporated herein by this reference. 
     Naive Bayes is a simple but effective text classification algorithm for learning from labeled data. The parameterization given by naive Bayes defines an underlying generative model assumed by the classifier. In this model, a class is first selected according to class prior probabilities. Then, the generator creates each word in a document by drawing from a multinomial distribution over words specific to the class. Thus, this model assumes each word in a document is generated independently of the others given the class. Naive Bayes forms maximum a posteriori estimates for the class-conditional probabilities for each word in the vocabulary V from labeled training data D. This is done by counting the frequency that word w t , occurs in all word occurrences for documents d i  in class c j , supplemented with Laplace smoothing to avoid probabilities of zero, as described by Equation 1: 
     
       
         
           
             
               
                 
                   
                     P 
                     ⁡ 
                     
                       ( 
                       
                         
                           w 
                           t 
                         
                         ❘ 
                         
                           c 
                           j 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     
                       1 
                       + 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           
                              
                             D 
                              
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           
                             N 
                             ⁡ 
                             
                               ( 
                               
                                 
                                   w 
                                   t 
                                 
                                 , 
                                 
                                   d 
                                   i 
                                 
                               
                               ) 
                             
                           
                           ⁢ 
                           
                             P 
                             ⁡ 
                             
                               ( 
                               
                                 
                                   c 
                                   j 
                                 
                                 ❘ 
                                 
                                   d 
                                   i 
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                     
                       
                          
                         V 
                          
                       
                       + 
                       
                         
                           ∑ 
                           
                             s 
                             = 
                             1 
                           
                           
                              
                             V 
                              
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             
                                
                               D 
                                
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             
                               N 
                               ⁡ 
                               
                                 ( 
                                 
                                   
                                     w 
                                     s 
                                   
                                   , 
                                   
                                     d 
                                     i 
                                   
                                 
                                 ) 
                               
                             
                             ⁢ 
                             
                               P 
                               ⁡ 
                               
                                 ( 
                                 
                                   
                                     c 
                                     j 
                                   
                                   ❘ 
                                   
                                     d 
                                     i 
                                   
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                     ⁢ 
                     1 
                   
                   ) 
                 
               
             
           
         
       
     
     where N(w t ,d i ) is the count of the number of times word w t  occurs in document d i , and where P(c j |d i )ε{0,1} as given by the class label. The result of Equation 1, the a posteriori probability estimate P(w t |c j ), expresses the probability that a word, w t , will occur given a particular class (attribute), c j , which probabilities are stored and form the basis of the statistical model  112 . Note that well known techniques may be used to eliminate from each description words that provide little informational value (e.g., “the”, “a”, “to”, etc.) thereby minimizing the amount of required storage. In essence, then, the statistical model  112  comprises a set of probabilities expressing the likelihood that a given word will occur for a given attribute. Table 3 provides an exemplary list of words having high weights for the attribute values shown as determined by the naive bayes classifier. Note that the words in Table 3 were selected by scoring all the words according to their weighted log-odds-ratio scores and picking the top 10 words. A weighted log-odds-ratio score may be calculated according to Equation 2 below: 
     
       
         
           
             
               
                 
                   
                     Weighted 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Log 
                     ⁢ 
                     
                       - 
                     
                     ⁢ 
                     Odds 
                     ⁢ 
                     
                       - 
                     
                     ⁢ 
                     Ratio 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Score 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     for 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     word 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     w 
                   
                   = 
                   
                     P 
                     ⁢ 
                     
                       ( 
                       
                         w 
                         ❘ 
                         positiveclass 
                       
                       ) 
                     
                     * 
                     
                       Log 
                       ⁡ 
                       
                         ( 
                         
                           
                             
                               P 
                               ⁡ 
                               
                                 ( 
                                 
                                   w 
                                   ❘ 
                                   positiveclass 
                                 
                                 ) 
                               
                             
                             
                               P 
                               ⁡ 
                               
                                 ( 
                                 
                                   w 
                                   ❘ 
                                   negativeclass 
                                 
                                 ) 
                               
                             
                           
                           * 
                           
                             
                               1 
                               - 
                               
                                 P 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     W 
                                     ❘ 
                                     negativeclass 
                                   
                                   ) 
                                 
                               
                             
                             
                               1 
                               - 
                               
                                 P 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     W 
                                     ❘ 
                                     positiveclass 
                                   
                                   ) 
                                 
                               
                             
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                     ⁢ 
                     2 
                   
                   ) 
                 
               
             
           
         
       
     
     
       
         
           
               
               
             
               
                 TABLE 3 
               
               
                   
               
               
                 Attribute/Attribute Value 
                 Word 
               
               
                   
               
             
            
               
                 Brand Appeal = 5 (high) 
                 lauren, ralph, dkny, Kenneth, cole, 
               
               
                   
                 imported 
               
               
                 Conservative = 5 (high) 
                 lauren, ralph, breasted, seasonless, 
               
               
                   
                 trouser, jones, sport, classic, blazer 
               
               
                 Conservative = 1 (low) 
                 rose, special, leopard, chemise, straps, 
               
               
                   
                 flirty, spray, silk, platform 
               
               
                 Formality = Informal 
                 jean, tommy, jeans, denim, sweater, 
               
               
                   
                 pocket, neck, tee, hilfiger 
               
               
                 Formality = Somewhat 
                 jacket, fully, button, skirt, lines, york, 
               
               
                 Formal 
                 seam, crepe, leather 
               
               
                 Age Group = Juniors 
                 jrs, dkny, jeans, tee, collegiate, logo, 
               
               
                   
                 tommy, polo, short, sneaker 
               
               
                 Functionality = Loungewear 
                 chemise, silk, kimono, calvin, klein, 
               
               
                   
                 august, lounge, hilfiger, robe, gown 
               
               
                 Functionality = Partywear 
                 rock, dress, sateen, length:, skirt, 
               
               
                   
                 shirtdress, open, platform, plaid, flower 
               
               
                 Sportiness = 5 (high) 
                 sneaker, camp, base, rubber, sole, white, 
               
               
                   
                 miraclesuit, athletic, nylon, mesh 
               
               
                 Trendiness = 1 (low) 
                 lauren, seasonless, breasted, trouser, 
               
               
                   
                 pocket, carefree, ralph, blazer, button 
               
               
                   
               
            
           
         
       
     
     As described above, naïve Bayes may be used to develop the statistical model in an automated fashion. However, such statistical models can be augmented through the use of “manually” coded rules. For example, such a rule may state, in essence, “if the word ‘jeans’ appears in the description, then the item is Informal.” As another example, such a rule may state, “if ‘Jrs.’ appears in the title of a description, then the Age Group is Juniors.” Such rules, in effect, reduce the probabilities described above into certainties, i.e., the occurrence of a given word is always associated with a given attribute value. 
     Furthermore, the quality of the statistical models described above depend in part upon the quantity of labeled training data used to generate them. That is, greater amounts of labeled training data typically result in more accurate statistical models. In general, however, the acquisition of unlabeled training data is far less expensive than providing labeled training data, i.e., through the use of experts manually labeling data. However, various techniques are known to exist whereby statistical models based upon labeled training data may be augmented or improved through the use of unlabeled training data. Such techniques include the so-called Expectation-Maximization (EM) technique, which has been used to estimate maximum a posteriori parameters of a generative model. These results have shown that using unlabeled data can significantly decrease classification error, especially when labeled training data is sparse. As more fully described in Dempster et al., “Maximum likelihood from incomplete data via the EM algorithm”, Journal of the Royal Statistical Society, Series B, 39(1):1-38 (1977), EM is an iterative statistical technique for maximum likelihood estimation in problems with incomplete data. That is, given a model of data generation, and data with some missing values, EM will locally maximize the likelihood of the parameters and give estimates for the missing values. The naive Bayes generative model allows for the application of EM for parameter estimation. As applied to the instant invention, the attribute values of the unlabeled data are treated as the missing values. In implementation, EM is an iterative two-step process. Initial parameter (attribute value) estimates are set using standard naive Bayes from just the labeled documents. Thereafter, the expectation and maximization steps are iterated. The expectation step calculates probabilistically-weighted class (attribute) labels, P(c j |d i ), for every unlabeled document. The maximization step estimates new classifier parameters (attribute values) using all the documents, where P(c j |d i ) is now continuous, as given by the expectation step. Thereafter, the expectation and maximization steps are repeated until the classifier converges. In this manner, the statistical model  112  can be improved without incurring the expense of expert reviews of additional training data. 
     Based on the statistical model  112  (and, possibly, manually coded rules) thus developed, it is possible to thereafter analyze descriptions of products  114  (not otherwise used in the training phase) to determine correspondence of the descriptions to the various possible attribute values. As used herein, the term correspondence signifies a probability that a description of a product (and, consequently, the product itself) is associated with the attribute value. For example, a statistical model may determine that correspondence of a given garment with the various possible attribute values for the “Functionality” attribute defined above are: Loungewear 10%, Sportswear 5%, Eveningwear 50%, Business Casual 15%, Business Formal 20%. That is, there is a 50% chance that the garment, as judged by at least one description of that garment when analyzed according to the statistical model  112 , would be perceived as Eveningwear, but only a 5% chance that the garment would be perceived as Sportswear. Such insight into the “meaning” of a product has heretofore been unavailable using traditional data mining techniques. 
     Using the statistical model described above, i.e., probabilities of word occurrences given specific attribute values, the correspondence of descriptions to the various attribute values (classes) may be obtained using Baye&#39;s rule:
 
 P ( c   j   |d   i )∝ P ( c   j ) P ( d   i   |c   j )  (Eq. 3)
 
     Using the assumption from the naïve bayes algorithm that words in descriptions occur independently of each other, Equation 3 becomes: 
                     P   ⁢     (       c   j     ❘     d   i       )       =       P   ⁡     (     c   j     )       ⁢       ∏     k   =   1            d   i            ⁢           ⁢     P   ⁡     (       w     d     i   ,   k         ❘     c   j       )                   (     Eq   .           ⁢   4     )               
where P(w d     i,k   |c j ) are the probabilities of word occurrences given specific attribute values forming the statistical model  112 . In effect, Equation 4 provides that the probability that a given description will be perceived in accordance with an attribute is equal to the probability of that attribute multiplied by the product of the probabilities of word occurrences for that attribute across all relevant words in the description. Note that Equation 4 is defined in terms of a single description. However, those having ordinary skill in the art will recognize that multiple descriptions for a single product could be used (i.e., 1≦i≦j where j≧2) and the resulting probabilities combined (e.g., averaged) to arrive at an overall probability given the multiple descriptions.
 
     The product descriptions  114  analyzed in this manner may be based on particular products for which an entity (e.g., an individual, an organization, etc.) has expressed interest in, for example, by selecting the product via a website to purchase the product or to receive additional information about the product. Alternatively, the products  114  may correspond to products that a given entity (e.g., a retailer, a manufacturer, etc.; basically any party that would be concerned with the attribute-based perception of the product) is currently offering. Based on the correspondences determined in this manner, it can be inferred that the products associated with the description(s) will be perceived in the same manner. Thus, identifications of the products and the resulting correspondence determinations may be stored in a knowledge base  116  for later use. The knowledge base  116  may comprise any suitable data base implementation. A hardware embodiment suitable for implementing the present invention is further described with reference to  FIGS. 2 and 3 . 
       FIG. 2  illustrates a computer-based architecture that may be used to implement various aspects of the present invention. In particular, a back end system  206  is coupled to a database  208 . As shown, the back end system  206  comprises at least one processor  210  (such as a microprocessor, microcontroller, digital signal processor, etc. or combinations thereof) coupled to a storage device  212  (such as random-access memory, read-only memory, optical storage devices, etc.) having stored thereon executable instructions that may be executed by the at least one processor. In particular, the back end system  206  (in the configuration shown in  FIG. 2 ) may be used to implement, in whole or in part, the processing described above relative to blocks  102 - 112  using known programming techniques. 
     In a preferred embodiment, the descriptions of products are available via a public communications network such as the World Wide Web in the form of textual content in web pages. Such content resides on one or more web servers  202  coupled to the back end  206  using conventional techniques. When gathering training product descriptions, a so-called web crawler  204  (i.e., a program that visits remote sites and automatically downloads their contents) programmed to visit websites of relevant retail stores and extract names, Uniform Resource Locators (URLs), descriptions, prices and categories of all products available, may be used. Such a web crawler is preferably implemented using computer-programming techniques and may be programmed to automatically extract information or, in a simpler implementation, manually configured to extract specific information. As the web crawler collects suitable information (descriptions), they are stored in the database  208 , which may comprise a suitable configured server computer. Likewise, as the knowledge base  116  is developed, it may be stored in the database  208  for later reference. 
     Referring now to  FIG. 3 , another system is shown in which the back end system  206  and database  208  are used to analyze selected/offered products. In particular, the back end system  206  is coupled, preferably via a public communications network such as the World Wide Web, to a web client  304  and/or one or more web servers  302 . In general, the descriptions of the products to be analyzed  114  may be derived from either or both of two sources: products that are selected by an entity or products that are offered by an entity. For purposes of the present invention, the act of “selecting” a product includes any manifestation of interest by the entity in the product, e.g., on-line browsing, putting a product in a shopping cart, asking for info, etc. In a currently preferred embodiment, the web client allows an entity (such as an individual, organization or any uniquely identifiable party) to request and obtain information from, or submit information to, the one or more web servers  304 . To the extent that such requested/submitted information manifest an entity&#39;s interest in one or more products, they may be regarded as selected products. The back end system  206  may directly monitor the activity of the web client  304  or may be provided with the relevant information through the web server(s)  302  or other sources. 
     The other source of product descriptions corresponds to products that are offered by selected entities, e.g., retailers, manufacturers, etc. Once again, such descriptions are preferably provided through web sites and web pages maintained by such retailers, etc. In this case, the back end system  206  may directly access the relevant web sites to obtain the new descriptions. It should be noted that, although web-based sources of descriptions are presently preferred, the present invention is not necessarily limited in this regard. In fact, suitable product descriptions may come from virtually any source provided that the descriptions may be reduced to a format whereby the back end system  206  is able to analyze them, e.g., manually entered into a computer, scanned and automatically recognized, etc. 
     Regardless of the source of the descriptions, the back end system  206  may perform the processing described above to determine the correspondences of the various possible attribute values to the described products. The resulting attribute determinations may then be stored in the database  208  as part of a larger knowledge base, or may be provided to the web client  304 , the web server(s)  302  or to a third party  310 . For example, an individual browsing a retailer&#39;s web site may wish to see how his or her selections are perceived in terms of the defined attributes. Conversely, a retailer implementing a web site on the web server(s)  302  may wish to understand how its product offerings are perceived. Further still, one retailer (e.g., a third party  310 ) may want to know the attributes of a competitor&#39;s product line. Such applications of the present invention are further described with reference to  FIGS. 4-6 . 
     Referring now to  FIG. 4 , a schematic illustration of determination of attributes for a product is provided. In particular, one or more descriptions of a product  402  are analyzed  404  based on a statistical model (as described previously) to derive various sets  406 - 407  of correspondences of possible attribute values. In  FIG. 4 , the symbols AV xy  represent the determined correspondences of product description(s) to the different possible attribute values for M different attributes, where x is the attribute index and y is the possible attribute value index for that attribute. Note that the range of the attribute value index, y, may vary from attribute to attribute, as represented by the indices j and k. 
     Each correspondence is preferably expressed as a percentage or likelihood that the description of the product will be perceived in accordance with the given attribute value. Thus, the various sets of correspondences  406 - 407  can be treated like a variable vector, as discussed further with reference to  FIG. 6 . Additionally, each set  406 - 407  may be further processed  408  to select one attribute value correspondence  410 - 411  that is representative of the attribute for that product. For example, for each attribute, that attribute value having the greatest correspondence may be selected as the representative attribute value (RAV) correspondence. Those having ordinary skill in the art will appreciate that other methods of selected representative values may be employed. In this manner, the attributes for a given product may be represented more compactly. 
     As mentioned above, the present invention provides for the establishment of an entity profile based on the products selected by an entity (as in the case, for example, of an individual browsing or purchasing on-line) or based on the products offered by an entity (as in the case, for example, of a retailer). This is further illustrated with respect to  FIG. 5 . In particular, one or more product descriptions for each of a plurality of products  502 - 504  are analyzed  506  based on the relevant statistical model, as previously described. The resulting sets of correspondences  508 - 509  are thereafter available (for example, by virtue of storage in a knowledge base) for further analysis. Note that, in  FIGS. 5 and 6 , the notation used to represent the determined correspondences is extended to AV xy (z) where z is the product index for the plurality (N) of different products being analyzed. 
     In order to generate a profile of an entity based on the entity&#39;s selected/offered products, the sets of correspondences  508 - 509  are further analyzed  510  to arrive at representative sets of correspondences  512 - 513  for each of the M different attributes across the N different products analyzed. Each representative correspondence (indicated as RAV xy  in  FIG. 5 ) is based on a combination of, or selection from, comparable attribute value correspondences. For example, the comparable attribute value correspondences of j&#39;th possible attribute value of the first attribute, AV 1j (z) for z=1 to N, may be combined or otherwise processed to arrive at a representative correspondence, RAV 1   j . The particular technique used to produce the representative correspondences is a matter of design choice. For example, a straight average of the comparable correspondences could be calculated. Alternatively, outlier values could be first discarded and an average on the remaining values thereafter calculated. Further still, a median correspondence could be selected. Regardless, the sets of representative correspondences  512 - 513  may be provided as the profile  514  of the entity. 
     Alternatively, the sets of representative correspondences  512 - 513  can be processed further  516  to select only one representative attribute value correspondence  518 - 519  for each attribute value. The one representative correspondence value  518 - 519  may be selected in a manner similar to that described above relative to  FIG. 4  (block  408 ), and thereafter provided as part of the profile  520  of the entity. 
     Regardless of the particular form used to embody the profile  514 ,  520 , the profile may be used in a variety of ways. For example, where the entity is an individual, the profile  514 ,  520  may indicate that individual&#39;s preference for certain types of products as judged by their collective attribute values. In response, a targeted message based on the profile  514 ,  520  can be generated  522 , which message is specifically tailored to appeal to the individual based on his/her determined preferences. In one embodiment, up to n different messages are stored for each product based on n different profile possibilities. Thereafter, depending on the affinity of the customer to the type of message as based by his/her profile, an appropriate message is selected which best corresponds to that profile. 
     In another embodiment, the profile  514 ,  520  may be compared  524  with other profiles  526 . For example, the profiles of different stores determined over a particular time period may be compared and correlated with other performance metrics, e.g., profitability. Further still, profiles of a single entity, each profile determined over a different time period, may be compared with each other. Those having ordinary skill in the art will recognize that profiles in accordance with the present invention will enable still further types of comparison as a matter of design choice. 
     The techniques described above relative to  FIGS. 4 and 5  are based on the assumption that various selected/offered products are being analyzed relative to attributes that are meaningful for those products, e.g., looking at apparel products for “Trendiness”, “Brand Appeal”, etc. However, the present invention may be equally applied to infer not only attributes of the products themselves, but also attributes of the marketing campaigns used to sell or otherwise market those products. In this case, the attributes are not selected to provide insight into the products analyzed, but rather to provide insight into the marketing campaign used. For example, Table 4 illustrates exemplary attribute values corresponding to an “Appeal Type” attribute designed for use in analyzing marketing campaigns, and exemplary descriptions that may be categorized accordingly. 
     
       
         
           
               
               
               
             
               
                   
                 TABLE 4 
               
               
                   
                   
               
               
                   
                 Attribute Value 
                 Description 
               
               
                   
                   
               
             
            
               
                   
                 Luxury Indulgence 
                 “Tailored to the standards of the most 
               
               
                   
                   
                 exclusive spas in the world, the Charter 
               
               
                   
                   
                 Club Hotel Collection is the ultimate in 
               
               
                   
                   
                 heavenly bath luxury. Thick and thirsty in 
               
               
                   
                   
                 heavyweight herringbone and pebble 
               
               
                   
                   
                 texture.” 
               
               
                   
                 Functional 
                 “Prevent slipping and cold feet with these 
               
               
                   
                   
                 Charter Club “Cotton Twist” Bath Rugs. 
               
               
                   
                   
                 Choose from an assortment of colors. 
               
               
                   
                   
                 These rugs are made of 100% cotton twist 
               
               
                   
                   
                 with non-skid backing.” 
               
               
                   
                 Status 
                 “From a collection of exquisite designer 
               
               
                   
                   
                 looks for the bath, each solid color shower 
               
               
                   
                   
                 towel sports the signature Ralph Lauren 
               
               
                   
                   
                 Polo player.” 
               
               
                   
                 Quality/Performance 
                 “Available in a range of vibrant colors to 
               
               
                   
                   
                 coordinate with any decor, these thirsty 
               
               
                   
                   
                 towels are designed in luxurious 100% soft 
               
               
                   
                   
                 Supima ® cotton with an incredible 720 
               
               
                   
                   
                 ringspun terry loops per square inch and 
               
               
                   
                   
                 finished with lock-stitched hems for extra- 
               
               
                   
                   
                 strength.” 
               
               
                   
                   
               
            
           
         
       
     
     Thus, in the context of  FIGS. 4 and 5 , the use of marketing-based attributes allows profiles to be created that provide insight into the what types of marketing campaigns a particular individual responds to or what type of marketing campaign a given retailer/manufacturer is employing, which profiles may be used, as before, to generate additional messages to entities or for comparison purposes. 
     Referring now to  FIG. 6 , a technique for generating recommendations in accordance with an embodiment of the present invention is illustrated. Generally, recommender systems provide personalized suggestions based on a history of an individual&#39;s likes and dislikes. Many on-line stores provide recommending services e.g. Amazon, CD-NOW, BarnesAndNoble, IMDb, etc. Currently, there are two prevalent approaches to building recommender systems: collaborative filtering and content-based. Collaborative filtering systems work by collecting user feedback in the form of ratings for items in a given domain and exploit similarities and differences among profiles of several users to recommend an item. Such systems recommend other items bought by people who also bought the current item of interest and completely ignores “what” the current item of interest was. Collaborative filtering approaches suffer from two main problems: the “sparsity” problem that most customers do not browse or buy most products in a store and the “New Item” problem that a new product cannot be recommended to any customer until it has been browsed by a large enough number of customers. On the other hand, content-based methods provide recommendations by comparing representations of content contained in an item to representations of content that interests the user. A main criticism of content-based recommendation systems is that the recommendations provided are not very diverse. Since content-based systems are powered solely by the user&#39;s preferences and the descriptions of the items browsed, such systems tends to recommend items too similar to the previous items of interest. 
     In contrast, the recommender technique illustrated in  FIG. 6  substantially overcomes many of these limitations. For each of a plurality of products, indexed by variable z, a set of attribute values  602  is compared with a target set of attribute values  604 . In practice, this could be done using vector comparison techniques. That is, each set of attribute values  602 ,  604  is treated as a multidimensional vector and compared using conventional correlation techniques. Those having ordinary skill in the art will recognize that other comparison techniques may be equally employed. 
     It is further understood that the target set of attribute values  604  may be provided from any of a number of sources. For example, the target set may be equivalent to a given individual&#39;s profile as described above relative to  FIG. 5 . Alternatively, the target set may be based on attributes specifically selected by an entity. For example, an individual could directly specify the desired attribute values (through the use, for example, of a web page via a web client) he/she wishes to obtain recommendations on without having previously established a profile. 
     Regardless, the resulting comparison  608  indicates the degree of similarity between the target set  604  and the set of attribute values  602  currently under consideration. Thereafter, the comparison result  608  may be provided to a selector  610 . The selector  610  selects for recommendation only those products having corresponding comparison results  608  that meet some criteria  614 . For example, a simple thresholding process could be used for this purpose. That is, for example, only comparison results  608  showing a correlation of greater than 70% would be accepted for recommendation purposes. Note that the criteria  614  could be predetermined and fixed, or could be user-configurable (again, for example, through the use of a web page via a web client) as desired. Regardless, any products meeting the criteria  614  are thereafter provided as recommendations  612 . In a presently preferred embodiment, the recommendations are provided to a web client using known techniques. 
     The recommendation technique of the present invention improves on collaborative filtering as it would work for new products which users haven&#39;t browsed or purchased yet, and can also present the user with explanations as to why they were recommended certain products (in terms of the attributes). Additionally, although content-based systems also use the words in the descriptions of the items, they traditionally use those words to learn one scoring function. For example, a classical content-based recommendation engine takes the text from the descriptions of all the items that a user has browsed or bought and learns a model (usually a binary target function: “recommend” or “not recommend”). In contrast, the system of the present invention effectively changes the feature space from words (thousands of features) to a relatively small number of attributes. In this manner, the present invention can recommend a wide variety of products unlike most content-based systems. Additionally, unlike some prior art recommendation systems, the present invention can be used to recommend products across different product categories. That is, a target set of attribute values, regardless of their source, can be compared with any product so long as that product has available a comparable set of attribute values. As a result, for example, a profile of a given individual could be developed while that individual was browsing through apparel items, but that same profile could be used thereafter to recommend other products (e.g., consumer electronics, furniture, etc.) from entirely different categories but possessing similar attributes. 
     The present invention provides a technique for determining “soft” attributes of products based on descriptions of such products. Previously, such attributes were not systematically determinable or available. As a result, the present invention enables improved applications based on such attribute insight, for example, profiling entities and/or providing enhanced recommendation services. 
     While particular preferred embodiments have been shown and described, those skilled in the art will appreciate that changes and modifications may be made without departing from the instant teachings. It is therefore contemplated that any and all modifications, variations or equivalents of the above-described teachings fall within the scope of the basic underlying principles disclosed above and claimed herein.