WO2014029099A1 - I-vector based clustering training data in speech recognition - Google Patents
I-vector based clustering training data in speech recognition Download PDFInfo
- Publication number
- WO2014029099A1 WO2014029099A1 PCT/CN2012/080527 CN2012080527W WO2014029099A1 WO 2014029099 A1 WO2014029099 A1 WO 2014029099A1 CN 2012080527 W CN2012080527 W CN 2012080527W WO 2014029099 A1 WO2014029099 A1 WO 2014029099A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cluster
- vectors
- hyperparameters
- speech
- training
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- 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/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
-
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0631—Creating reference templates; Clustering
Definitions
- ASR Automatic speech recognition
- An i-vector may be extracted from a training speech segment of a training data (e.g., a training corpus).
- the extracted i-vectors of the training data may then be clustered into multiple clusters to identify multiple acoustic conditions.
- the multiple clusters may be used to train acoustic models associated with the multiple acoustic conditions.
- the trained acoustic models may be used in speech recognition.
- a set of hyperparameters and a Gaussian mixture model (GMM) that are associated with the training data may be calculated to extract the i-vector.
- GMM Gaussian mixture model
- an additional set of hyperparameters may be calculated using a residual term to model variabilities of the training data that are not captured by the set of hyperparameters.
- an i-vector may be extracted from an unknown speech segment.
- One or more clusters may be selected based on similarities between the i-vector and the one or more clusters.
- One or more acoustic models corresponding to the one or more clusters may then be determined.
- the unknown speech segment may be recognized using the one or more determined acoustic models.
- FIG. 1 is a schematic diagram of an illustrative architecture for clustering training data in speech recognition.
- FIG. 2 is a flow diagram of an illustrative process for clustering training data in speech recognition.
- FIG. 3 is a flow diagram of an illustrative process for extracting an i- vector from a speech segment.
- FIG. 4 is a flow diagram of an illustrative process for calculating hyperparameters.
- FIG. 5 is a flow diagram of an illustrative process for recognizing speech segments using trained acoustic models.
- FIG. 6 is a schematic diagram of an illustrative scheme that implements speech recognition using one or more acoustic models.
- FIG. 7 is a block diagram of an illustrative computing device that may be deployed in the architecture shown in FIG. 1.
- This disclosure is directed, in part, to speech recognition using i- vector based training data clustering.
- Embodiments of the present disclosure extract i-vectors from a set of speech segments in order to represent acoustic information. The extracted i-vectors may then be clustered into multiple clusters that may be used to train multiple acoustic models for speech recognition.
- a simplified factor analysis model may be used without a residual term.
- the i-vector extraction may be extended by using a full factor analysis model with a residual term.
- an i-vector may be extracted from an unknown speech segment.
- a cluster may be selected based on a similarity between the cluster and the extracted i-vector.
- the unknown speech segment may be recognized using an acoustic model trained by the selected cluster.
- Conventional i-vector based speaker recognition uses Baum-Welch statistics. But using Baum-Welch statistics renders conventional solutions unsuitable to hyperparameter estimation, due to high complexity and computational resource requirements. But embodiments of the present disclosure use novel hyperparameter estimation procedures, which are less computationally complex than conventional approaches.
- FIG. 1 is a schematic diagram of an illustrative architecture 100 for clustering training data in speech recognition.
- the architecture 100 includes a speech segment 102 and a training data clustering module 104.
- the speech segment 102 may include one or more frames of speech or one or more utterances of speech data (e.g., a training corpus).
- the training data clustering module 104 may include an extractor 106, a clustering unit 108, and a trainer 110.
- the extractor 106 may extract a low-dimensional feature vector (e.g., an i-vector 112) from the speech segment 102.
- the extracted i-vector may represent acoustic information.
- i-vectors extracted from the training corpus may be clustered into clusters 114 by the clustering unit 108.
- the clusters 114 may include multiple clusters (e.g., cluster 1, cluster 2 ... cluster n).
- a hierarchical divisive clustering algorithm may be used to cluster the i-vectors into multiple clusters.
- the clusters 114 may be used to train acoustic models 116 by the trainer 110.
- the acoustic models 116 may include multiple acoustic models (e.g., acoustic model 1, acoustic model 2 ... acoustic model n) to represent various acoustic conditions.
- for each acoustic model may be trained using a cluster.
- the acoustic models 116 may be used in speech recognition to improve recognition accuracy.
- the i-vector based training data clustering as described herein can efficiently handle a large training corpus using conventional computing platforms.
- the i-vector based approach may be used for acoustic sniffing in irrelevant variability normalization (IVN) based acoustic model training for large vocabulary continuous speech recognition (LVCSR).
- IVN irrelevant variability normalization
- LVCSR large vocabulary continuous speech recognition
- FIG. 2 is a flow diagram of an illustrative process 200 for clustering training data in speech recognition.
- the process 200 is illustrated as a collection of blocks in a logical flow graph, which represent a sequence of operations that can be implemented in hardware, software, or a combination thereof.
- the blocks represent computer- executable instructions that, when executed by one or more processors, cause the one or more processors to perform the recited operations.
- computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types.
- the order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the process.
- the extractor 106 may extract the i-vector 112 from the speech segment 102.
- the i-vector 112 includes a low-dimensional feature vector extracted from a speech segment used to represent certain information associated with speech data (e.g., the training corpus). For example, i-vectors may be extracted from the training corpus in order to represent speaker information, and the i-vector is used to identify and/or verify a speaker during speech recognition.
- the i- vector 112 may be extracted based on a set of hyperparameters (a.k.a. a total variability matrix) estimation, which is discussed in a greater detail in FIG. 3.
- the clustering unit 108 may aggregate the i-vectors extracted from the speech data and cluster the i-vectors into the clusters 114.
- a hierarchical divisive clustering algorithm e.g., a Linde-Buzo- Gray (LBG) algorithm
- LBG Linde-Buzo- Gray
- Various schemes to measure dissimilarity may be used to aid in the clustering. For example, a Euclidean distance may be used to measure a dissimilarity between two i-vectors of the clusters 114. In another example, a cosine measure may be used to measure a similarity between two i-vectors of the clusters 114.
- the i-vectors of the extracted i-vectors may be normalized to have a unit norm, and a centroid for individual ones of the clusters 114 may be calculated. Centroids of the clusters 114 may be used to identify the clusters that are most similar to the individual i-vectors extracted from an unknown speech segment, which is discussed in a greater detail in FIG. 5. Accordingly, the training speech segments may be classified into one of the clusters 114.
- the trainer 110 may train the acoustic models 116 using the clusters 114.
- the trained acoustic models may be used in speech recognition in order to improve recognition accuracy.
- a cluster-dependent acoustic model may be trained by using a cluster-independent acoustic model as a seed.
- the acoustic models 116 may include multiple cluster-dependent acoustic models and a cluster-independent acoustic model.
- FIG. 3 is a flow diagram of an illustrative process 300 for extracting an i-vector from a speech segment.
- the extractor 106 may train a Gaussian mixture model (GMM) from a set of training data using a maximum likelihood approach to serve as a universal background model (UBM).
- GMM Gaussian mixture model
- UBM universal background model
- the extractor 106 may calculate a set of hyperparameters associated with the set of training data.
- the hyperparameter estimation procedures are discussed in a greater detail in FIG. 4.
- the extractor 106 may extract the i-vector 112 from the speech segment 102 based on the trained GMM and calculated hyperparameters.
- an additional set of hyperparameters may also be calculated using a residual term to model variabilities of the set of training data that are not captured by the set of hyperparameters.
- the i-vector 112 may be extracted from the speech segment 102 based on the trained GMM, the set of hyperparameters, and the additional set of hyperparameters.
- FIG. 4 is a flow diagram of an illustrative process 400 for calculating hyperparameters.
- an expectation-maximization (EM) algorithm may be used to hyperparameter estimation.
- initial values of the elements of the hyperparameters of the set of training data may be set at 402.
- corresponding "Baum-Welch" statistics may be calculated.
- a posterior expectation may be calculated using the sufficient statistics and a current hyperparameter.
- the hyperparameters may be updated based on the posterior expectation.
- FIG. 5 is a flow diagram of an illustrative process 500 for recognizing speech segments using trained acoustic models.
- a speech data may be received by a speech recognition system, which may include the training data clustering module 104 and a recognition module.
- a speech recognition system may include the training data clustering module 104 and a recognition module.
- At least a part of the speech recognition system may be implemented as a cloud-type application that queries, analyzes, and manipulates returned results from web services, and causes recognition results to be presented on a computing device.
- at least a part of the speech recognition may be implemented by a web application that runs on a consumer device.
- the recognition module may generate multiple speech segments based on the speech data.
- the recognition module may extract an i-vector from each speech segment of the multiple segments.
- the recognition module may select one or more clusters based on the extracted i-vector. In some embodiments, the selection may be performed based on similarities between the clusters and the extracted i- vector. For example, the recognition module may classify each extracted i- vector to one or more clusters with the nearest centroids. Using the one or more clusters, one or more acoustic conditions (e.g., acoustic models) may be determined. In some embodiments, the recognition module may select a pre- trained linear transform for feature transformation based on the acoustic condition classification result.
- acoustic conditions e.g., acoustic models
- the recognition module may recognize the speech segment using the one or more determined acoustic models, which is discussed in a greater detail in FIG. 6.
- FIG. 6 is a schematic diagram of an illustrative scheme 600 that implements speech recognition using one or more acoustic models.
- the scheme 600 may include the acoustic models 116 and a testing segment 602.
- the acoustic models 116 may include multiple cluster-dependent acoustic models (e.g., CD AM 1, CD AM 2 ... CD AM N) and a cluster-independent acoustic model (e.g., CI AM).
- the multiple cluster- dependent acoustic models may be trained using the cluster-independent acoustic model as a seed.
- the cluster-independent acoustic model may be trained using all or a portion of training data that generates the cluster-dependent acoustic models.
- a cosine similarity measure is used to cluster the testing segment 602 or an unknown speech segment, then an i-vector may be extracted and normalized to have a unit norm. In some embodiments, a Euclidean distance is used as a dissimilarity measure.
- the recognition system may perform i-vector based AM selection 604 to identify AM 606.
- the AM 606 may represent one or more acoustic models that are trained by a predetermined number of clusters, and that may be used for speech recognition.
- the predetermined number of clusters may be more similar to the extracted i-vector than to the remaining clusters of the acoustic models 116.
- the recognition system may compare the extracted i-vector with the centroids associated with the acoustic models 116 including both the cluster-dependent and the cluster-independent acoustic model.
- the unknown speech segment may be recognized by using the predetermined number of selected cluster-dependent acoustic models and/or cluster- independent acoustic model via parallel decoding 608. In these instances, the final recognition result may be the one with a higher likelihood score under the maximal likelihood hypothesis 610.
- the recognition system may select a cluster that is similar to the extracted i-vector based on, for example, an Euclidean distance or a cosine measure, or based on another dissimilarity metric. Based on the cluster, the recognition system may identify the corresponding cluster- dependent acoustic model and recognize the unknown speech segment using the identified corresponding cluster-dependent acoustic model. In some embodiments, the recognition system may recognize the unknown speech segment using both the corresponding cluster-dependent acoustic model and the cluster-independent acoustic model.
- the parallel decoding 608 may be implemented by using multiple (e.g., partial or all) cluster-dependent acoustic models of the acoustic models 116 and by selecting the final recognition results with likelihood score(s) that exceed a certain threshold, or by selecting the final recognition results with the highest likelihood score(s). In some embodiments, the parallel decoding 608 may be implemented by using multiple (e.g., partial or all) cluster-dependent acoustic models of the acoustic models 116 as well as the cluster-independent acoustic model and selecting the final recognition result with the highest likelihood score(s) (or with scores that exceed a certain threshold).
- a GMM may be trained using a maximum likelihood (ML) approach to serve as a UBM, as shown in Equation (1).
- q s are mixture coefficients
- R 0 denotes the (D ⁇ K) x (D ⁇ K) block-diagonal matrix with R k as its fc -th block component.
- Equation (2) Given a speech segment Y £ , a (B ⁇ K) " -dimensional random supervector M(i) may be used to characterize its variability independent of linguistic content, which relates to M s as shown in Equation (2).
- T M 0 + T ( (2) wherein T is a fixed but unknown (D ⁇ K " ) x F rectangular matrix of low rank (i.e., F (D - )), and w( ) is an F-dimensional random vector having a prior distribution of standard normal distribution J ⁇ f(-; 0, 1). T may also be called the total variability matrix.
- the i-vector may be the solution of the following problem, as shown in Equations (3) and (4).
- M fc (i) is the k -th D-dimensional subvector of M(i).
- ⁇ (0 is a (D ⁇ K) x (D ⁇ K) block-diagonal matrix with Y k (i ' )l D xB as its fe -th block component
- r y (i) is a (D - f) - dimensional supervector with r yj3 ⁇ 4 .(0 as ' ts ⁇ _tn U-dimensional subvector.
- the "Baum -Welch" statistics -y k (i ' ⁇ and r y k ( i ) may be calculated, as shown in Equations (7) and (8).
- the set of hyperparameters i.e., total variability matrix
- T may be estimated by maximizing the following objective function, as shown in Equation (9).
- a variational Bayesian approach may be used to solve the above problem.
- the following approximation may be used to ease the problem:
- an EM-like algorithm may be used to solve the above simplified problem.
- the procedures for estimating T may include initialization, E-step, M-step, and repeat/stop.
- the corresponding "Baum-Welch" statistics are calculated as in Equations (7) and (8).
- the posterior expectation of w(.) may be calcuated using the sufficient statistics and the current estimation of T as shown below:
- T may be updated using Equation (10) below.
- E-step and M-step may be repeated for a fixed number of iterations or until the objective function in Equation (9) converges.
- a (Z> ⁇ K) -dimensional random supervector M(i) may be used to characterize its variability independent of linguistic content, which relates to M 8 according to the following full factor analysis model, as shown in Equation (11).
- fM(i) M o + TW(0 + e(0,
- a residual term ⁇ may be added to model the variabilities not captured by the total variability matrix T.
- Equation (12) Given ⁇ , and ⁇ , the i-vector is defined as the solution of the optimization problem, as shown in Equation (12).
- Equation (4) Equation (4)
- ⁇ ( ⁇ ) is a (D ⁇ K) x (D - K) block-diagonal matrix with Y k (i ' )l DxB as its fe -th block component
- F y (.) is a (D - if) ⁇ dimensional supervector with r yjic (i) as its k-t D-dimensional subvector.
- the "Baum -Welch" statistics y k (i) and T y> (i ) may be calculated as in Equations (7) and (8) respectively.
- the hyperparameters T and ⁇ may be estimated by maximizing the following objective function, as shown in Equation (16).
- a variational Bayesian approach may be used to solve the above problem.
- the following approximation may be used to ease the problem:
- an EM-like algorithm can be used to solve the above simplified problem.
- the procedure for estimating T and ⁇ may include initialization, E-step, M-step and repeat/stop.
- the initial value of each element in T may be set randomly from ⁇ , ⁇ / ⁇ ] and the initial value of each element in ⁇ randomly from [Th 3f Thi] + Th s , where Th ⁇ Th 2 , Th 3 ⁇ 0, Th 4 > 0, and Th 5 > 0 are five control parameters.
- the initial values may be set less than a predetermined value because too large initial values may lead to numerical problems in training T. For each training speech segment, calculate the corresponding "Baum-Welch" statistics as in Equations (7) and (8).
- the posterior expectation of the relevant terms may be calculated using the sufficient statistics and the current estimation of T and ⁇ as follows:
- ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ £[ ⁇ ( ⁇ ⁇ ] + Y ⁇ fl + -1 0Y -1 )
- Equation (17) Equation (17), which is shown below.
- Equation (18) Equation (18)
- T Equation (19)
- the E-step and M-step may repeat for a fixed number of iterations or until the objective function in Equation (16) converges.
- an i-vector can be extracted from each training speech segment.
- a hierarchical divisive clustering algorithm e.g, a Linde-Buzo-Gray (LBG) algorithm
- LBG Linde-Buzo-Gray
- a Euclidean distance may be used to measure the dissimilarity between two i-vectors, w(i) and w( ).
- a cosine measure may be used to measure the similarity between two i-vectors.
- each i- vector may be normalized to have a unit norm so that the following cosine similarity measure can be used, as shown in Equation (20).
- centroid, c'— of a cluster consisting of n unit-norm vectors, w(l),w(2 ⁇ , ,. «,w(ri) , can be calculated, as shown in Equation (21).
- E clusters of i-vectors with their centroids denoted as c ⁇ ⁇ c ⁇ ', ... , c . K i may be obtained respectively, wherein CQ ' ⁇ denotes the centroid of all the training i-vectors.
- each training speech segment may be classified into one of E clusters.
- a cluster-dependent acoustic model may be trained by using a cluster-independent acoustic model as a seed. Consequently, there will be E cluster-dependent acoustic models and one cluster-independent acoustic model.
- Such trained multiple acoustic models may be used in the recognition stage to improve recognition accuracy.
- an i- vector may be extracted first.
- the i-vector may be normalized to have a unit norm if cosine similarity measure is used.
- Equation (22) If an Euclidean distance is used as a dissimilarity measure, Y may be classified to a cluster, e, as shown in Equation (22).
- Y may be classified to a cluster, e, as shown in Equation (23).
- Y will be recognized by using both the selected cluster-dependent acoustic model and the cluster-independent acoustic model via parallel decoding.
- the final recognition result will be the one with a higher likelihood score.
- i-vector based cluster selection may be implemented by comparing w with E + 1 centroids, namely
- Y may be recognized by using the I selected (e.g., cluster-dependent and/or cluster- independent) acoustic models via the parallel decoding.
- the parallel decoding may be implemented by using E cluster-dependent acoustic models, and the final recognition result with the highest likelihood score may be selected.
- the parallel decoding may be implemented by using E cluster-dependent acoustic models and one cluster-independent acoustic model, and the final recognition result with the highest likelihood score may be selected.
- FIG. 7 shows an illustrative computing device 700 that may be used to implement the speech recognition system, as described herein.
- the various embodiments described above may be implemented in other computing devices, systems, and environments.
- the computing device 700 shown in FIG. 7 is only one example of a computing device and is not intended to suggest any limitation as to the scope of use or functionality of the computer and network architectures.
- the computing device 700 is not intended to be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the example computing device.
- the computing device 700 typically includes at least one processing unit 702 and system memory 704.
- the system memory 704 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two.
- the system memory 704 typically includes an operating system 706, one or more program modules 708, and may include program data 710.
- the program modules 708 may include the training data clustering module 104 and the recognition module, as discussed in the illustrative operation.
- the operating system 706 includes a component-based framework 712 that supports components (including properties and events), objects, inheritance, polymorphism, reflection, and the operating system 706 may provide an object-oriented component-based application programming interface (API).
- a terminal may have fewer components but will interact with a computing device that may have such a basic configuration.
- the computing device 700 may have additional features or functionality.
- the computing device 700 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape.
- additional storage is illustrated in FIG. 7 by removable storage 714 and non-removable storage 716.
- Computer-readable media may include, at least, two types of computer- readable media, namely computer storage media and communication media.
- Computer storage media may include volatile and non-volatile, removable, and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
- the system memory 704, the removable storage 714 and the non-removable storage 716 are all examples of computer storage media.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store the desired information and which can be accessed by the computing device 700. Any such computer storage media may be part of the computing device 700.
- the computer-readable media may include computer-executable instructions that, when executed by the processor(s) 702, perform various functions and/or operations described herein.
- communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism.
- a modulated data signal such as a carrier wave, or other transmission mechanism.
- computer storage media does not include communication media.
- the computing device 700 may also have input device(s) 718 such as keyboard, mouse, pen, voice input device, touch input device, etc.
- Output device(s) 720 such as a display, speakers, printer, etc. may also be included. These devices are well known in the art and are not discussed at length here.
- the computing device 700 may also contain communication connections 722 that allow the device to communicate with other computing devices 724, such as over a network. These networks may include wired networks as well as wireless networks.
- the communication connections 724 are one example of communication media.
- the illustrated computing device 700 is only one example of a suitable device and is not intended to suggest any limitation as to the scope of use or functionality of the various embodiments described.
- Other well-known computing devices, systems, environments and/or configurations that may be suitable for use with the embodiments include, but are not limited to personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-base systems, set top boxes, game consoles, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and/or the like.
- some or all of the components of the computing device 700 may be implemented in a cloud computing environment, such that resources and/or services are made available via a computer network for selective use by mobile devices.
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Description
l-VECTOR BASED CLUSTERING TRAINING DATA IN SPEECH RECOGNITION
BACKGROU N D
[0001] Automatic speech recognition (ASR) converts speech into text. Using clustered training data with training acoustic models improves recognition accuracy in ASR. Recently, the training of acoustic models has attracted much attention because of the large amount of training speech data being generated from a large population of speakers in diversified acoustic environments and transmission channels. For example, the training speech data may include utterances that are spoken by various speakers with different speaking styles under various acoustic environments, collected by various microphones, and transmitted via various channels. Although available to build ASR systems, the large amount of training speech data being generated presents problems (e.g., low efficiency and scalability) for training acoustic models using in conventional speech recognition technologies.
SU M MARY
[0002] Described herein are techniques for using clustering training data in speech recognition. An i-vector may be extracted from a training speech segment of a training data (e.g., a training corpus). The extracted i-vectors of the training data may then be clustered into multiple clusters to identify
multiple acoustic conditions. The multiple clusters may be used to train acoustic models associated with the multiple acoustic conditions. The trained acoustic models may be used in speech recognition.
[0003] In some aspects, a set of hyperparameters and a Gaussian mixture model (GMM) that are associated with the training data may be calculated to extract the i-vector. In some embodiments, an additional set of hyperparameters may be calculated using a residual term to model variabilities of the training data that are not captured by the set of hyperparameters.
[0004] In some aspects, an i-vector may be extracted from an unknown speech segment. One or more clusters may be selected based on similarities between the i-vector and the one or more clusters. One or more acoustic models corresponding to the one or more clusters may then be determined. The unknown speech segment may be recognized using the one or more determined acoustic models.
[0005] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of
the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same reference numbers in different figures indicate similar or identical items.
[0007] FIG. 1 is a schematic diagram of an illustrative architecture for clustering training data in speech recognition.
[0008] FIG. 2 is a flow diagram of an illustrative process for clustering training data in speech recognition.
[0009] FIG. 3 is a flow diagram of an illustrative process for extracting an i- vector from a speech segment.
[0010] FIG. 4 is a flow diagram of an illustrative process for calculating hyperparameters.
[0011] FIG. 5 is a flow diagram of an illustrative process for recognizing speech segments using trained acoustic models.
[0012] FIG. 6 is a schematic diagram of an illustrative scheme that implements speech recognition using one or more acoustic models.
[0013] FIG. 7 is a block diagram of an illustrative computing device that may be deployed in the architecture shown in FIG. 1.
DETAILED DESCRIPTION
Overview
[0014] This disclosure is directed, in part, to speech recognition using i- vector based training data clustering. Embodiments of the present disclosure extract i-vectors from a set of speech segments in order to represent acoustic information. The extracted i-vectors may then be clustered into multiple clusters that may be used to train multiple acoustic models for speech recognition.
[0015] During i-vector extraction, a simplified factor analysis model may be used without a residual term. In some embodiments, the i-vector extraction may be extended by using a full factor analysis model with a residual term. During the speech recognition stage, an i-vector may be extracted from an unknown speech segment. A cluster may be selected based on a similarity between the cluster and the extracted i-vector. The unknown speech segment may be recognized using an acoustic model trained by the selected cluster.
[0016] Conventional i-vector based speaker recognition uses Baum-Welch statistics. But using Baum-Welch statistics renders conventional solutions unsuitable to hyperparameter estimation, due to high complexity and computational resource requirements. But embodiments of the present disclosure use novel hyperparameter estimation procedures, which are less computationally complex than conventional approaches.
Illustrative architecture
[0017] FIG. 1 is a schematic diagram of an illustrative architecture 100 for clustering training data in speech recognition. The architecture 100 includes a speech segment 102 and a training data clustering module 104. The speech segment 102 may include one or more frames of speech or one or more utterances of speech data (e.g., a training corpus). The training data clustering module 104 may include an extractor 106, a clustering unit 108, and a trainer 110. The extractor 106 may extract a low-dimensional feature vector (e.g., an i-vector 112) from the speech segment 102. The extracted i-vector may represent acoustic information.
[0018] In some embodiments, i-vectors extracted from the training corpus may be clustered into clusters 114 by the clustering unit 108. The clusters 114 may include multiple clusters (e.g., cluster 1, cluster 2 ... cluster n). In some
embodiments, a hierarchical divisive clustering algorithm may be used to cluster the i-vectors into multiple clusters.
[0019] The clusters 114 may be used to train acoustic models 116 by the trainer 110. The acoustic models 116 may include multiple acoustic models (e.g., acoustic model 1, acoustic model 2 ... acoustic model n) to represent various acoustic conditions. In some embodiments, for each acoustic model may be trained using a cluster. After training, the acoustic models 116 may be used in speech recognition to improve recognition accuracy. The i-vector based training data clustering as described herein can efficiently handle a large training corpus using conventional computing platforms. In some embodiments, the i-vector based approach may be used for acoustic sniffing in irrelevant variability normalization (IVN) based acoustic model training for large vocabulary continuous speech recognition (LVCSR).
Illustrative Operation
[0020] FIG. 2 is a flow diagram of an illustrative process 200 for clustering training data in speech recognition. The process 200 is illustrated as a collection of blocks in a logical flow graph, which represent a sequence of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-
executable instructions that, when executed by one or more processors, cause the one or more processors to perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the process. Other processes described throughout this disclosure, including the processes 300, 400 and 500, in addition to process 200, shall be interpreted accordingly.
[0021] At 202, the extractor 106 may extract the i-vector 112 from the speech segment 102. The i-vector 112 includes a low-dimensional feature vector extracted from a speech segment used to represent certain information associated with speech data (e.g., the training corpus). For example, i-vectors may be extracted from the training corpus in order to represent speaker information, and the i-vector is used to identify and/or verify a speaker during speech recognition. In some embodiments, the i- vector 112 may be extracted based on a set of hyperparameters (a.k.a. a total variability matrix) estimation, which is discussed in a greater detail in FIG. 3.
[0022] At 204, the clustering unit 108 may aggregate the i-vectors extracted from the speech data and cluster the i-vectors into the clusters 114. In some embodiments, a hierarchical divisive clustering algorithm (e.g., a Linde-Buzo- Gray (LBG) algorithm) may be used to cluster the i-vectors into the clusters. 114. Various schemes to measure dissimilarity may be used to aid in the clustering. For example, a Euclidean distance may be used to measure a dissimilarity between two i-vectors of the clusters 114. In another example, a cosine measure may be used to measure a similarity between two i-vectors of the clusters 114. If the cosine measure is used, then the i-vectors of the extracted i-vectors may be normalized to have a unit norm, and a centroid for individual ones of the clusters 114 may be calculated. Centroids of the clusters 114 may be used to identify the clusters that are most similar to the individual i-vectors extracted from an unknown speech segment, which is discussed in a greater detail in FIG. 5. Accordingly, the training speech segments may be classified into one of the clusters 114.
[0023] At 206, the trainer 110 may train the acoustic models 116 using the clusters 114. The trained acoustic models may be used in speech recognition in order to improve recognition accuracy. In some embodiments, for individual ones of the clusters 114, a cluster-dependent acoustic model may
be trained by using a cluster-independent acoustic model as a seed. In these instances, the acoustic models 116 may include multiple cluster-dependent acoustic models and a cluster-independent acoustic model.
[0024] FIG. 3 is a flow diagram of an illustrative process 300 for extracting an i-vector from a speech segment. At 302, the extractor 106 may train a Gaussian mixture model (GMM) from a set of training data using a maximum likelihood approach to serve as a universal background model (UBM).
[0025] At 304, the extractor 106 may calculate a set of hyperparameters associated with the set of training data. The hyperparameter estimation procedures are discussed in a greater detail in FIG. 4.
[0026] At 306, the extractor 106 may extract the i-vector 112 from the speech segment 102 based on the trained GMM and calculated hyperparameters. In some embodiments, an additional set of hyperparameters may also be calculated using a residual term to model variabilities of the set of training data that are not captured by the set of hyperparameters. In these instances, the i-vector 112 may be extracted from the speech segment 102 based on the trained GMM, the set of hyperparameters, and the additional set of hyperparameters.
[0027] FIG. 4 is a flow diagram of an illustrative process 400 for calculating hyperparameters. In some embodiments, an expectation-maximization (EM) algorithm may be used to hyperparameter estimation. In these instances, initial values of the elements of the hyperparameters of the set of training data may be set at 402. For individual ones of the training segments of the training data, corresponding "Baum-Welch" statistics may be calculated. At 404, for individual ones of the training segments, a posterior expectation may be calculated using the sufficient statistics and a current hyperparameter. At 406, the hyperparameters may be updated based on the posterior expectation.
[0028] At 408, if an iteration number of the hyperparameter estimation is greater than a predetermined number or an objective function converges (i.e., branch of "Yes"), then the hyperparameters for i-vector extraction may be determined at 408. The objective function may be maximized during the hyperparameter estimation. If the iteration number is less than or equal to the predetermine number or the objective function has not converged (i.e., branch of "No"), the operations 404 to 408 may be performed by a loop process (see the dashed line from 408 that leads back to 404).
[0029] FIG. 5 is a flow diagram of an illustrative process 500 for recognizing speech segments using trained acoustic models. In addition to acoustic model training, i-vector based approaches may be applied to the speech recognition stage. At 502, a speech data may be received by a speech recognition system, which may include the training data clustering module 104 and a recognition module. At least a part of the speech recognition system may be implemented as a cloud-type application that queries, analyzes, and manipulates returned results from web services, and causes recognition results to be presented on a computing device. In some embodiments, at least a part of the speech recognition may be implemented by a web application that runs on a consumer device.
[0030] At 504, the recognition module may generate multiple speech segments based on the speech data. At 506, the recognition module may extract an i-vector from each speech segment of the multiple segments.
[0031] At 508, the recognition module may select one or more clusters based on the extracted i-vector. In some embodiments, the selection may be performed based on similarities between the clusters and the extracted i- vector. For example, the recognition module may classify each extracted i- vector to one or more clusters with the nearest centroids. Using the one or
more clusters, one or more acoustic conditions (e.g., acoustic models) may be determined. In some embodiments, the recognition module may select a pre- trained linear transform for feature transformation based on the acoustic condition classification result.
[0032] At 510, the recognition module may recognize the speech segment using the one or more determined acoustic models, which is discussed in a greater detail in FIG. 6.
Illustrative Speech Recognition
[0033] FIG. 6 is a schematic diagram of an illustrative scheme 600 that implements speech recognition using one or more acoustic models. The scheme 600 may include the acoustic models 116 and a testing segment 602. The acoustic models 116 may include multiple cluster-dependent acoustic models (e.g., CD AM 1, CD AM 2 ... CD AM N) and a cluster-independent acoustic model (e.g., CI AM). In some embodiments, the multiple cluster- dependent acoustic models may be trained using the cluster-independent acoustic model as a seed. In these instances, the cluster-independent acoustic model may be trained using all or a portion of training data that generates the cluster-dependent acoustic models.
[0034] If a cosine similarity measure is used to cluster the testing segment 602 or an unknown speech segment, then an i-vector may be extracted and normalized to have a unit norm. In some embodiments, a Euclidean distance is used as a dissimilarity measure. After extracting the i-vector, the recognition system may perform i-vector based AM selection 604 to identify AM 606. The AM 606 may represent one or more acoustic models that are trained by a predetermined number of clusters, and that may be used for speech recognition. The predetermined number of clusters may be more similar to the extracted i-vector than to the remaining clusters of the acoustic models 116. For example, the recognition system may compare the extracted i-vector with the centroids associated with the acoustic models 116 including both the cluster-dependent and the cluster-independent acoustic model. The unknown speech segment may be recognized by using the predetermined number of selected cluster-dependent acoustic models and/or cluster- independent acoustic model via parallel decoding 608. In these instances, the final recognition result may be the one with a higher likelihood score under the maximal likelihood hypothesis 610.
[0035] In some embodiments, the recognition system may select a cluster that is similar to the extracted i-vector based on, for example, an Euclidean
distance or a cosine measure, or based on another dissimilarity metric. Based on the cluster, the recognition system may identify the corresponding cluster- dependent acoustic model and recognize the unknown speech segment using the identified corresponding cluster-dependent acoustic model. In some embodiments, the recognition system may recognize the unknown speech segment using both the corresponding cluster-dependent acoustic model and the cluster-independent acoustic model.
[0036] In some embodiments, the parallel decoding 608 may be implemented by using multiple (e.g., partial or all) cluster-dependent acoustic models of the acoustic models 116 and by selecting the final recognition results with likelihood score(s) that exceed a certain threshold, or by selecting the final recognition results with the highest likelihood score(s). In some embodiments, the parallel decoding 608 may be implemented by using multiple (e.g., partial or all) cluster-dependent acoustic models of the acoustic models 116 as well as the cluster-independent acoustic model and selecting the final recognition result with the highest likelihood score(s) (or with scores that exceed a certain threshold).
Illustrative i-Vector Extraction I
[0037] "Baum -Welch" statistics are used in conventional i-vector based speaker recognition, but the theoretical justification and derivation provided for conventional technologies cannot be used to justify using hyperparameter estimation in speech recognition. The following describes hyperparameter estimation procedures that justify i-vector based approaches in training data clustering and speech recognition.
[0038] Suppose a set of training data that may be denoted as y = {Y.|i = h2, .,. , /}, wherein Yf = (y^yz y¾ ) is a sequence of D- dimensional feature vectors extracted from the ί-th training speech segment. From , a GMM may be trained using a maximum likelihood (ML) approach to serve as a UBM, as shown in Equation (1).
wherein q s are mixture coefficients, 3Ψ(· k, Rk) is a normal distribution with a D -dimensional mean vector mfc and a D X D diagonal covariance matrix ;. . M0 denotes the (D * K } -dimensional supervector by concatenating the mk fs, and R0 denotes the (D · K) x (D■ K) block-diagonal matrix with Rk as its fc -th block component. Ω = {¾, mk, Rk\k. = I,„,t K} may be used to denote the set of UBM-GMM parameters.
[0039] Given a speech segment Y£ , a (B■ K)" -dimensional random
supervector M(i) may be used to characterize its variability independent of linguistic content, which relates to Ms as shown in Equation (2).
M( = M0 + T ( (2) wherein T is a fixed but unknown (D · K") x F rectangular matrix of low rank (i.e., F (D - )), and w( ) is an F-dimensional random vector having a prior distribution of standard normal distribution J\f(-; 0, 1). T may also be called the total variability matrix.
[0040] Given Y{, Ω, and T, the i-vector may be the solution of the following problem, as shown in Equations (3) and (4).
w( = argmaxw l ULi (3)
Piklyf Kn) (4)
[0041] The closed-form solution of the above problem may give the i-vector extraction formula as shown in Equations (5) and (6).
[0042] In the above equations, Γ(0 is a (D · K) x (D ■ K) block-diagonal matrix with Yk(i')lD xB as its fe -th block component; ry(i) is a (D - f) - dimensional supervector with ryj¾.(0 as 'ts ^_tn U-dimensional subvector. The
"Baum -Welch" statistics -yk(i'} and ry k ( i ) may be calculated, as shown in Equations (7) and (8).
[0043] Given the training data y and the pre-trained UBM-GMM Ω, the set of hyperparameters (i.e., total variability matrix) T may be estimated by maximizing the following objective function, as shown in Equation (9).
?{ ) = ULi J p(¾M( M( 1iT}dM(f) (9)
[0044] In some embodiments, a variational Bayesian approach may be used to solve the above problem. In some embodiments, for simplicity, the following approximation may be used to ease the problem:
Tj K
p(Yi |M( ) - l l JT(y ; Μ¾(0, ¾)Ρί^° Ωί
[0045] In some embodiments, an EM-like algorithm may be used to solve the above simplified problem. The procedures for estimating T may include initialization, E-step, M-step, and repeat/stop.
[0046] In the initilization, the initial value of each element in T may be set randomly from
and 7h2 are two control parameters ( 'Π½ = Qr Th2 = 0.01 based on experiments). For each training speech
segment, the corresponding "Baum-Welch" statistics are calculated as in Equations (7) and (8).
[0047] In the E-step, for each training speech segment Υέ, the posterior expectation of w(.) may be calcuated using the sufficient statistics and the current estimation of T as shown below:
E[vr(i)wT (i)] = E[w(i)]E[wT i)} + Ι_1 (ϊ) where is defined in Equation (6).
[0048] In M-step, T may be updated using Equation (10) below.
[0049] In repeat/stop, E-step and M-step may be repeated for a fixed number of iterations or until the objective function in Equation (9) converges.
Illustrative i-Vector Extraction II
[0050] The data model is the same as described in illustrative i-Vector Extraction I, as discussed above.
[0051] Given a speech segment Yt , a (Z> · K) -dimensional random supervector M(i) may be used to characterize its variability independent of linguistic content, which relates to M8 according to the following full factor analysis model, as shown in Equation (11).
fM(i) = Mo + TW(0 + e(0,
{w(i)- (-f 0, 1), ε(ϊ)·^(·; 0, Ψ), [ ' wherein T is a fixed but unknown (D · if) X F rectangular matrix of low rank (i.e., F = (D · K)), w( ) is an F-dimensional random vector, ε(ί) is a (D■ AO- dimensional random vector, and Ψ =
'Ψοκ] 's a positive definite diagonal matrix. In some embodiments, a residual term ε may be added to model the variabilities not captured by the total variability matrix T.
[0052] Given Ω, and Ψ, the i-vector is defined as the solution of the optimization problem, as shown in Equation (12).
(i) = argmaxw& [g*
(12) wherein Mfc(i) is the Je-th -dimensional subvector of M(Y), and F(fcfy^, Ω) is calculated using Equation (4). The closed-form solution of the above problem may give the i-vector extraction formula, as shown in Equations (13), (14) and (15).
[0053] In the above equations, Γ(ϊ) is a (D · K) x (D - K) block-diagonal matrix with Yk(i')lDxB as its fe -th block component; Fy(.) is a (D - if) ~ dimensional supervector with ryjic(i) as its k-t D-dimensional subvector. The
"Baum -Welch" statistics yk(i) and Ty> (i ) may be calculated as in Equations (7) and (8) respectively.
[0054] Given the training data y and the pre-trained UBM-GMM Ω, the hyperparameters T and Ψ may be estimated by maximizing the following objective function, as shown in Equation (16).
:F(X ¥) = nil J ρ(Υ(|Μ(ϊ))ρ(Μ(0|Τ,Ψ)άΜ( (16)
[0055] In some embodiments, a variational Bayesian approach may be used to solve the above problem. In some embodiments, the following approximation may be used to ease the problem:
P(¾ | (Q) M*( . R*3PC ly?}'Q5
[0056] In some embodiments, an EM-like algorithm can be used to solve the above simplified problem. The procedure for estimating T and Ψ may include initialization, E-step, M-step and repeat/stop.
[0057] In initializaiton, the initial value of each element in T may be set randomly from Π^,Γ/ι^] and the initial value of each element in ψ randomly from [Th3f Thi] + Ths, where Th^ Th2, Th3≥ 0, Th4 > 0, and Th5 > 0 are five control parameters. In some embodiments, these thresholds are set as r/ix = Th3 = 0, Th2 = Th4 = QM.Ths = 0,001 under the guidance of the dynamic range of the variance values in UBM-GMM. In some embodiments,
the initial values may be set less than a predetermined value because too large initial values may lead to numerical problems in training T. For each training speech segment, calculate the corresponding "Baum-Welch" statistics as in Equations (7) and (8).
[0058] In E-step, for each training speech segment Yt, the posterior expectation of the relevant terms may be calculated using the sufficient statistics and the current estimation of T and Ψ as follows:
F[w(Qw(i)r] = £[w(i) w( T] + ζ"1
Ε{ε(ΐ)ε(ι)Ί = £[ε( Μ Τ] + Y^fl + -10Y-1)
E[e(i) ( T] = E[z(i)]E[w(i)T] - γ-1βτζ-±
where ξ and y are defined in Equations (14) and (15), and p is defined in Equation (17), which is shown below.
(17)
[0059] In M-step, Ψ may be updated directly using Equation (18) and T may be updated by solving the Equation (19).
[0060] In repeat/stop, the E-step and M-step may repeat for a fixed number of iterations or until the objective function in Equation (16) converges.
Illustrative i-Vector Based Data Clustering
[0061] For a training corpus, an i-vector can be extracted from each training speech segment. Given the set of training i-vectors, a hierarchical divisive clustering algorithm (e.g, a Linde-Buzo-Gray (LBG) algorithm) may be to cluster them into multiple clusters. In some embodiments, a Euclidean distance may be used to measure the dissimilarity between two i-vectors, w(i) and w( ). In some embodiments, a cosine measure may be used to measure the similarity between two i-vectors. In these instances, each i- vector may be normalized to have a unit norm so that the following cosine similarity measure can be used, as shown in Equation (20). sim (i), w( )) = w(i)rw( ) (20)
[0062] Given the above cosine similarity measure, the centroid, c'—, of a cluster consisting of n unit-norm vectors, w(l),w(2}, ,.«,w(ri) , can be calculated, as shown in Equation (21).
otherwise
[0063] After the convergence of the LBG clustering algorithm, E clusters of i-vectors with their centroids denoted as c^ ^ c^ ', ... , c .K imay be obtained respectively, wherein CQ '} denotes the centroid of all the training i-vectors.
Illustrative Recognition Using Multiple Acoustic Models
[0064] After clustering, each training speech segment may be classified into one of E clusters. For each cluster, a cluster-dependent acoustic model may be trained by using a cluster-independent acoustic model as a seed. Consequently, there will be E cluster-dependent acoustic models and one cluster-independent acoustic model. Such trained multiple acoustic models may be used in the recognition stage to improve recognition accuracy.
[0065] In some embodimetns, for an unknown speech segment Y, an i- vector may be extracted first. The i-vector may be normalized to have a unit norm if cosine similarity measure is used.
[0066] If an Euclidean distance is used as a dissimilarity measure, Y may be classified to a cluster, e, as shown in Equation (22).
e = or5TOini=i>2>i.^i¾ciideo? istonce(w,Cf "5) (22)
[0067] If a cosine similarity measure is used, Y may be classified to a cluster, e, as shown in Equation (23).
e =
(23)
[0068] The cluster-dependent acoustic model of the e-th cluster will be used to recognize Y. This is a more efficient way to use multiple cluster- dependent acoustic models.
[0069] In some embodiments, Y will be recognized by using both the selected cluster-dependent acoustic model and the cluster-independent acoustic model via parallel decoding. The final recognition result will be the one with a higher likelihood score.
[0070] In some embodiments, i-vector based cluster selection may be implemented by comparing w with E + 1 centroids, namely
C } ' C "! > c2 "! > ■"■* εδ,Λ "'/ to identify top L most similar clusters. Y may be recognized by using the I selected (e.g., cluster-dependent and/or cluster- independent) acoustic models via the parallel decoding.
[0071] In some embodiments, the parallel decoding may be implemented by using E cluster-dependent acoustic models, and the final recognition result with the highest likelihood score may be selected.
[0072] In some embodimetns, the parallel decoding may be implemented by using E cluster-dependent acoustic models and one cluster-independent acoustic model, and the final recognition result with the highest likelihood score may be selected.
Illustrative Computing Device
[0073] FIG. 7 shows an illustrative computing device 700 that may be used to implement the speech recognition system, as described herein. The various embodiments described above may be implemented in other computing devices, systems, and environments. The computing device 700 shown in FIG. 7 is only one example of a computing device and is not intended to suggest any limitation as to the scope of use or functionality of the computer and network architectures. The computing device 700 is not intended to be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the example computing device.
[0074] In a very basic configuration, the computing device 700 typically includes at least one processing unit 702 and system memory 704. Depending on the exact configuration and type of computing device, the system memory 704 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. The system memory 704 typically includes an operating system 706, one or more program modules 708, and may include program data 710. For example, the program modules 708 may include the training data clustering module 104 and the recognition module, as discussed in the illustrative operation.
[0075] The operating system 706 includes a component-based framework 712 that supports components (including properties and events), objects, inheritance, polymorphism, reflection, and the operating system 706 may provide an object-oriented component-based application programming interface (API). Again, a terminal may have fewer components but will interact with a computing device that may have such a basic configuration.
[0076] The computing device 700 may have additional features or functionality. For example, the computing device 700 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 7 by removable storage 714 and non-removable storage 716. Computer-readable media may include, at least, two types of computer- readable media, namely computer storage media and communication media. Computer storage media may include volatile and non-volatile, removable, and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. The system memory 704, the removable storage 714 and the non-removable storage 716 are all examples of computer storage media. Computer storage media includes, but is not
limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store the desired information and which can be accessed by the computing device 700. Any such computer storage media may be part of the computing device 700. Moreover, the computer-readable media may include computer-executable instructions that, when executed by the processor(s) 702, perform various functions and/or operations described herein.
[0077] In contrast, communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include communication media.
[0078] The computing device 700 may also have input device(s) 718 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 720 such as a display, speakers, printer, etc. may also be included. These devices are well known in the art and are not discussed at length here.
[0079] The computing device 700 may also contain communication connections 722 that allow the device to communicate with other computing devices 724, such as over a network. These networks may include wired networks as well as wireless networks. The communication connections 724 are one example of communication media.
[0080] It is appreciated that the illustrated computing device 700 is only one example of a suitable device and is not intended to suggest any limitation as to the scope of use or functionality of the various embodiments described. Other well-known computing devices, systems, environments and/or configurations that may be suitable for use with the embodiments include, but are not limited to personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-base systems, set top boxes, game consoles, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and/or the like. For example, some or all of the components of the computing device 700 may be implemented in a cloud computing environment, such that resources and/or services are made available via a computer network for selective use by mobile devices.
Conclusion
[0081] Although the techniques have been described in language specific to structural features and/or methodological acts, it is to be understood that the appended claims are not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing such techniques.
Claims
1. A computer-implemented method for clustering training data in speech recognition, the method comprising:
extracting a plurality of i-vectors from speech data including a plurality of speech segments;
clustering the plurality of i-vectors into a plurality of clusters;
training an acoustic model using one of the plurality of clusters; and recognizing one or more other speech segments using the trained acoustic model.
2. The computer-implemented method as recited in claim 1, wherein the extracting the plurality of i-vectors from the speech data comprises:
training a Gaussian mixture model (GMM) to represent the speech data;
calculating a set of hyperparameters based on the speech data; and extracting the plurality of i-vectors based on the GMM and the set of hyperparameters.
3. The computer-implemented method as recited in claim 2, wherein the calculating the set of hyperparameters comprises:
initializing the set of hyperparameters;
calculating statistics corresponding to the plurality of speech segments; calculating a posterior expectation associated with the speech data using:
the one or more corresponding statistics, and
the set of hyperparameters; and
updating the set of hyperparameters based on the posterior expectation to generate an updated set of hyperparameters, wherein the extracting the i-vector is further based on the updated set of hyperparameters.
4. The computer-implemented method as recited in claim 2, further comprising:
calculating an additional set of hyperparameters using a residual term to model variabilities associated with the speech data that are not captured by the set of hyperparameters, and wherein the extracting the i-vector is further based on the additional set of hyperparameters.
5. The computer-implemented method as recited in claim 1, wherein a similarity between two i-vectors of the plurality of i-vectors is measured using one of a Euclidean distance or a cosine measure.
6. The computer-implemented method as recited in claim 1, wherein the acoustic model is cluster-dependent and trained based on a cluster- independent acoustic model that is trained using speech data.
7. The computer-implemented method as recited in claim 6, wherein the recognizing the one or more speech segments using the trained acoustic model comprises recognizing the one or more speech segments using the cluster-dependent acoustic model and the cluster-independent acoustic model.
8. The computer-implemented method as recited in claim 1, further comprising:
receiving other speech data;
generating the one or more other speech segments based on the other speech data;
extracting an i-vector from one segment of the one or more other speech segments;
selecting a cluster corresponding to the i-vector; and
determining an acoustic model that is trained by the cluster, and wherein the recognizing the one or more other speech segments using the trained acoustic model comprises recognizing the one segment using the acoustic model.
9. A method comprising:
under control of one or more computing systems comprising one or processors,
receiving speech data including a plurality of speech segments; extracting an i-vector from a speech segment of the plurality of speech segments;
selecting a cluster corresponding to the i-vector; and determining an acoustic model corresponding to the cluster; and recognizing the speech segment using the acoustic model.
10. The method as recited in claim 9, further comprising: extracting a plurality of i-vectors from a plurality of training speech segments;
clustering the plurality of i-vectors into multiple clusters that includes the cluster; and
training acoustic models using the multiple clusters, the acoustic models including the acoustic model.
11. The method as recited in claim 10, wherein the extracting the plurality of i-vectors from the plurality of training speech segments comprises: training a GMM based on the plurality of training speech segments; calculating hyperparameters of the plurality of training speech segments;
calculating additional hyperparameters to model variabilities of the plurality of training speech segments not captured by the hyperparameters; and
extracting the plurality of i-vectors based on the GMM, the hyperparameters and the additional hyperparameters.
12. The method as recited in claim 9, wherein the selecting the cluster corresponding to the i-vector comprises:
normalizing the i-vector using a cosine similarity measure; and selecting the cluster based on a similarity between the i-vector and a centroid of the cluster.
13. The method as recited in claim 12, wherein the selecting the cluster comprises selecting multiple clusters based on similarities between the i- vector and centroids of the multiple clusters, and wherein the determining the acoustic model corresponding to the cluster comprises determining multiple acoustic models corresponding to the multiple clusters.
14. The method as recited in claim 9, wherein the determining the acoustic model comprises determining a cluster-dependent acoustic model and a cluster-independent acoustic model, and wherein the cluster- dependent acoustic model is trained based on the cluster-independent acoustic model.
15. One or more computer-readable media storing instructions that are executable by one or more processors to perform acts comprising:
receiving a plurality of training speech segments;
extracting multiple i-vectors from the plurality of training speech segments based on a set of hyperparameters of the plurality of training speech segments, individual ones of the i-vectors of the multiple i-vectors corresponding to a training speech segment of the plurality of training speech segments;
clustering the i-vectors into multiple clusters;
training a cluster-dependent acoustic model using a cluster of the multiple clusters; and
recognizing an unknown speech segment using the cluster-dependent acoustic model.
16. The one or more computer-readable media as recited in claim 15, wherein an i-vector extracted from the unknown speech segment is associated with a cluster corresponding to the cluster-dependent acoustic model.
17. The one or more computer-readable media as recited in claim 15, wherein the extracting multiple i-vectors comprises extracting multiple i- vectors further based on an additional set of hyperparameters that model variabilities of the plurality of training speech segments not captured by the set of hyperparameters.
18. The one or more computer-readable media as recited in claim 15, wherein the set of hyperparameters are determined based on Baum-Welch statistics that correspond to the plurality of training speech segments and a GMM that is trained to represent the plurality of training speech segments.
19. The one or more computer-readable media as recited in claim 15, wherein the clustering the i-vectors into multiple clusters comprises clustering the i-vectors into multiple clusters using a Linde-Buzo-Gray (LBG) algorithm.
20. The one or more computer-readable media as recited in claim 15, wherein a similarity between two i-vectors of the multiple i-vectors is measured using one of a Euclidean distance or a cosine measure.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/640,804 US20150199960A1 (en) | 2012-08-24 | 2012-08-24 | I-Vector Based Clustering Training Data in Speech Recognition |
| PCT/CN2012/080527 WO2014029099A1 (en) | 2012-08-24 | 2012-08-24 | I-vector based clustering training data in speech recognition |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2012/080527 WO2014029099A1 (en) | 2012-08-24 | 2012-08-24 | I-vector based clustering training data in speech recognition |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014029099A1 true WO2014029099A1 (en) | 2014-02-27 |
Family
ID=50149360
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2012/080527 Ceased WO2014029099A1 (en) | 2012-08-24 | 2012-08-24 | I-vector based clustering training data in speech recognition |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20150199960A1 (en) |
| WO (1) | WO2014029099A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150039301A1 (en) * | 2013-07-31 | 2015-02-05 | Google Inc. | Speech recognition using neural networks |
| CN108922544A (en) * | 2018-06-11 | 2018-11-30 | 平安科技(深圳)有限公司 | General vector training method, voice clustering method, device, equipment and medium |
| CN111724766A (en) * | 2020-06-29 | 2020-09-29 | 合肥讯飞数码科技有限公司 | Language identification method, related equipment and readable storage medium |
Families Citing this family (163)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
| US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
| US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
| US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
| US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
| US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
| US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
| US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
| US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
| US10255566B2 (en) | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
| US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
| US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
| US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
| US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
| US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
| US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
| US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
| US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
| US9720998B2 (en) * | 2012-11-19 | 2017-08-01 | The Penn State Research Foundation | Massive clustering of discrete distributions |
| US10013477B2 (en) | 2012-11-19 | 2018-07-03 | The Penn State Research Foundation | Accelerated discrete distribution clustering under wasserstein distance |
| US9190057B2 (en) * | 2012-12-12 | 2015-11-17 | Amazon Technologies, Inc. | Speech model retrieval in distributed speech recognition systems |
| DE112014000709B4 (en) | 2013-02-07 | 2021-12-30 | Apple Inc. | METHOD AND DEVICE FOR OPERATING A VOICE TRIGGER FOR A DIGITAL ASSISTANT |
| US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
| US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
| WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
| WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
| US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
| KR101959188B1 (en) | 2013-06-09 | 2019-07-02 | 애플 인크. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
| KR101749009B1 (en) | 2013-08-06 | 2017-06-19 | 애플 인크. | Auto-activating smart responses based on activities from remote devices |
| US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
| JP6596924B2 (en) * | 2014-05-29 | 2019-10-30 | 日本電気株式会社 | Audio data processing apparatus, audio data processing method, and audio data processing program |
| US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
| US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
| US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
| WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
| US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US9257120B1 (en) * | 2014-07-18 | 2016-02-09 | Google Inc. | Speaker verification using co-location information |
| US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
| US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
| US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
| US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
| US11823658B2 (en) * | 2015-02-20 | 2023-11-21 | Sri International | Trial-based calibration for audio-based identification, recognition, and detection system |
| US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
| US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
| US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
| US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
| US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
| US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
| US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
| US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
| US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
| US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
| US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
| US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
| US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
| US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
| US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
| US20170092278A1 (en) * | 2015-09-30 | 2017-03-30 | Apple Inc. | Speaker recognition |
| US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
| US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
| US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
| US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
| US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
| US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
| US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
| US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
| US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
| US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
| US12223282B2 (en) | 2016-06-09 | 2025-02-11 | Apple Inc. | Intelligent automated assistant in a home environment |
| DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | Intelligent automated assistant in a home environment |
| US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
| US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
| US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
| US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
| US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US12197817B2 (en) | 2016-06-11 | 2025-01-14 | Apple Inc. | Intelligent device arbitration and control |
| DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
| DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
| DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
| DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
| US10141009B2 (en) | 2016-06-28 | 2018-11-27 | Pindrop Security, Inc. | System and method for cluster-based audio event detection |
| CN107564513B (en) * | 2016-06-30 | 2020-09-08 | 阿里巴巴集团控股有限公司 | Speech recognition method and device |
| US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
| US9824692B1 (en) | 2016-09-12 | 2017-11-21 | Pindrop Security, Inc. | End-to-end speaker recognition using deep neural network |
| AU2017327003B2 (en) | 2016-09-19 | 2019-05-23 | Pindrop Security, Inc. | Channel-compensated low-level features for speaker recognition |
| US10325601B2 (en) | 2016-09-19 | 2019-06-18 | Pindrop Security, Inc. | Speaker recognition in the call center |
| US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
| US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
| US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
| US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
| US10397398B2 (en) | 2017-01-17 | 2019-08-27 | Pindrop Security, Inc. | Authentication using DTMF tones |
| US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
| DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | User interface for correcting recognition errors |
| US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
| US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
| DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
| DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
| US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
| DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
| DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
| DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | Low-latency intelligent automated assistant |
| DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
| DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
| DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
| US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
| US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
| US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
| US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
| DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
| US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
| EP3451330A1 (en) | 2017-08-31 | 2019-03-06 | Thomson Licensing | Apparatus and method for residential speaker recognition |
| US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
| US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
| US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
| US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
| US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
| US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
| US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
| US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
| US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
| US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
| US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
| DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | Virtual assistant operation in multi-device environments |
| US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
| DK179822B1 (en) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
| US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
| US10504518B1 (en) | 2018-06-03 | 2019-12-10 | Apple Inc. | Accelerated task performance |
| US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
| US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
| US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
| US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
| US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
| US11024291B2 (en) * | 2018-11-21 | 2021-06-01 | Sri International | Real-time class recognition for an audio stream |
| US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
| WO2020159917A1 (en) | 2019-01-28 | 2020-08-06 | Pindrop Security, Inc. | Unsupervised keyword spotting and word discovery for fraud analytics |
| US11019201B2 (en) | 2019-02-06 | 2021-05-25 | Pindrop Security, Inc. | Systems and methods of gateway detection in a telephone network |
| US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
| WO2020198354A1 (en) | 2019-03-25 | 2020-10-01 | Pindrop Security, Inc. | Detection of calls from voice assistants |
| US12015637B2 (en) | 2019-04-08 | 2024-06-18 | Pindrop Security, Inc. | Systems and methods for end-to-end architectures for voice spoofing detection |
| US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
| DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
| US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
| US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
| US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
| US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
| US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
| DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
| DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
| US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
| US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
| CN110246486B (en) * | 2019-06-03 | 2021-07-13 | 北京百度网讯科技有限公司 | Training method, device and equipment for speech recognition model |
| US11257493B2 (en) | 2019-07-11 | 2022-02-22 | Soundhound, Inc. | Vision-assisted speech processing |
| US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
| US12301635B2 (en) | 2020-05-11 | 2025-05-13 | Apple Inc. | Digital assistant hardware abstraction |
| US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
| US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
| US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
| US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
| US12562151B1 (en) * | 2023-03-28 | 2026-02-24 | Amazon Technologies, Inc. | Augmenting automated speech recognition neural networks with scalable vocabularies |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7590537B2 (en) * | 2004-02-18 | 2009-09-15 | Samsung Electronics Co., Ltd. | Speaker clustering and adaptation method based on the HMM model variation information and its apparatus for speech recognition |
| CN101770774A (en) * | 2009-12-31 | 2010-07-07 | 吉林大学 | Embedded-based open set speaker recognition method and system thereof |
| US7788096B2 (en) * | 2002-09-03 | 2010-08-31 | Microsoft Corporation | Method and apparatus for generating decision tree questions for speech processing |
| EP2309487A1 (en) * | 2009-09-11 | 2011-04-13 | Honda Research Institute Europe GmbH | Automatic speech recognition system integrating multiple sequence alignment for model bootstrapping |
| US20120065961A1 (en) * | 2009-03-30 | 2012-03-15 | Kabushiki Kaisha Toshiba | Speech model generating apparatus, speech synthesis apparatus, speech model generating program product, speech synthesis program product, speech model generating method, and speech synthesis method |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5719921A (en) * | 1996-02-29 | 1998-02-17 | Nynex Science & Technology | Methods and apparatus for activating telephone services in response to speech |
| US5842165A (en) * | 1996-02-29 | 1998-11-24 | Nynex Science & Technology, Inc. | Methods and apparatus for generating and using garbage models for speaker dependent speech recognition purposes |
| US6073096A (en) * | 1998-02-04 | 2000-06-06 | International Business Machines Corporation | Speaker adaptation system and method based on class-specific pre-clustering training speakers |
| TW440810B (en) * | 1999-08-11 | 2001-06-16 | Ind Tech Res Inst | Method of speech recognition |
| US6901362B1 (en) * | 2000-04-19 | 2005-05-31 | Microsoft Corporation | Audio segmentation and classification |
| US6996526B2 (en) * | 2002-01-02 | 2006-02-07 | International Business Machines Corporation | Method and apparatus for transcribing speech when a plurality of speakers are participating |
| GB2478314B (en) * | 2010-03-02 | 2012-09-12 | Toshiba Res Europ Ltd | A speech processor, a speech processing method and a method of training a speech processor |
-
2012
- 2012-08-24 US US13/640,804 patent/US20150199960A1/en not_active Abandoned
- 2012-08-24 WO PCT/CN2012/080527 patent/WO2014029099A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7788096B2 (en) * | 2002-09-03 | 2010-08-31 | Microsoft Corporation | Method and apparatus for generating decision tree questions for speech processing |
| US7590537B2 (en) * | 2004-02-18 | 2009-09-15 | Samsung Electronics Co., Ltd. | Speaker clustering and adaptation method based on the HMM model variation information and its apparatus for speech recognition |
| US20120065961A1 (en) * | 2009-03-30 | 2012-03-15 | Kabushiki Kaisha Toshiba | Speech model generating apparatus, speech synthesis apparatus, speech model generating program product, speech synthesis program product, speech model generating method, and speech synthesis method |
| EP2309487A1 (en) * | 2009-09-11 | 2011-04-13 | Honda Research Institute Europe GmbH | Automatic speech recognition system integrating multiple sequence alignment for model bootstrapping |
| CN101770774A (en) * | 2009-12-31 | 2010-07-07 | 吉林大学 | Embedded-based open set speaker recognition method and system thereof |
Non-Patent Citations (2)
| Title |
|---|
| YU ZHANG ET AL.: "A NEW I-VECTOR APPROACH AND ITS APPLICATION TO IRRELEVANT VARIABILITY NORMALIZATION BASED ACOUSTIC MODEL TRAINING 2011 IEEE", INTERNATIONAL WORKSHOP ON MACHINE LEARNING FOR SIGNAL PROCESSING, 18 September 2011 (2011-09-18), pages 1 - 6, XP032067839, DOI: doi:10.1109/MLSP.2011.6064637 * |
| YU ZHANG ET AL.: "AN I-VECTOR BASED APPROACH TO TRAINING DATA CLUSTERING FOR IMPROVED SPEECH RECOGNITION", 12TH ANNUAL CONFERENCE OF THE INTERNATIONAL SPEECH COMMUNICATION ASSOCIATION, INTERSPEECH, 2011 * |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150039301A1 (en) * | 2013-07-31 | 2015-02-05 | Google Inc. | Speech recognition using neural networks |
| US10438581B2 (en) * | 2013-07-31 | 2019-10-08 | Google Llc | Speech recognition using neural networks |
| US10930271B2 (en) | 2013-07-31 | 2021-02-23 | Google Llc | Speech recognition using neural networks |
| US11620991B2 (en) | 2013-07-31 | 2023-04-04 | Google Llc | Speech recognition using neural networks |
| US12243515B2 (en) | 2013-07-31 | 2025-03-04 | Google Llc | Speech recognition using neural networks |
| CN108922544A (en) * | 2018-06-11 | 2018-11-30 | 平安科技(深圳)有限公司 | General vector training method, voice clustering method, device, equipment and medium |
| CN111724766A (en) * | 2020-06-29 | 2020-09-29 | 合肥讯飞数码科技有限公司 | Language identification method, related equipment and readable storage medium |
| CN111724766B (en) * | 2020-06-29 | 2024-01-05 | 合肥讯飞数码科技有限公司 | Language identification method, related equipment and readable storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150199960A1 (en) | 2015-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2014029099A1 (en) | I-vector based clustering training data in speech recognition | |
| US10109280B2 (en) | Blind diarization of recorded calls with arbitrary number of speakers | |
| Poddar et al. | Speaker verification with short utterances: a review of challenges, trends and opportunities | |
| US20210050020A1 (en) | Voiceprint recognition method, model training method, and server | |
| Ganapathiraju et al. | Applications of support vector machines to speech recognition | |
| CN109360572B (en) | Call separation method and device, computer equipment and storage medium | |
| US10008209B1 (en) | Computer-implemented systems and methods for speaker recognition using a neural network | |
| US11837236B2 (en) | Speaker recognition based on signal segments weighted by quality | |
| US20160217792A1 (en) | Word-level blind diarization of recorded calls with arbitrary number of speakers | |
| US20170256254A1 (en) | Modular deep learning model | |
| JP2014502375A (en) | Passphrase modeling device and method for speaker verification, and speaker verification system | |
| CN105261367B (en) | A method of speaker recognition | |
| Shum et al. | On the use of spectral and iterative methods for speaker diarization | |
| Mao et al. | Automatic training set segmentation for multi-pass speech recognition | |
| WO2012075640A1 (en) | Modeling device and method for speaker recognition, and speaker recognition system | |
| CN111091809A (en) | Regional accent recognition method and device based on depth feature fusion | |
| CN114023336A (en) | Model training method, device, equipment and storage medium | |
| KR20200114705A (en) | User adaptive stress state classification Method using speech signal | |
| US9892726B1 (en) | Class-based discriminative training of speech models | |
| Chandrakala et al. | Combination of generative models and SVM based classifier for speech emotion recognition | |
| Lee et al. | Using discrete probabilities with Bhattacharyya measure for SVM-based speaker verification | |
| CN120071905A (en) | Voice recognition and analysis method based on MFCC algorithm and VQ-HMM algorithm | |
| Shen et al. | A speaker recognition algorithm based on factor analysis | |
| Viszlay et al. | Alternative phonetic class definition in linear discriminant analysis of speech | |
| Singh | Bayesian distance metric learning and its application in automatic speaker recognition systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 13640804 Country of ref document: US |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12883100 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 12883100 Country of ref document: EP Kind code of ref document: A1 |




