Patent Publication Number: US-9905223-B2

Title: System and method for using semantic and syntactic graphs for utterance classification

Description:
PRIORITY INFORMATION 
     The present application is a continuation of U.S. patent application Ser. No. 14/252,817, filed Apr. 15, 2014, which is a continuation of U.S. patent application Ser. No. 11/212,266, filed Aug. 27, 2005, now U.S. Pat. No. 8,700,404, issued Apr. 15, 2014, the content of which are incorporated herein by reference in their entirety. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates spoken dialog systems and more specifically to a system and method of using semantic and syntactic graphs for utterance classification. 
     2. Introduction 
     Goal-oriented spoken dialog systems aim to identify the intent of a human caller, expressed in natural language, and take actions accordingly to satisfy the caller&#39;s requests. The intent of each speaker is identified using a natural language understanding component. This step can be seen as a multi-label, multi-class call classification problem for customer care applications. An example customer care application may relate to a bank having a call-in dialog service that enables a bank customer to perform transactions over the phone audibly. As an example, consider the utterance, “I would like to know my account balance,” from a financial domain customer care application. Assuming that the utterance is recognized correctly by the automatic speech recognizer (ASR), the corresponding intent (call-type) would be “Request (Balance)” and the action would be telling the balance to the user after prompting for the account number or routing this call to the billing department. 
     Typically these application-specific call-types are pre-designed and large amounts of utterances manually labeled with call-types are used for training call classification systems. For classification, generally word n-grams are used as features: In the “How May I Help You?” (HMIHY) call routing system, selected word n-grams, namely “salient phrases,” which are salient to certain call types play an important role. For instance, for the above example, the salient phrase “account balance” is strongly associated with the call-type “Request (Balance).” Instead of using salient phrases, one can leave the decision of determining useful features (word n-grams) to a classification algorithm. An alternative would be using a vector space model for classification where call-types and utterances are represented as vectors including word n-grams. 
     Call classification is similar to text categorization, except that the utterances are much shorter than typical documents used for text categorization (such as broadcast news or newspaper articles); since it deals with spontaneous speech, the utterances frequently include disfluencies or are ungrammatical; and, ASR output is very noisy, typically one out of every four words is misrecognized. 
     Even though the shortness of the utterances may seem to imply the easiness of the call classification task, unfortunately, this is not the case. The call classification error rates typically range between 15% to 30%, depending on the application. This is mainly due to the data sparseness problem because of the nature of the input. Even for simple call-types like “Request (Balance),” there are many ways of uttering the same intent. Some examples include: “I would like to know my account balance,” “How much do I owe you,” “How much is my bill,” “What is my current bill,” “I&#39;d like the balance on my account,” “account balance,” “You can help me by telling me what my phone bill is.” The current classification approaches continue to perform intent classification using only the words within the utterance. 
     Given this data sparseness, current classification approaches require an extensive amount of labeled data in order to train a classification system with a reasonable performance. What is needed in the art is an improved system and method for spoken language understanding and classification. 
     SUMMARY OF THE INVENTION 
     Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth herein. 
     The present invention addresses the deficiencies in the prior art. In a typical spoken language understanding system, lexical (word-based) information is obtained from an utterance to form a feature set for a classifier. Data sparseness is the result of the fact that most calls or communications are short and because of the relatively small amount of training data. There are numerous possible ways in which the same idea may be expressed. In a call situation, a user gives only a few words. A brief user utterance provides only a very small piece of information to a spoken language understanding system. This makes classification of such a user utterance by statistical methods especially difficult—in light of the contrast to the numerous ways in which the same idea may be expressed verbally. Using statistical methods to classify a user utterance relies upon a relatively sparse data set. 
     As a general definition of a classifier, it is a type of statistical algorithm which takes a feature representation of an object or concept and maps it to a classification label. A classification algorithm is designed to learn (to approximate the behavior of) a function which maps a vector of features into one of several classes by looking at several input-output examples of the function. Combining semantic and syntactic information with lexical information in a language understanding system improves the accuracy of the system in correctly classifying an utterance. The present invention improves upon spoken language understanding by incorporating lexical, semantic, and syntactic information into a graph corresponding to each utterance received by the system. Another aspect of the system relates to the extraction of n-gram features from these semantic and syntactic graphs. N-grams extracted from semantic and syntactic graphs are then utilized for classification of the utterance or the call. Other ways of classifying the utterance may be utilized as well. For example, the utterance may be classified by using at least one of the extracted n-grams, the syntactic and semantic graphs and writing rules as well. 
     The invention provides for a system, method, and computer readable medium storing instructions related to semantic and syntactic information in a language understanding system. The method embodiment of the invention is a method for classifying utterances during a natural language dialog between a human and a computing device. The method comprises receiving a user utterance; generating a semantic and syntactic graph associated with the received utterance, extracting all n-grams as features from the generated semantic and syntactic graph and classifying the utterance using the extracted n-grams or by some other means. 
     The invention includes aspects related to the use of semantic and syntactic information in a language understanding system, enabling more natural interaction for the human in a human-computing device dialog. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which: 
         FIG. 1  illustrates a spoken dialog system; 
         FIG. 2  illustrates a generic computing device; 
         FIG. 3  illustrates an example utterance represented as a single path finite state machine (FSM); 
         FIG. 4  illustrates an example utterance represented as a semantic syntactic graph (SSG); 
         FIG. 5  illustrates the finite state transducer (FST) used to extract unigram, bigram and trigrams; 
         FIG. 6  illustrates an example SSG for an utterance; 
         FIG. 7  illustrates an example SSG for an utterance; and 
         FIG. 8  illustrates an example method embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Various embodiments of the invention are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the invention. 
     Spoken dialog systems aim to identify human intent expressed in natural language, take actions accordingly and to satisfy their requests.  FIG. 1  is a functional block diagram of an exemplary natural language spoken dialog system  100 . Natural language spoken dialog system  100  may include an automatic speech recognition (ASR) module  102 , a spoken language understanding (SLU) module  104 , a dialog management (DM) module  106 , a spoken language generation (SLG) module  108  and a text-to-speech (TTS) module  110 . 
     ASR module  102  may analyze speech input and may provide a transcription of the speech input as output. SLU module  104  may receive the transcribed input and may use a natural language understanding model to analyze the group of words that are included in the transcribed input to derive a meaning from the input. The role of DM module  106  is to receive the derived meaning from the SLU  104  module and generate a natural language response to help the user to achieve the task that the system is designed to support. DM module  106  may receive the meaning of the speech input from SLU module  104  and may determine an action, such as, for example, providing a response, based on the input. SLG module  108  may generate a transcription of one or more words in response to the action provided by DM  106 . TTS module  110  may receive the transcription as input and may provide generated audible speech as output based on the transcribed speech. There are variations that may be employed. For example, the audible speech may be generated by other means than a specific TTS module as shown. 
     Thus, the modules of system  100  may recognize speech input, such as speech utterances, may transcribe the speech input, may identify (or understand) the meaning of the transcribed speech, may determine an appropriate response to the speech input, may generate text of the appropriate response and from that text and may generate audible “speech” from system  100 , which the user then hears. In this manner, the user can carry on a natural language dialog with system  100 . Those of ordinary skill in the art will understand the programming languages and means for generating and training ASR module  102  or any of the other modules in the spoken dialog system. 
     The present invention related to the use of semantic and syntactic graphs is especially related to SLU module  104 , but may be implemented in a system which does not contain all of the elements illustrated in system  100 . Further, the modules of system  100  may operate independent of a full dialog system. For example, a computing device such as a smartphone (or any processing device having a phone or communication capability) may have an ASR module wherein a user may say “call mom” and the smartphone may act on the instruction without a “spoken dialog.” 
       FIG. 2  and the related discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. Although not required, the invention will be described, at least in part, in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routine programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. 
     With reference to  FIG. 2 , an exemplary system for implementing the invention includes a general-purpose computing device  200 , including a processing unit (CPU)  220 , a system memory  230 , and a system bus  210  that couples various system components including the system memory  230  to the processing unit  220 . It can be appreciated that the invention may operate on a computing device with more than one CPU  220  or on a group or cluster of computing devices networked together to provide greater processing capability. The system bus  210  may be any of several types of bus structures including a memory bus  210  or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system may also include other memory such as read only memory (ROM)  240  and random access memory (RAM)  250 . A basic input/output (BIOS), containing the basic routine that helps to transfer information between elements within the computing device  200 , such as during start-up, is typically stored in ROM  240 . The computing device  200  further includes storage means such as a hard disk drive  260 , a magnetic disk drive, an optical disk drive, tape drive or the like. The storage device  260  is connected to the system bus  210  by a drive interface. The drives and the associated computer readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computing device  200 . The basic components are known to those of skill in the art and appropriate variations are contemplated depending on the type of device, such as whether the device is a small, handheld computing device, a desktop computer, or a computer server. 
     To enable user interaction with the computing device  200 , an input device  270  represents any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. The device output  280  can also be one or more of a number of output means. In some instances, multimodal systems enable a user to provide multiple types of input to communicate with the computing device  200 . The communications interface  290  generally governs and manages the user input and system output. 
     Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media. 
     Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps. 
     Those of skill in the art will appreciate that other embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. 
       FIG. 3  illustrates an example utterance represented as a single path finite state machine (FSM)  300 . This figure contains a sequence of nodes and arcs representing states and transitions between states. Words correspond to transitions (input) which result in changes of state beginning with start state or state  0   302 , state  1   304 , state  2   310 , state  3   314 , state  4   318 , state  5   322 , and end state or state  6   326 . The words in the example utterance act as inputs which cause changes between states in the machine. 
       FIG. 3  illustrates the case wherein only lexical information, i.e. word n-grams are used for call classification. This is equivalent to representing the words in an utterance as a directed acyclic graph (a graph having direction but which has no path starting and ending at the same vertex) where the words are the labels of the transitions and then extracting the transition n-grams from it.  FIG. 3  shows the graph for the example sentence, “I paid six dollars,” ( 308 ,  312 ,  316 , and  320 ) where &lt;bos&gt;  304  and &lt;eos&gt;  324  denote the beginning and end of the sentence, respectively. 
     Each word is prefixed by the token “WORD:” to indicate that each is a word. The “:” is usually a notation indicating a separation of input and output symbols in finite state transducers. Here, however, its use may also relate to separating the type of token and its value. FSM  300  is incapable of identifying relationships between words beyond the order in which they appear in the example utterance. 
       FIG. 4  illustrates a semantic and syntactic graph (SSG)  400  of the same example utterance from  FIG. 3 , “I paid six dollars.” SSGs, like the single path FSM in  FIG. 3 , are also directed acyclic graphs. There is an initial state  0   402  and a final state  6   426 . States  1   406 ,  2   410 ,  3   414 ,  4   418  and  5   422  are shown by way of example. The tags &lt;bos&gt;  404  and &lt;eos&gt;  424  may denote the beginning and end of the sentence, respectively. SSGs are different, however, in that they are formed by adding transitions encoding semantic and syntactic categories of words or word sequences to the word graph. The first additional piece of information is the part of speech tags of the words. In the graph, as a parallel transition for each word of the utterance, the part of speech category of the word is added, as shown in  FIG. 4  for the example sentence. Each word is still prefixed by the token “WORD:” ( 408 Am  412 Am  416 A,  416 C,  420 A) and the part of speech tag is prefixed by the token “POS:” ( 408 B,  412 B,  416 B,  420 B), in order to distinguish between different types of transitions in the graph. 
     The other type of information that is encoded in these graphs is the syntactic parse of each utterance, namely the syntactic phrases with their head words. For example, in the sentence, “I paid six dollars,” “six dollars” is a noun phrase with the head word, “dollars.” In  FIG. 4 , the labels of the transitions for syntactic phrases are prefixed by the token “PHRASE:” ( 408 C,  416 C,  408 E,  408 F). Therefore, “six dollars” is also represented by the transition “PHRASE:NP_dollars”  416 C. As an alternative, the head word may be dropped from the representation, or an epsilon transition may be inserted parallel to the transitions of the modifiers of the head word to eliminate them from some n-grams. 
     Generic named entity tags, such as person, location, and organization names, and task-dependent named entity tags, such as drug names in a medical domain, are also incorporated into the graph, where applicable. For instance, for the example sentence, “six dollars” is a monetary amount, so the arc “NE:m”  416 E is inserted parallel to that sequence. 
     As another type of semantic information, semantic role labels (SRL) of the utterance components are incorporated to the SSGs. The semantic role labels represent predicate/argument structure of each sentence: Given a predicate, the goal is to identify all of its arguments and their semantic roles. For example, in the example sentence the predicate is “pay”, the agent of the predicate is “I”, and the amount is “six dollars”. In the graph, the labels of the transitions for semantic roles are prefixed by the token “SRL:”  408 D,  412 C,  416 D and the corresponding predicate. For example, the sequence “six dollars” is the amount of the predicate “pay”, and this is shown by the transition with label “SRL:pay.A 1 ”  416 D following the PropBank notation. In this case “A 1 ” or “Arg 1 ” indicates the object of the predicate, in this case, the amount. 
     While the semantic and syntactic information utilized in this example may comprise part of speech tags, syntactic parses, named entity tags, and semantic role labels—it is anticipated that insertion of further information such as supertags or word stems can also be beneficial for further processing using semantic and syntactic graphs. 
     N-grams extracted from the SSGs are used for call classification. The n-grams in an utterance SSG can be extracted by converting it to a finite state transducer (FST), F i . Each transition of F i  has the labels of the arcs on the SSG as input and output. Composing this FST with another FST, F N , representing all the possible n-grams, forms the FST, F X , which includes all n-grams in the SSG.
 
