IP Library Granted Patent US 8,417,511
Granted Patent B2
US 8,417,511 · App. 11/616,998 · Granted Apr 9, 2013

Dynamic grammars for reusable dialogue components

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 8,417,511
App. No.
11/616,998
Granted
Apr 9, 2013
Kind
B2
Abstract

A system and method for authoring a voice application is provided. The voice recognition process uses a dynamic grammar which obtains data from a backend data source based upon an input in order to create expected results that a speech engine can recognize. The process can retrieve data from at least one of a plurality of back-end data sources and can build a grammar based on the data using at least in part a dynamic grammar builder. The grammar is loaded into the voice recognition application using at least in part the reusable dialog component. A data access service, XSLT processor, or other data accessing framework can be used to facilitate access and manipulation of data in heterogeneous environments.

Claims (53)

1. A method, comprising:

issuing a first command, via a reusable dialog component, to a data access service to retrieve data from at least one back-end data source, the format of the first command being independent of the at least one back-end data source;

retrieving the data, via the data access service, from the at least one back-end data source by using a second command that is selected based, at least in part, on the first command and the at least one back-end data source;

storing the data, via the data access service, in a data structure in a data structure format that is independent of the at least one back-end data source;

building a grammar based on the data structure using, at least in part, a dynamic grammar builder; and

loading the grammar into a first voice application in a manner enabling its use by the reusable dialog component, the reusable dialog component defining an interaction sequence between the first voice application and a user of the first voice application, the reusable dialog component being adapted for use in at least one voice application other than the first voice application.

2. The method of claim 1 , wherein storing the data in the data structure comprises the data access service populating a data graph based on the data.

3. The method of claim 2 , wherein the dynamic grammar builder accesses data objects of the data graph to build the grammar.

4. The method of claim 3 , further comprising:

serializing the data graph to XML formatted data; and

transforming the XML formatted data to a Speech Recognition Grammar Specification XML grammar.

5. The method of claim 2 , further comprising updating the at least one back-end data source based on the first command.

6. The method of claim 5 , further comprising generating an attribute and a class representative of logic for the updating of the at least one back-end data source.

7. The method of claim 1 , wherein the at least one back-end data source stores the data in XML format.

8. The method of claim 1 , further comprising:

issuing the first command, via the reusable dialog component, to the data access service to retrieve data from a second back-end data source different than the at least one back-end data source, the format of the first command being independent of the second back-end data source;

retrieving the second data, via the data access service, from the second back-end data source by using a third command that is selected based, at least in part, on the first command and the second back-end data source; and

storing the second data, via the data access service, in a second data structure in the data structure format, wherein the data structure format is independent of the second back-end data source.

9. A system, comprising:

at least one processor; and

at least one storage medium storing instructions which, when executed by the at least one processor, perform acts of:

issuing a first command, via a reusable dialog component, to a data access service to retrieve data from at least one back-end data source, the format of the first command being independent of the at least one back-end data source;

retrieving the data, via the data access service, from the at least one back-end data source by using a second command that is selected based, at least in part, on the first command and the at least one back-end data source;

storing the data, via the data access service, in a data structure in a data structure format that is independent of the at least one back-end data source;

building a grammar based on the data structure using, at least in part, a dynamic grammar builder; and

loading the grammar into a first voice application in a manner enabling its use by the reusable dialog component, the reusable dialog component defining an interaction sequence between the first voice application and a user of the first voice application, the reusable dialog component being adapted for use in at least one voice application other than the first voice application.

10. The system of claim 9 , wherein storing the data in the data structure comprises the data access service populating a data graph based on the data.

11. The system of claim 10 , wherein the instructions define accessing data objects of the data graph to build the grammar.

12. The system of claim 11 , wherein the instructions define serializing the data graph to XML formatted data and transforming the XML formatted data to a Speech Recognition Grammar Specification XML grammar.

13. The system of claim 10 , wherein the instructions define updating the at least one back-end data source based on the first command.

14. The system of claim 13 , wherein the instructions define generating an attribute and a class representative of logic for the updating of the at least one back-end data source.

15. The system of claim 9 , wherein the at least one storage medium storing instructions which, when executed by the at least one processor, further perform acts of:

issuing the first command, via the reusable dialog component, to the data access service to retrieve second data from a second back-end data source different than the at least one back-end data source, the format of the first command being independent of the second back-end data source;

retrieving the second data, via the data access service, from the second back-end data source by using a third command that is selected based, at least in part, on the first command and the second back-end data source; and

storing the second data, via the data access service, in a second data structure in the data structure format, wherein the data structure format is independent of the second back-end data source.

16. An article of manufacture having stored thereon computer readable program instructions which, when executed, perform a method comprising:

causing a computer to issue a first command, via a reusable dialog component, to a data access service to retrieve data from at least one back-end data source, the format of the first command being independent of the at least one back-end data source;

causing the computer to retrieve the data, via the data access service, from the at least one back-end data source by using a second command that is selected based, at least in part, on the first command and the at least one back-end data source;

causing the computer to store the data, via the data access service, in a data structure in a data structure format that is independent of the at least one back-end data source;

causing the computer to build a grammar based on the data structure using, at least in part, a dynamic grammar builder; and

causing the computer to load the grammar into a first voice application in a manner enabling its use by the reusable dialog component, the reusable dialog component defining an interaction sequence between the first voice application and a user of the first voice application, the reusable dialog component being adapted for use at least one voice application other than the first voice application.

17. The article of manufacture of claim 16 , wherein causing the computer to store the data in the data structure comprises causing the data access service to populate a data graph based on the data.

18. The article of manufacture of claim 17 , further comprising program instructions for causing the dynamic grammar builder to access data objects of the data graph to build the grammar.

19. The article of manufacture of claim 18 , further comprising:

program instructions for causing the computer to serialize the data graph to XML formatted data; and

program instructions for causing the computer to transform the XML formatted data to a Speech Recognition Grammar Specification XML grammar.

20. The article of manufacture of claim 17 , further comprising program instructions for causing the computer to update the at least one back-end data source based on the first command.

21. The article of manufacture of claim 20 , further comprising program instructions for causing the computer to generate an attribute and a class representative of logic for the update of the at least one back-end data source.

22. The article of manufacture of claim 16 , wherein the at least one back-end data source stores the data in XML format.

23. The article of manufacture of claim 16 , further comprising program instructions for:

causing a computer to issue the first command, via the reusable dialog component, to the data access service to retrieve second data from a second back-end data source different than the at least one back-end data source, the format of the first command being independent of the second back-end data source;

causing the computer to retrieve the second data, via data access service, from the second back-end data source by using a third command that is selected based, at least in part, on the first command and the second back-end data source; and

causing the computer to store, via the data access service, the second data in a second data structure in the data structure format, wherein the data structure format is independent of the second back-end data source.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: NUANCE COMMUNICATIONS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 065531/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2009
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: NUANCE COMMUNICATIONS, INC.
Reel/Frame 022689/0317 →