1. Field of the Invention
This invention relates to systems and methods for use-based product searching, and more particularly to a user interface providing use-based product information based on aspects and uses extracted from raw product data.
2. Description of the Related Art
While there are many commercial systems designed to help users browse, search, and compare products, these interfaces are typically product centric—permitting users to, browse product information. There is an ever-increasing amount of official and user-generated product information on the Internet that users use to make purchasing decisions. The official product information may include a product manufacturer or seller's information on the features, specifications, settings and prices of a product. The user-generated product information may include user reviews, including further information about the product or opinions of the product in terms of its functionality, usefulness and relevance to a particular use for which a user purchased the product. The users will often provide ratings of particular features of the product in addition to a rating of the product in general, which allows a potential buyer to determine how current users rate the important features of a product.
Sifting through the vast amount of official and user-generated product information can be tedious, overwhelming and time-consuming. A user may have difficulty finding a user review relevant to a particular feature of interest. When reviewing information on products such as consumer electronics, the user may not have the technical knowledge to understand the features of a product, and may instead look to the user reviews for information on whether the product is adequate for a particular use that the user is interested in.
For example, the user may be interested in a camera for taking camping or hiking, and may therefore want a durable camera that takes good pictures outdoors. However, this type of high-level product information—a particular use during which the user wishes to use the camera—is not usually available, as most product information is related to low-level features such as a camera's zoom, storage capacity, mega pixel rating or battery life. While a user may have discussed the product in terms of this use in a user review, the user would need to sort through the dozens of reviews in order to find out whether a user had reviewed the product for that particular use.
As a result of the above limitations, websites with user-generated reviews and low-level product information are often inadequate in helping a user determine whether to purchase a particular product.
Systems and methods described herein provide use-based product searching by analyzing raw product information to provide a customizable user interface focused on high-level product information tailored to a user's needs. All types of product information, from product specifications, attributes, and user reviews, are mined in order to determine product aspects and uses relevant to the user. Product aspects may be product features, specifications and attributes. The user is provided with a graphical user interface (GUI) with which to select the uses for which they plan to use the product, as well as areas to adjust the weight, or importance, of aspects related to those uses. For each use, a weight is associated with each product aspect in relation to the importance of that aspect for the use, and these weights are then used to rank the products using the weights of the aspects linked to the selected uses. The user interface then displays a ranked arrangement of the products to the user. The user is able to directly adjust the weights for certain aspects to update the rankings, as well as compare selected products.
In one embodiment of the invention, a system for generating an interface for product browsing and comparison comprises an extraction unit which analyzes raw product information data for a plurality of products, extracts at least one aspect and at least one use relating to the plurality of products; a storage unit which stores the at least one aspect and at least one use, and which stores links between the at least one use and at least one aspect relevant to that use; and a user interface unit which receives a user input selecting at least one use and displays an arrangement of at least one of the plurality of products arranged based on a ranking of the products derived from at least the aspects linked to the at least one selected use.
The ranking of the products may be derived from weights of the aspects linked to the at least one selected use.
A user may directly select the weights for one or more aspects.
The at least one aspect may include a product feature, a product attribute or a product specification.
The raw product information data may include user reviews.
The extraction unit may extracts at least one reliable product feature from the user reviews using pattern-based text analysis.
The extraction unit may further extract the at least one reliable product feature from the user reviews using statistical classification methods.
The extraction unit may group similar product features by clustering noun sequences in the user reviews and filtering the clusters to remove clusters without at least one good product feature.
The at least one use may be extracted by filtering the output of pattern-based text analysis performed on the user-reviews to remove known non-uses, the non-uses comprised of at least one of product features, numbers and stopwords.
The extraction unit may further extract opinions relating to the features from the user reviews and displays at least one opinion relating to a good product feature.
In another embodiment of the invention, a method for generating an interface for product browsing and comparison comprises analyzing raw product information data for a plurality of products to extract at least one aspect and at least one use relating to the plurality of products; linking the at least one use with at least one aspect relevant to that use; storing the at least one aspect, the at least one use and the links between the at least one use and at least one aspect in a storage unit; receiving a user input selecting at least one use; and displaying an arrangement of at least one of the plurality of products arranged based on a ranking of the products derived from at least the aspects linked to the at least one selected use.
The ranking of the products may be derived from weights of the aspects linked to the at least one selected use.
The user may directly select the weights for one or more aspects.
The at least one aspect includes a product feature, a product attribute or a product specification.
The raw product information data may include user reviews.
The method may further comprise extracting at least one reliable product feature from the user reviews using pattern-based text analysis.
The method may further comprise extracting the at least one reliable product feature from the user reviews using statistical classification methods.
The method may further comprise grouping similar product features by clustering noun sequences in the user reviews and filtering the clusters to remove clusters without at least one good product feature.
The method may further comprise extracting the at least one use by filtering the output of pattern-based text analysis performed on the user reviews to remove known non-uses, the non-uses comprised of at least one of product features, numbers and stopwords.
The method may further comprise extracting opinions relating to the features from the user reviews and displaying at least one opinion relating to a good product feature.
In another embodiment of the invention, a computer program product for generating an interface for product browsing and comparison may be embodied on a computer-readable medium, and when executed by a computer, performs the method comprising analyzing raw product information data for a plurality of products to extract at least one aspect and at least one use relating to the plurality of products; linking the at least one use with at least one aspect relevant to that use; storing the at least one aspect, the at least one use and the links between the at least one use and at least one aspect in a storage unit; receiving a user input selecting at least one use; and displaying an arrangement of at least one of the plurality of products arranged based on a ranking of the products derived from at least the aspects linked to the at least one selected use.
Additional aspects related to the invention will be set forth in part in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. Aspects of the invention may be realized and attained by means of the elements and combinations of various elements and aspects particularly pointed out in the following detailed description and the appended claims.
It is to be understood that both the foregoing and the following descriptions are exemplary and explanatory only and are not intended to limit the claimed invention or application thereof in any manner whatsoever.
The accompanying drawings, which are incorporated in and constitute a part of this specification, exemplify the embodiments of the present invention and, together with the description, serve to explain and illustrate principles of the invention. Specifically:
In the following detailed description, reference will be made to the accompanying drawings. The aforementioned accompanying drawings show by way of illustration, and not by way of limitation, specific embodiments and implementations consistent with principles of the present invention.
Systems and methods described herein provide use-based product searching by analyzing product information to provide a customizable user interface focused on high-level product information tailored to a users needs. All types of product information, from specifications, attributes and user reviews, are mined in order to determine product aspects and uses relevant to the user. The specifications, attributes, and product features are referred to collectively as “aspects,” and “uses” generally refer to what the user is doing with the product, or to the types of activities the user is engaged in when using the product. The user is provided with a graphical user interface (GUI) with which to select the uses for which the user plans to use the product, as well as areas to adjust the weight, or importance, of aspects related to those uses. The aspects may also be linked to particular uses and provided with implied weights, such that the user only needs to select uses in order to determine the aspects relevant to that use and the importance of those aspects to that use. The GUI then ranks the products based on the information from the user and displays relevant information on the products to the user. The user is able to adjust the weights for certain aspects to update the rankings, as well as compare selected products.
The system and interface described herein is use centric. With this approach, users initially answer questions about the types of situations in which they expect to use the product. The GUI displays the types of products that match their needs and exposes high-level product aspects related to the kinds of uses in which they have expressed an interest. As users explore the interface, they can reveal how those high-level aspects are linked to actual product features. This approach represents an inversion of typical product search, putting an emphasis on high-level user goals rather than low-level product details. To extract the high-level aspects used by the system from raw product information data such as user reviews and product specifications, semi-automatic methods may be used. These methods identify and group product features; mine and summarize opinions about those features from product reviews, and identify product uses based on the identified features.
With the embodiments described herein, users are able to more efficiently find products that match their needs based on how they expect to use the product. The system pre-processes specification data, attribute data, and open-text (user review) data to extract a set of product aspects, candidate uses for each product. This extracted data is stored in a database accessible by the graphical user interface (GUI) application. The GUI guides the user through a series of questions designed to set weights for aspects; the weights are then used to rank products. After this initial step, the system allows users to access product details, compare products, or alter weights directly. The combination of straightforward, high-level questions that weight aspects indirectly, in combination with the ability to give users more fine-grained, direct control over weighting means that the GUI can potentially be used both in situations requiring minimal user effort and technical knowledge (e.g., at a kiosk at the front of a store) as well as more typical scenarios (e.g., web browser).
The GUI blends a variety of product data types together with the goal of creating a product search experience focused on everyday use of a product rather than one focused exclusively on the technical specifications of the product. In order to create this experience, product features are extracted from user opinions (reviews) and tied together with higher level uses. Another goal of the user interface is to blend descriptive levels of product use using high level features (whether a camera is used for hiking or weddings) with low level features and specifications (price, resolution, etc.). Thus, when technical features are identified, they are contextualized by reported uses by actual users.
The systems and methods described herein combine data extraction processes with an interface that can rank products interactively according to weights specified both indirectly (by inferring weights from high-level uses) and directly (by interactors in the interface). In one embodiment illustrated in
In the corresponding method of generating use-based product information also illustrated in
The interface unit 106 makes use of several different types of raw product information data, described in a non-limiting embodiment herein with regard to a digital camera:
1) Specifications: Standard product specifications, such as maximum zoom level, maximum resolution, and weight.
2) Features of products derived from reviews. Features are derived from publicly-available user-generated text reviews, which go beyond standard specifications to describe, for example, whether a camera is durable in day-to-day use, or provide extra information about a well known specification (e.g., whether a built-in face detector works or is only a distraction). In one embodiment described further below, the features have been grouped to capture variations in expression. The features also provide for mining the opinions of each feature, as will also be described further below.
3) Attributes of products specifically rated by users in reviews. Attributes are usually derived from free text, but differ from features in that users explicitly select a rating for each attribute, whereas feature ratings must be derived implicitly from contextual text (adjectives, etc.).
4) Uses are derived from reviews, where uses may include: (1) the types of activities people are engaged in when using the product (e.g., for cameras, what the user is doing when taking a photo); (2) how the user applies the product in that use (e.g., what they take photos of); (3) what activities the product is used for (e.g., what they do with the photo after taking it). For many products, (2) can be derived from specific examples. For the example of a digital camera, a user can indicate the types of photos they take by selecting a set of examples prompted by the user interface. Similarly, for office software, the user can select the types of files they want to produce. The uses may be linked with aspects to help a user determine what aspects are relevant to a particular use. A use may be associated with one or more aspects, including the specifications, features, and attributes (e.g., a use “hiking” might be associated with aspects including specifications such as “size” and “weight”, a feature such as “durability”, and an attribute such as “construction quality”).
The data analysis used to extract the aspects and uses from raw product information data in product reviews, specifications and attributes is discussed herein. In one embodiment, the raw product information data may be obtained from publicly available review data on Internet websites, such as Amazon® (www.amazon.com). To obtain the review data from a website such as Amazon®, one method is to first download Amazon's Product Advertising API (Application Programming Interface), which is structured XML (extensible markup language). In a further method, the web pages of the site may be scraped using a customized web scraping software program to extract information. Web scraping can be applied to any website, but may need to be customized for each website that is to be scraped.
For purposes of this disclosure, product “features” are parts and properties of a product that are explicitly mentioned in user reviews. In one embodiment, a high-precision, web-scale pattern-based information extraction technique is used to identify candidate product features such as that developed by Yates and Etzioni (A. Yates and O. Etzioni. 2007. Unsupervised Resolution of Objects and Relations on the Web. Proceedings of NAACL-HLT, pp: 121-130) and Etzioni et. al. (O. Etzioni, et al. 2005. Unsupervised Named-Entity Extraction From the Web: an Experimental Study. Artificial Intelligence 165(1), pp: 91-134). These methods may be applied to the extraction of product features as disclosed by Popescu and Etzioni (A. M. Popescu and O. Etzioni. 2005. Extracting Product Features and Opinions from Reviews. Proceedings of HLT/EMNLP, p. 346). These steps include using patterns to identify noun phrase (NP) candidate features. This is followed by applying a statistical technique, such as machine learning, to identify reliable product features.
For purposes of this disclosure, the process for extracting product features may include the steps described below. Additional natural language processing steps (5 and 6) are introduced to compensate for the smaller scale of data that may often be available for a product review:
1) Manually construct a small list of positive and negative examples of product features. e.g. lens, zoom, image quality would be among the positive examples for cameras, and daughter, Christmas, vacation, would be among the negative examples.
2) Extract patterns of words 4 to the left and 4 to the right of every seed feature occurrence in the review data. For example, for the seed feature lens in the sentence, The lens scratches easily., the following patterns would be extracted, where NP stands for noun phrase:
3) Compute the estimated precision of the extracted patterns. The greater the ratio of positive to negative examples with which a pattern occurs, the higher its precision.
4) Scan through all the reviews and extract sequences that match the top 500 highest-precision patterns, and extract the parts corresponding to noun sequences as candidate features. The noun sequences are identified using a part-of-speech tagger, such as the Stanford Log-linear Part-Of-Speech Tagger (nlp.stanford.edu/software/tagger.shtml)
5) Use a Support Vector Machine (SVM) with web-based Point-wise Mutual Information (PMI) features to select reliable features (P. D. Tumey. 2002. Thumbs Up or Thumbs Down? Semantic Orientation Applied to Unsupervised Classification of Reviews. Proceedings of the 40th Annual Meeting of Association for Computational Linguistics. pp. 417-424). For each candidate feature, the components of the feature vector passed to the SVM are web-based PMI statistics with the discriminators “<product> features <candidate>” and “<product> has <candidate>.” For example, “camera has lens,” or “camera features optical zoom.”
For computing noun-phrase similarity, a simplified version of Lin's approach is used (D. Lin. 1998. Automatic retrieval and clustering of similar words, Proceedings of the 17th International Conference on Computational Linguistics, pp. 768-774), which is computationally simpler and targeted to this type of activity. Since the system is concerned with phrases, for which the number of unique types can be many more than the number of unique words, being able to compute the similarity of the phrases without needing to consider all other words and possibly phrases in the corpus is important.
Several methods for post-processing distributionally similar groups of words are possible. Lin et al. proposed two methods: (1) computing the ratio of the number of hits to a query for a pair of words being “NEAR” to the number of times a pair of words occur in two phrases (from X to Y; either X or Y); and (2) using bilingual dictionaries (D. Lin, S. Zhao, L. Qin, and M. Zhou. 2003. Identifying synonyms among distributionally similar words. vol. 18, pp. 1492-1493). The use of bilingual corpora is also possible, as discussed in L. van der Plas and J. Tiedemann. 2006. Finding synonyms using automatic word alignment and measures of distributional similarity. Proc. COLING/ACL 2006. pp. 866-873. However, in the embodiments herein, computed reliable features and/or pre-defined attributes (such as those used on Amazon.com®) are utilized. Amazon attributes are product features that Amazon displays at the top of a Customer Reviews page, which invites visitors to provide a rating from 1 to 5 for each listed feature. There are usually less than 10 attributes listed. The set of displayed attributes varies from product to product, e.g., varies for each camera. Examples of attributes include “Ease of use”, “Learning curve”, “Image stabilization”, “Hardware quality”, and “Picture quality.” Rather than inferring a rating from unstructured text, an average rating for the attribute is directly extracted from the data.
Once a base set of features are identified, clustering may be used to group product features, including reliable product features, into synonymous groups that capture various ways that reviewers may refer to the same feature. Although the reliable features could be directly clustered, better results may be achieved by clustering frequent noun sequences (i.e., one or more adjacent nouns) and using the reliable features to “filter” the noun sequences in the clusters, using the steps outlined in
For each sentence in the review data where a noun sequence occurs, the corresponding adjective modifiers and relation between the adjective and noun sequence are extracted from the parse tree. If it is assumed that a phrase and an adjective are conditionally independent given a modifier relation, then the probability of a noun phrase, N, an adjective, A, and a modifier relation, R, between the noun sequence and adjective co-occurring can be written as:
P(R)P(N|R)P(A|R) (1)
and the mutual information between N and A related by R, l(N, R, A), is computed as:
or
in terms of counts:
Given that r is a relation and a is an adjective, T(w) is defined to be the set of pairs (r, a) where l(n, r, a) is positive. The similarity between two noun sequences, n1 and n2, is then computed as:
The computed similarity between all frequent pairs of noun sequences (in our case with over 1 million sentences, a threshold of 50 may be set) is used for clustering the phrases in S210. A variety of clustering algorithms can be used. In this example, a complete-linkage agglomerative clustering is used to keep the phrases compact, and then split the hierarchical tree into clusters using a manually set threshold. In the “refine” step S214 in
An example of the resulting list of top automatically-produced clusters is shown below. Note that the majority of the largest clusters are related to the review topic, ‘cameras’ in this case, but there are additional clusters, such as ‘bang, deal, value, job’. These can be removed by keeping only clusters that contain at least one of the rated Amazon attributes. Alternative methods of filtering are possible by filtering using any “good product feature,” such as filtering by Amazon attributes only or by web-based PMI. Reliable features (described above) are another set of the “good product features” that may be used for filtering. The top-scoring, automatically-produced camera feature clusters using the method are:
Opinion mining is used to estimate the polarity of the automatically identified product features. Opinion mining can refer to activities of various levels of granularity. In one embodiment, the system is operated on the finer scale of features within sentences, where the approach is to identify all the “opinion words” that apply to the feature, and aggregate their individual polarities to give a score. The opinion scores are used in combination with the feature weights and scores/ratings of other aspects to score a product, and the products are ranked based upon the scores. Uses are independent, and extracted as described further below. Linking of the uses and aspects may be performed manually. However, for reviews where a use is mentioned, the aspect values from those reviews can be presented, and an activity for the reviewed product/camera created with that use and those aspect values.
Aggregating information from individual opinions units into a single score is a common activity in sentiment analysis. However, known methods do not smooth their estimates because they either assume or ensure that the smaller units are plentiful enough that aggregating them will give a reliable measure of the true sentiment. In the embodiments herein, all products mentioned, such as all types of cameras, may be covered, and so some features of a product only have one or two adjectives expressing opinions about them. Existing sentiment analysis systems are unable to solve the problem of estimating opinion from a very small number of observations.
To extract opinions about product features, review sentences are first classified as either objective or subjective, then identify and classify opinion words, and finally aggregate the opinion-word polarities to get an opinion score. To identify subjective sentences, a publicly available labeled corpus is used to train an n-gram classifier. Opinion words may be defined, in one embodiment, to be adjectives that modify product features. To classify opinion words as positive or negative, Turney's web-PMI method may be used (P. D. Turney. 2002. Thumbs Up or Thumbs Down? Semantic Orientation Applied to Unsupervised Classification of Reviews. Proceedings of the 40th Annual Meeting of Association for Computational Linguistics. pp. 417-424).
The beta-binomial model is used to calculate smoothed opinion scores s 306 for a product feature from scores of its n observed opinion words {w1, . . . , wn} where wi E{+1, −1}. A generative model may be used, where s is generated by a beta distribution with parameters a+ and a_. In turn, s determines the probability of observing a positive-polarity adjective i.e.:
P(p=+1)=s, P(p=−1)=1−s. (5)
Since it is not certain that the SVM classifier is reliable, another layer is added to the model, and it is assumed that the classified polarities are generated by a binomial distribution with P(classifier is correct)=0.8.
Finally, a+=a—=1 is set, meaning that positive and negative adjectives are a-priori equally likely. This model was fit using Gibbs sampling with the polarities of the adjectives observed for each product feature, and s 306 is used as the final sentiment score. In essence, this means that when there are only a small number of adjectives available, extreme estimates are not given of the quality of the product feature.
Pang and Lee noted that the accuracy of opinion estimation improves when sentences that are subjective are first identified and opinion estimation is performed only on subjective sentences (B. Pang and L. Lee. 2008. Opinion Mining and Sentiment Analysis. Foundations and Trends in Information Retrieval, vol. 2, pp: 1-135). In one embodiment, to identify subjective sentences, the subjectivity labeled sentences in Pang and Lee's Movie Database may be used to train an n-gram classifier. The trained classifier is then used to classify sentences from publicly-available website reviews for subjectivity. To extract and classify opinions from subjective sentences, opinion words are taken to be adjectives that modify product features. For each subjective sentence in the review data where a product feature occurs, any adjectives that are related to the feature by amod (adjective modifier), advmod (adverb), or nsubj (through a verb) are extracted. If a neg (negation) modifies the adjective, the adjective is marked as negated.
For each adjective, a feature vector is computed consisting of web-PMI with the words excellent, fantastic, terrible, and awful. Counts for computing PMI are obtained using an API to query Yahoo and extract the estimated number of search results. An SVM is trained to classify these feature vectors using Opinion Finders subjectivity lexicon, available at www.cs.pitt.edu/mpqa/. The resulting accuracies are provided in Table 1, below.
In one embodiment, to give a user feel for the opinions expressed about a camera, a small number of sentences may be automatically selected to represent opinions about a selected sample of camera features. In this method, illustrated in
Sentences are selected to represent some or all of the product feature clusters. A maximum number of desired summary sentences can be specified, or the maximum number determined automatically, e.g., requiring sentence scores to be above a minimum value. For a given product feature, a score is computed for each sentence associated with the product feature of a given polarity. Only sentences where the product feature is contained in the pattern <adj> <noun sequence> are considered. The score favors frequently mentioned product features, frequently mentioned adjective and noun-phrase pairs, and high PMI between the adjective(s) and noun-phrase.
In one embodiment, “product uses” may be defined again in terms of a camera to be terms that describe: 1) what people take photos of 2) what people are doing when they take photos and 3) what they do with photos. These three types of product use are often inter-related. For example, ‘birthday party,’ ‘wedding,’ ‘running of the bulls,’ ‘ballroom dancing,’ and ‘Garden of the Gods in Colorado Springs’ are all things people are taking photos of, but they are also indicate what the person is doing. For this reason, the different types of uses are not automatically separated into mutually exclusive sets.
A flowchart illustrating a method for identifying camera uses according to one embodiment is shown in
The top 25 automatically-identified uses, along with the three most frequent phrases associated with each use, are shown in Table 2, below. A sample of automatically-identified “what people are doing when taking a photo” with frequent phrases is shown in Table 3.
Linking Uses with Aspects
The final step in data extraction is to link the aspects to each use. In one embodiment, these links are constructed manually. In another embodiment, a semi-automated approach would be to use simple correlation—for each use, select aspects that appear most frequently in cameras that support the use.
Once aspects and uses have been extracted and linked, products can be ordered for display on the user interface. In one embodiment, a ranking algorithm may be used that orders products according to user-specified weights. A simple scale selector graphic 702, as illustrated in the GUI screen 700 of
Another approach is to infer weights from user activity and interest. While there are many ways to infer such weights, one option is via reverted indexing, as described in J. Pickens, M. Cooper, and G. Golovchinsky; Reverted Indexing for Feedback and Expansion. Proceedings of ACM CIKM. Using this approach, aspects and uses are associated with the set of products that they retrieve. Each set of associations is then indexed, as per traditional document indexing. At runtime, an arbitrary (user-driven) set of products can then be selected and the most relevant aspects and uses are retrieved using well-established information retrieval ranking algorithms. The relevance score assigned to each specification or attribute is then used as a weight on that attribute, to again retrieve the most relevant, related products.
Making a product decision is never as simple as setting a range of values and choosing from a list. Therefore, the graphical user interface (GUI) described herein allows the user to explore the product and its aspects in more detail. To facilitate this, one GUI screen 800 in
As mentioned above, the ranking system may depend on user-specified weights of camera specifications and features. The interface allows weights to be adjusted both indirectly and directly. In one embodiment illustrated in the GUI screen 600 in
Since the uses are mapped to the aspects, selecting uses implicitly adjusts weights. Users can also manipulate weights directly using the GUI screen 700 in
Various GUIs for specifying weights are available, as illustrated in
1) Continuous, increasing (
2) Discrete, increasing (
3) Continuous, categories (
4) Discrete, categories (
While adjusting weights produces an ordered list of products, the process of specifying weights is never static—users will adjust weights to explore how they affect the ranking. Along the way, they may encounter products they like but that may disappear from the top of the list in a later ranking. It is important that users be able to collect products along the way and be able to compare products in their collection. To support this need, a parallel coordinates interface 1000 is presented in
The embodiments and implementations described above are presented in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other implementations may be utilized and that structural changes and/or substitutions of various elements may be made without departing from the scope and spirit of present invention. The following detailed description is, therefore, not to be construed in a limited sense. Additionally, the various embodiments of the invention as described may be implemented in the form of software running on a general purpose computer, in the form of a specialized hardware, or combination of software and hardware.