Speech recognition apparatus and speech recognition program

A speech recognition apparatus includes a storage medium for storing tree structured dictionary data containing words as nodes in a tree structure with a root and leaf nodes. An input speech is compared with a forward acoustic model corresponding to a speech resulting from chronologically reproducing words indicated by nodes for leaf nodes. A backward speech is further compared with a backward acoustic model. The backward speech is generated by reproducing the input speech in chronologically backward order. The backward acoustic model corresponds to a speech resulting from reproducing a word string toward the root in chronologically backward order. The comparison is performed in the backward order of a sequence starting from one of separator nodes. The speech recognition apparatus thereby outputs a word string that highly likely matches the input speech.

CROSS REFERENCE TO RELATED APPLICATION

This application is based on and incorporates herein by reference Japanese Patent Application No. 2006-96853 filed on Mar. 31, 2006.

FIELD OF THE INVENTION

The present invention relates to a speech recognition apparatus and a speech recognition program.

BACKGROUND OF THE INVENTION

Conventionally, there is proposed a speech recognition apparatus that uses tree structured dictionary data for speech recognition (e.g., see patent document 1). The tree structured dictionary data contains each of multiple words as a node in the tree structure. The speech recognition apparatus determines to what degree an input speech matches a string of words (hereafter referred to as a word string) along a path from a root of the tree structure to a leaf node. To perform the determination, the speech recognition apparatus sequentially compares the input speech with an acoustic model corresponding to the word string in accordance with a sequence of the word string.

In addition, there is proposed a speech recognition apparatus that recognizes an input speech in the order reverse to another order used to input the speech. The speech recognition apparatus performs the reverse recognition using backward tree structured dictionary data in which words are arranged in the order of utterance from a leaf node to the root according to the tree structure.

For example, the speech recognition apparatus described in patent document 2 can recognize an unpunctuated input speech representing a street address uttered in the order of street, city, and state according to the system in Europe or the United States. The speech recognition apparatus sorts a waveform or a feature quantity of the input speech in reverse order of the utterance. The speech recognition apparatus determines to what degree the sorted backward speech matches a word string arranged from the root to a leaf node in the backward tree structure. To do this, the speech recognition apparatus sequentially compares an acoustic model corresponding to the word string with the backward speech in accordance with a sequence of the word string.Patent Document 1: JP-11-231894 APatent Document 2: JP-2003-114696 A

However, the above-mentioned speech recognition apparatus technology uses the backward tree structured dictionary data and cannot complete the recognition until a user utters the whole of a word string arranged from the leaf node to the root of the tree structure.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of the foregoing. It is therefore an object of the invention to provide a speech recognition apparatus capable of using backward tree structured dictionary data and highly accurately recognizing a speech that is uttered up to the middle of a word string arranged from a leaf node to a root of the tree structure.

According to an aspect of the present invention, a speech recognition apparatus is provided as follows. A storage medium is configured to store tree structured dictionary data that contains a plurality of words as nodes in a tree structure. A backward speech comparison unit is configured to compare a backward speech resulting from reproducing an input speech in chronologically backward order with a backward acoustic model corresponding to a speech of reversely reproducing a word string sequence toward a root of the tree structure, wherein a comparison is performed in reverse order of the sequence. A forward speech comparison unit is configured to compare the input speech with a forward acoustic model corresponding to a speech resulting from reproducing a leaf node word of the tree structure in chronologically forward order. An output unit is configured to output a word or a word string highly likely matching the input speech based on a comparison result each from the backward speech comparison unit and the forward speech comparison unit.

In the above structure, the forward acoustic model to be compared with the input speech corresponds to a speech resulting from reproducing a leaf node word of the tree structure in chronologically forward order. Therefore, the forward acoustic model can most likely match the utterance of the leaf node word in the tree structure.

Thus, the speech recognition apparatus, which uses the backward tree structured dictionary data, can recognize a speech even when it is uttered up to the middle of a word string ranging from a leaf node to the root in the tree structure.

The “backward speech resulting from reproducing an input speech in chronologically backward order” may be reverse waveforms, which result from arranging or reproducing, in chronologically (i.e., time-series) reverse order, the waveforms of the input speech, which are indicated on time-intensity axes. Alternatively, it may be reverse feature quantities, which result from re-arranging, in chronologically backward order, the feature quantities of the input speech, which are relative to each of unit time intervals. That is, the backward speech resulting from reproducing an input speech in chronologically backward order may result from rearranging the characteristics of the input speech in chronologically backward order.

The “word” recited in the above aspect may be a unit as a constituent element of a speech such as a phoneme, syllable, single word, phrase, or vocable. Further, the “node” in the tree structure may not be limited to indicate a word. Part of nodes included in the tree structure may indicate a separator between words.

According to another aspect of the present invention, a speech recognition apparatus is provided as follows. A storage medium is configured to store tree structured dictionary data that contains a plurality of words as nodes in a tree structure. A backward speech comparison unit is configured to compare a backward speech resulting from reproducing an input speech in chronologically backward order with a backward acoustic model corresponding to a speech of reproducing, in chronologically backward order, a word string sequence toward a root of the tree structure, wherein a comparison is performed in reverse order of the sequence. A forward speech comparison unit is configured to compare the input speech with a forward acoustic model corresponding to a speech resulting from chronologically reproducing a sequence of a word string (hereafter referred to as an intermediate word string) that starts from a leaf node word toward a root and ends with a node other than the root of the tree structure, wherein a comparison is performed in order of the sequence. An output unit is configured to output a word string highly likely matching the input speech based on a comparison result each from the backward speech comparison unit and the forward speech comparison unit.

In the above aspect, the forward acoustic model to be compared with the input speech corresponds to a speech resulting from chronologically reproducing an intermediate word string as a sequence of a word string that starts from a leaf node word toward a root and ends with a node other than the root of the tree structure. Therefore, the forward acoustic model can most likely match the utterance of the intermediate word as a speech that is uttered up to the middle of a word string arranged from a leaf node to a root of the tree structure. Thus, the speech recognition apparatus, which uses the backward tree structured dictionary data, can recognize a speech even when the speech is uttered only up to the middle of a word string ranging from a leaf node to the root in the tree structure.

According to another aspect of the present invention, a speech recognition apparatus is provided as follows. A storage medium is configured to store tree structured dictionary data and separator specification data, wherein the tree structured dictionary data contains a plurality of words as nodes in a tree structure and the separator specification data specifies a plurality of nodes equivalent to separators for words of the tree structured dictionary data other than a root in the tree structure. A backward speech comparison unit is configured to compare a backward speech resulting from reproducing an input speech in chronologically backward order with a backward acoustic model corresponding to a speech of reproducing, in chronologically backward order, a sequence of words or word string that is arranged toward a root of the tree structure and ends with one of the plurality of nodes specified by the separator specification data, wherein a comparison is performed in reverse order of the sequence. An output unit is configured to output a word or a word string highly likely matching the input speech based on a comparison result from the backward speech comparison unit.

