Real-time multilingual interpreter for online meetings
Patent Information
- Application Number
- PCT/CN2024/107767
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-26
- Publication Date
- 2026-01-29
AI Technical Summary
Existing real-time speech translation technologies employ multi-level machine learning models, resulting in excessively long processing times, which fails to meet the demands of real-time translation, and also consumes high computational resources.
Employing an end-to-end machine learning model, integrating speech recognition, language detection, and translation functions, it reduces computational resource consumption and latency, enabling real-time translation.
It achieves efficient real-time speech translation with low latency, reduces computational resource consumption, lowers the risk of error propagation, and maintains translation accuracy.
Smart Images

Figure CN2024107767_29012026_PF_FP_ABST
Abstract
Description
REAL-TIME MULTILINGUAL INTERPRETER FOR ONLINE MEETINGSBACKGROUND
[0001] As workforces become more diverse and internationally located, organizations that provide collaboration tools such as online meeting platforms may wish to provide features that enable smooth interaction between coworkers. One particularly desirable feature is real-time speech-to-speech translation (e.g., during a live meeting) . For instance, a user speaking in a first language (e.g., Mandarin) can have their speech audio input translated into an audio output in a second language (e.g., English) . Moreover, multilingual users often intermingle words from different languages when speaking.
[0002] However, many existing translation technologies utilize a cascaded automatic speech recognition system comprising multiple machine learning models. Consequently, such systems can result in long processing times that preclude their use in real-time translation contexts. For instance, an existing approach may utilize a first machine learning model to receive and preprocess a speech audio input, a second machine learning model to identify the natural language of the speech input audio, and a third machine learning model to translate the speech input audio all of which can incur significant computing resource costs.
[0003] It is with respect to these and other considerations that the disclosure made herein is presented.SUMMARY
[0004] The techniques presented herein provide a real-time natural language processing (NLP) system for translating a speech audio input containing multiple natural languages (e.g., English, Mandarin, and French) into a translated audio output of a specific language (e.g., English) . As mentioned above, feasibility in a real-time translation context can be dependent on achieving low latency to minimize the perceptible delay between the original speaker and the translated output. As such, many existing translation systems that utilize cascaded machine learning models may not be suitable for use in real-time translation despite their ability to produce accurate translations due to the high associated latency.
[0005] In contrast, the disclosed techniques utilize an end-to-end (E2E) model in a translation module that implements all aspects of automatic speech recognition (ASR) in one model. That is, while a cascaded system may utilize a first machine learning model to receive and preprocess a speech audio input, a second machine learning model to identify the natural language of the speech input audio, and a third machine learning model to translate the speech input audio, an end-to-end model implements these functionalities in a single machine learning model. In this way, the size of the end-to-end model, often referred to as the model footprint, is significantly smaller than that of a cascaded system. Consequently, the computing resource consumption of the end-to-end model is likewise reduced in relation to a cascaded system.
[0006] Generally described, the natural language processing system first receives a speech audio input comprising a plurality of auditory lexical units. In various examples, a lexical unit is an individual unit of a natural language such as a sentence, a word, a syllable, and / or an individual character. Within the context of spoken language, an auditory lexical unit can be individual words, syllables, and / or phonemes. The translation module first generates a machine-readable representation of the auditory lexical units. Often referred to as an embedding, the machine-readable representation of the auditory lexical units encodes the captured audio signal of the speech audio input into a format that is compatible with computer analysis techniques such as machine learning models. In various examples, the machine-readable representation is generated by an acoustic encoder component of the translation module that is analogous to an acoustic machine learning model in a cascaded system.
[0007] A language detection module identifies the one or more natural languages present within the speech audio input based on the machine-readable representation. For instance, the language detection module can determine that the speaker first intermingled English and Mandarin then switched to French. Accordingly, the language detection module selects a subset of the auditory lexical units from the speech audio input for translation. In a specific example, the system is configured to output translations in English. As such, the language detection module can omit the portions of the speech audio input that are already in English. Stated another way, the language detection module filters the speech audio input to extract the portions that need to be translated.
[0008] The subset of auditory lexical units is then returned to the translation module for conversion to the output language (e.g., English) . As will be elaborated upon below, the translation module implements the end-to-end model mentioned above. In addition to the machine-readable representation, the translation module generates an output lexical unit prediction based on a transcript of previous speech audio inputs and previously generated output lexical units. As such, the translation module is configured to predict the next lexical unit in a sequence of lexical units represented by the transcript. Similar to the machine-readable representation above, the lexical unit prediction can be generated by a linguistic predictor component of the translation module. In this way, the linguistic predictor is analogous to a language model in a cascaded system.
[0009] Subsequently, a joiner component of translation module combines the machine-readable representation of the speech audio input and the output lexical unit prediction to form a joint input. Following additional processing by the translation module (e.g., via linear model layer and a softmax function) the translation module generates a set of candidate output lexical units. More specifically, the translation module outputs a probability distribution quantifying a likelihood for each of the plurality of candidate output lexical units.
[0010] The candidate output lexical units are then provided to a speech decode module to generate a sequence of output lexical units for a translated speech audio output, oftentimes referred to as a hypothesis. In various examples, the sequence of output lexical units is generated via a beam search algorithm that selects the candidate output lexical unit having the greatest probability at a given position (e.g., an audio frame) of the sequence. In addition, after generating the sequence, the speech decode module can calculate an overall probability of the sequence, also known as a confidence. Accordingly, the speech decode module can be configured with a threshold probability to control when a given sequence is to be output. Stated another way, the speech decode module will not commit a hypothesis that does not satisfy the threshold probability. In this way, the speech decode module can ensure correct translation outputs without deleting existing outputs, also known as erase-free decode.
[0011] The selected sequence is then provided to a vocal synthesizer to generate the final speech audio output. In various examples, the vocal synthesizer is configured to simulate the voice of the original speaker in the predetermined output language. Furthermore, the output of the vocal synthesizer can be mixed with the audio input of the original speaker to with automatic volume adjustments to provide a seamless listening experience.
[0012] Consequently, the proposed techniques realize many technical benefits over existing translation systems. For example, as mentioned above, implementing the translation module as an end-to-end model significantly reduces the footprint of the translation module in relation to a cascaded system. Consequently, the resource consumption and latency of the translation module is likewise reduced significantly. In addition, implementing the translation module as a single end-to-end model minimizes the risk of error propagation that often negatively impacts the performance of cascaded systems that pass data between multiple machine learning models. Moreover, an end-to-end model achieves comparable accuracy (e.g., the correctness of translations) to much larger models for a given set of training data. In this way, the proposed system provides accurate translation outputs while maintaining sufficiently low latency to enable use in real-time (e.g., streaming) translation contexts.
[0013] Features and technical benefits other than those explicitly described above will be apparent from a reading of the following Detailed Description and a review of the associated drawings. This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The term “techniques, ” for instance, may refer to system (s) , method (s) , computer-readable instructions, module (s) , algorithms, hardware logic, and / or operation (s) as permitted by the context described above and throughout the document.BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The Detailed Description is described with reference to the accompanying figures. In the figures, the left-most digit (s) of a reference number identifies the figure in which the reference number first appears. The same reference numbers in different figures indicate similar or identical items. References made to individual items of a plurality of items can use a reference number with a letter of a sequence of letters to refer to each individual item. Generic references to the items may use the specific reference number without the sequence of letters.
[0015] FIG. 1 is a block diagram of a natural language processing system for translating a speech audio input containing multiple natural languages (e.g., English, Mandarin, and French) into a single output language (e.g., English) .
[0016] FIG. 2 illustrates an erase-free decode operation for generating a selected sequence of output lexical units using a speech decode module.
[0017] FIG. 3 illustrates a user interface in which a user is attending an online meeting utilizing the natural language processing system for live translation.
[0018] FIG. 4 is a flow diagram showing aspects of a process for translating a speech audio input into a predetermined output language comprising.
[0019] FIG. 5 is a computer architecture diagram illustrating an illustrative computer hardware and software architecture for a computing system capable of implementing aspects of the techniques and technologies presented herein.
[0020] FIG. 6 is a diagram illustrating a distributed computing environment capable of implementing aspects of the techniques and technologies presented herein.DETAILED DESCRIPTION
[0021] The techniques presented herein provide a real-time natural language processing (NLP) system for translating a speech audio input containing multiple natural languages (e.g., English, Mandarin, and French) into a translated audio output of a specific language (e.g., English). As mentioned above, feasibility in a real-time translation context can be dependent on achieving low latency to minimize the perceptible delay between the original speaker and the translated output. As such, the disclosed system utilizes an end-to-end machine learning model to implement a translation module that achieves accurate translation outputs while maintaining low latency.
[0022] Various examples, scenarios, and aspects related to the techniques are described below with respect to FIGS. 1-6.
[0023] FIG. 1 illustrates a natural language processing system 100 for translating a speech audio input 102 by extracting and processing a plurality of auditory lexical units 104 (e.g., words, syllables, phonemes) in one or more natural languages 106 (e.g., English, Mandarin, French) from the speech audio input 102. In various examples, a speaker may intermingle words from different languages and / or fully switch languages. For instance, as shown in FIG. 1, the speech audio input 102 can be - “Good morning, welcome to our 中文音乐 program et bonsoir à nos collègues de France.”
[0024] The speech audio input 102 is first provided to a translation module 108 where it is processed by an acoustic encoder 110 to generate a machine-readable textual representation 112. Often referred to as embeddings, the machine-readable textual representation 112 is a reformatting of the auditory lexical units 104 that is compatible with computational tools such as machine learning models. In various examples, the machine-readable textual representation 112 is a numerical representation in which individual auditory lexical units 104 are encoded as a number or a series of numbers (e.g., a vector) .
[0025] The machine-readable representation 112 is then provided to a language detection module 114 to identify the natural languages 106 present in the speech audio input 102. In a specific example, the language detection module 114 is configured to record the identified natural languages 106 at regular time intervals when traversing the auditory lexical units 104 (e.g., every second) . In addition, the language detection module 114 can be configured with a predetermined output language 116 to enable the language detection module 114 to select an auditory lexical unit subset 118 from the plurality of auditory lexical units 104 for translation. In various examples, the output language 116 is defined by a user input 117 (e.g., a user preference setting) . For instance, the user input 117 can define the output language 116 as English. Accordingly, the language detection module 114 identifies the non-English portions of the speech audio input 102 (e.g., Mandarin and French) as the auditory lexical unit subset 118. In this way, the language detection module 114 enables the system 100 to provide accurate translations without additional manual input identifying the spoken language.
[0026] Concurrently with the acoustic encoder 110, a linguistic predictor 120 of the translation module 108 analyzes a transcript 122 of previous speech audio inputs and / or outputs generated by the translation module 108 to generate a machine-readable textual representation 124. The linguistic predictor 120 encodes the transcript 122 as a text embedding like the audio embeddings generated by the acoustic encoder 110. As such, the machine-readable textual representation 124 can likewise be a numerical representation (e.g., a vector representation) of the text captured by the transcript 122.
[0027] The machine-readable textual representation 124 is then submitted to a joiner 126 (e.g., a joiner network, a joiner model) component along with the machine-readable auditory representation 112 or the auditory lexical unit subset 118. That is, the translation module 108 may utilize some or all of the auditory lexical units 104 when translating the speech audio input 102. In various examples, the translation module 108 may utilize the auditory lexical unit subset 118 to reduce the volume of data that is processed. Accordingly, the joiner 126 combines the machine-readable textual representation 124 and the auditory lexical unit subset 118 or the machine-readable auditory representation 112 as a joint input 128.
[0028] The joint input 128 is then processed by an output layer 130 to generate a set of candidate output lexical units 132. In a specific example, the output layer 130 comprises a linear layer followed by a softmax function. Generally described, a linear layer executes a linear transformation on an input tensor describing a multilinear relationship between sets of objects within a vector space to generate output predictions (e.g., as a vector of real values) . To generate a more usable output (the candidate output lexical units 132) , the softmax function then transforms the output predictions from the linear layer into a vector of real values that sum to one. In this way, the final output of the translation module 108 can be interpreted as a set of probabilities (e.g., a probability distribution) over the set of candidate output lexical units 132.
[0029] The candidate output lexical units 132 are then provided to a speech decode module 134 that generates a selected sequence 136 of output lexical units from the set of candidate output lexical units 132 based on the included probability distribution. In a specific example, the speech decode module 134 constructs the selected sequence 136 as a plurality of audio frames. As will be elaborated upon below, the speech decode module 134 executes a beam search algorithm across the candidate output lexical units 132 that selects the locally optimal (e.g., the most probable) candidate output lexical unit 132 for a given position in the selected sequence 136.
[0030] The selected sequence 136 can then be optionally input to a text translation module 137 to accommodate situations in which the output language 116 is not English. In various examples, the translation module 108 may be a preexisting (e.g., open source) component that is developed under that assumption that the output language 116 is English. That is, in some situations, the standalone translation module 108 may not support translation into non-English languages. Accordingly, the selected sequence 136 of lexical units can be converted by the text translation module 137 into the output language (e.g., Mandarin, French) . In this way, the system 100 enables extended support for various natural languages.
[0031] Finally, the selected sequence 136 (which can be optionally processed by the text translation module 137) is subsequently input to a vocal synthesizer 138 to generate a translated speech output 140. In various examples, the vocal synthesizer 138 is configured to imitate the natural voice of the original speaker that provided the speech audio input 102. In this way, the vocal synthesizer 138 can provide a seamless listening experience. As shown, the translated speech audio output 140 that corresponds to the original speech audio input 102 is “Good morning, welcome to our Chinese Music program and good evening to our colleagues in France” .
[0032] Turning now to FIG. 2, additional aspects of the speech decode module 134 are shown and described. As mentioned above, the speech decode module 134 generates a selected sequence 136 of output lexical units from a set of candidate output lexical units 132 based on an included probability distribution 202. Generally described, the probability distribution 202 is a mathematical function that describes a probability of occurrence for each of the candidate output lexical units 132 at various points in time (e.g., position in a sentence) .
[0033] Accordingly, the speech decode module 134 can construct the selected sequence 136 as a series of audio frames 204. In various examples, an individual audio frame 204A is a specific duration of time (e.g., one second) within which one or more candidate output lexical units 132 can be uttered. In the present example of FIG. 2, there are three possible lexical units 206A-206C that are available at a first position within the audio frame 204A. Each of the lexical units 206A-206C is assigned a probability based on the probability distribution 202. In various examples, these probabilities are expressed as normalized values (e.g., between zero and one) .
[0034] As mentioned above, the speech decode module 134 utilizes a beam search algorithm to generate the selected sequence 136 by selecting the lexical unit 206C with the greatest probability at each position in the audio frame 204A, also known as a “greedy” decode. For instance, the lexical unit 206A can have a probability of “0.1” , the lexical unit 206B can have a probability of “0.4” , and lexical unit 206C can have a probability of “0.8” . Accordingly, the speech decode module 134 selects the lexical unit 206C for the selected sequence 136 as shown in the darkened shading. Likewise, for the lexical units 206D-206F, the speech decode module 134 selects the lexical unit 206E as the second lexical unit in the selected sequence 136. As such, the selected sequence 136 for the audio frame 204A comprises the lexical unit 206C followed by the lexical unit 206E.
[0035] In various examples, the selected sequence 136 is referred to as a “hypothesis” for which the speech decode module 134 calculates an overall probability 208. That is, while each lexical unit 206C and 206E has an individual probability, the overall probability 208 of the selected sequence 136 may be different (e.g., an aggregate probability) . The overall probability 208 is then compared against a threshold probability 210 that controls whether the speech decode module 134 outputs the selected sequence 136. That is, the threshold probability 210 is a minimum level of confidence that must be satisfied prior to committing a given hypothesis as an output.
[0036] In a specific example, the overall probability 208 satisfies the threshold probability 210 (e.g., the overall probability 208 is greater than or equal to the threshold probability 210) . In response, the speech decode module 134 outputs the selected sequence 136 to the vocal synthesizer 138 as the translated speech output 140 as described above. Conversely, if the overall probability 208 does not satisfy the threshold probability 210, the speech decode module 134 proceeds to the next audio frame 204B to evaluate the lexical units 206G-206I for addition to the selected sequence 136. As such, the speech decode module 134 can continue constructing the selected sequence 136 until the overall probability 208 satisfies the threshold probability 210. In this way, the speech decode module 134 is configured to generate selected sequences 136
[0037] Turning now to FIG. 3, aspects of a user interface 300 utilizing the natural language processing system described above in an online meeting are shown and described. As mentioned above, implementing the translation module as an end-to-end model enables accurate translation outputs while maintaining sufficiently low latency to enable real-time translation in conjunction with a live speaker. In various examples, users of the online meeting attend via an interpreter channel 302 that indicates the output language of the natural language processing system (e.g., American English) . As such, an online meeting can comprise a plurality of interpreter channels to accommodate supported languages as well as a default room without a translated speech audio output.
[0038] In addition, the user interface 300 includes controls for adjusting the output volume of the original speaker 304 and the translated speaker 306 (e.g., the vocal synthesizer) . In various examples, the speech audio input and the translated speech audio output are mixed in the audio output of the interpreter channel 302 to provide users the option of hearing one or both voices. Furthermore, the volume settings for the original speaker 304 and / or the translated speaker 306 can be automatically adjusted in accordance with various factors. In one example, the volume of the original speaker 304 is adjusted to full in response to continuous speaking that elapses a threshold time (e.g., five seconds) . In another example, the volume of the original speaker 304 is gradually lowered while the volume of the translated speaker 306 is gradually increased as the translated output begins to create a smooth transition and a seamless listening experience.
[0039] As mentioned above, the translated speech audio output can be generated using a vocal synthesizer that mimics the natural speaking patterns and intonation of the original speaker. In this way, the interpreter channel 302 provides a more realistic user experience. However, to avoid confusion, the user interface 300 also includes a translation indicator 308 to inform users that live translation is currently in progress. In addition, the translation indicator 308 is positioned alongside a user nametag 310 within the user interface 300 to indicate which user’s speech is currently being translated. In this way, the user interface 300 fosters enhanced user engagement by enabling users to match translated voices to specific users.
[0040] Proceeding now to FIG. 4, a process 400 for translating a speech audio input into a predetermined output language is shown and described. With respect to FIG. 4, the process 400 beings at operation 402, in which a natural language processing system receives a speech audio input comprising a plurality of input auditory lexical units. As described above, a lexical unit is an individual unit of a natural language such as a sentence, a word, a syllable, and / or an individual character. Within the context of spoken language, an auditory lexical unit can be individual words, syllables, and / or phonemes.
[0041] Next, at operation 404, a translation module of the natural language processing system generates a machine-readable auditory representation of the plurality of auditory lexical units. In various examples, the machine-readable auditory representation is generated by an acoustic encoder that is configured to generate embeddings of an input audio signal. To be machine-readable, the embeddings can be numerical representations of the auditory lexical units (e.g., a vector of real numbers) .
[0042] Then, at operation 406, a language detection module identifies the one or more natural languages present within the speech audio input. For example, as described above, a user may intermingle multiple languages within one speech audio input (e.g., English, Mandarin, and French) in a practice known as codeswitching. In a specific example, codeswitching is desirable when discussing proper nouns such as a person’s name, the title of a song, and the like. In another example, a multilingual speaker may know a term in one language but not another. As such, many speech audio inputs in a live context may include multiple natural languages.
[0043] Subsequently, at operation 408, the language detection module selects a subset of auditory lexical units from the plurality of lexical units in accordance with the predetermined output language. In this way, the language detection module can identify which portions of the speech audio input need to be translated. For instance, consider again a speech audio input containing words in English, Mandarin, and French. To generate a translated output for an English-speaking user, the language detection module can select the subset of auditory lexical units that are not already in English.
[0044] Next, at operation 410, the translation module generates a machine-readable textual representation based on one or more transcripts of previous speech audio inputs and / or previously generated outputs. As discussed above, the machine-readable textual representation can be generated by a linguistic predictor and can serve as context for calculating subsequent lexical units in a sequence.
[0045] Then, at operation 412, the translation module generates a plurality of candidate output lexical units based on a joint input comprising the subset of auditory lexical units or the machine-readable auditory representation as well as the machine-readable textual representation. In various examples, the candidate output lexical units include a probability distribution defining a probability of correctness for each lexical unit at a given position within a sequence of lexical units (e.g., an audio frame, a sentence) .
[0046] Finally, at operation 414, a speech decode module generates a translated speech audio output comprising an auditory representation of a selected sequence of output lexical units derived from the plurality of candidate output lexical units. As described above, the speech decode module utilizes a “greedy” algorithm such as a beam search to select a locally optimal lexical unit for each position in a plurality of audio frames that comprise the speech audio output. In various examples, a locally optima lexical unit is that which has the greatest probability of correctness as defined by the probability distribution calculated by the translation module. In addition, the speech decode module can determine an overall probability for the selected sequence of lexical units that must satisfy a threshold probability prior to outputting to a vocal synthesizer. In this way, the speech decode module enables an erase-free decode process that is important in live meeting contexts as inputs cannot be “taken back” .
[0047] For ease of understanding, the process discussed in this disclosure is delineated as separate operations represented as independent blocks. However, these separately delineated operations should not be construed as necessarily order dependent in their performance. The order in which the process is described is not intended to be construed as a limitation, and any number of the described process blocks may be combined in any order to implement the process or an alternate process. Moreover, it is also possible that one or more of the provided operations is modified or omitted.
[0048] The particular implementation of the technologies disclosed herein is a matter of choice dependent on the performance and other requirements of a computing device. Accordingly, the logical operations described herein are referred to variously as states, operations, structural devices, acts, or modules. These states, operations, structural devices, acts, and modules can be implemented in hardware, software, firmware, in special-purpose digital logic, and any combination thereof. It should be appreciated that more or fewer operations can be performed than shown in the figures and described herein. These operations can also be performed in a different order than those described herein.
[0049] It also should be understood that the illustrated method can end at any time and need not be performed in its entirety. Some or all operations of the method, and / or substantially equivalent operations, can be performed by execution of computer-readable instructions included on a computer-storage media, as defined below. The term “computer-readable instructions, ” and variants thereof, as used in the description and claims, is used expansively herein to include routines, applications, application modules, program modules, programs, components, data structures, algorithms, and the like. Computer-readable instructions can be implemented on various system configurations, including single-processor or multiprocessor systems, minicomputers, mainframe computers, personal computers, hand-held computing devices, microprocessor-based, programmable consumer electronics, combinations thereof, and the like.
[0050] Thus, it should be appreciated that the logical operations described herein are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and / or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations described herein are referred to variously as states, operations, structural devices, acts, or modules. These operations, structural devices, acts, and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof.
[0051] For example, the operations of the process 400 can be implemented, at least in part, by modules running the features disclosed herein can be a dynamically linked library (DLL) , a statically linked library, functionality produced by an application programing interface (API) , a compiled program, an interpreted program, a script, or any other executable set of instructions. Data can be stored in a data structure in one or more memory components. Data can be retrieved from the data structure by addressing links or references to the data structure.
[0052] Although the illustration may refer to the components of the figures, it should be appreciated that the operations of the process 400 may also be implemented in other ways. In addition, one or more of the operations of the process 400 may alternatively or additionally be implemented, at least in part, by a chipset working alone or in conjunction with other software modules. In the example described below, one or more modules of a computing system can receive and / or process the data disclosed herein. Any service, circuit, or application suitable for providing the techniques disclosed herein can be used in operations described herein.
[0053] FIG. 5 shows additional details of an example computer architecture 500 for a device, capable of executing computer instructions (e.g., a module or a program component described herein) . The computer architecture 500 illustrated in FIG. 5 includes processing system 502, a system memory 504, including a random-access memory 506 (RAM) and a read-only memory (ROM) 508, and a system bus 510 that couples the memory 504 to the processing system 502. The processing system 502 comprises processing unit (s) . In various examples, the processing unit (s) of the processing system 502 are distributed. Stated another way, one processing unit of the processing system 502 may be located in a first location (e.g., a rack within a datacenter) while another processing unit of the processing system 502 is located in a second location separate from the first location. Moreover, the systems discussed herein can be provided as a distributed computing system such as a cloud service.
[0054] Processing unit (s) , such as processing unit (s) of processing system 502, can represent, for example, a CPU-type processing unit, a GPU-type processing unit, a field-programmable gate array (FPGA) , another class of digital signal processor (DSP) , or other hardware logic components that may, in some instances, be driven by a CPU. For example, illustrative types of hardware logic components that can be used include Application-Specific Integrated Circuits (ASICs) , Application-Specific Standard Products (ASSPs) , System-on-a-Chip Systems (SOCs) , Complex Programmable Logic Devices (CPLDs) , and the like.
[0055] A basic input / output system containing the basic routines that help to transfer information between elements within the computer architecture 500, such as during startup, is stored in the ROM 508. The computer architecture 500 further includes a mass storage device 512 for storing an operating system 514, application (s) 516, modules 518, and other data described herein.
[0056] The mass storage device 512 is connected to processing system 502 through a mass storage controller connected to the bus 510. The mass storage device 512 and its associated computer-readable media provide non-volatile storage for the computer architecture 500. Although the description of computer-readable media contained herein refers to a mass storage device, the computer-readable media can be any available computer-readable storage media or communication media that can be accessed by the computer architecture 500.
[0057] Computer-readable media includes computer-readable storage media and / or communication media. Computer-readable storage media includes one or more of volatile memory, nonvolatile memory, and / or other persistent and / or auxiliary computer storage media, removable and non-removable computer storage media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Thus, computer storage media includes tangible and / or physical forms of media included in a device and / or hardware component that is part of a device or external to a device, including RAM, static RAM (SRAM) , dynamic RAM (DRAM) , phase change memory (PCM) , ROM, erasable programmable ROM (EPROM) , electrically EPROM (EEPROM) , flash memory, compact disc read-only memory (CD-ROM) , digital versatile disks (DVDs) , optical cards or other optical storage media, magnetic cassettes, magnetic tape, magnetic disk storage, magnetic cards or other magnetic storage devices or media, solid-state memory devices, storage arrays, network attached storage, storage area networks, hosted computer storage or any other storage memory, storage device, and / or storage medium that can be used to store and maintain information for access by a computing device.
[0058] In contrast to computer-readable storage media, communication media can embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include communication media. That is, computer-readable storage media does not include communications media consisting solely of a modulated data signal, a carrier wave, or a propagated signal, per se.
[0059] According to various configurations, the computer architecture 500 may operate in a networked environment using logical connections to remote computers through the network 520. The computer architecture 500 may connect to the network 520 through a network interface unit 522 connected to the bus 510. The computer architecture 500 also may include an input / output controller 524 for receiving and processing input from a number of other devices, including a keyboard, mouse, touch, or electronic stylus or pen. Similarly, the input / output controller 524 may provide output to a display screen, a printer, or other type of output device.
[0060] The software components described herein may, when loaded into the processing system 502 and executed, transform the processing system 502 and the overall computer architecture 500 from a general-purpose computing system into a special-purpose computing system customized to facilitate the functionality presented herein. The processing system 502 may be constructed from any number of transistors or other discrete circuit elements, which may individually or collectively assume any number of states. More specifically, the processing system 502 may operate as a finite-state machine, in response to executable instructions contained within the software modules disclosed herein. These computer-executable instructions may transform the processing system 502 by specifying how the processing system 502 transition between states, thereby transforming the transistors or other discrete hardware elements constituting the processing system 502.
[0061] FIG. 6 depicts an illustrative distributed computing environment 600 capable of executing the software components described herein. Thus, the distributed computing environment 600 illustrated in FIG. 6 can be utilized to execute any aspects of the software components presented herein. For example, the distributed computing environment 600 can be utilized to execute aspects of the software components described herein.
[0062] Accordingly, the distributed computing environment 600 can include a computing environment 602 operating on, in communication with, or as part of the network 604. The network 604 can include various access networks. One or more client devices 606A-606N (hereinafter referred to collectively and / or generically as “computing devices 606” ) can communicate with the computing environment 602 via the network 604. In one illustrated configuration, the computing devices 606 include a computing device 606A such as a laptop computer, a desktop computer, or other computing device; a slate or tablet computing device ( “tablet computing device” ) 606B; a mobile computing device 606C such as a mobile telephone, a smart phone, or other mobile computing device; a server computer 606D; and / or other devices 606N. It should be understood that any number of computing devices 606 can communicate with the computing environment 602.
[0063] In various examples, the computing environment 602 includes servers 608, data storage 610, and one or more network interfaces 612. The servers 608 can host various services, virtual machines, portals, and / or other resources. In the illustrated configuration, the servers 608 host virtual machines 614, Web portals 616, mailbox services 618, storage services 620, and / or social networking services 622. As shown in FIG. 6 the servers 608 also can host other services, applications, portals, and / or other resources ( “other resources” ) 624.
[0064] As mentioned above, the computing environment 602 can include the data storage 610. According to various implementations, the functionality of the data storage 610 is provided by one or more databases operating on, or in communication with, the network 604. The functionality of the data storage 610 also can be provided by one or more servers configured to host data for the computing environment 600. The data storage 610 can include, host, or provide one or more real or virtual datastores 626A-626N (hereinafter referred to collectively and / or generically as “datastores 626” ) . The datastores 626 are configured to host data used or created by the servers 808 and / or other data. That is, the datastores 626 also can host or store web page documents, word documents, presentation documents, data structures, algorithms for execution by a recommendation engine, and / or other data utilized by any application program. Aspects of the datastores 626 may be associated with a service for storing files.
[0065] The computing environment 602 can communicate with, or be accessed by, the network interfaces 612. The network interfaces 612 can include various types of network hardware and software for supporting communications between two or more computing devices including the computing devices and the servers. It should be appreciated that the network interfaces 612 also may be utilized to connect to other types of networks and / or computer systems.
[0066] It should be understood that the distributed computing environment 600 described herein can provide any aspects of the software elements described herein with any number of virtual computing resources and / or other distributed computing functionality that can be configured to execute any aspects of the software components disclosed herein. According to various implementations of the concepts and technologies disclosed herein, the distributed computing environment 600 provides the software functionality described herein as a service to the computing devices. It should be understood that the computing devices can include real or virtual machines including server computers, web servers, personal computers, mobile computing devices, smart phones, and / or other devices. As such, various configurations of the concepts and technologies disclosed herein enable any device configured to access the distributed computing environment 600 to utilize the functionality described herein for providing the techniques disclosed herein, among other aspects.
[0067] The disclosure presented herein also encompasses the subject matter set forth in the following clauses.
[0068] Example Clause A, a method for translating a speech audio input into a predetermined output language comprising: receiving a speech audio input comprising a plurality of input auditory lexical units; generating, by a translation module, a machine-readable auditory representation of the plurality of auditory lexical units; identifying, by a language detection module, a plurality of natural languages present within the speech audio input based on the machine-readable auditory representation of the plurality of auditory lexical units; selecting, by the language detection module, a subset of auditory lexical units from the plurality of auditory lexical units in accordance with the predetermined output language; generating, by the translation module, a machine-readable textual representation based on a transcript of previous speech audio inputs; generating a plurality of candidate output lexical units based on a joint input comprising the subset of auditory lexical units and the machine-readable textual representation wherein the plurality of candidate output lexical units is a translation of the speech audio input into the predetermined output language; and generating, by a speech decode module, a translated speech audio output comprising an auditory representation of a selected sequence of output lexical units derived from the plurality of candidate output lexical units.
[0069] Example Clause B, the method of Example Clause A, wherein the machine-readable auditory representation of the subset of auditory lexical units is generated by an acoustic encoder of the translation module.
[0070] Example Clause C, the method of Example Clause A or Example Clause B, wherein the machine-readable textual representation is generated by a linguistic predictor of the translation module.
[0071] Example Clause D, the method of any one of Example Clause A through C, wherein calculating the plurality of candidate output lexical units of the plurality of candidate output lexical units comprises calculating a probability distribution quantifying a probability of correctness for each of the plurality of candidate output lexical units.
[0072] Example Clause E, the method of any one of Example Clause A through D, wherein: the joint input is generated by joiner network; and generating the joint input comprises a renormalized vector addition of the machine-readable auditory representation of the plurality of auditory lexical units and the predicted output lexical unit.
[0073] Example Clause F, the method of any one of Example Clause A through E, wherein the speech decode module is configured to execute an erase-free decoding for generating the translated speech audio output.
[0074] Example Clause G, the method of Example Clause F, wherein the erase-free decode comprises: executing a beam search algorithm over the plurality of candidate output lexical units based on a probability of each of the candidate output lexical units; and selecting a candidate output lexical unit for each of a plurality of output audio frames to generate the selected sequence of output lexical units.
[0075] Example Clause H, a system for translating a speech audio input into a predetermined output language comprising: a processing system: a computer-readable medium having encoded thereon computer-readable instructions that, when executed by the processing system, cause the system to perform operations comprising: receiving a speech audio input comprising a plurality of input auditory lexical units; generating, by a translation module, a machine-readable auditory representation of the plurality of auditory lexical units; identifying, by a language detection module, a plurality of natural languages present within the speech audio input based on the machine-readable auditory representation of the plurality of auditory lexical units; selecting, by the language detection module, a subset of auditory lexical units from the plurality of auditory lexical units in accordance with the predetermined output language; generating, by the translation module, a machine-readable textual representation based on a transcript of previous speech audio inputs; generating a plurality of candidate output lexical units based on a joint input comprising the subset of auditory lexical units and the machine-readable textual representation wherein the plurality of candidate output lexical units is a translation of the speech audio input into the predetermined output language; and generating, by a speech decode module, a translated speech audio output comprising an auditory representation of a selected sequence of output lexical units derived from the plurality of candidate output lexical units.
[0076] Example Clause I, the system of Example Clause H, wherein the machine-readable auditory representation of the subset of auditory lexical units is generated by an acoustic encoder of the translation module.
[0077] Example Clause J, the system of Example Clause H or Example Clause I, wherein the machine-readable textual representation is generated by a linguistic predictor of the translation module.
[0078] Example Clause K, the system of any one of Example Clause H through J, wherein calculating the plurality of candidate output lexical units of the plurality of candidate output lexical units comprises calculating a probability distribution quantifying a probability of correctness for each of the plurality of candidate output lexical units.
[0079] Example Clause L, the system of any one of Example Clause H through K, wherein: the joint input is generated by joiner model; and generating the joint input comprises a renormalized vector addition of the machine-readable auditory representation of the plurality of auditory lexical units and the predicted output lexical unit.
[0080] Example Clause M, the system of any one of Example Clause H through L, wherein the speech decode module is configured to execute an erase-free decoding for generating the translated speech audio output.
[0081] Example Clause N, the system of Example Clause M, wherein the erase-free decode comprises: executing a beam search algorithm over the plurality of candidate output lexical units based on a probability of each of the candidate output lexical units; and selecting a candidate output lexical unit for each of a plurality of output audio frames to generate the selected sequence of output lexical units.
[0082] Example Clause O, a computer-readable storage medium having encoded thereon computer-readable instructions that, when executed by a system, cause the system to perform operations comprising: receiving a speech audio input comprising a plurality of input auditory lexical units; generating, by a translation module, a machine-readable auditory representation of the plurality of auditory lexical units; identifying, by a language detection module, a plurality of natural languages present within the speech audio input based on the machine-readable auditory representation of the plurality of auditory lexical units; selecting, by the language detection module, a subset of auditory lexical units from the plurality of auditory lexical units in accordance with the predetermined output language; generating, by the translation module, a machine-readable textual representation based on a transcript of previous speech audio inputs; generating a plurality of candidate output lexical units based on a joint input comprising the subset of auditory lexical units and the machine-readable textual representation wherein the plurality of candidate output lexical units is a translation of the speech audio input into the predetermined output language; and generating, by a speech decode module, a translated speech audio output comprising an auditory representation of a selected sequence of output lexical units derived from the plurality of candidate output lexical units.
[0083] Example Clause P, the computer-readable storage medium of Example Clause O, wherein the machine-readable auditory representation of the subset of auditory lexical units is generated by an acoustic encoder of the translation module.
[0084] Example Clause Q, the computer-readable storage medium of Example Clause O or Example Clause P, wherein the machine-readable textual representation is generated by a linguistic predictor of the translation module.
[0085] Example Clause R, the computer-readable storage medium of any one of Example Clause O through Q, wherein calculating the plurality of candidate output lexical units of the plurality of candidate output lexical units comprises calculating a probability distribution quantifying a probability of correctness for each of the plurality of candidate output lexical units.
[0086] Example Clause S, the computer-readable storage medium of any one of Example Clause O through R, wherein the speech decode module is configured to execute an erase-free decoding for generating the translated speech audio output.
[0087] Example Clause T, the computer-readable storage medium of Example Clause S, wherein the erase-free decode comprises: executing a beam search algorithm over the plurality of candidate output lexical units based on a probability of each of the candidate output lexical units; and selecting a candidate output lexical unit for each of a plurality of output audio frames to generate the selected sequence of output lexical units.
[0088] Conditional language such as, among others, “can, ” “could, ” “might” or “may, ” unless specifically stated otherwise, are understood within the context to present that certain examples include, while other examples do not include, certain features, elements and / or steps. Thus, such conditional language is not generally intended to imply that certain features, elements and / or steps are in any way required for one or more examples or that one or more examples necessarily include logic for deciding, with or without user input or prompting, whether certain features, elements and / or steps are included or are to be performed in any particular example. Conjunctive language such as the phrase “at least one of X, Y or Z, ” unless specifically stated otherwise, is to be understood to present that an item, term, etc. may be either X, Y, or Z, or a combination thereof.
[0089] The terms “a, ” “an, ” “the” and similar referents used in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural unless otherwise indicated herein or clearly contradicted by context. The terms “based on, ” “based upon, ” and similar referents are to be construed as meaning “based at least in part” which includes being “based in part” and “based in whole” unless otherwise indicated or clearly contradicted by context.
[0090] In addition, any reference to “first, ” “second, ” etc. elements within the Summary and / or Detailed Description is not intended to and should not be construed to necessarily correspond to any reference of “first, ” “second, ” etc. elements of the claims. Rather, any use of “first” and “second” within the Summary, Detailed Description, and / or claims may be used to distinguish between two different instances of the same element.
[0091] In closing, although the various configurations have been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended representations is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed subject matter.
Claims
1.A method for translating a speech audio input into a predetermined output language comprising:receiving a speech audio input comprising a plurality of input auditory lexical units;generating, by a translation module, a machine-readable auditory representation of the plurality of auditory lexical units;identifying, by a language detection module, a plurality of natural languages present within the speech audio input based on the machine-readable auditory representation of the plurality of auditory lexical units;selecting, by the language detection module, a subset of auditory lexical units from the plurality of auditory lexical units in accordance with the predetermined output language;generating, by the translation module, a machine-readable textual representation based on a transcript of previous speech audio inputs;generating a plurality of candidate output lexical units based on a joint input comprising the subset of auditory lexical units and the machine-readable textual representation wherein the plurality of candidate output lexical units is a translation of the speech audio input into the predetermined output language; andgenerating, by a speech decode module, a translated speech audio output comprising an auditory representation of a selected sequence of output lexical units derived from the plurality of candidate output lexical units.2.The method of claim 1, wherein the machine-readable auditory representation of the subset of auditory lexical units is generated by an acoustic encoder of the translation module.3.The method of claim 1 or claim 2, wherein the machine-readable textual representation is generated by a linguistic predictor of the translation module.4.The method of any one of claim 1 through 3, wherein calculating the plurality of candidate output lexical units of the plurality of candidate output lexical units comprises calculating a probability distribution quantifying a probability of correctness for each of the plurality of candidate output lexical units.5.The method of any one of claim 1 through 4, wherein:the joint input is generated by joiner network; andgenerating the joint input comprises a renormalized vector addition of the machine-readable auditory representation of the plurality of auditory lexical units and the predicted output lexical unit.6.The method of any one of claim 1 through 5, wherein the speech decode module is configured to execute an erase-free decoding for generating the translated speech audio output.7.The method of claim 6, wherein the erase-free decode comprises:executing a beam search algorithm over the plurality of candidate output lexical units based on a probability of each of the candidate output lexical units; andselecting a candidate output lexical unit for each of a plurality of output audio frames to generate the selected sequence of output lexical units.8.A system for translating a speech audio input into a predetermined output language comprising:a processing system:a computer-readable medium having encoded thereon computer-readable instructions that, when executed by the processing system, cause the system to perform operations comprising:receiving a speech audio input comprising a plurality of input auditory lexical units;generating, by a translation module, a machine-readable auditory representation of the plurality of auditory lexical units;identifying, by a language detection module, a plurality of natural languages present within the speech audio input based on the machine-readable auditory representation of the plurality of auditory lexical units;selecting, by the language detection module, a subset of auditory lexical units from the plurality of auditory lexical units in accordance with the predetermined output language;generating, by the translation module, a machine-readable textual representation based on a transcript of previous speech audio inputs;generating a plurality of candidate output lexical units based on a joint input comprising the subset of auditory lexical units and the machine-readable textual representation wherein the plurality of candidate output lexical units is a translation of the speech audio input into the predetermined output language; andgenerating, by a speech decode module, a translated speech audio output comprising an auditory representation of a selected sequence of output lexical units derived from the plurality of candidate output lexical units.9.The system of claim 8, wherein the machine-readable auditory representation of the subset of auditory lexical units is generated by an acoustic encoder of the translation module.10.The system of claim 8 or claim 9, wherein the machine-readable textual representation is generated by a linguistic predictor of the translation module.11.The system of any one of claim 8 through 10, wherein calculating the plurality of candidate output lexical units of the plurality of candidate output lexical units comprises calculating a probability distribution quantifying a probability of correctness for each of the plurality of candidate output lexical units.12.The system of any one of claim 8 through 11, wherein:the joint input is generated by joiner model; andgenerating the joint input comprises a renormalized vector addition of the machine-readable auditory representation of the plurality of auditory lexical units and the predicted output lexical unit.13.The system of any one of claim 8 through 12, wherein the speech decode module is configured to execute an erase-free decoding for generating the translated speech audio output.14.The system of claim 13, wherein the erase-free decode comprises:executing a beam search algorithm over the plurality of candidate output lexical units based on a probability of each of the candidate output lexical units; andselecting a candidate output lexical unit for each of a plurality of output audio frames to generate the selected sequence of output lexical units.15.A computer-readable storage medium having encoded thereon computer-readable instructions that, when executed by a system, cause the system to perform operations comprising:receiving a speech audio input comprising a plurality of input auditory lexical units;generating, by a translation module, a machine-readable auditory representation of the plurality of auditory lexical units;identifying, by a language detection module, a plurality of natural languages present within the speech audio input based on the machine-readable auditory representation of the plurality of auditory lexical units;selecting, by the language detection module, a subset of auditory lexical units from the plurality of auditory lexical units in accordance with the predetermined output language;generating, by the translation module, a machine-readable textual representation based on a transcript of previous speech audio inputs;generating a plurality of candidate output lexical units based on a joint input comprising the subset of auditory lexical units and the machine-readable textual representation wherein the plurality of candidate output lexical units is a translation of the speech audio input into the predetermined output language; andgenerating, by a speech decode module, a translated speech audio output comprising an auditory representation of a selected sequence of output lexical units derived from the plurality of candidate output lexical units.16.The computer-readable storage medium of claim 15, wherein the machine-readable auditory representation of the subset of auditory lexical units is generated by an acoustic encoder of the translation module.17.The computer-readable storage medium of claim 15 or claim 16, wherein the machine-readable textual representation is generated by a linguistic predictor of the translation module.18.The computer-readable storage medium of any one of claim 15 through 17, wherein calculating the plurality of candidate output lexical units of the plurality of candidate output lexical units comprises calculating a probability distribution quantifying a probability of correctness for each of the plurality of candidate output lexical units.19.The computer-readable storage medium of any one of claim 15 through 18, wherein the speech decode module is configured to execute an erase-free decoding for generating the translated speech audio output.20.The computer-readable storage medium of claim 19, wherein the erase-free decode comprises:executing a beam search algorithm over the plurality of candidate output lexical units based on a probability of each of the candidate output lexical units; andselecting a candidate output lexical unit for each of a plurality of output audio frames to generate the selected sequence of output lexical units.
Citation Information
Patent Citations
Translation control device, translation system, translation control method, and program
JP2018055396A
System and method for direct speech translation system
US20200226327A1
Systems and methods for multilingual sentence embeddings
WO2022044955A1