# Patent

## Title
Method and apparatus for predicting intent in IVR using natural language queries

## Abstract

An IVR system is disclosed in which customer experience is enhanced by improving the accuracy and intent prediction capabilities of an interactive voice response system. Customers are allowed to make a natural language queries to specify their intent, while the accuracy of traditional IVR systems is maintained by using key features in language along with the customer's past transactions, CRM attributes, and customer segment attributes to identify customer intent.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation application of U.S. application Ser. No. 14/029,672, filed Sep. 17, 2013, which claims priority to U.S. provisional patent application Ser. No. 61/703,162, filed Sep. 19, 2012, which is incorporated herein in its entirety by this reference thereto.


BACKGROUND OF THE INVENTION
Technical Field
The invention relates to field of Interactive Voice Response (IVR) technology. More particularly, the invention relates to customer relationship management and, more particularly, to enhancing the customer experience by improving the accuracy and intent prediction capabilities of IVR systems.
Description of the Background Art
Interactive voice response (IVR) technology is deployed between a customer and a customer care executive to automate the process of serving the customer at least in part. IVR systems are often criticized as being unhelpful and difficult to use due to their poor design and the fact that they tend to show a lack of appreciation of the customer's needs.
Some IVR-based systems permit customers to speak out the action the customer desires to perform, rather than requiring the customer to push one or more keys to specify the action. Such IVR systems use speech recognition algorithms to recognize the speech of the customer and then perform actions corresponding to the speech of the customer.
Modern systems are very accurate in predicting customer intent based on the customer's speech. The high degree of accuracy exhibited by modern IVR systems results from the use of a very specific grammar, for which the speech recognition system in such IVRs is trained. Because of this, these systems are often referred to as directed voice IVRs. This approach, however, leads to a conflict between the need to provide the customer with the freedom to speak their intent and the accuracy of the system because such systems are restricted to recognizing only the specific set of terms within the grammar for an action. This constrains the customer to speak these specific terms when using the IVR system. Current IVR systems try to balance such conflict and provide a level of service which maximizes the customer experience. However, such systems fail to do so as the customer progresses from a generic description of the problem into specific concerns because of customer directed decision making during the customer's journey. Typically, the customer intent can encompass 30-100 different items. All of these different intents cannot be considered when providing direction to the customer because of the limits to human attention span. To solve this problem, traditional IVRs group these intents hierarchically. Overall, these types of directed conversation have multiple recognition points and, hence, lead to frustration in customers because the customers do not get to solve their problems in the IVR and are, instead, transferred.
SUMMARY OF THE INVENTION
In the disclosed IVR system, the customer experience is enhanced by improving the accuracy and intent prediction capabilities of an interactive voice response system. Customers are allowed to make a natural language queries to specify their intent, while the accuracy of traditional IVR systems is maintained by using key features in language along with the customer's past transactions, CRM attributes, and customer segment attributes to identify customer intent.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block schematic diagram showing a system for enabling a customer to interact with an IVR system according to the invention;
FIG. 2 is a block schematic diagram showing an IVR system according to the invention;
FIGS. 3A and 3B together provide a flowchart that shows a method for intent prediction according to the invention;
FIG. 4 is a flowchart that shows a method for feedback and learning according to the invention; and
FIG. 5 is a block schematic diagram that depicts a machine in the exemplary form of a computer system within which a set of instructions for causing the machine to perform any of the herein disclosed methodologies may be executed.