In the above aspect, the speech recognition apparatus compares a backward speech resulting from reproducing an input speech in chronologically backward order with a backward acoustic model corresponding to a speech ending with a specified node. Thus, the speech recognition apparatus, which uses the backward tree structured dictionary data, can recognize a speech even when the speech is uttered only up to the middle of a word string ranging from a leaf node to the root in the tree structure.

The node corresponding to a separator for words may be a separator between words, or a phoneme of terminating or starting of a word. Further, it may be a node signifying a single word itself. The separator specification data may be allowed to specify any node other than a root in the tree structure. In this case, the speech recognition apparatus may compare a backward speech resulting from reproducing an input speech in chronologically backward order with a backward acoustic model corresponding to a speech ending with the root of the backward tree structure.

According to another aspect of the present invention, a computer program product in a computer-readable medium for use in recognizing a speech is provided with the following: instructions for performing backward speech comparison to compare a backward speech resulting from reproducing an input speech in chronologically backward order with a backward acoustic model corresponding to a speech of reversely reproducing a word string sequence toward a root of a tree structure for tree structured dictionary data containing a plurality of words as nodes in the tree structure, wherein the comparison is made in reverse order of the sequence; instructions for performing forward speech comparison to compare the input speech with a forward acoustic model corresponding to a speech resulting from reproducing a leaf node word of the tree structure in chronologically forward order; and instructions for outputting a word or a word string highly likely matching the input speech based on a comparison result each from the backward speech comparison and the forward speech comparison.

According to another aspect of the present invention, a computer program product in a computer-readable medium for use in recognizing a speech is provided with the following: instructions for performing backward speech comparison to compare a backward speech resulting from reproducing an input speech in chronologically backward order with a backward acoustic model corresponding to a speech of reproducing, in chronologically backward order, a word string sequence toward a root of a tree structure for tree structured dictionary data containing a plurality of words as nodes in the tree structure, wherein the comparison is performed in reverse order of the sequence; instructions for performing forward speech to compare the input speech with a forward acoustic model corresponding to a speech resulting from chronologically reproducing an intermediate word string, which is a sequence of a word string starting from a leaf node word toward a root and ending with a node other than the root of the tree structure, wherein the comparison is performed in order of the sequence; and instructions for outputting a word string highly likely matching the input speech based on a comparison result each from the backward speech comparison and the forward speech comparison.

According to another aspect of the present invention, a computer program product in a computer-readable medium for use in recognizing a speech is provided with the following: instructions for reading tree structured dictionary data and separator specification data from a storage medium for storing the data, wherein the tree structured dictionary data contains a plurality of words as nodes in a tree structure and the separator specification data specifies a plurality of nodes equivalent to separators for words of the tree structured dictionary data other than a root in the tree structure; instructions for performing backward speech comparison to compare a backward speech resulting from reproducing an input speech in chronologically backward order with a backward acoustic model corresponding to a speech of reproducing, in chronologically backward order, a sequence of words or word string that is arranged toward a root of the tree structure and ends with one of the plurality of nodes specified by the separator specification data, wherein the comparison is performed in reverse order of the sequence; and instructions for outputting a word or a word string highly likely matching the input speech based on a comparison result from the backward speech comparison.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

First Embodiment

The following describes a first embodiment as an example of the invention.FIG. 1shows the overall construction of an in-vehicle speech recognition apparatus according to the embodiment. As shown inFIG. 1, the speech recognition apparatus includes a control apparatus1, a microphone2, a talk switch3as a push button, a speaker4, a navigation apparatus5, and a switch apparatus7. When a user utters, e.g., a street address while pressing the talk switch3, the microphone2outputs a signal for the speech to the control apparatus1. The control apparatus1recognizes the speech to specify a character string represented by the speech. The control apparatus1outputs a signal indicative of the character string to the navigation apparatus5. The control apparatus1also outputs a speech signal to the speaker4when needed. The control apparatus1further performs a process corresponding to a user operation on the switch apparatus7or corresponding to a signal received from the navigation apparatus5when needed.

The in-vehicle navigation apparatus5displays a current vehicle position and a route to the destination by superposing them on a map. The navigation apparatus5specifies the current vehicle position (e.g., latitude and longitude) based on map data and signals from a geomagnetic sensor, a gyroscope, a vehicle speed sensor, and a GPS (Global Positioning System) receiver that are widely known but are not diagramed. Based on the specified current position and the map data, the navigation apparatus5determines an address name (e.g., a set of state, city, and street) to which the current vehicle position belongs. The navigation apparatus5always outputs information about the specified address name such as character string data to the control apparatus1. Further, the navigation apparatus5receives phrase data from the control apparatus1and performs a function corresponding to the phrase indicated by the received data. When the received data indicates an address name, for example, the navigation apparatus5specifies the position corresponding to the address name as a destination.

The control apparatus1includes a speech input unit11, a speech recognition unit12, a speech output unit13, an input unit15, a device control interface16, and a process unit17. The speech input unit11analyzes a speech signal received from the microphone2while the talk switch3is pressed. In this manner, the speech input unit11calculates a feature quantity of the speech and outputs the calculated feature quantity to the speech recognition unit12. The speech recognition unit12collates the feature quantity received from the speech input unit11with multiple speech patterns. The speech recognition unit12outputs a collation result to the process unit17. The process unit17specifies one phrase based on the collation result and outputs a signal representing the character string of the phrase to the navigation apparatus5via the device control interface16.

The input unit15receives a signal from the switch apparatus7and outputs the signal to the process unit17and the speech recognition unit12. The speech recognition unit12interchanges signals with the navigation apparatus5via the device control interface16when needed. The speech output unit13generates a speech signal based on control provided by the process unit17according to need and outputs the generated speech signal to the speaker4.

FIG. 2shows the internal construction of the speech input unit11. As shown inFIG. 2, the speech input unit11includes a speech period detection unit61, an input speech storage unit62, a reverse reproduction unit63, and a speech analysis unit64. Each of the units61through64is composed of a microcomputer including a set of a CPU, ROM, RAM, and the like. The CPU reads a program for implementing functions (to be described) from the corresponding ROM and executes the program. When executing the program, the CPU reads or writes data to the corresponding RAM.

The speech period detection unit61detects the beginning of user's utterance period based on a user's press of the talk switch3. The speech period detection unit61detects the end of user's utterance period based on a user's release of the talk switch3. Immediately after detecting the beginning of utterance period, the speech period detection unit61accordingly outputs a signal to the input speech storage unit62. Immediately after detecting the end of utterance period, the speech period detection unit61accordingly outputs a signal to the input speech storage unit62and the reverse reproduction unit63.

