US 6272455 B1
In a speech recognition system capable of identifying particular words, input speech signals can be processed to detect certain patterns and word combinations. The recognition of these speech patterns and word combinations allow the speech recognition system to replace a number-driven menu, automated attendant systems. Once the speech recognition system recognizes the input speech signal, it confirms the accuracy of the identified speech pattern or word combinations with the user.
1. A method for understanding natural language utterances within a well-defined language comprised of a set of predetermined, understandable keywords within a predetermined dictionary of such understandable keywords, said understandable keywords being representable by nodes in a tree graph the nodes of which include a root node, leaf nodes, and intermediate nodes between said root and leaf nodes, each leaf node and intermediate node of said tree graph representing one or more keywords in said predetermined dictionary of understandable keywords, syntactical relationships between recognizable keywords in said language being specified and representable by paths, formed by the edges in said tree graph linking said leaf nodes and said intermediate nodes to said root node in a predetermined order, said method comprising the steps of:
a) obtaining at least one input token representing an utterance from a user and determining if said at least one input token represents a recognizable keyword and mapping the occurrence of said recognizable keyword to a node in said tree, forming thereby marking nodes in said tree;
b) identifying mapped nodes in said tree to determine which nodes form a path between a leaf node to the root node of said tree by soliciting and receiving recognizable keywords testing mapped nodes according to a predetermined probability that mapped nodes correspond to a user's utterance; and
c) identifying a path between said root node and a marked leaf node to be an understood utterance of said user.
2. The method of claim 1 further comprising the step of identifying mapped nodes in said tree to determine which nodes form a path between a leaf node to the root node of said tree by soliciting and receiving additional recognizable keywords iteratively to obtain a plurality of input tokens.
3. An apparatus for understanding natural language utterances within a well-defined language comprised of a set of predetermined, understandable keywords within a predetermined dictionary of such understandable keywords, said understandable keywords being representable by a tree graph formed by nodes that include a root node, leaf nodes, and intermediate nodes between said root and leaf nodes, each leaf node and intermediate node representing one of more keywords in said predetermined dictionary of understandable keywords, syntactical relationships between recognizable keywords in said language being specified and representable by paths, formed by the edges in said tree graph linking said leaf nodes and said intermediate nodes to said root node in a predetermined order, comprising:
a) input means for obtaining at least one input token representing an utterance from a user and determining if said at least one input token represents a recognizable keyword and mapping the occurrence of said recognizable keyword to a node in said tree, forming thereby mapped nodes in said tree;
b) determination means for identifying mapped nodes in said tree to determine which nodes form a path between a leaf node to the root node of said tree;
c) identification means for identifying recognizable keywords of said language that are represented by said leaf node of to be an understood utterance of said user; and
d) means for identifying mapped nodes in said tree to determine which nodes form a path between a leaf node to the root node of said tree by soliciting and receiving additional recognizable keywords and testing mapped nodes according to a predetermined probability that mapped nodes correspond to a user's utterance.
4. The apparatus of claim 3 further includ