Patent Document ID: 8099279
Application ID: 11054301
Patent Flag: 1

Claim One:
1. A computer implemented method of aiding a speech recognition program developer by grouping calls passing through a question-answer (QA) state or transition into clusters based on causes of problems, incurred by a speech application in performing speech tasks, associated with the calls, the method comprising: (a.1) accessing logged data indicative of a plurality of calls interacting with the speech application and indicative of QA states or transitions through which the calls passed during the interaction; (a.2) estimating an importance of each given QA state or transition using an importance measure indicative of a success rate of the speech application in performing the speech tasks if calls passing through the given QA state or transition pass instead through another QA state or transition; (a.3) identifying a set of most important QA states or transitions based on the importance measure; (a.4) selecting a QA state or transition in the set of most important QA states or transitions; (a) determining a number of clusters into which a plurality of calls passing through the selected QA state or transition will be grouped; (b) at least partially randomly assigning the plurality of calls to the different clusters; (c) utilizing a computer processor that is a functional component of a computer to estimate model parameters using clustering information based upon the assignment of the plurality of calls to the different clusters; (d) calculating individual probabilities for each of the plurality of calls using the model parameters estimated in step (c), each of the individual probabilities being indicative of a likelihood that the corresponding call belongs to a particular cluster because the corresponding call is associated with a cause of a problem incurred by the speech application that is associated with the particular cluster; (e) re-assigning the plurality of calls to the different clusters based upon the probabilities calculated in step (d); (f) iteratively performing steps (c), (d) and (e) until the grouping of the plurality of calls achieves a desired stability; (g) identifying the causes of the problems based upon the grouping of the plurality of calls once the grouping has achieved the desired stability; and (h) repeating steps (a.3), (a), (b), (c), (d), (e), (f), and (g) for each QA state or transition in the set of most important QA states or transitions.