WO2024253868A1 - Factorized neural transducer for multi-speaker speech recognition - Google Patents
Factorized neural transducer for multi-speaker speech recognition Download PDFInfo
- Publication number
- WO2024253868A1 WO2024253868A1 PCT/US2024/030900 US2024030900W WO2024253868A1 WO 2024253868 A1 WO2024253868 A1 WO 2024253868A1 US 2024030900 W US2024030900 W US 2024030900W WO 2024253868 A1 WO2024253868 A1 WO 2024253868A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vocabulary
- speaker
- predictor
- token
- factorized
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/18—Artificial neural networks; Connectionist approaches
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/02—Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/06—Decision making techniques; Pattern matching strategies
- G10L17/14—Use of phonemic categorisation or speech recognition prior to speaker recognition or verification
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
Definitions
- ASR Automatic speech recognition
- CTC connectionist temporal classification
- attention-based encoder-decoder systems and ASR transducers. Each of these systems transforms acoustic features into text sequences.
- the ASR system must also be adapted for a new 7 domain and trained in a general baseline domain.
- the ASR system decreases in accuracy for performing speech recognition in the baseline domain, even though it has realized an improvement in accuracy for recognizing speech in the new domain.
- Disclosed embodiments include systems and methods for generating, modifying, and using a machine learning model, such as a factorized neural transducer, to improve the accuracy of the machine learning model, particularly in performing multi-speaker speech recognition.
- Disclosed embodiments also include systems and methods for adapting a machine-learning model to a new domain.
- the disclosed machine-learning model is used by a computing system to perform run-time automatic speech recognition on multi-speaker speech. This is done through a set of processing layers configured to access input speech data, process the input speech data, and predict vocabulary tokens and non-vocabulary tokens for the input speech data.
- a set of acoustic features is extracted from input speech data. This set of acoustic features is then encoded to generate an encoded acoustic output. Vocabulary tokens and non-vocabulary tokens (e g., a previous channel change token) are also transmitted as combined input into the set of processing layers to generate a vocabulary predictor output.
- the system When the system recognizes a previous channel change token in the combined input, the system switches from processing new input data using a first hidden state of the set of processing layers to using a second hidden state of the set of processing layers. The previous vocabulary token is then processed using the second hidden state. Based on processing the previous vocabulary token, a vocabulary predictor output is generated by causing the set of processing layers to process the previous vocabulary token using the second hidden state. A new vocabularytoken is then generated for the input speech data based on a combination of the encoded acoustic output and the vocabulary predictor output.
- Some disclosed embodiments also include the generation of a factorized neural transducer for performing automatic speech recognition on overlapping speech from multiple speakers.
- the factorized neural transducer can be generated, for example, by providing a first set of instructions for instantiating a vocabulary predictor that generates intermediary vocabulary' outputs for input speech data based on previously generated outputs of the factorized neural transducer, wherein the vocabulary predictor includes a first hidden state and a second hidden state.
- the generation of the factorized neural transducer also includes providing a second set of instructions for instantiating an encoder that processes acoustic features extracted from the input speech data and that generates encoder outputs based on the acoustic features.
- the generation of the factorized neural transducer also includes providing a third set of instructions for instantiating one or more transducer layers that process the intermediary’ vocabulary outputs and the encoder outputs in order to predict vocabulary tokens for the input speech data. Finally, each set of the foregoing instructions is transmitted to a computing system to cause the computing system to generate the factorized neural transducer by instantiating the vocabulary predictor, the encoder, and the one or more transducer layers as part of the factorized neural transducer.
- Disclosed embodiments are also used for modifying a factorized neural transducer to perform multi-speaker automatic speech recognition in a new domain.
- systems can access a factorized neural transducer that includes a vocabulary predictor, an encoder, and a non- vocabulary predictor.
- the systems also access serialized transcription data that includes overlapping speech transcription data from multiple speakers for the new domain or single speaker transcription data.
- the systems modify the factorized neural transducer by adapting the vocabulary predictor of the factorized neural transducer. This occurs, for example, when the system applies the factorized neural transducer to the serialized transcription data corresponding to the new domain.
- some portions of the serialized transcription data are processed using the first hidden state of the vocabulary predictor while other portions of the serialized transcription data are processed using the second hidden state of the vocabulary predictor.
- systems only access single-speaker transcription data for the text-only adaptation task as the data is easier to obtain. This single-speaker transcription data is utilized during adaptation, such that both the performance of the single-talker speech recognition and multi-talker speech recognition achieve improved accuracy of the speech recognition and decrease word error rate (WER) over conventional systems.
- WER word error rate
- Different portions of the serialized transcription data are processed using different hidden states based on the identification of channel change tokens included in the serialized transcription data.
- a vocabulary predictor training loss is generated for the vocabulary' predictor.
- one or more layers of the vocabulary predictor are modified to minimize the vocabulary predictor training loss.
- the factorized neural transducer is adapted to the new domain without comprising speech recognition accuracy in the new domain or the baseline domain.
- Fig. 1 illustrates an example embodiment of a conventional neural transducer.
- Fig. 2 illustrates an example embodiment of a factorized neural transducer.
- FIGs. 3 A and 3B illustrate various examples of processing multi-speaker speech data using a factorized neural transducer, such as the factorized neural transducer of Fig. 2.
- Fig. 4 illustrates an example of a modified factorized neural transducer configured for processing multi-speaker speech data.
- Fig. 5 illustrates an example of processing multi-speaker speech data using a modified neural transducer, such as the factorized neural transducer of Fig. 4.
- Figs. 6A-6D illustrate an example of processing a sample of multi-speaker speech data using the process illustrated in Fig. 5.
- FIG. 7 illustrates an example of a process flow diagram for processing a multi-speaker audio stream and displaying multi-speaker transcription data based on the multi-speaker audio stream.
- Fig. 8 illustrates one embodiment of a flow diagram having a plurality of acts associated with using a factorized neural transducer to perform multi-speaker automatic speech recognition.
- Fig. 9 illustrates one embodiment of a flow diagram having a plurality of acts associated with instantiating a factorized neural transducer.
- Fig. 10 illustrates one embodiment of a flow diagram having a plurality of acts associated with adapting a multi-speaker factorized neural transducer to a new domain.
- Fig. 11 illustrates an example process flow diagram of adapting a multi-speaker factorized transducer to a new domain.
- Fig. 12 illustrates an example computing environment in which a computing system incorporates and/or is utilized to perform disclosed aspects of the disclosed embodiments.
- Disclosed embodiments include or may be used for generating, modifying, and using a machine learning model, such as a factorized neural transducer, to improve the accuracy of the machine learning model, particularly in performing multi-speaker speech recognition.
- Disclosed embodiments also include systems and methods for adapting a machine-learning model to a new domain.
- the disclosed embodiments may be utilized to realize many technical benefits and advantages over conventional systems and methods for performing speech recognition, as well as for generating and modifying machine learning models that are capable of performing multispeaker speech recognition.
- the technical benefits and advantages that may be realized, for example, include the ability to process overlapping speech from multiple speakers within the same audio stream.
- various embodiments are provided for further modifying factorized neural transducers to obtain even greater accuracy when performing ASR tasks.
- the disclosed additional modifications that can be made to the factorized neural transducers include but are not limited to instantiating at least two hidden states associated with the vocabulary predictor of the factorized neural transducer.
- instantiating at least two hidden states associated with the vocabulary predictor of the factorized neural transducer By providing at least two hidden states within the vocabulary predictor, overlapping speech data from different speakers or channels can be processed using the different hidden states to improve the accuracy of performing multi-speaker speech recognition for each speaker.
- systems are able to isolate speech from each speaker and output vocabulary tokens that leverage the previously predicted vocabulary tokens corresponding to each speaker.
- This process also generates factorized neural transducer output in a correct grammatical format.
- previous versions of factorized neural transducers when presented with serialized transcription data including multi-speaker speech, would break the neural order of the sentences corresponding to each individual speaker.
- the structure of the new model includes four main components: an acoustic encoder, a decoder for regular ASR units (e.g., vocabulary' tokens), a decoder for specialized ASR units (e.g.. blank tokens and channel change tokens), and a joint network for the specialized ASR units.
- regular ASR units e.g., vocabulary' tokens
- specialized ASR units e.g. blank tokens and channel change tokens
- the outputs of the joint network and distributions of the regular ASR units are concatenated to produce a final probability distribution over both the regular and specialized units.
- the behavior of the decoder for ASR units is improved for multi-speaker speech data.
- This decoder is referred to as a vocabulary predictor herein.
- the vocabulary predictor comprises a set of processing layers configured to receive inputs and generate vocabulary predictor outputs. These vocabulary predictor outputs are intermediary outputs that are used in combination with other intermediary outputs (e.g., encoder outputs or non-vocabulary predictor outputs) to predict a vocabulary token for the current input to the factorized neural transducer.
- This decoder for ASR units can also be referred to as a language model decoder or language model predictor.
- the vocabulary predictor can still be treated as a language model, while keeping its capability 7 for text-only adaptation, even in multi-speaker scenarios.
- the foregoing benefits are especially pronounced in ASR applications requiring fast adaptation, such as in real-time and/or streaming audio scenarios because of the vocabulary predictor.
- the improved decoder i.e., vocabulary predictor
- the hidden state of a machine learning model is a hidden variable which sequentially stores the previous outputs of the model up to the current time step or processing iteration.
- Hidden states added are updated based on processing the current input to the model in combination with any data or previously generated outputs that were previously stored in the hidden state prior to receiving the current input.
- the decoder comprises at least two hidden states maintained and updated for at least two virtual channels. Each time the decoder identifies a channel change token that indicates a speaker change in the input speech data, the decoder will switch to processing new inputs using a different hidden state than a previously used hidden state that was used prior to identifying the channel change token in the cunent input.
- the vocabulary predictor uses the previous output (e.g., previous output of the vocabulary predictor and/or previous output of the factorized neural transducer) as the current output for the input comprising the channel change token.
- a channel change token When a channel change token is identified and processed through the factorized neural transducer, the previously used hidden state is not updated or, in some instances, it is updated with a null token.
- systems predetermine a default hidden state (e.g., a first hidden state) that is used when a new audio dataset or new audio stream is identified as input to the factorized neural transducer.
- the first hidden state of the vocabulary predictor is updated based on the current input (e.g., the most recently generated factorized neural transducer output) to the vocabulary' predictor and any previous outputs stored in the first hidden state.
- the system switches from using the first hidden state to process new inputs to the vocabulary predictor to using a second hidden state to process new inputs to the vocabulary predictor.
- the second hidden state of the vocabulary predictor is now updated based on the current input (e.g., most recently generated factorized neural transducer output) and any previous outputs stored in the second hidden state.
- the automatic speech recognition system By performing speech recognition using a decoder with multiple hidden states, the automatic speech recognition system (including the factorized neural transducer) achieves a significant improvement in the word error rate, as well as in being able to generate a more accurate transcription output for multiple speakers as compared to systems which utilize a single hidden state in the vocabulary predictor.
- Fig. 1 illustrates an example embodiment of a conventional neural transducer configured to perform speech recognition on speech input.
- the conventional neural transducer comprises a predictor 102, an encoder 104, and a joint network 106.
- the predictor takes input (e.g., “y”) comprising a previously predicted nonblank output (e.g., historical label sequence) to generate a prediction output (e.g., “g’’), which is a label representation.
- the encoder takes input (e.g., “x”) comprising acoustic features associated with a portion of speech data to generate an encoder output (e.g.. “f”). which is an acoustic representation.
- the joint network generates ajoint output (e.g., “z”) based on the prediction output and the encoder output.
- the joint output is then used to generate a final prediction 108 for a corresponding portion of speech data, which includes a blank token 110 and vocabulary token 112, which results in a probability distribution over the output layer.
- predictor 102 is configured in the conventional model to predict both the blank token 1 10 as well as the vocabulary token 112, such that the training and results of the two types of potential tokens are tied together.
- a special blank symbol is added to the output vocabulary to represent a null token.
- Each alignment contains a particular number of output tokens.
- the objective function of the transducer model is to minimize the negative log probability over all possible alignments.
- E2E-based automatic speech recognition systems like the neural transducer illustrated in Fig. 1 have achieved success due to their simplicity and promising performance and are able to outperform traditional hybrid models in some scenarios.
- the joint optimization of the acoustic model and lexicon and language model in the neural transducer also brings significant challenges in adapting the ASR system.
- neural transducers such as those illustrated in Fig. 1 must use adaptation training data that comprises audio-text pairs.
- some disclosed embodiments are directed to an improved neural transducer which factorizes the blank and vocabulary prediction.
- This factorization allows for the language model portion (e.g., vocabulary prediction layers) of the factorized neural transducer to be adapted independently from the blank prediction layers. This disentangles the fusion of the language model and acoustic model typically experienced in traditional E2E models (i.e., conventional neural transducers) and allows for efficient language model adaptation and customization.
- systems implemented with a factorized neural transducer as described herein achieve significantly improved computational efficiency during training and adaptation processes as compared to systems that have to adapt the entire neural transducer and thus run training and adaptation processes that are more computationally expensive. Additionally, systems with a factorized neural transducer that is able to independently train or adapt the vocabulary predictor layers (or non-vocabulary predictor layers) independently also achieve a decrease in the hardware storage needed storing the particular set of layers and training data for training and adaptation.
- Fig. 2 illustrates an example embodiment of a factorized neural transducer.
- the factorized neural transducer is configured to predict tokens (e.g., vocabulary and non-vocabulary tokens) for audio data, such as audio streams, comprising speech from one or more speakers.
- the factorized neural transducer predicts tokens based on a combination of processing a previous factorized neural transducer output and encoding the acoustic features of a current token of the audio stream. It should be appreciated that the factorized neural transducer comprises a first set of processing layers dedicated to predicting non-vocabulary tokens that is separate from a second set of processing layers dedicated to predicting vocabulary tokens.
- the factorized neural transducer comprises a blank predictor 212 (e.g., Nonvocabulary Predictor), an encoder 206, a joint network 214. and a vocabulary predictor 202 (e.g., Vocabulary Predictor), which is functionally separated from the blank predictor 212 in the architecture of the factorized neural transducer.
- a blank predictor 212 e.g., Nonvocabulary Predictor
- an encoder 206 e.g., a joint network 214
- a vocabulary predictor 202 e.g., Vocabulary Predictor
- blank token 216 and vocabulary token 210 are predicted separately, as part of the generation of the label output for input speech data.
- blank predictor 212 generates a blank predictor output based on receiving a previously predicted nonblank label output and corresponding to a previous portion of speech data.
- the encoder 206 meanwhile, generates an encoder output based on receiving a set of acoustic features extracted from a portion of input speech data.
- the joint network 214 generates a joint output based on the blank predictor output and the encoder output.
- the system is then able to predict the blank token 216 based on the joint network output.
- the factorized neural transducer In series, or parallel, with predicting the blank token, the factorized neural transducer also predicts the vocabulary token 210.
- the vocabulary predictor 202 generates a vocabulary predictor output.
- a softmax layer 204 is applied to the vocabulary predictor output in order to generate an additional intermediary vocabulary output.
- the softmax layer 204 is configured as a multi-class logistic regression that converts a vector of real values into a vector of real values that sums to one. By scoring the input (e.g., vocabulary predictor output) to a zero to one scale, the vocabulary predictor outputs are able to be interpreted as probabilities which is useful in helping the factorized neural transducer in predicting the new vocabulary token.
- the softmax layer 204 is a layer that generates a normalized probability distribution of the vocabulary predictor output. It should be appreciated that any layer that facilitates the normalization of the vocabulary predictor outputs can be used instead of the standard softmax layer.
- Some alternatives to the softmax layer include using a log-softmax loss, a log-Taylor softmax loss, soft-margin softmax, or combination thereof.
- An encoder projection layer 208 (e.g., linear layer) is also applied to the encoder output in order to generate an additional encoder output.
- the system predicts the vocabulary 7 token 210 based on the outputs from the encoder projection layer 208 and softmax layer 204. Because of the factorization, the vocabulary predictor is allowed to behave like a language model, using historical words (e.g., previously predicted tokens) as input and the log probability of each word as output.
- WER 15.4%-to-19.4%-word error rate
- the current factorized neural transducer model is able to retain a similar WER as the original training stage on a general test set, with minimal degradation. This is an improvement over conventional models which experience a degradation in accuracy for the general testing set after adaptation to a new domain. Utilizing KL divergence reduces the degradation of the accuracy for the general test set in the factorized neural transducer model.
- the system is configured to compute a transducer loss corresponding to the first set of layers which predict the blank token and layers which predict the vocabulary token.
- the objective function of the transducer model is to minimize the negative log probability over all possible alignments between the acoustic features and label sequences.
- the system is also configured to compute a language model loss, accounting for cross-entropy, corresponding to the second set of layers that predict the vocabulary token.
- the vocabulary' prediction network (e.g., the vocabulary' predictor, prediction projection layer, and Softmax layer) generates an output that is the log probability over the vocabulary. Because the vocabulary prediction is allowed to function as a standalone language model, this internal language model can be replaced by any language model trained with the same vocabulary. There is no large matrix computation in the factorized neural transducer in the joint network as compared to the traditional neural transducer. As a result, the training speed and memory' consumption is improved.
- the factorized neural transducer is trained using a loss function.
- the model can be further trained using any language model adaptation technique to adapt the vocabulary prediction network, including using text-only adaptation data.
- Implementing systems in this manner results in a technical benefit of increasing the overall efficiency of the training and adaptation processes for the vocabulary prediction network by' making it easier to collect a large scale of text data rather than having to collect labeled speech data comprising speech data with corresponding transcriptions.
- systems also achieve improved computational efficiency because less data is needed in order to tram or adapt the vocabulary predictor.
- systems achieve a reduction in the amount of storage needed for the training data as compared to systems which need the labeled speech data training datasets. .
- factorized neural transducers having a structure as illustrated in Fig. 2 are not equipped to handle multi-speaker data, nor can they be adapted to a new domain using multi- speaker transcription text data.
- Figs. 3A-3B illustrate various examples of how a factorized neural transducer, with a vocabulary predictor having a single hidden state, would process and subsequently break the grammatical structure of multi-speaker speech data during run-time or of multi-speaker transcription data during training.
- input 302 A is shown to include the vocabulary tokens: ⁇ hello> ⁇ how> ⁇ are> ⁇ I> ⁇ am> ⁇ you> ⁇ fine> ⁇ thank> ⁇ good> ⁇ you>.
- the bolded tokens represent speech from a first speaker, the italicized tokens represent speech from a second speaker, and the underlined tokens represent speech from a third speaker.
- the second speaker and third speaker may have responded while the first speaker was finishing the greeting, so different portions of speech from each speaker may have been overlapping in the recorded audio stream.
- the vocabulary predictor relies on at least two inputs, namely the current token being processed, and one or more tokens previously processed using the hidden state 304A.
- the current token being processed corresponds to a second speaker while the one or more previous tokens processed using the hidden state 304A may correspond to a first speaker.
- the resulting or subsequent output 306A now comprises speech from the different speakers such that the grammatical format is broken for each of the sentences corresponding to the different speakers.
- Such a transcript would be confusing for a user who maybe viewing the transcript during run-time. Additionally, such a transcript would not yield accurate training results for the vocabulary predictor because the vocabulary predictor is trained as a language model which generates vocabulary- predictor output based on the standard grammatical structure of the language.
- Some disclosed embodiments are also directed to further modifications of the factorized neural transducer, which are specifically aimed at optimizing the factorized neural transducer for fast and efficient text-only adaptation in multi-speaker scenarios.
- the prediction network does not behave as a standalone language model, which limits its capability in being adapted to new domains.
- the factorized neural transducer can be more quickly and efficiently adapted to a new domain because the language model (e.g., vocabulary predictor) can be adapted to anew domain without having to adapt/train model layers associated with predicting the blank token.
- Fig. 4 illustrates an example of a factorized neural transducer that has been modified to improve the training and run-time process of the factorized neural transducer.
- the modified factorized neural transducer is configured to predict tokens (e.g., vocabulary tokens and non-vocabulary tokens) for input audio data comprising speech from one or more speakers.
- the tokens are predicted based on processing acoustic features corresponding to a current portion of the audio data received as input to the factorized neural transducer in combination with processing a previous output of the factorized neural transducer.
- the factorized neural transducer encodes the acoustic features prior to predicting either the vocabulary' tokens or non-vocabulary' tokens.
- the factorized neural transducer also generates intermediary’ outputs (e.g., vocabulary predictor outputs or non-vocabulary’ predictor outputs based on processing the previous factorized neural transducer outputs) such that the intermediary outputs are used in combination with the encoded acoustic features to facilitate the prediction of the vocabulary' tokens and non-vocabulary tokens.
- intermediary' outputs refer to any outputs generated within the factorized neural transducer prior to a final factorized neural transducer output (e.g., a vocabulary and/or non-vocabulary token).
- the factorized neural transducer illustrated in Fig. 4 aims to separately predict non-vocabulary tokens and vocabulary tokens, so that the vocabulary' predictor for the prediction of vocabulary' tokens fully functions as a language model and retains technical benefits associated with this factorized structure.
- a modification to the vocabulary predictor e.g., providing at least two hidden states within the vocabulary predictor
- a non- vocabulary' predictor 412 that is configured to predict channel change tokens, in addition to blank tokens.
- the factorized neural transducer 400 comprises four main components, including a vocabulary predictor 402, an encoder 406, anon-vocabulary' predictor 412, and a joint netw ork 414.
- Previous factorized neural transducer output 401 is processed by the non-vocabulary' predictor 412 which outputs an intermediary non-vocabulary output 413.
- Acoustic features 405 from new input speech data are processed by the encoder 406 to generate an encoder output 407.
- the joint network 414 is applied to the intermediary non-vocabulary output 413 and the encoder output 407 in order to predict non-vocabulary tokens 416.
- the non-vocabulary tokens may include a channel change token that corresponds to a detected speaker change identified between the previous factorized neural transducer output 401 and the new input speech represented by acoustic features 405.
- the non-vocabulary tokens may also include a blank token corresponding to a pause (i.e., a pause in speaking or moment of silence within the audio data), a non-verbal sound, such as a background noise, or unrecognizable speech from a speaker, detected in the new input speech.
- the previous factorized neural transducer output 401 is provided to the vocabulary' predictor 402 as input. The system then determines whether the previous factorized neural transducer output 401 comprises a channel change token (see logic step 418). When a channel change token is detected, the previous vocabulary output 420 is routed to the log-softmax layer 404, bypassing the vocabulary predictor 402.
- the vocabulary predictor 402 switches between the different hidden states of the vocabulary predictor 402 for processing of subsequently received inputs (e.g., additional previous factorized neural transducer outputs) until another channel change token is detected.
- vocabulary predictor 402 is described as having two hidden states, vocabulary predictor 402 can also be modified to include more than two hidden states for the set of processing layers.
- a separate hidden state may be dedicated to each separate speaker in the serialized transcription. In other embodiments, only two hidden states are used by more than two speakers identified in the serialized transcription.
- the vocabulary predictor 402 When no channel change token is detected, the vocabulary predictor 402 generates an intermediary vocabulary output 403, which is subsequently processed by a log-softmax layer 404.
- the encoder output 407 in addition to being processed by the joint network, is also processed by a linear layer 408.
- the linearized encoder output and intermediary vocabulary output 403 processed by the log-softmax layer 404 (or other layer which converts inputs to a normalized probability distribution) are used to predict the vocabulary token 410 for the new input speech, from which the acoustic features 405 were extracted.
- FIG. 5 illustrates an example of processing multispeaker speech data using a modified neural transducer, such as the factorized neural transducer of Fig. 4.
- input 502 includes the same token sequence as illustrated in Fig. 3B, namely: ⁇ hello> ⁇ how> ⁇ are> ⁇ cc> ⁇ i> ⁇ am> ⁇ cc> ⁇ you> ⁇ fine> ⁇ thank> ⁇ cc> ⁇ good> ⁇ cc> ⁇ you>.
- the bold tokens represent speech from a first speaker
- the italicized tokens represent speech from a second speaker
- the underlined tokens represent speech from a third speaker.
- a first hidden state (e.g., hidden state 0) begins to process the first three tokens ⁇ hello> ⁇ how> ⁇ are> from the first speaker and generates the corresponding output.
- the subsequent tokens are processed using the second hidden state (e.g., hidden state 1).
- the next two tokens ⁇ i> ⁇ am> are processed using the second hidden state in order to generate the corresponding output for the second speaker.
- the next token in input 502 is a channel change token: ⁇ cc>, such that ⁇ you> is processed using the first hidden state.
- ⁇ cc> a channel change token
- the previous token(s) processed using the first hidden state is/are used as the basis for generating the output for ⁇ you>.
- the output for ⁇ you> is correctly predicted based on previous tokens corresponding to the same speaker (e.g., the first speaker) using the first hidden state.
- Fig. 3B where ⁇ you>, which corresponds to the first speaker, was processed based on tokens from the second speaker because the same hidden state was used to process tokens from both the first speaker and second speaker.
- the rest of the tokens in input 502 are processed in a similar manner, such that output 506 is generated based on tokens from different speakers being processed using different hidden states associated with the set of vocabulary predictor processing layers.
- the first hidden state processes tokens from the first speaker and the third speaker
- the second hidden state processes tokens from the second speaker.
- a first hidden state processes tokens from a first speaker
- a second hidden state processes tokens from a second speaker
- a third hidden state processes tokens from a third speaker.
- the first hidden state processes tokens from a first speaker and a third speaker
- the second hidden state processes tokens from a second speaker and a fourth speaker.
- output 506 includes output categorized by each speaker, which can then be separated into different virtual channels and/or subsequent transcription data for live captioning of the audio stream.
- the vocabulary 7 predictor can continue to be used as a language model and can be adapted using text-only adaptation.
- an audio sample (e.g., input speech data 600) comprises overlapping speech between Speaker 1 and Speaker 2 (e.g., Speaker 1: "hello” and Speaker 2: “hey”).
- a first portion of the audio sample is processed, whereby acoustic features 605A (e. g. , Acoustic Features A) are extracted from the first portion of the audio sample (“hello’’). These audio features are encoded by the encoder 606 to generate encoder output 607 A (e.g., Encoder Output A).
- acoustic features 605A e. g. , Acoustic Features A
- encoder output 607 A e.g., Encoder Output A
- a null input 601 A is processed by the vocabulary predictor 602 and the non-vocabulary predictor 612.
- the joint network 614 is used to generate a nonvocabulary token 616A comprising a null token.
- a vocabulary token 610A ( ⁇ hello>) is generated for the first portion of the input speech data 600.
- Fig. 6B illustrates a second portion (i.e., the portion corresponding to “hey’’ spoken by Speaker 2) of the input speech data 600 being processed.
- acoustic features 605B are extracted from the second portion of the input speech data and encoded by encoder 606 to generate encoder output 607B (e.g.. Encoder Output B).
- the previously generated output e.g., ⁇ null> ⁇ hello>
- the previous vocabulary token ⁇ hello> is processed using the first hidden state of the vocabulary predictor 602 (i.e., “hidden 0 - null” 618).
- the vocabulary predictor 602 then generates intermediary vocabulary output 603B which is further processed by Log-Softmax layer 604. After the encoder output 607B is further processed by the linear layer 608, a new vocabulary token (e.g., vocabulary token 610B) comprising ⁇ hey> is generated for the second portion of the input speech data 600.
- a new vocabulary token e.g., vocabulary token 610B
- the previous output 601 B (e.g., ⁇ hello>) is also processed as input to the non-vocabulary predictor 612 which generates intermediary non-vocabulary output 613B.
- the joint network 614 then processes encoder output 607B and intermediary non-vocabulary output 613B to predict a channel change token (e.g., non-vocabulary token 616B comprising ⁇ cc>), because a speaker change was detected for the second portion of the input speech data (i.e., the previous output 601B was associated with Speaker 1 and the second portion of the input speech data is associated with Speaker 2).
- a channel change token e.g., non-vocabulary token 616B comprising ⁇ cc>
- Fig. 6C illustrates the previously generated non- vocabulary token (e.g., non-vocabulary token 616B) being processed as input to the non- vocabulary predictor 612.
- the non-vocabulary predictor 612 receives previous output 601C and identifies a ⁇ cc> token within that input, the system outputs the previous output results.
- Fig. 6D illustrates how the factorized neural transducer continues to process new portions of the input speech data 600 after having identified a channel change token. For example, a third portion (e.g., audio corresponding to '‘how’’ from Speaker 2) of the input speech data 600 is identified. Acoustic features 605D are extracted from the third portion of the input speech data 600. These acoustic features are then encoded (via encoder 606) to generate encoder output 607D (e.g., encoder output D).
- encoder output 607D e.g., encoder output D
- the vocabulary predictor 602 processes the previous output (e.g., “hidden 1 - null” 620 and outputs the previously generated vocabulary predictor output.
- the vocabulary' predictor 602 also processes the previously generated vocabulary token (e.g., vocabulary token 610B) ( ⁇ hey>) at the second hidden state to generate intermediary vocabulary output 603D. This intermediary output is then further processed using Log-Softmax layer 604.
- the encoder output 607D is further processed by linear layer 608.
- a new vocabulary token (e.g., vocabulary token 610D) is generated comprising ⁇ how>, which represents the language recognized in the third portion of the input speech data 600.
- the previously generated vocabulary 7 token (e.g., vocabulary 7 token 610B) is also processed by the non-vocabulaty predictor 612 to generate intermediary 7 non-vocabulary output 613D.
- the joint network 614 then processes the intermediary 7 non-vocabulary output 613D and the encoder output 607D in order to predict a null token 616D.
- the null token is predicted because no speaker change was detected between the previously generated vocabulary token or previous output 601D corresponding to the second portion of the input speech data 600 and the acoustic features 605D corresponding to the third portion of the input speech data 600.
- the vocabulary 7 predictor 602 can switch back and forth between processing different portions of the input speech data at either hidden state of the vocabulary predictor 602 based on identifying any speaker changes in the input speech data 600.
- audio stream 700 comprises speech from multiple speakers (e.g., Speaker 1, Speaker 2, and Speaker 3). Speaker 1 speaks: “Hello, how are you?”; Speaker 2 speaks: “I am fine, thank you.”; and Speaker 3 speaks: “good”.
- Speaker 1 speaks: “Hello, how are you?”
- Speaker 2 speaks: “I am fine, thank you.”
- Speaker 3 speaks: “good”.
- the audio stream 700 comprises speech from different speakers that overlap. For example, Speaker 2 begins speaking “I am” while Speaker 1 is finishing their greeting (i.e.. “I am” overlaps with “are you”). Additionally, “good” from Speaker 3 overlaps with “thank you” from Speaker 2.
- audio stream 700 is received as a continuous audio input to the Streaming E2E ASR system 702.
- Streaming E2E ASR system 702 is representative of the factorized neural transducer of Fig. 4, wherein the audio stream 700 is processed in a similar manner as illustrated in Fig 5. And Figs. 6A-6D.
- serialized transcription 704 is generated, including vocabulary 7 tokens and non-vocabulary tokens.
- serialized transcription 704 comprises: ⁇ hello> ⁇ how> ⁇ are> ⁇ cc> ⁇ I> ⁇ am> ⁇ cc> ⁇ you> ⁇ cc> ⁇ fine> ⁇ thank> ⁇ cc> ⁇ good> ⁇ cc> ⁇ you>.
- a ⁇ cc> token was generated every time the non-vocabulary 7 predictor of the Streaming E2E ASR system 702 detected a speaker change between portions of the audio stream 700.
- the serialized transcription 704 is then deserialized and separated into different virtual channels (e.g., virtual channel 1 and virtual channel 2) as part of a multi-speaker transcription 706.
- virtual channels e.g., virtual channel 1 and virtual channel 2
- the ‘‘Hello how are” tokens are routed to virtual channel 1.
- a ⁇ cc> token is then detected so that the following tokens “I am” are routed to virtual channel 2.
- Another detected ⁇ cc> token routes “y ou” back to the virtual channel 1.
- the next ⁇ cc> token after “you” routes the next tokens “fine” and “thank” to virtual channel 2.
- “good” may be routed to a third virtual channel (not illustrated) so that a first virtual channel (e.g.. virtual channel 1) comprises speech from a first speaker (Speaker 1), a second virtual channel (e.g., virtual channel 2) comprises speech from a second speaker (Speaker 2), and a third virtual channel (not illustrated) comprises speech from a third speaker (Speaker 3).
- a first virtual channel e.g.. virtual channel 1
- a third virtual channel comprises speech from a third speaker (Speaker 3).
- virtual channel 1 comprises speech from Speaker 1 and Speaker 3
- virtual channel 2 comprises speech from Speaker 2.
- tokens from Speaker 3 it is also possible for tokens from Speaker 3 to be routed to virtual channel 1 and/or channel 2 at different portions of the serialized transcription.
- the multi-speaker transcription 706, as illustrated by virtual channel 1 and virtual channel 2 can then be displayed at a user interface 708, such that transcription data included in virtual channel 1 is displayed at a first location of the user interface (e.g., window 708 A) and transcn ption data included in virtual channel 2 is displayed at a second location of the user interface 708 (e.g., window 708B).
- a first location of the user interface e.g., window 708 A
- transcn ption data included in virtual channel 2 is displayed at a second location of the user interface 708 (e.g., window 708B).
- transcription data from a third speaker is displayed at a third location of the user interface 708, which is separate from the first and second locations used for the first and second speakers, (not depicted).
- the user interface is configured to display the transcription data from the different virtual channels as the serialized transcription is generated and subsequently deserialized in a streaming manner.
- the transcription data from the different virtual channels is displayed at the user interface after the entire audio stream is processed and a final serialized transcription is generated and subsequently deserialized.
- a virtual channel comprises speech from multiple speakers (e.g., virtual channel 1 comprises speech corresponding to Speaker 1 and Speaker 2)
- the user interface is configured to display speech from different speakers but included in the same virtual channel in a different format to help a user view which speech is from a different speaker, even when the transcription data from both speakers is displayed at the same location of the user interface.
- FIG. 8 illustrates a flow diagram or method 800 that includes various acts (act 810, act 820, act 830, act 840, act 850, act 860, and act 870) associated with exemplary methods that can be implemented by computing system 1210 for using a factorized neural transducer to perform multi-speaker automatic speech recognition.
- acts will be described below in reference to Fig. 1 and Figs. 6A-6D.
- the first illustrated act includes accessing input speech data (e.g., input speech data 600) (act 810).
- input speech data e.g., input speech data 600
- this speech data that is accessed may be referred to as a second portion of the input speech data 600.
- the system extracts a set of acoustic features (e.g., acoustic features 605D) from this input speech data (e.g., the second portion of the input speech data 600) (act 820). After extracting the set of acoustic features, the set of acoustic features is encoded to generate an encoded acoustic output (e.g., encoder output 607D) (act 830).
- a set of acoustic features e.g., acoustic features 605D
- the set of acoustic features is encoded to generate an encoded acoustic output (e.g., encoder output 607D) (act 830).
- the system also receives a previous vocabulary token (e.g., vocabulary token 610B represented by previous output 601D) and a previous channel change token (e.g.. non-vocabulary token 616B represented by previous output 601 C) corresponding to previously processed speech data (e.g., a first or preceding portion of the input speech data 600).
- a previous vocabulary token e.g., vocabulary token 610B represented by previous output 601D
- a previous channel change token e.g... non-vocabulary token 616B represented by previous output 601 C
- previously processed speech data e.g., a first or preceding portion of the input speech data 600.
- the previous vocabulary token (e.g.. previous output 601D) is processed using a second hidden state, instead of a first hidden state of the vocabulary predictor (e.g., vocabulary predictor 602) for processing the previous vocabulary token using the second hidden state (act 850).
- a first hidden state of the vocabulary predictor e.g., vocabulary predictor 602
- the previous vocabulary' token is processed using the second hidden state, wherein the system outputs the vocabulary predictor output (e.g., intermediary vocabulary output 603D) based on the previous vocabulary token, for example, by causing the previous vocabulary token to be processed using the second hidden state (act 860).
- outputting the vocabulary predictor output comprises generating the vocabulary predictor output.
- the system predicts a new vocabulary token (e.g., vocabulary token 610D; “how ? ’) for the input speech data (e.g., the third portion of the input speech data 600) based on a combination of the encoded acoustic output (e.g., encoder output 607D) and the vocabulary predictor output (e.g., intermediary vocabulary output 603D) (act 870).
- a new vocabulary token e.g., vocabulary token 610D; “how ? ’
- the input speech data e.g., the third portion of the input speech data 600
- the vocabulary predictor output e.g., intermediary vocabulary output 603D
- the non-vocabulary predictor (e.g., non-vocabulary predictor 612) is configured to predict different kinds of non-vocabulary tokens, including blank tokens and channel change tokens. For example, if the system identifies a pause or a non-speech sound in the input speech data (e.g., input speech data 600), the system will predict a blank token for that portion of the input speech data. A blank token can also be predicted for a portion of the speech in which the speech was unrecognizable. The blank token is generated based on a combination of the encoded acoustic output and the non-vocabulary predictor output as processed by the joint network 614.
- a non-vocabulary token comprising a channel change token (e.g.. non-vocabulary token 616B) is predicted based on a combination (e.g., joint network 614) of the encoded acoustic output (e.g.. encoder output 607B)) and the non-vocabulary predictor output (e.g., intermediary non-vocabulary output 613B).
- a combination e.g., joint network 614
- the encoded acoustic output e.g.. encoder output 607B
- the non-vocabulary predictor output e.g., intermediary non-vocabulary output 613B
- a standard channel change token is predicted for any speaker change identified in the input speech data (e.g., ⁇ cc> tokens included in serialized transcription 704).
- the channel change token further comprises speaker identification information indicating from which speaker the new input speech data is coming (e.g., ⁇ ccl> for Speaker 1, ⁇ cc2> for Speaker 2, ⁇ cc3> for Speaker 3, etc.). This may be particularly useful when there are more than two speakers, such that the input speech data is not switching back and forth between the same two speakers, but rather between three or more speakers.
- the serialized transcript is more user- friendly and/or system-friendly when deserializing the serialized transcript into different virtual channels.
- the system After the system generates a final output for a particular portion of input speech data (e.g., audio stream 700), the system appends the non-vocabulary token (e.g., ⁇ cc>) and the new vocabulary 7 token (e.g., ⁇ you> to a serialized speech transcription (e.g., serialized transcription 704) of the input speech data (e.g.. audio stream 700).
- the non-vocabulary token e.g., ⁇ cc>
- the new vocabulary 7 token e.g., ⁇ you>
- serialized speech transcription e.g., serialized transcription 704
- method 800 also comprises an act for de-serializing the serialized speech transcription (e.g., serialized transcription 704) for the input speech data (e.g., audio stream 700).
- This de-serializing can be performed, for example, by routing a first set of serialized transcription portions (e.g., portions corresponding to Speaker 1 and Speaker 3) that were processed using the first hidden state to a first virtual channel (e.g., virtual channel 1) and routing a second set of serialized transcription portions (e.g.. portions corresponding to Speaker 2) that were processed using the second hidden state to a second virtual channel (e.g., virtual channel 2).
- the set of processing layers and the different virtual channels of the vocabulary' predictor can be configured in a variety of different configurations to process different portions of the serialized transcriptions corresponding to different speakers.
- a first hidden state of the set of processing layers is used to process speech in the input speech data from a first speaker
- a second hidden state of the set of processing layers is used to process speech in the input speech data from a second speaker, such that the first virtual channel comprises speech transcription data from the first speaker and the second virtual channel comprises speech transcription data from the second speaker.
- the first hidden state is also used to process speech in the input speech data from a third speaker, in addition to the first speaker, such that the first virtual channel also comprises speech transcription data from the third speaker.
- an additional hidden state (e.g., a third hidden state, fourth hidden state, etc.) is provided by the vocabulary predictor for processing speech from the third speaker, such that the portions of the serialized speech transcription corresponding to the third speaker are routed to a third virtual channel of the vocabulary' predictor.
- method 800 further comprises an act for displaying the first virtual channel (e.g., virtual channel 1) at a first location (e.g., window 708A) of a user interface (e.g., user interface 708) and the second virtual channel (e.g., virtual channel 2) at a second location (e.g., window 708B) of a user interface (e.g., user interface 708).
- first virtual channel e.g., virtual channel 1
- first location e.g., window 708A
- second virtual channel e.g., virtual channel 2
- second location e.g., window 708B
- Fig. 9 illustrates one embodiment of a flow diagram having a plurality of acts (e.g., act 910, act 920, act 930, and act 940) associated with a method 900 implemented by 7 a computing system (e.g., computing system 1210) for instantiating a factorized neural transducer.
- the first illustrated act includes providing or generating a first set of computer-executable instructions for instantiating a vocabulary predictor (act 910).
- the vocabulary predictor is configured to generate intermediary' vocabulary outputs for input speech data based on a previously generated output of the factorized neural transducer.
- the vocabulary predictor comprises a set of processing layers having multiple hidden states (e.g., a first hidden state and a second hidden state).
- a vocabulary 7 predictor comprising a plurality of hidden states
- the vocabulary 7 predictor is able to be adapted to new domains using text-only multi-speaker transcription data as well as achieve improved accuracy in recognizing overlapping speech between different speakers in the same audio stream.
- a second illustrated act includes providing or generating a second set of computerexecutable instructions for instantiating an encoder that processes acoustic features extracted from the input speech data and generates encoder outputs based on the acoustic features (act 920). By encoding the acoustic features, the system is able to combine the encoder output and the nonvocabulary predictor output in the same representational space in order to predict the nonvocabulary tokens.
- a third illustrated act includes providing or generating a third set of computerexecutable instructions for instantiating one or more transducer layers that process the intermediary vocabulary outputs and the encoder outputs and predicts vocabulary tokens for the input speech data (act 930).
- systems are able to achieve improved vocabulary token prediction by converting the outputs to the same representation space to better predict the vocabulary tokens for the current input speech data being processed.
- a fourth illustrated act is provided for transmitting the first set of computer-executable instructions, the second set of computer-executable instructions, and the third set of computerexecutable instructions to the computing system to cause the computing system to instantiate the vocabulary predictor, the encoder, and the one or more transducer lay ers as part of the factorized neural transducer (act 940).
- the referenced one or more transducer layers comprise a linear layer that processes the encoder outputs prior to being used in combination with the vocabulary' predictor output in order to predict the vocabulary token. Additionally, or alternatively, the one or more transducer layers comprise a Log-Softmax layer that processes intermediary' vocabulary outputs prior to being combined with encoder outputs or linearized encoder outputs to predict the vocabulary token.
- the previously generated output of the factorized neural transducer comprises non-blank tokens.
- the non-blank tokens comprise vocabulary' tokens and channel change tokens.
- method 900 further comprises an act for generating a third set of computer-executable instructions for instantiating a non-vocabulary' predictor that generates intermediary non-vocabulary' outputs based on the previously generated output of the factorized neural transducer and an act for generating a fourth set of computer-executable instructions for instantiating a joint network that predicts non-vocabulary’ tokens based on a combination of the intermediary non-vocabulary outputs and the encoder outputs.
- the system transmits the third set of computer-executable instructions and the fourth set of computer-executable instructions to cause the computing system to instantiate the non-vocabulary predictor and the joint network as part of the factorized neural transducer.
- a discrete set of layers of the factorized neural transducer is now configured to predict non- vocabulary tokens, including channel change tokens which indicate speaker changes in input speech data.
- the channel change tokens provide the technical benefit during the run-time of generating a serialized transcription, which can then be deserialized into different virtual channels corresponding to different speakers associated with the input speech data. Additional technical benefits are achieved during training and adaptation, such that as the channel change tokens are consumed as input in subsequent iteration steps, the factorized neural transducer is able to use text-only multi-speaker training data to adapt the vocabulary predictor to new domains.
- Fig. 10 illustrates one embodiment of a flow diagram having a plurality of acts (e.g., act 1010, act 1020, act 1030, and act 1040) associated with a method 1000 implemented by computing system 1210 for adapting a multi-speaker factorized neural transducer to a new domain.
- the acts will be described in reference to Fig. 11, in addition to other figures described herein.
- Fig. 1 1 illustrates an example process flow diagram of adapting a factorized neural transducer 1100 (representative of factorized neural transducer 400 of Fig. 4) to new domains.
- the first illustrated act is provided for accessing a factorized neural transducer (e.g., factorized neural transducer 1100) (act 1010).
- the factorized neural transducer comprises a vocabulary predictor (e.g., vocabulary predictor 1102).
- the factorized neural transducer comprises an encoder (e.g., encoder 1106) and a non-vocabulary predictor (e.g., non-vocabulary’ predictor 1112) in addition to the vocabulary predictor.
- the vocabulary predictor is configured to generate intermediary vocabulary outputs (e.g., du) for input speech data based on a previously generated output (e.g., y u -i) of the factorized neural transducer.
- the vocabulary' predictor further comprises a first hidden state and a second hidden state.
- the different hidden states are provided for processing different portions of audio data received as input to the factorized neural transducer.
- the vocabulary predictor switches between processing the audio data using the different hidden states based on identifying speaker changes within the audio data.
- the encoder is configured to process acoustic features (e.g., x t ) from the input speech data and generate an encoder output (e.g., f ⁇ nc ). wherein the factorized neural transducer predicts vocabulary tokens (e.g., vocabulary token 1110) based on a combination of the intermediary vocabulary outputs and the encoder outputs.
- the intermediary vocabulary outputs are further processed using an additional hidden state (e.g., Log-Softmax Layer 1104) and the encoder outputs are further processed by a linear layer 1108 prior to being used to predict the vocabulary tokens.
- the non-vocabulary predictor is configured to generate intermediary nonvocabulary output (e.g., gu ec s ), wherein the factorized neural transducer predicts non-vocabulary tokens (e.g., non-vocabulary tokens 1116). including channel change tokens (i.e., ⁇ cc>) and blank tokens (i.e., ⁇ b>), based on a combination of intermediary non-vocabulary outputs and the encoder outputs.
- intermediary nonvocabulary output e.g., gu ec s
- the vocabulary prediction network (e.g.. the second set of layers) is able to behave like a standalone language model, which can be modified and/or adapted without having to modify or adapt the blank prediction network.
- This allows for greater flexibility and variety in the way the vocabulary prediction network can be modified and/or adapted.
- the vocabulary prediction network can be adapted to a new domain using text-only data, as opposed to needing audio-text pairs. This also allows for text-only adaptation techniques which do not require modifying the non-vocabulary predictor.
- the intermediary non-vocabulary outputs and encoder outputs are further processed using a joint network (e.g., joint network 1114).
- the joint network output e.g., z s t u
- the joint network output is then used to predict the non-vocabulary tokens.
- a second illustrated act is provided for accessing serialized transcription data comprising overlapping speech transcription data from multiple speakers for a particular domain (act 1020).
- a third illustrated act is provided for adapting the vocabulary predictor to the particular domain by applying the factorized neural transducer (e.g., factorized neural transducer 1100) to the serialized transcription data such that a first set of portions of the serialized transcription data are processed using the first hidden state of the vocabulary predictor and a second set of portions are processed using a second hidden state of the vocabulary predictor based on identifying one or more channel change tokens included in the serialized transcription data (act 1030).
- Some embodiments are directed to accessing single-speaker transcription data for a particular domain.
- the vocabulary predictor is adapted to the particular domain by applying the factorized neural transducer (e.g., factorized neural transducer 1100) to the single-speaker transcription data.
- Additional acts can be included in method 1000, for example, and as illustrated in Fig. 11, generating a vocabulary predictor training loss (e.g., C Zm ) (act 1040) and modifying one or more layers of the vocabulary predictor to minimize the vocabulary predictor training loss (act 1050).
- a vocabulary predictor training loss e.g., C Zm
- act 1050 modifying one or more layers of the vocabulary predictor to minimize the vocabulary predictor training loss
- sy stems train or adapt only the vocabulary predictor, without having to modify any other layers of the factorized neural transducer.
- systems are configured to train or adapt one or more additional layers of the factorized neural transducer.
- systems are also configured to generate a factorized neural transducer training loss (e.g., 2 rrant ), such that systems can also modify one or more layers of the factorized neural transducer (e.g., layers corresponding to the vocabulary predictor, encoder, non-vocabulary predictor, and/or other layers) to minimize the factorized neural transducer training loss to improve the overall accuracy of the factorized neural transducer in performing automatic speech recognition.
- a factorized neural transducer training loss e.g., 2 rrant
- layers of the factorized neural transducer e.g., layers corresponding to the vocabulary predictor, encoder, non-vocabulary predictor, and/or other layers
- the training data for adapting the factorized neural transducer comprises singlespeaker transcription data, without any channel change tokens.
- non-serialized singlespeaker transcription data is more readily available and accessible than other types of training data (e.g., multi-speaker and/or serialized speech transcription data).
- the training data for adapting the factorized neural transducer, or more particularly, the vocabulary predictor of the factorized neural transducer comprises the serialized transcription data.
- the serialized transcription data comprises a plurality of change channel tokens corresponding to speaker changes between multiple speakers of speech transcribed in the serialized transcription data.
- the serialized transcription can be generated automatically or manually.
- the systems obtain or access the serialized transcription data by accessing different sets of single-speaker transcription data from multiple speakers, interweaving portions of the different sets of singlespeaker transcription data to generate a multi-speaker transcription dataset, and inserting a channel change token between portions of the multi-speaker transcription dataset that correspond to different speakers of the multiple speakers.
- systems do not have to directly obtain multi-speaker speech data which can be difficult to obtain. Instead, systems are able to convert single-speaker data into multi-speaker data to be used for training and/or adapting the factorized neural transducer to a new domain.
- systems can access various documents, previous conversations, emails, and other text data containing keywords that will be used and spoken during the meeting. By converting the access text data, systems can curate the text data to adapt the factorized neural transducer to the particular topic of the meeting. This can significantly improve the accuracy of the factorized neural transducer in recognizing those keywords during the meeting, especially during any overlapped speech from multiple meeting participants.
- the computing system can also detect various attributes of the context of the training data in order to determine and select a particular adaptation technique from a plurality of adaptation techniques. For example, if the system detects new adaptation data in the input text, the system may obtain further adaptation on the language model. However, if time is limited for the adaptation process, the system may implement an N-gram model, as described below, during run-time. In some instances, where the input text comprises both new adaptation terms within the baseline domain language, the system can implement a KL divergence function to prevent baseline knowledge loss during adaptation. If there is limited time to adapt the transducer, the system can implement an N-gram model with a gating network to guide how to combine knowledge from the baseline language model and the adapted N-gram model.
- the disclosed embodiments are utilized to realize many technical benefits and advantages over conventional systems and methods for performing speech recognition, as well as for generating and modifying machine learning models that are capable of performing multi-speaker speech recognition.
- the technical benefits and advantages that may be realized, for example, include the ability to process overlapping speech from multiple speakers within the same audio stream.
- the factorized neural transducer is able to be adapted to new domains using serialized transcriptions including overlapping speech from multiple speakers.
- FIG. 12 illustrates the computing system 1210 as part of a computing environment 1200 that includes client system(s) 1220 and third-party system(s) 1230 in communication (via a network 1240) with the computing system 1210.
- computing system 1210 is a server computing system configured to compile, modify, and implement a factorized neural transducer (e.g.. factorized neural transducer 400) configured to perform speech recognition on multi-speaker speech data, including overlapping speech from multiple speakers.
- a factorized neural transducer e.g.. factorized neural transducer 400
- the computing system 1210 includes one or more processor(s) (such as one or more hardware processor(s) and one or more hardware storage device(s) storing computer- readable instructions.
- processor(s) such as one or more hardware processor(s)
- hardware storage device(s) is able to house any number of datatypes and any number of computer-executable instructions by which the computing system 1210 is configured to implement one or more aspects of the disclosed embodiments when the computer-executable instructions are executed by the one or more hardware processor(s).
- the computing system 1210 is also shown including user interface(s) and input/output (I/O) device(s).
- hardware storage device(s) are shown as a single storage unit.
- the hardware storage device(s) can also be a distributed storage that is distributed to several separate and sometimes remote systems and/or third-party system(s).
- the computing system 1210 can also comprise a distributed system with one or more of the components of computing system 1210 being maintained/run by different discrete systems that are remote from each other and that each system performs different tasks. In some instances, a plurality of distributed systems performs similar and/or shared tasks for implementing the disclosed functionality, such as in a distributed cloud environment.
- the audio data is natural language audio and/or synthesized audio data.
- Input audio data is retrieved from previously recorded files such as video recordings having audio or audio-only recordings. Some examples of recordings include videos, podcasts, voicemails, voice memos, songs, etc. Audio data is also retrieved from actively streaming content which is live continuous speech such as a news broadcast, phone call, virtual or in-person meeting, etc. In some instances, a previously recorded audio file is streamed.
- Natural audio data is recorded from a plurality of sources, including applications, meetings comprising one or more speakers, ambient environments including background noise and human speakers, etc. It should be appreciated that natural language audio comprises one or more spoken languages of the world’s spoken languages.
- the factorized neural transducer is trainable in one or more languages.
- the training data for the baseline factorized neural transducer comprises spoken language utterances (e.g., natural language and/or synthesized speech) and corresponding textual transcriptions (e.g., text data).
- the training data comprises text data and natural language audio and simulated audio that comprises speech utterances corresponding to words, phrases, and sentences included in the text data.
- the speech utterances are the ground truth output for the text data input.
- Training data also includes adaptation data which comprises text- only data for new domains on which factorized neural transducer can be adapted.
- the computing system is in communication with client system(s) 1220 comprising one or more processor(s), one or more user interface(s), one or more I/O device(s), one or more sets of computer-executable instructions, and one or more hardware storage device(s).
- client system(s) 1220 comprising one or more processor(s), one or more user interface(s), one or more I/O device(s), one or more sets of computer-executable instructions, and one or more hardware storage device(s).
- users of a particular software application e.g., Microsoft Teams
- the server computing system is able to transmit instructions to the client system for generating and/or downloading a factorized neural transducer model, wherein the processing of the audio data by the model occurs at the client system.
- the computing system is also in communication with third-party system(s) 1230. It is anticipated that, in some instances, the third-party system(s) 1230 further comprise databases housing data that could be used as training data, for example, text data not included in local storage. Additionally, or alternatively, the third-party system(s) 1230 includes machine learning systems external to the computing system 1210.
- Embodiments of the present invention may comprise or utilize a special-purpose or general-purpose computer (e.g., computing system 1210) including computer hardware, as discussed in greater detail below.
- Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures.
- Such computer-readable media can be any available media that can be accessed by a general-purpose or special-purpose computer system.
- Computer-readable media e.g., hardw are storage device(s) of Fig. 12) that store computer-executable/computer- readable instructions are physical hardware storage media/devices that exclude transmission media.
- Computer-readable media that cany’ computer-executable instructions or computer- readable instructions in one or more carrier waves or signals are transmission media.
- embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: physical computer-readable storage media/devices and transmission computer-readable media.
- Physical computer-readable storage media/devices are hardware and include RAM, ROM, EEPROM, CD-ROM or other optical disk storage (such as CDs, DVDs, etc.), magnetic disk storage or other magnetic storage devices, or any other hardware which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- a “network” (e.g., network 1240 of Fig. 12) is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices.
- a network or another communications connection either hardwired, wireless, or a combination of hardwired or wireless
- Transmission media can include a network and/or data links that can be used to carry, or desired program code means in the form of computer-executable instructions or data structures, and which can be accessed by a general purpose or special purpose computer. Combinations of the above are also included within the scope of computer-readable media.
- program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission computer-readable media to physical computer-readable storage media (or vice versa).
- program code means in the form of computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer-readable physical storage media at a computer system.
- NIC network interface module
- computer-readable physical storage media can be included in computer system components that also (or even primarily) utilize transmission media.
- Computer-executable instructions comprise, for example, instructions and data which cause a general-purpose computer, special-purpose computer, or special-purpose processing device to perform a certain function or group of functions.
- the computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.
- the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, and the like.
- the invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks.
- program modules may be located in both local and remote memory storage devices.
- the functionality described herein can be performed, at least in part, by one or more hardware logic components.
- illustrative types of hardware logic components include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stereophonic System (AREA)
- Machine Translation (AREA)
Abstract
Description
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP24734656.2A EP4725014A1 (en) | 2023-06-08 | 2024-05-24 | Factorized neural transducer for multi-speaker speech recognition |
| CN202480029488.2A CN121569338A (en) | 2023-06-08 | 2024-05-24 | Factorized neural converter for multi-speaker speech recognition |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/207,625 US12542135B2 (en) | 2023-06-08 | 2023-06-08 | Factorized neural transducer for multi-speaker speech recognition |
| US18/207,625 | 2023-06-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024253868A1 true WO2024253868A1 (en) | 2024-12-12 |
Family
ID=91585664
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2024/030900 Ceased WO2024253868A1 (en) | 2023-06-08 | 2024-05-24 | Factorized neural transducer for multi-speaker speech recognition |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12542135B2 (en) |
| EP (1) | EP4725014A1 (en) |
| CN (1) | CN121569338A (en) |
| WO (1) | WO2024253868A1 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12277927B2 (en) * | 2022-03-15 | 2025-04-15 | Microsoft Technology Licensing, Llc | End-to-end streaming speech translation with neural transducer |
-
2023
- 2023-06-08 US US18/207,625 patent/US12542135B2/en active Active
-
2024
- 2024-05-24 WO PCT/US2024/030900 patent/WO2024253868A1/en not_active Ceased
- 2024-05-24 CN CN202480029488.2A patent/CN121569338A/en active Pending
- 2024-05-24 EP EP24734656.2A patent/EP4725014A1/en active Pending
Non-Patent Citations (3)
| Title |
|---|
| JIAN WU ET AL: "Speaker Change Detection for Transformer Transducer ASR", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 16 February 2023 (2023-02-16), XP091441577 * |
| JIAN WU ET AL: "t-SOT FNT: Streaming Multi-talker ASR with Text-only Domain Adaptation Capability", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 15 September 2023 (2023-09-15), XP091614275 * |
| NAOYUKI KANDA ET AL: "Streaming Speaker-Attributed ASR with Token-Level Speaker Embeddings", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 14 July 2022 (2022-07-14), XP091271677 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US12542135B2 (en) | 2026-02-03 |
| CN121569338A (en) | 2026-02-24 |
| EP4725014A1 (en) | 2026-04-15 |
| US20240412736A1 (en) | 2024-12-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7436760B1 (en) | Learning word-level confidence for subword end-to-end automatic speech recognition | |
| CN111933129B (en) | Audio processing method, language model training method and device and computer equipment | |
| US20230186901A1 (en) | Attention-Based Joint Acoustic and Text On-Device End-to-End Model | |
| US20250022458A1 (en) | Mixture Model Attention for Flexible Streaming and Non-Streaming Automatic Speech Recognition | |
| KR20230158608A (en) | Multi-task learning for end-to-end automatic speech recognition confidence and erasure estimation. | |
| US12051404B2 (en) | Efficient streaming non-recurrent on-device end-to-end model | |
| KR20230073297A (en) | Transformer-transducer: one model that integrates streaming and non-streaming speech recognition | |
| KR20230156795A (en) | Word segmentation regularization | |
| CN119547136A (en) | Context-aware neural confidence estimation for rare word speech recognition | |
| US12211509B2 (en) | Fusion of acoustic and text representations in RNN-T | |
| CN121214927A (en) | End-to-end streaming speech recognition and natural language understanding joint optimization method and system | |
| US20250279089A1 (en) | Using Synthetic Data to Improve Word Error Rate of Differentially Private ASR Models | |
| US12542135B2 (en) | Factorized neural transducer for multi-speaker speech recognition | |
| US12354600B2 (en) | Fast and efficient text only adaptation for factorized neural transducer | |
| WO2024082167A1 (en) | Streaming long-form speech recognition | |
| CN121122239A (en) | A multimodal interactive decision-making method and system for electricity spot trading |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24734656 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024734656 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2024734656 Country of ref document: EP Effective date: 20260108 |
|
| ENP | Entry into the national phase |
Ref document number: 2024734656 Country of ref document: EP Effective date: 20260108 |
|
| ENP | Entry into the national phase |
Ref document number: 2024734656 Country of ref document: EP Effective date: 20260108 |
|
| ENP | Entry into the national phase |
Ref document number: 2024734656 Country of ref document: EP Effective date: 20260108 |
|
| ENP | Entry into the national phase |
Ref document number: 2024734656 Country of ref document: EP Effective date: 20260108 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2024734656 Country of ref document: EP |