Abstract:
Identification of an intent of a conversation can be useful for real-time or post-processing purposes. According to example embodiments, a method, and corresponding apparatus of identifying at least one intent-bearing utterance in a conversation, comprises determining at least one feature for each utterance among a subset of utterances of the conversation; classifying each utterance among the subset of utterances, using a classifier, as an intent classification or a non-intent classification based at least in part on a subset of the at least one determined feature; and selecting at least one utterance, with intent classification, as an intent-bearing utterance based at least in part on classification results by the classifier. Through identification of an intent bearing utterance, a call center for example, can provide improved service for callers through, for example, more effective directing of a call to a live agent.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    Call centers receive huge numbers of calls on daily basis. Many of the received calls are recorded or transcribed into textual documents. The content of the received calls is of great value to companies and entities associated with the call centers. As such, processing the recorded or transcribed calls is of interest to such entities. 
       SUMMARY OF THE INVENTION 
       [0002]    According to an example embodiment, a method and corresponding apparatus of identifying at least one intent-bearing utterance in a conversation, includes determining at least one feature for each utterance among a subset of utterances of the conversation; classifying each utterance among the subset of utterances, using a classifier, as an intent classification or a non-intent classification based at least in part on a subset of the at least one determined feature; and selecting at least one utterance, with intent classification, as an intent-bearing utterance based at least in part on classification results by the classifier. 
         [0003]    According to another example embodiment, the method and the corresponding apparatus further comprise assigning a score for said each utterance of the subset of utterances based at least in part on the determined feature(s). The score may be a statistical measure of how likely a particular utterance is intent-bearing or non-intent bearing. 
         [0004]    According to yet another example embodiment, the method and corresponding apparatus further comprise generating a plurality of state sequences, each state sequence describing a sequence of classifications associated with the subset of utterances. The generated plurality of state sequences represent, for example, the most likely possible classification sequences of the subset of utterances. According to at least one aspect, the plurality of state sequences is generated based on maximization of cumulative scores assigned to utterances with corresponding classifications. 
         [0005]    The selection of utterances as intent-bearing utterances may be performed based on the scores assigned to utterances, generated state sequences, or a combination thereof. For example, utterances with a highest intent classification occurrence, among generated state sequences with highest cumulative scores, may be selected. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]    The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention. 
           [0007]      FIG. 1  is an environment in which example embodiments may be implemented. 
           [0008]      FIG. 2  is a representation of an example conversation between two parties that may be processed by an embodiment of the invention. 
           [0009]      FIGS. 3A-3C  are flow charts illustrating methods according to example embodiments of the present invention. 
           [0010]      FIG. 4  is a table illustrating an example approach of selecting at least one utterance as an intent-bearing utterance. 
           [0011]      FIG. 5  is a table illustrating example simulation results. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0012]    A description of example embodiments of the invention follows. 
         [0013]    In call centers, a large number of conversations with customers are processed on a daily basis. Processing such conversations includes, for example, forwarding a call based on a first conversation with an automatic operator, classifying conversations, archiving conversations, generating statistical data describing common problems callers are calling about, or the like. The subject or the intent of conversations is usually used in processing the conversations. With regard to customer service calls, for example, identifying the intent of a call facilitates forwarding, classifying, or archiving the call. Given the typical large number of conversations handled by customer service centers, automating intent identification improves the speed of processing conversations. 
         [0014]    In general, identification of a caller&#39;s intent facilitates designing various customer relationship management (CRM) processes or applications. Identifying a caller&#39;s intent is an important step in determining customers&#39; concerns or complaints with regard to a respective service or product. Knowing a call&#39;s intent also facilitates improving customer satisfaction and enhances up-selling or cross-selling. For example, forwarding a customer&#39;s call to the appropriate agent in a reliable and fast manner makes it more likely for the customer to be served quickly and leads to efficient use of agents and other resources. Furthermore, determining the intents of customer calls enables classification of the calls and generation of statistical data. The statistical data generated is usually used to assess customer satisfaction and to identify strength or shortcomings associated with a service or product provided to customers. 
         [0015]    Identification of a call&#39;s intent may be achieved through different approaches. According to an example existing approach, a whole call is classified into one intent class among many intent classes using standard text classification. Such intent classes describe the different reasons for which a caller makes a call. According to another existing approach, each utterance of a caller is classified into one intent class among many intent classes describing the different reasons for which callers usually make calls. In yet another example existing approach, a summary or abstract is usually generated to summarize a caller-agent conversation. 
         [0016]    In the following, example embodiments for identifying an intent-bearing utterance, or segment, within a caller-agent conversation are presented. Embodiments of processing a call to identify one or more segments or utterances in the call that convey the intent of the caller, e.g., the reason why the caller initiated the call, are described. Given a call, a segment or utterance is identified as carrying the caller&#39;s intent. The identification of the intent-bearing utterance, or segment, is performed, for example, based on characteristics or features extracted from different utterances, or segments, of the call. 
         [0017]      FIG. 1  is an environment  100  in which example embodiments may be implemented. The environment  100  includes a user device  110  associated with a caller  118 . The user device  110  may be, for example, a phone, wireless phone, smart phone, tablet computer, wireless device, computer, or the like. The user device  110  is connected to a calling center  150  through a communications network  101 . Using the user device  110 , the caller is enabled to make a call to the calling center  150 . The example calling center  150  includes at least one agent  120 , referred to hereinafter as the agent  120 , and at least one server  130 , referred to hereinafter as the server  130 . The agent  120  is configured to respond to calls. According to at least one example embodiment, the agent  120  may be a human agent answering calls from callers. In at least one other example embodiment, the agent  120  is an automatic answering device or module, or interactive voice response (IVR) system. 
         [0018]    A record (not shown) of the conversation between the caller  118  and the agent  120  is then processed by a server  130  to identify at least one intent-bearing utterance, or segment, of the conversation. The conversation record may be, for example, a textual transcript of the conversation between the caller  118  and the agent  120 . Records of the conversation may be stored in a memory (not shown) accessible by the server  130 . 
         [0019]    The server  130  may include and intent-bearing utterance identification module  135  configured to identify the at least one intent-bearing utterance. The intent-bearing utterance identification module  135  may be implemented, for example, as computer code instructions that are executed by a processor (not shown) of the server  130 . 
         [0020]      FIG. 2  illustrates an example of a conversation  200  between a caller  118  and an agent  120 . The conversation  200  includes ten utterances  210 , or segments, with five utterances  212   a  associated with the agent and denoted with “A,” and five utterances  212   b  associated with the caller and denoted with “C.” Hereinafter, an utterance  210  is defined as a set of one or more words. In the example conversation  200  illustrated in  FIG. 2 , each utterance  210  includes a set of words pronounced by the caller  118  or the agent  120 . The underlined utterance  214 , in  FIG. 2 , is the intent-bearing utterance. 
         [0021]    According to example embodiments, an intent-bearing utterance is identified based on features determined from the conversation. For a particular utterance, words or expressions, in the particular utterance, indicative of intent content may be used as features to determine whether the particular utterance is intent-bearing. Other example features include: the identity of the entity associated with the utterance, e.g., caller or agent, the position of the utterance within the conversation, words or expressions in utterances located before or after the particular utterance within the conversation, or the like. 
         [0022]    In typical conversations between a caller and an agent, intent is usually expressed in the beginning of the conversation, and, as such, intent-bearing utterances are more likely to be in the beginning of the conversation than at the end of the conversation. Also, intent is more likely to be expressed by the caller than the agent. The intent may also be expressed by the agent. For example, after the caller states the intent, the agent may reaffirm the intent of the conversation, as is the case in the example in  FIG. 2 . Also, according to the example in  FIG. 2 , an expression such as “how can I help you” usually appears in the conversation within the utterance preceding the intent-bearing utterance, whereas an expression like “okay I&#39;ll be happy to assist you” usually appears in the conversation within an utterance following the intent-bearing utterance. Also, expressions frequently used, when stating the intent of the conversation by the caller, include “I want to . . . ,” “I am calling to . . . ,” “I would like to . . . ,” or other similar expressions. Words or expressions frequently used before, after, or when intent is expressed are used as features to identify intent-bearing utterance(s). Such features may be extracted or detected in utterances checked for intent. 
         [0023]      FIG. 3A  shows a flowchart illustrating a method of identifying at least one intent-bearing utterance in a conversation according to at least one example embodiment. At block  310 , one or more features are determined for each utterance among a subset of utterances of the conversation. The subset of utterances may, for example, include all or just a few of the utterances of the conversation. For example the subset of utterances may be the first few utterances in the conversation. Example features include a position of the utterance within an order of the utterances, within the conversation, the identity of the entity associated with, i.e., who made, the utterance, words or expressions frequently used, words or expressions frequently used in utterances preceding or following intent-bearing utterance(s), words or expressions frequently used within intent-bearing utterances, or the like. Words or expressions frequently used within, prior to, or following intent bearing utterances may be defined and provided to the classifier manually using rules or automatically in a data-driven manner. For example, such words or expression may be identified from a set of conversations using methods such as frequent phrase extraction. At least one feature for each utterance is determined, using words in the utterance, position of utterance with in the call, identity of the speaker, words or expressions frequently used by the customer or customer service representative within the intent bearing utterance or in utterances prior to that or utterances after that found manually through rules or identified in a data-driven manner using methods such as frequent phrase extraction. 
         [0024]    At block  320 , each of the utterances among the subset of utterances is classified within “intent” or “non-intent” classification based at least in part on the corresponding determined features. According to an example embodiment, a conditional random field (CRF) classifier is used to classify utterances as intent or non-intent classifications. According to at least one other example embodiment, other statistical or rule based classifiers may be used. At block  330 , at least one utterance is selected as intent bearing utterance based at least in part on results of the classification. For example, utterances that are classified as intent, more frequently than others, are selected as intent bearing utterances. 
         [0025]      FIG. 3B  shows another flowchart illustrating an example implementation of the selection of an utterance as intent-bearing utterance. In other words, the method illustrated in  FIG. 3B  represents an example implementation of block  330  in  FIG. 3A . After classifying utterances, a score is assigned to each utterance, among the subset of utterances, based at least in part on the classification results  332 . The score assigned to a particular utterance is indicative, for example, of the probability or likelihood of the particular utterance being intent-bearing or non-intent-bearing. The score may also be indicative of the occurrences of “intent” and “non-intent” classifications for the particular utterance. For example, the output of the classifier may be in the form of probabilities of “intent” and “non-intent” classifications for each of the utterances of the subset of utterances. Alternatively, the classifier may provide a plurality of classified sequences, or alignments, of utterances and, as such, the score of a particular utterance indicates the number of occurrences of “intent” classification and “non-intent” classification of the particular utterance within the plurality of classified sequences provided by the classifier. 
         [0026]    At block  334 , at least one utterance is selected as intent-bearing based at least in part on the assigned scores to the subset of utterances. For example, the utterance(s) with highest probability, or occurrence, of “intent” classification is/are selected as intent-bearing utterance(s). A single utterance may be selected as the intent-bearing utterance. Alternatively, more than one utterance may be selected as intent-bearing utterances. 
         [0027]      FIG. 3C  shows yet another flowchart illustrating another example implementation of classification  320  and selection  330  in the method described in FIG.  3 A. At block  328 , a plurality of state sequences are generated, for example, by the classifier. Each state sequence is a sequence of “intent” and “non-intent” states associated with the utterances in the subset of utterances. An utterance that is classified as “intent” in a large number of state sequences is more likely to be intent-bearing than an utterance that is classified as intent-bearing in none or few state sequences. At block  338 , the utterance(s) that is/are most frequently classified as “intent” within the generated state sequences is/are selected as intent-bearing utterance(s). 
         [0028]    According to another example implementation of the method described in  FIG. 3A , both the operations in both  FIGS. 3B and 3C  may be employed. For example, in generating the plurality of state sequences at  328 , multiple classifications are performed resulting in multiple sequences of “intent” and “non-intent” states corresponding to the sequence of utterances in the conversation. Within each of the resulting sequences of “intent” and “non-intent” states, a score is assigned to each utterance classification, or state, based on the occurrence of the same utterance classification within the resulting sequences. A subset of the resulting sequences of “intent” and “non-intent” states is then selected based cumulative scores of corresponding states. An utterance may then be selected as intent-bearing utterance based on the occurrence of “intent” classification for the same utterance within the selected subset of state sequences. An utterance may also be selected as intent-bearing utterance based on the occurrence of “intent” classification for the same utterance within all the multiple state sequences. 
         [0029]      FIG. 4  is a table illustrating an example implementation of the classification and selection of utterances within a conversation. The table of  FIG. 4  refers to six utterances, indicated as “U1,” “U2,” “U3,” “U4,” “U5,” and “U6.” Each utterance is assigned a score including two numbers, for example. For each utterance, the first number is a measure of the likelihood of “intent” classification, whereas the second number represents a measure of the likelihood of “non-intent” classification. Example measures of likelihood include a statistical probability, a number of occurrences of a classification for a particular utterance, or the like. For example, in  FIG. 4  the first utterance “U1” has an “intent” classification score equal to one and a “non-intent” classification score equal to nine (see columns  414  and  418  of  FIG. 4 ). The second utterance “U2” has an “intent” classification score equal to nine and a “non-intent” classification score equal to one. The scores shown in columns  414  and  418  represent, for example, classification confidence scores. According to one example embodiment, the selection of an utterance as being intent-bearing may be done based on the assigned scores. For example utterances “U2” and “U3,” having the highest “intent” scores, e.g.,  9  and  7 , respectively, as shown in column  414 , may be selected as being intent bearing utterances. 
         [0030]    According to another example embodiment, a plurality of state sequences are generated. The table in  FIG. 4  shows four state sequences referred to as “A1,” “A2,” “A3,” and “A4,” shown in columns  422 ,  423 ,  424 , and  428 . Each utterance within the state sequences “A1,” “A2,” “A3,” and “A4” is assigned a score, for example, representing the occurrence frequency of the corresponding state, e.g., “intent” or “non-intent” for the same utterance within the ten generated state sequences. Each utterance within the state sequences “A1,” “A2,” “A3,” and “A4” is assigned a score, for example, representing the confidence score of the corresponding state. Each of the state sequences “A1,” “A2,” “A3,” and “A4” is assigned a cumulative score defined, for example, as the sum of scores associated with the different utterances. The state sequences “A1,” “A2,” “A3,” and “A4” are assigned the cumulative scores  49 ,  47 ,  45 , and  43 , respectively. For example, the state sequence “A1” assigns the sequence of classifications “non-intent,” “intent,” “intent,” “non-intent,” “non-intent,” and “non-intent,” respectively, to the utterances “U1 . . . U6.” Adding the scores corresponding to the classifications assigned to the utterances “U1” through “U6,” a cumulative score to the state sequence “A1” is equal to 49. The state sequences “A1,” “A2,” “A3,” and “A4” are selected as the high scoring state sequences among all possible state sequences. 
         [0031]    Among the four generated state sequences, the number of occurrences of the “intent” classification is counted for each utterance and the utterance(s) with highest occurrences of “intent” classification is/or ranked highest, e.g., the first and selected as intent-bearing utterance(s). At column  430 , the number of occurrence of “intent” classification, within the state sequences “A1,” “A2,” “A3,” and “A4,” for each of the utterances “U1,” “U2,” “U3,” “U4,” “U5,” and “U6,” is recorded. At column  440 , the utterances “U1,” “U2,” “U3,” “U4,” “U5,” and “U6” are ranked based on the recorded numbers of occurrence of “intent” classification in column  430 . For example the utterance “U2” has the highest “intent” classification occurrence, which is equal to four which is the highest number and hence is ranked one, or the first. The utterances “U3” and “U4” have the second highest “intent” classification occurrence, equal to two. Based on the “intent” classification occurrence among the state sequences “A1,” “A2,” “A3,” and “A4,” the utterance “U3” is ranked second, or two, and is selected as being intent-bearing utterance. If two utterances, e.g., U3 and U4, get the same score, then one of U3 and U4 may be ranked higher and selected. According to one example embodiment, “U3” may be prioritized and ranked higher, over “U4,” because utterances occurring early in the call are more likely to be intent bearing. Alternatively, “U4” may be selected as the second intent-bearing utterance using some other criteria, for example, choosing an utterance from the caller or customer over the utterance from the agent. 
         [0032]    Assuming that scores assigned to utterances represent likelihood measures of “intent” and “non-intent” classifications, state sequences with highest cumulative scores represent classification sequences with highest likelihood. As such, utterances with high “intent” classification occurrence, among generated state sequences with highest cumulative scores, represent most likely utterances to be intent-bearing among most likely classification events. 
         [0033]      FIG. 5  is a table illustrating simulation results for three methods for identifying intent-bearing utterance(s) in a conversation. In the first method entitled “Select first K utterances,” the first K utterances in the customer-agent conversation, starting from the first utterance spoken by the customer, are chosen. This is based on the assumption that the caller&#39;s intent is typically conveyed early in the conversation. Hence the first K utterances would likely capture the intent conveyed. The second and third methods entitled “CRF trained with 50 calls” and “CRF trained with 300 calls,” respectively, represent example embodiments of the method proposed herein. In these methods, conditional random field (CRF) is used to perform intent classification and assign sequence of intent labels to all utterances in the conversation. In the second method, CRF is trained using 50 manually labeled conversations while in the third method 300 calls are used for training. 
         [0034]    The results presented in the table of  FIG. 5  correspond to three scenarios. In the first scenario, shown in the second column of the table, a single utterance is selected as intent-bearing. In the second scenario, shown in the third column of the table, two utterances are selected as intent-bearing. In the third scenario, shown in the fourth column of the table, three utterances are selected as intent-bearing. The simulation results are expressed in terms of success rate, percentage, in identifying intent-bearing utterances. 
         [0035]    It should be understood that the example embodiments described above may be implemented in many different ways. In some instances, the various methods and machines described herein may each be implemented by a physical, virtual or hybrid general purpose computer having a central processor, memory, disk or other mass storage, communication interface(s), input/output (I/O) device(s), and other peripherals. The general purpose computer is transformed into the machines that execute the methods described above, for example, by loading software instructions into a data processor, and then causing execution of the instructions to carry out the functions described, herein. 
         [0036]    As is known in the art, such a computer may contain a system bus, where a bus is a set of hardware lines used for data transfer among the components of a computer or processing system. The bus or busses are essentially shared conduit(s) that connect different elements of the computer system, e.g., processor, disk storage, memory, input/output ports, network ports, etc., that enables the transfer of information between the elements. One or more central processor units are attached to the system bus and provide for the execution of computer instructions. Also attached to system bus are typically I/O device interfaces for connecting various input and output devices, e.g., keyboard, mouse, displays, printers, speakers, etc., to the computer. Network interface(s) allow the computer to connect to various other devices attached to a network. Memory provides volatile storage for computer software instructions and data used to implement an embodiment. Disk or other mass storage provides non-volatile storage for computer software instructions and data used to implement, for example, the various procedures described herein. 
         [0037]    Embodiments may therefore typically be implemented in hardware, firmware, software, or any combination thereof. 
         [0038]    In certain embodiments, the procedures, devices, and processes described herein constitute a computer program product, including a computer readable medium, e.g., a removable storage medium such as one or more DVD-ROM&#39;s, CD-ROM&#39;s, diskettes, tapes, etc., that provides at least a portion of the software instructions for the system. Such a computer program product can be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication and/or wireless connection. 
         [0039]    Embodiments may also be implemented as instructions stored on a non-transitory machine-readable medium, which may be read and executed by one or more processors. A non-transient machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine, e.g., a computing device. For example, a non-transient machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; and others. 
         [0040]    Further, firmware, software, routines, or instructions may be described herein as performing certain actions and/or functions of the data processors. However, it should be appreciated that such descriptions contained herein are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc. 
         [0041]    It also should be understood that the flow diagrams, block diagrams, and network diagrams may include more or fewer elements, be arranged differently, or be represented differently. But it further should be understood that certain implementations may dictate the block and network diagrams and the number of block and network diagrams illustrating the execution of the embodiments be implemented in a particular way. 
         [0042]    Accordingly, further embodiments may also be implemented in a variety of computer architectures, physical, virtual, cloud computers, and/or some combination thereof, and, thus, the data processors described herein are intended for purposes of illustration only and not as a limitation of the embodiments. 
         [0043]    While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.