DETAILED DESCRIPTION OF THE INVENTION
Predicting Intent in IVR Using Natural Language Queries
Embodiments of the invention also allow customers to make natural language queries to specify their intent while maintaining the accuracy of traditional IVR systems. This is accomplished by using key features in human or spoken language along with the customer's past transactions, customer relations management (CRM) system attributes, and customer segment attributes to identify customer intent.
FIG. 1 is a block schematic diagram showing a system for enabling a customer to interact with an IVR system according to the invention. In an embodiment of the invention, the system comprises a communication network 102 and an IVR system 103. The communication network 102 may be a cellular-based communication network in which a customer 101 uses a handheld or other wireless device to access the communication network 102. The device may be any one or more of a mobile phone, a handheld device, a tablet, a computer, an Internet protocol (IP) phone, a public switched telephone network (PSTN) based phone, or any other device capable of communicating with the communication network 102. The communication network 102 may use any suitable communication technology that allows the customer 101 to communicate with the IVR system 103 via the customer device.
When the customer connects to the IVR system, the IVR system queries the customer as to the action or actions that the customer wants to perform. In an example, the IVR system may query the customer by using a phrase such as “How may I help you?” The customer responds to the query using a natural language response, which may be in any form and may use any terms which are comfortable for the customer.
The IVR system converts the response into text. The IVR system may use techniques that are based on a special grammar that is trained to identify certain keywords more accurately than others. An example of one of such grammar type is that of statistical language models (SLM) which take into consideration the sequence of words and make get the best transcription.
In embodiments of the invention, the IVR system also identifies the customer by constructing an identity key, K for the customer:

K=>Automatic Number Identification (ANI)+gender+age group  (1)

The IVR system may identify the gender and age group of the customer based on analysis of the response received from the customer. The IVR system may identify the gender of the customer based on the tones and/or frequency of the customer's speech in the response. The IVR system may identify the age group of the customer based upon the type of language and vocabulary used by the customer. Those skilled in the art will appreciate that other techniques and parameters may be used for customer identification and that the invention is not limited to the foregoing.
In embodiments of the invention, the IVR system also performs a customer relations management (CRM) system dip based on the predicted identity of the customer to obtain various attributes of the customer. For purposes of the discussion herein, a CRM dip is defined as accessing the Customer Relationship Management database that a company maintains to service their clients better. It is a database that keeps records of all of the events centering around the company's business with that particular customer. A data dip on such a database gives the system a view into the customer's recent activity or attributes. These attributes may comprise any of the history of the customer, e.g. browsing history, past interactions of the customer with the IVR system, and so on; attributes of the customer based on the identified age group and gender of the customer; and so on.
The IVR system performs a feature extraction from the text and generates a probability score, A of the customer intent based upon the feature vector of the text:

A=p(Ii|X)  (2)

where Ii is the ith intent I and X is the feature vector.

The IVR system computes the probability of intent Ii based on the customer historical behavior B. This is done seeing the intent sequence of the previous calls given the time and date. For example, if the caller has called for I1|I2 before I3 and it is known that the last 2 interaction's intent was I1 and I2, then the probability of current intent being I3 is high. Machine learning algorithms are typically employed for sequential data, such as Hidden Markov's Model (HMM) or Conditional Random Fields (CRF), which are some of the known graphical machine learning techniques.
The IVR system computes the score of each intent based on the CRM attributes C and based on general population based behavior. C takes into account the CRM attributes of the customer and scores are derived by a machine learning algorithm using these attributes. For example, one set of customer attributes could be:

    
    
        Payment due date=3-Jan-2012;
        current_date=1-Jan-2012;
        balance_on_card=2000$; and
        isAccountSuspended=True
    
    


In such case, there is a high chance that the intent of call is to make a payment. The exact score can be computed by modeling general population behavior.
Finally, the IVR system scores each intent, given the above mentioned scores, and selects the maximum scoring intent. This scoring taken into account how much weightage the system is to give to personal attributes B relative to the population attributes C. This could be as simple as:

(W1*B+W2*C)/(B+C).  (3)

