SPEAKER-TRAINED SPEECH RECOGNIZER

Abstract: During a training sequence, a speaker-trained speech recognizer detects and signals the speaker when vocabulary word pairs are p'otentially confusing to the recognizer. Each vocabulary word is converted (106) into parameters representing a predetermined reference model of that word. The feature signals of a subsequent potential vocabulary word are compared against the reference model of each vocabulary word previously stored in the recognizer memory (105). The speaker is signaled (107) when the potential vocabulary word is confusingly similar to one of the existing vocabulary words.

Description: Technical Field This invention relates to speaker-trained speech recognition systems. Background of the Invention Recent improvements in speech recognition algorithms and hardware have made it possible to develop speaker-trained speech recognition systems that can be used in consumer and small business products. The vast majority of users in this market have no experience with speech recognition systems and, hence, don't understand how to use these systems to obtain the best performance. One problem which causes degraded performance in a speaker-trained speech recognizer is the selection of the vocabulary to be recognized. For example, if the user (i.e., speaker) selects two words that are acoustically similar, such as "Larry" and "Barry", the recognizer will likely have trouble distinguishing them. In IEEE Transactions on Audio and Electroacoustics, vol ASSP-24, no. 6, December 1976, pages 597-582, A.D.C. Holden and Edward Strasbourger disclose a spoken computer programming language. The vocabulary was constructed by a painstaking process which involved selecting, by means of an interactive computer system, a set of readily distinguishable phonemes on the basis of their distance measures, and then constructing a set of words using those phonemes. In ICASSP 83 proceedings, 14th-16th April 1983, Boston, Mass. US, vol 2, pages 757-760, Y. Chen discloses a method of vocabulary selection for a speech recognizer which consists of choosing a sub-vocabulary from a given larger vocabulary, and then systematically improving the selection by systematically replacing words so that either the minimum or the average distance measure between words is increased. A problem which remains is to provide a simple system to enable an untrained user to select his own vocabulary. Summary of the Invention This problem is solved in accordance with the present invention by a speaker-trained speech recognizer as defined in claim 1 which, during the training procedure, detects and signals the speaker of word pairs that are potentially confusing to the recognizer, thereby enabling the speaker to change the word vocabulary selection accordingly. More particularly, the speaker-trained speech recognizer converts speaker vocabulary word utterances into parameters representing a predetermined reference model thereof. The parameters of a subsequent potential vocabulary word utterance are compared against this predetermined reference model using predetermined criteria, and the speaker is signaled when any difference therebetween is less than a predetermined value. The present invention also provides a method as claimed in claim 11. Brief Description of the Drawing The operation of the present invention will be more apparent from the following description taken in conjunction with the drawings in which: FIG. l is a block diagram of speech recognizer hardware useful for describing the present invention; FIG. 2 illustrates various techniques for comparing word utterances; and FIG. 3 shows a flow chart describing the training procedure in accordance with the operation of the present invention. General Description Shown in FIG. l is a block diagram of one embodiment of the hardware capable of implementing a speaker-trained speech recognizer according to the present invention. The heart of the implementation is a general purpose microprocessor l0l (e.g., an Intel 8096) which performs the training, pattern matching and overall system control functions in accordance with the flow chart operation illustrated in FIG. 3. Connected to microprocessor bus l03 through bus interface logic l02 is read-only-memory (ROM) l04 for program storage, random-access-memory (RAM) l05 for word model storage, programmable Digital Signal Processor (DSP) l06 (e.g., AT&T DSP20) for extracting features from the speech signal, and speech synthesizer l07 for providing verbal feedback to the speaker. Associated with DSP l06 is an analog-to-digital converter l08 for changing the analog speech signal from a microphone into the discrete quantized samples which are processed by DSP l06. A separate digital-to-analog converter l09 may or may not be needed to convert the output of speech synthesizer l07 to an analog signal. For example, an AT&T 439B synthesizer requires an 8-bit µ-law D/A converter. The DSP l06 could implement any of several well known feature extraction procedures. For example, a conventional linear predictive coding (LPC) or a multi-channel filter bank technique can be utilized to extract speech features. One illustrative filter bank embodiment utilizes a set of digital bandpass filters which periodically (every l5 msec) estimates the energy in each of eight different frequency bands. The filter bank spans the telephone bandwidth from 200 Hz to 3200 Hz. Each channel of the filter bank is sampled every l5 msec (frame rate) to ensure that transient speech signals are captured. The eight samples taken at l5 msec intervals provide a snapshot of the speech spectrum at that instant. The resulting feature vector or frame of filter bank data is normalized to reduce the effects of varying amplitude on recognition performance. The normalized filter bank feature vectors are then outputted by DSP l06 for processing by microprocessor l0l. The microprocessor l0l stores the feature vectors from an incoming word in RAM l05 attached to bus l03. As the data from the DSP l06 is being collected, microprocessor l0l looks for the start and end of the word by comparing the energy in the incoming features to several amplitude thresholds. In a well-known manner, durational constraints are also imposed to determine the validity of potential word endpoint candidates. This same operation takes place whenever an utterance is needed for training or recognition processing. As will be discussed in later paragraphs, all comparisons or scoring of incoming words against models for both training and recognition as well as model generation is done by microprocessor l0l. Both the relative and absolute score comparison of the disclosed training procedure are also done by microprocessor l0l. Feedback to the speaker may be provided by speech synthesizer l07 controlled by microprocessor l0l. This feedback could include messages prompting the speaker to speak words, reporting the results of recognition, and informing the speaker that the word he/she is trying to train is too similar to previously trained words and that a new word should be selected. In FIG. l, it has been assumed that all memory required to store verbal messages is included in speech synthesizer l07. Obviously, a visual or text output unit could complement or replace speech synthesizer l07 to give visual or other feedback to the speaker. Once the recognizer of FIG. l has been trained with a word vocabulary by the speaker, it accurately detects any speaker utterances which utilize the vocabulary words. The size of the vocabulary is limited only by the size of the RAM l05 utilized by the recognizer. Detailed Description FIG. 2 illustrates some possible techniques by which the recognizer of FIG. l may detect confusingly similar vocabulary word pairs. The recognizer measures the similarity between two given words (e.g., word l and word 2) in the vocabulary. One solution may use a metric that can compute the similarity between two models, where a model is defined herein as a template (a time history of speech signal features) or as a parametric representation of the speech signal--e.g., a Hidden Markov Model (HMM). With this definition of a model in the template case, forming a model is accomplished by collecting the feature signals and storing them in memory l05. The templates, 203 and 204, for word l and word 2 may be determined using either the LPC or filter bank technique (i.e., 20l and 202). The template method requires little additional storage because the templates are already stored in the recognition system's memory. For conventional speech recognizers, the two templates 203 and 204 can be compared using the same Dynamic Time Warping (DTW) procedure (205) used in time-aligning an incoming utterance with a template during recognition. For a parametric speech recognizer, parametric models (206, 207), such as ones based on Hidden Markov Models (HMM), must be generated. In this case, only the parameters of a parametric model (208, 209) of the speech signal are maintained and, therefore, a metric (2l0) is needed that compares two parametric representations. In practice, metrics 2l0 that we have tried (such as measuring differences in corresponding state observation distributions) did not adequately predict recognition performance using only model parameters. This HMM technique is described in the two articles S. E. Levinson, L. R. Rabiner, and M. M. Sondhi, "An Introduction to the Application of the Theory of Probabilistic Functions of a Markov Process in Automatic Speech Recognition," Bell System Technical Journal , 62, No. 4, Part l (April l983), pp. l035-l074, and L. R. Rabiner, S. E. Levinson, and M. M. Sondhi, "Application of Vector Quantization and Hidden Markov Models to Speaker Independent, Isolated Word Recognition," Bell System Technical Journal , 62, No. 4, Part l (April l983), pp. l075-ll05. An alternative to comparing parameters of two parametric models for similarity is to take an incoming word 2 utterance and directly compare the derived speech features 204 against the parameters of the previously trained word models 208. The comparison unit 2ll may utilize the well-known Viterbi scoring technique to accurately predict recognition performance of the speech recognizer. The remainder of this specification describes a recognizer which operates using this technique. The training procedure according to the present invention allows a speech recognition system to detect a potentially confusing word pair and provides speakers an opportunity to change their word selection. While the procedure of the present invention is applicable to any of the techniques described in FIG. 2 and can be utilized in virtually any speech recognition system, it is especially useful for recognition algorithms based on parametric speech models. FIG. 3 shows a flow chart describing the overall operation of the present invention. The following description makes joint reference to FIGS. l and 3. In the following description, each element of each figure has a reference designation associated therewith, the first number of which indicates in which figure that element is located (e.g., 30l is located in FIG. 3). In the following description, the variable "i" indicates the repetition of the word. That is, during the training process a word may be repeated several timers by the speaker to enable the recognizer to derive a more accurate model thereof. Thus, i-l indicates a previous utterance of the same word. The predetermined maximum number of repetitions of a word required by the recognizer is NR. The variable "N" indicates the word number. The word N+l is the word being trained. The model number "M" is depicted with the word number as the first variable and the repetition as the second variable, e.g., M(N+l, i-l). In the example, the model M(N+l, i-l) is for a previous repetition (i-l) of word N+l. Once the model is completed, the repetition variable i is dropped; hence M(N, i) becomes MN. The score S(N+l) is the result of a comparison of features of a word utterance against the resulting model of the same word. The score S(MIN) is the minimum score of a group of scores Sl--SN derived when the features of a word utterance are compared against the model of each previous word trained by the recognizer. Before describing the operation of FIG. 3, we describe the operation of training the recognizer with the first word, that is, generating the model for word l (Ml). With reference to FIG. l when the speaker utters the first word for the first time, A/D converter l08 converts the analog signal to a digital signal, DSP l06 extracts speech features and microprocessor l0l generates a parametric model of the word. As previously discussed, the model may be only a feature template derived from a filter bank of DSP l06. The operation of the disclosed training procedure operates in the same manner and is independent of whether the model is feature based or parameter based. The following description assumes that DSP l06 first extracts features and then microprocessor l0l generates a parametric parameter model thereof using the HMM process. After the first utterance of the first word, a model M(l, l) is generated. While not essential to the operation of the present invention, it has been determined that a more accurate word model is generated when multiple utterances of the same word are used to update the model. Thus, according to one aspect of the present invention, the speaker repeats the utterance of the first word a predetermined number of times, NR, and the word model is updated accordingly. After NR such utterances, the word model for the first word is designated as Ml and is stored in RAM l05 by microprocessor l0l. A flow chart illustrating the training procedure for word N+l according to the present invention is shown in FIG. 3. The following description references FIGS. l and 3. Again, index i indicates which training repetition is being tested out of the NR total repetitions used to model word N+l. It is assumed that words l through N have already been trained and associated models Ml to MN generated. The repetition counter is set to zero, 30l, and incremented, 302, when the first utterance of word N+l is received. The first step in the training procedure 303 is used in both training and recognition processes. As noted, Linear Predictive Coding (LPC) and filter bank analysis are two examples of feature analysis methods, but other well-known techniques, as described in the previously referenced articles, may be utilized. The present embodiment utilizes a filter bank (DSP l06 of FIG. l) to estimate the energy in each of eight different frequency bands covering the 200 Hz to 3200 Hz telephone bandwidth. Each channel of the filter bank is sampled every l5 msec giving a time history of the log energy in the corresponding frequency band. The l5 msec rate (frame rate) was chosen to be fast enough to capture the transient behavior present in speech signals without having excessive redundancy. The eight samples of the different channels taken at the same time instant form a feature vector or frame of filter bank data and provide a snapshot of the speech spectrum at that instant. Before the filter bank feature vectors are outputted by DSP l06 for processing by microprocessor l0l, they are normalized to reduce the effects of varying speech amplitude on recognition performance. The resulting set of features (feature vectors) is than compared, 304, to the models (Ml to MN) for the N previously trained vocabulary words. This previous word model comparison technique is identical to the matching algorithm which is to be used to score words during the recognition phase of operation of the recognizer. In a conventional feature pattern-matching recognizer, this might be one of the variations of Dynamic Time Warping. In the present embodiment, the well-known Viterbi scoring is used to compute the probability of the training utterance having been produced by the existing HMM word models. Viterbi scoring is used as a criterion for comparison between the incoming word features and each of the word models. This recursive algorithm may be stated as: where O t is the observation corresponding to the t th frame of filter bank data, π i is the probability of starting a state i, a ij is the probability of a transition from state i to state j given the current state is i, and b j (O t ) is the probability of the observation O t given the state is j. Log probabilities are used to eliminate multiplications. If there are T frames of data in the spoken word, the score for that word is simply δ T (N) since we are forcing the model to end in the last state. In practice, the computations are further simplified by our forcing the model to start in the first state and only allowing recirculation and single format state transitions. Each of the N comparisons of step 304 results in a Viterbi score indicative of the degree of similarity between the word N+l and previously trained N words of the recognizer vocabulary. After scores (Sl--SN) have been obtained for the N previously trained words, the scores are searched, in step 305, to find the best match. Since the smaller the Viterbi score, the closer the match, a search of Sl--SN for the minimum score S(MIN) is made. In step 306, if i = l, that is, if the first repetition of the word N+l is being processed, an initial model M(N+l, l), step 307, is derived using whatever model or template generation procedure is appropriate for the particular recognition algorithm. (Again, in the present embodiment the well-known HMM modeling procedure is utilized. This procedure is described in the previously referenced articles.) A present word model scoring technique, step 308, compares the derived set of features for the incoming word N+l against the new model M(N+l, l) when i = l. If i is not equal to l in step 306, the features are compared, 309, in the same manner to the non-updated model M(N+l, i-l) from the previous iteration, again using the same Viterbi scoring technique used in recognition. This results in a present word score S(N+l) representative of typical scores during recognition for the word N+l when the correct word is spoken. Since the score S(N+l) compares the features derived from word N+l against the model derived from those features, it gives a good gauge as to how good a score is possible. After the first utterance, when i =l, this score will be artificially low since the same utterance used to derive the model is being used for the comparison. In fact, in a pattern-matching recognizer, the feature set and the model (template) could be identical. This reduces the value of this measure for the first training repetition. Once the scores S(MIN) of step 305 and S(N+1) of step 308 or 309 have been computed, it is necessary to perform a similarity test to check the similarity of the word N+1 to the previously trained words in the vocabulary. One test, step 310, is a comparison of the relative values of these two scores. If S(MIN) is less than S(N+1)--indicating what would have been a recognition error if this had been a recognition attempt--it is likely that the word N+1 and the word corresponding to S(MIN) are potentially confusing and, hence, the speaker should be warned, 312, and given an opportunity to change the vocabulary word. As previously noted, the speaker is warned verbally using speech synthesizer 107. Two possibile relative word similarity tests which generate an index which indicates the similarity of word N+1 to the other N words are as follows: or alternatively: S(N+1) - S(MIN) < TR1 (2) The quantities TR and TR1 are empirically determined thresholds. Which one of these two comparison tests or other similar methods is used depends on the particular recognition scoring algorithm. The quantity TR is used in the present embodiment of the HMM-based recognizer. If the word N+1 passes this test, a second test may be performed. A second score comparison test, 311, looks only at the absolute score S(MIN). A low value of this score indicates that the word N+1 was a good match to one of the other N words in the vocabulary and, hence, the speaker should be warned as before with a failure of the relative score comparison test. Note, the value S(MIN) may be normalized in some fashion if its value depends on the duration of the incoming training utterance. The absolute score comparison test may be implemented simply as S (MIN) > TA (3) where TA is again an empirically determined threshold and S and(MIN) is the duration-normalized version of S(MIN). If Equation (3) is true, then the word N+l is acceptable. If i is greater than l, then the final step 3l3 in each iteration of the algorithm is to update the current model for the word N+l when the two score comparison tests 3l0 and 3ll have been passed. This updating step is only performed on iterations where i > l since a new model has already been generated for the first repetition (i = l) at an earlier step, 307, of the processing. Updating may be as simple as averaging templates together or may involve a more sophisticated robust training procedure. Obviously, the specifics of this step are dependent on the particular recognition algorithm. If i is less than NR, the predetermined number of repetitions required for the training of each word, the next utterance is requested (302, 303) from the speaker via speech synthesizer l07. If i equals NR, the training process is completed and the updated word model is M(N+l, NR) and it is stored in RAM l05 for use during the speech recognition phase.