The input speech storage unit62receives a speech signal from the microphone2during the utterance period and stores the signal as waveform data whose intensity chronologically varies with a sampling interval (e.g., in approximately 0.1 milliseconds). The utterance period ranges between the reception of a signal indicating the beginning of the utterance period from the speech period detection unit61and the reception of a signal indicating the end thereof from the same. The input speech storage unit62realtime outputs waveform data to the speech analysis unit64based on a speech signal that is received from the microphone2during the utterance period. The realtime output signifies detecting the speech signal intensity upon lapse of the sampling interval and simultaneously outputting data corresponding to the detected intensity. The input speech storage unit62receives the signal indicating the end of the utterance period from the speech period detection unit61, and then outputs the waveform data stored during the utterance period to the reverse reproduction unit63at a time.

The reverse reproduction unit63receives the signal indicating the end of the utterance period from the speech period detection unit61. In this case, the reverse reproduction unit63reproduces the waveform data output from the input speech storage unit62in chronologically backward order (i.e., chronologically reverse order or an order reverse to an order in which a speech is uttered or spoken) and outputs the waveform data to the speech analysis unit64. The reproduction in chronologically backward order signifies sorting the intensity data contained in the waveform data at each sampling interval in chronologically backward order and outputting the sorted data to the speech analysis unit64.

The speech analysis unit64receives waveform data from the input speech storage unit62or the speech analysis unit64. Upon reception, the speech analysis unit64immediately determines feature quantity (e.g., LPC cepstrum) of the received waveform data at an interval of the data's unit segment (e.g., approximately 10 milliseconds) during this period. The speech analysis unit64immediately outputs the feature quantity to the speech recognition unit12.

According to the above-mentioned construction, the speech input unit11specifies a duration of continuously pressing the talk switch3to be an utterance period. During the specified utterance period, the speech input unit11realtime outputs the feature quantity of the speech uttered by the user to the speech recognition unit12in chronological order. The feature quantity of the user's speech is stored during the utterance period. After the end of the utterance period, the speech input unit11outputs the stored feature quantity to the speech recognition unit12in chronologically backward order. The feature quantity output in reverse reproduction order is an example of the backward speech.

FIG. 3shows the construction of the speech recognition unit12. As shown inFIG. 3, the speech recognition unit12includes a user-specified name storage unit71, a current position storage unit72, a result storage unit73, an intermediate information unit74, a collation unit75, an acoustic model unit76, a recognition dictionary unit77, and a result generation unit78. Each of the units71through78is composed of a microcomputer including a set of a CPU, ROM, RAM, and the like. The CPU reads a program for implementing functions (to be described) from the corresponding ROM and executes the program. When executing the program, the CPU reads or writes data to the corresponding RAM.

The user-specified name storage unit71receives character data for a user-specified address name from the navigation apparatus5via the device control interface16and stores that data. The user-specified name storage unit71outputs the stored data to the intermediate information unit74when needed.

The current position storage unit72receives character data for an address name from the navigation apparatus5via the device control interface16and stores that data. The current position storage unit72outputs the stored data to the intermediate information unit74when needed.

The result generation unit78generates recognition result data. The result storage unit73receives and stores this data. The result storage unit73outputs the stored data to the intermediate information unit74when needed.

The intermediate information unit74specifies intermediate place name information used for refinement on the collation unit75as will be described. The intermediate information unit74outputs the specified intermediate place name information to the collation unit75. The intermediate place name information is equivalent to data stored in one of the user-specified name storage unit71, the current position storage unit72, and the result storage unit73. Which unit to select may be determined based on a users selection operation performed on the input unit15. None of the units71through73may store data for the intermediate place name information. That is, this information cannot be specified. In this case, the intermediate information unit74outputs a signal indicating this situation to the collation unit75.

The collation unit75is supplied with the intermediate place name information from the intermediate information unit74and dictionary data stored in the recognition dictionary unit77. Based on that information and dictionary data, the collation unit75compares the feature quantity received from the speech input unit11with multiple acoustic models output from the acoustic model unit76. The collation unit75outputs a comparison result to the result generation unit78.

Based on the comparison result received from the collation unit75, the result generation unit78locates text data for a word or a phrase that most likely matches the feature quantity received from the speech input unit11. The result generation unit78outputs that text data to the result storage unit73and the process unit17.

The following describes the collation unit75, the acoustic model unit76, the recognition dictionary unit77, and the result generation unit78in more detail. The collation unit75acquires multiple acoustic models from the recognition dictionary unit77. The collation unit75compares each acoustic model with the feature quantity (hereafter referred to as the input feature quantity) received from the speech input unit11. As a comparison result, the collation unit75calculates a matching degree (e.g., likelihood) between each acoustic model and the input feature quantity. The collation unit75specifies an acoustic model to be acquired from the recognition dictionary unit77based on dictionary data and specification data stored in the recognition dictionary unit77.

The recognition dictionary unit77stores backward tree structured dictionary data and forward tree structured dictionary data.FIG. 4shows the conceptual structure of backward tree structured dictionary data100.

The backward tree structured dictionary data100has a tree structure and is used for backward collation of backward speech, as will be described later. The tree structure includes multiple nodes that are associated with each other like branches of a tree. More specifically, the tree structure contains a root node (node101inFIG. 4or nodes201and202inFIG. 6) followed by one or more child nodes. Each child node is followed by another child node (or a grandchild node viewed from the parent node). The hierarchical parent-child relationship is maintained up to a leaf node. In the following description, child nodes of one node, i.e., of the same parent node, are referred to as sibling nodes.

As shown inFIG. 4, nodes111through156except a root101of the backward tree structured dictionary data100indicate words according to the embodiment or separators between words. Nodes indicating words are referred to as word nodes and correspond to the nodes111through113,131through137, and151through156. Nodes indicating separators are referred to as separator nodes and correspond to the nodes121through123,141, and142.

The nodes111through113belong to a child hierarchy (hereafter referred to as a first hierarchy) of the root101and correspond to states as address names. The nodes131through137belong to a grandchild hierarchy (hereafter referred to as a third hierarchy) of the first hierarchy and correspond to cities, i.e., administrative areas narrower than states as address names. The nodes151through156belong to a grandchild hierarchy (hereafter referred to as a leaf hierarchy) of the third hierarchy and correspond to streets, i.e., administrative areas narrower than cities as address names. When a node indicates a given address name, each of the grandchild nodes indicates an address name belonging to that address name.

The backward tree structured dictionary data100records as many particular address names as paths connecting the nodes from the root101to the leaf hierarchy according to the dictionary data's tree structure.