The IVR system compares the score of the selected intent to a predefined threshold. This threshold can either be set by business heuristics For example, determining a safe and sure threshold for intent prediction by observing caller behavior. The function which calculates the intent prediction scored is tuned to minimize intent rejection and maximize intent acceptance. The threshold could also be set by building a model. For example, once a proper function is written which takes into account an intent rejection and/or acceptance rate, optimization algorithms including genetic algorithms can be used to find out the best parameters to achieve this objective.
If the selected intent has a score greater than the threshold, then the IVR system optimizes the journey of the customer based on the selected intent. If the selected intent has a score that is less than the threshold, then the IVR system offers the standard IVR journey to the customer. After the journey is completed, the IVR system stores the speech response, the transcriptions of the speech responses, and the attributes.
The IVR system also picks up at least one sample of customer speech responses. This is the recording and transcription of the utterance where the customer is expressing his intent. The IVR system transcribes the responses into text. In an embodiment of the invention, the transcription may be a manual process. In another embodiment of the invention, the IVR system passes the speech responses through a batch automatic speech recognition (ASR) system. In an automatic transcription by an ASR, a language mode is typically used. Standard language modeling techniques, such as SLM take the manually transcribed data and build work sequence graphs for it. This does not require any labels.
At least one important feature is selected from the transcribed responses. At least one predicted label or tag can be used to classify the response and to give it a semantic expression, e.g. a label could indicate the intent of the customer who called in.
A feature is a rule that makes the final text model. In an embodiment of the invention, at least one important feature is selected from the transcribed responses manually. In an embodiment of the invention, at least one important feature is selected from the transcribed responses using statistical techniques. Again, the transcribed data goes through the feature extraction and feature scoring technique. An example of the feature is:

    
    
        WORD(check) NEAR WORD(balance) WITHIN_DISTANCE(2),

which implies checking an account balance.

    
    


