, 9, 10,11, 15, 19) the system considers the spoken utterance formed by the keywords mapped to the nodes on the path to be the sentence intended by the speaker.
An ideal result for the method is to have keywords that can each be marked into the tree graph. If the nodes of the tree graph that are so marked form a complete path between one and only one leaf node and the root node, the system determines that the sentence formed by the keywords associated with the nodes on the path form a sentence that the user intended to speak.
If input keywords do not map onto the tree graph to form a complete path, the system solicits additional keywords from the user by way of a prompt. Additional keywords are processed in the same fashion until the system can reasonably determine the content of the spoken utterance.
In the event several leaf nodes are mapped into the tree, the system identifies other nodes and determines the path based on some method to be the most likely. The determination of the most likely path is based on probabilistic considerations discussed below. If there is no leaf node mapped, the system prompts the user for more input in an attempt to identify at least one leaf node.
By iterative querying, and using probability theory, the method seeks to obtain a sufficient number of keywords such that a string of keywords that has been pre-specified to form a sentence can be recognized by the system. If such a number of keywords can be obtained from the user, the system outputs a response that is appropriate to the detected sentence.
The method can be enhanced to include context sensitive query interpretation. Context from a previous query can be used to process subsequent queries. This may be done by storing the path that satisfied the last query and treating it as if all nodes from that particular path were marked. Nodes that were not previously marked on a path would be assigned static probability values based on past experience gathered by the input device while all other nodes would be EMS assigned the same dynamic probability values as before. New input would be requested from the user and the process described above would be repeated until the point where paths are sought to be determined. The last path of the marked tree nodes from the root to the leaf which was successful in the previous execution of the method is checked to determine whether one or more possible connections can be made from the last successful path to the marked nodes from current utterance, i.e., we seek to determine whether or not the marked tree nodes of the current utterance can be reached from a higher node other than the root of the past successful path. If such connection(s) can be made nodes are then marked on the previously successful path between the root and the connection point as nodes in the path(s) under consideration. The method is resumed and executed as described above.
With respect to FIG. 2, in implementation, a random access memory can store the predetermined numeric representations of recognizable words. Alternate embodiments might use EPROM, ROM, EEPROM, magnetic tape, CD-ROM or other means for storing data. Input speech 2-1 might be uttered into a microphone coupled to a general purpose digital computer to perform speech recognition 2-2 and the computations necessary to effectuate the aforementioned method. Other input sources could include a keyboard, mouse or pointing device, handwriting recognition devices, facsimile machines, optical character recognition software or devices, or output from a computer program, which might be directly coupled into the invention without the need for speech recognition, as shown in FIG. 2 by the broken line identified by reference numeral 2-3. Other computer means for computing might be employed, such as a digital signal processor for instance.
FIG. 9 is a source code listing of the NAWK programming language implementation of the construction of the data structures of FIGS. 4 and 5 as well as determining all paths in user utterances.
Citas de patentes