F X =F i ∘F N  
 
     Then, extracting the n-grams in the SSG is equivalent to enumerating all paths of F X . For n=3, F N    500  is shown in  FIG. 5 . The alphabet Σ contains all the symbols in F i . States  0   504 ,  1   510 ,  2   514  and  3   524  are shown with transitions  506 ,  508 ,  512 ,  522 ,  518 ,  516  and  520 . The input  502  is also shown. 
     The use of SSGs for call or utterance classification is helpful because additional information is expected to provide some generalization, by allowing new n-grams to be encoded in the utterance graph since SSGs provide syntactic and semantic groupings. For example, the words ‘a’ and ‘the’ both have the part-of-speech tag category DT (determiner), or all the numbers are mapped to a cardinal number (CD), like the six in WORD:dollars will both be in the SSG. Similarly, the sentences ‘I paid six dollars’ and ‘I paid seventy five dollars and sixty five cents’ will both have the trigram WORD:I Word:paid NE:m in their SSGs. 
     The head words of the syntactic phrases and predicate of the arguments are included in the SSGs. This enables the classifier to handle long distance dependences better than using other simpler methods, such as extracting all gappy n-grams. For example, consider the following two utterances: ‘I need a copy of my bill’ and ‘I need a copy of a past due bill.’ As shown in  FIGS. 6 and 7 , the n-gram WORD:copy  620  WORD:of  624 A PHRASE:NP_bill  628 C appears for both utterances, since both subsequences “my bill” and “a past due bill” are nothing but noun phrases with the head word bill. 
       FIG. 6  illustrates the SSG for the utterance “I need a copy of my bill.” States  0   602 ,  1   606 ,  2   610 ,  3   614 ,  4   618 ,  5   622 ,  6   626 ,  7   630 ,  8   634  and  9   638  of the graph are shown. The &lt;bos&gt;  604  marks the beginning of the sentence and the transisions between the state  1   606  and state  20   610  are shown as WORD:I  608 A, POS:PRP  608 B, PHRASE: NL_I  608 C and SRL: need.A 0   608 D. The transition from state  1   606  to state  8   624  also includes an are representing PHRASE: S_need  608 E. 
     Between state  610  and state  3   614 ,  FIG. 6  shows transitions WORD:need  612 A, POS:VBP  612 B, SRL:need.V  612 C. From state  2   610  to state  8   624  is transition PHRASE:VP_need  612 D. Between state  3   614  and state  4   618  we have transitions WORD:a  616 A and POS:DT  616 B. Between state  3   614  and state  5  is shown transition PHRASE: NP_copy  616 E. Between state  3   614  and state  8  there is shown transitions SRL:need.A 1   616 D and PHRASE:NP-A_copy  616 C. 
     Between state  4   618  and state  5   622  is shown transitions WORD:copy  620 A and POS:NN  620 B. Between state  5   622  and state  6   626  are transitions WORD:of  624 A and POS:IN  624 B. Between state  5   622  and state  8   624  is a transition PHRASE:PP_of  624 C. Between state  6   626  and state  7   630  are transitions WORD:my  628 A and POS:PRP$  628 B. Between state  6   626  and state  8   634  is a transition PHRASE:NP_bill  628 C. Between state  7   630  and state  8   634  are transitions WORD:bill  632 A and POS:NN  632 B. The tag &lt;eos&gt; represents the end of the sentence. 
       FIG. 7  represents the SSG for the utterance “I need a copy of a past due bill.” States  0   602 ,  1   606 ,  2   610 ,  3   614 ,  4   618 ,  5   622 ,  6   626 ,  7   704 ,  8   708 ,  9   712 ,  10   716  and  11   720  of the graph are shown. The states and transitions of  FIG. 7  are similar to those for  FIG. 6  from state  0  through state  6 , with the exceptions that transitions  612 C,  616 D,  616 C,  608 E,  624 C and  628 C end at state  10   716  instead of the state  8  in  FIG. 6 . 
     Between transition  6   626  and  7   704  in  FIG. 7  are shown transitions WORD:a  702 A and POS:DT  702 B. Between state  7   704  and state  8   708  are shown transitions WORD:past  706 A and POS:JJ  706 B. Between state  8   708  and state  9   712  are shown transitions WORD:due  710 A and POS:JJ  710 B and between state  9   712  and state   716  are WORD:bill  714 A and POS:NN  714 B. The &lt;eos&gt;  718  indicates the end of the sentence. 
     Another motivation to use SSGs is that when using simply the n-grams in an utterance, the classifier is only given lexical information. Now the classifier is provided with more and difference information using these extra syntactic and semantic features. For example, a named entity (NE) of type monetary amount may be strongly associated with some call type. Furthermore, there is a close relationship between the call-types and semantic roles. For example, if the predicate is order this is most probably the call-type Order(Item) in a retail domain application. The simple n-gram approach would consider all the appearances of the unigram order as equal. However, consider the utterance ‘I&#39;d like to check an order’ of a different call-type, where the ‘order’ is not a predicate but an object. Word n-gram features will fail to capture this distinction. 
     Once the SSG of an utterance is formed, all the n-grams are extracted as features, and the decision of which one to select/use is left to the classifier. 
     Next the inventors discuss exemplary ways to compute an SSG using the tools for computing the information in SSGs and their performances on manually transcribed spoken dialog utterances. All of these components may be improved independently, for the specific application domain. 
     Part of speech tagging has been very well studied in the literature for many languages, and the approaches vary from rule-based to HMM-based and classifier-based tagging. The present invention employs a simple HMM-based tagger, where the most probable tag sequence, {circumflex over (T)}, given the words, W, is output: 
     
       
         
           
             
               T 
               ^ 
             
             = 
             
               
                 
                   
                     arg 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     max 
                   
                   T 
                 
                 ⁢ 
                 
                   P 
                   ⁡ 
                   
                     ( 
                     
                       T 
                       ❘ 
                       W 
                     
                     ) 
                   
                 
               
               = 
               
                 
                   
                     arg 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     max 
                   
                   T 
                 
                 ⁢ 
                 
                   P 
                   ⁡ 
                   
                     ( 
                     
                       W 
                       ❘ 
                       T 
                     
                     ) 
                   
                 
                 ⁢ 
                 
                   P 
                   ⁡ 
                   
                     ( 
                     T 
                     ) 
                   
                 
               
             
           
         
       
     
     Due to the lack of manually tagged part of speech tags for the application of the present invention, the developmental training set is Penn Treebank. See, Mitchell P. Marcus, Beatrice Santorini, and Mary Ann Marcinkiewicz, “Building a large annotated corpus of English”, Computational Linguistics, 19(2): 313-330, 1994. Penn Treebank includes data from  Wall Street Journal , Brown, ATIS, and Switchboard corpora. The ATIS and Switchboard sets are particularly useful for the development of the present invention because they are from spoken language and include disfluencies. As a test set, an accuracy of 94.95% on manually transcribed utterances was achieved using 2,000 manually labeled words or user utterances from a spoken dialog system application. 
       FIG. 8  illustrates an example method embodiment of the invention. The method may be practiced by any computing device as mentioned above. The method comprises receiving a user utterance ( 802 ), generating a semantic and syntactic graph associated with the received utterance ( 804 ), extracting all n-grams as features from the generated semantic and syntactic graph ( 806 ) and classifying the utterance using the extracted n-grams ( 808 ). Although step  808  mentions the extracted n-grams, classifying the utterance may be performed in many ways, such as by using the syntactic and semantic graphs, writing rules, the extracted n-grams or other means. The user utterance may be a single word, a phrase, an input sentence or any type of utterance. The utterance may also refer to non-speech input such as graffiti or motion input. 
     For syntactic parsing, the Collins&#39; parser was used, which is reported to give over 88% labeled recall and precision on the  Wall Street Journal  portion of the Penn Treebank. See, Michael Collins, “Head-Driven Statistical Models for Natural Language Parsing”, Ph.D. thesis, University of Pennsylvania, Computer and Information Science, Philadelpha, Pa., 1999. Buchholz&#39;s “chunklink” script was used to extract information from parse trees. See (http://ilk.kup.nl/˜sabine/chunkling/chunklink_2-2-2000_for_conll.pl). Due to the lack of domain data, no performance figure is reported for this task. There is no specific requirement that the Collins parser be used. Any suitable parser may be employed for the step of syntactic parsing according to the invention. 
     For named entity extraction, a simple HMM-based approach, a simplified version of BBN&#39;s name finder, and a classifier-based tagger using Boostexter were used. See, e.g., Daniel M. Bikel, Richard Schwartz, and Ralph M. Weischedel, “An algorithm that learns what&#39;s in a name”, Machine Learning Journal Special Issue on Natural Language Learning, 34(1-3):211-231, 1999; and Robert E. Schapire and Yoram Singer, “Boostexter: A boosting-based system for text categorization,” Machine Learning, 39(2-3): 135-168, 2000. In the simple HMM-based approach, which is the same as the part of speech tagging, the goal is to find the tag sequence, {circumflex over (T)}, which maximizes P(T|W) for the word sequence, W. the tags in this case are named entity categories (such as “P” and “p” for Person names, “◯” and “∘” for Organization names, etc. where upper-case indicates the first word in the named entity) or “NA” if the word is not a part of a named entity. In the simplified version of BBN&#39;s name finder, the states of the model were word/tag combinations, where the tag t i  for word w i  is the named entity category of each word. Transition probabilities consist of trigram probabilities P(w i /t i |w i-1 /t i-1 ,wd/t i-2 ) over these combined tokens. In the final version, this model was extended with an unknown words model. In the classifier-based approach, simple features such as the current word and surrounding four words, binary tags indicating if the word considered contains any digits or is formed from digits, and features checking capitalization. There is no specific requirement that the named entity extractor be the HMM-based approach using the BBN&#39;s name fined and the Boostexer application. Any suitable named entity extraction software or module may be utilized. 
     To test these approaches, data from a spoken dialog system application from a pharmaceutical domain, where some of the named entity categories were person, organization, drug name, prescription number, and date were used. The training and test sets contained around 11,000 and 5,000 utterances, respectively. Table 1 summarizes the overall F-measure results as well as F-measure for the most frequent named entity categories. Overall, the classifier based approach resulted in the best performance, so it is also used for the call classification experiments. 
     
       
         
           
               
             
               
                 TABLE 1 
               
             
            
               
                   
               
               
                 F-Measure results for named entity extraction with various approaches. 
               
               
                 HMM is the simple HMM-based approach, IF is the simplified version 
               
               
                 of BBN&#39;s name finder with the unknown words model. 
               
            
           
           
               
               
               
               
               
               
            
               
                   
                 Category 
                 Count 
                 HMM 
                 IF 
                 Boostexter 
               
               
                   
                   
               
               
                   
                 Org. 
                 132 
                 62.0 
                 73.8 
                 70.9 
               
               
                   
                 Person 
                 150 
                 45.0 
                 62.4 
                 54.4 
               
               
                   
                 Date 
                 178 
                 51.4 
                 61.9 
                 72.0 
               
               
                   
                 Drug 
                 220 
                 65.7 
                 62.3 
                 63.1 
               
               
                   
                 Overall 
                 836 
                 54.5 
                 56.8 
                 64.0 
               
               
                   
                   
               
            
           
         
       
     
     The goal of semantic role labeling is to extract all the constituents which fill a semantic role of a target verb. Typical semantic arguments include Agent, Patient, Instrument, etc. and also adjuncts such as Locative, Temporal, Manner, Cause, etc. An exemplary corpus for this process is the semantic roles and annotations from the Penn Treebank corpus (from the Propbank or Proposition Bank project at the University of Pennsylvania) wherein the arguments are given mnemonic names, such as Arg 0 , Arg 1 , Arg-LOC, etc. See, Paul Kingsbury, Mitch Marcus, and Martha Palmer, “Adding semantic annotation to the Penn Treebank”, Computational Linguistics, 19(2):313-330, 2002. For example, for the sentence “I have bought myself a blue jacket form your summer catalog for twenty five dollars last week”, the agent (buyer, or Arg 0 ) is “I”, the predicate is “buy”, the thing bought (Arg 1 ) is “a blue jacket”, the seller or source (Arg 2 ) is “from your summer catalog”, the price paid (Arg 3 ) is “twenty five dollars”, the benefactive (Arg 4 ) is “myself”, and the date (ArgM-TMP) is “last week”. 
     Semantic role labeling can be viewed as a multi-class classification problem. Given a word (or phrase) and its features, the goal is to output the most probable semantic label. For semantic role labeling, an example feature set that may be used is the one taught by Hacioglu et al. in Kadri Hacioglu, Sameer Pradhan, Wayne Ward, James H. Martin, and Dan Jurafsky, “Semantic role labeling by tagging syntactic chunks,” Proceedings of the Conference on Computational Natural Language Learning (CoNLL), Boston, Mass., May, 2004. As mentioned above, Boostexter is an exemplary classifier that may be used. The features include token-level features (such as the current (head) word, its part of speech tag, base phrase type and position, etc.), predicate-level features (such as the predicate&#39;s lemma, frequency, part-of-speech tag, etc.) and argument-level features which capture the relationship between the token (head word/phrase) and the predicate (such as the syntactic path between the token and the predicate, their distance, token position relative to the predicate, etc.). 
     In order to evaluate the performance of semantic role labeling, 285 utterances from a spoken dialog system for a retail domain were manually annotated. The utterances include 645 predicates (2.3 predicates/utterance). The precision rate for identifying the predicate was evaluated at 93.04%. The recall rate was evaluated at 91.16%. More than 90% of false alarms for predicate extraction were due to the word “please,” which is very frequent in the customer care domain and is erroneously tagged. Most of the false rejections were due to difluencies and ungrammatical utterances. For example, in the utterance “I&#39;d like to order place an order”, the predicate “place” is tagged erroneously as a noun, probably because of the preceding verb “order”. 
     In evaluating the argument labeling performance the inventors use a strict measure wherein labeling is considered correct if both the boundary and the role of all the arguments of a predicate are correct. In this realm, Arg 0  is usually the word “I” hence, mistakes in Arg 0  are ignored. In the test set, the SRL tool correctly tags all arguments of 57.6% of the predicates. 
     Evaluation of the invention was carried-out through call classification experiments using human-machine dialogs collected by a natural spoken dialog system used for customer care. All utterances considered were in response to the greeting prompt “How may I help you?” in order not to deal with confirmation and clarification utterances. Tests were performed using the Boostexter tool, an implementation of the Boosting algorithm, which iteratively selects the most discriminative features for a given task. Data and results are presented in Tables 2 and 3. 
     
       
         
           
               
             
               
                 TABLE 2 
               
               
                   
               
               
                 Characteristics of the data used in the experiments. 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
               
            
               
                   
                 Training Data Size 
                 3,725 utterances 
               
               
                   
                 Tesst Data Size 
                 1,954 utterances 
               
               
                   
                 Number of Call-Types 
                 79 
               
               
                   
                 Call-Type Perplexity 
                 28.86 
               
               
                   
                 Average Utterance Length 
                 12.08 
               
               
                   
                   
               
            
           
         
       
     
     
       
         
           
               
             
               
                 TABLE 3 
               
             
            
               
                   
               
               
                 A comparison of number of features. 
               
            
           
           
               
               
               
               
            
               
                   
                 Baseline 
                 Using SSG 
                 Increase 
               
               
                   
                   
               
            
           
           
               
               
               
               
               
            
               
                   
                 Unigram 
                 2,303 
                 6,875 
                  2.99 times 
               
               
                   
                 Bigram 
                 15,621 
                 112,653 
                  7.21 times 
               
               
                   
                 Trigram 
                 34,185 
                 705,673 
                 20.64 times 
               
               
                   
                 Total 
                 52,109 
                 825,201 
                 15.84 times 
               
               
                   
                   
               
            
           
         
       
     
     Table 2 summarizes the characteristics of the application including the amount of training and test data, total number of call-types, average utterance length, and call-type perplexity. Call-type perplexity is computed using the prior distribution over all the call-types in the training data. 
     For call classification, SSGs for the training and test set utterances were generated using the tools described above. As seen in Table 3, when n-grams are extracted from these SSGs, instead of the word graphs (Baseline), there is a huge increase in the number of features given to the classifier. The classifier has on average 15 times more features with which to work. Within the scope of this invention, the burden of analyzing these features is left to the classifier. 
     Table 4 presents the percentage of the features selected by Boostexter using SSGs for each information category. As expected, the lexical information is the most frequently used, and 54.06% of the selected features have at least one word in its n-gram. The total is more than 100%, since some features contain more than one category, as in the bigram feature example: “POS:DT WORD:bill”. This shows the use of other information sources as well as words. 
     
       
         
           
               
             
               
                 TABLE 4 
               
             
            
               
                   
               
               
                 The percentage of the features selected by the 
               
               
                 classifier for each information category. 
               
            
           
           
               
               
               
               
            
               
                   
                 Category 
                 Category 
                 Frequency 
               
               
                   
                   
               
            
           
           
               
               
               
               
            
               
                   
                 Lexical 
                 Words 
                 54.06% 
               
               
                   
                 Sentactic 
                 Part-of-Speech 
                 49.98% 
               
               
                   
                   
                 Syntactic Parse 
                 27.10% 
               
               
                   
                 Semantic 
                 Named Entity 
                 1.70% 
               
               
                   
                   
                 Semantic Role Label 
                 11.74% 
               
               
                   
                   
               
            
           
         
       
     
     
       
         
           
               
             
               
                 TABLE 5 
               
             
            
               
                   
               
               
                 Call classification error rates using words and SSGs. 
               
            
           
           
               
               
               
               
            
               
                   
                 Baseline 
                 SSGs 
                 Decrease 
               
               
                   
                   
               
            
           
           
               
               
               
               
               
            
               
                   
                 All Utterances 
                 23.80% 
                 23.29% 
                 2.14% 
               
               
                   
                 Low confidence 
                 68.77% 
                 62.16% 
                 9.61% 
               
               
                   
                 Utterances 
               
               
                   
                 All utterances 
                 23.80% 
                 22.67% 
                 4.74% 
               
               
                   
                 (Cascaded) 
               
               
                   
                   
               
            
           
         
       
     
     Table 5 presents experimental results for call classification. As the evaluation metric, the inventors used the top class error rate (TCER), which is the ratio of utterances, where the top scoring call-type is not one of the true call-types assigned to each utterance by the human labelers. The baseline TCER on the text set using only word n-grams is 23.80%. When features are extracted from the SSGs, a 2.14% relative decrease in the error rate down to 23.29% is seen. When those results are analyzed, the inventors see that (1) for “easy to classify” utterances, the classifier already assigns a high score to the true call-type using just word n-grams; (2) the syntactic and semantic features extracted from the SSGs are not 100% accurate, as presented earlier. Although many of these features have been useful, there is a certain amount of noise introduced in the call classification training data; (3) the particular classifier used (Boosting) is known to handle large feature spaces in a different manner than other classifiers such as SVMs. This is important where there are more features. 
     Accordingly, the inventors focus on a subset of utterances that have low confidence scores. These are cases where the score given to the top scoring call-type by the baseline model is below a certain threshold. In this subset there were 333 utterances, which is about 17% of the test set. As expected, the error rates are much higher than the overall and the inventors get much larger improvement in performance when SSGs are used. The baseline fro this set is 68.77% and using extra features reduces the baseline to 62.16% which is a 9.61% relative reduction in the error rate. 
     The inventors&#39; experiments suggest a cascaded approach for exploiting SSGs for call classification. That is, first the baseline word n-gram based classifier is used to classify all the utterances, then if this model fails to commit on a call-type, the system performs extra feature extraction using SSGs and use the classification model trained with SSGs. This cascaded approach reduces the overall error rate of all utterances from 23.80% to 22.67%, which is a 4.74% relative reduction in error rate. 
     Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. For example, the invention is not limited to telephone calls but may apply to any communication which may be classified, such as a call-type, message type, instant message type, and so forth. In other words, the communication may also be text, which could be classified in a particular way according to the principles of the invention. Furthermore, inasmuch as the present invention involves extending the feature set of a classifier that performs a step of classifying an utterance, there may be other attributes within the feature sets discussed above that may be employed to further extend the feature set and improve classification. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.