On extracting the features, the IVR system uses the features to enrich the grammar to recognize different variations of speech. Once the features are weighted and top features selected, these features can help identify the patterns that were missed by grammar rules and can be translated directly into the rules of grammar.
Further, the IVR system uses the features to enrich the grammar and improve the text mining model to address speech variations. The IVR system also uses the features to improve the text mining model, and thereby improve prediction of the customer intent when using the transcribed text.
FIG. 2 is a block schematic diagram showing an IVR system according to the invention. The IVR system 103 comprises a control module 201, a speech recognition module 202, a user interface 203, a feedback module 204, and a database 205.
When the customer connects to the IVR system 103 via the user interface, the control module queries the customer with regard to the action or actions that the customer wishes to perform. Upon receiving a response from the customer, the control module forwards the response to the speech recognition module. The speech recognition module converts the response into text. The speech recognition module may use techniques based on a special grammar that is trained to identify certain keywords more accurately than others. The control module identifies the customer by constructing an identity key, K for the customer, as discussed above.
The control module may identify the gender and age group of the customer based on analysis of the response received from the customer. The control module, along with the speech recognition module, may identify the gender of the customer based on the tones and or frequency of the customer's speech in the response. The control module, along with the speech recognition module, may identify the age group of the customer based upon the type of language and vocabulary used by customer.
The control module also performs a CRM dip based on the predicted identity of the customer to identify various attributes of customer.
The control module performs a feature extraction from the text and produces a probability score, A of the intent provided the feature vector of the text, as discussed above.
The control module computes the probability of intent based on the customer's historical behavior B. The control module computes the score of each intent based on the CRM attributes C and based on general population based behavior. Finally, the control module scores each intent given the above mentioned scores and selects the maximum scoring intent.
The control module compares the score of the selected intent to a predefined threshold. If the selected intent has a score that is greater than the threshold, then the control module optimizes the journey of the customer based on the selected intent. If the selected intent has a score less than the threshold, then the control module offers a standard IVR journey to the customer. After the journey is completed, the control module stores the speech response, the transcriptions of the speech responses, and the attributes in the database.
The feedback module 204 picks up at least one sample of the customer's speech responses from the database 205 and sends the speech response to the speech recognition module 202. The speech recognition module transcribes the responses into text. The speech recognition module passes the transcribed responses to the feedback module, which selects at least one important feature from the transcribed responses. In an embodiment of the invention, at least one important feature is selected from the transcribed responses manually. In an embodiment of the invention, at least one important feature is selected from the transcribed responses using statistical techniques. This can be the same feature used in the text mining model.
On extracting the features, the feedback module uses the features to enrich the grammar to recognize variations in the customer's speech. Further, the feedback module uses the features to enrich the grammar and improve the text mining model to account for such variations in the customer's speech. The feedback module also uses the features to improve the text mining model, and thereby improve prediction of the customer's intent when using transcribed text.
FIGS. 3A and 3B together provide a flowchart that shows a method for intent prediction according to the invention. When the customer connects (301) to the IVR system, the IVR system queries (302) the customer with regard to the action or actions that the customer wishes to perform. In an example, the IVR system may query the customer using a phrase such as “How may I help you?” The customer responds (303) to the query using a natural language response, which may be in any form and may use any terms which are comfortable for the customer. The IVR system converts (304) the response into text. The IVR system may use techniques based on a special grammar that is trained to identify certain keywords more accurately than others.
The IVR system also identifies (305) the customer by constructing an identity key for the customer. The IVR system may identify the gender and age group of the customer based on analysis of the response received from the customer. The IVR system may identify the gender of the customer based on the tones and or frequency of the speech in the customer's response. The IVR system may also identify the age group of the customer based upon the type of language and vocabulary used by the customer.
The IVR system also performs (306) a CRM dip based on the customer's predicted identity to get attributes of the customer. The IVR system performs (307) a feature extraction from the text and generates (308) a probability score for the intent identified by the feature vector of the text. The IVR system computes (309) the probability of intent based on the customer historical behavior, as discussed above. The IVR system computes (310) a score of each intent based on the CRM attributes. The IVR system also computes (311) the score of each intent based on behaviors across the general population.
Finally, the IVR system scores (312) each intent, given the above mentioned attributes, and selects (313) the maximum scoring intent. The IVR system compares (314) the score of the selected intent to a predefined threshold. If the selected intent has a score that is greater than the threshold, then the IVR system optimizes (315) the journey of the customer based on the selected intent. If the selected intent has a score that is less than the threshold, then the IVR system offers (316) a standard IVR journey to the customer. After the journey is completed, the IVR system stores (317) the speech response, the transcriptions of the speech responses, and the attributes in the database. For purposes of understanding the invention, it should be appreciated that various actions described herein in connection with FIGS. 3A and 3B may be performed in the order presented, in a different order, simultaneously, or some of these actions may be omitted altogether.
FIG. 4 is a flowchart that shows a method for feedback and learning according to the invention. The IVR system 103 (see FIG. 1) picks up (401) at least one sample of the customer's speech responses and transcribes (402) the responses into text. In an embodiment of the invention, the transcription may be a manual process. In another embodiment of the invention, the IVR system passes the speech responses through a batch ASR system, which transcribes the responses using at least one predicted label, and at least one important feature is selected (403) from the transcribed responses. In an embodiment of the invention, at least one important feature is selected from the transcribed responses manually. In an embodiment of the invention, at least one important feature is selected from the transcribed responses using statistical techniques.
Upon extracting the features, the IVR system enriches (404) the grammar using the grammar to recognize different variations of speech. Further, the IVR system improves (405) the text mining model uses the features to take into account variations of speech. For purposes of understanding the invention, it should be appreciated that various actions described herein in connection with FIG. 4 may be performed in the order presented, in a different order, simultaneously, or some of these actions may be omitted altogether.
Embodiments of the invention allow the use of natural language queries in an IVR system, while providing a very flexible approach to grammar tuning. Embodiments of the invention integrate text mining, along with the transcriptions, thus providing flexibility. Embodiments of the invention use an automatic learning feedback loop, along with flexible learning techniques, to improve text mining models. Embodiments of the invention also leverage a customer's past behavior and segment behavior to reinforce the intent prediction that is made for the customer.
Embodiments of the invention allow customers to make a natural language queries to specify their intent, while maintaining the accuracy of traditional IVR systems. Embodiments of the invention use key features in language along with the customer's past transactions, CRM attributes, and customer segment attributes to identify customer intent.
Computer Implementation
FIG. 5 is a block schematic diagram that depicts a machine in the exemplary form of a computer system 500 within which a set of instructions for causing the machine to perform any of the herein disclosed methodologies may be executed. In alternative embodiments, the machine may comprise or include a network router, a network switch, a network bridge, personal digital assistant (PDA), a cellular telephone, a Web appliance or any machine capable of executing or transmitting a sequence of instructions that specify actions to be taken.
The computer system 500 includes a processor 502, a main memory 504, and a static memory 506, which communicate with each other via a bus 508. The computer system 500 may further include a display unit 510, for example, a liquid crystal display (LCD). The computer system also includes an alphanumeric input device 512, for example, a keyboard; a cursor control device 514, for example, a mouse; a disk drive unit 516; a signal generation device 518, for example, a speaker; and a network interface device 528.
The disk drive unit 516 includes a machine-readable medium 524 on which is stored a set of executable instructions, i.e. software, 526 embodying any one, or all, of the methodologies described herein below. The software 526 is also shown to reside, completely or at least partially, within the main memory 504 and/or within the processor 502. The software 526 may further be transmitted or received over a network 530 by means of a network interface device 528.
In contrast to the system discussed above, a different embodiment uses logic circuitry instead of computer-executed instructions to implement processing entities. Depending upon the particular requirements of the application in the areas of speed, expense, tooling costs, and the like, this logic may be implemented by constructing an application-specific integrated circuit (ASIC). Such an ASIC may be implemented with CMOS (complementary metal oxide semiconductor), TTL (transistor-transistor logic), VLSI (very large systems integration), or another suitable construction. Other alternatives include a digital signal processing chip (DSP), discrete circuitry (such as resistors, capacitors, diodes, inductors, and transistors), field programmable gate array (FPGA), programmable logic array (PLA), programmable logic device (PLD), and the like.
It is to be understood that embodiments may be used as or to support software programs or software modules executed upon some form of processing core, such as the CPU of a computer, or otherwise implemented or realized upon or within a machine or computer readable medium. A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine, e.g. a computer. For example, a machine readable medium includes read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals, for example, carrier waves, infrared signals, digital signals, etc.; or any other type of media suitable for storing or transmitting information.
Although the invention is described herein with reference to the preferred embodiment, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. Accordingly, the invention should only be limited by the Claims included below.

