Abstract:
An exemplary computer system configured to user multiple automatic speech recognizers (ASRs) with a plurality of language and acoustic models to increase the accuracy of speech recognition.

Description:
CLAIM OF PRIORITY 
       [0001]    This patent application claims priority from U.S. Provisional Patent Application No. 61/825,516, filed on May 20, 2013, in the U.S. Patent and Trademark Office, the disclosure of which is incorporated herein by reference in its entirety. 
     
    
     BACKGROUND 
       [0002]    1. Field 
         [0003]    Embodiments herein relate to a method and apparatus for exemplary speech recognition. 
         [0004]    2. Description of Related Art 
         [0005]    Typically speech recognition is accomplished through the use of a single Automatic Speech Recognition (ASR) engine. An ASR works by obtaining a phrase of one or more words, making several potential representations of said phrase and assigning a confidence score each representation. A confidence score is provided by most ASRs and presents a numerical representation of the quality of the representation, i.e. the higher the confidence score, the likelihood that the representation result is accurate. 
       SUMMARY 
       [0006]    Embodiments of the present application relate to speech recognition using multiple ASRs working in tandem to render the best possible representation. For each phrase translated, the speech recognition selects the phrase with the highest confidence score between the various ASRs. 
     
    
     
       DESCRIPTION OF THE DRAWINGS 
         [0007]      FIG. 1  illustrates a system level diagram of the computer system 
           [0008]      FIG. 2  illustrates a flow diagram one of the several embodiments. 
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       [0009]      FIG. 1  illustrates a block diagram of a system for enhancing the accuracy of speech recognition according to an exemplary embodiment. 
         [0010]    The speech recognition system in  FIG. 1  may be implemented as a computer system  110 ; a computer comprising several modules, i.e. computer components embodied as either software modules, hardware modules, or a combination of software and hardware modules, whether separate or integrated, working together to form an exemplary computer system. The computer components may be implemented as a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC), which performs certain tasks. A unit or module may advantageously be configured to reside on the addressable storage medium and configured to execute on one or more processors or microprocessors. Thus, a unit or module may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components and units may be combined into fewer components and units or modules or further separated into additional components and units or modules. 
         [0011]    Input  120  is a module configured to receive human speech from an audio source  115 , and output the input speech to Multiplier  130 . The audio source  115  may be live person speaking into a microphone, recorded speech, for example speech recorded in a file, synthesized speech, etc. 
         [0012]    Multiplier  130  is a module configured to receive human speech from Input  120  and routes said input speech to a first and second automatic speech recognizer (collectively “ASR  140 ”), in parallel, where said first and second ASR&#39;s have different language and/or acoustic models. Multiplier  130  may be software modules, hardware modules, or a combination of software and hardware modules, whether separate or integrated, working together to perform said function 
         [0013]    ASR  140  may be software modules, hardware modules, or a combination of software and hardware modules, whether separate or integrated, working together to perform automatic speech recognition. In a preferred embodiment, each ASR  140  is configured to receive an input speech phrase, produce a speech wave form, embodying the words of the phrase, the extraneous sounds, and pauses in the spoken input. It then decodes the speech into the best estimate of the phrase by first converting the input speech signal into a sequence of vectors, which are measured throughout the duration of the speech signal. Then, using a syntactic decoder it generates one or more valid sequences of representations, assign a confidence score to each potential representation, select the potential representation with the highest confidence score, and output said representation as well as the confidence score for said selected representation. 
         [0014]    Computer System  110  uses multiple ASRs  140 , each optimized for a different input speaker, e.g. language, accent, cadence, etc. to obtain the best potential representation of the input speech. ASR  140  is configured with a language model and an acoustic model. The way that words are connected together into phrases is governed by knowledge of the phrases that are to be accepted by the recognizer; the language model defines this set of phrases or at least defines the likelihood of one word following another. For example, in US English, “the” is almost always immediately followed by a noun or an adjective. Thus, in making a decision between the phrases “the scene” and “the seen”, the ASR is likely to determine a higher confidence score for “the scene” over “the seen” as “seen” is neither a noun nor adjective. 
         [0015]    Similarly, acoustic modeling of speech typically refers to the process of establishing statistical representations for the feature vector sequences computed from the speech waveform. Acoustic modeling also encompasses “pronunciation modeling”, which describes how a sequence or multi-sequences of fundamental speech units (such as phones or phonetic feature) are used to represent larger speech units such as words or phrases which are the object of speech recognition. 
         [0016]    Accordingly, depending on the likely speaker, different ASRs with specific optimization are employed for speech recognition. For example, there are ASRs which are optimized for a particular type of speech such as the highly specialized speech typically found in the medical or legal fields. Both fields have unique vocabularies including many words which are not found in typical everyday speech. Consequently, whereas a general purpose ASR would be less likely to select such technical jargon, an ASR optimized for a specific industry would be more likely to select an industry specific word. Similarly, an ASR can have an acoustic model which is optimized for a specific regional dialect. 
         [0017]    Additionally, there are limited -vocabulary ASRs, also known as restricted domain ASRs. These ASRs have been programmed to accept only certain words. An example of a limited vocabulary ASR would be the automatic phone tree used by many large businesses. 
         [0018]    The difficulty with the traditional ASR is that at different times, the speaker may have different needs. For example, a physician may need an ASR optimized for medical usage during the day time as he or she works with patients. The same physician may need a general purpose ASR after hours. 
         [0019]    Computer System  110  employs ASR&#39;s with different language or acoustic models. For example one ASR might have a standard US English language model and a US Cajun English acoustic model; another with a standard US English language and a US Boston English acoustic model, similarly, another ASR could have a US Cajun English language model and a US Cajun Acoustic model. 
         [0020]    For example, upon receiving the phrase “N&#39;awlins” from a US Cajun English speaker an ASR with a US Cajun English Language model and US Cajun acoustic model might output “New Orleans”. An ASR with an US English language model and acoustic model would probably fail. 
         [0021]    In another embodiment of the invention, ASR  140  is a single ASR with multiple language and acoustic models each operating in parallel, each generating a potentially different representation of the input speech, 
         [0022]    In another embodiment of the invention, the invention adds a pre-processor to determine the language of the input speaker and only those ASRs using the same language process the input speech. This addresses the problem of false friends. For purposes of this disclosure, a false friend is a word in a language that sounds similar to a word in another language but means something different. Examples of false friends include French “carte” and English “cart” or German “aktuell”) and English “actual”. ASR&#39;s with different foreign language model might present similar confidence scores potentially resulting in the wrong word being chosen. 
         [0023]    Computer system  110  includes as many different ASRs or as many language model and acoustic models as possible, limited by among other things physical space, power and heating requirements, and computer hardware memory. 
         [0024]    Comparator  150  is a computer hardware module configured to obtain the confidence score from each ASR, and select the representation with the highest confidence score. The confidence score produced by each ASR may be unique to the manufacturer. Accordingly, computer system  110  normalizes the confidence score to ensure accurate comparisons. In one embodiment, computer system  110  scales the confidence score to a percentage representation, i.e. divide the confidence score by the range of confidence scores, much in the way one scales between the English system and the metric system. 
         [0025]      FIG. 2  illustrates a flow diagram of one embodiment of the invention. At step  210 , the computer system obtains human speech. At step  220 , the speech is routed to two or more ASRs to be translated into text. At step  230 , each ASR translates the human speech into text at the phrase level and determines a confidence score. For each translated phrase, at step  240 , the computer system selects the representation with the highest confidence score. At step  250 , the selected text is output.