A user utters a particular address name in the order of street, city, and state according to the system in Europe or the United States. When the backward tree structured dictionary data100is traced in the order of user's utterance, tracing nodes start with leaf hierarchy nodes and ends with the root101according to the tree structure. In this manner, the backward tree structured dictionary data100decreases the number of nodes in the order of speech input.

FIG. 4shows a small number of nodes for simplicity. Actually, however, the backward tree structured dictionary data100contains several tens to thousands of child nodes under one separator node.

In more detail, the backward tree structured dictionary data100includes a group of data units each of which maintains one-to-one correspondence with a node belonging to the tree structure.FIG. 5shows a data construction of each data unit. A data unit400contains areas for a node ID, character data for a word, a model ID, and a child node ID list.

The node ID is data for uniquely identifying a node. The word text data represents a place name assigned to the corresponding node. The data unit for a separator node contains null data corresponding to the word text data. The model ID is data for uniquely identifying an acoustic model corresponding to the speech of a place name contained in the corresponding node. The unique acoustic model is identified from multiple acoustic models that can be output from the recognition dictionary unit77. The data unit for a separator node contains null data as text data for the model ID. The child node ID list contains a group of node IDs for uniquely identifying each of all child nodes for the corresponding node.

This data unit structure makes it possible to specify the relationship between nodes in the backward tree structured dictionary data100and forward tree structured dictionary data200by sequentially tracing data units from the root to the child node.

FIG. 6shows the conceptual structure of the forward tree structured dictionary data200. This data includes multiple tree structures. The forward tree structured dictionary data200is used to forward collate a forward speech, as will be described later.

As shown inFIG. 6, the forward tree structured dictionary data200contains such nodes as the multiple roots201and202, and word nodes211through216as child nodes for the roots. The word nodes211through216represent streets as address names. The forward tree structured dictionary data200is constructed similarly to all the leaf hierarchy nodes (151through156inFIG. 4) in the backward tree structured dictionary data100and all the parent nodes (141and142inFIG. 4) of the leaf hierarchy nodes. In the forward tree structured dictionary data200, child nodes for one root are equivalent to word nodes representing streets belonging to the same city.

The forward tree structured dictionary data200also contains data units constructed similarly to those in the backward tree structured dictionary data100. Specifically, the forward tree structured dictionary data200is constructed similarly to all the data units corresponding to leaf hierarchy nodes and the data unit corresponding to the parent node in the backward tree structured dictionary data100. A node ID in each data unit and in the child node ID list maintains the parent-child relationship between the corresponding data units in the backward tree structured dictionary data100. However, the node ID value differs from that of the corresponding node in the backward tree structured dictionary data100. A model ID in the data unit for the forward tree structured dictionary data200differs from that in the corresponding data unit for the backward tree structured dictionary data100.

The forward tree structured dictionary data200contains the same words as those corresponding to leaf nodes according to the tree structure of the backward tree structured dictionary data100.

The recognition dictionary unit77stores backward specification data and forward specification data. The backward specification data is equivalent to an instance of separator specification data. The forward specification data is equivalent to an instance of leaf specification data.FIGS. 7 and 8exemplify the constructions of backward specification data450and forward specification data500.

As shown inFIG. 7, the backward specification data450contains node IDs for the root101and the separator nodes121through123in the backward tree structured dictionary data100. The backward specification data450contains node IDs for the root and all the separator nodes except the one nearest to leaf nodes in the tree structure along paths from the root to the leaf nodes.

As shown inFIG. 8, the forward specification data500contains node IDs for the roots201and202in the forward tree structured dictionary data200. The forward specification data500indirectly specifies the word nodes211through216subsequent to the roots201and202.

The acoustic model unit76contains multiple acoustic models identified by specific model IDs. Each acoustic model is data that represents the feature quantity of a speech corresponding to one uttered word. For example, such data can be an LPC cepstrum for the speech or a hidden Markov model corresponding to the speech. The acoustic model unit76distinguishes between modes of reproducing a speech of one word in chronologically normal and reverse orders. There are provided two acoustic models for speech of a word. One is a forward acoustic model that represents the feature quantity of the speech reproduced in chronologically normal order. The other is a backward acoustic model that represents the feature quantity of the speech reproduced in chronologically backward order. The acoustic model unit76stores these acoustic models as different ones. The model ID for the forward acoustic model corresponding to a word node in the forward tree structured dictionary data200is provided with the same model ID as that in the data unit corresponding to the word node. The model ID for the backward acoustic model corresponding to a word node in the backward tree structured dictionary data100is provided with the same model ID as that in the data unit corresponding to the word node.

Using the above-mentioned dictionary data and specification data, the collation unit75repeatedly executes a program as shown inFIG. 9so as to calculate a matching degree between each acoustic model and input feature quantity. The following describes operations of the speech recognition apparatus as a whole in response to a place name uttered by a user as well as operations the collation unit75implements by executing the program300.

At Step S310, the collation unit75receives a signal for the intermediate place name information output from the intermediate information unit74or a signal indicating the absence of this information. The collation unit75repeats this step until starting receiving an input feature quantity from the speech input unit11based on a speech uttered by a user. Based on the received signal, the collation unit75refines one or more of all nodes in the backward specification data450and the forward specification data500.

While refining the forward specification data500, the collation unit75retrieves a word node corresponding to the place name indicated by the intermediate place name information in the most recently received signal from the backward tree structured dictionary data100. The collation unit75extracts all nodes along the route from the retrieved word node to the root101. The collation unit75selects a valid specification node, i.e., a node contained in both the backward specification data450and the extracted nodes.

When the intermediate place name information indicates AVENUE-A, BELLE-GRADE, and FLORIDA, for example, the node155is a word node corresponding to the intermediate place name information. Only the nodes155,142,134,122,112, and101are extracted. In this case, the backward specification data450contains the root and the separator nodes that are not nearest to the leaf nodes. The collation unit75can select only the nodes122and101as valid specification nodes.

While refining the forward specification data500, the collation unit75searches the forward tree structured dictionary data200for a word node corresponding to the place name indicated by the intermediate place name information in the most recently received signal. The word node is equivalent to the node215in the example above. The collation unit75selects the root, i.e., the parent node of the retrieved word node, as a valid specification node. The root is equivalent to the node202in the example above.

When the most recently received signal indicates the absence of intermediate place name information, the collation unit75selects only the node101as a specification node. All nodes in the backward specification data450and the forward specification data500may be selected as valid specification nodes.

Let us suppose that a user starts uttering an address name while pressing the talk switch3. The input speech storage unit62and the speech analysis unit64in the speech input unit11realtime convert a signal for the speech uttered by the user into feature quantity data based on a unit segment of the speech. The feature quantity data is realtime output to the collation unit75chronologically parallel with the utterance.

