Statistical computing and reporting for interactive speech applications
First Claim
1. A method for generating information useful in improving performance of an interactive speech application program, the method comprising the steps of:
- receiving, from an event log that is generated by the interactive speech application during a call from a caller, one or more event values associated with one or more calls, wherein each of the event values describes a task carried out by the interactive speech application during the call and in response to interaction with the caller; and
generating a statistical summary of the performance of the interactive speech application based on the event values.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are disclosed for computing and reporting statistical information that describes the performance of an interactive speech application. The interactive speech application is developed and deployed for use by one or more callers. During execution, the interactive speech application stores, in a log, event information that describes each task carried out by the interactive speech application in response to interaction with the one or more callers. After the log is established, an analytical report is displayed. The report describes selective actions taken by the interactive speech application while executing, and selective actions taken by one or more callers while interacting with the interactive speech application. Information in the analytical report is selected so as to identify one or more potential performance problems in the interactive speech application. The analytical reports are generated based on the information stored in the event logs. Each line of the event log is associated with a particular call and is identified by a unique call number. Each line of the event log is then processed to calculate and extract data needed for the analytical reports.
225 Citations
39 Claims
-
1. A method for generating information useful in improving performance of an interactive speech application program, the method comprising the steps of:
-
receiving, from an event log that is generated by the interactive speech application during a call from a caller, one or more event values associated with one or more calls, wherein each of the event values describes a task carried out by the interactive speech application during the call and in response to interaction with the caller; and
generating a statistical summary of the performance of the interactive speech application based on the event values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
reading a current event value from the event log;
determining an identity of a call associated with the current event value;
processing call information values associated with the current event value to produce statistical data associated with each call;
iteratively repeating the reading, determining, and processing steps until all the events in the event log have been processed; and
creating the statistical summary based on the statistical data.
-
-
4. A method as recited in claim 3 wherein processing call information values further comprises creating and storing call initiation data for reporting on call initiation of each call when the current event is a Start of Call event.
-
5. A method as recited in claim 3 wherein processing call information values further comprises determining whether any module data exists for a current module associated with a Start of Module event when the current event is the Start of Module event.
-
6. A method as recited in claim 5 wherein determining whether any module data exists for a current module further comprises:
-
creating and storing a new module data element when no module data exists for the current module; and
initializing the new module data element with current module information.
-
-
7. A method as recited in claim 3 wherein processing call information values further comprises determining recognition context data when the current event is a Start of Recognition event.
-
8. A method as recited in claim 7 wherein determining recognition context data further comprises:
-
determining a current recognition context value based on the event log;
initializing the recognition context data using the current recognition context value;
updating the current module data based on a previous recognition context value when the current recognition context has a status value that is not Spelling, Confirmation or Start of Recognition; and
setting the status value of the current recognition context to Start of Recognition.
-
-
9. A method as recited in claim 8 wherein updating the current module data based on a previous recognition context value further comprises incrementing a value representing a number of acceptances associated with attempts to collect primary module data from the caller when the previous recognition context is Accepted.
-
10. A method as recited in claim 8 wherein updating the current module data based on a previous recognition context value further comprises incrementing a value representing a number of unknowns associated with attempts to collect primary module data from the caller when the previous recognition context is Confirmation.
-
11. A method as recited in claim 8 wherein updating the current module data based on a previous recognition context value further comprises incrementing a value representing a number of rejections associated with attempts to collect primary module data from the caller when the previous recognition context is Rejected.
-
12. A method as recited in claim 8 wherein updating the current module data based on a previous recognition context value further comprises incrementing a value representing a number of negative caller responses to confirmations associated with attempts to collect primary module data from the caller when the previous recognition context is Confirmed False.
-
13. A method as recited in claim 8 wherein updating the current module data based on a previous recognition context value further comprises incrementing the number of collections of caller responses.
-
14. A method as recited in claim 3 wherein processing call information values further comprises updating timing information associated with the current recognition context when a Beginning of Speech keyword is present and when the current event is a Start of Utterance event.
-
15. A method as recited in claim 1 wherein generating the statistical summary further comprises generating a report describing transaction results for each module of the interactive speech application.
-
16. A method as recited in claim 15 wherein generating a report of transaction results further comprises, for each module of the interactive speech application, creating and displaying a success rate value based on a sum of a percentage of transactions assumed to be correct and a percentage of transactions that ended in a command divided by the sum of the percentage of transactions assumed to be correct and a percentage of transactions that ended in the command and a percentage of transactions that failed.
-
17. A method as recited in claim 1 wherein generating the statistical summary further comprises generating a report of results of attempts to collect primary module data from the caller.
-
18. A method as recited in claim 17 wherein generating a report of results of attempts to collect primary module data further comprises, for each module of the interactive speech application, creating and displaying the percentage of attempts that were accepted, confirmed true, confirmed false, and rejected.
-
19. A method as recited in claim 1 wherein generating the statistical summary further comprises generating a report describing recognition context results.
-
20. A method as recited in claim 1 wherein generating the statistical summary further comprises generating a report describing context statistics.
-
21. A computer-readable medium for generating information useful in improving performance of an interactive speech application program and carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to carry out the steps of:
-
receiving, from an event log that is generated by the interactive speech application during a call from a caller, one or more event values associated with one or more calls, wherein each of the event values describes a task carried out by the interactive speech application during the call and in response to interaction with the caller; and
generating a statistical summary of the performance of the interactive speech application based on the event values. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
reading a current event value from the event log;
determining an identity of a call associated with the current event value;
processing call information values associated with the current event value to produce statistical data associated with each call;
iteratively repeating the reading, determining, and processing steps until all the events in the event log have been processed; and
creating the statistical summary based on the statistical data.
-
-
24. The computer-readable medium of claim 23 wherein processing call information values further comprises creating and storing call initiation data for reporting on call initiation of each call when the current event is a Start of Call event.
-
25. The computer-readable medium of claim 23 wherein processing call information values further comprises determining whether any module data exists for a current module associated with a Start of Module event when the current event is the Start of Module event.
-
26. The computer-readable medium of claim 25 wherein determining whether any module data exists for a current module further comprises:
-
creating and storing a new module data element when no module data exists for the current module; and
initializing the new module data element with current module information.
-
-
27. The computer-readable medium of claim 23 wherein processing call information values further comprises determining recognition context data when the current event is a Start of Recognition event.
-
28. The computer-readable medium of claim 27 wherein determining recognition context data further comprises:
-
determining a current recognition context value based on the event log;
initializing the recognition context data using the current recognition context value;
updating the current module data based on a previous recognition context value when the current recognition context has a status value that is not Spelling, Confirmation or Start of Recognition; and
setting the status value of the current recognition context to Start of Recognition.
-
-
29. The computer-readable medium of claim 28 wherein updating the current module data based on a previous recognition context value further comprises incrementing a value representing a number of acceptances associated with attempts to collect primary module data from the caller when the previous recognition context is Accepted.
-
30. The computer-readable medium of claim 28 wherein updating the current module data based on a previous recognition context value further comprises incrementing a value representing a number of unknowns associated with attempts to collect primary module data from the caller when the previous recognition context is Confirmation.
-
31. The computer-readable medium of claim 28 wherein updating the current module data based on a previous recognition context value further comprises incrementing a value representing a number of rejections associated with attempts to collect primary module data from the caller when the previous recognition context is Rejected.
-
32. The computer-readable medium of claim 28 wherein updating the current module data based on a previous recognition context value further comprises incrementing a value representing a number of negative caller responses to confirmations associated with attempts to collect primary module data from the caller when the previous recognition context is Confirmed False.
-
33. The computer-readable medium of claim 28 wherein updating the current module data based on a previous recognition context value further comprises incrementing the number of collections of caller responses.
-
34. The computer-readable medium of claim 23 wherein processing call information values further comprises updating timing information associated with the current recognition context when a Beginning of Speech keyword is present and when the current event is a Start of Utterance event.
-
35. The computer-readable medium of claim 21 wherein generating the statistical summary further comprises generating a report describing transaction results for each module of the interactive speech application.
-
36. The computer-readable medium of claim 21 wherein generating the statistical summary further comprises generating a report of results of attempts to collect primary module data from the caller.
-
37. The computer-readable medium of claim 21 wherein generating the statistical summary further comprises generating a report describing recognition context results.
-
38. The computer-readable medium of claim 21 wherein generating the statistical summary further comprises generating a report describing context statistics.
-
39. The computer-readable medium of claim 36 wherein generating a report of results of attempts to collect primary module data further comprises, for each module of the interactive speech application, creating and displaying the percentage of attempts that were accepted, confirmed true, confirmed false, and rejected.
Specification