System and method for creating a language grammar using a spreadsheet or table interface
Abstract
The present invention is a computer software system that allows the developer of a speech-enabled system to create a grammar and corpus for use in the system. A table interface is used, and phrases in the grammar are entered into cells in the table. The table also includes token data which corresponds to each valid utterance. When the grammar is defined, the computer software system automatically traverses the table to enumerate all possible valid utterances in the grammar. This traversal generates a listing (corpus) of valid utterances and their respective tokens. This listing can then be used to interpret spoken utterances for a speech-enabled system. The computer software system also transcribes the grammar rules found in the table to a format compatible with a variety of supported commercially-available speech recognizers.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for creating a language grammar for use in an interactive voice response system, comprising the steps of: opening a main table, said main table comprising rows and columns of cells; entering phrase data in said cells; marking one of said cells as ending a valid utterance in said language grammar; entering token data in a cell associated with said marked cell, where said token data represents the meaning of said valid utterance ended by said marked cell; performing an enumeration traversal of said main table a first time to enumerate valid utterances found in said main table; writing results of said enumeration traversal to a first output file; analyzing said main table to extract a set of rules which define the valid utterances found in said main table; and writing results of said analysis to a second output file.
2. The method of claim 1, further comprising the step of creating a barrier in said main table that is not to be crossed during said enumeration traversal.
3. The method of claim 1, further comprising the step of identifying a cell as a non-terminal cell, where the contents of said non-terminal cell reference another table.
4. The method of claim 3, further comprising the step of identifying a non-terminal cell as a variable cell, where the contents of said variable cell also reference an algorithm which will be performed when said interactive voice response system detects a variable in a spoken utterance.
5. The method of claim 1, further comprising the step of identifying a cell as an optional cell, where valid utterances that include said optional cell are valid both with and without contents of said optional cell.
6. The method of claim 1, further comprising the step of identifying a cell as an automatic speech recognition (ASR) system directive cell, where the contents of said ASR directive cell have special meaning to an ASR system.
7. The method of claim 1, wherein said step of performing an enumeration traversal comprises the following steps: a) beginning with the topmost, leftmost non-blank cell in said main table; b) recording contents of said topmost, leftmost non-blank cell in an utterance buffer; c) moving to next non-blank cell to the right and appending contents of said cell to said utterance buffer; d) repeating step (c) until marked column is reached; e) writing contents of said utterance buffer to said first output file; f) moving left to the previous non-blank cell whose contents are in said utterance buffer and erasing contents of said previous non-blank cell from utterance buffer; g) repeating step (f) until current cell has vertically adjacent non-blank cell below said current cell with no heavy line between said current cell and said vertically adjacent non-blank cell; h) moving down to said vertically adjacent non-blank cell and appending contents of said vertically adjacent non-blank cell to said utterance buffer; and i) repeating steps (b)-(h) until entire main table has been traversed.
8. The method of claim 7, wherein said step of analyzing further comprises the steps of: j) grouping contents of vertically adjacent cells with logical OR; and k) combining said grouped contents which are horizontally adjacent with logical AND.
9. A computer system for creating a language grammar, said computer system comprising: a main table of columns and rows of cells; terminal cells in said main table, where phrase data is entered in said terminal cells and are combined to form valid utterances in said language grammar; marked cells in said main table, where marked cells indicate the end of a valid utterance; token data in a plurality of said cells, where each said valid utterance is associated with said token data which represents the meaning of said valid utterance; means for performing an enumeration traversal of said main table, where said enumeration traversal automatically generates a list of valid utterances in said language grammar; and means for analyzing said main table and extracting a set of rules from the contents of said main table, where valid utterances in said language grammar follow said set of rules.
10. The system of claim 9, further comprising one or more barriers in said main table that are not to be crossed during said enumeration traversal.
11. The system of claim 9, further comprising a non-terminal cell, where the contents of said non-terminal cell reference another table.
12. The system of claim 11, further comprising a variable cell, where the contents of said variable cell reference an algorithm which will be performed when said interactive voice response system detects a variable in a spoken utterance.
13. The system of claim 9, further comprising an optional cell, where valid utterances that include said optional cell are valid both with and without contents of said optional cell.
14. The system of claim 9, further comprising an automatic speech recognition (ASR) system directive cell, where the contents of said ASR directive cell have special meaning to an ASR system.
15. A method for creating a language grammar for use in an interactive voice response system, comprising the steps of: opening a main table, said main table comprising rows and columns of cells; entering phrase data in said cells; creating a barrier in said main table that is not to be crossed during an enumeration traversal; identifying a cell as a non-terminal cell, where the contents of said non-terminal cell reference another table; further identifying a non-terminal cell as a variable cell, where the contents of said variable cell also reference an algorithm which will be performed when said interactive voice response system detects a variable in a spoken utterance; identifying a cell as an optional cell, where valid utterances that include said optional cell are valid both with and without contents of said optional cell; identifying a cell as an automatic speech recognition (ASR) system directive cell, where the contents of said ASR directive cell have special meaning to an ASR system; marking one of said cells as ending a valid utterance in said language grammar; entering token data in a cell associated with said marked cell, where said token data represents the meaning of said valid utterance ended by said marked cell; performing said enumeration traversal of said main table a first time to enumerate valid utterances found in said main table; writing results of said enumeration traversal to a first output file; analyzing said main table to extract a set of rules which define the valid utterances found in said main table; and writing results of said analysis to a second output file.
16. The method of claim 15, wherein said step of performing an enumeration traversal comprises the following steps: a) beginning with the topmost, leftmost non-blank cell in said main table; b) recording contents of said topmost, leftmost non-blank cell in an utterance buffer; c) moving to next non-blank cell to the right and appending contents of said cell to said utterance buffer; d) repeating step (c) until marked column is reached; e) writing contents of said utterance buffer to said first output file; f) moving left to the previous non-blank cell whose contents are in said utterance buffer and erasing contents of said previous non-blank cell from utterance buffer; g) repeating step (f) until current cell has vertically adjacent non-blank cell below said current cell with no heavy line between said current cell and said vertically adjacent non-blank cell; h) moving down to said vertically adjacent non-blank cell and appending contents of said vertically adjacent non-blank cell to said utterance buffer; and i) repeating steps (b)-(h) until entire main table has been traversed.
17. The method of claim 16, wherein said step of analyzing further comprises the steps of: j) grouping contents of vertically adjacent cells with logical OR; and k) combining said grouped contents which are horizontally adjacent with logical AND.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.