Abstract:
The sentiment of a message may not be obtainable from the message itself. However, many messages have an associated context that provides information useful in determining the sentiment of a message. Messages may include links to other resources, such as graphics or videos, which in turn include titles, comments, viewer ratings or other attributes that may provide a sentiment of the message.

Description:
FIELD OF THE DISCLOSURE 
     The present disclosure is generally directed toward determining the sentiment of a message. In particular, identifying and utilizing the sentiment of a context associated with the message and, therefore, determine the sentiment of the message itself. 
     BACKGROUND 
     Automatic means to determine the sentiment of the content of a message provide a useful and efficient means for an enterprise, such as a contact center, to identify issues and direct resources to those issues accordingly. An explicit message text, (e.g., “The service on XYZ Airlines was terrible”) provides one means to determine the sentiment of a message. For example, messages that include the word, “terrible,” may be determined to be negative. Additional sentiment determination means is provided by U.S. patent application Ser. No. 13/594,283 filed on Aug. 24, 2012, entitled, “Real Time Statistics for Contact Center Mood Analysis Method and Apparatus.” 
     Messages are not always explicitly expressed in the text of the message. As a result, the sentiment of the message may not be determinable by the explicit content of the message. 
     SUMMARY 
     It is with respect to the above issues and other problems that the embodiments presented herein were contemplated. 
     Sentiment analysis is the application of text analytics, computational linguistics, and natural language processing to determine subjective information from a source communication. In general, the goal of sentiment analysis is to figure out the attitude of the person who created the communication and use that information to respond to the communication. 
     Part of basic sentiment analysis is determining the polarity of a communication, meaning it is positive, negative, or neutral. Another part of basic sentiment analysis is scoring concepts within the communication to understand the strength of the language used. Difficulties arise in identifying relevant communications, extracting particularly relevant aspects of the communications, and determining polarity. 
     In one embodiment, a model behavior or action-based attributes of communication to derive or adjust sentiment and actionable qualification values. In social media within a customer support settings, various actions can serve as proxies of negative sentiment. For example, heavily liked, shared, or retweeted items often convey negative sentiment. Similarly, uptake or response to a tweet from a company of interest may serve as evidence of negative polarity. Tweeting or posting of links to multimedia objects can be an implicit sentiment statement as well (e.g., a posting of a partially opened sardine can when discussing an airline flight). Automatic classification of customer language for likely action (likes, shares, retweets) by other customers or for response by the company (uptake) can thus determine customer sentiment. 
     The system may then utilize this additional sentiment information to indicate cases of focus for the contact center and provide trending velocity for a given communication. Rapidly increasing negative sentiment could be automatically detected here where the text analysis would only give the basic negative sentiment or may even indicate neutral sentiment. In the sardine can example from above, the text might be just a neutral, “Here&#39;s a picture from my last flight,” while the picture, properly analyzed (or via analysis of a caption, etc.) alludes to a cramped situation. 
     In one embodiment, a salesperson posts on their Facebook wall “busy day at work.” There are several likes and a comment that posts a link to an image of dollar signs. The image has the tag or file name “money.” The system would be able to detect this is a positive sentiment. If this poster was followed by a company, such as a luxury car manufacturer, then the car manufacturer may want to add this person to their next mailing. 
     In another embodiment, a customer posts on an airline&#39;s page “typical food on XYZ Airlines.” This statement does not indicate sentiment with the text alone. Several people may like this post, which is also inconclusive by itself. However, if the post also includes a link to a YouTube video with images of awful food. The actual words don&#39;t indicate the sentiment but the YouTube video and likes are indicators that this is a very negative communication. 
     In a further embodiment, the video itself may be determined to contain images of awful food—or at least content with a negative sentiment—based upon the title, comments provided by the poster of the video, viewer comments, and/or links to additional content. 
     The phrases “at least one,” “one or more,” and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C,” “at least one of A, B, or C,” “one or more of A, B, and C,” “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together. 
     The term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising,” “including,” and “having” can be used interchangeably. 
     The term “automatic” and variations thereof, as used herein, refers to any process or operation done without material human input when the process or operation is performed. However, a process or operation can be automatic, even though performance of the process or operation uses material or immaterial human input, if the input is received before performance of the process or operation. Human input is deemed to be material if such input influences how the process or operation will be performed. Human input that consents to the performance of the process or operation is not deemed to be “material.” 
     The term “computer-readable medium” as used herein refers to any tangible storage that participates in providing instructions to a processor for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, NVRAM, or magnetic or optical disks. Volatile media includes dynamic memory, such as main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state medium like a memory card, any other memory chip or cartridge, or any other medium from which a computer can read. When the computer-readable media is configured as a database, it is to be understood that the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the disclosure is considered to include a tangible storage medium and prior art-recognized equivalents and successor media, in which the software implementations of the present disclosure are stored. 
     The terms “determine,” “calculate,” and “compute,” and variations thereof, as used herein, are used interchangeably and include any type of methodology, process, mathematical operation or technique. 
     The term “module” as used herein refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element. Also, while the disclosure is described in terms of exemplary embodiments, it should be appreciated that other aspects of the disclosure can be separately claimed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present disclosure is described in conjunction with the appended figures: 
         FIG. 1  is a system diagram in accordance with embodiments of the present disclosure; 
         FIG. 2  is a block diagram in accordance with embodiments of the present disclosure; 
         FIG. 3  is a message, in the form of a post on a social media site, in accordance with embodiments of the present disclosure; 
         FIG. 4  is a web page illustrating context of a message in accordance with embodiments of the present disclosure; and 
         FIG. 5  is a flowchart in accordance with embodiments of the present disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     The ensuing description provides embodiments only, and is not intended to limit the scope, applicability, or configuration of the claims. Rather, the ensuing description will provide those skilled in the art with an enabling description for implementing the embodiments. It being understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the appended claims. 
       FIG. 1  is system diagram  100  in accordance with embodiments of the present disclosure. In one embodiment, system  100  includes processor  102 , storage  104 , and server  108 . Server  108  being accessible to processor  102  via network  106 . In another embodiment, storage  104  is omitted and data is provided via server  108 . In yet another embodiment, server  108  is omitted and storage is provided by storage  104 . Network  106  may be implemented as a public network (e.g., the Internet), private network, bus, inter/intra processor connection, or other means operable to facilitate data exchange between processor  102  and components, such as storage  104  and server  108 , to components having or receiving information. 
     In another embodiment, processor  102 , storage  104 , and contact center resource  112  are internal to a contact center, represented by line  110 . Contact center resource  112  is operable to address concerns, such as one or more messages with a certain, typically negative, sentiment. Line  110  may represent a physical and logical division between a contact center and external systems. In other embodiments, line  110  is organizational and contact center resource and/or storage  104  may utilize network  106  and/or other public or private networks. 
     In another embodiment, processor  102  selects a message. The message may be selected from a live stream, such as when server  108  is a user directly sending messages via network  106  to processor  102 , such as by email, SMS, or other messaging service. In other embodiments, server  108  is a social media website being monitored by processor  102  and/or other processors and/or processes. Social media websites include websites operable receive posts from users, Twitter, Facebook, YouTube, RSS feeds, and similar services where users can post media files, links, comments, and other information. 
     With processor  102  having a message, processor  102  may then select a context associated with the message. The context, as used herein, is variously embodied. In one embodiment, the context is embedded within the message, such as a media file, or other content. In another embodiment, the context is content associated with the message, such as by following a link (e.g., URL) to a website whereby the context may include comments from the poster of the media, title of the media, keywords, metatags, and viewer and/or user comments. In a further embodiment, the context may be implied based on certain actions of users. As one example, due to human nature, a positive comment, such as, “I like to fly on XYZ Airlines,” will likely not receive as many endorsements as the negative comment, “I hate to fly on XYZ Airlines.” 
     In yet a further embodiment, once a sentiment trend and/or severity has been determined, contact center may cause processor  102  to direct contact center  112  to address the issue. Contact center resource  112  may be an automated and/or human agent to and may further identify the root cause of the issue, explain extenuating circumstances, provide a remedy to dissatisfied customers, or otherwise assist a customer of the contact center (e.g., XYZ Airlines) in servicing its customers. 
       FIG. 2  is block diagram  200  in accordance with embodiments of the present disclosure. Diagram  200  is a conceptual illustration of one embodiment of message  202 . Message  202  includes attributes such as header, location (e.g., URL), date, and message content  204 . Message content  204  is the message itself (e.g., text) and any additionally supplied content from creator of message  202 , such as links and embedded files. Associated with the message content is message context  206 . Message context  206  may reside within message  202 , such as when message  202  includes embedded files. For example, a file embedded in message  202  may have the file name, “rotten_fish.jpg,” and, accordingly be associated with a negative sentiment. 
     In other embodiments, message context  206  is determined by tracing one or more links embedded in message  202  to a secondary source. The secondary source providing information such as uptakes, “likes,” “shares,” “re-tweets,” and other endorsements or actions intended to propagate and/or lend credibility to a position such as links and derivative content. 
     Message context  206  may or may not be visible to a user. Links, such as bitly.com, Facebook.com, LinkedIn.com, or other tracking service, may count hits or perform other operations to provide message context  206 , without being visible to the user. 
       FIG. 3  is message  300 , in the form of a post on a social media site, in accordance with embodiments of the present disclosure. In other embodiments, message  300  may be a “Tweet,” a comment, an email, a blog entry, an RSS entry, or other means of presenting and/or sending a message. 
     In one embodiment, message  300  includes text  302  and message content  304 . Text  302  may be sentiment indicative or sentiment neutral. Message content  304  is a link to a webpage (see,  FIG. 4 ). In another embodiment, message  300  includes indicator  306 . Indicator  306  provides an indication of how well endorsed the position of message  300  is to other viewers of message  300 . The specific threshold as to what is a strong indication and/or a weak indication is a matter of design choice and may further depend on the topic. For example, in one embodiment, message  300  was directed towards the subject of airline delays, a generally popular topic. If then indicator  306  had a low value over a certain amount of time, it may be concluded that the position of message  300  is not of interest to those viewing message  300 . Reason message  300  may indicate the position of message  300  is not widely shared, message  300  is off-topic, or other issue whereby viewers of message  300  are substantially ambivalent to making any endorsement of message  300 . 
     In other embodiment, indicator  306  may be a relatively high number over a relatively short period of time. Accordingly, such indicator  306  may be interpreted as being associated with message  300  of a particularly serious, well supported, widely experienced, or otherwise commonly endorsed viewpoint. 
       FIG. 4  is web page  400  illustrating context of a message in accordance with embodiments of the present disclosure. In one embodiment, web page  400  is accessible via a link, such as link  304  of message  300  and is operable to provide context, and therefore sentiment, for message  300 . 
     Web page  400  includes various features operable to provide context to message  300 . Web page  402  includes image  402 . Image analysis, including audio and video when image  402  is a multimedia object, may be employed to determine the context of the image itself. However, other aspects of web page  404  can be utilized to determine context via text analysis. 
     In one embodiment, context may be determined by one or more of image title  404 , image file name  406 , poster&#39;s comments  408 , viewer endorsements  410 , and comments  412 . In another embodiment, time provides a context whereby the number of comments  412  and/or endorsements  410  over a period of time provides a context of severity, agreeability, endorsement or other indicator of sympathy, agreement, support and the like by viewers of web page  400 . 
     Endorsement  410  indicates the number of times a viewer of web page  400  has expressed agreement, or disagreement, support or otherwise propagated the web page  400 , and with it, the sentiment expressed by web page  400 . 
     In the example illustrated in  FIG. 4 , web page  400  includes image  402  and user comments  408 . In the embodiment illustrated, sardine image  402  is and comment  408  are neutral or even positive (e.g., “delicious” may be deemed to have a positive sentiment). Message  300  included the subject “XYZ,” referring to the name of an airline. A contact center monitoring message  300  and utilizing web page  400  to determine the context of message  300  may understand that, in the domain of air travel, “sardine” is a word with negative sentiment. The word “delicious” may still have a positive sentiment. 
     Additional context may be provided by comments  412 . Comment  412 A includes a reference to “ABC,” referring to another airline. Accordingly, in the domain of air travel, the identification of another airline may be used to provide context or relevancy to a particular post. Comment  412  includes the word “worse” and therefore, comment  412 A may be viewed as having a negative context. Similarly, comment  412 B includes the word “hate,” also a word with a negative context. Comment  412 C, which may have been a comment posted solely in response to image  402 , similarly has a word with a negative context. 
     In another embodiment, the negative context and positive context may be scored, weighted, measured against time, or other algorithm to determine the overall sentiment of web page  400 . As a result, web page  400 , which is accessed by following link  304  in message  300  indicates that message  300  has a negative context. 
     In a further embodiment, message  300  alone or with additional messages, may be brought to the attention of a contact center resource for further analysis and/or response. 
       FIG. 5  is flowchart  500  in accordance with embodiments of the present disclosure. In one embodiment, step  502  selects a message. Step  502  may select a message stored in storage  104 , server  108  (e.g., a data storage, a web page, a social media website, email, SMS, etc.), or other source of message data. Step  504  selects a context for the message. The context may be embedded within the message, an identifier of other context information, or both. Any one message may have a plurality of context sources. A source of context may be nested. For example, a message may have a link, the link may have an image, the image may have a comment, the comment may have a link, and so on). 
     Step  506  determines the sentiment of the context. For example, processor  102  may be executing instructions whereby the relative weight of a set of context is utilized to determine an overall sentiment for the context. The specific algorithm for determining a sentiment from a plurality of context sentiments is a matter of design choice. 
     Step  508  then assigns the sentiment to the message. The assignment may be associated with a field of the message, an entry in a database, or similar means. Processing of flowchart  500  may stop here. Optionally, flowchart  500  may continue to step  510 . 
     Step  510  determines if further action is required. If no action is required, processing may terminate or continue with the selection of another message at step  502 . If step  510  determines additional action is required, processing may continue to step  512  whereby a resource of a contact center is notified. In one embodiment, a spike in the occurrence of a particular subject and negative (or positive) sentiment, may be brought to the attention of human and/or automated contact center resources. Contact center resource may pursue additional analysis, contact one or more posters for additional information and/or resolution, and/or contact a party of interest to alert them to the occurrence of an issue. 
     In another embodiment, storage  104  preserves the sentiments and/or messages for analysis at another time. 
     In the foregoing description, for the purposes of illustration, methods were described in a particular order. It should be appreciated that in alternate embodiments, the methods may be performed in a different order than that described. It should also be appreciated that the methods described above may be performed by hardware components or may be embodied in sequences of machine-executable instructions, which may be used to cause a machine, such as a general-purpose or special-purpose processor (GPU or CPU) or logic circuits programmed with the instructions to perform the methods (FPGA). These machine-executable instructions may be stored on one or more machine readable mediums, such as CD-ROMs or other type of optical disks, floppy diskettes, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, flash memory, or other types of machine-readable mediums suitable for storing electronic instructions. Alternatively, the methods may be performed by a combination of hardware and software. 
     Specific details were given in the description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. 
     Also, it is noted that the embodiments were described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function. 
     Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium such as storage medium. A processor(s) may perform the necessary tasks. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc. 
     While illustrative embodiments of the disclosure have been described in detail herein, it is to be understood that the inventive concepts may be otherwise variously embodied and employed, and that the appended claims are intended to be construed to include such variations, except as limited by the prior art.