The following relates to methods and devices for processing and/or recognizing acoustic signals. More specifically, the system described herein enables recognizing tones in speech for languages where pitch may be used to distinguish lexical or grammatical meaning including inflection.
Tones are an essential component of the phonology of many languages. A tone is a pitch pattern, such as a pitch trajectory, which distinguishes or inflects words. Some examples of tonal languages include Chinese and Vietnamese in Asia, Punjabi in India, and Cangin and Fulani in Africa. In Mandarin Chinese, for example, the words for “mom” (mā), “hemp” (má), “horse” (mă), and “scold” (mà) are composed of the same two phonemes (/ma/) and are distinguishable only through their tone patterns. Consequently, automatic speech recognition systems for tonal languages cannot rely on phonemes alone and must incorporate some knowledge about the tones recognition, whether implicit or explicit, in order to avoid ambiguity. Apart from speech recognition in tonal languages, example embodiments of tone recognition include other uses for automatic tone recognition include large-scale corpus linguistics and computer-assisted language learning.
Tone recognition is a challenging function to implement due to the inter-and intra-speaker variation of the pronunciation of tones. Despite these variations, researchers have found that learning algorithms, such as neural networks, can be used to recognize tones. For instance, a simple multi-layer perceptron (MLP) neural network can be trained to take as input a set of pitch features extracted from a syllable and output a tone prediction. Similarly, a trained neural network can take as input a set of frames of Mel-frequency cepstral coefficients (MFCCs) and output a prediction of the tone of the central frame.
A drawback of existing neural network-based systems for tone recognition is that they require a dataset of segmented speech - that is, speech for which each acoustic frame is labeled with a training target - in order to be trained. Manually segmenting speech is expensive, requires time and significant linguistic expertise. It is possible to use a forced aligner to segment speech automatically, but the forced aligner itself must first be trained on manually segmented data. This is especially problematic for languages for which little training data and expertise is available.
Accordingly, systems and methods that enable tone recognition that can be trained without segmented speech remain highly desirable.
In accordance with an aspect there is provided a method of processing and/or recognizing tones in acoustic signals associated with a tonal language, in a computing device, the method comprising: applying a feature vector extractor to an input acoustic signal and outputting a sequence of feature vectors for the input acoustic signal; and applying at least one runtime model of one or more neural networks to the sequence of feature vectors and producing a sequence of tones as output from the input acoustic signal; wherein the sequence of tones are predicted as probabilities of each given speech feature vector of the sequence of feature vectors representing a part of a tone.
In accordance with an aspect the sequence of feature vectors are mapped to a sequence of tones using one or more sequence-to-sequence networks to learn at least one model to map the sequence of feature vectors to a sequence of tones.
In accordance with an aspect the feature vector extractor comprises one or more of a multi-layer perceptron (MLP), a convolutional neural network (CNN), a recurrent neural network (RNN), a cepstrogram computer, a spectrogram computer, a Mel-filtered cepstrum coefficients (MFCC) computer, or a filterbank coefficient (FBANK) computer.
In accordance with an aspect the sequence of output tones can be combined with complimentary acoustic vectors, such as MFCC or FBANK feature vectors or a phoneme posteriorgram, for a speech recognition system that is able to do speech recognition in a tonal language with higher accuracy.
In accordance with an aspect the sequence-to-sequence network comprises one or more of an MLP, a feed-forward neural network (DNN), a CNN, or an RNN, trained using a loss function appropriate to CTC training, encoder-decoder training, or attention training.
In accordance with an aspect an RNN is implemented using one or more of uni-directional or bi-direction GRU, LSTM units or a derivative thereof.
The system and method described can be implemented in a speech recognition system to assist in estimating words. The speech recognition system is implemented on a computing device having a processor, memory and microphone input device.
In another aspect, there is provided a method of processing and/or recognizing tones in acoustic signals, the method comprising a trainable feature vector extractor and a sequence-to-sequence neural network.
In another aspect, there is provided a computer readable media comprising computer executable instructions for performing the method.
In another aspect, there is provided a system for processing acoustic signals, the system comprising a processor and memory, the memory comprising computer executable instructions for performing the method.
In an implementation of the system, the system comprises a cloud-based device for performing cloud-based processing.
In yet another aspect, there is provided an electronic device comprising an acoustic sensor for receiving acoustic signals, the system described herein, and an interface with the system to make use of the estimated tones when the system has outputted them.
Further features and advantages of the present disclosure will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
A system and method is provided which learns to recognize sequences of tones without segmented training data using sequence-to-sequence networks. A sequence-to-sequence network is a neural network trained to output a sequence, given a sequence as input. Sequence-to-sequence networks include connectionist temporal classification (CTC) networks, encoder-decoder networks], and attention networks among other possibilities. The model used in sequence-to-sequence networks is typically a recurrent neural network (RNN); however, not-recurrent architectures also exists, which can be trained a convolutional neural network (CNN) for speech recognition using a CTC-like sequence loss function.
In accordance with an aspect there is provided a method of processing and/or recognizing tones in acoustic signals associated with a tonal language, in a computing device, the method comprising: applying a feature vector extractor to an input acoustic signal and outputting a sequence of feature vectors for the input acoustic signal; and applying at least one runtime model of one or more neural networks to the sequence of feature vectors and producing a sequence of tones as output from the input acoustic signal; wherein the sequence of tones are predicted as probabilities of each given speech feature vector of the sequence of feature vectors representing a part of a tone.
In accordance with another aspect the sequence of feature vectors are mapped to a sequence of tones using one or more sequence-to-sequence networks to learn at least one model to map the sequence of feature vectors to a sequence of tones.
In accordance with an aspect the feature vector extractor comprises one or more of a multi-layer perceptron (MLP), a convolutional neural network (CNN), a recurrent neural network (RNN), a cepstrogram computer, a spectrogram computer, a Mel-filtered cepstrum coefficients (MFCC) computer, or a filterbank coefficient (FBANK) computer.
In accordance with an aspect the sequence of output tones can be combined with complimentary acoustic vectors, such as MFCC or FBANK feature vectors or a phoneme posteriorgram, for a speech recognition system that is able to do speech recognition in a tonal language with higher accuracy.
In accordance with an aspect the sequence-to-sequence network comprises one or more of an MLP, a feed-forward neural network (DNN), a CNN, or an RNN, trained using a loss function appropriate to CTC training, encoder-decoder training, or attention training.
In accordance with an aspect an RNN is implemented using one or more of uni-directional or bi-direction GRU, LSTM units or a derivative thereof.
The system and method described can be implemented in a speech recognition system to assist in estimating words. The speech recognition system is implemented on a computing device having a processor, memory and microphone input device.
In another aspect, there is provided a method of processing and/or recognizing tones in acoustic signals, the method comprising a trainable feature vector extractor and a sequence-to-sequence neural network.
In another aspect, there is provided a computer readable media comprising computer executable instructions for performing the method.
In another aspect, there is provided a system for processing acoustic signals, the system comprising a processor and memory, the memory comprising computer executable instructions for performing the method.
In an implementation of the system, the system comprises a cloud-based device for performing cloud-based processing.
In yet another aspect, there is provided an electronic device comprising an acoustic sensor for receiving acoustic signals, the system described herein, and an interface with the system to make use of the estimated tones when the system has outputted them.
Referring to
Referring to
The sequence-to-sequence network is typically a recurrent neural network (RNN) 230 which can have one or more uni-directional or bi-directional recurrent layers. The recurrent neural network 230 can also have more complex recurrent units such as long-short term memory (LSTM) or gated recurrent units (GRU), etc.
In one embodiment, the sequence-to-sequence network uses the CTC loss function 240 to learn to output the correct tone sequence. The output may be decoded from the logits produced by the network using a greedy search or a beam search.
An example of the method is shown in
Table 1 lists one possible set of hyper-parameters used in the recognizer for these example experiments. We used a bidirectional gated recurrent unit (BiGRU) with 128 hidden units in each direction as the RNN. The RNN has an affine layer with 6 outputs: 5 for the 5 Mandarin tones, and 1 for the CTC “blank” label.
The network was trained for a maximum of 20 epochs using an optimized, such as for example as disclosed in Diederik Kingma and Jimmy Ba, “Adam: A method for stochastic optimization,” International Conference on Learning Representations (ICLR), 2015 hereby incorporated by reference with a learning rate of 0.001 and gradient clipping. The batch normalization for RNNs and a novel optimization curriculum, called SortaGrad curriculum learning strategy was utilized, described in Dario Amodei, Sundaram Ananthanarayanan, Rishita Anubhai, Jingliang Bai, Eric Battenberg, Carl Case, Jared Casper, Bryan Catanzaro, Qiang Cheng, Guoliang Chen, et al., “Deep Speech 2: End-to-end speech recognition in English and Mandarin,” in 33rd International Conference on Machine Learning (ICML), 2016, pp. 173-182 , in which training sequences are drawn from the training set in order of length during the first epoch and randomly in subsequent epochs. For regularization, and early stopping on the validation set was used to select the final model. To decode the tone sequences from the logits, a greedy search was used.
In an embodiment, the said predicted tones are combined with complimentary acoustic information to enhance the performance of a speech recognition system. Examples of such complimentary acoustic information include a sequence of acoustic feature vectors or a sequence of posterior phoneme probabilities (also known as a phone posteriorgram) obtained via a separate model or set of models, such as a fully connected network, a convolutional neural network, or a recurrent neural network. The posterior probabilities can also be obtained via a joint learning method such as multi-task learning to combined tone as well as phone recognition among other tasks.
An experiment to show that the predicted tones can improve the performance of a speech recognition system was performed. For this experiment, 31 native Mandarin speakers were recorded reading a set of 8 pairs of phonetically similar commands. The 16 commands, as shown in Table 1, were chosen to be phonetically identical except in tones. Two neural networks were trained to recognize this command set: one with phoneme posteriors alone as input, and one with both phoneme and tone posteriors as input.
The performance of a number of tone recognizers is compared in Table 3. In rows [1]-[5] of the table, other Mandarin tone recognition results reported elsewhere in the literature are provided. In row [6] of the table, the result of the example of the presently disclosed method. The presently disclosed method achieves better results than the other reported results by a wide margin, with a TER of 11.7%.
Another embodiment which tone recognition is useful is computer-assisted language learning. Correct pronunciation of tones is necessary for a speaker to be intelligible while speaking a tonal language. In a computer-assisted language learning application, such as Rosetta Stone™ or Duolingo™, tone recognition can be used to check whether the learner is pronouncing the tones of a phrase correctly. This can be done by recognizing the tones spoken by the learner and checking whether they match the expected tones of the phrase to be spoken.
Another embodiment for which automatic tone recognition is useful is corpus linguistics, in which patterns in a spoken language are inferred from large amounts of data obtained for that language. For instance, a certain word may have multiple pronunciations (consider how “either” in English may be pronounced as “IY DH ER” or “AY DH ER”), each with a different tone pattern. Automatic tone recognition can be used to search a large audio database and determine how often each pronunciation variant is used, and in which context each pronunciation is used, by recognizing the tones with which the word is spoken.
Each element in the embodiments of the present disclosure may be implemented as hardware, software/program, or any combination thereof. Software codes, either in its entirety or a part thereof, may be stored in a non-transitory computer readable medium or memory (e.g., as a ROM, for example a non-volatile memory such as flash memory, CD ROM, DVD ROM, Blu-ray™, a semiconductor ROM, USB, or a magnetic recording medium, for example a hard disk). The program may be in the form of source code, object code, a code intermediate source and object code such as partially compiled form, or in any other form.
It would be appreciated by one of ordinary skill in the art that the system and components shown in
This application is a continuation of U.S. Pat. Application No. 16/958,378 filed Jun. 26, 2020 which is a national stage filing of International Application No. PCT/CA2018/051682 (International Publication No. WO 2019/126881), filed Dec. 28, 2018, which claims priority to United States Provisional Application No. 62/611,848 filed Dec. 29, 2017. The entire contents of each these applications is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
62611848 | Dec 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16958378 | Jun 2020 | US |
Child | 18105346 | US |