When starting receiving the feature quantity data from the speech input unit11, the collation unit75repeats Steps S320and S330until the user stops the utterance (see Step S340). In this manner, the collation unit75sequentially acquires the feature quantity data in chronological order (Step S320). The collation unit75compares the so-far acquired feature quantity data with an acoustic model in the recognition dictionary unit77(Step S330).

When an acoustic model is compared with the input feature quantity received from the speech input unit11, the acoustic model is selected based on the valid specification node refined in the forward tree structured dictionary data200and the forward specification data500. Specifically, the acoustic model to be compared with the input feature quantity chronologically reproduces a sequence of words starting from a valid specification node to a leaf node in the tree structure. An available comparison method uses, for example, DP matching, a neural network, or a hidden Markov model.

When the node202is a valid specification node in the above-mentioned example, the input feature quantity is compared with acoustic models for 10TH-ST, AVENUE-A, and WHITAKER-RD.

Terminating the utterance terminates the forward collation of forward speech by repetition of Steps S320through S340. The collation unit75determines the matching degree between the acoustic model for comparison and the input feature quantity. The collation unit75may detect termination of the utterance based on a fact that the speech input unit11outputs no input feature quantity for a specified period. Alternatively, there may be a case where the speech period detection unit61in the speech input unit11outputs a signal indicating termination of an utterance period to the collation unit75. The collation unit75may detect termination of the utterance based on reception of that signal.

When the user's utterance terminates, the input speech storage unit62in the speech input unit11immediately outputs the stored speech for the utterance period to the reverse reproduction unit63. The reverse reproduction unit63reproduces the speech in chronologically backward order. The speech analysis unit64calculates a feature quantity for the reversely reproduced speech on a unit segment basis and outputs the feature quantity to the collation unit75.

At Step S350, the collation unit75receives the feature quantity in chronologically backward order. At Step S360, the collation unit75compares the feature quantity in reverse reproduction order with an acoustic model in the recognition dictionary unit77.

When an acoustic model is compared with the input feature quantity in reverse reproduction order received from the speech input unit11, the acoustic model is selected based on the valid specification node refined in the backward tree structured dictionary data100and the backward specification data450. Specifically, the acoustic model to be compared with the input feature quantity reproduces, in chronologically backward order, a word string starting with a leaf node and ending with a valid specification node toward the root in the tree structure. This acoustic model is hereafter referred to as a backward acoustic model. An available comparison method uses, for example, DP matching, a neural network, or a hidden Markov model.

When the nodes122and101are valid specification nodes in the above-mentioned example, the input feature quantity is compared with a backward acoustic model for a word string starting from the node122toward leaf nodes and with that for a word string starting from the node101toward leaf nodes. The word string starting from the node101contains beginning words corresponding to the nodes111,112, and113at the first hierarchy. The word string starting from the node122contains beginning words corresponding to the nodes134and135at the third hierarchy.

The input feature quantity in reverse reproduction order is sequentially compared with the backward acoustic model for each word string in the order toward leaf nodes in the tree structure of the backward tree structured dictionary data100. For example, the beginning part of the input feature quantity in reverse reproduction order is compared with the backward acoustic model for ALABAMA to calculate matching degree A1. The next part of the input feature quantity in reverse reproduction order is compared with the backward acoustic models for ARLEY, ABANDA, and ALLENTON to calculate matching degrees B1, B2, and B3based on comparison results and matching degree A1. The remaining part of the input feature quantity in reverse reproduction order is compared with the backward acoustic models for COUNTY-HWY-62, CR-41, and WHITE-RD to calculate matching degrees C1, C2, and C3based on comparison results and matching degree B1. The matching degrees C1, C2, and C3respectively correspond to those of speeches “COUNTY-HWY-62, ARLEY, Ala.,” “CR-41, ARLEY, Ala.,” and “WHITE-RD, ARLEY, Ala.” uttered by the user.

At Step S360, the backward collation of backward speech compares the input feature quantity with multiple backward acoustic models starting with a leaf node and ending with a valid specification node toward the root in the tree structure. When Step S360terminates, then Step S380follows. At Step S380, the collation unit75outputs collation results to the result generation unit78. The collation results include those from the forward collation of the forward speech at Steps S320through S340and those from the backward collation of the backward speech at Step S360. In addition, the collation unit75outputs a character string for the intermediate place name information to the result generation unit78.

The result generation unit78receives the collation results such as the character data for multiple word strings and the matching degrees of the word strings from the collation unit75. The result generation unit78then finds a word string having the highest matching degree greater than or equal to a specified value and replaces character data for that word string with part of the intermediate place name information. Let us use a term “most recent word string” to represent the word string having the highest matching degree greater than or equal to a specified value at a given time point. The above-mentioned replacement is equivalent to writing the most recent word string over a word string at the same hierarchy as the most recent word string in the intermediate place name information.

For example, let us suppose that the intermediate place name information is “AVENUE-A, BELLE-GRADE, FLORIDA” and that the word string having the highest matching degree greater than or equal to a specified value is “WHITAKER-RD.” In this case, the above-mentioned overwriting generates word string “WHITAKER-RD, BELLE-GRADE, FLORIDA.” The result generation unit78outputs character data of the generated word string to the process unit17and the result storage unit73. The process unit17outputs the character data to the navigation apparatus5via the device control interface16. The process unit17controls the speech output unit13so that the speaker4generates a sound corresponding to the character data. The result storage unit73stores the character data as recognition result data.

The above-mentioned overwriting may be performed only when a user performs a specified operation on the switch apparatus7. Alternatively, it may be performed only when the result storage unit73already records the recognition result data.

In consideration for the above-mentioned operations, let us consider that the speech recognition apparatus provides “AVENUE-A, BELLE-GRADE, FLORIDA” as the intermediate place name information and the user utters “XXX, BEAN-CITY.” In this case, XXX represents a word corresponding to a word node as a grandchild node of the node135. The utterance “XXX, BEAN-CITY” ends with a word corresponding to the child node of the valid specification node122. Backward acoustic models to be compared also include the backward acoustic model for “XXX, BEAN-CITY.” Consequently, the collation unit75performs the backward collation of backward speech and identifies that backward acoustic model as the acoustic model having the highest matching degree greater than or equal to a specified value. The result generation unit78outputs the character string of “XXX, BEAN-CITY, FLORIDA” to the result storage unit73and the navigation apparatus5.

As mentioned above, the speech recognition apparatus reversely reproduces an input speech to generate a backward speech. The speech recognition apparatus provides a backward acoustic model corresponding to a speech for reproducing, in chronologically backward order, a word string ending with a specified node in the tree structure. The speech recognition apparatus then compares the backward speech with the backward acoustic model. Since the backward tree structured dictionary data is used, the speech recognition apparatus can recognize a speech even when it is uttered up to the middle of a word string ranging from a leaf node to the root in the tree structure.

