Customers can provide feedback, in the form of reviews, regarding offerings (products or services) of an enterprise. Reviews can be submitted online at third party sites (e.g. web survey sites or social networking sites such as Facebook and Twitter), or alternatively, reviews can be received directly by an enterprise. There can be potentially a large number of received reviews, which can make meaningful analysis of such reviews difficult and time-consuming.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
Some embodiments are described with respect to the following figures:
An enterprise (e.g. a business concern, educational organization, government agency, etc.) may collect feedback from customers (or more generally “users”) to better understand user sentiment regarding an offering of the enterprise. An offering can include a product or a service provided by the enterprise. A “sentiment” refers to an attitude, opinion, or judgment of a human with respect to the offering (e.g. level of satisfaction with a product or service). An opinion or other sentiment can be mapped to an attribute (such as an attribute associated with an offering or any attribute about which a sentiment can be expressed) to indicate a degree of satisfaction or other sentiment.
If there are a relatively large number of users, then there can be relatively large amounts of user feedback. An enterprise can provide an online website to collect feedback from users. Alternatively or additionally, the enterprise can also collect feedback through telephone calls or on paper survey forms. Furthermore, feedback can be collected at third party sites, such as travel review websites, product review websites, social networking sites (such as Facebook and Twitter), web survey sites, and so forth. Some third party websites provide professional reviews of offerings from enterprises, as well as provide mechanisms for users to submit their individual reviews.
Visualizing relatively large volumes of data records can be a complex and time-consuming process. In some cases, there can be several attributes of interest to a user, which can add to the amount of information that has to be depicted in a graphical visualization.
In accordance with some implementations, such as according to
A second time dimension (e.g. days) of the calendar graphical visualization 100 is represented by respective collections 102A and 102B of blocks. Each collection 102A or 102B includes multiple rows of blocks, where each of the rows within a collection corresponds to a respective different attribute (attributes A, B, C, D, and Overall_Sentiment depicted in
The attributes A, B, C, and D can represent any attribute for which a sentiment can be expressed. Attributes can include nouns (individual nouns or compound nouns) that appear in user feedback, where the nouns are associated with sentiment words that express a sentiment. Examples of attributes include specific products or services (e.g. printers, computers, customer support, movies, characters in movies, etc.). Examples of sentiment words include “good”, “bad”, “poor”, “satisfied”, and so forth.
In examples according to
The attribute Overall_Sentiment represents an aggregate of sentiment values expressed with respect to attributes A through D. In other words, each pixel in a row corresponding to Overall_Sentiment has a sentiment value that is an aggregate (e.g. sum, average, maximum, minimum, etc.) of sentiment values corresponding to attributes A-D, respectively.
The pixels within each block in the calendar graphical visualization 100 are assigned visual indicators to depict the corresponding sentiment values of the respective attribute. For example, the visual indicators can include different colors. A first color can be assigned to a pixel for a positive user sentiment expressed with respect to the corresponding attribute, while a second, different color can be assigned to represent a negative user sentiment expressed with respect to the attribute. In some examples, a positive sentiment can be indicated by a green color while a negative sentiment can be indicated by a red color. Different shades of green can express different levels of positive user sentiment (e.g. darker green can express a more positive sentiment than lighter green). Similarly, different shades of red can express different levels of negative user sentiment (e.g. darker red can express a more negative sentiment than lighter red). A neutral sentiment can be expressed by a different color, such as a gray color. In other examples, other colors can be used to express different sentiments.
In some examples, the sentiment expressed in a particular data record for a given attribute can be based on scores assigned by a user (e.g. a score between 1 and 5, where 5 is positive while 1 is negative and 3 is neutral, or a score from among −2, −1, 0, +1, +2, where the positive values reflect positive sentiment, negative values reflect negative sentiment, and 0 reflects a neutral sentiment). In other examples, the sentiment expressed in a particular data record for a given attribute can be based on an analysis of words in the particular data record—for example, the analysis can identify sentiment words associated with nouns representing targets of the sentiment words, and the sentiment words can be processed to determine the corresponding sentiment (e.g. positive sentiment, negative sentiment, neutral sentiment).
More generally a calendar graphical visualization such as the calendar graphical visualization 100 of
Each block of the calendar graphical visualization contains an arrangement of pixels. The block has an array of positions that correspond to different sub-time intervals (e.g. seconds or minutes in the example of
Within each block of the calendar graphical visualization 100, pixels are ordered (or sorted) according to time attribute values of respective data records represented by the pixels. The time attribute can represent a time of receipt or arrival of a data record (by a system), or can represent a time of creation of a data record. In some examples, within a block, pixels are arranged by placing a pixel corresponding to an earliest time value in the lower, left corner of the block, with successive pixels (having increasing time attribute values) proceeding left to right and then upwardly in sequence in the block. The pixel representing the latest data record (the data record associated with the largest time attribute value) is placed in the upper, right corner of the block. In different examples, different ordering of pixels within a block can be employed.
A particular data record can contain sentiment expressed with respect to one or multiple attributes. For example a first data record can contain a user sentiment expressed with respect to attributes A, B, C, and D; a second data record can contain user sentiment expressed with respect to just attributes A and C; a third data record can contain user sentiment expressed with respect to just attribute B; and so forth. Thus, not all data records contain user sentiment expressed with respect to all attributes of interest to an analyst.
Additionally, there can be missing data records at certain sub-time intervals. For example, within a given hour, data records may not be received for certain time points (sub-time intervals).
As a result of the foregoing two issues, within a given block of the calendar graphical visualization 100, there can be time positions in the given block not associated with sentiment values (due to a data record not containing a sentiment for the attribute at the corresponding sub-time interval, or due to a missing data record at the corresponding sub-time interval).
For example, in block 202 shown in
In the example of
In
Similarly, in
The gaps that have been introduced into the blocks 202 and 208 allow for the pixels placed in the blocks 202 and 208 to be aligned in the time, according to time position. In other words, assuming that each block 202 and 208 includes an array of time positions, any given time position in the array of block 202 is for the same sub-time interval as the same given time position in the array of block 208. Note that the array of time positions in block 202 is identical to the array of time positions in block 208. In this way, by comparing pixels (or gaps) in blocks 202 and 208, an analyst can easily determine time correlation between sentiment expressed (or lack of sentiment expressed) with respect to attributes A and B at different time positions.
User feedback regarding different attributes can occur at arbitrary time points. To align user feedback across different attributes in the calendar graphical visualization 100 of
The process determines (at 304) a size of the blocks based on identifying a union of time positions corresponding to data records received for the different attributes in a particular time interval of the time intervals, where the particular time interval is the one that contains a largest number of the data records. For example, in
The size of each block for the collection 102B is similarly defined.
For each particular day of the calendar graphical visualization 100, the blocks used to represent the different attributes all have the same size. However, note that the height of the blocks can differ between blocks for different days. The height of a block for day 05-29 (in collection 102B) is greater than the height of a block for day 05-28 (in collection 102A). However, the width of the blocks for the different days 05-28 and 05-29 are the same.
The process of
In accordance with some implementations, an analyst can select a particular pixel to obtain more information regarding the corresponding data record. For example, as shown in
The block 400 may be of particular interest to an analyst because of the relatively larger number of negative sentiments (represented by red pixels) expressed with respect to attribute C at hour 12 on day 05-29. An analyst can select different ones of the pixels in the block 400 (by moving a cursor over the respective pixels) to retrieve the detail information associated of the corresponding data records. This can allow the analyst to identify whether there was any particular review that influenced the other negative reviews. In the example given in
Techniques or mechanisms according to some implementations also allow for correlation to be identified between attributes. For example, an analyst may determine based on the calendar graphical visualization portion shown in
In accordance with some implementations, techniques or mechanisms according to some implementations also allow an analyst to drill down to obtain location information of reviewers. For example, in
Using techniques or mechanisms according to some implementations, an analyst can quickly identify sentiment distributions, patterns, and influence. Moreover, an analyst can focus on an interesting area within the calendar graphical visualization to query for correlations and to find further detailed information, such as sources (locations) of reviews.
The calendar visualization module 702 can be implemented as machine-readable instructions executable on one or multiple processors 704. The processor(s) 704 can be connected to a storage medium (or storage media) 706 and to a network interface 708 (for communicating over a data network). A processor can include a microprocessor, a microcontroller, a processor module or subsystem, a programmable integrated circuit, a programmable gate array, or another control or computing device. The storage medium (or media) 706 can store a data set 710 that has been received by the system 700, where the data set 710 can include various data records that contain a sentiment attribute and other attributes.
The storage medium (media) 706 can be implemented as one or more computer-readable or machine-readable storage media. The storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices. Note that the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes. Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture). An article or article of manufacture can refer to any manufactured single component or multiple components. The storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.
In the foregoing description, numerous details are set forth to provide an understanding of the subject disclosed herein. However, implementations may be practiced without some or all of these details. Other implementations may include modifications and variations from the details discussed above. It is intended that the appended claims cover such modifications and variations.
Number | Name | Date | Kind |
---|---|---|---|
3487308 | Johnson | Dec 1966 | A |
5581797 | Baker et al. | Dec 1996 | A |
5588117 | Karp et al. | Dec 1996 | A |
5608904 | Chaudhuri et al. | Mar 1997 | A |
5623590 | Becker et al. | Apr 1997 | A |
5634133 | Kelley | May 1997 | A |
5659768 | Forbes et al. | Aug 1997 | A |
5694591 | Du et al. | Dec 1997 | A |
5742778 | Hao et al. | Apr 1998 | A |
5757356 | Takasaki et al. | May 1998 | A |
5801688 | Mead et al. | Sep 1998 | A |
5828866 | Hao et al. | Oct 1998 | A |
5844553 | Hao et al. | Dec 1998 | A |
5878206 | Chen et al. | Mar 1999 | A |
5903891 | Chen et al. | May 1999 | A |
5924103 | Ahmed et al. | Jul 1999 | A |
5929863 | Tabei et al. | Jul 1999 | A |
5940839 | Chen et al. | Aug 1999 | A |
5969706 | Tanimoto et al. | Oct 1999 | A |
5986673 | Martz | Nov 1999 | A |
5999193 | Conley, Jr. et al. | Dec 1999 | A |
6052890 | Malagrino, Jr. et al. | Apr 2000 | A |
6115027 | Hao et al. | Sep 2000 | A |
6144379 | Bertram et al. | Nov 2000 | A |
6211880 | Impink, Jr. | Apr 2001 | B1 |
6211887 | Meier et al. | Apr 2001 | B1 |
6269325 | Lee et al. | Jul 2001 | B1 |
6314453 | Hao et al. | Nov 2001 | B1 |
6377287 | Hao et al. | Apr 2002 | B1 |
6400366 | Davies et al. | Jun 2002 | B1 |
6429868 | Dehner, Jr. et al. | Aug 2002 | B1 |
6466946 | Mishra et al. | Oct 2002 | B1 |
6466948 | Levitsky et al. | Oct 2002 | B1 |
6502091 | Chundi et al. | Dec 2002 | B1 |
6584433 | Zhang et al. | Jun 2003 | B1 |
6590577 | Yonts | Jul 2003 | B1 |
6603477 | Tittle | Aug 2003 | B1 |
6658358 | Hao et al. | Dec 2003 | B2 |
6684206 | Chen et al. | Jan 2004 | B2 |
6727926 | Utsuki et al. | Apr 2004 | B1 |
7020869 | Abrari et al. | Mar 2006 | B2 |
7202868 | Hao | Apr 2007 | B2 |
7221474 | Hao et al. | May 2007 | B2 |
7313533 | Chang et al. | Dec 2007 | B2 |
7567250 | Hao et al. | Jul 2009 | B2 |
7714876 | Hao | May 2010 | B1 |
7760203 | Hao | Jul 2010 | B1 |
7924283 | Hao | Apr 2011 | B1 |
7986324 | Funaki et al. | Jul 2011 | B2 |
8862577 | Hao | Oct 2014 | B2 |
20020118193 | Halstead, Jr. | Aug 2002 | A1 |
20030065546 | Goruer et al. | Apr 2003 | A1 |
20030071815 | Hao et al. | Apr 2003 | A1 |
20030221005 | Betge-Brezetz et al. | Nov 2003 | A1 |
20040210540 | Israel et al. | Oct 2004 | A1 |
20050066026 | Chen et al. | Mar 2005 | A1 |
20050119932 | Hao | Jun 2005 | A1 |
20050219262 | Hao et al. | Oct 2005 | A1 |
20070225986 | Bowe, Jr. et al. | Sep 2007 | A1 |
20080163085 | Subbu et al. | Jul 2008 | A1 |
20080180382 | Hao et al. | Jul 2008 | A1 |
20090033664 | Hao et al. | Feb 2009 | A1 |
20100010864 | Lee | Jan 2010 | A1 |
20100063864 | Lewis | Mar 2010 | A1 |
20100312769 | Bailey | Dec 2010 | A1 |
20100325107 | Kenton | Dec 2010 | A1 |
20110029926 | Hao | Feb 2011 | A1 |
20110043652 | King | Feb 2011 | A1 |
Entry |
---|
Daniela Oelke, Ming Hao, Christian Rohrdantz, Daniel A. Keim, Umeshwar Dayal, Lars-Erik Haug, Halldór Janetzko, “Visual Opinion Analysis of Customer Feedback Data,” Oct. 2009, IEEE, Symposium on Visual Analytics Science and Technology, 187-194. |
B. Shneiderman, “Tree Visualization with Treemaps: a 2-D Space-Filling Approach”, pp. 1-10, Jun. 1991. |
D. Keim et al “Hierarchical Pixel Bar Charts”, IEEE Transactions on Visualization and Computer Graphics, vol. 8, No. 3, Jul.-Sep. 2002, pp. 255-269. |
D. Keim et al Pixel Bar Charts: A New Technique for Visualization Large Multi-Attribute Data Sets with Aggregation:, HP Technical Report, Apr. 2001, pp. 1-10. |
Daniel Keim et al “Designing Pixel-Orientated Visualization Techniques: Theory and Applications” IEEE Transactions on Visualization and Computer Graphics, vol. 6, No. 1, Jan.-Mar. 2000, pp. 59-78. |
Deun et al., Multidimensional Scaling, Open and Distance Learning, Jan. 12, 2000 (pp. 1-16). |
http://www.pavis.org/essay/multidimensional—scaling.html, 2001 Wojciech Basalaj, (pp. 1-30). |
M. Ankerst et al “Towards an effective cooperation of the computer and the computer user for classification, Proc. 6th Int. Conf. on Knowledge Discovery and Data Mining ,” (KDD'2000), Aug. 20-23, 2000, Boston, MA, 2000, pp. 1-10. |
M.C. Hao et al “Visual Mining of E-customer Behavior Using Pixel Bar Charts,”, HP Technical Report, Jun. 20, 2001, pp. 1-7. |
Number | Date | Country | |
---|---|---|---|
20130215137 A1 | Aug 2013 | US |