## Claims

1. A computer implemented method, comprising:
receiving, at an interactive voice response (IVR) system, a natural language query associated with a customer during a customer interaction;
identifying, by the IVR system, a customer intent based on key features in the natural language query along with any of past interactions of said customer with the IVR system, customer relations management (CRM) system attributes, and customer segment attributes, said identifying including:
converting speech associated with a natural language response of said customer into text, the natural language response received during the customer interaction;
determining a predicted identity of the customer based on a gender of the customer and an age group of the customer;
accessing a customer relations management (CRM) system to obtain the CRM attributes associated with the customer and the customer segment attributes, wherein the CRM attributes include the past interactions of the customer with the IVR system, wherein the customer segment attributes include attributes associated with the gender and the age group identified based on the natural language response;
extracting at least one key feature from the text, wherein the at least one key feature is an identified keyword based on a statistical model; and
computing a probability score of at least one intent associated with the at least one key feature, said computing the probability score comprising finding a best match, by a machine learning algorithm, between a first sequence of customer intents immediately preceding the customer intent and a second sequence of customer intents preceding the first sequence of customer intents, wherein the first sequence of customer intents and the second sequence of customer intents are ordered by a time and a date, wherein if the probability score of the at least one intent is greater than a threshold a journey of the IVR system of the customer is optimized and if the probability score of the at least one intent is less than the threshold a standard journey of the IVR system is offered to the customer.

2. The method of claim 1, wherein IVR is coupled to a communication network configured to enable communication with said customer via a customer device during said customer interaction.

3. The method of claim 1, wherein said speech is converted into the text based on a statistical language mode.

4. The method of claim 1, wherein said determining the predicted identity comprises:
constructing an identity key K for the customer, wherein the identity key K is a function of an automatic number identification, the gender, and the age group.

5. The method of claim 1, wherein said determining the predicted identity comprises:
identifying a tone and a frequency of the speech associated with the natural language response of said customer.