Claims: A speaker-trained speech recognizer comprising means for extracting (106) a plurality of feature signals from a present training word utterance received from a speaker, means for generating (101,206) a plurality of parameters from said plurality of feature signals, means for comparing (101,211) said plurality of feature signals of said present training word utterance derived from said extracting means against a plurality of parameters of a previous trained word reference model derived from a previously received different word utterance using a predetermined criterion, and means for signaling (107) said speaker when an output of said comparing means indicates that the difference between said present word utterance and the reference model is less that a predetermined value thus indicating that the present word utterance is liable to be confused with the previously received word utterance. The speaker-trained speech recognizer of claim 1 wherein said reference model is a Hidden Markov Model. The speaker-trained speech recognizer of claim 1 or claim 2 wherein said extracting means comprises a filter bank means. The speaker-trained speech recognizer of any of the preceding claims wherein said comparing means comprises a Viterbi scoring means. The speaker-trained speech recognizer of any of the preceding claims wherein said comparing means comprises a previous word model scoring means (304) wherein said plurality of feature signals of said present word utterance are scored against each plurality of parameters of a previous reference word model derived from each previously received word utterance using said predetermined criterion, and said comparing means generates a similarity index (305) using the lowest score from said previous word model scoring means, and wherein said signaling means signals said speaker when said similarity index is less than a predetermined value (311). The speaker-trained speech recognizer of claim 5 wherein said comparing means includes present word model scoring means wherein said plurality of feature signals of said present word utterance is scored against said predetermined reference model derived therefrom (308,309) and wherein said comparing means utilizes an output of said present word model scoring means and the outputs of said previous word model scoring means to determine said similarity index (310). The speaker-trained speech recognizer of claim 6 wherein said lowest score from said previous word scoring means is S(MIN), said output of said present word model scoring means is S(N+1), and said similarity index is equal to S(N+1) - S(MIN). The speaker-trained speech recognizer of claim 6 wherein said lowest score from said previous word scoring means is S(MIN), said output of said present word scoring means is S(N+1), and said similarity index is equal to S(N+1) divided by S(MIN). The speaker-trained speech recognizer of claim 5 wherein said lowest score from said previous word scoring means is S(MIN), and said similarity index is equal to a duration-normalized form of S(MIN). The speaker-trained speech recognizer of any of the preceding claims including means for updating said previous reference word model in response to said plurality of feature signals of said present word utterance (314). A method of training a speaker-trained speech recognizer comprising extracting (106) a plurality of feature signals from a present training word utterance received from a speaker, generating (101,206) a plurality of parameters from said plurality of feature signals, comparing (101,211) said plurality of feature signals of said present training word utterance derived from said extracting means against a plurality of parameters of a previous trained word reference model derived from a previously received different word utterance using a predetermined criterion, and signaling (107) said speaker when an output of said comparing means indicates that the difference between said present word utterance and the reference model is less than a predetermined value, thus indicating that the present word utterance is liable to be confused with the previously received word utterance.

Inventors: DAUTRICH, BRUCE ALLEN, GOEDDEL, THOMAS WILLIAM, ROE, DAVID BJORN
Applicants: AMERICAN TELEPHONE AND TELEGRAPH COMPANY
Application year: 1987
Main classification: G10L5
IPC codes: G10L15, G10L11