Speech recognition apparatus

Abstract: A speech recognition apparatus comprises a speech input unit (1) for receiving an input speech signal, analyzing it, and outputting a speech feature parameter series, a speech recognition unit (2) for extracting a speech feature vector from the parameter series, and matching it with a plurality of predetermined words to output a series of word candidates used as keywords, a syntactic analysis unit (3) for analyzing the series of the word candidates as the keywords according to syntactic limitation, and generating a sentence candidate.

Description: The present invention relates to a speech recognition apparatus using syntactic and semantic analysis. Recently, there have been attempts in which a person gives instructions to machines directly by means of speech, and various techniques for speech recognition have been developed. At present, however, the speech dialogue system between human and machines have not yet been realized. This is, in part, due to a problem of many variations of speech. Natural spoken language (spontaneous speech) is ambiguous, as compared to written language. In spontaneous speech, not only grammar but also units of sentences and boundaries of sentences have many variations. In addition, spontaneous speech includes unintentional utterances such as speech meaningless words, muttering, noise, etc. Conventional speech recognition apparatuses cannot cope with such variations of input speech. In these apparatuses, a person must input predetermined words in a limited vocabulary according to a predetermined sequence or grammar, and the input of such meaningless words as "er" or "uh" or continuously spoken sentences cannot be recognized. In the conventional speech recognition apparatus, an input speech is first detected, and the detected speech period is regarded as continuous series of words. Thus, the detected speech period is analyzed and evaluated as a complete sentence. Specifically, information such as a variation in speech energy is utilized for detecting a starting point or starting and end points of the input speech period, thereby detecting an input speech period as a complete sentence. Subsequently, an input vector extracted from speech feature parameters of input speech is matched with reference vector of words or phonemes. The extracted candidates of words and phonemes are fed into syntactic and semantic analysis by using syntactic and semantic information. In the above processing, candidates of input speech must be grammatically well formed utterances, and words and phonemes included in the speech are regarded as temporally continuous meaningful series and evaluated as a sentence. In the above method, however, when there are variations of the input speech such as noise, meaningless words (e.g. "er", "uh"), a silent period, muttering, non-verbal sounds, ellipsis, and out-of-vocabulary words, the syntactic and semantic analysis of the entire speech fails. To solve this problem, there is proposed a method wherein a meaning such as a category is given to noise and silent periods and the noise and silent periods are analyzed under the same conditions as other meaningful elements. However, because of uncertainty of position (time) of appearance of these elements, the amount of calculations increases considerably and the scope of processing is limited. There is another problem in the conventional method, in which starting and end points of a speech may be determined only by acoustic features, irrespective of syntactic and semantic processing. In this case, syntactic and semantic processing of noise, meaningless words (e.g. "er", "uh"), a silent period, muttering, non-verbal sounds, ellipsis, and out-of-vocabulary words, which occur within an input speech period, may fail. In the above processing, there is proposed an analysis method in which a range of allowance is provided in a speech period, i.e. a movable range of an end point. In this case, too, the starting point of the input speech is treated as being fixed beforehand. Thus, the problem in this case is the same as that in the case where both starting and end points are fixed. Further, a spotting method is known as a method of providing a range of allowance to the starting and end points for matching with reference vectors. In this case, the starting and end points of the unit of matching, e.g. a word or a phoneme, is provided with the range of allowance, and the starting and end points of an input speech are determined on the basis of likelihood between input vector and reference vector. It is necessary to perform linguistic processing, i.e. to treat grammatically well-formed sentence, muttering and ellipsis in the input speech as matching units (i.e. words, etc.), regard all of word series and phoneme series in the speech as meaningful unit series, and analyze and evaluate the meaningful unit series as complete well-formed sentences. Thus, the scope of processing is limited. As stated above, at present, there is no robust spontaneous speech understanding method using syntactic and semantic analysis of input speech. For this reason, in the conventional speech recognition apparatus, the speech interface must require input of speech in units of a syntactically fixed sentence. The conventional speech recognition apparatus cannot recognize spontaneous speech in natural human-machine dialogues, including noise, meaningless words (e.g. "er", "uh"), a silent period, muttering, ellipsis, and out-of-vocabulary words. In the conventional speech recognition apparatus, spontaneous speech cannot be processed as a speech input, then predetermined words in a limited vocabulary according only to a predetermined sequence or grammar can be recognized, and the input of such meaningless words as "er" or "uh" or continuously spoken sentences make recognition error. Proceedings of the IEEE, Vol 77, No 2, February 1989, pages 257-286, L. Rabiner, "A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition" discloses speech recognition apparatus comprising feature analysis means for receiving an external speech signal and performing spectral and/or temporal analysis thereof to give observation vectors, a unit matching system for providing the likelihoods of a match of all sequences of speech recognition units to the unknown input speech, lexical decoding means which places constraints on the unit matching system so that the paths investigated are those corresponding to sequences of speech units which are in a word dictionary, syntactic analysis means for placing further constraints on the unit matching system so that the paths investigated are those corresponding to speech units which comprise words, and semantic analysis means which adds further constraints to the set of recognition search paths. The object of the present invention is to provide a speech recognition apparatus capable of processing a spontaneous speech in which meaningless words or two or more continuous sentences may be included. The speech recognition apparatus of the present invention comprises: speech analyzing means for receiving an external speech signal, analyzing the speech signal, and generating a speech feature parameter series; dictionary means storing a plurality of predetermined words; speech recognition means including means for converting the speech feature parameter series input from said speech analyzing means into a speech feature vector, and means for matching the speech feature vector of the converting means with the reference speech feature vectors of predetermined words in said dictionary means, and outputting a series of a plurality of word candidates used as keywords; and syntactic analysis means for analyzing the series of the word candidates as the keywords according to syntactic limitations, and generating a sentence candidate, characterized in that. said speech recognition means shifts successively an end point of the input speech feature parameter series by a predetermined time, and matches the speech feature vector obtained in each of start point candidate periods determined with respect to each position of the shifted end point, i.e. in each of periods between the shifted end point and the different start points with the reference speech feature patterns of said dictionary means, in order to perform word recognition and generate a plurality of word candidates. Specifically, according to this invention, an end point of the input speech pattern is successively shifted by a predetermined time (e.g. 8 msec), and predetermined word recognition is performed in each of a plurality of start point candidate periods determined with respect to each position of the shifted end point, i.e. in each of periods between each position of the shifted end point and different start points, thereby generating many word candidates. Using these word candidates as keywords, sentence candidates are generated. As a result, the contents of necessary data are fully considered to understand an input speech and extract a semantic expression, thereby realizing speech recognition of speech including, for example, meaningless words such as "ur" and "er", silent periods, muttering and omissions. Since natural speeches between persons and machines in actual situations can be processed, the human-machine interface capacity is remarkably enhanced. This invention can be more fully understood from the following detailed description when taken in conjunction with the accompanying drawings, in which: Figs. 1A and 1B show examples of a sentence and a sub-sentence; Fig. 2 shows schematically the structure of an embodiment of the present invention; Fig. 3 shows a word dictionary and connectable word ranges; Fig. 4 shows grammar rules including rules for semantic analysis processing; Fig. 5 shows a form of semantic expressions; Figs. 6A and 6B show LR parse tables of the connectable word ranges and grammar rules shown in Figs. 3 and 4; Fig. 7 illustrates an example of an output of a speech recognition unit; Fig. 8 shows an input lattice; Fig. 9 shows analysis processing; Figs. 10A and 10B show other analysis processing; Fig. 11 shows a word candidate series (word lattice); Fig. 12 shows variations of the state of analysis in processing word series; Figs. 13A and 13B show an example of a series of words and an evaluation function and parameters regarding thereto; Figs. 14A and 14B show a series of words and another evaluation function and parameters regarding thereto; Fig. 15 shows rules of word pair rules; Fig. 16 shows grammar rules prepared by using the rules of word pair grammar shown in Fig. 15; Figs. 17A and 17B show a schematic structure of a speech recognition apparatus according to another embodiment, and word pair grammar used in this apparatus; Figs. 18A and 18B show a connection table designed for two-word connection and an example of connection processing using the connection table; Fig. 19 shows data processed by a syntactic/ semantic analysis unit; Fig. 20 illustrates a specific example of syntactic analysis; Fig. 21 is a timing chart illustrating pipeline processing for speech recognition and syntactic/semantic analysis; Fig. 22 shows a schematic structure of a speech recognition apparatus according to another embodiment of the invention; Fig. 23 is a timing chart illustrating pipeline processing for speech recognition and syntactic/semantic analysis in the embodiment of Fig. 22; and Fig. 24 shows a relation between a relation between Japanese expressions and English expressions of examples. An embodiment of the present invention will now be described with reference to the accompanying drawings. It is supposed that a speech recognition apparatus of this embodiment is used to understand an order of article or item. The understanding of the order is the generating of semantic meaning of an input speech. For example, when a speech "EETO HANBAAGU TOO UUNTO KOOHI SANKO KUDASAI (er hamburger and uh coffee three please)" shown in Fig. 1A is input, the semantic expression, ((act ORDER) (item HUMB NONUM) (item COFFEE 3)), shown in Fig. 1B, is obtained by understanding the input speech. In order to understand the input speech, keywords needed for semantic expression are detected from the input speech, and syntactic and semantic analysis is performed to generate a semantic expression. The term "keywords" means "predetermined specific words needed for understanding a free speech to obtain a semantic expression". The term "sentence" means "a series of syntactically and semantically proper keywords included in a free speech". The term "sentence candidate" means "a series of keywords obtained as a result of sentence analysis". The term "sub-sentence candidate" means "a series of keywords capable of being parts of a sentence candidate". Fig. 1A shows examples of an input sentence, keywords, a sentence and a sub-sentence, and Fig. 1B shows a relationship between keywords and a semantic expression. Referring to Fig. 2, the structure of the speech recognition apparatus according to the embodiment of the invention will now be described. A speech input unit 1 converts an input speech signal, input through a microphone, etc., to a digital signal, subjects the digital signal to FFT (Fast Fourier Transform), filter analysis, LPC (Linear Predictive Coding) analysis, cepstrum analysis, etc., thereby generating a speech feature parameter series. The speech feature parameter series generated by the speech input unit 1 is sent to a speech recognition unit 2. The speech recognition unit 2 is connected to a speech recognition reference vectors memory 21 being storing speech feature patterns of keywords corresponding to predetermined words to be recognized, for example, as shown in Fig. 3. and matches the speech feature parameter series with the reference vector in the speech recognition reference vector memory 21. In the case of the speech recognition by the word spotting method, the feature parameter series generated by the speech input unit 1 is successively matched with the reference vector in the speech recognition reference vector memory 21 in units of, e.g. an 8 msec frame cycle, without detecting the starting and end points of the input speech. The matching is performed by end-point synchronism on the basis of feature parameters of a latest frame, with a range of allowance being provided on the position of the starting point of the word to respond to the variation in speech speed, in other words, a plurality of starting points being able to be provided. The word spotting method by continuous matching is described in detail in Japanese Patent Application No. 1-255270. The recognition result of the speech recognition unit 2 is sent to a syntactic/semantic analysis unit 3 in the form of a series of temporally discrete words (i.e. word lattice). Each word of the word series has at least four data items, "start point", "end point", "likelihood" and "word name". The data item "likelihood", which indicates the possibility of words, may include "distance", "similarity" and "probability". Using the likelihood, the syntactic and semantic analysis, described below, is performed. The likelihood of a sentence candidate is found by an evaluation function. Fig. 3 shows a word dictionary including keywords and examples of connectable word ranges (described below), and Fig. 4 shows examples of grammatical rules including rules for semantic analysis processing. These date items are stored in a grammar/dictionary memory unit 4. Fig. 5 shows the form of a semantic expression. In Fig. 5, "act" means an action indicated by a speech. In this embodiment, "ODER" (meaning "KUDASAI (please)"), "APPEND" (meaning an additional order), and "DELETE" (meaning "IRANAI (not want)") are actions. On the other hand, "item" means an article, which consists of a combination of the name of an article and the number of articles. This combination is called "slot", and a semantic expression formed by a combination of "act" and "item" is called "frame". When the action and the number of articles are omitted in the input speech, "NOACT" and "NONUM" are expressed, and it is indicated in the semantic expression that no keywords relating to the action and the number of articles have been obtained by analysis. In addition, for example, some articles have different sizes. For example, there is an expression "KOORA (cola) S5 : E5 L, M, S" in the dictionary, whereby the sizes of the article are indicated. In this case, when the designation of the size is omitted in the input speech "KOORA KUDASAI (cola please)", "NOSIZE" is indicated in the area of "SIZE". Each time the speech recognition unit 2 detects a keyword, the keyword is input to the syntactic/semantic analysis unit 3. Thereby, the syntactic/semantic analysis unit 3 performs syntactic/semantic analysis by using syntactic and semantic data of the input sentence and grammar/dictionary data including temporal relationships, which is stored in the grammar/dictionary memory unit 4. The analysis of the word series is performed on the basis of the time ranges between words included in the grammar/dictionary data, syntactic rewrite rules, and semantic consistency decision processing. Thus, a sub-sentence candidate and its semantic expression are obtained during the analysis, or a sentence candidate and its semantic expression are obtained after the analysis. The sub-sentence candidate obtained during the analysis is stored in a sub-sentence candidate buffer 6. In parallel with the analysis, the evaluation values of the entire sub-sentence candidate and sentence candidate are obtained from the evaluation function on the basis of the distance, similarity and probability of the likelihood data items of words constituting the candidates. It is possible to use, as the evaluation function, a sum value, a function value and logarithm value obtained by considering the weighting of the word likelihood. The syntactic analysis method used in the syntactic/semantic analysis unit 3 is based on, e.g. the Tomita method (M. Tomita, "An efficient Word Lattice Parsing Algorithm for Continuous Speech Recognition", Proc. ICASSP '86, pp. 159-1572, Nov., 1986). In this method, however, the Tomita method is modified such that while the temporal connection relationship and syntactic connection relationship of temporal discrete keywords are analyzed, the semantic expression of the analyzed keyword series can be generated. Syntactic grammar/ dictionary data are converted to an LR parse table in advance, and the syntax of the keyword series can be quickly analyzed by referring to the LR parse table. The LR parse table may be provided with a processing reference function for performing temporal relationship decision processing and semantic expression generation processing simultaneously with referring to the LR parse table. In this context, this analysis method is called a keyword lattice LR (KLLR) analysis method. Fig. 6 shows an LR parse table converted from the word dictionary and grammar rules shown in Figs. 3 and 4. The LR parse table, in place of the contents shown in Figs. 3 and 4, is stored in the grammar/dictionary memory unit 4. In addition, a transverse syntax analysis method, such as an Early's algorithm or chart method, is applicable to a top-down method and a bottom-up method. If there is no need to perform pipeline processing from word recognition to syntax analysis, a depth-first syntax analysis method can be adopted. In any case, the method used in the syntactic/semantic analysis unit 3 differs from the conventional syntactic analysis method in that the connectability of all temporally discrete keyword candidates is analyzed in parallel (breadth-first analysis) in the syntactic/semantic analysis of word candidates. The grammar/dictionary memory unit 4 stores dictionary data representing the relationship between parts of speech and word names of an input sentence received by the syntactic/semantic analysis unit 3, syntactic rewrite rules of series of parts of speech, data relating to processing for deciding semantic appropriateness of word series of parts of speech, data relating to generation of semantic expressions, and data relating to temporal relationship between parts of speech. The syntactic rewrite rules are written according to context free grammar or regular grammar. The grammar rules shown in Fig. 4 are augmented to treat semantic data other than data relating to parts of speech, and the expanded portions contain processing procedures for semantic analysis. It is possible that the word name is regarded as identical to the part of speech, and the syntactic/semantic analysis dictionary is written and the syntactic/semantic analysis is performed on the basis of word names. When the KLLR analysis method is used, the dictionary/grammar data shown in Figs. 3 and 4 is used in advance for processing reference for temporal relationship decision processing and semantic expression generation processing, is converted to an LR parse table as shown in Fig. 6, and is stored in the grammar/dictionary memory unit 4 shown in Fig. 2. In each case, the necessary grammar/dictionary data is stored in the grammar/dictionary memory unit 4 according to the syntactic/semantic analysis method. The syntactic/semantic analysis unit 3 comprises a sentence start point determining unit 31, a sentence candidate analysis unit 32, a sentence end point determining unit 33 and a sentence candidate processing unit 34. The sentence start point determining unit 31, sentence candidate analysis unit 32, and sentence end point determining unit 33 are connected in this order, and the sentence candidate processing unit 34 is connected to the sentence end point determining unit 33. The sentence start point determining unit 31, sentence candidate analysis unit 32, and sentence end point determining unit 33 are connected to the grammar/dictionary memory unit 4, and are supplied with grammar/dictionary data necessary for analysis from the grammar/dictionary memory unit 4. In addition, the sentence start point determining unit 31, sentence candidate analysis unit 32, sentence end point determining unit 33, and sentence candidate processing unit 34 are connected to the sub-sentence candidate buffer 6 for storing sub-sentence candidates for unfinished analysis. The analysis data during analysis is stored and referred to, via the buffer 6. The sentence start point determining unit 31 determines whether the word candidate received from the speech recognition unit 2 can be a top word of a sentence by referring to syntactic data stored in the grammar/dictionary memory unit 4. When the word candidate can be the top word of the sentence, the semantic expression is generated as a sub-sentence candidate and this sub-sentence candidate and its semantic expression are stored in the sub-sentence candidate buffer 6. In the case of the KLLR analysis method, it can be determined, by referring to the LR parse table composed of grammar, whether the word candidate can be a top word of a sentence. Fig. 6 shows an LR parse table formed on the basis of the contents of the grammar/dictionary memory unit 4. In this table, words (HANB, CHEESEB, POTATO, COFFEE, COLA), among all recognition words, written at state number 0 in the vertical axis can be top words of sentences. In this case, no processing is performed on word candidates which cannot be top words of sentences. The sentence candidate analysis unit 32 performs syntactic/semantic analysis of combinations of all analyzed sub-sentence candidates in the sub-sentence candidate buffer 6, except candidates newly prepared by the sentence start point determining unit 31, and all word candidates input to the syntactic/semantic analysis unit 3. In the KLLR analysis method, while the aforementioned LR parse table is referred to, it is determined whether combinations of the sub-sentence candidates and words are grammatically connectable, and sub-sentence candidates are newly added to the sub-sentence candidate buffer 6. In parallel with the syntactic/semantic analysis, syntactic trees and semantic expressions are generated and the likelihood of sub-sentence candidates are evaluated and added to the sub-sentence candidate buffer 6. The sentence end point determining unit 33 determines, by utilizing the grammar/dictionary memory unit 4, whether each of all sub-sentence candidates in the sub-sentence candidate buffer 6 is established as a sentence. In the LR parse table shown in Fig. 6, a symbol ($) representing a sentence end point is imaginarily connected to a sub-sentence candidate and it is determined whether the sub-sentence candidate is acceptable as a sentence. If the sub-sentence candidate is acceptable as a sentence, the semantic expression and evaluation value of the sub-sentence candidate are output. The sentence candidate processing unit 34 performs management of the candidates stored in the sub-sentence candidate buffer 6. Each time the processing of one input word by the sentence start point determining unit 31, sentence candidate analysis unit 32, and sentence end point determining unit 33 is completed, the sentence candidate processing unit 34 deletes the sub-sentence candidates stored in the sub-sentence candidate buffer 6 when these candidates have lengths greater than that of a maximum sentence candidate length SL. Thereby, processing of a candidate which does not appear in a normal speech is not performed. Thus, continuous syntactic/ semantic analysis can be performed by utilizing the sub-sentence candidate buffer 6 with a limited size, and analyzed semantic expressions are output successively. In this context, the maximum sentence candidate length SL may be either a temporal length or a length in the number of words. When the length SL is the temporal length, a time period between start and end points of a sub-sentence candidate is compared with the maximum sentence candidate length SL. When the length SL is the length in the number of words, the number of words constituting the sub-sentence candidate is compared with the maximum sentence candidate length SL. Thus, the number of sub-sentence candidates is reduced. Outputs relating to sentence candidates, their likelihoods and their semantic expressions are fed into a speech language analysis apparatus or a speech dialogue apparatus, and processing such as data base management is performed on the basis of the contents of an input dialogue or speech. Next, the operation of the speech recognition apparatus according to the above embodiment will now be described. When a speech signal is input to the speech input unit 1 via a microphone, etc., the speech signal is converted to a digital signal. The digital signal is subjected to various processing such as FFT, filter analysis, LPC analysis, and cepstrum analysis and is output as a speech feature parameter series. At this time, speech feature parameters of, e.g. a 16 channel filter bank output are calculated in every predetermined time interval of 8 msec, and a speech feature parameter series is output to the speech recognition unit 2. In the speech recognition unit 2, matching between the contents of the speech recognition dictionary memory 21 of words to be recognized (shown in Fig. 3) and the speech feature parameter series is performed according to the word spotting method. In the word spotting method, matching of continuous speech patterns VP, as shown in Fig. 7, is successively performed. Specifically, it is supposed that each of end points of analysis frames of feature parameter series obtained by analyzing the speech signal input from the speech input unit 1 is E, and a start point candidate period of start points which meet speech period conditions for recognition matching words is S. The feature parameter series of provisional speech periods indicated by these start points are resampled in the time-axis direction, and feature vectors of a predetermined number of orders, having different speech periods, are found with the end point E used as a reference point. In this way, while the end point E is shifted in the time-axis direction in units of, e.g. 8 msec, the feature vectors are successively extracted and the likelihood of each feature vector and the contents of the speech recognition reference vector memory 21 is found. Further, from the likelihood series obtained with respect to each feature vector, a speech feature vector representing a maximum likelihood and start point data for each category are found. The word spotting is thus performed, and a keyword series of word candidates of W1 to W6, as shown in Fig. 8, is obtained. The word candidates recognized in the speech recognition unit 2 are output to the syntactic/semantic analysis unit 3. The sentence start point determining unit 31 determines whether the word candidate can be a top word of a sentence, on the basis of syntactic data. In the LR parse table of Fig. 6, the words (HAMB, CHEESEB, POTATO, COFFEE and COLA) whose actions are stated at the vertical-axis No. 0, among all words to be recognized, can be top words. In the example of the word lattice shown in Fig. 8, W1 "NIKO (two)" cannot be a top word, but W2 "HANBAAGA (hamburger)" can be a top word. Thus, an analysis stack having W3 as a top word is generated, and W2 is stored in the sub-sentence candidate buffer 6 a sub-sentence candidate 6. Fig. 9 shows an example of the state of this analysis processing. The sentence candidate analysis unit 32 performs temporal connection decision and syntactic/semantic analysis of combinations of all analyzed sub-sentence candidates in the sub-sentence candidate buffer 6, except candidates newly prepared by the sentence start point determining unit 31, and all word candidates input to the syntactic/semantic analysis unit 3. Temporal connection possibility is decided by using data relating to end points of each sub-sentence candidate and start points of each word. In this case, temporal overlapping and a distance between both points of the sub-sentence candidates are allowed to a certain extent. For example, overlapping is set at 100 msec, and a distance is set at 400 msec. Of course, these values may be set for each word. At this time, by appropriately setting the distance between connectable words, sub-sentence candidates are generated and analysis is processed, excluding, e.g. meaningless words such as "ANOO (er)" and "EETO (uh)", non-verbal noise, environment noise, out-of-vocabulary words, muttering and erroneous recognition words relating to muttering. In Figs. 10A and 10B, with respect to sub-sentence candidates SS1 to SS5, the connectable word range with W6 "KUDASAI (please)" is determined, and it is determined whether the start end point of W6 is present in the range of (S4, E4) of W4 and the range of (S5, E5) of W5. In this example, "KUDASAI (please)", "KOOHI (coffee)" and "KOORA (cola)" are connectable. Another example of judgment of temporal connectability will now be described. Fig. 11 shows the case where speech "HANBAAGA TOO EETO KOOHI WO KUDASAI (hamburger and, er, coffee please)" is input, and word candidates W1 to W6 are given by the speech recognition unit 2. In this case, it is assumed that the start point of a word connectable with W1 "HANBAAGA (hamburger)" is present in a period between S1 and E1, with the end point of W1 "HANBAAGA (hamburger)" used as a reference point. This is assumed by considering a time length not occupied by keywords ("HANBAAGA (hamburger)", "KOOHI (coffee)", "KUDASAI (please)", in Fig. 11) necessary for understanding the semantic content of the sentence of the speech including unnecessary words. In this example, the start points of W2 "IKKO (one)", W3 "NIKO (two)" and W4 "KOOHI (coffee)" are present in the period between S1 to E1, and these words are decided to be connectable with W1 "HANBAAGA (hamburger)" from temporal relationship. If these words are also decided to be connectable from grammatical aspects, sub-sentence candidates of W1 and W2, W1 and W3, and W1 and W4 are generated. The KLLR analysis method has the above-described temporal connection judgment function. Thus, temporally discrete keyword series can be analyzed, unlike the conventional analysis method. Further, since there is only one analysis stack in the conventional analysis method, analysis of sub-part of an entire input cannot be performed by the conventional method. However, in this example, an analysis stack is generated whenever a keyword candidate able to be a top word of a sentence is detected. Thus, analysis of part of an input can be performed, and syntactic and semantic analysis of an input excluding, e.g. meaningless words such as "ANOO (er)" and "EETO (uh)", non-verbal noise, environment noise, out-of-vocabulary words, and muttering can be performed. Fig. 12 shows an example of connectability decision by use of syntactic/semantic analysis, and specifically shows the variation of the analysis state in the case where a series of "HANBAAGA (hamburger)", "KOOHI (coffee)" and "KUDASAI (please)" is processed by using the LR parse method of Fig. 6. In Fig. 6, accompanying letters indicate processing numbers. Symbol "Sn" in the LR parse table indicates a shift to state number n, and "rm" indicates reduction by use of grammar rule m. A semantic expression is generated in accordance with progress of analysis, and the likelihood of a sub-sentence candidate is found from the likelihood of an input word. In this description, the evaluation of the likelihood is not described in detail, but the syntactic/semantic analysis processing is described in detail. In the grammar table of Fig. 4, semantic expression generating processes are written in expanded areas of the grammar rules. "X0" represents a semantic expression generated after grammar rules are applied. In the case of grammar number (9), <ITEM>: : = <FOOD>, X0 = ms (X1, NONUM) means that the slot of an article of FOOD is generated with the number of articles unfixed. In addition, mf () indicates generation of a frame. The frame means a semantic expression of a syntactic sentence, and the slot means structural elements of the frame. In the example of Fig. 12, (ORDER (HAMB NONUM)(COFFEE NONUM)) is generated, and this means that "order an unspecified number of hamburgers and an unspecified number of cups of coffee." In the above example, only one series of "HANBAAGA (hamburger)", "KOOHI (coffee)" and "KUDASAI (please)" was described. In the case of Fig. 10, however, sub-sentence candidates SS1 to SS9 during analysis may be subjected to similar processing, and a semantic expression is obtained for each sentence candidate. After the above syntactic/semantic analysis, the sentence end point determining unit 33 determines, by using the grammar dictionary 4, whether the respective sub-sentence candidates in the sub-sentence candidate buffer 6 are established as sentences. If the candidates are established as sentences, the likelihoods and semantic expressions of the sentence candidates are output as decision results. When there is a possibility that analysis of a candidate needs to be progressed by using a word which will appear in the following frame(s) because of grammatical fuzziness, the original candidate is duplicated and stored in the sub-sentence candidate buffer 6. The sentence end point determining unit 33 determines whether each sub-sentence candidate is established as a grammatically perfect sentence. In the case of the KLLR analysis method, a sentence-kind symbol ($) is attached to each sub-sentence candidate and the candidate is analyzed according to the LR parse table. When an action "acc" representing the acceptance of a sentence is obtained, the candidate is decided to be a complete sentence. By successively performing this processing, the sentence candidate decided to be a complete sentence and the semantic expression and likelihood of the sentence candidate are successively output. Thus, data of sentences is output in the form of lattice. The sentence candidate processing unit 34 deletes, from the sub-sentence candidate buffer 6, those sub-sentence candidates left in the buffer 6, which have a temporal length greater than a predetermined temporal length LMAX. Thereby, the sub-sentence candidates, to which word candidates to be recognized later cannot be connected, can be deleted, and this deleting process is successively performed in the sub-sentence candidate buffer 6 having a limited memory area. In this manner, non-verbal noise, out-of-vocabulary words, environment noise, ellipsis, silent periods and continuous sentences can be treated using only temporal discrete keywords, although it is difficult for the conventional method to treat these. The word lattices are syntactically and semantically analyzed, and, in the example of Figs. 10A and 10B, sentence candidates S1 to S9 are obtained. Next, an example of evaluation function will now be described by referring to the word series as shown in Fig. 13A. In this example, the likelihood of "HANBAAGA (hamburger)" is LF 1 and the time period thereof is t 1 . The likelihoods and time periods of "KOOHI (coffee)", "SANKO (three)" and "KUDASAI (please)" are, respectively, LF 2 , t 2 ; LF 3 , t 3 ; and LF 4 , t 4 . The time period between the start point of the sentence, i.e. the start point of "HANBAAGA (hamburger)", and the end point of the sentence, i.e. the end point of "PLEASE" is T 4 . The number N of words is 4. In the example of Fig. 13B, (LF 1 +LF 2 +LF 3 +LF 4 )/4+α*(t 1 +t 2 +t 3 +t 4 )/T 4 is the likelihood TLF 4 of the sentence. The term of (Σti)/T N represents the ratio of a time period of a word to a time period of a sentence. This ratio increases as the distance between the words of the sentence increases. When there are meaningless words in the sentence, the ratio takes a maximum value of 1. This ratio is used to evaluate the temporal relationship between words of a sentence, and is weighted by a coefficient α. This coefficient α is set at an experimentally optimal value. For example, the optimal coefficient can be determined by an optimal likelihood guess method or a neural net method, with use of leaning data by which a word interval is determined by speech. Figs. 14A and 14B show a series of words and another evaluation function regarding thereto. In this example, the likelihood of periods not to be recognized is included in x-evaluation. This method, as applied to HMM (Hidden Markov Model), is described in detail in the document, J. Wilpon, "Improvements and Application for Key Word Recognition using Hidden Markov Modeling Techniques", ICASS91, 309-312, Nov. 1991. In the example of Fig. 14B, an evaluation function is used wherein the likelihood LFi, i+1 of a word series to be recognized and the likelihood LFi' of a period not to be recognized, which are weight by a weight β, are integrated to obtain an evaluation value. In addition, the weight β may be set individually for each period, depending on the conditions (e.g. word names). In all examples, evaluation is made on the basis of the likelihoods of words to be recognized and periods not to be recognized, part or all of a continuous time period, and their mutual relationship, thereby exactly obtaining words to be recognized in a speech. As stated above, while temporal connection relationship between word candidates is being examined, word pair grammar using words used lastly by the sub-sentence candidate for analysis and a word input to the syntactic/semantic analysis unit 3 and analyzed currently is applied simultaneously with the syntactic/ semantic analysis. Thereby, the amount of calculations needed for analysis can be reduced. An example of this structure is shown in Fig. 17A. A word pair determining unit 34 is provided in front of the sentence candidate analysis unit 32. Prior to the sentence candidate analysis, the word pair determining unit 34 determines, by using word pair grammar (described below), the relationship between the word currently analyzed and the last word of each sub-sentence candidate stored in the sub-sentence candidate buffer 6. When a certain sub-sentence candidate is connected on the basis of the decision result, the candidate is analyzed by the sentence candidate analysis unit 32. When a sub-sentence candidate is not connected on the basis of the decision result, the sentence candidate is not analyzed and the sentence end point is determined. This processing is performed for all sub-sentence candidates. Since the decision according to the word pair grammar can be performed more easily than the decision by the sentence candidate analysis unit 32, analysis of unnecessary sentence candidates is reduced and the syntactic/semantic analysis processing can be performed more efficiently. Fig. 15 shows examples of the word pair grammar. For example, "%xoff" means suspension of analysis of a series of combined words "LEFT RIGHT...." Fig 16 shows examples in which rules shown in Fig. 15 are used. In "%xoff" of number "1" in a circle, the same article name is not repeated (e.g. "HANBAAGA (hamburger)" and "HANBAAGA (hamburger)"). In "%xoff" of number "3" in a circle, the same number of articles is not repeated (e.g. "IKKO (one)" and "IKKO (one)"; "NIKO (two)" and "NIKO (two)"). In "%xclr" and "%xonr" of number "4" in a circle, "ZUTU" is connected to a number of articles, such as "IKKO (one)", "ZUTU" or "YOTTSU (four)", "ZUTU". For example, since there is no such order as "HANBAAGA TOO HANBAAGA WO KUDASAI (hamburger and hamburger, please)" as an input in the case of grammar and dictionary shown in Fig. 17B, the grammar of number "1" in a circle is effective. When such word pair grammar cannot be used, it is necessary to write individual rules in the grammar and the grammar is complicated. Further, it is possible to give right-and-left continuity, which is general in Japanese form analysis, to words to be recognized, refer to connection a buffer written according to their properties, and decide connectability of words. Fig. 18A shows a connection table, in which two-word connection is considered. In this buffer, one item includes "left word name", "right word name", "left end point position", "right end point position", "word connection degree function", "likelihood threshold of left word" and "likelihood threshold of right word". These data elements are stated for each word pair. Fig. 18B shows decision processing in the case of using the connection table of Fig. 18A. In this example, the word "HANBAAGA (hamburger)" is processed. For example, in the case of "HANBAAGA (hamburger)" and "IKKO (one)", "IKKO (one)" is a word belonging to "NUM" (number of articles), and the right end point of "HANBAAGA (hamburger)" is used as a reference point. These words are connected in a period of (-5, 40) with a connection function P1. It is indicated in the table of Fig. 18A that "HANBAAGA (hamburger)" requires a likelihood of 0.8 or above and "IKKO (one)" requires a likelihood of 0.6 or above. When the likelihood of input "HANBAAGA" is 0.84 and that of "IKKO" is 0.65, these likelihoods are above the thresholds. When the right end point of "HANBAAGA" is used as a reference point, the left end point of "IKKO" is present in the period of (-5, 40). Therefore, "HANBAAGA" and "IKKO" are connectable. Further, when the connection degree of "IKKO" is found on the basis of the connection degree function P1, the connection degree is P11 and the likelihood of the word series of "HANBAAGA" and "IKKO" is (0.84+P12*0.7)/2. In this likelihood, 1/2 means averaging by the number of words "2". This is equivalent to the first term of Fig. 13B or Fig. 14B. In this manner, in the word connection decision, not only the possibility/impossibility of connection but also the connection degree of two words is considered. Thus, the time interval between words and the combination of words can be considered in the evaluation function. Further, when analysis is performed on the basis of the grammar data as shown in Figs. 4 and 6, it is possible to determine a connection function for each grammar rule and incorporate the connection function in the evaluation function. As has been stated above, by using not only the temporal relationship between two words but also the connection degree and connection period between temporally discrete words to be decided, the sub-sentence candidates can be analyzed, excluding meaningless words, non-verbal noise, our-of-vocabulary words, muttering, etc. In addition, the likelihood of the sub-sentence candidate can be evaluated by considering local features of the sub-sentence candidate, e.g. a phenomenon wherein the possibility of muttering is higher in the word series of "HANBAAGA (hamburger)" and "KOOHI (coffee)" than in the word series of "HANBAAGA (hamburger)" and "NIKO (two)", or a phenomenon wherein the possibility of muttering is low before words meaning actions (e.g. "KUDASAI (please)", "IRIMASEN (not want)"), as in wordings "HANBAAGA KUDASAI (hamburger please)" or "HANBAAGA IRIMASEN (not want hamburger)". Thus, analysis can be performed with high precision. In addition, the amount of processing can be reduced, without lowering precision, by processing only the sub-sentence candidates with high evaluation values ("beam search method"). In this embodiment, the range of connection of the right word is limited by employing the left word as a reference point, but the right word can be employed as a reference point. Although the two-word combination was handled in the above, a combination of three or more words can be evaluated. In order to prevent an extreme increase in the number of sub-sentence candidates, the quantity of calculations must be decreased. For this purpose, some evaluation functions are applied to all sub-sentence candidates to evaluate these candidates. Based on the evaluation result, the candidates are sorted and those candidates which have low evaluation values and fall out of the scope of predetermined candidates (beam width) are deleted. This processing is utilized for the analysis processing in which a word recognized based on an input of the next or following frame is used. Fig. 19 shows the concept of the timing of data processed by the syntactic/semantic analysis unit 3. In Fig. 19, VP indicates input speech energy varying with time, FP a present analysis time point, and FU a frame length which is a minimum analysis unit. In addition, W1 and W3 indicate word candidates recognized at present, C1 to C8 sub-sentence candidates now under analysis, and A1 to A5 processed sub-sentence candidates output as established sentences. In Fig. 19, if word candidate W1, for example, is a word capable of being a top word of a sentence, a new sub-sentence candidate C9 having word W1 as its top word is generated. If a sub-sentence candidate C6 and a word candidate W3 are decided to be connectable as the result of syntactic/semantic analysis, the sub-sentence candidate C6 is duplicated and generated as a sub-sentence candidate C10. Further, if the last word candidate W3 of the sub-sentence candidate 10 is capable of being a last word of the sentence, the sub-sentence candidate C10 is duplicated and output as a sentence candidate A6. In Fig. 19, CR denotes a range of existence of sub-sentence candidates, which is defined from the present analysis time point FP. Sub-sentence candidates having end points outside the range CR are deleted. When the word candidates W1 to W3 recognized at present have completely been analyzed, the analysis time point FP is increased by an increment of one for the next processing. An example shown in Fig. 20 will now be described. In this example, two sentences, "HANBAAGA TOO KOOHI KUDASAI. AA, SORETO POTETO WO TSUIKA SHITE (hamburger and coffee please. er, and potato too.)", are successively pronounced and noise appears at the top of the sentence. It is supposed that recognized word candidates W1 to W11 are given in the speech recognition unit 2. The word candidates W1 to W11 are subjected to syntactic/ semantic analysis in the syntactic/semantic analysis unit 3 according to the above-described method. Specifically, the sentence start point determining unit 31 determines whether or not the word candidates are capable of being top words, by referring to the LR parse table containing syntactic/semantic data. First, "HANBAAGA" (W2) is determined to be a possible top word. Then, the start point of the word connectable to the "HANBAAAGA" (W2) is examined. In this case, if the "KOOHI" (W4), "KOORA" (W5) and "KUDASAI" (W6) are determined to be connectable, sub-sentence candidates S1, S2 and S4 are generated. Then, if "KOOHI" (W4) is determined to be a possible top word, the start point of the word connectable with the "KOOHI" (W4) is examined and a sub-sentence candidate S3 is generated. Similarly, sub-sentence candidates S5 and S6 are generated. Thereafter, the end points of the words of the sub-sentence candidates are examined, and sentence candidates are generated. Final candidates can be selected by delivering outputs of the sentence candidate analysis unit 3 to a speech processing apparatus (not shown) and utilizing various data relating to the acoustic features, likelihoods of sentence candidates, and contexts. According to this process, a speech input having an infinite length is successively subjected to syntactic/semantic analysis, and sentence candidates are extracted. The analyzed sentence candidates are successively output in the lattice form. Thus, an input speech series can be separated in units of a sentence by using grammatical/semantic limitations, without separating the input speech series prior to syntactic/ semantic analysis, irrespective of the inherent meaning of the input speech series. When the infinitely long speech input is successively subjected to syntactic/semantic analysis and sentence candidates are extracted, a problem arises regarding the limit of the memory area for storing the successively output sentence candidates. This problem, however, is solved by setting a boundary line for selecting sentence candidates and forcibly discarding sentence candidates irrelevant to the flow of a current dialogue, e.g. sentence candidates talked ten minutes ago. Further, as shown in the timing chart of Fig. 21, the speech input (a) and recognition based on the end point synchronism of words and syntactic/semantic analysis (b) based on input word end point synchronism may be performed on a frame-by-frame basis in a pipeline manner. Thereby, temporal delay from the speech input to the output of analysis result can be reduced to a minimum. The minimum delay is equal to the time of one frame (e.g. 8 msec). Another embodiment of the invention will now be described with reference to Fig. 22. In this embodiment, a word prediction unit 135 is provided in addition to a syntactic/semantic analysis unit 131, a sentence candidate analysis unit 132 and a sentence end point determining unit 133, which are connected to a speech recognition unit 2, and a sentence candidate processing unit 134. The syntactic/semantic analysis unit 131, sentence candidate analysis unit 132, sentence end point determining unit 133, and a sentence candidate processing unit 134 have the same structures as the corresponding parts of the preceding embodiment. The word prediction unit 135 predicts words connectable to the sub-sentence candidates stored in the sub-sentence candidate buffer 6, and only the predicted words are recognized by the speech recognition unit 2. For example, at the start of processing, only the word situated at the top of a sentence is recognized. In the example of the grammar shown in Fig. 4, "HANBAAGA (hamburger)", "TIIZU BAAGA (cheese burger)", "POTETO (potato)", "KOOHI (coffee)" and "KOORA (cola)" are first words to be recognized. In this case, state number "0" of the LR parse table of Fig. 6 indicates the processing start state, and it is understood, by referring to the LR parse table, that only "HANBAAGA (hamburger)", "TIIZU BAAGA (cheese burger)", "POTETO (potato)", "KOOHI (coffee)" and "KOORA (cola)" are the words to be recognized. Regarding the grammar shown in Fig. 4, when the last word of the sub-sentence candidate is "NUM", the following word is "FOOD", "DRNK", or "VP", and not "NUM". This corresponds to state No. 2 in the LR parse table of Fig. 6. When the last words of sub-sentence candidates are all "NUM", i.e. state No. 2, there is no need to collate six words of "IKKO (ONE)", "NIKO (two)" and "SANKO (three)". Thus, the word prediction unit 135 predicts the subsequent possible words by using the sub-sentence candidates under analysis and the grammar data, and the number of words to be recognized is reduced by controlling the speech recognition unit 2. Thereby, the amount of calculations is reduced. Fig. 23 is a timing chart of the processing wherein the speech input (a), recognition based on the end point synchronism of words and syntactic/semantic analysis (b) based on input word end point synchronism, and word prediction (c) are performed on a frame-by-frame basis in a pipeline manner. Even if the word prediction function is incorporated, the pipeline processing can be performed and the time needed from the speech input to the output of sentence analysis result can be reduced. As has been described above, according to the present invention, the contents of necessary data are fully examined to understand an input spontaneous speech and extract a semantic expression, thereby realizing robust and high performance speech recognition of spontaneous speech including, for example, meaningless words such as "ANOO (ur)" and "EETO (er)", silent periods, muttering and ellipsis. Since dialogue between human and machines in real world can be processed, the human-machine interface capacity is remarkably enhanced. The above embodiments described are designed to process Japanese speech input, nonetheless, the present invention may be applied to a speech recognition apparatus which can process input speech of any other language.

Claims: A speech recognition apparatus, comprising: speech analyzing means (1) for receiving an external speech signal, analyzing the speech signal, and generating a speech feature parameter series; dictionary means (2) storing a plurality of predetermined words; speech recognition means (2) including means for converting the speech feature parameter series input from said speech analyzing means (1) into a speech feature vector, and means for matching the speech feature vector of the converting means with the reference speech feature vectors of predetermined words in said dictionary means (21), and outputting a series of a plurality of word candidates; and syntactic analysis means (3) for analyzing the series of the word candidates according to syntactic limitations, and generating a sentence candidate, characterized in that: said speech recognition means (2) shifts successively an end point of the input speech feature parameter series by a predetermined time, and matches the speech feature vector obtained in each of start point candidate periods determined with respect to each position of the shifted end point, i.e. in each of periods between the shifted end point and the different start points with the reference speech feature patterns of said dictionary means (21), in order to perform word recognition and generate a plurality of word candidates. The speech recognition apparatus according to claim 1, characterized in that said speech recognition means is connected to said dictionary means (21) storing a plurality of reference speech feature vectors corresponding to keywords, and comprises matching means for matching the reference speech feature vectors of the dictionary means (21) with the speech feature vector of the speech recognition means. The speech recognition apparatus according to claim 1, characterized in that said syntactic analysis means (3) includes means (31, 32, 33) for receiving the recognition result from said speech recognition means in the form of temporally discrete word series, performing syntactic analysis by using the likelihood of each word, and finding the sentence candidate likelihood by means of evaluation function. The speech recognition apparatus according to claim 1, characterized in that said syntactic analysis means (3) includes means (32) for outputting preferentially the sentence candidate having a highest likelihood. The speech recognition apparatus according to claim 1, characterized in that said syntactic analysis means (3) includes means (32) for analyzing a temporal connection relationship of temporally discrete keywords and a syntactic and/or semantic connection relationship thereof, and generating a semantic expression of the analyzed series of the keyword. The speech recognition apparatus according to claim 1, characterized in that said syntactic analysis means (3) includes grammar/dictionary memory means (4) which stores grammar and dictionary data relating to syntactic/semantic data and temporal relationship of an input sentence, and means (32) for performing syntactic and semantic analysis with use of the grammar/dictionary data of said memory means. The speech recognition apparatus according to claim 1, characterized in that said syntactic analysis means (3) has sub-sentence candidate buffer means (6) for storing at least one sub-sentence candidate which is a candidate of a sub-sentence produced during analysis. The speech recognition apparatus according to claim 7, characterized in that said syntactic analysis means (3) includes means (34) for outputting the sub-sentence candidate as a sentence candidate. The speech recognition apparatus according to claim 6, characterized in that said syntactic analysis means (3) comprises means (31) for determining whether the word candidate received from said speech recognition means is capable of being a top word of a sentence, by referring to the syntactic data stored in said grammar/dictionary memory means (4), means (34) for generating a sub-sentence candidate and a semantic expression thereof when the word candidate is capable of being the top word of the sentence, and sub-sentence candidate buffer means (6) for storing the sub-sentence candidate and its semantic expression. The speech recognition apparatus according to claim 1, characterized in that said speech recognition means is connected to said syntactic analysis means (3) and includes means for outputting word candidates in the form of a word lattice and converting the same to temporally discrete keyword lattice expressions. The speech recognition apparatus according to claim 10, characterized in that said syntactic analysis means (3) includes means for analyzing a temporary connection relationship of the temporal discrete keywords of the keyword lattice and a syntactic connection relationship thereof, to generate a semantic expression of the analyzed keyword lattice. The speech recognition apparatus according to claim 7, characterized by further comprising means (135) for predicting a possible word candidate on the basis of syntactic limitations and the sub-sentence candidate under analysis, and using the predicted word candidate for the next input speech recognition processing. The speech recognition apparatus according to claim 12, characterized in that said predicting means (135) includes means for detecting the word candidates which are connectable to each other from the sub-sentence candidate. tile speech recognition apparatus according to claim 1, characterized in that said syntactic analysis means (3) including means for analyzing a temporal connection relationship of temporally discrete keywords and a syntactic connection relationship thereof, and generating a semantic expression of the analyzed series of the keywords. The speech recognition apparatus according to claim 1, characterized by comprising: means (31) for detecting whether or not a word candidate capable of being a top word of a sentence and a word candidate following thereto are connectable to each other in time and in grammar, and outputting a combination of the connectable word candidates as a sub-sentence; and means (34) for determining whether the sub-sentence candidate can be established as a sentence, and generating a sentence candidate. A speech recognition apparatus according to claim 15, characterized in that said means for determining includes means (34) for establishing a sentence when the word candidate corresponding to the end of the sentence is detected. The speech recognition apparatus according to claim 1, characterized by comprising: syntactic and/or semantic analysis means (3) for checking whether or not the keyword candidates are connectable to each other on the basis of a syntactic and/or semantic rule and outputting a combination of connectable keyword candidates as a sentence candidate.

Inventors: TAKEBAYASHI YOICHI, TSUBOI HIROYUKI, TAKEBAYASHI, YOICHI, TSUBOI, HIROYUKI, Takebayashi, Yoichi, c/o Intellectual Prop. Div., Tsuboi, Hiroyuki, c/o Intellectual Prop. Div.
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1992
Main classification: G10L5
IPC codes: G10L15, G06F17