IP Library › Granted Patent US 9,298,811
Granted Patent B2
US 9,298,811 · App. 13/942,307 · Granted Mar 29, 2016

Automated confirmation and disambiguation modules in voice applications

Inventors: Rahul P. Akolkar (Somers, NY); Jan Kleindienst (Praha-Chodov, CZ); Victor S. Moore (Boca Raton, FL); David Nahamoo (Yorktown Heights, NY); Charles F. Wiecha (Tarrytown, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30684G10L15/1822G10L15/22G10L15/19
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,298,811
App. No.
13/942,307
Granted
Mar 29, 2016
Kind
B2
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.

Claims (56)

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.

2. The method of claim 1 , wherein the control flow logic incorporates business process modeling (BPM).

3. The method of claim 1 , wherein the disambiguation/confirmation requirement is generated by the control flow logic when a degree of certainty in a top candidate of the set of candidates is below a first predetermined threshold or a difference between the degree of certainty in the top candidate and another candidate of the set of candidates is below a second predetermined threshold.

4. The method of claim 1 , wherein the steps of analyzing and sorting attributes includes collecting identifiers from each candidate of the set of candidates pertaining to each attribute and sorting the attributes according to linguistic or phonemic characteristics.

5. The method of claim 4 , wherein a linguistic or phoneme database is accessed to provide the linguistic or phonemic characteristics.

6. The method of claim 1 , wherein querying the user includes:

generating a disambiguation user interface based on the top-sorted attribute with reference to one or more user interface documents;

providing the generated disambiguation user interface to the user via a text-to-speech module;

obtaining a user response via an automatic speech recognition module; and

reducing the set of candidates based on the obtained user response.

7. The method of claim 1 , wherein the partitioning score is a coefficient having a value of between 0.0 and 1.0.

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.

9. The method of claim 8 , wherein the steps of analyzing, sorting, and querying are repeated until the measure of certainty is either above a first predetermined threshold or below a second predetermined threshold.

10. The method of claim 9 , wherein when the candidate is modified to be below the second predetermined level of certainty, additional candidates are received from the control flow logic and disambiguation is performed on the additional candidates.

11. The method of claim 8 , wherein the control flow logic incorporates business process modeling (BPM).

12. The method of claim 8 , wherein the disambiguation/confirmation requirement is generated by the control flow logic when the measure of certainty in the candidate is below a predetermined threshold.

13. The method of claim 8 , wherein the steps of analyzing and sorting attributes includes collecting identifiers from the candidate pertaining to each attribute and sorting the attributes according to linguistic or phonemic characteristics.

14. The method of claim 13 , wherein a linguistic or phoneme database is accessed to provide the linguistic or phonemic characteristics.

15. The method of claim 8 , wherein querying the user includes:

generating a confirmation user interface based on the top-sorted attribute with reference to one or more user interface documents;

providing the generated confirmation user interface to the user via a text-to-speech module;

obtaining a user response via an automatic speech recognition module; and

modifying the measure of certainty based on the obtained user response.

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.

17. The method of claim 16 , wherein the control flow logic incorporates business process modeling (BPM).

18. The method of claim 16 , wherein the disambiguation/confirmation requirement is generated by the control flow logic when a degree of certainty in a top candidate of the set of candidates is below a first predetermined threshold or a difference between the degree of certainty in the top candidate and another candidate of the set of candidates is below a second predetermined threshold.

19. The method of claim 16 , wherein the steps of analyzing and sorting attributes includes collecting identifiers from each candidate of the set of candidates pertaining to each attribute and sorting the attributes according to linguistic or phonemic characteristics.

20. The method of claim 16 , wherein querying the user includes:

generating a disambiguation user interface based on the top-sorted attribute with reference to one or more user interface documents;

providing the generated disambiguation user interface to the user via a text-to-speech module;

obtaining a user response via an automatic speech recognition module; and

reducing the set of candidates based on the obtained user response.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2013
From: AKOLKAR, RAHUL P.; KLEINDIENST, JAN; MOORE, VICTOR S.; NAHAMOO, DAVID; WIECHA, CHARLES F.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030799/0594 →
Continuity (1)
Related Publication 20150019228A1 · Jan 15, 2015