eech input word to a stored representation of a word in its vocabulary, which consists of all of the stored models of words. Well-known spectral analysis techniques are typically used to map the spectral components of an input word to the spectral components of stored representations of words.
Most speech recognition systems typically require that recognizable words be spoken one at a time or a phrase at a time. Continuous-speech based recognition systems tend to have a lower level of accuracy compared to phrase recognition systems or word recognition systems. As the number of words in a basic vocabulary set increases, the chance of an error in the recognition process increases as well. Voice recognition systems in use today with moderately large vocabularies can map spoken words to text with an accuracy of around 85%. The success rate for spoken numbers is approximately 98%. The ultimate aim of any speech recognition system, however, is to map a given spoken input into correct text which can be used to generate an appropriate response to the spoken input.
Another problem with prior art speech recognition systems is that while they may be able to recognize a word or limited-length phrases, they are generally not able to understand words unless they are spoken in a particular sequence. The aforementioned menu-driven automated telephone answering systems present very limited choices to a caller. A speech recognition system that is capable of recognizing and understanding recognizable words, regardless of their order of use in a spoken utterance would be an improvement over the prior art. Such a system would be able to more closely approximate the recognition of natural languages such as the human recognition of speech, namely that verbal expression can be understood even if the expressive words are used in different sequences. A method and apparatus to understand recognized speech would provide the ability to more efficiently communicate with computer controlled communications equipment.
Accordingly, an object of the present invention is to provide a computer-based method and apparatus for understanding natural language input from a user, regardless of the sequence in which words are uttered. This results in a speed up achieved by loosening the rigid constraints of rigorous input language and by better handling input errors.
There is provided herein a method and apparatus for understanding natural language utterances that have been obtained and processed by an input device such as a speech recognition system. To practice the invention, a language must be defined. First, a finite set of key words with possible synonyms and homonyms is specified. A digital representation of each of these recognizable keywords comprising a language is stored within the computer. The defined keyword usages are considered to be the set of possible syntactical relationships between keywords as they might be used to constitute sentences formed by strings of the keywords, i.e. the sentences that can be formed from the keywords.
Input strings of speech are first analyzed to identify recognizable words. Such input preprocessed words are “tokens” or “keyword candidates”. (The recognizable words might be vocabulary words of the pre-specified, well-defined language, or they might not, i.e. they are candidates.) Keyword candidates are then tested to determine if they are words within the vocabulary of words that comprise the language. Keyword candidates that are within the set of defined keywords that comprise the language are identified for additional processing. Keyword candidates that are not within the set of words forming the language are discarded for being unrecognizable and incapable of providing any meaningful information. When a sufficient number of keywords have been collected to form a specified sentence of keywords within the language, a decision is made that the sentence formed by the identified keywords is identified as the sentence the user intended.
FIG. 1 shows a block diagram of a typical prior art speech-recognition system.
FIG. 2 sh