1. Field of the Present Invention
The present invention is in the field of data processing and, more particularly, analyzing business communications or conversations to discover useful characteristics of those conversations.
2. History of Related Art
The concept of multiple agents (whether human agents or machine agents) interacting by delivering messages to each other is described in U.S. patent application entitled Apparatus and Method for Providing Modular Conversation Policies for Agents, Publication No. US 2003/0204405 A1 (referred to hereinafter as the Conversation Policy Application). A set of messages having one or more common characteristics or objectives is referred to herein as a conversation. In the context of business applications, many types of conversations may be described or characterized by a conversation policy as discussed in the Conversation Policy Application.
A conversation policy recognizes common characteristics of specific types of conversations. In a generic buyer/seller conversation, for example, a conversation policy might identify certain message types (A makes offers to B, B counters to A, et cetera.) and certain states (offer pending, offer accepted, conversation terminated) that define the corresponding conversation type. A conversation policy thus provides a framework for characterizing the structure of the corresponding conversation type.
Conversation policies are useful to facilitate analysis of a conversation and, more specifically, characteristics of the conversation that influence one or more outcomes of the conversation. In a business setting, an example of a conversation outcome is whether the conversation resulted in a sale. Developing a conversation policy is a useful step in an effort to provide a method and system for analyzing conversations. However, it is still necessary to develop a method for applying a conversation policy to a particular conversation. While a set of conversations may share certain identifiable characteristics, individual instances of conversations frequently do not conform to a specific structure in terms of duration, sequence, content, et cetera. Imagine an example where a buyer (A) is shopping for a new car and engages in a series of conversations with a seller (B). While the conversations are also likely to have common elements (offers, counter offers, and so forth), each specific conversation between A and B is unique. One conversation might, for example, quickly transition to a discussion of the terms of a possible agreement (sale) while another conversation might include a great deal of preliminary discussion such as discussion about the features of the car in question. This uniqueness makes it difficult to apply a conversation policy to any particular instance of a conversation.
It would be desirable to implement a method and system that facilitated the application of conversation policies to actual conversations. It would be further desirable to implement a method and system for using conversation policies to extract useful information from a set of conversation instances such as information indicative of parameters that affect the outcome(s) of a conversation.
The identified objectives are addressed by a method for discovering relationships among elements of a transactional conversation. The method includes tagging a transcription of a conversation to identify elements of the conversation and structuring the tagged conversation according to a specified format to produce a structured, tagged representation of the conversation. A set of structured, tagged conversation representations is then analyzed to discover a relationship between a first conversation element and a second conversation element. Tagging the conversation may include evaluating a sentence or other portion of the conversation and assigning a message type to it. Tagging may also include assigning a data value to an attribute associated with the message type. The message type may be defined by a conversation policy, wherein the conversation policy identifies conversation elements including conversation states and message types that transition the conversation among the conversation states. The conversation states include an offer pending state, an offer accept state, and an offer declined state. Structuring the tagged conversation may include incorporating sequence information in the tagged, structured conversation representation, where the sequence information permits reconstruction of a chronological order of the conversation. Structuring the tagged conversation may include converting a tagged conversation into a standardized set of conversation elements suitable for storage in a flat file database. Structuring the tagged conversation may include extracting a first element directly from the tagged conversation and deriving a second element from the tagged conversation. Analyzing the set of structured, tagged conversations may include determining an element associated with conversations determined to be successful. The conversation elements determined to be most associated with successful conversations may be displayed, for example, as a state diagram indicative of the elements or structure of a successful conversation.
Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description presented herein are not intended to limit the invention to the particular embodiment disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
The preferred embodiment encompasses a system and method capable of analyzing transactional conversations to distinguish “good” or “successful” conversations from others conversations. The preferred embodiment achieves this objective by discovering relationships among conversation elements. Conversation elements include the various conversation states that a conversation may achieve and message types that cause conversation state transitions.
The system and method may, for example, determine conversation element(s) having the most significant bearing on the ultimate outcome of the conversation. The preferred embodiment achieves this functionality by tagging and structuring a transcription of a conversation according to a conversation policy. The conversation policy describes the conversation elements applicable to a particular conversation type. The interesting elements of a conversation between a buyer and seller of a good, for instance, might be documented in a conversation policy.
Conversation tagging identifies elements of a conversation instance using a vocabulary defined by the conversation policy. Structuring of tagged conversations refers to using the tags and the conversation policy to extract a common set of conversation elements from each instance of a conversation. Analysis of the structured conversation set identifies factors that influence the outcome of the conversation. The system then displays the results of this analysis to a user.
Referring now to
Within this broad class of conversations, it is highly desirable to understand relationships and correlations among the conversation elements. In particular, understanding the elements that most directly influence the outcome of the conversation can provide valuable information for training and other purposes. Unfortunately, conversations are unlikely to originate in a structured format suitable for analysis by conventional analysis tools and this is especially true for conversations among human agents. The conversation polices provided by the Conversation Policy Application provide a starting point for the process of extracting useful information from a set of unstructured conversations. The preferred embodiment provides a system and method for applying the structure inherent in a conversation policy to actual conversations to discover causal relationships among conversation elements.
Transactional conversation policy 100 as depicted in
The depicted embodiment of conversation policy 100 includes conversation states such as an introductory state 102, a negotiation state 104, an informational discussion state 106, a term discussion state 108, an offer pending state 110, a decline/terminate state 112, and an offer accepted state 113. Messages represented by reference numerals 114 through 158 are exchanged between conversation agents A and B. Messages 114 through 158 may cause transitions from one of the conversation states to another. Moreover, each message may include data values (not shown) corresponding to attributes of the message. For example, a message from Agent A to Agent B offering to buy an item may include a price (data value) corresponding to a price attribute and may also include one or more terms attributes and corresponding values.
The introductory state 102 represents a conversation state in which Agent A and Agent B are exchanging introductory messages. An introductory message is a message that does not include or pertain to specific terms of a proposed transaction. For example, a conversation may initially transition to introductory state 102 when Agent A (who is the buyer in this illustration) introduces himself to Agent B (the seller) in message 111. The conversation may then remain in introductory state 102 while Agent A and Agent B exchange introductory messages (represented by reference numerals 114 and 116). Identifying introductory messages in a conversation and distinguishing such messages from other messages is achieved using natural language processing tools as discussed below with respect to
While the introductory state 102 and the corresponding messages 114 and 116 may not appear to be directly relevant to the ultimate outcome of the transactional conversation, they may be included as elements in conversation policy to determine whether the number and/or content of these introductory messages does in fact have a bearing on the outcome.
The representation of conversation policy 100 as a state diagram provides insight into the structure of those conversations to which conversation policy 100 applies, but the state diagram view is not ideal for conveying the chronologically sequential order of a particular instance of a conversation. Thus, with reference to introductory state 102, for example, the agents may exchange any number of introductory messages before transitioning to another state of the conversation. To capture this chronology, sequence information may be included as part of a structured representation (described below) of a particular instance of a conversation. This sequence information would preferably permit the reconstruction of the chronological order of a conversation from the structured representation.
According to the conversation policy 100 depicted in
Once in the negotiation state 102, a conversation may transition to an information discussion state 106 or a terms discussion state 108. A conversation transitions to information discussion state 106 when B sends an informational statement (message 124) or A asks an informational question (message 123). Informational state 106 reflects the quantity and content of messages exchanged between the agents regarding factors or characteristics of a proposed transaction that are not directly about the terms of the transaction. Informational discussion 106 may include, for example, discussions about features of a product for sale and especially features that may be standard or otherwise non-negotiable. Agent B may, in an attempt to persuade Agent A of the value of a particular item, discuss the features or characteristics of the item that are included in an item. The discussion policy 100 recognizes that the conversation may transition between negotiation state 104 and information discussion state 106 indefinitely as the agents exchange informational queries and responses. Conversation policy 100 also recognizes that a conversation may transition from information discussion state 106 back to introductory state 102 (in which the agents are not discussing an item or good at all) such as might occur when either or both of the agents suspect an impasse in the discussions.
Conversation policy 100 indicates a terms discussion state 108 to which a conversation may transition directly from negotiation state 104 or from informational state 106. Terms discussion state 108 reflects the messages exchanged between the agents regarding the precise terms of a proposed deal, transaction, or agreement.
A transition from negotiation state 104 occurs when either agent issues a term-probing message, exemplified in
From terms discussion state 108, conversation policy 100 includes paths to an offer pending state 110 through a message 144 in which A makes an offer on stated terms (price, quantity, time terms, et cetera) or a message 142 in which B offers to sell an article on stated terms. The offer messages, as represented in conversation policy 100, are messages that include data values corresponding to attributes of the message. As an example, messages 142 and 144 include a data value corresponding to a price attribute of the message.
Various transitions from offer pending state 110 are indicated by a message 150, in which the offer is declined and the negotiation terminated (state 112), a message 154, in which a pending offer is accepted (state 113), and a message 156, in which the conversation reverts back to informational discussion state 106. Message 152, in which a counter offer is made, results in a return to offer pending state 110. A transition directly from terms discussion state 108 to decline and terminate state 112 via message 140 represents a conversation in which the conversation terminates before a firm offer is made or received by either party.
Thus, conversation policy 100 provides a structured representation of a corresponding type of conversation. Any instance of a conversation itself may manifest itself with any or all of the messages and state transitions indicated by the conversation policy. In this manner, the conversation policy 100 extracts a formalized set of states, messages, and message data values from various conversations.
Referring now to
Processors 502 share access to a system memory 510 that is connected to system bus 504 through an intervening host bridge 506. Host bridge 506 also connects system bus 504 to an I/O bus (also referred to as a peripheral bus) 512. Whereas system bus 504 is likely implemented according to a proprietary protocol, I/O bus 512 is preferably implemented with an industry standard protocol such as the PCI (Peripheral Components Interface) or the PCI-X protocols. I/O adapters 522 and 524 connect to I/O bus 512 and provide an interface between peripheral devices (not shown) and processors 502. I/O adapters 522 and 524 may include one or more of the following types of adapters: hard disk controllers, graphics adapters, network interface adapters, audio adapters, and so forth.
Referring now to
In the depicted implementation, the method and system 200 includes four stages of processing required to extract useful information from one or more conversations. The depicted implementation begins with a conversation 202. In the preferred embodiment, conversation 202 refers to an electronic representation of an interaction dialog between or among two or more agents. The manner in which a conversation is represented electronically is implementation specific. Some conversations, such as email or other computer-based conversations, originate in an electronic form that is suitable for processing, with little or no modification, by method and system 200. Oral conversations may be transformed to an electronic representation through automated or manual transcription tools and techniques. An example of an automated transcription tool suitable for such a purpose is the Transcription Portlet from IBM Corporation that facilitates the transcription of telephony-based communication.
Initially, system 200 applies a tagging module 204 to transcribed conversation 202 to assign tags to all or parts of conversation 202. In one implementation, the tags applied by tagging module 204 identify elements of conversation 202 that are defined by a conversation policy 100 (see
Tagging module 204 achieves the described functionality using existing natural language processing (NLP) tools, text mining tools, semantic analysis tools, and other related technologies. Included in these NLP tools are conversational dialog systems and text analyzers from IBM Corporation. Conversation dialog systems create universal and application specific dialog engines for managing conversation histories and parsing information from conversation dialogs. Such systems are capable of facilitating analysis of a wide variety of business conversations from stock trading to product information systems. Tagging module 204 may include a text analyzer including features or components found in the IBM Text Analyzer Business Component of the IBM WebSphere product.
Referring to
Tagging module 204 receives conversation 202 and provides conversation 202 to text categorization engine 602. Categorization engine 602 analyzes conversation 202 using a set of user-defined rules (not shown) to tag sentences or portions of conversation 202 according to the messages included in conversation policy 100. Training unit 604 and administrative toolbox 608 assist the user in developing, editing, and testing the rule set used by categorization engine 602. Software code suitable for implementing an embodiment of text analyzer 600 is available from IBM Corporation.
Tagging module 204 applies the text analysis functionality to the conversational analysis of the preferred embodiment by implementing text analyzer 600 in conjunction with a specific conversation policy 100. More specifically, tagging module 204 leverages conversation policy 100 to refine the analysis of the grammatical and syntactical structure of conversation 202. By associating the training unit 604 of text analyzer 600 with a specific conversation policy 100, the rule set used by categorization engine 602 is customized to analyze the conversations of interest. Sentences and other conversation portions are analyzed by tagging module 204 in the context of a predetermined and finite set of message types (taken from the conversation policy). In this manner, tagging module 204 extends the conventional functionality of text analysis tools to assign tags that are relevant and specific to conversation policy 100.
The output of tagging module 204 is a tagged conversation 206. A conceptual representation of a portion of an exemplary tagged conversation 206 is depicted in
Tagging module 204 thus assigns message tag values to sentences or other portions of a conversation 202. In addition, tagging module 204 assigns conversation state tags 102-113 to portions of conversation 202. The conversation states identified by tagging module 204 correspond to conversation states defined in conversation policy 100.
In addition to message and conversation states, tagged conversation 206 as shown in
Returning to
In the preferred embodiment, the preprocessing module 208 generates a structured conversation 210 corresponding to each tagged conversation 206. Each structured conversation 210 includes a common set of conversation elements (messages, conversation states, data values, et cetera). Each structured conversation 210 is suitable for storing as a record in a “flat file” database such as the flat file database 300 depicted in
In the implementation depicted by database 300, structured conversations 210 generated by preprocessing module 208 have at least some columns that correspond to conversation elements such as messages, conversation states, and data values defined by conversation policy 100. Each structured conversation 210 represented in
Preprocessing module 208 may generate structured conversations indicative of the absence or presence of every conversation element in conversation policy 100. Alternatively, preprocessing module 208 may generate structured conversations 210 that included indications of only selected conversation elements. Moreover, although the depicted implementation of structured conversations 210 merely indicates the absence or presence of the corresponding conversation elements, other implementations of structured conversations 210 may also include the content of any conversation element 301-310 that is present.
Structured conversations 210 generated by preprocessing module 208 may also include information indicative of the sequential or chronological ordering of conversation elements. In the implementation depicted in
The depicted implementation of structured conversations 210 of
As is apparent from the structure of database 300, each structured conversation 210 includes a common number of elements, which an analysis module may compare, sort, or otherwise manipulate. Reduction of unstructured tagged conversations 206 to a defined, structured format is the function of preprocessing module 208 that enables a subsequent analysis engine to operate on a set or plurality of conversations.
The number and type of elements that processing module 208 may generate is limited only by storage and processing constraints. Moreover, conversation policy 100 can vary from a highly complex representation of the underlying conversation to a generic representation of only the most significant features of the conversation. Ultimately, however, each structured conversation 210 produced by preprocessing module 208 includes a common set of elements regardless of the size and structure of the underlying conversation. In this manner, method and system 200 operates independently of the length and structure of the underlying conversation. System 200 is equally applicable to highly structured, fixed length conversations and variable-length conversations.
Returning to
An embodiment of system 200 may produce a graphical visualization of information contained in or derived from database 300 of structured conversations 210. Referring to
Having identified the conversation elements that correlate to achieving the accept state 113, a display module 230 (
In this manner, graphic 400 illustrates the conversation elements most frequently associated with successful conversations. Graphic 400 conveys the basic structure of successfully concluded conversations. In the specific example depicted, the user sees that a successful conversation typically requires or involves the seller actively “moving” the conversation from state 102 to 104 to 106, but then permitting the buyer A to transition the discussion from state 106 to the terms discussion state 108 and make the initial offer (message 144).
In the foregoing description, a significant aspect of the preferred embodiment is the leveraging of existing tools to perform some or all of the component steps of the analysis process while combining the tools, together with the conversation policy concept, to facilitate analysis of conversation instances. It will be apparent to those skilled in the art having the benefit of this disclosure that the preferred embodiment contemplates a system and method for analyzing conversations. It is understood that the form of the invention shown and described in the detailed description and the drawings are to be taken merely as presently preferred examples. It is intended that the following claims be interpreted broadly to embrace all the variations of the preferred embodiments disclosed.