For example, let us consider that the speech recognition apparatus provides “AVENUE-A, BELLE-GRADE, FLORIDA” as the intermediate place name information and the user utters “CR-41, ARLEY.” In this case, the word string “CR-41, ARLEY” does not end with a word corresponding to a child node of the valid specification node122. It does not end with a word corresponding to a child node of the valid specification node101. In addition, it does not correspond to a word node the valid specification node202indirectly specifies. Therefore, backward acoustic models to be compared contain neither backward acoustic model nor forward acoustic model for “CR-41, ARLEY” There is no acoustic model having the matching degree greater than or equal to a specified value.

Let us consider that the speech recognition apparatus provides “AVENUE-A, BELLE-GRADE, FLORIDA” as the intermediate place name information and the user utters “CR-41, ARLEY, Ala.” In this case, the word string “CR-41, ARLEY, Ala.” ends with a word corresponding to a child node of the valid specification node101. Backward acoustic models to be compared contain a backward acoustic model for “CR-41, ARLEY, Ala.” The collation unit75performs the backward collation of backward speech and identifies that backward acoustic model as the acoustic model having the highest matching degree greater than or equal to a specified value. The result generation unit78outputs the character string of “CR-41, ARLEY, Ala.” to the result storage unit73and the navigation apparatus5.

Let us consider that the speech recognition apparatus provides “AVENUE-A, BELLE-GRADE, FLORIDA” as the intermediate place name information and the user utters “WHITE-RD.” In this case, the word string “WHITE-RD” does not end with a word corresponding to a child node of the valid specification node122. It does not end with a word corresponding to a child node of the valid specification node101. In addition, it does not correspond to a word node the valid specification node202indirectly specifies. Therefore, backward acoustic models to be compared contain neither backward acoustic model nor forward acoustic model for “WHITE-RD.” There is no acoustic model having the matching degree greater than or equal to a specified value.

Let us consider that the speech recognition apparatus provides “AVENUE-A, BELLE-GRADE, FLORIDA” as the intermediate place name information and the user utters “10TH-ST.” In this case, the word string “10TH-ST” corresponds to the word node214the valid specification node202indirectly specifies. Backward acoustic models to be compared contain a backward acoustic model for “10TH-ST.” The collation unit75performs the forward collation of forward speech and identifies that forward acoustic model as the acoustic model having the highest matching degree greater than or equal to a specified value. The result generation unit78outputs the character string of “10TH-ST, BELLE-GRADE, FLORIDA” to the result storage unit73and the navigation apparatus5.

The forward collation of forward speech compares the input feature quantity with a forward acoustic model that corresponds to a speech for chronologically forward reproducing a leaf node word in the tree structure. The forward acoustic model can most likely match the utterance of the leaf node word in the tree structure. Since the backward tree structured dictionary data is used, the speech recognition apparatus can recognize a speech even when it is uttered up to the middle of a word string ranging from a leaf node to the root in the tree structure.

The comparison is performed twice, backward and forward. This makes it possible to reduce more word strings to be compared at a time than the case of performing the backward comparison only. Reducing word strings can reduce the amount of necessary memory and accelerate the processing speed. A limited amount of available memory limits the number of words that can be compared at a time. Decreasing word strings to be compared at a time can yield a highly accurate result and improve the performance. The forward comparison is available during speech input. The number of words to be compared reversely affects the execution time. Performing the comparison twice, backward and forward, can accelerate the processing speed.

The collation unit75starts the forward collation of forward speech when it detects initiation of speech input but not termination thereof. After detecting termination of the speech input, the collation unit75starts the backward collation of backward speech. Part of the speech recognition can start before termination of the user's utterance. It is possible to complete the speech recognition in a short period of time.

Let us consider that the backward tree structured dictionary data100contains a state node “Michigan” followed by a grandchild hierarchy containing a state node “Detroit” further followed by a grandchild hierarchy containing street nodes “Central Street” and “Center Street.” In this case, the forward tree structured dictionary data200contains “Central Street” and “Center Street” as child nodes of the same root.

According to an example inFIG. 10, the user utters “Central Street, Detroit, Mich.” The collation unit75performs the backward collation of backward speech and the result generation unit78performs its process to incorrectly retrieve “Center Street, Detroit, Mich.” as the most likely matching words. The speaker4generates a sound “Center Street, Detroit, Mich.”

To correct the result, the user utters only “Central Street.” The collation unit75performs the forward collation of forward speech and the result generation unit78performs its process to retrieve “Central Street” as the most likely matching words. The words “Central Street” replace “Center Street” in “Center Street, Detroit, Mich.” as the most recently recognized intermediate place name information.

The speech recognition apparatus replaces part of the once output, highly likely matching word string with a most recent, highly likely matching leaf node word. The speech recognition apparatus may incorrectly recognize an uttered speech. The user may need to correct part of the speech he or she uttered. In such cases, the user can utter part of the speech to be corrected. The uttered leaf node word can replace part of the once output, highly likely matching word string. It is possible to efficiently recognize a word associated with a once highly likely matching word or word string.

As mentioned above, the speech recognition apparatus specifies an address name to which the current position belongs. The backward recognition of backward speech can use a leaf node that is a sibling node of the node corresponding to the word contained in the specified address name. In addition, the recognition can compare a backward acoustic model corresponding to the word string starting from the leaf node in the backward tree structured dictionary data100with the input feature quantity for a sequence to be reproduced in chronologically backward order. The forward recognition of forward speech can compare a forward acoustic model corresponding to the word equivalent to a sibling node of the node corresponding to the word contained in the specified address name with the input feature quantity for a chronological sequence. It is possible to efficiently recognize an address name associated with the location of the speech recognition apparatus.

Second Embodiment

A second embodiment of the invention will be described mainly in terms of differences from the first embodiment. The speech recognition apparatus according to the second embodiment has the same hardware construction as the first embodiment. The recognition dictionary unit77according to the second embodiment uses backward tree structured dictionary data100′ as schematically shown inFIG. 11instead of the backward tree structured dictionary data100according to the first embodiment. The recognition dictionary unit77according to the second embodiment includes no forward tree structured dictionary data.

As a difference from the first embodiment, the backward tree structured dictionary data100′ is provided with additional nodes161and162subsequent to the leaf nodes151through156in the tree structure. The additional nodes161and162belong to a higher hierarchy than the connected leaf nodes151through156. The nodes151,152, and153are child nodes of the additional node161. The154,155, and156are child nodes of the additional node162. The additional node functions as an additional parent node of leaf node words in the tree structured dictionary data.

When part of the nodes151through156maintain the sibling relationship in terms of the parent-child relationship with the separator nodes141and142at the fourth hierarchy, the nodes also maintain the sibling relationship in terms of the parent-child relationship with the additional nodes161and162. When part of the nodes151through156do not maintain the sibling relationship in terms of the parent-child relationship with the separator nodes141and142at the fourth hierarchy, the nodes do not either maintain the sibling relationship in terms of the parent-child relationship with the additional nodes161and162.

