Automated confirmation and disambiguation modules in voice applications
First Claim
1. A method for providing a voice application, comprising:
- executing control flow logic modeling a dialog flow with a user via a voice browser, the control flow logic producing a disambiguation/confirmation requirement;
initiating a disambiguation/confirmation module in response to the disambiguation/confirmation requirement;
sending a set of at least two candidates and partitioning criteria from the control flow logic to the disambiguation/confirmation module;
analyzing attributes of the set of candidates to determine a partitioning score for each attribute indicative of that attribute'"'"'s ability to distinguish between the at least two candidates based on the partitioning criteria;
sorting the attributes based on their corresponding partitioning scores;
querying the user based on a top-sorted attribute and using results of the query to at least reduce the set of candidates;
repeating the steps of analyzing, sorting, and querying until the set of candidates is reduced to a single candidate; and
returning the single candidate from the disambiguation/confirmation module to the control flow logic for continued execution.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for providing a voice application includes executing control flow logic modeling a dialog flow with a user via a voice browser. The control flow logic produces a disambiguation requirement. A disambiguation module is initiated and a set of at least two candidates and partitioning criteria is sent from the control flow logic to the module. Attributes of the candidates are analyzed to determine a partitioning score for each attribute indicative of ability to distinguish between candidates based on the partitioning criteria. The attributes are sorted based on the partitioning scores. The user is queried based on a top-sorted attribute and results of the query are used to reduce the set of candidates. The steps of analyzing, sorting, and querying are repeated until the set of candidates is reduced to a single candidate. The single candidate is returned to the control flow logic for continued execution.
-
Citations
20 Claims
-
1. A method for providing a voice application, comprising:
-
executing control flow logic modeling a dialog flow with a user via a voice browser, the control flow logic producing a disambiguation/confirmation requirement; initiating a disambiguation/confirmation module in response to the disambiguation/confirmation requirement; sending a set of at least two candidates and partitioning criteria from the control flow logic to the disambiguation/confirmation module; analyzing attributes of the set of candidates to determine a partitioning score for each attribute indicative of that attribute'"'"'s ability to distinguish between the at least two candidates based on the partitioning criteria; sorting the attributes based on their corresponding partitioning scores; querying the user based on a top-sorted attribute and using results of the query to at least reduce the set of candidates; repeating the steps of analyzing, sorting, and querying until the set of candidates is reduced to a single candidate; and returning the single candidate from the disambiguation/confirmation module to the control flow logic for continued execution. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for providing a voice application, comprising:
-
executing control flow logic modeling a dialog flow with a user via a voice browser, the control flow logic producing a disambiguation/confirmation requirement; initiating a disambiguation/confirmation module in response to the disambiguation/confirmation requirement; sending a candidate and selection criteria from the control flow logic to the disambiguation/confirmation module; analyzing attributes of the candidate to determine a confirmation score for each attribute indicative of that attribute'"'"'s ability to confirm the correctness of the candidate based on the selection criteria; sorting the attributes based on their corresponding partitioning scores; querying the user based on a top-sorted attribute and using results of the query to modify a measure of certainty in the correctness of the candidate; and returning the measure of certainty in the correctness of the candidate to the control flow logic for continued execution. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for providing a voice application, comprising:
-
executing control flow logic modeling a dialog flow with a user via a voice browser, the control flow logic producing a disambiguation/confirmation requirement; initiating a database disambiguation module in response to the disambiguation/confirmation requirement; sending a set of at least two candidates and partitioning criteria from the control flow logic to the database disambiguation module; retrieving a set of attributes for each candidate of the set from a database; analyzing the attributes of each candidate of the set of candidates to determine a partitioning score for each attribute indicative of that attribute'"'"'s ability to distinguish between the at least two candidates based on the partitioning criteria; sorting the attributes based on their corresponding partitioning scores; querying the user based on a top-sorted attribute and using results of the query to at least reduce the set of candidates; repeating the steps of analyzing, sorting, and querying until the set of candidates is reduced to a single candidate; and returning the single candidate from the database disambiguation module to the control flow logic for continued execution. - View Dependent Claims (17, 18, 19, 20)
-
Specification