US20220092652A1 - User feedback visualization - Google Patents
User feedback visualization Download PDFInfo
- Publication number
- US20220092652A1 US20220092652A1 US17/030,837 US202017030837A US2022092652A1 US 20220092652 A1 US20220092652 A1 US 20220092652A1 US 202017030837 A US202017030837 A US 202017030837A US 2022092652 A1 US2022092652 A1 US 2022092652A1
- Authority
- US
- United States
- Prior art keywords
- product
- user
- feedback
- image
- representation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012800 visualization Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000003058 natural language processing Methods 0.000 claims abstract description 17
- 238000009877 rendering Methods 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims abstract description 10
- 238000003860 storage Methods 0.000 claims description 43
- 230000004044 response Effects 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 11
- 238000009825 accumulation Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000012552 review Methods 0.000 description 11
- 239000010410 layer Substances 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000007935 neutral effect Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000013079 data visualisation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0623—Item investigation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Definitions
- the present invention relates generally to the field of computing, and more particularly to data visualization.
- Embodiments of the present invention disclose a method, computer system, and a computer program product for user feedback visualization.
- the present invention may include, receiving at least one image of a product from a user device.
- the present invention may also include, rendering a product representation of the product based on the received at least one image.
- the present invention may further include, registering a user-defined product feature associated with the rendered product representation.
- the present invention may also include, receiving a textual statement corresponding to a user opinion of the user-defined product feature.
- the present invention may also include, associating, based on natural language processing, at least one segment of the received textual statement with the registered user-defined product feature.
- FIG. 1 illustrates a networked computer environment according to at least one embodiment
- FIG. 2 is a schematic block diagram of a feedback environment according to at least one embodiment
- FIG. 3 is an operational flowchart illustrating an exemplary visualized feedback process according to at least one embodiment
- FIG. 4 is an operational flowchart illustrating an exemplary historical feedback process according to at least one embodiment
- FIG. 5 is a block diagram illustrating a feedback receiving user interface according to at least one embodiment
- FIG. 6 is a block diagram illustrating a feedback displaying user interface according to at least one embodiment
- FIG. 7 is a block diagram illustrating a historical feedback tracking user interface according to at least one embodiment
- FIG. 8 is a block diagram of internal and external components of computers and servers depicted in FIG. 1 according to at least one embodiment
- FIG. 9 is a block diagram of an illustrative cloud computing environment including the computer system depicted in FIG. 1 , in accordance with an embodiment of the present disclosure.
- FIG. 10 is a block diagram of functional layers of the illustrative cloud computing environment of FIG. 9 , in accordance with an embodiment of the present disclosure.
- the present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration
- the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention
- the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- a non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, Python, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the blocks may occur out of the order noted in the Figures.
- two blocks shown in succession may, in fact, be accomplished as one step, executed concurrently, substantially concurrently, in a partially or wholly temporally overlapping manner, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- a feedback program may gather user feedback relating to a product offered at a point in time.
- the feedback program may implement natural language processing (NLP) to the user feedback to identify features of the product and categorize the identified features into likes (e.g., user approval), dislikes (e.g., user disapproval), and neutral comments.
- NLP natural language processing
- the feedback program may apply a statistical accumulation to the categorized features of the product to generate a summarization assessment of the product.
- the feedback program may render the summarization assessment of the product onto a pictorial representation of the product.
- UI user interface
- the UI may enable the user to interactively define a feature of the product on the pictorial representation of the product and associate a user feedback with the user-defined feature of the product.
- the networked computer environment 100 may include a computer 102 with a processor 104 and a data storage device 106 that is enabled to run a software program 108 and a feedback program 110 a .
- the networked computer environment 100 may also include a server 112 that is enabled to run a feedback program 110 b that may interact with a database 114 and a communication network 116 .
- the networked computer environment 100 may include a plurality of computers 102 and servers 112 , only one of which is shown.
- the communication network 116 may include various types of communication networks, such as a wide area network (WAN), local area network (LAN), a telecommunication network, a wireless network, a public switched network and/or a satellite network.
- WAN wide area network
- LAN local area network
- the client computer 102 may communicate with the server computer 112 via the communications network 116 .
- the communications network 116 may include connections, such as wire, wireless communication links, or fiber optic cables.
- server computer 112 may include internal components 902 a and external components 904 a , respectively, and client computer 102 may include internal components 902 b and external components 904 b , respectively.
- Server computer 112 may also operate in a cloud computing service model, such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS).
- Server 112 may also be located in a cloud computing deployment model, such as a private cloud, community cloud, public cloud, or hybrid cloud.
- Client computer 102 may be, for example, a mobile device, a telephone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing devices capable of running a program, accessing a network, and accessing a database 114 .
- the feedback program 110 a , 110 b may interact with a database 114 that may be embedded in various storage devices, such as, but not limited to a computer/mobile device 102 , a networked server 112 , or a cloud storage service.
- the feedback environment 200 may include one or more components (e.g., client computer 102 ; server computer 112 ) of the computer environment 100 discussed above with reference to FIG. 1 .
- the feedback environment 200 may include a computer system 202 having a tangible storage device and a processor that is enabled to run the feedback program 110 a , 110 b .
- the computer system 202 may generally include one or more computing devices (e.g., a workstation, a personal computing device, a laptop computer, a desktop computer, a thin-client terminal, a tablet computer, a smart telephone, a smart watch or other smart wearable, or other electronic devices), a product catalog database 204 , a crowd-sourced feedback database 206 , a user feedback database 208 , and an output database 210 linked through a communication network (e.g., communication network 116 ).
- a communication network e.g., communication network 116
- databases 204 - 210 may be distributed over multiple data storage devices included in the computer system 202 , over multiple data storage devices external to the computer system 202 , or a combination thereof. In other embodiments, databases 204 - 210 may be provided in a same data storage device included in the computer system 202 or in a same data storage device external to the computer system 202 .
- the environment 200 may include fewer or additional components in various configuration that differ from the configuration illustrated in FIG. 2 .
- computer system 202 may utilize cluster computers and components that act as a single pool of seamless resources when accessed through communication network (e.g., communication network 116 ).
- environment 200 may include one or more intermediary devices.
- the feedback program 110 a , 110 b may be utilized by an E-commerce service, such as, for example, an online marketplace, to provide user feedback visualizations for products being sold to users of the online marketplace.
- the E-commerce service may also implement the feedback program 110 a , 110 b to receive user feedback from users to generate user feedback visualizations for products being sold on their online marketplace.
- the one or more computing devices of computer system 202 may include a user device 212 (e.g., client computer 102 ) associated with a user of the feedback program 110 a , 110 b .
- the user may interact with the user device 212 to view aggregated user feedback visually rendered on a pictorial representation of a product, as will be further detailed in this disclosure.
- the user may interact with the user device 212 to input user feedback corresponding to specific features of a product, as will be further detailed in this disclosure.
- the feedback program 110 a , 110 b may include a user feedback application 214 which may be enabled to run on the user device 212 using a processor (e.g., processor 104 ) of the user device 212 .
- the user simulation application 214 may include a web browser application or a dedicated device application enabled to receive user feedback for visually rendering a pictorial representation of a product and display user feedback visually rendered on a pictorial representation of a product.
- user device 212 may also include a user interface (UI) 216 .
- UI user interface
- UI 216 may include human machine interfaces, such as, for example, a touchscreen, a keyboard, a cursor-control device (e.g., a mouse, a touchpad, a stylus), one or more buttons, a microphone, a speaker, and/or a display (e.g., a liquid crystal display (LCD)).
- user device 212 may include a display configured to enable graphical user interfaces (GUI) that allow a user (e.g., purchaser of a product) to request a product's user feedback and view the user feedback visually rendered on the pictorial representation of the product.
- GUI graphical user interfaces
- the GUI may also enable the user to navigate the pictorial representation of the product and select individual product features to view an aggregated user feedback of the selected product feature.
- the GUI may enable a user (e.g., reviewer of a product) to define a product feature by selecting a rendering of the product feature on a pictorial representation of the product. The GUI may then enable the user to insert text corresponding to user feedback linked to the user-defined product feature.
- the feedback program 110 a , 110 b may include a single computer program or multiple program modules or sets of instructions being executed by the processor of the computer system 202 .
- the feedback program 110 a , 110 b may include routines, objects, components, units, logic, data structures, and actions that may perform particular tasks or implement particular abstract data types.
- the feedback program 110 a , 110 b may be practiced in distributed cloud computing environments where tasks may be performed by remote processing devices which may be linked through the communication network.
- the feedback program 110 a , 110 b may include program instructions that may be collectively stored on one or more computer-readable storage media.
- the feedback program 110 a , 110 b may include various components, such as, for example, a user interaction component 218 , a natural language processing (NLP) component 220 , an aggregation component 222 , an association component 224 , a visualization component 226 , a historical feedback component 228 , a validation component 230 , and a collaboration component 232 .
- NLP natural language processing
- the functionality described herein as being performed by respective components 220 - 232 may be distributed among multiple software components.
- computer system 202 may access the functionality provided by the respective components 220 - 232 through one or more application programming interfaces (APIs).
- APIs application programming interfaces
- the product catalog database 204 may include a list of products 234 that may be provided for sale to the user by an E-commerce service.
- the feedback program 110 a , 110 b may enable the user (e.g., via user device 212 ) to provide feedback and/or review feedback corresponding to one or more products 234 included in the product catalog database 204 .
- the product catalog database 204 may also include one or more retail images 236 of the products 234 .
- retail image 236 may also be referred to interchangeably as a retail product image, a retail image-based product representation, and a default pictorial representation.
- Retail image 236 may include two-dimensional (2-D) and/or three-dimensional (3-D) pictorial representations or models of the products 234 .
- the crowd-sourced database 206 may include user comments corresponding to one or more products 234 from various channels or sources.
- the crowd-sourced database 206 may include user comments gathered from open sources such as social media or public product feedback sources.
- the crowd-sourced database 206 may include user comments gathered from a product manufacturer's own feedback source or other private sources.
- the feedback program 110 a , 110 b may use the user comments stored in the crowd-sourced database 206 to populate user feedback corresponding to the products 234 .
- the user feedback database 208 may include one or more textual statements 238 , one or more image data 240 , and one or more user-defined product features 242 received from user device 212 .
- the textual statements 238 may include natural language input corresponding to: a description and/or opinion of product 234 as a whole, a description and/or opinion of one or more user-defined product features 242 of product 234 , or a description and/or opinion of both—product 234 as a whole and one or more user-defined product features 242 of product 234 .
- image data 240 may include one or more photographs of an object (e.g., product 234 or components thereof) received from the user device 212 .
- the feedback program 110 a , 110 b may implement image processing techniques to generate pictorial representations of a product 234 based on the image data 240 received from user device 212 corresponding to the product 234 .
- These pictorial representations of the products 234 may be referred to as a user image-based product representation 244 and stored in output database 210 .
- a product feature may include any rendering of a physical component (e.g., internal or external component) of a physical object (e.g., product 234 ), including a functional component.
- the feedback program 110 a , 110 b may enable the user to graphically select or annotate (e.g., via cursor control device; touchscreen) a portion of the pictorial representation (e.g., retail image 236 ; user image-based product representation 244 ) of the product 234 to dynamically register the selected portion as the user-defined product feature 242 .
- the feedback program 110 a , 110 b may electronically link the user-defined product feature 242 (e.g., the selected pixels) to segments of the textual statement 238 such that the descriptions/opinions in the textual statement 238 may be associated with the user-defined product feature 242 .
- the feedback program 110 a , 110 b may enable the user to enter a feature name for the user-defined product feature 242 . In other embodiments, the feedback program 110 a , 110 b may automatically determine the feature name for the user-defined product feature 242 based on one or more segments of the textual statement 238 associated with the user-defined product feature 242 .
- the feedback program 110 a , 110 b may implement the user interaction component 218 to enable the user (e.g., via UI 216 of user device 212 ) to interact directly with the pictorial representations (e.g., retail image 236 ; user image-based product representation 244 ) of the product 234 .
- the user may directly manipulate (e.g., via rotation control; zoom control) the pictorial representations of the product 234 (e.g., via UI 216 of user device 212 ) to glean user feedback information regarding the products 234 .
- the user may zoom in and pinpoint a product feature (e.g., in the pictorial representation) to extract user feedback information corresponding to that product feature.
- the user interaction component 218 my enable selecting individual product features to view an aggregated feedback corresponding to the selected product feature and may further enable selecting the aggregated feedback to view all the user opinions that were used in aggregating the feedback.
- the user interaction component 218 may enable the user to input the textual statements 238 , image data 240 , and user-defined product features 242 .
- the user interaction component 218 may provide a feature defining tool which may be used directly on the pictorial representation of the product 234 to dynamically generate the user-defined product feature 242 .
- the feedback program 110 a , 110 b may implement the NLP component 220 to label each word in the textual statement 238 with an associated parts-of-speech tag (e.g., PoS tagging).
- the NLP component 220 may first breakdown or tokenize each word in the textual statement 238 .
- PoS tagging may be used to label each word (e.g., token) as, for example, a noun, verb, adjective, adverb, preposition, conjunction, pronoun, or interjection based on, for example, whether the word is capitalized, whether the word is the first/last word of the sentence, and the surrounding words.
- the PoS tagging may analyze the relationship of each of the words to determine the appropriate label for each word. For example, the PoS tagging may determine that a word located before a verb that modifies the verb may be considered an adverb.
- the NLP component 220 may be used to determine (e.g., infer) the user's opinion or perception as relating to the product 234 based on textual statement 238 .
- the NLP component 220 may utilize sentiment analysis and topic modeling techniques to characterize an orientation of the sentiment expressed in the user's opinions.
- the sentiment orientation may include, the polarity, tone, and/or emotions expressed in the user's opinions.
- the sentiment orientation may be clustered into three main categories: positive, negative, and neutral sentiment. In at least one embodiment, the sentiment orientation may be clustered into any number of categories.
- the NLP component 220 may draw out and identify the product features or components of product 234 mentioned in the textual statement 238 .
- the association component 224 may be implemented to link the sentiment to the respective product features or components. In at least one embodiment, the association component 224 may also be implemented to link the user-defined product feature 242 to the textual statement 238 corresponding to the user-defined product feature 242 .
- the aggregation component 222 may receive the textual statement 238 tagged with one or more topics (e.g., product feature) and corresponding sentiment orientations. The aggregation component 222 may apply a statistical accumulation of the sentiment orientations for each product feature to determine an aggregated feedback rating value or score (e.g., three out of five) based on the sentiment or overall evaluation of the product feature.
- the visualization component 226 may render the aggregated feedback rating value corresponding to the product feature onto the pictorial representation of the product 234 as a rating visualization (e.g., three out of five stars).
- Various other rating visualization formats are also contemplated (e.g., using colors).
- the visualization component 226 may map the aggregated feedback rating value (e.g., using the rating visualization) onto the pictorial representation of the product 234 in a location proximate the corresponding product feature.
- the feedback program 110 a , 110 b may output a visualized product assessment 246 including one or more rating visualizations projected onto pictorial representation of the product 234 in the locations proximate the corresponding product features.
- the visualized product assessment 246 corresponding to each product 234 may be stored in the output database 210 .
- the feedback program 110 a , 110 b may present the visualized product assessment 246 to the user in response to the user requesting to read user feedback corresponding to a product 234 and/or input user feedback corresponding to the product 234 .
- the visualization component 226 may also use the image data 240 uploaded by the user device 212 to generate the user image-based product representation 244 of product 234 .
- the visualization component 226 may implement image processing techniques to render the user image-based product representation 244 (e.g., 2-D pictorial model; 3-D pictorial model) of the product 234 using the image data 240 .
- the user image-based product representation 244 e.g., 2-D pictorial model; 3-D pictorial model
- those may be implemented to replace the retail images 236 of product 234 .
- user image-based product representations 244 may exist for only specific features of product 234 .
- the user image-based product representations 244 may replace the retail images 236 for only those specific features of product 234 .
- the retail images 236 may be selectable by the user to display the corresponding user image-based product representations 244 .
- the pictorial model provided by the user image-based product representation 244 may improve over time as more image data 240 is fed into the visualization component 226 .
- the user image-based product representations 244 may enable the user to visually track how a product 234 has changed overtime.
- the historical feedback component 228 may use the image data 240 as longitudinal data, that is, a series of repeated observations of a respect feature of product 234 over period of time (e.g., past to present). Using this longitudinal data, the historical feedback component 228 may determine a version history of product 234 (or specific features of product 234 ) and build a feedback timeline 248 (stored in output database 210 ) to enable users to dynamically and visually compare how various versions of the product 234 or specific features thereof has changed over time. In one embodiment, the feedback timeline 248 may enable users to track the improvements made to the features of product 234 .
- the feedback timeline 248 may include a slider which may be manipulated to visualize the product representation from the past to the present. Manipulating the slider from a past timeframe to a present timeframe may dynamically update the product representation to show how product 234 or specific features thereof may age overtime and its lifespan.
- the historical feedback component 228 may provide a feedback loop of information to the manufacturer to help them prioritize what features of product 234 need to be fixed or updated in future versions of product 234 .
- the validation component 230 may use the image data 240 uploaded by the user to validate the user's feedback.
- the validation component 230 may be implemented such that the user feedback may not become effective unless proven to generate a confidence score.
- the validation component 230 may generate the confidence score for user feedback which includes image data 240 uploaded by the user device 212 .
- user feedback which includes image data 240 may be given more weight when calculating the aggregated feedback rating value by the aggregation component 222 .
- the collaboration component 232 may enable the user to share the visualized product assessment 246 of a particular product 234 to one or more other users, for example, through a social networking platform.
- the visualized product assessment 246 shared by the user may include their user image-based product representation 244 .
- the visualized product assessment 246 shared by the user may only include their user-defined product features 242 and corresponding rating visualizations (e.g., for features which the user had quality issues with).
- the collaboration component 232 may enable the user to prompt additional users to engage with their visualized product assessment 246 , for example, to view the existing user feedback and/or to receive additional feedback from the additional users.
- the collaboration component 232 may update the visualized product assessment 246 based on the input received from the additional users.
- the collaboration component 232 may enable the user to communicate how they fixed a problem with the product (e.g., communicating that replacing a bolt would make the product work more efficiently for a specific scenario). This may enable users to customize products to meet specific needs and share that customization with other users. In one embodiment, the collaboration component 232 may also enable the user to link to other parts which may be used to fix a broken product feature.
- FIG. 3 an operational flowchart illustrating an exemplary visualized feedback process 300 implemented by the feedback program 110 a , 110 b according to at least one embodiment is depicted.
- an image of a product is received from a user device.
- the feedback program 110 a , 110 b may enable a user to select a product for which the user would like to leave feedback (e.g., feedback input process).
- the feedback input process may include a prompt for the user to upload one or more images of the product using the user device.
- the user may use a smartphone camera to capture one or more photographs of the product or product component and transmit the images to the feedback program 110 a , 110 b.
- a product representation is rendered based on the images received from the user device.
- the feedback program 110 a , 110 b may implement image processing and visualization techniques to generate a user image-based product representation using image data extracted from the images received from the user device.
- the product representation generated by the feedback program 110 a , 110 b may include a 2-D pictorial model or a 3-D pictorial model.
- the feedback program 110 a , 110 b may use image analysis to compare the user image-based product representation of the product with a retail image-based product representation (e.g., default pictorial representation of the product) to determine which portions of the product were included in the user image-based product representation.
- the feedback program 110 a , 110 b may enable the user image-based product representation to replace the default pictorial representation of the product or specific portions of the product reflected in the user image-based product representation. In other embodiments, the feedback program 110 a , 110 b may enable the default pictorial representation of the product to be selectable by the user to display the corresponding user image-based product representation.
- the feedback program 110 a , 110 b may enable the user to define one or more product features for which to provide feedback.
- the feedback program 110 a , 110 b may enable the user to graphically select or annotate (e.g., via cursor control device; touchscreen) a portion of the user image-based product representation. Responsive to receiving the selection from the user device, the feedback program 110 a , 110 b may dynamically register the selected portion (e.g., selected pixels) of the user image-based product representation as the user-defined product feature.
- the feedback program 110 a , 110 b may prompt and/or enable the user to define the user-defined product feature with reference to the retail image-based product representation (e.g., default pictorial representation of the product). Responsive to receiving the selection from the user device, the feedback program 110 a , 110 b may dynamically register the selected portion (e.g., selected pixels) of the retail image-based product representation as the user-defined product feature. In various embodiments, after registering the user-defined product feature, the feedback program 110 a , 110 b may then prompt the user to upload one or more images of the user-defined product feature using the user device.
- the retail image-based product representation e.g., default pictorial representation of the product.
- a textual statement corresponding to a user opinion is received.
- the feedback program 110 a , 110 b may generate a text input field to prompt the user to enter a textual statement corresponding the user opinion associated with the user-defined product feature.
- the feedback program 110 a , 110 b may enable the user to enter a textual statement corresponding the user opinion associated with the whole product in general—without first defining the product feature for which the user would like to provide feedback.
- the feedback program 110 a , 110 b may implement NLP techniques such as, for example, PoS tagging and topic modeling to extract segments in the textual statement corresponding to user opinions and product features or components, as described previously with reference to FIG. 2 .
- the feedback program 110 a , 110 b may electronically link the user-defined product feature (e.g., the selected pixels) to the segments of the textual statement including the user opinions associated with the user-defined product feature.
- the feedback program 110 a , 110 b may implement NLP and other machine learning techniques to identify the product features mentioned in the text statement and locate the identified product features on product representation (e.g., default pictorial representation of the product).
- a feedback rating value corresponding to the user-defined product feature is calculated based on sentiment analysis of the textual statement.
- the feedback program 110 a , 110 b may utilize sentiment analysis techniques to characterize an orientation of the sentiment expressed in the user opinions.
- a sentiment orientation may be clustered into categories, such as, for example, a positive sentiment, a negative sentiment, and a neutral sentiment.
- Each sentiment may include a corresponding feedback rating value.
- a positive sentiment may include the highest feedback rating value
- a negative sentiment may include the lowest feedback rating value
- a neutral sentiment may include an intermediate feedback rating value.
- the feedback program 110 a , 110 b may receive multiple feedbacks corresponding to the same product feature (e.g., as defined by multiple users). In one embodiment, the feedback program 110 a , 110 b may determine the sentiment orientation expressed in each user opinion and the resulting feedback rating value as described above. Then, the feedback program 110 a , 110 b may calculate a statistical accumulation of the feedback rating value (e.g., based on sentiment orientation) for each product feature to determine an aggregated feedback rating value or score, as described previously with reference to FIG. 2 .
- a statistical accumulation of the feedback rating value e.g., based on sentiment orientation
- the feedback program 110 a , 110 b may render the aggregated feedback rating value corresponding to the product feature onto the product representation (e.g., user image-based product representation or retail image-based product representation) of the as a rating visualization, as described previously with reference to FIG. 2 .
- the product representation e.g., user image-based product representation or retail image-based product representation
- the feedback program 110 a , 110 b may map the aggregated feedback rating value (e.g., using the rating visualization) onto the product representation in a location proximate the pixels of the product representation corresponding to user-defined product feature.
- the feedback program 110 a , 110 b may output a visualized product assessment including one or more rating visualizations projected onto the product representation in the locations proximate the user-defined product features.
- the feedback program 110 a , 110 b may dynamically update the visualized product assessment based on the feedback received from the user. The feedback program 110 a , 110 b may then transmit the visualized product assessment including the user's feedback to the user device.
- FIG. 4 an operational flowchart illustrating an exemplary historical feedback process 400 used by the feedback program 110 a , 110 b according to at least one embodiment is depicted.
- a first date of a first feedback including at least one first image associated with a product is determined.
- the feedback program 110 a , 110 b may determine the first feedback to include an oldest (e.g., earliest) feedback corresponding to the product.
- the product may include a specific feature of the product.
- the feedback program 110 a , 110 b may store the date on which the first feedback is received as the first date.
- the feedback program 110 a , 110 b may store a full date (e.g., month/day/year).
- the feedback program 110 a , 110 b may store a partial date (e.g., month/year or just the year).
- the first image may correspond to at least one oldest (e.g., earliest) image of the product (e.g., specific feature of the product) received from the user device.
- a second date of a second feedback including at least one second image associated with the product is determined.
- the feedback program 110 a , 110 b may determine the second feedback to include a newest (e.g., most recent or current) feedback corresponding to the same product and/or the same specific feature of the product.
- the feedback program 110 a , 110 b may store the date (e.g., as month/day/year; month/year; just year) on which the second feedback is received as the second date.
- the second image may correspond to at least one newest (e.g., most recent or current) image of the product (e.g., specific feature of the product) received from the user device.
- a feedback timeline is built including the first date of the oldest feedback and the second date of the newest feedback.
- the feedback program 110 a , 110 b may generate the feedback timeline as a graphical and selectable representation of the various dates from the past to the present for which visual feedback is available from the users.
- the feedback program 110 a , 110 b may generate respective feedback timelines for different versions of the product and/or specific feature of the product to enable the user to dynamically compare and contrast the different versions.
- a product representation based on the at least one first image and the at least one second image of the product is generated and linked to the feedback timeline.
- the product representation may be referred to as the user image-based product representation and may include a 2-D pictorial representation or a 3-D pictorial representation of the product and/or specific feature of the product.
- the product representation generated by the feedback program 110 a , 110 b may include a dynamic product representation.
- the generated product representation may include a first state for visualizing the generated product representation based on the at least one first image. In the first state, the generated product representation may look like product in the oldest (e.g., earliest) image received from the user.
- the first state may represent the product when it was relatively new.
- the generated product representation may include a second state for visualizing the generated product representation based on the at least one second image.
- the generated product representation may look like product in the newest (e.g., most recent or current) image received from the user. It is contemplated that the second state may represent the product when it was relatively old or after a period of time of use has passed from the first state of the product.
- the generated product representation is displayed in the first state responsive to receiving a first date selection on the feedback timeline.
- the feedback program 110 a , 110 b may link the generated product representation to the feedback timeline. Accordingly, in response to the user interacting with the feedback timeline and selecting the first date on the feedback timeline, the feedback program 110 a , 110 b may render the generated product representation to visualize the first state of the generated product representation. As such, the feedback program 110 a , 110 b may enable the user to visualize how the product and/or specific feature of the product looked when it was relatively new.
- the generated product representation is dynamically transitioned from displaying the first state to displaying the second state responsive to receiving a second date selection on the feedback timeline.
- the feedback program 110 a , 110 b may dynamically render the generated product representation to visualize the second state of the generated product representation.
- the feedback program 110 a , 110 b may enable the user to visualize a transition of the product and/or specific feature of the product from when it was relatively new to when it is relatively old and how it changes over time with use.
- FIG. 5 an exemplary block diagram illustrating a feedback receiving UI 500 implemented by the feedback program 110 a , 110 b according to at least one embodiment is depicted.
- the feedback program 110 a , 110 b may provide the feedback receiving UI 500 to the user device to enable the user to leave feedback regarding one or more products.
- the feedback program 110 a , 110 b may enable a user to select a product 502 for which the user would like to leave feedback.
- the feedback program 110 a , 110 b may display a retail product image 504 (e.g., default pictorial representation of the product 502 ) in the feedback receiving UI 500 .
- the feedback program 110 a , 110 b may prompt and/or enable the user to define a user-defined product feature with reference to the retail product image 504 .
- the feedback receiving UI 500 may include a feature defining tool 506 as illustrated in FIG. 5 .
- the feature defining tool 506 may provide a pixel selection or annotation function which may be implemented, for example, by a cursor control device 508 .
- the feedback program 110 a , 110 b may register the selected portion (e.g., the corresponding pixels) as a user-defined product feature 510 .
- the feedback receiving UI 500 may include a user image upload tool 512 as illustrated in FIG. 5 .
- the feedback program 110 a , 110 b may then prompt the user (e.g., via user image upload tool 512 ) to upload one or more images of the user-defined product feature 510 using the user device.
- the user device may transmit one or more images 514 of the user-defined product feature 510 to the feedback program 110 a , 110 b .
- the feedback program 110 a , 110 b may use the images 514 to generate a user image-based product representation (e.g., 2-D or 3-D pictorial model) of the user-defined product feature 510 , as described previously with reference to FIGS. 2 and 3 .
- a user image-based product representation e.g., 2-D or 3-D pictorial model
- the feedback receiving UI 500 may include a natural language input tool 516 as illustrated in FIG. 5 .
- the natural language input tool 516 may generate a text input field 518 to prompt the user to enter text feedback using the user device.
- the user may enter a textual statement 520 corresponding the user opinion associated with product 502 and/or the user-defined product feature 510 .
- the feedback program 110 a , 110 b may employ NLP techniques to associate segments of the textual statement 520 to the product 502 and/or the user-defined product feature 510 and determine the sentiment of the user corresponding to the product 502 and/or the user-defined product feature 510 .
- FIG. 6 an exemplary block diagram illustrating a feedback displaying UI 600 implemented by the feedback program 110 a , 110 b according to at least one embodiment is depicted.
- the feedback program 110 a , 110 b may provide the feedback displaying UI 600 to the user device to enable the user to interact with a visual product assessment of one or more products.
- the feedback program 110 a , 110 b may enable a user to select the product 502 for which the user would like to view feedback.
- the feedback program 110 a , 110 b may display the retail product image 504 (e.g., default pictorial representation of the product 502 ) in the feedback displaying UI 600 .
- the feedback program 110 a , 110 b may render one or more rating visualizations 602 a - 602 c projected onto the retail product image 504 in one or more locations proximate corresponding user-defined product features 604 a - 604 c.
- the feedback displaying UI 600 may include an image manipulation tool 606 as illustrated in FIG. 6 .
- the feedback program 110 a , 110 b may implement the image manipulation tool 606 to enable the user to interact directly with the pictorial representation (e.g., retail product image 504 ) of the product 502 .
- the image manipulation tool 606 may provide zoom control. The user may interact with the image manipulation tool 606 and zoom in on a portion of the retail product image 504 .
- the feedback displaying UI 600 may magnify the portion of the retail product image 504 pinpointed by the image manipulation tool 606 and dynamically display the rating visualization 602 c associated with the corresponding user-defined product feature 604 c .
- the feedback displaying UI 600 may also display a product representation 608 of the user-defined product feature 604 c generated based on receiving one or more images of the user-defined product feature 604 c from other users, as described in FIG. 5 .
- FIG. 7 an exemplary block diagram illustrating a historical feedback tracking UI 700 implemented by the feedback program 110 a , 110 b according to at least one embodiment is depicted.
- the feedback program 110 a , 110 b may build a feedback timeline 702 including a first date 704 (e.g., T-2) corresponding to the oldest feedback, a second date 706 corresponding to the newest feedback (e.g., T), and a third date 708 corresponding to an intermediate feedback (e.g., T-1).
- the historical feedback tracking UI 700 may provide a user image-based 3-D pictorial model 710 of a product feature as shown in FIG. 7 .
- the feedback program 110 a , 110 b may generate the user image-based 3-D pictorial model 710 using one or more images received from the user device on the respective dates (e.g., first date, second date, third date).
- the user image-based 3-D pictorial model 710 may include a first state 712 for visualizing the user image-based 3-D pictorial model 710 based on the oldest (e.g., earliest) image received from the user. It is contemplated that the first state may represent the product at a point in time closest to a purchase date (e.g., when it was relatively new).
- the user image-based 3-D pictorial model 710 may include a second state 714 for visualizing the user image-based 3-D pictorial model 710 based on the newest (e.g., most recent or current) image received from the user. It is contemplated that the second state may represent the product at a point in time farthest from time purchase date.
- the user image-based 3-D pictorial model 710 may include a third state 716 for visualizing the user image-based 3-D pictorial model 710 based on an intermediate (e.g., between the earliest and the most recent or current) image received from the user.
- a third state 716 for visualizing the user image-based 3-D pictorial model 710 based on an intermediate (e.g., between the earliest and the most recent or current) image received from the user.
- the feedback program 110 a , 110 b may link the user image-based 3-D pictorial model 710 to the feedback timeline 702 , as described previously with reference to FIG. 4 .
- the feedback program 110 a , 110 b may also provide a version history 718 associated with the user image-based 3-D pictorial model 710 .
- the user may select version 1 from the version history 718 .
- the feedback program 110 a , 110 b may render the user image-based 3-D pictorial model 710 visualize the first state 712 of the user image-based 3-D pictorial model 710 .
- the feedback program 110 a , 110 b may dynamically render the user image-based 3-D pictorial model 710 visualize the third state 716 (e.g., intermediate state) of the user image-based 3-D pictorial model 710 .
- the feedback program 110 a , 110 b may dynamically render the user image-based 3-D pictorial model 710 visualize the second state 716 (e.g., current state) of the user image-based 3-D pictorial model 710 .
- the historical feedback tracking UI 700 may enable the user to see how a specific version of a product feature (e.g., a drill head in FIG. 7 ) may decayed over a time period using crowdsourced information (e.g., image data) from users.
- a product feature e.g., a drill head in FIG. 7
- crowdsourced information e.g., image data
- the functionality of a computer may be improved by the feedback program 110 a , 110 b because the feedback program 110 a , 110 b may enable a computer to provide a way to aggregate user feedback which identify specific features of a product and visualize the aggregated feedback by rendering the feedback on pictorial representations of the product.
- the functionality of a computer may also be improved by the feedback program 110 a , 110 b because the feedback program 110 a , 110 b may enable a computer to provide a UI to enable a user to interact with a pictorial representation of the product to extract user feedback corresponding to specific features of the product.
- the functionality of a computer may also be improved by the feedback program 110 a , 110 b because the feedback program 110 a , 110 b may enable a computer to provide the UI to enable the user to interactively define a feature of the product on the pictorial representation of the product and associate a user feedback with the user-defined feature of the product.
- FIGS. 2 to 7 provide only an illustration of one embodiment and do not imply any limitations with regard to how different embodiments may be implemented. Many modifications to the depicted embodiment(s) may be made based on design and implementation requirements.
- FIG. 8 is a block diagram 900 of internal and external components of computers depicted in FIG. 1 in accordance with an illustrative embodiment of the present invention. It should be appreciated that FIG. 8 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.
- Data processing system 902 , 904 is representative of any electronic device capable of executing machine-readable program instructions.
- Data processing system 902 , 904 may be representative of a smart phone, a computer system, PDA, or other electronic devices.
- Examples of computing systems, environments, and/or configurations that may represented by data processing system 902 , 904 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputer systems, and distributed cloud computing environments that include any of the above systems or devices.
- User client computer 102 and network server 112 may include respective sets of internal components 902 a, b and external components 904 a, b illustrated in FIG. 8 .
- Each of the sets of internal components 902 a, b includes one or more processors 906 , one or more computer-readable RAMs 908 and one or more computer-readable ROMs 910 on one or more buses 912 , and one or more operating systems 914 and one or more computer-readable tangible storage devices 916 .
- the one or more operating systems 914 , the software program 108 , and the feedback program 110 a in client computer 102 , and the feedback program 110 b in network server 112 may be stored on one or more computer-readable tangible storage devices 916 for execution by one or more processors 906 via one or more RAMs 908 (which typically include cache memory).
- each of the computer-readable tangible storage devices 916 is a magnetic disk storage device of an internal hard drive.
- each of the computer-readable tangible storage devices 916 is a semiconductor storage device such as ROM 910 , EPROM, flash memory or any other computer-readable tangible storage device that can store a computer program and digital information.
- Each set of internal components 902 a, b also includes a R/W drive or interface 918 to read from and write to one or more portable computer-readable tangible storage devices 920 such as a CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk or semiconductor storage device.
- a software program such as the software program 108 and the feedback program 110 a and 110 b can be stored on one or more of the respective portable computer-readable tangible storage devices 920 , read via the respective R/W drive or interface 918 and loaded into the respective hard drive 916 .
- Each set of internal components 902 a, b may also include network adapters (or switch port cards) or interfaces 922 such as a TCP/IP adapter cards, wireless wi-fi interface cards, or 3G or 4G wireless interface cards or other wired or wireless communication links.
- the software program 108 and the feedback program 110 a in client computer 102 and the feedback program 110 b in network server computer 112 can be downloaded from an external computer (e.g., server) via a network (for example, the Internet, a local area network or other, wide area network) and respective network adapters or interfaces 922 .
- the network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- Each of the sets of external components 904 a, b can include a computer display monitor 924 , a keyboard 926 , and a computer mouse 928 .
- External components 904 a, b can also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices.
- Each of the sets of internal components 902 a, b also includes device drivers 930 to interface to computer display monitor 924 , keyboard 926 and computer mouse 928 .
- the device drivers 930 , R/W drive or interface 918 and network adapter or interface 922 comprise hardware and software (stored in storage device 916 and/or ROM 910 ).
- Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service.
- This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
- On-demand self-service a cloud consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with the service's provider.
- Resource pooling the provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to demand. There is a sense of location independence in that the consumer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).
- Rapid elasticity capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.
- Measured service cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
- level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts).
- SaaS Software as a Service: the capability provided to the consumer is to use the provider's applications running on a cloud infrastructure.
- the applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail).
- a web browser e.g., web-based e-mail
- the consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
- PaaS Platform as a Service
- the consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
- IaaS Infrastructure as a Service
- the consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
- Private cloud the cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on-premises or off-premises.
- Public cloud the cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
- Hybrid cloud the cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).
- a cloud computing environment is service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability.
- An infrastructure comprising a network of interconnected nodes.
- cloud computing environment 1000 comprises one or more cloud computing nodes 100 with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone 1000 A, desktop computer 1000 B, laptop computer 1000 C, and/or automobile computer system 1000 N may communicate.
- Nodes 100 may communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof.
- This allows cloud computing environment 1000 to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device.
- computing devices 1000 A-N shown in FIG. 9 are intended to be illustrative only and that computing nodes 100 and cloud computing environment 1000 can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).
- FIG. 10 a set of functional abstraction layers 1100 provided by cloud computing environment 1000 is shown. It should be understood in advance that the components, layers, and functions shown in FIG. 10 are intended to be illustrative only and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:
- Hardware and software layer 1102 includes hardware and software components.
- hardware components include: mainframes 1104 ; RISC (Reduced Instruction Set Computer) architecture based servers 1106 ; servers 1108 ; blade servers 1110 ; storage devices 1112 ; and networks and networking components 1114 .
- software components include network application server software 1116 and database software 1118 .
- Virtualization layer 1120 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 1122 ; virtual storage 1124 ; virtual networks 1126 , including virtual private networks; virtual applications and operating systems 1128 ; and virtual clients 1130 .
- management layer 1132 may provide the functions described below.
- Resource provisioning 1134 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment.
- Metering and Pricing 1136 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may comprise application software licenses.
- Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources.
- User portal 1138 provides access to the cloud computing environment for consumers and system administrators.
- Service level management 1140 provides cloud computing resource allocation and management such that required service levels are met.
- Service Level Agreement (SLA) planning and fulfillment 1142 provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA.
- SLA Service Level Agreement
- Workloads layer 1144 provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation 1146 ; software development and lifecycle management 1148 ; virtual classroom education delivery 1150 ; data analytics processing 1152 ; transaction processing 1154 ; and feedback visualization 1156 .
- a feedback program 110 a , 110 b provides a way to visually render user feedback onto a pictorial representation of a product in a location proximate a user-defined product feature.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- The present invention relates generally to the field of computing, and more particularly to data visualization.
- User feedback systems have been widely adopted in electronic commerce. Purchase decisions are often made based on balancing a product's positive reviews with the product's negative reviews and comparing those reviews against one or more other products' positive and negative reviews. As purchaser, it may be daunting to scroll through hundreds (and sometimes thousands) of reviews to make an informed buying decision.
- Embodiments of the present invention disclose a method, computer system, and a computer program product for user feedback visualization. The present invention may include, receiving at least one image of a product from a user device. The present invention may also include, rendering a product representation of the product based on the received at least one image. The present invention may further include, registering a user-defined product feature associated with the rendered product representation. The present invention may also include, receiving a textual statement corresponding to a user opinion of the user-defined product feature. The present invention may also include, associating, based on natural language processing, at least one segment of the received textual statement with the registered user-defined product feature.
- These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings. The various features of the drawings are not to scale as the illustrations are for clarity in facilitating one skilled in the art in understanding the invention in conjunction with the detailed description. In the drawings:
-
FIG. 1 illustrates a networked computer environment according to at least one embodiment; -
FIG. 2 is a schematic block diagram of a feedback environment according to at least one embodiment; -
FIG. 3 is an operational flowchart illustrating an exemplary visualized feedback process according to at least one embodiment; -
FIG. 4 is an operational flowchart illustrating an exemplary historical feedback process according to at least one embodiment; -
FIG. 5 is a block diagram illustrating a feedback receiving user interface according to at least one embodiment; -
FIG. 6 is a block diagram illustrating a feedback displaying user interface according to at least one embodiment; -
FIG. 7 is a block diagram illustrating a historical feedback tracking user interface according to at least one embodiment; -
FIG. 8 is a block diagram of internal and external components of computers and servers depicted inFIG. 1 according to at least one embodiment; -
FIG. 9 is a block diagram of an illustrative cloud computing environment including the computer system depicted inFIG. 1 , in accordance with an embodiment of the present disclosure; and -
FIG. 10 is a block diagram of functional layers of the illustrative cloud computing environment ofFIG. 9 , in accordance with an embodiment of the present disclosure. - Detailed embodiments of the claimed structures and methods are disclosed herein; however, it can be understood that the disclosed embodiments are merely illustrative of the claimed structures and methods that may be embodied in various forms. This invention may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the scope of this invention to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.
- The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, Python, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be accomplished as one step, executed concurrently, substantially concurrently, in a partially or wholly temporally overlapping manner, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
- The following described exemplary embodiments provide a system, method and program product for user feedback visualization. As such, the present embodiment has the capacity to improve the technical field of data visualization by visually rendering user feedback onto a pictorial representation of a product. More specifically, a feedback program may gather user feedback relating to a product offered at a point in time. The feedback program may implement natural language processing (NLP) to the user feedback to identify features of the product and categorize the identified features into likes (e.g., user approval), dislikes (e.g., user disapproval), and neutral comments. Then, the feedback program may apply a statistical accumulation to the categorized features of the product to generate a summarization assessment of the product. Thereafter, the feedback program may render the summarization assessment of the product onto a pictorial representation of the product.
- As described previously, user feedback systems have been widely adopted in electronic commerce. Purchase decisions are often made based on balancing a product's positive reviews with the product's negative reviews and comparing those reviews against one or more other products' positive and negative reviews. As purchaser, it may be daunting to scroll through hundreds (and sometimes thousands) of reviews to make an informed buying decision. Moreover, user feedback referencing specific features of the product may become obfuscated by user feedback of the product as a whole.
- Therefore, it may be advantageous to, among other things, provide a way to aggregate user-generated content or feedback identifying specific features of a product and visualize the aggregated feedback by rendering the feedback on pictorial representations of the product. It may also be advantageous to provide a user interface (UI) to enable a user to interact with a pictorial representation of a product to extract user feedback corresponding to specific features of the product. It may further be advantageous for the UI to enable the user to interactively define a feature of the product on the pictorial representation of the product and associate a user feedback with the user-defined feature of the product.
- Referring to
FIG. 1 , an exemplarynetworked computer environment 100 in accordance with one embodiment is depicted. Thenetworked computer environment 100 may include acomputer 102 with aprocessor 104 and adata storage device 106 that is enabled to run asoftware program 108 and afeedback program 110 a. Thenetworked computer environment 100 may also include aserver 112 that is enabled to run afeedback program 110 b that may interact with adatabase 114 and a communication network 116. Thenetworked computer environment 100 may include a plurality ofcomputers 102 andservers 112, only one of which is shown. The communication network 116 may include various types of communication networks, such as a wide area network (WAN), local area network (LAN), a telecommunication network, a wireless network, a public switched network and/or a satellite network. It should be appreciated thatFIG. 1 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements. - The
client computer 102 may communicate with theserver computer 112 via the communications network 116. The communications network 116 may include connections, such as wire, wireless communication links, or fiber optic cables. As will be discussed with reference toFIG. 8 ,server computer 112 may includeinternal components 902 a andexternal components 904 a, respectively, andclient computer 102 may include internal components 902 b and external components 904 b, respectively.Server computer 112 may also operate in a cloud computing service model, such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS).Server 112 may also be located in a cloud computing deployment model, such as a private cloud, community cloud, public cloud, or hybrid cloud.Client computer 102 may be, for example, a mobile device, a telephone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing devices capable of running a program, accessing a network, and accessing adatabase 114. According to various implementations of the present embodiment, thefeedback program database 114 that may be embedded in various storage devices, such as, but not limited to a computer/mobile device 102, anetworked server 112, or a cloud storage service. - Referring now to
FIG. 2 , a schematic block diagram of afeedback environment 200 implementing thefeedback program feedback environment 200 may include one or more components (e.g.,client computer 102; server computer 112) of thecomputer environment 100 discussed above with reference toFIG. 1 . - According to one embodiment, the
feedback environment 200 may include acomputer system 202 having a tangible storage device and a processor that is enabled to run thefeedback program computer system 202 may generally include one or more computing devices (e.g., a workstation, a personal computing device, a laptop computer, a desktop computer, a thin-client terminal, a tablet computer, a smart telephone, a smart watch or other smart wearable, or other electronic devices), aproduct catalog database 204, a crowd-sourcedfeedback database 206, auser feedback database 208, and anoutput database 210 linked through a communication network (e.g., communication network 116). In various embodiments, databases 204-210 may be distributed over multiple data storage devices included in thecomputer system 202, over multiple data storage devices external to thecomputer system 202, or a combination thereof. In other embodiments, databases 204-210 may be provided in a same data storage device included in thecomputer system 202 or in a same data storage device external to thecomputer system 202. - In some embodiments, the
environment 200 may include fewer or additional components in various configuration that differ from the configuration illustrated inFIG. 2 . For example, in some embodiments,computer system 202 may utilize cluster computers and components that act as a single pool of seamless resources when accessed through communication network (e.g., communication network 116). In various embodiments,environment 200 may include one or more intermediary devices. - According to one embodiment, the
feedback program feedback program - According to one embodiment, the one or more computing devices of
computer system 202 may include a user device 212 (e.g., client computer 102) associated with a user of thefeedback program feedback program user feedback application 214 which may be enabled to run on the user device 212 using a processor (e.g., processor 104) of the user device 212. Theuser simulation application 214 may include a web browser application or a dedicated device application enabled to receive user feedback for visually rendering a pictorial representation of a product and display user feedback visually rendered on a pictorial representation of a product. According to one embodiment, user device 212 may also include a user interface (UI) 216.UI 216 may include human machine interfaces, such as, for example, a touchscreen, a keyboard, a cursor-control device (e.g., a mouse, a touchpad, a stylus), one or more buttons, a microphone, a speaker, and/or a display (e.g., a liquid crystal display (LCD)). For example, in some embodiments, user device 212 may include a display configured to enable graphical user interfaces (GUI) that allow a user (e.g., purchaser of a product) to request a product's user feedback and view the user feedback visually rendered on the pictorial representation of the product. The GUI may also enable the user to navigate the pictorial representation of the product and select individual product features to view an aggregated user feedback of the selected product feature. In some embodiments, the GUI may enable a user (e.g., reviewer of a product) to define a product feature by selecting a rendering of the product feature on a pictorial representation of the product. The GUI may then enable the user to insert text corresponding to user feedback linked to the user-defined product feature. - In one embodiment, the
feedback program computer system 202. Thefeedback program feedback program feedback program - According to one embodiment, the
feedback program user interaction component 218, a natural language processing (NLP)component 220, anaggregation component 222, anassociation component 224, avisualization component 226, ahistorical feedback component 228, avalidation component 230, and acollaboration component 232. In some embodiments, the functionality described herein as being performed by respective components 220-232, may be distributed among multiple software components. Also, in some embodiments,computer system 202 may access the functionality provided by the respective components 220-232 through one or more application programming interfaces (APIs). - According to one embodiment, the
product catalog database 204 may include a list ofproducts 234 that may be provided for sale to the user by an E-commerce service. In one embodiment, thefeedback program more products 234 included in theproduct catalog database 204. In various embodiments, theproduct catalog database 204 may also include one or moreretail images 236 of theproducts 234. In various embodiments,retail image 236 may also be referred to interchangeably as a retail product image, a retail image-based product representation, and a default pictorial representation. In one embodiment,Retail image 236 may include two-dimensional (2-D) and/or three-dimensional (3-D) pictorial representations or models of theproducts 234. - According to one embodiment, the crowd-sourced
database 206 may include user comments corresponding to one ormore products 234 from various channels or sources. In some embodiments, the crowd-sourceddatabase 206 may include user comments gathered from open sources such as social media or public product feedback sources. In other embodiments, the crowd-sourceddatabase 206 may include user comments gathered from a product manufacturer's own feedback source or other private sources. In some embodiments, thefeedback program database 206 to populate user feedback corresponding to theproducts 234. - According to one embodiment, the
user feedback database 208 may include one or moretextual statements 238, one ormore image data 240, and one or more user-defined product features 242 received from user device 212. In one embodiment, thetextual statements 238 may include natural language input corresponding to: a description and/or opinion ofproduct 234 as a whole, a description and/or opinion of one or more user-defined product features 242 ofproduct 234, or a description and/or opinion of both—product 234 as a whole and one or more user-defined product features 242 ofproduct 234. In one embodiment,image data 240 may include one or more photographs of an object (e.g.,product 234 or components thereof) received from the user device 212. As will be described further, in embodiments, thefeedback program product 234 based on theimage data 240 received from user device 212 corresponding to theproduct 234. These pictorial representations of theproducts 234 may be referred to as a user image-basedproduct representation 244 and stored inoutput database 210. - According to one embodiment, users of the
feedback program product 234 and/or the online marketplace selling theproduct 234. Instead, as previously described, thefeedback program feedback program retail image 236; user image-based product representation 244) of theproduct 234 to dynamically register the selected portion as the user-definedproduct feature 242. In one embodiment, thefeedback program textual statement 238 such that the descriptions/opinions in thetextual statement 238 may be associated with the user-definedproduct feature 242. In some embodiments, thefeedback program product feature 242. In other embodiments, thefeedback program product feature 242 based on one or more segments of thetextual statement 238 associated with the user-definedproduct feature 242. - According to one embodiment, the
feedback program user interaction component 218 to enable the user (e.g., viaUI 216 of user device 212) to interact directly with the pictorial representations (e.g.,retail image 236; user image-based product representation 244) of theproduct 234. In one embodiment, the user may directly manipulate (e.g., via rotation control; zoom control) the pictorial representations of the product 234 (e.g., viaUI 216 of user device 212) to glean user feedback information regarding theproducts 234. For example, the user may zoom in and pinpoint a product feature (e.g., in the pictorial representation) to extract user feedback information corresponding to that product feature. In one embodiment, theuser interaction component 218 my enable selecting individual product features to view an aggregated feedback corresponding to the selected product feature and may further enable selecting the aggregated feedback to view all the user opinions that were used in aggregating the feedback. In at least one embodiment, theuser interaction component 218 may enable the user to input thetextual statements 238,image data 240, and user-defined product features 242. In various embodiments, theuser interaction component 218 may provide a feature defining tool which may be used directly on the pictorial representation of theproduct 234 to dynamically generate the user-definedproduct feature 242. - According to one embodiment, the
feedback program NLP component 220 to label each word in thetextual statement 238 with an associated parts-of-speech tag (e.g., PoS tagging). In one embodiment, theNLP component 220 may first breakdown or tokenize each word in thetextual statement 238. Then, PoS tagging may be used to label each word (e.g., token) as, for example, a noun, verb, adjective, adverb, preposition, conjunction, pronoun, or interjection based on, for example, whether the word is capitalized, whether the word is the first/last word of the sentence, and the surrounding words. In one embodiment, the PoS tagging may analyze the relationship of each of the words to determine the appropriate label for each word. For example, the PoS tagging may determine that a word located before a verb that modifies the verb may be considered an adverb. According to one embodiment, theNLP component 220 may be used to determine (e.g., infer) the user's opinion or perception as relating to theproduct 234 based ontextual statement 238. In one embodiment, theNLP component 220 may utilize sentiment analysis and topic modeling techniques to characterize an orientation of the sentiment expressed in the user's opinions. In embodiments, the sentiment orientation may include, the polarity, tone, and/or emotions expressed in the user's opinions. In various embodiments, the sentiment orientation may be clustered into three main categories: positive, negative, and neutral sentiment. In at least one embodiment, the sentiment orientation may be clustered into any number of categories. Using topic modeling, theNLP component 220 may draw out and identify the product features or components ofproduct 234 mentioned in thetextual statement 238. According to one embodiment, theassociation component 224 may be implemented to link the sentiment to the respective product features or components. In at least one embodiment, theassociation component 224 may also be implemented to link the user-definedproduct feature 242 to thetextual statement 238 corresponding to the user-definedproduct feature 242. - According to one embodiment, the
aggregation component 222 may receive thetextual statement 238 tagged with one or more topics (e.g., product feature) and corresponding sentiment orientations. Theaggregation component 222 may apply a statistical accumulation of the sentiment orientations for each product feature to determine an aggregated feedback rating value or score (e.g., three out of five) based on the sentiment or overall evaluation of the product feature. According to one embodiment, thevisualization component 226 may render the aggregated feedback rating value corresponding to the product feature onto the pictorial representation of theproduct 234 as a rating visualization (e.g., three out of five stars). Various other rating visualization formats are also contemplated (e.g., using colors). In one embodiment, thevisualization component 226 may map the aggregated feedback rating value (e.g., using the rating visualization) onto the pictorial representation of theproduct 234 in a location proximate the corresponding product feature. In one embodiment, thefeedback program product assessment 246 including one or more rating visualizations projected onto pictorial representation of theproduct 234 in the locations proximate the corresponding product features. The visualizedproduct assessment 246 corresponding to eachproduct 234 may be stored in theoutput database 210. In one embodiment, thefeedback program product assessment 246 to the user in response to the user requesting to read user feedback corresponding to aproduct 234 and/or input user feedback corresponding to theproduct 234. - According to one embodiment, the
visualization component 226 may also use theimage data 240 uploaded by the user device 212 to generate the user image-basedproduct representation 244 ofproduct 234. In one embodiment, thevisualization component 226 may implement image processing techniques to render the user image-based product representation 244 (e.g., 2-D pictorial model; 3-D pictorial model) of theproduct 234 using theimage data 240. In one embodiment, if aproduct 234 includes one or more user image-basedproduct representations 244, those may be implemented to replace theretail images 236 ofproduct 234. In other embodiments, user image-basedproduct representations 244 may exist for only specific features ofproduct 234. In such embodiments, the user image-basedproduct representations 244 may replace theretail images 236 for only those specific features ofproduct 234. In other embodiments, theretail images 236 may be selectable by the user to display the corresponding user image-basedproduct representations 244. According to one embodiment, the pictorial model provided by the user image-basedproduct representation 244 may improve over time asmore image data 240 is fed into thevisualization component 226. - According to one embodiment, the user image-based
product representations 244 may enable the user to visually track how aproduct 234 has changed overtime. In one embodiment, thehistorical feedback component 228 may use theimage data 240 as longitudinal data, that is, a series of repeated observations of a respect feature ofproduct 234 over period of time (e.g., past to present). Using this longitudinal data, thehistorical feedback component 228 may determine a version history of product 234 (or specific features of product 234) and build a feedback timeline 248 (stored in output database 210) to enable users to dynamically and visually compare how various versions of theproduct 234 or specific features thereof has changed over time. In one embodiment, thefeedback timeline 248 may enable users to track the improvements made to the features ofproduct 234. Users may be enabled to determine if it is worth buying a new version ofproduct 234, or if an older version is in fact thebetter product 234 to buy. In one embodiment, thefeedback timeline 248 may include a slider which may be manipulated to visualize the product representation from the past to the present. Manipulating the slider from a past timeframe to a present timeframe may dynamically update the product representation to show howproduct 234 or specific features thereof may age overtime and its lifespan. In one embodiment, thehistorical feedback component 228 may provide a feedback loop of information to the manufacturer to help them prioritize what features ofproduct 234 need to be fixed or updated in future versions ofproduct 234. - According to one embodiment, the
validation component 230 may use theimage data 240 uploaded by the user to validate the user's feedback. In one embodiment, thevalidation component 230 may be implemented such that the user feedback may not become effective unless proven to generate a confidence score. In one embodiment, thevalidation component 230 may generate the confidence score for user feedback which includesimage data 240 uploaded by the user device 212. In various embodiments, user feedback which includesimage data 240 may be given more weight when calculating the aggregated feedback rating value by theaggregation component 222. - According to one embodiment, the
collaboration component 232 may enable the user to share the visualizedproduct assessment 246 of aparticular product 234 to one or more other users, for example, through a social networking platform. In one embodiment, the visualizedproduct assessment 246 shared by the user may include their user image-basedproduct representation 244. In addition, the visualizedproduct assessment 246 shared by the user may only include their user-defined product features 242 and corresponding rating visualizations (e.g., for features which the user had quality issues with). In one embodiment, thecollaboration component 232 may enable the user to prompt additional users to engage with their visualizedproduct assessment 246, for example, to view the existing user feedback and/or to receive additional feedback from the additional users. In one embodiment, thecollaboration component 232 may update the visualizedproduct assessment 246 based on the input received from the additional users. - In at least one embodiment, the
collaboration component 232 may enable the user to communicate how they fixed a problem with the product (e.g., communicating that replacing a bolt would make the product work more efficiently for a specific scenario). This may enable users to customize products to meet specific needs and share that customization with other users. In one embodiment, thecollaboration component 232 may also enable the user to link to other parts which may be used to fix a broken product feature. - Referring now to
FIG. 3 , an operational flowchart illustrating an exemplary visualizedfeedback process 300 implemented by thefeedback program - At 302, an image of a product is received from a user device. According to one embodiment, the
feedback program feedback program - Then at 304, a product representation is rendered based on the images received from the user device. According to one embodiment, the
feedback program feedback program feedback program feedback program feedback program - Then at 306, a user-defined product feature associated with the user image-based product representation is registered. According to one embodiment, the
feedback program feedback program feedback program feedback program feedback program feedback program - Then at 308, a textual statement corresponding to a user opinion is received. According to one embodiment, once the
feedback program feedback program feedback program - Then at 310, at least one segment of the textual statement is associated with the user-defined product feature. In one embodiment, the
feedback program FIG. 2 . In one embodiment, thefeedback program feedback program - Then at 312, a feedback rating value corresponding to the user-defined product feature is calculated based on sentiment analysis of the textual statement. According to one embodiment, the
feedback program - According to one embodiment, the
feedback program feedback program feedback program FIG. 2 . - Thereafter at 314, a visualized product assessment is presented to the user device. According to one embodiment, the
feedback program FIG. 2 . - In one embodiment, the
feedback program feedback program feedback program feedback program - Referring now to
FIG. 4 , an operational flowchart illustrating an exemplaryhistorical feedback process 400 used by thefeedback program - At 402, a first date of a first feedback including at least one first image associated with a product is determined. According to one embodiment, the
feedback program feedback program feedback program feedback program - Then at 404, a second date of a second feedback including at least one second image associated with the product is determined. According to one embodiment, the
feedback program feedback program - Then at 406, a feedback timeline is built including the first date of the oldest feedback and the second date of the newest feedback. According to one embodiment, the
feedback program feedback program - Then at 408, a product representation based on the at least one first image and the at least one second image of the product is generated and linked to the feedback timeline. In one embodiment, the product representation may be referred to as the user image-based product representation and may include a 2-D pictorial representation or a 3-D pictorial representation of the product and/or specific feature of the product. In on embodiment, the product representation generated by the
feedback program - Then at 410, the generated product representation is displayed in the first state responsive to receiving a first date selection on the feedback timeline. As noted above, the
feedback program feedback program feedback program - Thereafter at 412, the generated product representation is dynamically transitioned from displaying the first state to displaying the second state responsive to receiving a second date selection on the feedback timeline. According to one embodiment, in response to the user interacting with the feedback timeline and selecting the second date on the feedback timeline, the
feedback program feedback program - Referring now to
FIG. 5 , an exemplary block diagram illustrating afeedback receiving UI 500 implemented by thefeedback program - According to one embodiment, the
feedback program feedback receiving UI 500 to the user device to enable the user to leave feedback regarding one or more products. For example, thefeedback program product 502 for which the user would like to leave feedback. In one embodiment, thefeedback program feedback receiving UI 500. - As described previously with reference to
FIG. 3 , in at least one embodiment, thefeedback program retail product image 504. In one embodiment, thefeedback receiving UI 500 may include afeature defining tool 506 as illustrated inFIG. 5 . In one embodiment, thefeature defining tool 506 may provide a pixel selection or annotation function which may be implemented, for example, by acursor control device 508. In response to the user interacting with thefeature defining tool 506 to select a portion of theretail product image 504, thefeedback program product feature 510. - According to one embodiment, the
feedback receiving UI 500 may include a user image upload tool 512 as illustrated inFIG. 5 . In various embodiments, after registering the user-definedproduct feature 510, thefeedback program product feature 510 using the user device. In one embodiment, the user device may transmit one ormore images 514 of the user-definedproduct feature 510 to thefeedback program feedback program images 514 to generate a user image-based product representation (e.g., 2-D or 3-D pictorial model) of the user-definedproduct feature 510, as described previously with reference toFIGS. 2 and 3 . - According to one embodiment, the
feedback receiving UI 500 may include a naturallanguage input tool 516 as illustrated inFIG. 5 . In one embodiment, the naturallanguage input tool 516 may generate atext input field 518 to prompt the user to enter text feedback using the user device. In response, the user may enter atextual statement 520 corresponding the user opinion associated withproduct 502 and/or the user-definedproduct feature 510. As described previously with reference toFIGS. 2 and 3 , thefeedback program textual statement 520 to theproduct 502 and/or the user-definedproduct feature 510 and determine the sentiment of the user corresponding to theproduct 502 and/or the user-definedproduct feature 510. - Referring now to
FIG. 6 , an exemplary block diagram illustrating afeedback displaying UI 600 implemented by thefeedback program - According to one embodiment, the
feedback program feedback displaying UI 600 to the user device to enable the user to interact with a visual product assessment of one or more products. For example, thefeedback program product 502 for which the user would like to view feedback. In one embodiment, thefeedback program feedback displaying UI 600. According to one embodiment, thefeedback program retail product image 504 in one or more locations proximate corresponding user-defined product features 604 a-604 c. - According to one embodiment, the
feedback displaying UI 600 may include animage manipulation tool 606 as illustrated inFIG. 6 . In one embodiment, thefeedback program image manipulation tool 606 to enable the user to interact directly with the pictorial representation (e.g., retail product image 504) of theproduct 502. In the example illustrated inFIG. 6 , theimage manipulation tool 606 may provide zoom control. The user may interact with theimage manipulation tool 606 and zoom in on a portion of theretail product image 504. In response, thefeedback displaying UI 600 may magnify the portion of theretail product image 504 pinpointed by theimage manipulation tool 606 and dynamically display therating visualization 602 c associated with the corresponding user-definedproduct feature 604 c. In one embodiment, thefeedback displaying UI 600 may also display aproduct representation 608 of the user-definedproduct feature 604 c generated based on receiving one or more images of the user-definedproduct feature 604 c from other users, as described inFIG. 5 . - Referring now to
FIG. 7 , an exemplary block diagram illustrating a historicalfeedback tracking UI 700 implemented by thefeedback program - According to one embodiment, the
feedback program feedback timeline 702 including a first date 704 (e.g., T-2) corresponding to the oldest feedback, asecond date 706 corresponding to the newest feedback (e.g., T), and athird date 708 corresponding to an intermediate feedback (e.g., T-1). - According to one embodiment, the historical
feedback tracking UI 700 may provide a user image-based 3-D pictorial model 710 of a product feature as shown inFIG. 7 . Thefeedback program - According to one embodiment, the user image-based 3-D pictorial model 710 may include a
first state 712 for visualizing the user image-based 3-D pictorial model 710 based on the oldest (e.g., earliest) image received from the user. It is contemplated that the first state may represent the product at a point in time closest to a purchase date (e.g., when it was relatively new). In one embodiment, the user image-based 3-D pictorial model 710 may include asecond state 714 for visualizing the user image-based 3-D pictorial model 710 based on the newest (e.g., most recent or current) image received from the user. It is contemplated that the second state may represent the product at a point in time farthest from time purchase date. In one embodiment, the user image-based 3-D pictorial model 710 may include athird state 716 for visualizing the user image-based 3-D pictorial model 710 based on an intermediate (e.g., between the earliest and the most recent or current) image received from the user. - According to one embodiment, the
feedback program feedback timeline 702, as described previously with reference toFIG. 4 . According to one embodiment, thefeedback program version history 718 associated with the user image-based 3-D pictorial model 710. In the example illustrated inFIG. 7 , the user may selectversion 1 from theversion history 718. Then, in response to the user interacting with the feedback timeline 702 (e.g., using a selectable sliding tool 720) and selecting thefirst date 704 on thefeedback timeline 702, thefeedback program first state 712 of the user image-based 3-D pictorial model 710. Then, in response to the user moving theselectable sliding tool 720 to select thethird date 706 on thefeedback timeline 702, thefeedback program selectable sliding tool 720 to select thesecond date 708 on thefeedback timeline 702, thefeedback program - Accordingly, the historical
feedback tracking UI 700 may enable the user to see how a specific version of a product feature (e.g., a drill head inFIG. 7 ) may decayed over a time period using crowdsourced information (e.g., image data) from users. - The functionality of a computer may be improved by the
feedback program feedback program feedback program feedback program feedback program feedback program - It may be appreciated that
FIGS. 2 to 7 provide only an illustration of one embodiment and do not imply any limitations with regard to how different embodiments may be implemented. Many modifications to the depicted embodiment(s) may be made based on design and implementation requirements. -
FIG. 8 is a block diagram 900 of internal and external components of computers depicted inFIG. 1 in accordance with an illustrative embodiment of the present invention. It should be appreciated thatFIG. 8 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements. - Data processing system 902, 904 is representative of any electronic device capable of executing machine-readable program instructions. Data processing system 902, 904 may be representative of a smart phone, a computer system, PDA, or other electronic devices. Examples of computing systems, environments, and/or configurations that may represented by data processing system 902, 904 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputer systems, and distributed cloud computing environments that include any of the above systems or devices.
-
User client computer 102 andnetwork server 112 may include respective sets ofinternal components 902 a, b andexternal components 904 a, b illustrated inFIG. 8 . Each of the sets ofinternal components 902 a, b includes one ormore processors 906, one or more computer-readable RAMs 908 and one or more computer-readable ROMs 910 on one ormore buses 912, and one ormore operating systems 914 and one or more computer-readabletangible storage devices 916. The one ormore operating systems 914, thesoftware program 108, and thefeedback program 110 a inclient computer 102, and thefeedback program 110 b innetwork server 112, may be stored on one or more computer-readabletangible storage devices 916 for execution by one ormore processors 906 via one or more RAMs 908 (which typically include cache memory). In the embodiment illustrated inFIG. 8 , each of the computer-readabletangible storage devices 916 is a magnetic disk storage device of an internal hard drive. Alternatively, each of the computer-readabletangible storage devices 916 is a semiconductor storage device such asROM 910, EPROM, flash memory or any other computer-readable tangible storage device that can store a computer program and digital information. - Each set of
internal components 902 a, b also includes a R/W drive orinterface 918 to read from and write to one or more portable computer-readabletangible storage devices 920 such as a CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk or semiconductor storage device. A software program, such as thesoftware program 108 and thefeedback program tangible storage devices 920, read via the respective R/W drive orinterface 918 and loaded into the respectivehard drive 916. - Each set of
internal components 902 a, b may also include network adapters (or switch port cards) orinterfaces 922 such as a TCP/IP adapter cards, wireless wi-fi interface cards, or 3G or 4G wireless interface cards or other wired or wireless communication links. Thesoftware program 108 and thefeedback program 110 a inclient computer 102 and thefeedback program 110 b innetwork server computer 112 can be downloaded from an external computer (e.g., server) via a network (for example, the Internet, a local area network or other, wide area network) and respective network adapters or interfaces 922. From the network adapters (or switch port adaptors) or interfaces 922, thesoftware program 108 and thefeedback program 110 a inclient computer 102 and thefeedback program 110 b innetwork server computer 112 are loaded into the respectivehard drive 916. The network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. - Each of the sets of
external components 904 a, b can include acomputer display monitor 924, akeyboard 926, and acomputer mouse 928.External components 904 a, b can also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices. Each of the sets ofinternal components 902 a, b also includesdevice drivers 930 to interface tocomputer display monitor 924,keyboard 926 andcomputer mouse 928. Thedevice drivers 930, R/W drive orinterface 918 and network adapter orinterface 922 comprise hardware and software (stored instorage device 916 and/or ROM 910). - It is understood in advance that although this disclosure includes a detailed description on cloud computing, implementation of the teachings recited herein are not limited to a cloud computing environment. Rather, embodiments of the present invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed.
- Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
- Characteristics are as follows:
- On-demand self-service: a cloud consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with the service's provider.
- Broad network access: capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
- Resource pooling: the provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to demand. There is a sense of location independence in that the consumer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).
- Rapid elasticity: capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.
- Measured service: cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
- Service Models are as follows:
- Software as a Service (SaaS): the capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
- Platform as a Service (PaaS): the capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
- Infrastructure as a Service (IaaS): the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
- Deployment Models are as follows:
- Private cloud: the cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on-premises or off-premises.
- Community cloud: the cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on-premises or off-premises.
- Public cloud: the cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
- Hybrid cloud: the cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).
- A cloud computing environment is service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure comprising a network of interconnected nodes.
- Referring now to
FIG. 9 , illustrativecloud computing environment 1000 is depicted. As shown,cloud computing environment 1000 comprises one or morecloud computing nodes 100 with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) orcellular telephone 1000A,desktop computer 1000B,laptop computer 1000C, and/orautomobile computer system 1000N may communicate.Nodes 100 may communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allowscloud computing environment 1000 to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types ofcomputing devices 1000A-N shown inFIG. 9 are intended to be illustrative only and thatcomputing nodes 100 andcloud computing environment 1000 can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser). - Referring now to
FIG. 10 , a set offunctional abstraction layers 1100 provided bycloud computing environment 1000 is shown. It should be understood in advance that the components, layers, and functions shown inFIG. 10 are intended to be illustrative only and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided: - Hardware and
software layer 1102 includes hardware and software components. Examples of hardware components include:mainframes 1104; RISC (Reduced Instruction Set Computer) architecture basedservers 1106;servers 1108;blade servers 1110;storage devices 1112; and networks andnetworking components 1114. In some embodiments, software components include networkapplication server software 1116 anddatabase software 1118. -
Virtualization layer 1120 provides an abstraction layer from which the following examples of virtual entities may be provided:virtual servers 1122;virtual storage 1124;virtual networks 1126, including virtual private networks; virtual applications andoperating systems 1128; andvirtual clients 1130. - In one example,
management layer 1132 may provide the functions described below.Resource provisioning 1134 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering andPricing 1136 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may comprise application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources.User portal 1138 provides access to the cloud computing environment for consumers and system administrators.Service level management 1140 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning andfulfillment 1142 provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA. -
Workloads layer 1144 provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping andnavigation 1146; software development andlifecycle management 1148; virtualclassroom education delivery 1150; data analytics processing 1152;transaction processing 1154; andfeedback visualization 1156. Afeedback program - The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/030,837 US11295355B1 (en) | 2020-09-24 | 2020-09-24 | User feedback visualization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/030,837 US11295355B1 (en) | 2020-09-24 | 2020-09-24 | User feedback visualization |
Publications (2)
Publication Number | Publication Date |
---|---|
US20220092652A1 true US20220092652A1 (en) | 2022-03-24 |
US11295355B1 US11295355B1 (en) | 2022-04-05 |
Family
ID=80740641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/030,837 Active US11295355B1 (en) | 2020-09-24 | 2020-09-24 | User feedback visualization |
Country Status (1)
Country | Link |
---|---|
US (1) | US11295355B1 (en) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080215571A1 (en) | 2007-03-01 | 2008-09-04 | Microsoft Corporation | Product review search |
US9336528B2 (en) | 2008-12-16 | 2016-05-10 | Jeffrey Beaton | System and method for overlay advertising and purchasing utilizing on-line video or streaming media |
WO2012061748A1 (en) * | 2010-11-05 | 2012-05-10 | Bazaarvoice | Method and system for distribution of content |
US8818788B1 (en) | 2012-02-01 | 2014-08-26 | Bazaarvoice, Inc. | System, method and computer program product for identifying words within collection of text applicable to specific sentiment |
US9105036B2 (en) | 2012-09-11 | 2015-08-11 | International Business Machines Corporation | Visualization of user sentiment for product features |
US20140278786A1 (en) | 2013-03-14 | 2014-09-18 | Twain Liu-Qiu-Yan | System and method to survey and evaluate items according to people's perceptions and to generate recommendations based on people's perceptions |
US9965474B2 (en) | 2014-10-02 | 2018-05-08 | Google Llc | Dynamic summary generator |
US20190019094A1 (en) | 2014-11-07 | 2019-01-17 | Google Inc. | Determining suitability for presentation as a testimonial about an entity |
KR102393154B1 (en) * | 2015-01-02 | 2022-04-29 | 에스케이플래닛 주식회사 | Contents recommending service system, and apparatus and control method applied to the same |
US10664893B2 (en) * | 2016-03-02 | 2020-05-26 | Social Data Sciences, Inc. | System to customize recommendations by soliciting and analyzing suggestions and evaluations tailored to a particular subject |
US20180082331A1 (en) * | 2016-09-22 | 2018-03-22 | Facebook, Inc. | Predicting a user quality rating for a content item eligible to be presented to a viewing user of an online system |
CN107527231A (en) | 2017-07-27 | 2017-12-29 | 温州市鹿城区中津先进科技研究院 | Electric business customer satisfaction evaluation method based on natural language analysis |
US20200226651A1 (en) * | 2019-01-11 | 2020-07-16 | Pixlee, Inc. | Methods and systems for product discovery in user generated content |
US11176191B2 (en) * | 2019-01-22 | 2021-11-16 | Amazon Technologies, Inc. | Search result image selection techniques |
-
2020
- 2020-09-24 US US17/030,837 patent/US11295355B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11295355B1 (en) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10593118B2 (en) | Learning opportunity based display generation and presentation | |
US10572501B2 (en) | Steering graph mining algorithms applied to complex networks | |
US11080655B2 (en) | Machine learning technical support selection | |
US11455337B2 (en) | Preventing biased queries by using a dictionary of cause and effect terms | |
US11200045B1 (en) | Digital twin enabled asset performance and upgrade management | |
US11163958B2 (en) | Detecting and highlighting insightful comments in a thread of content | |
US11514507B2 (en) | Virtual image prediction and generation | |
US10366061B2 (en) | Interactive visualization | |
US20190304036A1 (en) | Determining an effect of a message on a personal brand based on future goals | |
US10825254B1 (en) | Augmented reality book selection-assist | |
US11481211B1 (en) | Dynamically creating source code comments | |
US11295355B1 (en) | User feedback visualization | |
US11675828B2 (en) | Visual representation coherence preservation | |
US11734586B2 (en) | Detecting and improving content relevancy in large content management systems | |
US10521751B2 (en) | Using customer profiling and analytics to understand, rank, score, and visualize best practices | |
US10387553B2 (en) | Determining and assisting with document or design code completeness | |
US11556181B2 (en) | Autogenerating stories and explorations from business analytics applications | |
US11409951B1 (en) | Facilitating annotation of document elements | |
US20230281386A1 (en) | Guiding and validating document submissions | |
US11681879B2 (en) | Masking personal traits in anonymous feedback | |
US11388219B2 (en) | Interactive data transfer | |
US11823078B2 (en) | Connected insights in a business intelligence application | |
US10956390B2 (en) | Interactive visualization | |
US11189063B2 (en) | Commenting in 360 degree view image | |
US20230412654A1 (en) | Coordinating knowledge from visual collaboration elements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LU, CINDY HAN;TRAN, THAI QUOC;SINGH, ANIMESH;AND OTHERS;SIGNING DATES FROM 20200922 TO 20200923;REEL/FRAME:053872/0102 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT, MARYLAND Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:THE WEATHER COMPANY, LLC;REEL/FRAME:066404/0122 Effective date: 20240131 |
|
AS | Assignment |
Owner name: ZEPHYR BUYER L.P., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IBM RESEARCH AND INTELLECTUAL PROPERTY;REEL/FRAME:066795/0858 Effective date: 20240208 Owner name: THE WEATHER COMPANY, LLC, GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZEPHYR BUYER L.P.;REEL/FRAME:066796/0188 Effective date: 20240305 |
|
AS | Assignment |
Owner name: THE WEATHER COMPANY, LLC, GEORGIA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED AT REEL: 66796 FRAME: 188. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:ZEPHYR BUYER, L.P.;REEL/FRAME:067188/0894 Effective date: 20240305 Owner name: ZEPHYR BUYER, L.P., CALIFORNIA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY FROM IBM RESEARCH AND INTELLECTUAL PROPERTY TO INTERNATIONAL BUSINESS MACHINED CORPORATION AND TO CORRECT THE RECEIVING PARTY FROM ZEPHYR BUYER L.P. TO ZEPHYR BUYER, L.P. PREVIOUSLY RECORDED AT REEL: 66795 FRAME: 858. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:066838/0157 Effective date: 20240208 |