Abstract:
A method and system for processing speech misrecognitions. The system can include an embedded speech recognition system having at least one acoustic model and at least one active grammar, wherein the embedded speech recognition system is configured to convert speech audio to text using the at least one acoustic model and the at least one active grammar; a remote training system for modifying the at least one acoustic model based on corrections to speech misrecognitions detected in the embedded speech recognition system; and, a communications link for communicatively linking the embedded speech recognition system to the remote training system. The embedded speech recognition system can further include a user interface for presenting a dialog for correcting the speech misrecognitions detected in the embedded speech recognition system. Notably, the user interface can be a visual display. Alternatively, the user interface can be an audio user interface. Finally, the user interface can include both a visual display and an audio user interface.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Technical Field  
           [0002]    This invention relates to the field of embedded speech recognition systems and more particularly to processing speech recognition errors in an embedded speech recognition system.  
           [0003]    2. Description of the Related Art  
           [0004]    Speech recognition is the process by which an acoustic signal received by microphone is converted to a set of text words by a computer. These recognized words may then be used in a variety of computer software applications for purposes such as document preparation, data entry, and command and control. Speech recognition systems programmed or trained to the diction and inflection of a single person can successfully recognize the vast majority of words spoken by that person.  
           [0005]    In operation, speech recognition systems can model and classify acoustic signals to form acoustic models, which are representations of basic linguistic units referred to as phonemes. Upon receipt of the acoustic signal, the speech recognition system can analyze the acoustic signal, identify a series of acoustic models within the acoustic signal and derive a list of potential word candidates for the given series of acoustic models. Subsequently, the speech recognition system can contextually analyze the potential word candidates using a language model as a guide.  
           [0006]    The task of the language model is to express restrictions imposed on the manner in which words can be combined to form sentences. The language model can express the likelihood of a word appearing immediately adjacent to another word or words. Language models used within speech recognition systems typically are statistical models. Examples of well-known language models suitable for use in speech recognition systems include uniform language models, finite state language models, grammar based language models, and m-gram language models.  
           [0007]    Notably, the accuracy of a speech recognition system can improve as the acoustic models for a particular speaker are refined during the operation of the speech recognition system. That is, the speech recognition system can observe speech dictation as it occurs and can modify the acoustic model accordingly. Typically, an acoustic model can be modified when a speech recognition training program analyzes both a known word and the recorded audio of a spoken version of the word. In this way, the speech training program can associate particular acoustic waveforms with corresponding phonemes contained within the spoken word.  
           [0008]    In a traditional computing systems in which speech recognition can be performed, extensive training programs can be used to modify acoustic models during the operation of speech recognition systems. Though time consuming, such training programs can be performed efficiently given the widely available user interface peripherals which can facilitate a user&#39;s interaction with the training program. In an embedded computing device, however, typical personal computing peripherals such as a keyboard, mouse, display and graphical user interface (GUI) often do not exist. As such, the lack of a conventional mechanism for interacting with a user can inhibit the effective training of a speech recognition system because such training can become tedious given the limited ability to interact with the embedded system. Yet, without an effective mechanism for training the acoustic model of the speech recognition system, when a speech recognition error has occurred, the speech recognition system cannot appropriately update the corresponding speech recognition system language model so as to reduce future instances of future misrecognitions.  
         SUMMARY OF THE INVENTION  
         [0009]    The present invention solves the problem of processing speech misrecognized in an embedded speech recognition system. Specifically, the present invention can include a method performed in a remote training system. More particularly, the method can process a speech misrecognition generated when converting speech audio to text in an embedded speech recognition system. The method can include the following steps: First, speech audio and an active acoustic model both associated with a speech misrecognition detected in the embedded speech recognition system can be received from the embedded speech recognition system. Second, a first list of valid phrases can be presented which were contextually valid when the speech misrecognition occurred. Moreover, a second list of words can be presented which form a selected one of the first presented contextually valid phrases. Third, the active acoustic model can be modified based on selected ones of the words in the list and the received speech audio. Finally, the modified acoustic model can be transmitted to the embedded speech recognition system.  
           [0010]    Notably, the method can further include receiving an active grammar from the embedded speech recognition system, wherein the active acoustic model is modified based on the active grammar in addition to the selected words and the received speech audio. Significantly, the first presenting step can include visually presenting the list of contextually valid phrases in a user interface. Alternatively, the first presenting step can include audibly presenting the list of contextually valid phrases. The step of audibly presenting the list can include text-to-speech (TTS) converting the list of contextually valid phrases; and, audibly presenting the TTS converted list. Finally, the first presenting step can include both visually and audibly presenting the list of contextually valid phrases.  
           [0011]    A system for processing speech misrecognitions in accordance with the inventive arrangements can include an embedded speech recognition system having at least one acoustic model and at least one active grammar, wherein the embedded speech recognition system is configured to convert speech audio to text using at least one acoustic model and at least one active grammar; a remote training system for modifying at least one acoustic model based on corrections to speech misrecognitions detected in the embedded speech recognition system; and, a communications link for communicatively linking the embedded speech recognition system to the remote training system. The embedded speech recognition system can further include a user interface for presenting a dialog for correcting the speech misrecognitions detected in the embedded speech recognition system. Notably, the user interface can be a visual display. Alternatively, the user interface can be an audio user interface. Finally, the user interface can include both a visual display and an audio user interface.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    There are presently shown in the drawings embodiments which are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.  
         [0013]    [0013]FIG. 1 is a schematic illustration of an embedded speech recognition system communicatively linked to remote speech training system.  
         [0014]    [0014]FIG. 2 is a schematic illustration of an embedded speech recognition system configured in accordance with one aspect of the inventive arrangements.  
         [0015]    [0015]FIG. 3 is a block diagram illustrating an architecture for use in the embedded computing device of FIG. 1.  
         [0016]    [0016]FIG. 4 is a block diagram illustrating an architecture for use in the speech training system of FIG. 1.  
         [0017]    FIGS.  5 A- 5 B, taken together, are a flow chart illustrating a process for detecting misrecognized speech in the embedded speech recognition system of FIG. 1, and processing the misrecognized speech in the remote training system of FIG. 1.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0018]    The present invention is a system and method for remotely processing misrecognized speech generated when converting speech audio to text in an embedded speech recognition system. FIG. 1 is a schematic illustration illustrating the interaction between an embedded speech recognition system  110  and a remote training system  120 , both configured in accordance with the inventive arrangements. As shown in FIG. 1, the method can include detecting a speech misrecognition in the embedded speech recognition system  110 . Misrecognized speech can refer to speech recognized text which does not match the actual audio input provided by the speaker. An example of misrecognized speech can include the speech recognized text, “time” resulting from the speaker provided audio input, “climate”. Upon detecting a speech misrecognition, both the speech audio associated with the misrecognition and the active acoustic model  130  can be transmitted to the remote training system  120 . Subsequently, the remote training system  120  can use the speech audio in a process is for modifying the acoustic model. Once modified, the improved acoustic model  140  can be transmitted back to the embedded speech recognition system  110 .  
         [0019]    Notably, during the remote training process, a list of contextually valid phrases in the embedded speech recognition system  110  can be presented to the user in the remote training system  120 . Contextually valid phrases can include those phrases which would have been valid phrases at the time the user provided the speech audio input in the embedded speech recognition system  110 . The user can select one of the valid phrases which match the speech audio input. Subsequently, a list of words can be presented which form the selected phrase. The user can select one or more of the words indicating to the speech training system  120  which words were misrecognized, the selected words representing corrections to the misrecognition. Finally, the remote speech training system  120  can incorporate the corrections into a modified acoustic model for the embedded speech recognition system  110 .  
         [0020]    As shown in FIG. 1, the embedded speech recognition system  110  and the remote training system  120  can communicate through communications link  150 . Communications link can be any suitable communications system, including both wireless or wireline technologies. Examples of wireless technologies can include line-of-sight technologies such as infrared, radio frequency communications, including cellular, as well as short-range radio frequency communications technologies, such as Bluetooth™ technology from the Bluetooth Special Interest Group. Examples of wireline technologies can include direct cable technologies such as USB, and serial communications, as well as communications network technologies such as Ethernet.  
         [0021]    [0021]FIG. 2 shows an embedded speech recognition system  110  suitable for use with the present invention. The embedded speech recognition system  110  preferably is comprised of an embedded computing device including a central processing unit (CPU)  202 , one or more memory devices and associated circuitry  204 A,  204 B. The embedded speech recognition system  110  also can include an audio input device such as a microphone  208  and an audio output device such as a speaker  210 , both operatively connected to the computing device through suitable audio interface circuitry  206 . The CPU  202  can be comprised of any suitable microprocessor or other electronic processing unit, as is well known to those skilled in the art. Memory devices can include both non-volatile memory  204 A and volatile memory  204 B. Examples of non-volatile memory can include read-only memory and flash memory. Examples of non-volatile memory can include random access memory (RAM). The audio interface circuitry  206  can be a conventional audio subsystem for converting both analog audio input signals to digital audio data, and also digital audio data to analog audio output signals.  
         [0022]    In one aspect of the present invention, a display  225  and corresponding display controller  220  can be provided. The display  225  can be any suitable visual interface, for instance an LCD panel, LED array, CRT, etc. In addition, the display controller  220  can perform conventional display encoding and decoding functions for rendering a visual display based upon digital data provided in the embedded speech recognition system  110  . Still, the invention is not limited in regard to the use of the display  225  to present visual feedback to a speaker. Rather, in an alternative aspect, an audio user interface (AUI) can be used to provide audible feedback to the speaker in place of the visual feedback provided by the display  225  and corresponding display controller  220 . Moreover, in yet another alternative aspect, feedback can be provided to the speaker through both an AUI and the display  225 .  
         [0023]    [0023]FIG. 3 illustrates an exemplary high level architecture for the embedded speech recognition system  110  of FIG. 1. As shown in FIG. 3, an embedded speech recognition system  110  for use with the invention typically can include an operating system  302 , a speech recognition engine  310 , a speech enabled application  320 , and acoustic models/language models  330  for use by the speech recognition engine  310 . Notably, acoustic models  330  can include phonemes which can be used by the speech recognition engine  310  to derive a list of potential word candidates from an audio speech signal.  
         [0024]    Significantly, in FIG. 3, the speech recognition engine  310 , speech enabled application  320  and acoustic/language models  330  are shown as separate application programs. It should be noted however that the invention is not limited in this regard, and these various application programs could be implemented as a single, more complex applications program. For example the speech recognition engine  310  could be combined with the speech enabled application  320 .  
         [0025]    Referring now to both FIGS. 2 and 3, during a speech recognition session, speech audio signals representative of sound received in microphone  208  are processed by CPU  202  within the embedded speech recognition system  110  using audio circuitry  206  so as to be made available to the operating system  302  in digitized form. The speech audio signals received by the embedded speech recognition system  110  are conventionally provided to the speech recognition engine  310  via the computer operating system  302  in order to perform speech-to-text conversions on the speech audio signals which can produce speech recognized text. In sum, as in conventional speech recognition systems, the audio signals are processed by the speech recognition engine  310  using acoustic models  330  to identify words spoken by a user into microphone  208 .  
         [0026]    Once speech audio signals representative of speech have been converted to speech recognized text by the speech recognition engine  310 , the speech recognized text can be provided to the speech enabled application  320  for further processing. Examples of speech enabled applications can include a speech-driven command and control application, or a speech dictation system, although the invention is not limited to a particular type of speech enabled application. The speech enabled application, in turn, can present the speech recognized text to the user through a user interface. For example, the user interface can be a visual display screen, an LCD panel, a simple array of LEDs, or an AUI which can provide audio feedback through speaker  210 .  
         [0027]    In any case, responsive to the presentation of the speech recognized text, a user can determine whether the speech recognition engine  310  has properly speech-to-text converted the user&#39;s speech. In the case where the speech recognition engine  310  has improperly converted the user&#39;s speech into speech recognized text, a speech misrecognition is said to have occurred. Importantly, where the user identifies a speech misrecognition, the user can notify the speech recognition engine  310 . Specifically, in one aspect of the invention, the user can activate an error button which can indicate to the speech recognition engine that a misrecognition has occurred. However, the invention is not limited in regard to the particular method of notifying the speech recognition engine  310  of a speech misrecognition. Rather, other notification methods, such as providing a speech command can suffice.  
         [0028]    Responsive to receiving a misrecognition error notification, the speech recognition engine  310  can transmit the original speech audio signal which had been misrecognized, and the active acoustic model to the remote training system  120 . Additionally, the active language model also can be transmitted to the remote training system  120 . Subsequently, the remote training system can process the speech audio signal and the active acoustic model to modify the acoustic model in a speech training session.  
         [0029]    [0029]FIG. 4 illustrates an exemplary high level architecture for the speech training system  120  of FIG. 1. As shown in FIG. 4, a speech training system  120  for use with the invention typically can include an operating system  402 , a speech recognition engine  410 , a speech training application  420 , and acoustic models/language models  430  for use by the speech recognition engine  410  and for modification by the speech training application  420 . As in the case of FIG. 3, in FIG. 4 the speech recognition engine  410 , speech training application  420  and acoustic/language models  430  are shown as separate application programs. It should be noted however that the invention is not limited in this regard, and these various application programs could be implemented as a single, more complex applications program.  
         [0030]    In operation, during a remote speech training session, a list of contextually valid phrases in the speech recognition system can be presented to the user. Contextually valid phrases can include those phrases in a finite state grammar system which would have been valid phrases at the time of the misrecognition. For example, in a speech-enabled word processing system, while editing a document, a valid phrase could include, “Close Document”. By comparison, in the same word processing system, prior to opening a document for editing, an invalid phrase could include “Save Document”. Hence, if a misrecognition error had been detected prior to opening a document for editing, the phrase “Save Document” would not be included in a list of contextually valid phrases, while the phrase “Open Document” would be included in a list of contextually valid phrases.  
         [0031]    Once the list of contextually valid phrases has been presented to the user, the user can select one of the phrases as the phrase actually spoken by the user. Subsequently, a list words can be presented which form the selected phrase. Again, the speaker can select one or more words in the list which represent those words originally spoken by the speaker, but misrecognized by the embedded speech recognition system  110 . These words can be processed along with the stored speech audio input and the active language model  430  by the speech training application  420 . More particularly, the speech training application  420  can incorporate corrections into acoustic models  430  based on the specified correct words. By modifying the acoustic models  430  during a speech training session, the accuracy of the speech recognition engine  310  of the embedded speech recognition system  110  can increase as fewer misrecognition errors can be encountered during a speech recognition session.  
         [0032]    [0032]FIG. 5A is a flow chart illustrating a method for processing a misrecognition error in an embedded speech recognition system during a speech recognition session. The method can begin in step  502  in which an embedded speech recognition system can await speech input. In step  504 , if speech input is not received, the system can continue to await speech input. Otherwise, in step  506  the received speech input can be speech-to-text converted in a speech recognition engine, thereby producing speech recognized text. In step  508 , the speech recognized text can be presented through a user interface such as a visual or AUI. Subsequently, in step  510  if an error notification is not received, such notification indicating that a misrecognition has been identified, it can be assumed that the speech recognition engine correctly recognized the speech input. As such, the method can return to step  502  in which the system can await further speech input. In contrast, if an error notification is received, indicating that a misrecognition has been identified, in step  512  the speech audio input, active acoustic model, and the active language model can be transmitted to the remote speech training system.  
         [0033]    [0033]FIG. 5B is a flow chart illustrating a method for performing speech training in a remote speech training system based on a speech misrecognition detected in an embedded speech recognition system. In step  514 , each of the speech audio, active acoustic model and active grammar which had been received from the embedded speech recognition system can be recalled for use by the speech training system. Subsequently, in step  516  a list of contextually valid phrases can be compiled indicating those phrases which would be considered valid speech input at the time of the misrecognition. Additionally, in step  518  the list can be presented through a user interface.  
         [0034]    In step  520 , a phrase can be selected from among the phrases in the list. Then, in step  522 , the words forming the selected phrase can be presented in a list of words through the user interface. In step  524 , one or more of the words can be selected, thereby indicating those words which had been misrecognized by the speech recognition engine. Thereafter, in step  526  the selected words can be passed to a speech training process. Also, in step  526  the original speech audio input and active grammar can be provided to the speech training process. In consequence, in step  528 , the speech training process can modify the acoustic model in order to improve future recognition accuracy. Finally, in step  530 , the modified acoustic model can be transmitted back to the embedded speech recognition system.  
         [0035]    Notably, the present invention can be realized in hardware, software, or a combination of hardware and software. The method of the present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suitable. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.  
         [0036]    The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program means or computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.  
         [0037]    While the foregoing specification illustrates and describes the preferred embodiments of this invention, it is to be understood that the invention is not limited to the precise construction herein disclosed. The invention can be embodied in other specific forms without departing from the spirit or essential attributes. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.