1. Field of the Invention
The present invention relates generally to product reviews, and in particular, to summary product reviews generated from Internet based content.
2. Background Art
Consumers are spending increasingly more time viewing content on the Internet. Many Internet websites are dedicated to enabling consumers to shop. For example, the Internet provides a convenient way for consumers to search for products, perform comparison shopping, and read reviews of products that they are considering purchasing. The availability of product reviews on the Internet has increased the appeal of Internet shopping to many consumers.
However, Internet sites that provide product reviews have deficiencies. For example, such sites typically have an insufficient number of user reviews to produce statistically significant results. Thus, biased feedback provided by a small number of individuals can adversely affect the overall results in a significant way. Furthermore, reviews of early product releases do not take into account more recent fixes to the product and up-to-date functionality of the product.
Thus, what is desired are ways of providing product reviews to consumers over the Internet in an improved manner.
Methods, systems, and apparatuses for generating and providing review information for products are described. Product reviews for a product are collected from multiple websites over the Internet. One or more summary ratings for the product are generated based on the collected product reviews. The summary ratings are displayed.
In a further aspect, product reviews submitted by reviewers determined to have undesired reputations may be discounted. Furthermore, product reviews may be weighted according to the time at which they are submitted.
In another aspect of the present invention, a system for generating review information for products is provided. The system includes a product review information collector, a summary ratings generator, and a user interface. The product review information collector is configured to collect product reviews provided at multiple websites over the Internet. The summary ratings generator is configured to generate one or more summary ratings and associated statistics for products based on collected product reviews for the products. The user interface is configured to display summary ratings for products.
In an example, the product review information collector includes a web crawler. The web crawler receives a product catalog that lists a plurality of products in a product domain and a plurality of product names for each product. The web crawler crawls the Internet to collect product review information for selected products of the product catalog.
In another example, the product review information collector includes a product review information parser. The product review information parser is configured to parse various Internet based sources of information for product reviews. For example, the product review information parser parses a Real Simple Syndication (RSS) feed for a name of a selected product and at least one adjective that provides a review indication for the selected product. In another example, the product review information parser parses website content on Internet web sites for the name of the selected product and the adjective(s). In still another example, the product review information parser parses one or more selected consumer reports, blogs, and/or podcasts for the name of the selected product and the adjective(s).
In another example, the summary ratings generator includes a product review normalizer that receives and normalizes the received product reviews.
In a further example, the summary ratings generator includes a review category mapper. The review category mapper receives a plurality of category-specific reviews for a product, and maps the plurality of category-specific reviews for the product to one or more product review categories maintained for the product.
In a further example, the summary ratings generator is configured to discount product reviews received from reviewers determined to have undesired reputations.
In a still further example, the summary ratings generator includes a product review combiner. The product review combiner combines (e.g., averages) a plurality of normalized product reviews for a product into a summary rating for the product.
In a still further example, the summary ratings generator includes a summary rating analyzer that determines statistics regarding the summary ratings.
In a still further example, the user interface is configured to enable a user select, sort, filter, and display summary ratings and various product review information.
These and other objects, advantages and features will become readily apparent in view of the following detailed description of the invention. Note that the Summary and Abstract sections may set forth one or more, but not all exemplary embodiments of the present invention as contemplated by the inventor(s).
The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art to make and use the invention.
The present invention will now be described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.
The present specification discloses one or more embodiments that incorporate the features of the invention. The disclosed embodiment(s) merely exemplify the invention. The scope of the invention is not limited to the disclosed embodiment(s). The invention is defined by the claims appended hereto.
References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Furthermore, it should be understood that spatial descriptions (e.g., “above,” “below,” “up,” “left,” “right,” “down,” “top,” “bottom,” “vertical,” “horizontal,” etc.) used herein are for purposes of illustration only, and that practical implementations of the structures described herein can be spatially arranged in any orientation or manner.
The example embodiments described herein are provided for illustrative purposes, and are not limiting. Further structural and operational embodiments, including modifications/alterations, will become apparent to persons skilled in the relevant art(s) from the teachings herein.
Embodiments of the present invention gather reviewer feedback/reviews/opinions on a product from multiple Internet sites. Consumers are enabled to gather and assess the world's opinions provided on the Internet for products. The quality of overall ratings is improved. Reviewer feedback is aggregated and normalized. The feedback can be weighted based on various factors, such as the time the review is submitted. For example, if a review is submitted during a time at which an early release of a product is available, the review may not be as relevant at a time when newer releases of the product are available. In another example, the feedback can be weighted based on a reputation of the reviewer. For example, some reviewers may be known to be biased for or against a product. Product reviews provided by undesired reviewers, such as those financially connected to a product in the domain, may be discounted relative to other product reviews for a particular product. Product reviews provided by respected reviewers, such as those that provide independent advice and recommendations in consumer reports, may be weighted higher relative to other product reviews for a particular product.
Product reviews generally include files or portions of files (e.g., text, graphics, video and/or voice) submitted by reviewers that evaluate a particular product. Typically, a reviewer of a product is familiar with the product, and thus is capable of generating a product review with evaluation information that may be useful to others who are considering using and/or buying the product. Product reviews may be available in separate files or in lists within files or in RSS feeds, etc.
Embodiments are applicable to all types of products, including tangible products and intangible products (e.g., services). Example tangible products include articles of clothing, automobiles, boats, books, compact discs (CDs), cosmetics, digital video discs (DVDs), electronic devices (e.g., phones, music players, computers and peripherals, cameras, etc.), food, furniture, homes, instruments, jewelry, motorcycles, pets, pharmaceuticals, software, tools, toys, etc. These example products are provided for purposes of illustration and are not intended to be limiting.
For example,
Flowchart 200 begins with step 202. In step 202, product reviews are collected for a product over the Internet from multiple websites. In an embodiment, product review information collector 102 of
In step 204, at least one summary rating is generated for the product based on the collected product reviews. In an embodiment, summary ratings generator 104 performs step 204. Summary ratings generator 104 is configured to generate one or more summary ratings for products based on multiple product reviews for the products collected by collector 102. Summary ratings generator 104 receives product reviews 108 from collector 102, which may include product reviews in the same or different formats, and/or which may include product reviews that contain different review categories from each other. In an embodiment, summary ratings generator 104 normalizes the collected product reviews into a common format. Summary ratings generator 104 generates summary ratings for products based on the collected product reviews. Furthermore, summary ratings generator 104 may generate statistical information regarding the generated summary ratings, such as statistical significance information, accuracy of ratings based on number of reviews, distribution of ratings including minimum, first quartile, average, median, third quartile and maximum rating. Summary ratings generator 104 outputs summary rating data 110, which may include generated summary ratings, product reviews, and optionally generated statistical information.
In step 206, the summary rating(s) is/are displayed. In an embodiment, user interface 106 performs step 206. User interface 106 is configured to display summary ratings generated by summary ratings generator 104 for products. User interface 106 receives summary rating data 110, and enables a user to display the included summary ratings, product reviews, statistical information regarding products. In an embodiment, user interface 106 enables a user to select data to be displayed, to sort and/or filter data, and/or to otherwise manipulate data to be displayed, and/or view statistical information on subsets of data (for example, reviews and ratings within a geographic region or timeline or category). In embodiments, user interface 106 includes one or more user interface output elements such as a display device (e.g., a video monitor, flat screen or otherwise), an output audio device, one or more output indicators (e.g., LEDs), etc. Furthermore, user interface 106 may include one or more user interface input elements such as a keyboard, a mouse, a touchpad, a rollerball, etc., for a user to interact with the received summary rating data 110.
Product review information collector 102, summary ratings generator 104, and user interface 106 may be implemented in hardware, software, firmware, of any combination thereof. For example, product review information collector 102, summary ratings generator 104, and user interface 106 may each be implemented in digital logic, such as in an integrated circuit (e.g., an application specific integrated circuit (ASIC)), in code configured to execute in one or more processors, and/or in other manner as would be known to persons skilled in the relevant art(s). For example, a computer system is described further below that may be used to implement system 100.
Web crawler 304 is configured to crawl the Internet to collect product review information for products. For example, in an embodiment, web crawler 304 performs the steps of flowchart 400 shown in
In step 402, a product catalog is received that lists a plurality of products in a product domain and a plurality of product names for each product. The product catalog can also include product release dates in each geographic region, and corresponding manufacturer(s) and distributor(s). As shown in
In step 404, products are selected from the product catalog. In an embodiment, web crawler 304 may parse product catalog 302 for listed products. Web crawler 304 may be configured to select and collect product reviews for all products listed in product catalog 302, or for any portion of the listed products.
In step 406, the Internet is crawled to collect product review information for the products and associate reviews with each product. In an embodiment, web crawler 304 performs step 406. Web crawler 304 may be a special purpose or conventional “spidering engine” or web crawler (e.g., hardware, software program, and/or automated script) configured to browse the World Wide Web in a methodical, automated manner. For example, as shown in
In an embodiment, web crawler 304 may be configured to crawl specific websites 314 according to a stored list of relevant websites. The websites in the list may be websites known to provide product reviews, consumer reports, etc., such as www.yahoo.com, www.epinions.com, www.amazon.com, www.consumerreports.org, etc. Alternatively, web crawler 304 may be configured to crawl websites 314 of Internet 312 in a wide-ranging fashion to collect product reviews. As shown in
In step 408, the collected product review information is stored. For example, as shown in
As shown in
In an embodiment, product review information parser 308 locates a product review in a file by parsing the file for a name of the selected product and one or more adjectives and/or one or more nouns that provide a review indication for the selected product. For example, product review information parser 308 may textually search a file for the product name “IPod” when searching for an APPLE IPOD product. Furthermore, product review information parser 308 may textually search a file for one or more adjectives typically used in a review, such as “excellent” or “poor” to locate a product review portion of a file. Product review information parser 308 may additionally or alternatively textually search a file for one or more nouns used as review categories, such as “quality” or “reliability” to locate a product review portion of a file. The parser can also use machine learning techniques to learn predicates and a corresponding impact these have on the category ratings.
For instance, product review information parser 308 may perform one or more of the steps in flowchart 500 shown in
In step 502, data is received containing review information for the product. For instance, as shown in
In step 504, a beginning of a product review for the product is located in storage. In one example, a file containing review information for the product received in step 502 may be an HTML web page document. Product review information parser 308 parses the HTML document to locate a start of a product review portion of the document (e.g., after unneeded header information, etc., in the document).
In step 506, an end of a product review is located. In the current example, product review information parser 308 parses the HTML document to locate an end of a product review portion of the document. This may enable potentially unneeded information in the document following the product review portion to be subsequently removed.
In step 508, a time that the product review was submitted by a reviewer is determined. In the current example, product review information parser 308 parses the HTML document for time and/or date information related to a product review.
In step 510, a version of the product is determined. In the current example, product review information parser 308 parses the HTML document for a version/release information for the product described in the product review.
In step 512, an identifier for the reviewer is determined. In the current example, product review information parser 308 parses the HTML document for an identifier for the reviewer who submitted the located product review, such as an actual name for the reviewer, a login or screen name for the reviewer, etc.
Note that in an embodiment, steps 504-512 may be performed on data obtained from websites having a predetermined product review format, including HTML documents, XML, JSON and RSS feeds. Thus, knowledge of the product review format may be used to aid in determining beginning and end locations for a product review, a time that the product review was submitted, an identifier for the reviewer, and the product release. Alternatively, steps 504-512 may be performed on data that include product reviews of unknown formats.
As shown in
Format standardizer and metadata extractor 612 is configured to receive product reviews 108 collected by collector 102 of
Product review rating normalizer 602 is configured to receive standardized product reviews 614 generated by format standardizer and metadata extractor 612, and to normalize the format and ratings of the received product reviews from each web site. For example, normalizer 602 may apply a normalizing factor to a particular review ratings provided in category, numerical, or star form to generate normalized product review ratings in a standard format. In another embodiment, normalizer 602 may include a natural language processing engine that receives a textual product review, analyzes the textual product review, and converts the text into normalized product review ratings. In still another embodiment, a product review may include both a numerical rating and a textual rating, which are both normalized into a single normalized product review rating. Using these techniques, different types of product reviews 108 received from different Internet sources can be converted to a standard rating system, and can be subsequently compared to each other and/or combined to generate summary review ratings for a product. As shown in
For example, in an embodiment, the following product review may be received by normalizer 602 that was collected from a website having a known product review format:
In an embodiment, normalizer 602 converts the product review rating into a standard rating. For example, the received review rating system for a particular product (e.g., an Ipod model X) may be a 0-5 star rating, while the standard review rating system maintained by product review normalizer 602 may be a 1-10 numerical scale. In such an embodiment, normalizer 602 may apply a normalization factor, N, to normalize the product review. In the above example, the received rating of 4 out of 5 stars may be normalized using a normalization factor of 2, as follows:
Thus, in the current example, a received product rating of 4 out of 5 stars is normalized to a rating of 8 out of 10.
Note that in embodiments, normalization functions can be used to map received ratings into the standard rating system.
In another embodiment, as described above, normalizer 602 may receive a textual portion of a standardized product review and analyze the text to determine the rating. For example, the following standardized product review may be received by normalizer 602 that was collected from a website that provides textual product reviews:
Product review rating normalizer 602 may include a natural language processing engine/module to rate the review. For instance, in the above example, product review rating normalizer 602 may parse the product rating text for adjectives, such as “best” annoying” “difficult” “flawless” etc. Product review rating normalizer 602 further analyzes the product rating text for the context in which the identified adjectives were used. Product review rating normalizer 602 generates a product review rating in the standard rating system.
In another embodiment, a product review may be received that includes multiple review categories. For example, the following product review may be received from a website that has a known product review format:
As shown above, the received product review for Ipod model Z includes six review categories—sound, ease of use, durability, portability, battery life, and an overall product rating. In an embodiment, as shown in
For instance, continuing the above example, product review categories 704 may include the following mapping:
In this example, “sound” “ease of use” and “portability” are all mapped to a “quality” review category. “Durability” and “battery life” are mapped to a “reliability” review category, and “overall product rating” is mapped to an “overall product rating” review category (or can be considered to not be mapped).
According to the current example, mapper 702 may map the above categories in a variety of ways. For example, with regard to “quality,” equal weighting may be given to each received category:
In this example, the mapped rating of 4.33 for quality may be provided to normalizer 602 in mapped product review 706. Alternatively, each received category rating may be weighted differently (e.g., with a constant or curved function), as in the following example:
In this example, a mapped rating of 4.4 for quality may be provided to normalizer 602 in mapped product review 706. In a likewise fashion, mapped ratings for reliability and overall product rating can be generated, and provided to normalizer 602 in mapped product review 706.
“Quality” “reliability” and “overall product rating” are categories recognized by normalizer 602. Thus, in an embodiment, normalizer 602 may be configured to normalize the “quality” “reliability” and “overall product rating” category ratings received in mapped product review 706 into a unified product rating for the particular product review. In another embodiment, normalizer 602 may be configured to normalize each of the ratings for quality” “reliability” and “overall product rating” into separate normalized ratings.
Note that in another embodiment, mapper 702 may be configured to map all received review categories, such as “sound” “ease of use” “durability” “portability” “battery life” and “overall product rating” into a single maintained category. In such an embodiment, normalizer 602 may be configured to generate a single normalized product ratings from a single received mapped rating, in a similar fashion as was performed above with regard to the examples of the IPod Model X and Y products.
Referring back to
For example, in an embodiment, combiner 604 may perform a simple averaging of the received ratings for a particular product, as follows:
summary rating for product=Σratings/# of ratings
In another embodiment, combiner 604 may perform a weighted averaging of the received ratings for a particular product to generate the summary rating, as follows:
summary rating for product=Σ(NRWi×rating(i))/# ratings,
where
In another embodiment, it may be desired to discount product reviews received from reviewers determined to have undesired reputations. For example, particular reviewers may be known to provide biased product reviews, either in a positive or negative manner, which can adversely affect the accuracy of summary ratings. Thus, it may be desired to discount product reviews received from such reviewers partially or entirely. A product review received from a reviewer having an undesired reputation may receive a weight factor, NRW, that is less than 1, or even equal to zero, if product reviews for that reviewer are desired to not be taken into account when calculating a summary rating.
In another embodiment, it may be desired to increase the weight of product reviews received from reviewers determined to have good reputations. For example, particular reviewers may be known to be independent and assessing products for consumer reports or audit.
A reputation of a reviewer may be determined in a variety of ways. For example, some websites provide with product reviews a reputation description for reviewers that submitted the product reviews. Thus, in an embodiment, such reputation information may be included in product reviews 108 provided from collector 102 to summary ratings generator 104 shown in
As shown in
Note that in an embodiment where product review combiner 604 generates summary ratings for multiple categories for a product, summary rating analyzer 606 may be configured to perform statistical analysis for each category.
In an embodiment, summary ratings generator 104 may be configured to perform the steps shown in flowchart 800 of
Flowchart 800 starts with step 802. In step 802, a product review collected for the product is received. For example, as shown in
In step 804, a plurality of category-specific reviews received in the product review are mapped to one or more product review categories maintained for the product. For example, step 804 may be performed by review category mapper 702 shown in
In step 806, the product review is normalized. For example, step 806 may be performed by product review normalizer 602 shown in
In step 808, a plurality of normalized product reviews for the product are combined into a summary rating for the product. For example, step 808 may be performed by product review combiner 604 shown in
In step 810, statistics for the summary rating are calculated. For example, step 810 may be performed by summary ratings analyzer 606 shown in
Summary ratings generator 104 can be configured to generate summary rating data 110 in any suitable format, such as in a list form, array form, XML, JSON, or any other format.
Product identifier 902 identifies the product to which summary rating data 110 relates. Summary rating 904 is an overall product review rating for the product (e.g., generated by product review combiner 604). First through n-th category summary ratings 906a-906n are optionally present in summary rating data 110 when summary ratings are generated for a product in multiple product categories. Statistical information 908 is statistical information generated regarding summary rating 904 (e.g., generated by summary rating analyzer 606). First through m-th product reviews 910a-910m include information from individual product reviews collected by collector 104 for the product (e.g., are similar to product reviews 108). For example, as shown in
Additional and/or alternative data may be provided in summary rating data 110. For example, each product review 910 may include product rating information (e.g., a rating value and/or a textual review description) for multiple product categories (e.g., sound, ease of use, portability, etc., in an Ipod example).
Referring back to
In an embodiment, as shown in
For example, in an embodiment, user input interface 1004 and summary data processor 1002 enable a user to display summary rating 904 for one or more products.
In another embodiment, user input interface 1004 and summary data processor 1002 enable a user to display each product review 910 for a product, including a product rating 912 (e.g., a rating value and/or a detailed textual review) and a review source (publisher) 918 for each product review 910. By displaying a publisher with each product review, the original publisher of the product review can be acknowledged and shown to a viewer of display 1008.
In another embodiment, user input interface 1004 and summary data processor 1002 enable a user to display each product review 910 for a selected review category for the product.
In another embodiment, user input interface 1004 and summary data processor 1002 enable a user to display each product review 910 for a selected product rating 912 and a selected review category for the product.
In another embodiment, user input interface 1004 and summary data processor 1002 enable a user to compare summary ratings 904 for a plurality of products in a selected product domain that have overlapping review categories. In this manner, a user is enabled to perform effective comparison shopping of similar products using more accurate and statistically significant aggregated review results, by comparing summary ratings 904 generated from a larger number of product reviews than in conventional systems. For example, in this manner a user could perform comparison shopping of music players, such an IPOD versus a RIO music player, to select the best reviewed music player. Summary ratings 904 for the different products may be compared, as well as category summary ratings 906 for the different products, when overlapping review categories are present.
In another embodiment, user input interface 1004 is configured to enable a user to weight ratings for a product based on a reviewer reputation and/or on a time at which product reviews were submitted. Thus, in such an embodiment, user input interface 1004 may be coupled to product review combiner 604 and summary rating analyzer 606, to weight product review ratings for reviewers and/or times. By weighting a summary rating based on reviewer reputation, product reviews by undesired reviewers can be discounted. Furthermore, the weight of product reviews by trusted reviewers may be enhanced, if desired. By weighting a summary rating based on a time at which reviews were submitted, some time periods of review can be discounted. For example, reviews submitted for a product during an early release for the product can be discounted, since the early release for the product may have included problems that are not present in later releases of the product.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.