The additional node is also formed to be the data unit400as shown inFIG. 5similarly to each node in the backward tree structured dictionary data100. The word and the model ID contain null values. The child node ID list records a node ID of the leaf node as a child node.

The recognition dictionary unit77includes forward specification data550inFIG. 12instead of the forward specification data500according to the first embodiment. The forward specification data550is equivalent to an example of leaf node dictionary data. The forward specification data550contains node IDs of all the additional nodes161and162in the backward tree structured dictionary data100′. In this manner, the forward specification data550can be used to indirectly specify the leaf nodes151through156.

The collation unit75performs the backward recognition of backward speech similarly to the first embodiment using the backward tree structured dictionary data100′ instead of the backward tree structured dictionary data100.

The collation unit75performs the forward recognition of forward speech using the backward tree structured dictionary data100′ and forward specification data550instead of the forward tree structured dictionary data200and the forward specification data500.

At Step S310inFIG. 9, the collation unit75refines the forward specification data550and searches the backward tree structured dictionary data100′ for a word node corresponding to the place name indicated by the intermediate place name information in the most recently received signal. When the retrieved word node is associated with an additional node as a parent node, the collation unit75specifies the additional node as a valid specification node.

When Steps S320through S340are repeated, an acoustic model is compared with the input feature quantity received from the speech input unit11. The collation unit75specifies that acoustic model based on the backward tree structured dictionary data100′ and the valid specification node refined from the forward specification data550. Specifically, the acoustic model compared with the input feature quantity chronologically reproduces a sequence of words starting from the additional node161or162as the valid specification node to a parent node (also a separator node) closer to the root of the leaf nodes151through156.

When the node162is a valid specification node in the example above, the input feature quantity is compared with the forward acoustic models for 10TH-ST, AVENUE-A, and WHITAKER-RD.

The backward tree structured dictionary data100′ associated with additional nodes is used for a leaf node of the backward tree structured dictionary data100. The forward recognition of forward speech can be performed using part of the backward tree structured dictionary data100′ without using the forward tree structured dictionary data. It is possible to save the capacity of the storage medium (ROM or RAM) for the recognition dictionary unit77.

Third Embodiment

A third embodiment of the invention will be described mainly in terms of differences from the first embodiment. The third embodiment differs from the first embodiment only in the use of a speech input unit21inFIG. 13instead of the speech input unit11.

As shown inFIG. 13, the speech input unit21includes a speech period detection unit81, a speech analysis unit82, a feature quantity storage unit83, and a feature quantity reverse-output unit84. Each of the units81through84is composed of a microcomputer including a set of a CPU, ROM, RAM, and the like. The CPU reads a program for implementing functions (to be described) from the corresponding ROM and executes the program. When executing the program, the CPU reads or writes data to the corresponding RAM.

The speech period detection unit81detects the beginning of user's utterance period based on a user's press of the talk switch3. The speech period detection unit81detects the end of user's utterance period based on a user's release of the talk switch3. Immediately after detecting the beginning of utterance period, the speech period detection unit81accordingly outputs a signal to the feature quantity storage unit83. Immediately after detecting the end of utterance period, the speech period detection unit81accordingly outputs a signal to the feature quantity storage unit83.

The speech analysis unit82receives a speech signal from the microphone2. Upon reception, the speech analysis unit82immediately determines feature quantity (e.g., LPC cepstrum) at an interval of the received speech signal's unit segment during this period. The speech analysis unit82immediately outputs the feature quantity to the feature quantity storage unit83.

The feature quantity storage unit83receives a feature quantity from the speech analysis unit82during the utterance period and stores the received feature quantity as chronological data according to the sequence of unit segments. The utterance period ranges between the reception of a signal indicating the beginning of the utterance period from the speech period detection unit81and the reception of a signal indicating the end thereof from the same. The feature quantity storage unit83receives a feature quantity from the speech analysis unit82at an interval of the unit segment during the utterance period. The feature quantity storage unit83immediately outputs the received feature quantity to the speech recognition unit12in the order of reception. The feature quantity storage unit83receives the signal indicating the end of the utterance period from the speech period detection unit81, and then outputs the feature quantity data stored during the utterance period to the feature quantity reverse-output unit84at a time.

The feature quantity reverse-output unit84receives the feature quantity data from the feature quantity storage unit83. The feature quantity reverse-output unit84sorts the received feature quantity data in the reverse order of the unit segment sequence. The feature quantity reverse-output unit84outputs the sorted feature quantity data to the speech recognition unit12.

According to the above-mentioned construction, the speech input unit21specifies a period for continuously pressing the talk switch3as the utterance period. When the user utters a speech during the specified utterance period, the speech input unit21chronologically and realtime outputs the feature quantity of that speech to the speech recognition unit12. The user speech is stored during the utterance period. After the end of the utterance period, the speech input unit21outputs the feature quantity of the stored user speech to the speech recognition unit12in chronologically backward order. The reversely reproduced feature quantity to be output is equivalent to an example of the backward speech.

Fourth Embodiment

A fourth embodiment of the invention will be described mainly in terms of differences from the first embodiment. The speech recognition apparatus according to the fourth embodiment has the same hardware construction as the first embodiment. The recognition dictionary unit77according to the fourth embodiment includes backward specification data600inFIG. 14instead of the backward specification data450according to the first embodiment. The recognition dictionary unit77according to the fourth embodiment includes neither the forward tree structured dictionary data200nor the forward specification data500.

The backward specification data600inFIG. 14differs from the backward specification data450according to the first embodiment as follows. The backward specification data450does not specify the nodes141and142of the backward tree structured dictionary data100, but the backward specification data600does.

Accordingly, the first and fourth embodiments use the same structure of the backward tree structured dictionary data100included in the recognition dictionary unit77. Conceptually, however, there is a difference between the embodiments in that the nodes141and142of the backward tree structured dictionary data100function as specification nodes according to the fourth embodiment as shown inFIG. 15.

The collation unit75according to the fourth embodiment does not perform the forward recognition of forward speech. The collation unit75performs the backward recognition of backward speech using the backward tree structured dictionary data100and the backward specification data600.

Let us suppose that the user utters “10TH-ST” when the speech recognition apparatus according to the above-mentioned construction indicates AVENUE-A, BELLE-GRADE, and FLORIDA as the intermediate place name information. The character string “10TH-ST” ends with the word equivalent to a child node of the valid specification node142. Backward acoustic models to be compared also include the backward acoustic model for “10TH-ST”. The collation unit75performs the backward collation of backward speech and identifies that backward acoustic model as the acoustic model having the highest matching degree greater than or equal to a specified value. The result generation unit78outputs the character string “10TH-ST, BELLE-GRADE, FLORIDA” to the result storage unit73and the navigation apparatus5.