6. The method of claim 1, wherein said determining the predicted identity comprises:
identifying the age group based on a type of language and vocabulary associated with the natural language response of said customer.

7. The method of claim 1, further comprising:
performing a feature extraction from said text; and
generating a probability score A of the identified intent based on a feature vector of said text.

8. The method of claim 7, wherein generating the probability score A comprises:
analyzing an intent sequence associated with previous intent determined for previous calls.

9. The method of claim 1, further comprising:
analyzing a sample of the natural language response;
transcribing the natural language response, wherein the natural language response is transcribed using a predicted label, and wherein at least one feature is selected from said transcribed response.

10. The method of claim 1, further comprising:
storing the speech associated with the natural language response, transcription of the natural language response, and the customer attributes.

11. A system, comprising:
a processor;
a user interface configured to enable a customer to connect with the system;
a control module configured to:
query the customer for one or more responses associated with one or more actions that the customer wishes to perform;
determine an identity of the customer based on an analysis of the one or more responses received from the customer; and

a speech recognition module configured to:
receive the one or more responses; and
transcribe the one or more responses into text based on a special grammar that is trained to identify selected keywords; and

a machine learning model configured to:
compute a probability score by finding a best match between a first sequence of customer intents immediately preceding a customer intent associated with the response and a second sequence of customer intents preceding the first sequence of customer intents, wherein the first sequence of customer intents and the second sequence of customer intents are ordered by a time and a date, wherein if the probability score of the at least one intent is greater than a threshold a journey of the IVR system of the customer is optimized and if the probability score of the at least one intent is less than the threshold a standard journey of the IVR system is offered to the customer.

12. The system of claim 11, further comprising:
a database configured to store the one or more responses of the customer, a transcription of the one or more responses, and attributes associated with the customer.

13. The system of claim 11, further comprising:
a feedback module configured to:
receive the transcribed one or more responses;
select at least one feature from the transcribed one or more responses based on a statistical approach; and
using said at least one feature to enrich a grammar to recognize variations in a speech of the customer, to improve a text mining model to account for the variations in the speech, and to improve prediction of an intent of the customer based on the transcribed text.

14. The system of claim 11, wherein the control module is further configured to:
identify a gender of the customer based on analysis of at least one of the one or more responses received from the customer.

15. The system of claim 14, wherein the gender of the customer is identified based on any of tone or frequency of speech in the at least one of the one or more responses.

16. The system of claim 11, wherein the control module is further configured to:
identify an age group of the customer based on analysis of at least one of the one or more responses received from the customer.

17. The system of claim 16, wherein the age group is identified based on a type of language and vocabulary used by the customer.

18. The system of claim 11, wherein the control module is further configured to perform a Customer Relations Management (CRM) dip based on the identity of the customer to obtain attributes of the customer.

19. The system of claim 11, wherein the control module is further configured to compute a score of intent based on attributes obtained from a CRM dip.

20. A non-transitory computer-readable medium comprising:
instructions for converting into text, speech associated with a natural language response of a customer during a customer interaction;
instructions for determining a predicted identity of the customer based on a gender of the customer and an age group of the customer;
instructions for accessing a customer relations management (CRM) system to obtain CRM attributes associated with the customer and segment attributes associated with the customer, wherein the CRM attributes include past interactions of the customer with an IVR system, wherein the segment attributes include attributes associated with the gender and the age group identified based on the natural language response;
instructions for extracting at least one key feature from the text, wherein the at least one key feature is an identified keyword based on a statistical model; and
instructions for computing a probability score of at least one intent associated with the at least one key feature, said instructions for computing the probability score comprising instructions for finding a best match, by a machine learning algorithm, between a first sequence of customer intents immediately preceding the customer intent and a second sequence of customer intents preceding the first sequence of customer intents, wherein the first sequence of customer intents and the second sequence of customer intents are ordered by a time and a date, wherein if the probability score of the at least one intent is greater than a threshold a journey of the IVR system of the customer is optimized and if the probability score of the at least one intent is less than the threshold a standard journey of the IVR system is offered to the customer.