In this manner, the parent node of leaf word nodes may be used as a specification node when the collation unit75performs the backward recognition of backward speech without performing the forward recognition of forward speech.

In the above-mentioned embodiments, the ROM and the RAM for each microcomputer in the control apparatus1are equivalent to an example of storage media. The forward tree structured dictionary data200is equivalent to an example of the leaf node dictionary data. The backward tree structured dictionary data100is equivalent to an example of tree structured dictionary data. The navigation apparatus5is equivalent to an example of a place name specification means or unit. The speech period detection unit61is equivalent to an example of a detection means or unit. The result generation unit78is equivalent to an example of an output means or unit. The collation unit75functions as an example of a backward speech comparison means or unit by performing Steps S350and S360of the program300. It functions as an example of a forward speech comparison means or unit by performing Steps S320, S330, and S340. It functions as an example of a selection means or unit by performing Step S310.

Other Embodiments

While there have been described the embodiments of the invention, the scope of the invention is not limited thereto but may include changes and modifications capable of embodying the specifications in the invention.

According to the above-mentioned embodiments, for example, one word node represents one word in the backward tree structured dictionary data100and100′ and the forward tree structured dictionary data200. Further, the other modifications may be available. In each tree structured dictionary data, one word node may represent one phoneme (a, o, u, or the like) or one syllable.

When one phoneme constitutes a word node, the backward tree structured dictionary data contains phonemes and words that are separated in the order of utterance from leaf nodes to the root. In this case, the forward tree structured dictionary data contains phonemes and words that are separated in the order of utterance from the root to leaf nodes.FIG. 16shows an example of the backward tree structured dictionary data containing phoneme-based word nodes. It should be noted that the direction from the root to leaf nodes inFIG. 16differs from that of the other backward tree structured dictionary data100and100′.

The backward tree structured dictionary data inFIG. 16exemplifies some state names in the United States. Each state name is phonetically represented and is divided into phonemes that are then arranged from the left to the right (i.e., from the root to leaf nodes) in the order of utterance. InFIG. 16, open circle mark ∘ is equivalent to a word node representing a phoneme. Filled circle Mark ● is equivalent to a separator node.

A path from the root indicated by arrow A to the separator node indicated by arrow B reversely represents the State of Alabama in units of phonemes. “Alabama” is equivalent to a word to be recognized. The word is further followed by city names in the State of Alabama. Each city name is reversely represented in units of phonemes. The four state names, Alabama, Oklahoma, Florida, and Georgia, have the same last phoneme and therefore diverge from the same separator node. Similarly, city names in the same state diverge from the same separator node. Street names in the same city diverge from the same separator node.

When the phoneme-based backward or forward tree structured dictionary data is used, the collation unit75compares a backward speech with a backward acoustic model. The backward speech is generated by reproducing an input speech in chronologically backward order. The backward acoustic model corresponds to a speech resulting from reproducing a sequence of a word string (or phoneme string in this case) toward the root of the tree structure in chronologically backward order. The comparison is performed in the reverse order of the sequence, i.e., from the root to leaf nodes. Further, the collation unit75compares the input speech with a forward acoustic model. The forward acoustic model corresponds to a speech resulting from chronologically reproducing a sequence of words (i.e., a word string composed of multiple phonemes). The sequence starts from a node for a leaf node word (a phoneme in this case) toward the root and ends with a node other than the root of the tree structure. The comparison is performed in the order of the sequence. Based on these comparison results, the result generation unit78outputs a word string that highly likely matches the input speech.

When the phoneme-based or syllable-based backward or forward tree structured dictionary data is used, the acoustic model unit76may provide an acoustic model for each phoneme or syllable in chronologically forward and backward orders of reproduction.

A node indicating separation of a word is not limited to the nodes121through123,141, and142for separating words from each other. When tree structured dictionary data uses each node to indicate one word, a word separator may correspond to a node itself for the word. When tree structured dictionary data uses each node to indicate one phoneme, a word separator may correspond to a node for a first or last phoneme of the word.

The speech recognition apparatus may recognize a speech command. For example, the recognition dictionary unit77may include a speech command recognition dictionary. The acoustic model unit76may include an acoustic model for reversely reproducing a speech command. In this case, the collation unit75can output a command as a highly likely matching word to the navigation apparatus5in the same manner as the backward recognition of backward speech. The navigation apparatus5can implement an operation based on the command.

When the speech recognition apparatus can recognize a speech command, the result generation unit78may perform the replacement for input speech correction only in response to a user-uttered command for the replacement.

The acoustic model unit76may contain acoustic models all of which only correspond to the forward or backward order of reading. The feature quantity and the acoustic model are reproduced in chronologically backward or forward order and are compared as follows. Feature quantities are sequenced in chronologically backward order corresponding to the unit segment for each acoustic model. The reversely sequenced feature quantities are compared with an input speech.

The forward specification data500and550may be constructed to directly specify a node ID of each leaf node instead of indirectly specifying it via the root of the forward tree structured dictionary data200or the additional node in the backward tree structured dictionary data100′.

The tree structure may be formed from leaf nodes to the root not only in the order of street, city, and state according to the above-mentioned embodiments, but also in the order of house number, street, city, and state.

The collation unit75may create the forward tree structured dictionary data200from the backward tree structured dictionary data100based on the intermediate place name information each time a forward speech is recognized forward. This eliminates the need for previously providing the recognition dictionary unit77with the forward tree structured dictionary data200.

The leaf node dictionary data need not have the forward tree structure according to the above-mentioned embodiments or even the tree structure. The leaf node dictionary data only needs to contain the same word string as an intermediate word string.

The speech period detection units61and81of the speech input units11and21may receive a signal not only from the talk switch3, but also from the microphone2. Pressing the talk switch3may detect the beginning of a period of user utterance. The end of the utterance period may be detected according to a specified period of continuous silence indicated by a signal from the microphone2. The utterance period may be detected while the microphone2supplies a signal having a specified amplitude or more.

The speech input unit11, the speech recognition unit12, and the process unit17may contain special circuits corresponding to the respective functions. A single microcomputer may be used to implement the functions of the speech input unit11, the speech recognition unit12, and the process unit17in the control apparatus1.

The speech recognition apparatus according to the invention is not necessarily mounted on a vehicle and may be used under any circumstances.

Each or any combination of processes, steps, or means explained in the above can be achieved as a software unit (e.g., subroutine) and/or a hardware unit (e.g., circuit or integrated circuit), including or not including a function of a related device; furthermore, the hardware unit can be constructed inside of a microcomputer.

Furthermore, the software unit or any combinations of multiple software units can be included in a software program, which can be contained in a computer-readable storage media or can be downloaded and installed in a computer via a communications network.