WO2021123462A1 - Método y sistema para estimar características de hablante sobre la marcha para hablante desconocido con alta precisión y baja latencia - Google Patents

Método y sistema para estimar características de hablante sobre la marcha para hablante desconocido con alta precisión y baja latencia Download PDF

Info

Publication number
WO2021123462A1
WO2021123462A1 PCT/ES2019/070849 ES2019070849W WO2021123462A1 WO 2021123462 A1 WO2021123462 A1 WO 2021123462A1 ES 2019070849 W ES2019070849 W ES 2019070849W WO 2021123462 A1 WO2021123462 A1 WO 2021123462A1
Authority
WO
WIPO (PCT)
Prior art keywords
speaker
characteristic
predicted value
given
speaker characteristic
Prior art date
Application number
PCT/ES2019/070849
Other languages
English (en)
French (fr)
Inventor
Juan Manuel PERERO CODOSERO
Fernando ESPINOZA CUADROS
Original Assignee
Sigma Technologies, S.L.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sigma Technologies, S.L. filed Critical Sigma Technologies, S.L.
Priority to EP19870072.6A priority Critical patent/EP4080501A1/en
Priority to US16/632,744 priority patent/US11488608B2/en
Priority to PCT/ES2019/070849 priority patent/WO2021123462A1/es
Publication of WO2021123462A1 publication Critical patent/WO2021123462A1/es

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/26Recognition of special voice characteristics, e.g. for use in lie detectors; Recognition of animal voices
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Definitions

  • the present disclosure relates to speaker profiling by estimating speaker characteristics from the speech signal.
  • the speech signal contains specific characteristic information relating to physical (for example, gender, age, height, weight, BMI), geographic (for example, language, accent), sociollectic (for example, dialect) and / or ethnic (for example, example, race) of the speaker.
  • Speech analytics technologies have been applied to various areas such as communication, marketing, and security. Speech analytics adds value to these areas in different ways by providing specific information about the speakers. This information can be obtained from the speech signal.
  • the speech signal contains characteristics of the speaker that can be automatically extracted to know specific aspects of a person.
  • speaker identification / recognition applications have been used to detect who is speaking throughout the conversation, also called speaker diarization, or to generate a profile (for example, age, gender, job occupation) about who you are speaking with the goal of reinforcing the speaker identification task with additional speaker characteristics to overcome the lack of context information, or associating additional speaker data with a speaker that was previously registered.
  • the system proposed in this disclosure performs speech analytics for unknown speakers (ie, speakers not registered in the system).
  • the proposed system provides "on the fly" characteristics for an unknown speaker such as gender, age, height, body mass index (BMI), or language from the speaking cue.
  • BMI body mass index
  • Speaker recognition systems have been used to train hierarchical groups of speakers.
  • the voice data from known speakers and the associated label are used in the group training process.
  • the tags contain information about gender, age, and native language.
  • the groups are based on Gaussian Mixture Models (GMMs) and Mel-Frequency Cepstral Coefficients (MFCCs) were used in the training process.
  • GMMs Gaussian Mixture Models
  • MFCCs Mel-Frequency Cepstral Coefficients
  • a test speaker is associated with a speaker identity and at the same time is assigned to a group of speakers.
  • the proposed system is based on models of deep neural networks (DNNs), one model for each characteristic. These models are trained using speech from speakers that are different from the test (unknown speakers).
  • DNNs deep neural networks
  • VAD Voice Activity Detection
  • Other known techniques use physical characteristics to improve the accuracy of speaker identification. It consists of the extraction and analysis of vocal characteristics and words frequently used in the voice segment. The information extracted helps to fill in a database linking age, gender, even ethnic group with the identity of the speaker.
  • Low latency is one of the main points of this disclosure. Achieving the extraction of characteristics of the speaker in the shortest time interval allows to provide better services by improving the user experience. Such systems are able to help sales agents working in call centers or intelligent agents (or robots) by making recommendations to offer a personalized product or specific services according to the characteristics of the client. Using “on-the-fly” extraction of specific features enables systems to deliver specific new products, services or content to customers in near real time. Just a few seconds can make the difference between high-quality service and poor service. Another important point to keep in mind is precision. The higher the precision, the better the services.
  • a computer-implemented method for profiling an unknown speaker, such that a profile for a speaker includes a set of characteristics of the speaker.
  • the method includes: receiving a speech signal from an unknown speaker, where the speech signal is made up of a plurality of data frames; for each speaker characteristic in the speaker characteristic set, selecting a subset of data frames from a corresponding speech signal in the plurality of speech signals and thus excluding other data frames in the corresponding speech signal from of the data frame subset, where the data frames in the data frame subset contain information about the characteristics of interest of the speaker; and for a given speaker characteristic, generating a feature vector from the selected subset of data frames corresponding to the given speaker characteristic and predicting a value for the given speaker characteristic from the feature vector using machine learning (machine iearning).
  • the characteristics of the speaker may include, but are not limited to, age, height, body mass index, gender, accent, dialect, and race.
  • the speech signal can be captured from the unknown speaker using a microphone.
  • selecting a subset of data frames from a speech signal is implemented using at least one classifier (eg, a neural network) for each speaker characteristic.
  • at least one classifier eg, a neural network
  • predicting a value for the given speaker characteristic can be implemented using a neural network (for example, a feed-forward artificial neural network) for each speaker characteristic,
  • the method may even include evaluating the reliability of the predicted values for the given speaker characteristic; and add the predicted value for the given speaker characteristic to a profile for the unknown speaker when the predicted value for the characteristic of! given speaker is considered reliable.
  • the reliability of the predicted value for the given speaker characteristic is evaluated by comparing the predicted value to a prediction interval, and considering the predicted value reliably when the predicted value falls within the prediction interval, where the prediction interval is based on a variance of a difference between predicted values for the given speaker characteristic and true values for the given speaker characteristic.
  • a computer-implemented method for profiling an unknown speaker, such that a profile for a speaker includes a set of characteristics of the speaker.
  • the method includes: a) receiving a speech signal from an unknown speaker, where the speech signal is made up of a plurality of data frames; b) accumulating data frames from the plurality of data frames in a buffer memory (buffefy c) generating, in a given time, a feature vector from the data frames accumulated in the data buffer; d) predicting a value for a given speaker characteristic from the feature vector using machine learning, and evaluating the reliability of the predicted value for the given speaker characteristic; e) adding the predicted value for the given speaker characteristic to an unknown speaker profile when the predicted value for the given speaker characteristic is considered reliable; and repeating steps b) - d) when the predicted value for the given speaker characteristic is considered unreliable.
  • the speech signal can be captured from the unknown speaker using a microphone.
  • the reliability of the predicted value for the given speaker characteristic is evaluated by comparing the predicted value to a prediction interval, and considering the predicted value reliably when the predicted value falls within the prediction interval, where the interval Prediction quantifies the uncertainty relative to the predicted value, for example based on a variance of a difference between predicted values for the given speaker characteristic and true values for the given speaker characteristic.
  • the reliability of the predicted value for the given speaker characteristic is evaluated by comparing the predicted value to a prediction interval, where the prediction interval is based on a variance of a difference between predicted values for the speaker characteristic.
  • a value for a particular feature feature is predicted from the feature vector using a corresponding neural network !, where a neural network! Different is implemented for each speaker characteristic in the speaker's characteristic set.
  • the steps of accumulating data frames from the plurality of data frames in a buffer, generating a vector of features from the data frames accumulated in the data buffer, and predicting a value for each characteristic of! speaker in the speaker characteristic set that is considered reliable unreliable are repeated until each characteristic in the speaker's characteristic set is considered reliable.
  • the feature vector is generated from a number of data frames that varies over! weather.
  • the system includes: a frame extractor, a feature extractor, a speaker estimator, and a speaker profiler.
  • the frame extractor is configured to receive a speech signal from an unknown speaker and accumulate data frames from the speech signal in a buffer.
  • the feature extractor is configured to generate a feature vector from the data frames in the buffer.
  • the speaker estimator is configured to receive the feature vector from the feature extractor and, for each speaker feature in the speaker feature set, predict a value for a speaker feature from the feature vector using a primer set of neural networks, where the speaker estimator implements a different neural network for each speaker characteristic in the speaker characteristic set.
  • the speaker profiler is configured to receive the predicted values for each speaker characteristic from the speaker estimator, where the speaker profiler assesses the reliability of the predicted value for each characteristic of!
  • the system can even include a frame selector configured to receive the speech signal from the frame extractor.
  • the frame selector selects a subset of data frames from a corresponding speech signal in the plurality of speech signals and accumulates the subset of data frames in a buffer corresponding to the speaker characteristic, thus excluding other speech frames. data in the corresponding speech signal from the data frame subset, where the data frames in the data frame subset contain information about the characteristics of the speaker of interest.
  • the frame selector can select a subset of data frames from each of the plurality of speech signals using a second subset of neural networks, where the frame selector implements a different neural network for each speaker characteristic in the set. speaker characteristics.
  • the speaker profiler assesses the reliability of the predicted value for a given characteristic of the speaker by comparing the predicted value to a prediction interval and considering the predicted value reliably when the predicted value falls within the prediction interval, where the prediction interval quantifies the uncertainty relative to the predicted value.
  • the talker profiler assesses the reliability of the predicted value by comparing the predicted value to! prediction interval, where the prediction interval is based on a variance of a difference between predicted values for the given speaker characteristic and true values for the given speaker characteristic; computing a weighted mean using the predicted value and a prior weighted mean when the predicted value falls within the prediction interval, where the prior weighted mean is computed using ai minus a predicted value for the given speaker characteristic predicted from a vector of traits generated in a time prior to the given time; comparing the weighted mean to another prediction interval; and considering the predicted value reliably when the weighted mean falls within the prediction interval.
  • Figure 1 is a diagram showing a proposed system for estimating speaker characteristics "on the fly” and user profiling.
  • Figure 2 is a diagram explaining frame selection; The diagram covers the steps from when a live speech signal is received to when a frame has or has not been selected for each feature.
  • Figure 3A is a diagram showing the training data used for the frame selection process and a module for selecting a threshold for the reliable frames criterion, where the training data is used as input for each based classifier.
  • FIG. 3B is a graph representing an example of the frame confidence score distribution for the age characteristic to calculate the threshold for the reliable frame selection criterion.
  • Figure 4 is a diagram showing an example of a test process at the end of the frame selection module.
  • Figure 5 is a diagram explaining the live feature extraction workflow from the first step when a vector of coefficients has been extracted to the last when the vector is ready to be used by the estimation module. speaker characteristics.
  • Figure 6 is a diagram showing the training data as input for each classifier based on DNNs, together with the different values or classes used for each characteristic.
  • Figure 7 is a diagram showing an example of the test process for gender and age characteristics
  • Figure 8 is a diagram showing the workflow for stop criteria from the first pass, when a minimum number of frames criterion has to be satisfied until the last pass when a reliable prediction is provided for each feature .
  • Figure 9 is a diagram illustrating how the estimation of the prediction interval (Prediction Interval - Pl) used to determine the minimum number of frames
  • the accumulated accumulations are estimated in training time and how the testing phase is performed, including how the process of estimating Pl is based on the variance of the difference between the true value and the predicted values (above) and how the evaluation of a segment of selected and accumulated speech frames at time t by the criterion of minimum number of accumulated frames (below).
  • Figure 10 shows the z table (z-fab / e) of standardized normal distribution for two-tailed probabilities (two-aiid), where the table represents the area or percentage under the standardized normal curve corresponding to some z-value (z-score).
  • Figure 11 represents the performance of the age prediction system as a function of the number of frames available.
  • Figure 12 is a diagram illustrating the prediction interval estimation
  • Figure 13 is a diagram that illustrates the threshold estimation for each class from logarithmic likelihood ratios (Log-Likelihood Ratios - LLRs) for speaker characteristics with categorical values and the minimum number of frames criterion, where the threshold estimation is based on LLRs (top) and the evaluation of the minimum number of frames criterion during the test phase (bottom).
  • logarithmic likelihood ratios Log-Likelihood Ratios - LLRs
  • Figure 14 is a diagram illustrating the threshold estimation for each class from LLRs and the reliable prediction criterion, where the threshold estimation is based on the weighted average of LLRs using a training data set ( top) and the evaluation of the reliable predictor criterion during the testing phase (bottom).
  • Figure 1 shows the general system for estimating "on the fly" characteristics of the speaker and user profiling.
  • the prediction of the speaker's characteristics is performed at each time t.
  • the system will estimate those characteristics using a segment of N accumulated frames selected at time t.
  • the estimation of speaker characteristics is performed in real time (or near real time).
  • the system follows a novel approach for predicting speaker characteristics. It makes the predictions using short-term cepstral trait modeling (short-erm), which are cepstral vectors that represent the spectral content of the speech window modeled by a generative model such as GMMs models, and a prediction model based on DNNs.
  • short-erm cepstral trait modeling
  • the disclosure includes a frame selection module 010, which is a novel component of the disclosure, which contributes to high precision and low latency, a feature extraction module 020, a speaker characteristic estimation module 030 based on DNNs, and novel 040 stop decision criteria to provide accurate predictions of speaker characteristics.
  • the term module can refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor running one or more software or firmware programs. , combinational logic circuits, and / or other suitable components that provide the described functionality.
  • ASIC Application Specific Integrated Circuit
  • Figure 2 shows the workflow of frame selection 010.
  • the frame selection module 010 aims at filtering frames that do not contain relevant information to extract the specific speaker characteristic.
  • frames that contain too little information to identify a specific user characteristic will be removed and will not be processed.
  • This frame selection process contributes to faster convergence towards the identification of a specific speaker characteristic.
  • Another consequence of processing only relevant frames is an improvement in the accuracy of the speaker characteristic prediction.
  • the frame selection module 010 consists of three sub-modules: extraction of frames 011, estimation of the confidence score of frames 012, and criteria of reliable frames 013.
  • the voice is collected at the level of plot by means of a separate microphone or one embedded in an electronic device.
  • the confidence scores are calculated for each frame. This confidence score will be used to select the most important frames. suitable for predicting characteristics of! speaker.
  • this block is designed with several DNN-based classifiers in parallel. For example, a classifier is implemented by characteristic of the speaker.
  • Each classifier can be an implementation of convolutional neural networks (CNNs).
  • Figure 3 explains how the classifiers are trained and the probabilities of each class, that is, confidence scores, are obtained.
  • Figure 3 on the left shows the braking data provided as input to each classifier based on DNNs.
  • Each classifier is trained with the speech frames tagged for a specific characteristic. In this example, gender and age are the speaker characteristics used.
  • the training data set consists of speech samples and their associated tags per feature.
  • Speech samples which are 25 ms long, are raw speech data to which a Hamming window is applied with a 10 ms offset. to get the next frame in the subsequent iteration.
  • the labels corresponding to the characteristics expressed as numerical values, for example age, height and BMI, are mapped to a number of classes per characteristic, K characteristic .
  • K characteristic Each characteristic K value will be chosen according to the required granularity levels.
  • K characteristic (l )
  • Figure 3 includes an example of K values for gender and age.
  • the architecture of the classifiers is the same for all features. It is made up of several filter stages followed by a classification stage. The initial filter stages are also known as the feature extraction stages.
  • the architecture consists of convolutional layers, max-pooling layers, and non-linear activation functions.
  • the classification stage consists of a fully connected layer (fuüy-connected) and a normalized exponential layer (softmax). The so ⁇ max layer is used to represent the probability distribution of each class i for each frame x, p (i ⁇ x).
  • the sleepmax function is as follows: where the standard exponential function is applied to each element of vector z.
  • the values s (z) i which represent the probabilities for each class, are normalized to ensure that the outputs of the classifier are between 0 and 1.
  • the sum of the components s (z) is 1.
  • the probabilities of the classes represent the confidence scores of those classes.
  • each characteristic classifier has a specific associated threshold ( characteristic Y). It is used to determine when a frame is reliable.
  • the previous classification step is first executed for a specific data set using the module for estimating the confidence score of the frames.
  • the outputs of the ranking, that is, confidence scores, are then used to calculate the distribution of the confidence scores.
  • Figure 3 on the right represents an example of a confidence score distribution of the frames for the age characteristic. Only correctly classified frames, that is, when the most probable class is the correct class, are used according to the label in the data set. The distribution is used to determine the threshold as the reliable frames criterion 013. In one example, a third quartile criterion Q 3 is used to define the threshold.
  • the third quartile is also known as the percenti! 75.
  • the result is a value under which we find 75% of the correctly classified samples of the distribution. This value will be considered the threshold.
  • the threshold and age is 0.8.
  • the classification is considered correct. This process will be carried out for all characteristics of interest (eg, gender, height, BMI, language).
  • the System will select the frames that are relevant to the characteristic of interest based on the selection criteria of reliable frames 013. Each input frame will be evaluated for each characteristic as a reliable frame or not.
  • Figure 4 shows an example of the testing process for gender and age.
  • a plot will obtain different confidence scores depending on the characteristic.
  • the input frame is considered reliable for gender, but not for age since its associated confidence is less than the age threshold.
  • a frame may be more representative of a specific feature compared to others. This mechanism contributes to reducing latency so that some features will be predicted earlier than others because a sufficient number of frames has been selected to allow a reliable feature to be extracted. In other words, all the characteristics of the speaker are not extracted at the same time.
  • the frame selection module 010 the selected frames are accumulated in a buffer in a speech segment at time t, and this segment feeds the live feature extraction module 020.
  • Figure 5 shows the workflow of the live feature extraction module
  • the live feature extraction module 020 consists of three sub-modules: feature vector extraction 021, feature vector modeling 022, and class separation maximization 023.
  • MFCCs coefficient vectors of dimension 40 are used in the example embodiment.
  • Hamming windows for example, 25 ms.
  • a cepstral normalization of the mean and variance (Cepstral Mean Variance Normalization - CMVN) is applied.
  • CMVN Cepstral Mean Variance Normalization
  • other types of feature vectors for example, linear predictive coding - Linear Predictive Coding coefficients of cepsfrum or coefficients of the fast Fourier transform - Fast Fourier Transform coefficients -
  • linear predictive coding Linear Predictive Coding coefficients of cepsfrum or coefficients of the fast Fourier transform - Fast Fourier Transform coefficients -
  • an identity vector extractor module (i-vectors) based on a 512-component gender-independent UBM-GMM is used with a 400 dimensionality total variability subspace. It should be noted what Other feature vector modeling algorithms can be used, such as DNN-based embeddings.
  • LDA Linear Discriminant Analysis
  • the output of the live feature extraction module 020 which are i-vectors projected in a smaller dimensional space by the LDA, is used as input to the speaker characteristics estimation module 030.
  • the speaker characteristics estimation module 030 is designed with several models based on DNNs in parallel.
  • a model is implemented by characteristic of the speaker, eg, gender, age, height, IMG, language.
  • Each model consists of a 4-layer fuüy-connected DNN.
  • Figure 6 shows the training data used in the training process.
  • gender and age are the speaker characteristics used.
  • the training data set consists of speech samples and their associated tags per feature. Speech samples are raw speech pronunciations. Each speech utterance lasts around 3 or 4 seconds, but could be different depending on the training data set.
  • the labels are expressed with numerical values for characteristics, such as age, height and IMG, and categorical values for characteristics such as gender and language.
  • Figure 6 shows an example of the training stage for categorical values (ie gender) and numerical values (ie age).
  • gender categorical value
  • pronunciations are classified into two classes: masculine and feminine.
  • age number of values are used as classes. These values correspond to ages in the database, in this example ages between 15 and 90 years are used. The same method would apply to the remaining characteristics of interest.
  • the training process includes modules of frame selection 010, feature extraction 020, and speaker characteristic estimation 030.
  • 3-4 s speech pronunciations. they are used as input to frame selection module 010.
  • As output a segment of selected accumulated frames is provided.
  • the feature extraction 020 is performed on e! speech segment.
  • the extracted feature vectors together with their labels corresponding to the speaker characteristics are used to train each model based on DNNs in the speaker characteristics estimation module 030,
  • the DNN architecture consists of 4 fuUy-connected layers.
  • the two hidden layers have 256 units and each a hyperbolic tangent activation function (tanh). More specifically, the tanh function is defined as follows:
  • the output layer consists of N units and a trigger function.
  • the activation function for these features is a softmax function.
  • the output layer consists of a single unit that makes the prediction.
  • the activation function for these characteristics is a linear function.
  • the weight is represented by a, and b is the bias (or / as),
  • DNN architectures can be used, for example, recurrent neural networks (RNN) or convolutional neural networks (Convolutional Neural Networks - CNNs),
  • Figure 7 shows an example of the testing process for gender and age.
  • the module for estimating the characteristics of successfullyte 030 obtains a value for each characteristic for the segment of selected frames at time t.
  • some characteristics are expressed as numerical values (for example, age, height and BMI) and the others as categorical values (for example, gender and language).
  • the outputs are: "Female" for gender and "22.4" for age.
  • the speaker characteristics prediction module 030 produces estimates that are then provided to the stop criteria module 040.
  • the stop criteria module includes a set of methods for deciding whether the predictions of the speaker characteristics (eg , age, height, gender, language, BMI), obtained from the speech segment of relevant accumulated frames at time t by modulo 030, are reliable enough to provide an accurate estimate,
  • Figure 8 shows the workflow diagram of stop criteria 040.
  • the stop criteria module 040 consists of three sub-modules: minimum number of accumulated frames criterion 042, weighted average estimate 043, and reliable prediction criterion 044.
  • the stop criteria module 040 makes use of the estimated Pls during the training process.
  • the Pls represent the variance of the prediction error of the speaker characteristics; that is, the difference between the predicted and true values of the speaker's characteristics. For example, at time t, first, the incoming frames, which were selected as relevant for a given characteristic in 010, are evaluated by the criterion of minimum number of accumulated frames 042. If the criterion is satisfied, then the predictions Obtained from the next selected frames are accumulated using the weighted average estimate 043. Subsequently, the reliability of the prediction is evaluated. It is important to note that the stopping criteria are applied for each characteristic of the speaker.
  • a minimum number of accumulated frames can be estimated using the criterion of minimum number of accumulated frames. In this way, estimates that may not be sufficiently precise are avoided.
  • the criterion of minimum number of accumulated frames 042 is based on the prediction intervals (Prediction intervai-Pl).
  • Pl is defined as the quantification of the uncertainty of a prediction. This quantification is based on the variance of the differences between the predicted and true values. As a result, this will provide an interval with upper and lower limits, estimated with a certain probability, containing a future observation, randomly selected and with a specific degree of confidence, based on a distribution.
  • the P! Before the evaluation of the criterion of minimum number of accumulated frames 042, the P! they must be estimated during the training time.
  • the process of estimating the prediction intervals consists of estimating the characteristics of each speaker from a set of training data and then obtaining the estimate of the Pl associated with each characteristic,
  • Figure 9 in the upper part represents the prediction interval estimation process (Prediction Intervai-Pl) for the criterion of minimum number of accumulated frames for the age prediction task.
  • the predictions which correspond to a specific true value of a characteristic of the speaker, are used to estimate the Pl for that true value.
  • Pl a set of training data S is used that contains N spoken phrases with their respective information on the characteristics of the speaker (for example, age, height, BMI).
  • the data set can be defined as follows: where x n denotes the speech locution lasting 3-4 seconds and y n feature denotes the true values or classes corresponding to the speaker characteristic (eg, age, height, BMI, weight).
  • the predicted value of the characteristic y n obtained by the speaker characteristics estimation module 030 from the speech utterances x n along with their respective characteristic values (for example, age, height, BMI, weight) are used for estimate the Pl.
  • All predictions (N c predictions), obtained by the speaker characteristics estimation module 030, associated with a single true characteristic value, are used to calculate the variance of the difference between the true value and the predicted values.
  • the variance a c can be defined as follows:
  • Figure 10 shows the standardized normal distribution z-table (z-table) for two-tailed probabilities.
  • This table represents the area or percentage under the standardized normal curve that corresponds to some z-score. That is, the probability of an observation of the standardized normal distribution that lies between ios ⁇ z-score.
  • the uncertainty interval for a specific true value can be calculated as follows: where the z-value is provided by the standardized normal distribution in Figure 10.
  • the prediction interval (Prediction intervai - Pi) around the true value and c can be calculated as follows:
  • the prediction of the characteristic from the segment of selected and accumulated speech frames, obtained by means of the speaker characteristics estimation module 030, must be within the limits of Pi for a probability determined by the z-value (z-score).
  • Figure 9 shows the process of estimating the prediction interval
  • the predicted age values have to be between the Pi limits for a probability of 85%, where the z-score is 1.44.
  • Figure 9 in the background represents the evaluation of a segment of selected and accumulated speech frames at time f by means of the criterion of minimum number of 042 cumulative frames for the age prediction task.
  • a Pl must be selected. This is done by finding the minimum absolute difference d between the true value and c and the predicted value of age. The minimum absolute difference is defined as follows:
  • the criterion of minimum number of accumulated frames 042 is satisfied if the Pl contains the predicted age
  • the selected Pl which corresponds to a minimum S c is PI 22 . Since the predicted age of the first accumulated frames is between the limits of PI 22 , that Pl is selected and the prediction is selected and the prediction is calculated by means of weighted average estimation 043. Therefore, the following speech frames at times i + 1, t + 2, t + 3, ... are no longer evaluated by criterion of minimum number of accumulated frames. It is important to highlight that the z-value (z-score) can be used as a parameter to restrict the Pl. Therefore, if we want a more conservative system, we must choose a smaller z-score.
  • the Pl selected which corresponds to a minimum S c is PI 22 , however, the predicted value is not between the limits of PI 22 . Therefore, the criterion of minimum number of accumulated frames 042 is not satisfied, then the process continues until the frame extraction module 011. [0110] It is important to indicate that the predicted value is likely to be contained in two
  • a predicted value of age of a speech segment is contained in Pl 21 and Pl 22
  • the final Pl will correspond to the smallest value, therefore that is PI 21 .
  • Other solutions could be adopted such as you select the Pl that corresponds to the highest age value or the Pl that corresponds to the lowest interval.
  • a more conservative approach can be used by selecting a smaller z-score.
  • a weighted average method is applied by the weighted average estimation module 043 to prevent outliers (ou ⁇ q ⁇ resulting from the estimation of the characteristics from degrading the performance of the system.
  • Figure 11 shows e! system performance for the age prediction task. This shows that at a higher number of frames the prediction is better (that is, a lower mean absolute error), and is very close to offline performance. However, there is a probability that the following frames at times t + 1, t + 2, t + 3, .., could degrade the predicted value at time £ due, for example, to an error in the frame selection .
  • the predicted value V at time £ is defined as follows: where S t is the predicted value at current time £ and V t-1 is the previous value weighted at time £ - 1, and ⁇ functions as a hyperparameter that weights the last accumulated values and the current predicted value. Since the more frames available the prediction is better, the value chosen for b is 0.9. In this way, the estimation of the previous frames has a greater weight in the final decision.
  • This approach is based on the Stochastic Gradien ⁇ Descendent (SDG) method with momentum used in DNN training. However, the b-values could be adjusted as necessary for each case or application.
  • SDG Stochastic Gradien ⁇ Descendent
  • the reliable prediction criterion 044 is similar to the minimum number of accumulated frames criterion.
  • the reliable prediction criterion 044 is based both on the estimation of the prediction interval (Prediction Interval - Pl) and the definition of the limits of P! with a probability determined by the z-value (z-score) as performed for the minimum number of accumulated frames criterion 042.
  • Figure 12 at the top represents e! Pl estimation process for the reliable estimation criterion for the age prediction task.
  • the criterion is that the predicted value of age must be within the limits of Pl with a probability of 60%, where the z-score is 0.84.
  • Figure 12 at the bottom represents the evaluation of a segment of selected and accumulated speech frames at time i by means of the prediction criterion reliable 044 for the age prediction task.
  • the evaluation method is similar to that carried out for the criterion of minimum number of accumulated frames 042.
  • the prediction calculated by the weighted mean estimate 043 is provided as a final estimate.
  • the fine result! it is used by module 050 to create the speaker's profile.
  • the stop criteria module makes use of logarithmic likelihood ratios (Log-Likelihood Ratios - LLRs), in instead of the prediction intervals (Prediction Interval - Pl), LLRs are estimated during the training time,
  • the classification model Given a segment of selected frames of speech from an unknown speaker, the classification model will provide a decision as to whether or not it is likely that the predicted class (eg, English or Chinese for the speaker characteristic language) can be included. Jan! profiling of! speaker. For speaker characteristics expressed as categorical values, the prediction task can be reformulated as a hypothesis test between a null hypothesis (H 0 ) in which the predicted class does not correspond to a speaker characteristic and an alternative hypothesis (H 1 which the predicted class corresponds to a characteristic of the speaker.
  • H 0 null hypothesis
  • H 1 which the predicted class corresponds to a characteristic of the speaker.
  • Figure 8 shows the stopping criteria workflow, which is used for both speaker characteristics with numerical values and characteristics with categorical values.
  • the criterion of minimum number of accumulated frames 042 for characteristics expressed as categorical values is based on the decision thresholds estimated from the distribution of the LLRs of each class. Different decision thresholds? H will be obtained for each class belonging to each characteristic of the speaker. These thresholds will decide if the alternative hypothesis (H I I 11 ) of class i is accepted or rejected.
  • the decision thresholds Before evaluating the minimum number of accumulated frames criterion 042, the decision thresholds must be estimated during the training time. To determine the decision thresholds for each class of a specific characteristic, first, the logarithmic likelihood ratios (Log-Likelihood Patios - LLRs) are calculated from the probabilities or scores obtained using module 030 for a specific class. Then, a decision threshold for each class is estimated from the distributions of the LLRs.
  • the logarithmic likelihood ratios Log-Likelihood Patios - LLRs
  • Figure 13 in the upper part represents the process of estimating the decision threshold for the criterion of minimum number of accumulated frames for the language prediction task.
  • Different decision thresholds are estimated for each class. From the probabilities obtained by the speaker characteristics estimation module, the LLRs are estimated. From the distribution of the LLRs corresponding to the true class and other possible classes, the decision threshold l is estimated. The selected threshold will determine if we want the model to generate acceptance (score greater than the threshold) or rejection (score less than the threshold) for each speech segment test. Two types of errors can occur: false alarm (or false acceptance), if the LLR is greater than the threshold for a non-target sample (non-target), and no detection (or false rejection) if the LLR is less than the threshold.
  • the decision threshold chosen (in most cases manually) constitutes a tradeoff between the false positive rates and the false negative rates of the system.
  • a training data set 5 containing N speech utterances with their respective speaker information characteristics, eg language, gender.
  • the data set can be defined as follows: where x n denotes the length of speech utterances with durations of 3-4 seconds and yn characteristic denotes the true values corresponding to the class of the speaker characteristic.
  • the probabilities of the values of the predicted characteristics y n obtained from modulo 030 and the speech utterances x n are used to calculate the LLRs. From the distributions of the LLRs for each class, a decision threshold l is established based on the tradeoff chosen between false positive and false negative rates.
  • Figure 13 at the bottom represents the evaluation of a segment of selected and accumulated speech frames at time t by the criterion of minimum number of accumulated frames 042 for the language prediction task.
  • the LLRs are calculated from the probabilities or scores obtained for each class. Then, the maximum value of LLR, which corresponds to the most probable given, is selected. The maximum value of LLR is compared to the decision threshold of the most probable class. The minimum number of accumulated frames criterion 042 is satisfied if only a maximum value of LLR is greater than the decision threshold of the most probable class.
  • the predicted language class is Spanish with an LLR of 0.82. If the decision threshold for the Spanish class is 0.55, then the LLR for the Spanish class (which is the maximum LLR) is greater than the decision threshold. Since the condition of 042 is fulfilled, the LLR is accumulated by means of a weighted average estimate 043. Therefore, the following speech frames at times t + l, t + 2, t + 3, ... are no longer evaluated by the criterion of minimum number of accumulated frames 042 since the condition in 041 was satisfied.
  • the weighted mean estimate 043 is similar to that performed in the case where the characteristics of the speaker are expressed as numerical values. There are two main differences for speaker characteristics with categorical values: [0132] The first difference is that the weighted average of the LLR values of the models is used instead of the predicted values. The value of LLR at time t is defined in the same way as before:
  • V t ⁇ v t- 1 (1 - ⁇ ) S t , be [0,1]
  • S t is the LLR value for a specific day at the current time t
  • V t-1 is the previous weighted average LLR value in time t - 1
  • works as a hyperameter, in the same way as before.
  • the value chosen for b is also 0.9.
  • the second difference is that the weighted average estimate is performed for each class of a specific characteristic. Therefore, there are both LLR weighted mean values and classes. Once the minimum number of accumulated frames 042 criterion is met, the weighted average LLR is estimated for each class. Then, the LLR weighted mean values of all classes are compared with each other, at time t, and the maximum value is selected. This value is considered the maximum value of LLR at time t.
  • the reliable prediction criterion 044 for a characteristic of the column with categorical values is similar to the criterion for the minimum number of accumulated frames 042. It is based both on the LLR and the decision thresholds and for the criterion of minimum number of accumulated frames 042. Evaluates whether the maximum LLR estimated from the accumulated frames, provided by the weighted average estimate 043 at time t, is sufficiently reliable to provide the final class of the speaker characteristic.
  • the estimate of the weighted average 043 provides the weighted average values for each class to the reliable prediction criterion, which is satisfied once the maximum value of LLR is greater than its respective decision threshold, that is, the threshold decision of the most probable class.
  • the thresholds selected for the reliability criteria can be the same as those used for the minimum number of frames criterion or more restrictive (that is, higher thresholds can be set) since the reliable prediction criterion is the last one used. must be met before the speaker's characteristics are included in the speaker's profile.
  • Figure 14 at the top represents the evaluation of a segment of selected and accumulated speech frames at time t using the reliable prediction criterion 044 for the language prediction task.
  • the estimates of the LLRs for each class are provided by e! 044 reliable prediction modulus. Then, the maximum value of LLR, which corresponds to the most probable class, is selected. The maximum value of LLR is compared with the decision threshold of the most probable class. The reliable prediction criterion is met if the maximum value of LLR is greater than the decision threshold of the most probable class. Therefore, the most probable class is provided as the final class.
  • the maximum LLR value of the LLR weighted mean values is 1.19, which corresponds to e! English language.
  • the decision threshold for the English language is 1.00, the LLR is greater than the threshold, which meets the criterion of reliable prediction.
  • the English language class is then used by the speaker profiling module 050 to be included in the speaker profile.
  • speaker profiling 050 all characteristics estimated from the voice signal (eg, age, gender, height, BMI and Language) are used to complete the speaker profiling in the example embodiment. Each characteristic is added to the profile progressively as soon as a reliable estimate of the characteristic is obtained.
  • characteristics estimated from the voice signal eg, age, gender, height, BMI and Language
  • the novelty of the present disclosure depends on three important modules which allow! system achieve high precision with low latency. Those modules are: DNN-based frame selection 010, real-time speaker characteristic estimation 030, and stop criteria 040.
  • the selection of frames based on ios DNN allows to select the most relevant frames necessary to provide a reliable estimate of the speaker characteristic.
  • the frame selection module 010 selects those frames that contain relevant information for the estimation of a certain characteristic of the speaker. This module contributes to the accuracy and low latency of the system.
  • the real-time estimate! of the characteristics of the speaker allows estimating the characteristics of the speaker from a segment of selected and accumulated speech frames at time t. Frame-level processing contributes to low latency since it is not necessary to wait for the entire speech utterance to predict the speaker's characteristic, contrary to state-of-the-art systems. We estimate a speaker characteristic with only a few reliable frames.
  • the stop criteria include two different sub-modules that contribute to the accuracy and low latency of the system: the minimum number of accumulated frames criterion 042 and the reliable prediction of features of! 044.
  • the first one determines if the segment of selected and accumulated frames is sufficiently precise with a certain degree of reliability to be accumulated by the estimation of the weighted average 043.
  • the second criterion 044 evaluates whether the estimation of the characteristic of the speaker in the time i is sufficiently reliable to be provided as a final estimate that will be included in a speaker profile using module 050.
  • Computer programs include processor executable instructions that are stored on a non-transitory tangible computer-readable medium. Computer programs can also include stored data. Non-limiting examples of the computer-readable medium are non-volatile memory, magnetic storage, and optical storage.
  • the present description also refers to an apparatus for performing the operations in this document.
  • This apparatus may be specially constructed for the purposes required, or it may comprise a computer selectively activated or reconfigured by a computer program stored on a computer-readable medium that can be accessed by a computer.
  • Said computer program can be stored on a tangible computer-readable storage medium, such as, among others, any type of disk, including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROM), memory sticks. random access (RAM), ERROM, EEPROM, magnetic or optical cards, application-specific integrated circuits (ASIC) or any type of suitable medium to store electronic instructions, and each connected to a bus of the computer system.
  • the computers referenced in the specification may include a single processor or may be architectures that employ multi-processor designs for increased computing power.

Abstract

Se presenta una técnica implementada en ordenador para generar un perfil de un hablante desconocido. Una selección de tramas basada en DNN permite al sistema seleccionas las tramas relevantes necesarias para proporcionar una estimación fiable de la característica de hablante. Un módulo de selección de tramas selecciona estas tramas que contienen información relevante para la estimación de una característica de hablante dada, y de esta manera contribuye a la precisión y la baja latencia del sistema. La estimación de características de hablante en tiempo real permite al sistema estimar las características de hablante a partir de un segmento de habla de tramas seleccionadas y acumuladas en cualquier momento dado. El procesado a nivel de trama contribuye a la baja latencia ya que no es necesario esperar por la locución de habla entera para predecir una característica de hablante, sino que se estima una característica de hablante a partir de unas pocas tramas fiables. Diferentes criterios de parada también contribuyen a la precisión y la baja latencia del sistema.

Description

MÉTODO Y SISTEMA PARA ESTIMAR CARACTERÍSTICAS DE HABLANTE SOBRE LA MARCHA PARA HABLANTE DESCONOCIDO CON ALTA PRECISIÓN Y BAJA LATENCIA
CAMPO
[0001] La presente divulgación se relaciona con el perfilado del hablante por medio de la estimación de características del hablante a partir de la señal de habla. La señal de habla contiene información característica específica relativa a antecedentes físicos (por ejemplo, género, edad, altura, peso, IMC), geográficos (por ejemplo, idioma, acento), sociolécticos (por ejemplo, dialecto) y/o étnicos (por ejemplo, raza) del hablante.
ANTECEDENTES
[0002] Las tecnologías de analítica del habla han sido aplicadas a varias áreas como comunicación, mercadotecnia, y seguridad. La analítica de habla añade valor a estas áreas de diferentes formas proporcionando información específica acerca de los hablantes. Esta información puede ser obtenida a partir de la señal de habla. La señal de habla contiene características del hablante que pueden ser extraídas automáticamente para saber aspectos específicos de una persona.
[0003] Hay una importante ventaja ai realizar la extracción de características del hablante en tiempo real, por ejemplo, para alertas de seguridad es necesario tener un tiempo mínimo de respuesta, o para agentes de venta trabajando en centros de llamadas es muy útil para hacer recomendaciones personalizadas a un hablante particular en “tiempo de conversación”. Para conseguir respuestas rápidas, un sistema de baja latencia es requerido.
[0004] La precisión del Sistema es también crítica para estas aplicaciones porque es importante tomar la decisión correcta, porque errores pueden tener consecuencias negativas para la seguridad de las personas involucradas, o proporcionar una mala experiencia a los clientes si la respuesta no cumple sus expectativas.
[0005] Algunos sistemas de la técnica anterior son destacados debajo. Un sistema se centra en identificar hablantes para centros de llamadas. Las aplicaciones de centros de llamadas necesitan funcionar en tiempo real para proporcionar una salida en un intervalo de tiempo razonable. Sin embargo, este sistema no proporciona información acerca de las características del hablante. Solo proporciona la identidad de hablantes conocidos, es decir, hablantes previamente registrados en el sistema. Además, la implementación no está basada en arquitectura de redes neuronaies profundas (Deep Neurai Networks - DNN). [0006] Otro sistema de identificación dei hablante funcionando en tiempo real para aplicaciones como conferencia basada en web han emergido también. La mayor parte estas aplicaciones de idenfificación/reconocimiento dei hablante han sido usados para detectar quien está hablando a lo largo de la conversación, también llamado diarización de hablantes, o generar un perfil (por ejemplo, edad, género, ocupación laboral) acerca de quien está hablando con el objetivo de reforzar la tarea de identificación del hablante con características del hablante adicionales para superar la falta de información de contexto, o asociar datos del hablante adicionales a un hablante que fue previamente registrado. A diferencia de estos enfoques, el sistema propuesto en esta divulgación realiza la analítica de habla para hablantes desconocidos (es decir, hablantes no registrados en el sistema). El sistema propuesto proporciona características “sobre la marcha” para un hablante desconocido como el género, edad, altura, índice de masa corporal (IMC), o idioma a partir de la señal de hablar.
[0007] Los sistemas de reconocimiento dei hablante han sido usados para entrenar grupos jerárquicos de hablantes. Los datos de voz a partir de hablantes conocidos y la etiqueta asociada son empleados en el proceso de entrenamiento de los grupos. Las etiquetas contienen información acerca de género, edad e idioma nativo. Los grupos están basados en modelos de mezcla de gausslanas (Gaussian Mixture Models - GMMs) y coeficientes ceptrales de frecuencias de Mel (Mel-Frequency Cepstral Coefficients - MFCCs) fueron usados en el proceso de entrenamiento. Durante la fase de reconocimiento un hablante de prueba es asociado a una identidad de hablante y al mismo tiempo es asignado a un grupo de hablantes. En cambio, el sistema propuesto está basado en modelos de redes neuronales profundas (Deep Neural Networks - DNNs), un modelo para cada característica. Estos modelos son entrenados usando habla a partir de hablantes que son diferentes de los de prueba (hablantes desconocidos). [0008] La técnica presentada en esta divulgación hace uso de selección de tramas para extraer las tramas de interés relevantes. Mientras esta divulgación propone el uno de DNNs para extraer las mejores tramas de interés para cada característica del hablante extraída, otras técnicas como la detección de actividad de voz (Voice Activity Detection - VAD) podría potencialmente ser usado para separar habla de silencio, así que solo los segmentos de habla serían considerados en la estimación de características de hablante. Sin embargo, mientras VAD hace uso de un análisis de energía a corto plazo (short-term energy analysis), el análisis basado en aprendizaje profundo (Deep Learning) fue mostrado, en el contexto de una tarea de verificación del hablante, para mejorar el rendimiento para llevar a cabo la selección de tramas. [0009] Otras técnicas conocidas usan características físicas para mejorar la precisión de la identificación dei hablante. Consiste en la extracción y análisis de características vocales y palabras frecuentemente usadas en el segmento de voz. La información extraída ayuda a rellenar una base de datos vinculando la edad, género incluso grupo étnico con la identidad del hablante. Asimismo, otras técnicas han sido desarrolladas para proporcionar un rango de edad probable asociado con el hablante basadas en la evaluación de una frase hablada en términos de prosodia como la velocidad del hablante, número y longitud de pausas en la frase hablada, articulación incorrecta de una parte de la frase hablada, e intensidad vocal de la voz de quien llama.
[0010] Respecto ai tema de la predicción de las características del habíante, hay trabajos en el estado del arte relativo a la predicción de edad, la estimación de la altura o clasificación dei IMG a partir del habla. Ninguno de estos métodos necesita obtener resultados en vivo y no han sido desarrollados usando algoritmos basados en DNNs. En cambio, el sistema propuesto consigue características “sobre la marcha” y está basado en arquitecturas de DNNs.
[0011] Avances en Deep Learning han conducido ai desarrollo de métodos precisos estimando características dei hablante, no en tiempo real (offlinE), con modelos basados en DNN (por ejemplo, estimación de edad) y mezclando modelos de DNNs con otras tecnologías como reconocimiento facial. En cambio, el sistema propuesto, que está también basado en arquitectura de DNNs, realiza la estimación de características del hablante en vivo proporcionando resultados con una latencia muy baja.
[0012] La baja latencia es uno de los principales puntos de esta divulgación. Conseguir la extracción de características del hablante en el intervalo de tiempo más corto permite proporcionar mejores servicios mejorando la experiencia de usuario. Tales sistemas son capaces de ayudar a los agentes de ventas que trabajan en centros de llamadas o agentes inteligentes (o autómatas) haciendo recomendaciones para ofrecer un producto personalizado o servicios específicos según las características dei cliente. Usando la extracción “sobre la marcha” de características específicas permite a los sistemas ofrecer nuevos productos, servicios o contenidos específicos a los clientes casi en tiempo real. Solo unos segundos pueden marcar la diferencia entre un servicio de alta calidad y un servicio pobre. Otro punto importante a tener en cuenta es la precisión. Cuanto más alta la precisión, mejor serán los servicios.
[0013] Uno de los principales desafíos de desarrollar la extracción de características del hablante “sobre la marcha” con precisión alta está relacionada con la selección de los rasgos (features) a usar y saber cuándo una característica del hablante específica ha sido extraída para que una acción en tiempo real basada en la extracción de características del hablante pueda tener lugar. Estos desafíos han sido resueltos en esta divulgación.
[0014] Esta sección proporciona antecedentes relativos a la presente divulgación que no están necesariamente en la técnica anterior.
RESUMEN
[0015] Esta sección proporciona un resumen general de la divulgación, u no es una divulgación integral de su alcance total o todos sus rasgos,
[0016] En un aspecto, un método implemeníado en ordenador es proporcionado para perfilar un hablante desconocido, tal que un perfil para un hablante incluye un conjunto de características del hablante. El método incluye: recibir una señal de habla a partir de un hablante desconocido, donde la señal de habla se compone de una pluralidad de tramas de datos; para cada característica del hablante en el conjunto de características del hablante, seleccionando un subconjunto de tramas de datos a partir de una correspondiente señal de habla en la pluralidad de señales de habla y así excluir otras tramas de datos en la correspondiente señal de habla a partir del subconjunto de tramas de datos, donde las tramas de datos en el subconjunto de tramas de datos contienen información acerca de las características de interés del hablante; y para una característica del hablante dada, generando un vector de rasgos a partir del subconjunto de tramas de datos seleccionadas correspondiente a la característica del hablante dada y prediciendo un valor para la característica del hablante dada a partir del vector de rasgos usando aprendizaje máquina ( machine iearning). Las características del hablante pueden incluir, pero no están limitadas a edad, altura, índice de masa corporal, género, acento, dialecto y raza.
[0017] La señal de habla puede ser capturada a partir del hablante desconocido usando un micrófono.
[0018] En una realización, seleccionar un subconjunto de tramas de datos a partir de una señal de habla se implementa usando al menos un clasificador (por ejemplo, una red neuronal) para cada característica del hablante.
[0019] Asimismo, predecir un valor para la característica del hablante dada puede ser implemeníado usando una red neuronal (por ejemplo, una red neurona! artificial de prealimentación - feed-forward) para cada característica del hablante,
[0020] El método puede incluso incluir la evaluación de la fiabilidad de ios valores predichos para la característica del hablante dada; y añadir el valor predicho para la característica del hablante dada a un perfil para el hablante desconocido cuando el valor predicho para la característica de! hablante dada es considerada fiable. En una realización, la fiabilidad del valor predicho para la característica del hablante dada es evaluada comparando el valor predicho a un intervalo de predicción, y considerando el valor predicho fiable cuando el valor predicho cae dentro del intervalo de predicción, donde el intervalo de predicción está basado en una varianza de una diferencia entre valores predichos para la característica del hablante dada y valores verdaderos para la característica del hablante dada.
[0021] En otro aspecto, un método implementado en ordenador es proporcionado para perfilar un hablante desconocido, tal que un perfil para un habíante incluye un conjunto de características del hablante. El método incluye: a) recibir una señal de habla a partir de un hablante desconocido, donde la señal de habla se compone de una pluralidad de tramas de datos; b) acumular tramas de datos a partir de la pluralidad de tramas de datos en una memoria intermedia (buffefy c) generar, en un tiempo dado, un vector de rasgos a partir de las tramas de datos acumuladas en el buffer de datos; d) predecir un valor para una característica del hablante dada a partir del vector de rasgos usando aprendizaje de máquina ( machine ¡earning), y evaluando la fiabilidad del valor predicho para la característica del hablante dada; e) añadir el valor predicho para la característica del hablante dada a un perfil para el hablante desconocido cuando el valor predicho para la característica del hablante dada es considerado fiable; y repetir pasos b) - d) cuando el valor predicho para la característica del hablante dada es considerada poco fiable.
[0022] La señal de habla puede ser capturada a partir del hablante desconocido usando un micrófono.
[0023] En una realización, la fiabilidad del valor predicho para la característica del hablante dada es evaluada comparando el valor predicho a un intervalo de predicción, y considerando el valor predicho fiable cuando el valor predicho cae dentro del intervalo de predicción, donde el intervalo de predicción cuantifica la incertidumbre relativa al valor predicho, por ejemplo basado en una varianza de una diferencia entre valores predichos para la característica del hablante dada y valores verdaderos para la característica del hablante dada. [0024] En otra realización, la fiabilidad del valor predicho para la característica del hablante dada es evaluada comparando el valor predicho a un intervalo de predicción, donde el intervalo de predicción es basado en una varianza de una diferencia entre valores predichos para la característica del hablante dada y valores verdaderos para la característica del hablante dada; computando una media ponderada usando el valor predicho y una media ponderada previa cuando el valor predicho cae dentro del intervalo de predicción, donde la media ponderada previa es computada usando a! menos un valor predicho para la característica del hablante dada a partir de un vector de rasgos generado en un tiempo anterior al tiempo dado; comparando la media ponderada a otro intervalo de predicción; y considerando el valor predicho fiable cuando la media ponderada cae dentro del intervalo de predicción.
[0025] Para cada característica del hablante en el conjunto de características del hablante, un valor para una característica del habíante particular es predicha a partir del vector de rasgos usando una correspondiente red neurona!, donde una red neurona! diferente es implemeníada para cada característica del hablante en el conjunto de características del hablante.
[0026] Los pasos de acumulación de tramas de datos a partir de la pluralidad de las tramas de datos en un buffer, generando un vector de rasgos a partir de las tramas de datos acumuladas en el buffer de datos, y prediciendo un valor para cada característica de! hablante en el conjunto de características del hablante que es considerado fiable poco fiable son repetidos hasta que cada característica en el conjunto de características del hablante es considerada fiable. [0027] En algunas realizaciones, el vector de rasgos es generado a partir de un número de tramas de datos que varía a lo largo de! tiempo.
[0028] En otro aspecto, un sistema es presentado para perfilar un hablante desconocido.
El sistema incluye: un extractor de tramas, un extractor de rasgos, un estimador de hablante y un perfilador de hablante. El extractor de tramas es configurado para recibir una señal de habla a partir de un hablante desconocido y acumular tramas de datos a partir de la señal de habla en un buffer. El extractor de rasgos es configurado para generar un vector de rasgos a partir de las tramas de datos en el buffer. El estimador de hablante es configurado para recibir el vector de rasgos a partir del extractor de rasgos y, para cada característica del hablante en el conjunto de características del hablante, predecir un valor para una característica del hablante a partir del vector de rasgos usando un primer conjunto de redes neuronales, donde el estimador de hablante implementa una red neuronal diferente para cada característica del hablante en el conjunto de características del hablante. El perfilador de hablante es configurado para recibir los valores predichos para cada característica del hablante a partir del estimador de hablante, donde el perfilador de hablante evalúa la fiabilidad del valor predicho para cada característica de! hablante y añade el valor predicho para una característica del hablante dada a un perfil del hablante cuando el valor predicho para la característica del hablante dada es considerado fiable. Un micrófono es configurado para capturar la señal de habla a partir del hablante desconocido. [0029] El sistema puede incluso incluir un selector de tramas configurado para recibir la señal de habla a partir del extractor de tramas. El selector de tramas selecciona un subconjunto de tramas de datos a partir de una correspondiente señal de habla en la pluralidad de las señales de habla y acumula el subconjunto de tramas de datos en un buffer correspondiente a la característica del hablante, excluyendo así otras tramas de datos en la correspondiente señal de habla a partir del subconjunto de tramas de datos, donde las tramas de datos en el subconjunto de tramas de datos contienen información acerca de las características del hablante de interés. El selector de tramas puede seleccionar un subconjunto de tramas de datos a partir de cada una de la pluralidad de señales de habla usando un segundo subconjunto de redes neuronales, donde el selector de tramas implementa una red neuronal diferente para cada característica del hablante en el conjunto de características del hablante.
[0030] En una realización, el perfilador de hablante evalúa la fiabilidad del valor predicho para una característica del habíante dada comparando el valor predicho a un intervalo de predicción y considerando el valor predicho fiable cuando el valor predicho cae dentro del intervalo de predicción, donde el intervalo de predicción cuantifica la incertidumbre relativa al valor predicho.
[0031] En otras realizaciones, el perfilador de hablante evalúa la fiabilidad del valor predicho comparando el valor predicho a! intervalo de predicción, donde el intervalo de predicción está basado en una varianza de una diferencia entre valores predichos para la característica del hablante dada y valores verdaderos para la característica del hablante dada; computando una media ponderada usando el valor predicho y una media ponderada previa cuando el valor predicho cae dentro del intervalo de predicción, donde la media ponderada previa es computada usando ai menos un valor predicho para la característica del hablante dada predicha a partir de un vector de rasgos generado en un tiempo anterior al tiempo dado; comparando la media ponderada a otro intervalo de predicción; y considerando el valor predicho fiable cuando la media ponderada cae dentro del intervalo de predicción.
[0032] Áreas adicionales de aplicabilidad se harán evidentes a partir de la descripción proporcionada aquí. La descripción y ios ejemplos específicos en este resumen están destinados para propósitos de ilustración solamente y no están destinados a limitar el alcance de la presente divulgación. FIGURAS
[0033] Las ilustraciones descritas aquí son para propósitos ilustrativos solamente de las realizaciones seleccionadas y no todas las posibles implementaciones, y no están destinadas a limitar el alcance de la presente divulgación,
[0034] La Figura 1 es un diagrama que muestra un sistema propuesto para la estimación de características del hablante “sobre la marcha” y el perfilado de usuario.
[0035] La Figura 2 es un diagrama que explica la selección de tramas; el diagrama abarca los pasos desde cuando una señal de habla en vivo es recibida hasta cuando una trama ha sido seleccionada o no para cada característica.
[0036] La Figura 3A es un diagrama que muestra ios datos de entrenamiento usados para el proceso de selección de tramas y un módulo para seleccionar un umbral para el criterio de tramas fiables, donde los datos de entrenamiento son usados como entrada para cada clasificador basado en DNNs,
[0037] La Figura 3B es un gráfico que representa un ejemplo de la distribución de la puntuación de confianza ( confidence score ) de tramas para la característica de edad para calcular el umbral para el criterio de selección de tramas fiables.
[0038] La Figura 4 es un diagrama que muestra un ejemplo de proceso de prueba al final del módulo de selección de tramas.
[0039] La Figura 5 es un diagrama que explica el flujo de trabajo de extracción de rasgos en vivo desde el primer paso cuando un vector de coeficientes ha sido extraído hasta el último cuando el vector está listo para ser usado por el módulo de estimación de características del hablante.
[0040] La Figura 6 es un diagrama que muestra los datos de entrenamiento como entrada para cada clasificador basado en DNNs, junto a ios diferentes valores o ciases usados para cada característica.
[0041] La Figura 7 es un diagrama que muestra un ejemplo del proceso de test para las características de género y edad,
[0042] La Figura 8 es un diagrama que muestra el flujo de trabajo para los criterios de parada desde el primer paso, cuando un criterio de mínimo número de tramas tiene que ser satisfecho hasta el último paso cuando una predicción fiable es proporcionada para cada característica.
[0043] La Figura 9 es un diagrama que ilustra como la estimación del intervalo de predicción (Prediction Interval - Pl) usado para determinar el mínimo número de tramas acumuladas es estimado en tiempo de entrenamiento y cómo ia fase de prueba es realizada, incluyendo cómo el proceso de estimación de Pl está basada en la varianza de la diferencia entre el valor verdadero y los valores predichos (arriba) y cómo es 1a evaluación de un segmento de tramas seleccionadas y acumuladas de habla en el tiempo t por el criterio de mínimo número de tramas acumuladas (abajo).
[0044] La Figura 10 muestra ia tabla z (z-fab/e) de distribución normal estandarizada para probabilidades a dos colas {two-íaiíed) , donde ia tabla representa el área o porcentaje bajo ia curva normal estandarizada correspondiente a algún valor z ( z-score ).
[0045] La Figura 11 representa el rendimiento del sistema de predicción de edad como una función del número de tramas disponible.
[0046] La Figura 12 es un diagrama que ilustra ia estimación de intervalo de predicción
(Prediction intervai - Pl) para el criterio de predicción fiable y la evaluación de un segmento de habla por el criterio mencionado anteriormente, donde el proceso del Pl está basado en la varianza de la diferencia entre el valor verdadero y los valores predichos (arriba) y ia evaluación del criterio de predicción fiable (abajo).
[0047] La Figura 13 es un diagrama que ilustra la estimación de umbrales para cada ciase a partir de ratios de verosimilitud logarítmica (Log-Likelihood Ratios - LLRs) para características del hablante con valores categóricos y el criterio de mínimo número de tramas, donde la estimación de umbrales está basada en LLRs (arriba) y la evaluación del criterio de mínimo número de tramas durante ia fase de prueba (abajo).
[0048] La Figura 14 es un diagrama que ilustra la estimación de umbrales para cada ciase a partir de LLRs y el criterio de predicción fiable, donde la estimación de umbrales está basada en la media ponderada de LLRs usando un conjunto de datos de entrenamiento (arriba) y la evaluación del criterio de predicción fiable durante la fase de prueba (abajo).
[0049] Los correspondientes números de referencia indican las correspondientes partes a través de varias vistas de las ilustraciones,
DESCRIPCIÓN DETALLADA
[0050] Realizaciones de ejemplo serán ahora más profundamente descritas con la referencia a las ilustraciones que se acompañan.
[0051] La Figura 1 muestra el sistema general para estimar “sobre la marcha” características del hablante y el perfilado de usuario. En resumidas cuentas, la predicción de características del hablante es realizada en cada tiempo t. El sistema estimará esas características usando un segmento de N tramas acumuladas seleccionadas en un tiempo t. Como resultado, la estimación de características del hablante es realizada en tiempo real (o casi tiempo real).
[0052] El sistema sigue un enfoque novedoso para la predicción de características del hablante. Realiza las predicciones usando modelado de rasgos cepstrales a corto plazo ( short - íerm), que son vectores cepstrales que representan el contenido espectral de la ventana de habla modelado medíante un modelo generativo como modelos de GMMs, y un modelo de predicción basado en DNNs. Como se ha mencionado, las únicas capacidades de la divulgación comparada a ios sistemas de la técnica previa residen en la baja latencia y alta precisión del proceso de extracción de características del hablante.
[0053] La divulgación incluye un módulo de selección de tramas 010, el cual es una componente novedosa de la divulgación, que contribuye a la alta precisión y baja latencia, un módulo de extracción de rasgos 020, un módulo de estimación de características del hablante 030 basado en DNNs, y novedosos criterios de decisión de parada 040 para proporcionar predicciones precisas de las características del hablante. Como se ha usado aquí, el término módulo puede estar referido a, ser parte de, o incluir un circuito integrado específico de aplicación (Application Specific Integrated Circuit - ASIC), un circuito electrónico, un procesador que ejecute uno o más programas software o firmware, circuitos lógicos combinacionales, y/o otros componentes adecuados que proporcionan la funcionalidad descrita.
[0054] La Figura 2 muestra el flujo de trabajo de la selección de tramas 010. Para cada característica específica, el módulo de selección de tramas 010 tiene como objetivo el filtrado de tramas que no contienen información relevante para extraer la característica del hablante específica. Como resultado, las tramas que contienen muy poca información para identificar una característica específica del usuario serán eliminadas y no serán procesadas. Este proceso de selección de tramas contribuye a una convergencia más rápida hacia la identificación de una característica del hablante específica. Otra consecuencia de procesar solamente tramas relevantes es una mejora en la precisión de la predicción de características del hablante.
[0055] El módulo de selección de tramas 010 consiste en tres submódulos: extracción de tramas 011 , estimación de la confidence score de las tramas 012, y criterio de tramas fiables 013. En la realización de ejemplo, la voz es recogida a nivel de trama por medio de un micrófono independiente o uno embebido en un dispositivo electrónico.
[0056] Para la estimación de la confidence score 012, las confidence scores son calculadas para cada trama. Esta confidence score será usada para seleccionar las tramas más adecuadas para predecir características de! hablante. En una realización, este bloque es diseñado con varios clasificadores basados en DNNs en paralelo. Por ejemplo, se Implementa un clasificador por característica del hablante. Cada clasificador puede ser una implementación de redes neuronales convolucionales (Convolutional Neural Networks - CNNs).
[0057] La Figura 3 explica como los clasificadores son entrenados y las probabilidades de cada dase, es decir, confidence scores, son obtenidas.
[0058] La Figura 3 a la izquierda muestra los datos de enfrenamiento proporcionados como entrada a cada clasificador basado en DNNs. Cada clasificador es entrenado con las tramas de habla etiquetadas para una característica específica. En este ejemplo, el género y la edad son las características del hablante usadas.
[0059] El conjunto de datos de entrenamiento consiste en muestras de voz y sus etiquetas asociadas por característica. Las muestras de voz, que tienen una duración de 25 ms., son datos en bruto ( raw ) de habla a los que se aplica una ventana Hamming con un desplazamiento de 10 ms. para obtener la siguiente trama en la iteración posterior.
[0060] Las etiquetas correspondientes a las características expresadas como valores numéricos, por ejemplo, edad, altura y IMC, son mapeadas a un número de clases por característica, Kcaracteristica. Cada valor Kcaracterística será elegido según los niveles de granularidad requeridos.
[0061] Para las etiquetas correspondientes a valores categóricos (por ejemplo, género e idioma), el número de clases, Kcaracteristic(l, dependerán del número de clases que están en la base de datos.
[0062] La Figura 3 incluye un ejemplo de valores de K para género y edad. En caso de género, Kqénero = 2 es usado para clasificar habla masculina y habla femenina. En caso de edad, se define Kedod = 3 después de decidir clasificar la edad en tres clases: jóvenes, mediana edad y ancianos. El mismo proceso sería aplicado a las características de interés restantes.
[0063] Durante todo el proceso de entrenamiento una base de datos de clases balanceadas es usada para entrenar apropiadamente cada dase para cada característica. [0064] En la realización de ejemplo, la arquitectura de los clasificadores es la misma para todas las características. Está compuesto de varias etapas de filtros seguidas de una etapa de clasificación. Las etapas iniciales de filtros son también conocidas como fases de extracción de rasgos. La arquitectura consiste en capas convolucionales, capas de reducción por máximos (max-pooling), y funciones de activación no lineales. La etapa de clasificación consiste en una capa completamente conectada (fuüy-connected) y una capa exponencial normalizada ( softmax ). La capa soñmax es usada para representar la distribución de probabilidad de cada clase i para cada trama x, p(i\x).
[0065] Mas específicamente, la función soñmax es como sigue:
Figure imgf000014_0002
donde la función exponencial estándar es aplicada a cada elemento
Figure imgf000014_0001
del vector z. Los valores s(z)i, que representan las probabilidades para cada clase, son normalizadas para asegurar que las salidas del clasificador están entre 0 y 1. La suma de las componentes s(z) es 1. Las probabilidades de las clases representan las confidence scores de esas clases.
[0066] Una vez los clasificadores son entrenados, las confidence scores son proporcionadas como entrada al módulo de selección de tramas fiables 013, En una realización de ejemplo, cada clasificador de características tiene un umbral específico asociado (Y característico) . Es usado para determinar cuándo una trama es fiable.
[0067] Para determinar el umbral para una característica específica, primero se ejecuta el paso previo de clasificación para un conjunto de datos específico usando el módulo de estimación de la confidence score de las tramas. Luego, se usan las salidas de la clasificación, es decir, confidence scores, para calcular la distribución de las confidence scores.
[0068] La Figura 3 a la derecha representa un ejemplo de una distribución de la confidence score de las tramas para la característica de edad. Solo las tramas clasificadas correctamente, es decir, cuando la ciase más probable es la clase correcta, son usadas según la etiqueta en el conjunto de datos. La distribución es usada para determinar el umbral como el criterio de tramas fiables 013. En un ejemplo, un criterio de tercer cuartil Q3 es usado para definir el umbral.
[0069] El tercer cuartil es también conocido como el percenti! 75. El resultado es un valor bajo el cual encontramos el 75% de las muestras de la distribución correctamente clasificadas. Este valor será considerado el umbral. En este ejemplo, el umbral yedad, es 0.8. Para futuras tramas de entrada cuando la confidence score sea mayor que yedad, la clasificación se considera correcta. Este proceso será llevado a cabo para todas las características de interés (por ejemplo, género, altura, IMC, idioma).
[0070] Durante el proceso de prueba para cada característica, el Sistema seleccionará las tramas que son relevantes para la característica de interés basada en el criterio de selección de tramas fiables 013. Cada trama de entrada será evaluada para cada característica como una trama fiable o no.
[0071] La Figura 4 muestra un ejemplo del proceso de prueba para género y edad. Una trama obtendrá diferentes confidence scores dependiendo de la característica. En el ejemplo se muestra, para la característica de género la ciase más probable obtiene una confidence score de 0.91 (correspondiente a la ciase i=1 o “Femenino”). Para la característica de edad, la clase más probable obtiene una confidence score de 0.75 para la ciase i=2 (“Mediana edad”).
[0072] Si uno asume el umbral para género γ género = 0.85 y el umbral para edad Yedad =
0.80, la trama de entrada es considerada fiable para género, pero no para edad ya que su confianza asociada es menor que el umbral de edad.
[0073] La explicación de arriba ilustra que una trama puede ser más representativa de una característica específica comparada con otras. Este mecanismo contribuye a reducir la latencia lo que algunas características serán predicbas antes que otras porque un número suficiente de tramas ha sido seleccionado permitiendo que una característica fiable sea extraída. En otras palabras, todas las características del hablante no son extraídas al mismo tiempo. [0074] Después del módulo de selección de tramas 010, las tramas seleccionadas son acumuladas en un buffer en un segmento de habla en el tiempo t, y este segmento alimenta el módulo de extracción de rasgos en vivo 020.
[0075] La Figura 5 muestra el flujo de trabajo del módulo de extracción de rasgos en vivo
020. El módulo de extracción de rasgos en vivo 020 consiste en tres submódulos: extracción de vectores de rasgos 021 , modelado de vectores de rasgos 022, y maximización de la separación de clases (class separation maximization) 023.
[0076] Para la extracción de vectores de rasgos 021 , vectores de coeficientes MFCCs de dimensión 40 son usados en la realización de ejemplo. Las ventanas Hamming (por ejemplo, 25 ms.) son deslizadas por 10 ms. En cada iteración. Luego una normalización cepstral de la media y la varianza (Cepstral Mean Variance Normalization - CMVN) es aplicada. Se debería destacar que otros tipos de vectores de rasgos (por ejemplo, codificación lineal predictive - Linear Predictive Coding coeficientes de cepsfrum o coeficientes de la transformada rápida de Fourier - Fast Fourier Transform coefficients -) pueden ser usados.
[0077] Para el modelado de vectores de rasgos 022, un módulo extractor de vectores identidad (i-vectors) basado en un UBM-GMM independiente de género de 512 componentes es usado con un subespacio de variabilidad total de dimensionalidad 400. Se debería destacar que otros algoritmos de modelado de vectores de rasgos pueden ser usados, tales como embeddings basados en DNNs.
[0078] Para la maximización de la separación de clases 023, se usa un análisis discriminante lineal (Linear Discriminaní Analysis - LDA). LDA aplica una reducción de dimensionalidad a 200 componentes, y proyecta los ejes ortogonales al nuevo espacio para discriminar mejor entre clases diferentes.
[0079] La salida del módulo de extracción de rasgos en vivo 020, que son i-vecíors proyectados en un espacio dimensional más pequeño por el LDA, es usado como entrada ai módulo de estimación de características del hablante 030.
[0080] El módulo de estimación de características del hablante 030 es diseñado con varios modelos basados en DNNs en paralelo. En una realización de ejemplo, se implementa un modelo por característica del hablante, por ejemplo, género, edad, altura, IMG, idioma. Cada modelo consiste en una fuüy-connected DNN de 4 capas.
[0081] La Figura 6 muestra los datos de entrenamiento usados en el proceso de entrenamiento. En este ejemplo, el género y la edad son las características del hablante usadas. [0082] El conjunto de datos de entrenamiento consiste en muestras de voz y sus etiquetas asociadas por característica. Las muestras de voz son pronunciaciones de habla raw. Cada locución de habla tiene una duración alrededor de 3 o 4 s., pero podría ser diferente dependiendo del conjunto de datos de entrenamiento.
[0083] Las etiquetas son expresadas con valores numéricos para características, como edad, altura e IMG, y valores categóricos para características como género e idioma.
[0084] La Figura 6 muestra un ejemplo de la etapa de entrenamiento para valores categóricos (es decir, género) y valores numéricos (es decir, edad). Para género (valor categórico), las pronunciaciones son clasificadas en dos ciases: masculino y femenino. Para edad (valor numérico), N valores son usados como ciases. Estos valores corresponden a edades en la base de datos, en este ejemplo se usan edades entre los 15 y los 90 años. El mismo método se aplicaría a las características de interés restantes.
[0085] Durante todo el proceso de entrenamiento, una base de datos de ciases balanceadas es usada para entrenar propiamente cada ciase para cada característica. El proceso de entrenamiento incluye ios módulos de selección de tramas 010, extracción de rasgos 020, y estimación de características del hablante 030. Durante la etapa de entrenamiento, pronunciaciones de habla de 3-4 s. son usadas como entrada al módulo de selección de tramas 010. Como salida, un segmento de tramas acumuladas seleccionadas es proporcionado. La extracción de rasgos 020 es realizada sobre e! segmento de habla. Los vectores de rasgos extraídos junto con sus etiquetas correspondientes a las características del hablante son usados para entrenar cada modelo basado en DNNs en el módulo de estimación de características del hablante 030,
[0086] En un ejemplo, la arquitectura de DNN consiste en 4 capas fuUy-connected. Las dos capas ocultas tienen 256 unidades y cada una función de activación tangente hiperbólica ( tanh ). Más específicamente, la función tanh es definida como sigue:
Figure imgf000017_0001
[0087] La capa de salida consiste en N unidades y una función de activación. El número de unidades N y la función de activación en la capa de salida depende de cada característica, [0088] En caso de características expresadas como valores categóricos (por ejemplo, género e idioma), la capa de salida consiste en una capa con N unidades, donde N es el número de clases de la característica de interés. Por ejemplo, para la de género puede usar N = 2 correspondiente a habla femenina y masculina; para idioma, N es igual al número de idiomas entrenados en la DNN. Finalmente, la función de activación para estas características es una función softmax.
[0089] En caso de características expresadas como valores numéricos (por ejemplo, edad, altura, IMG), la capa de salida consiste en una única unidad que hace la predicción. La función de activación para estas características es una función lineal.
[0090] Mas específicamente, la función lineal es definida como sigue: f(z) = az + b donde el valor de /(z) incrementa proporcionalmente con el valor de z. El peso es representado por a, y b es el sesgo (ó/as),
[0091] Se debería destacar que otras arquitecturas de DNN pueden ser usadas, por ejemplo, redes neuronales recurrentes (Recurrent Neural Network - RNN) o redes neuronales convolucionales (Convolutional Neural Networks - CNNs),
[0092] La Figura 7 muestra un ejemplo del proceso de prueba para género y edad.
Empezando con las tramas seleccionadas en 010, un segmento es ensamblado progresivamente con las tramas acumuladas en el tiempo í y es procesado por el módulo de extracción de rasgos en vivo 020. Finalmente, el módulo de estimación de características del hablante 030 es aplicado. [0093] En este ejemplo, las tramas han sido seleccionadas para género y edad. Así, el módulo de estimación de características del habíante 030 obtiene un valor para cada característica para el segmento de tramas seleccionadas en el tiempo t. Como ha sido mencionado antes, algunas características son expresadas como valores numéricos (por ejemplo, edad, altura e IMC) y las otras como valores categóricos (por ejemplo, género e idioma). En el ejemplo mostrado en la figura, las salidas son: “Femenino” para género y “22.4” para edad. [0094] El módulo de predicción de características del hablante 030 produce estimaciones que son luego proporcionadas al módulo de criterios de parada 040. El módulo de criterios de parada incluye un conjunto de métodos para decidir si las predicciones de las características del hablante (por ejemplo, edad, altura, género, idioma, IMC), obtenidas a partir del segmento de habla de tramas acumuladas relevantes en el tiempo t por el módulo 030, son lo suficiente fiables para proporcionar una estimación precisa,
[0095] La Figura 8 muestra el diagrama de flujo de trabajo de los criterios de parada 040.
El módulo de criterios de parada 040 consisten en tres submódulos: criterio de mínimo número de tramas acumuladas 042, estimación de media ponderada 043, y criterio de predicción fiable 044.
[0096] Diferentes métodos pueden ser aplicados como criterios de parada de acuerdo ai tipo de característica del hablante. En caso de las características expresadas como valores numéricos, los intervalos de predicción (Prediction Intervals - Pls) son usados. Para los valores categóricos, los criterios se basan en ratios de verosimilitud logarítmica (Log-ükelihood ratios- LLRs). Es importante resaltar que ambos métodos, Pls o LLRs son usados por el criterio de mínimo número de tramas acumuladas 042 y el criterio de predicción fiable 044.
[0097] Para características expresadas como valores numéricos (por ejemplo, edad, altura, IMC), el módulo de criterios de parada 040 hace uso de ios Pls estimados durante el proceso de entrenamiento. Los Pls representan la varianza del error de predicción de las características del hablante; es decir, la diferencia entre los valores predichos y verdaderos de las características del hablante. Por ejemplo, en un tiempo t, en primer lugar, las tramas entrantes, que fueron seleccionadas como relevantes para una característica dada en 010, son evaluadas por el criterio de mínimo número de tramas acumuladas 042. Si el criterio es satisfecho, entonces las predicciones obtenidas a partir de las siguientes tramas seleccionadas son acumuladas empleando la estimación de media ponderada 043. Posteriormente, se evalúa la fiabilidad de la predicción. Es importante resaltar que los criterios de parada se aplican para cada característica del hablante.
[0098] Para el criterio de mínimo número de tramas acumuladas 042, como el número de tramas de habla pueden presentar información pobre de las características del hablante, es decir, estos podrían no ser fiables para la estimación de las características del hablante, se puede estimar un mínimo número de tramas acumuladas mediante el criterio de mínimo número de tramas acumuladas. De esta forma, se evitan las estimaciones que pueden ser no suficientemente precisas.
[0099] El criterio de mínimo número de tramas acumuladas 042 se basa en los intervalos de predicción (Prediction intervai - Pl). En el contexto de la tarea de predicción de características del hablante, diferentes intervalos de predicción serán obtenidos para cada valor que pertenece a cada característica del hablante. El Pl se define como la cuantificación de la incertidumbre de una predicción. Esta cuantificación se basa en la varianza de las diferencias entre ios valores predichos y verdaderos. Como resultado, esta aportará un intervalo con límites superiores e inferiores, estimados con una determinada probabilidad, que contiene una observación futura, seleccionada aleatoriamente y con un grado específico de confianza, a partir de una distribución. [0100] Antes de la evaluación del criterio de mínimo número de tramas acumuladas 042, los P! deben ser estimados durante el tiempo de entrenamiento. El proceso de estimación de ios intervalos de predicción consiste en estimar las características de cada hablante a partir de un conjunto de datos de entrenamiento y luego obtener la estimación de ios Pl asociada a cada característica,
[0101] La Figura 9 en la parte superior representa el proceso de estimación del intervalo de predicción (Prediction Intervai - Pl) para el criterio de mínimo número de tramas acumuladas para la tarea de predicción de edad. Las predicciones, que corresponden a un valor específico verdadero de una característica del hablante, son usadas para estimar el Pl para ese valor verdadero. Para la estimación del Pl, se emplea un conjunto de datos de entrenamiento S que contiene N locuciones de había con su respectiva información de las características del hablante (por ejemplo, edad, altura, IMC). El conjunto de datos se puede definir como sigue:
Figure imgf000019_0001
donde xn denota la locución de habla de duración de 3-4 segundos y yn caracieristica denota los valores o clases verdaderos correspondientes a la característica de locutor (por ejemplo, edad, altura, IMC, peso). El valor predicho de la característica yn obtenido por el módulo de estimación de características del hablante 030 a partir de las locuciones de habla xn junto con sus respectivos valores de características (por ejemplo, edad, altura, IMC, peso) son usados para estimar los Pl. Todas las predicciones (Nc predictions), obtenidas por el módulo de estimación de características del hablante 030, asociadas a un solo valor verdadero de característica, son usadas para calcular la varianza de la diferencia entre el valor verdadero y los valores predichos. La varianza ac puede ser puede definir como sigue:
Figure imgf000020_0001
[0102] La Figura 10 muestra la tabla z ( z-table ) de distribución normal estandarizada para probabilidades a dos colas ( two-taüed ). Esta tabla representa el área o porcentaje bajo la curva normal estandarizada que se corresponde con algún valor z ( z-score ). Es decir, la probabilidad de una observación de la distribución normal estandarizada que se encuentra entre ios ± z-score. Por ejemplo, la mencionada probabilidad para un z = 1.44 (es decir, décimos (tenths) = 1.4 y centésimos ( hundredths } = 0.04 en la Figura 10), es 85.01% (es decir, 1 - 0.14987).
[0103] Asumiendo que la varianza de la diferencia entre el valor verdadero y predicho δc presenta una distribución normal, el intervalo de incertidumbre para un valor verdadero específico puede ser calculado como sigue:
Figure imgf000020_0002
donde el valor z es proporcionado por la distribución normal estandarizada en la Figura 10. EL intervalo de predicción (Prediction intervai - Pi) alrededor del valor verdadero yc puede ser calculado como sigue:
Figure imgf000020_0003
[0104] Para el criterio de mínimo número de tramas acumuladas 042, la predicción de la característica a partir del segmento de tramas seleccionadas y acumuladas de habla, obtenidas mediante el módulo de estimación de características del hablante 030, debe estar entre los límites del Pi para una probabilidad determinada por el valor z (z-score).
[0105] La Figura 9 muestra el proceso de estimación del intervalo de predicción
(Prediction Intervai - PI) para la tarea de predicción de edad. En este ejemplo, los valores predlchos de las edades tienen que estar entre los límites del Pi para una probabilidad de 85%, donde el z-score es 1.44.
[0106] Una vez que se cumple la condición del criterio en 041 en el tiempo t, la predicción es calculada mediante una estimación de media ponderada 043. En consecuencia, las siguientes tramas de habla en los tiempos t + 1, t + 2, t + 3, ... ya no son evaluadas por el criterio de mínimo número de tramas acumuladas 042 ya que la condición ha sido cumplida en 041.
[0107] La Figura 9 en el fondo representa la evaluación de un segmento de tramas seleccionadas y acumuladas de habla en el tiempo f mediante el criterio de mínimo número de tramas acumuladas 042 para la tarea de predicción de edad. Durante la evaluación del segmento de habla, una vez que el valor predicho de la edad a partir de las primeras tramas
Figure imgf000021_0001
seleccionadas y acumuladas de habla en el tiempo t haya sido obtenida mediante el módulo de estimación de características del hablante 030, en primer lugar, un Pl debe ser seleccionado. Esto es llevado cabo mediante la búsqueda de la mínima diferencia absoluta d entre el valor verdadero yc y predicho de la edad La mínima diferencia absoluta se define como sigue:
Figure imgf000021_0002
Figure imgf000021_0003
Una vez que el Pl es seleccionado, el criterio de mínimo número de tramas acumuladas 042 es satisfecho si el Pl contiene la edad predicha,
[0108] Por ejemplo, para un valor predicho de edad
Figure imgf000021_0004
3 de un segmento de habla, el Pl seleccionado el cual se corresponde con un mínimo Sc es PI22. Ya que la edad predicha de las primeras tramas acumuladas esta entre los límites de PI22, ese Pl es seleccionado
Figure imgf000021_0005
y la predicción es seleccionada y la predicción es calculada mediante estimación de media ponderada 043. Por tanto, las siguientes tramas de habla en los tiempos i + 1, t + 2, t + 3, ... ya no son evaluadas por criterio de mínimo número de tramas acumuladas. Es importante resaltar que el valor z ( z-score ) puede ser usado como un parámetro para restringir el Pl. Por tanto, si deseamos un sistema más conservador, debemos escoger un z-score más pequeño.
[0109] Para un valor predicho de edad de un segmento de habla, el Pl
Figure imgf000021_0006
seleccionado el cual se corresponde con un mínimo Sc es PI22, sin embargo, el valor predicho no está entre ios límites del Pl22. Por tanto, el criterio de mínimo número de tramas acumuladas 042 no es satisfecho, entonces el proceso continua hasta el módulo de extracción de tramas 011. [0110] Es importante indicar que es probable que el valor predicho este contenido en dos
Pl. Por ejemplo, un valor predicho de edad
Figure imgf000021_0007
de un segmento de habla está contenido en Pl 21 y Pl22 En una realización de ejemplo, si ese es el caso, el Pl final se corresponderá con el valor más pequeño, por tanto, ese es el PI21. Otras soluciones podrían ser adoptadas tales como seleccionas el Pl que se corresponde con el valor más alto de edad o el Pl que se corresponde con el intervalo más bajo. Además, para eliminar las falsas alarmas (es decir tratar con valores predichos que están bastante alejados del valor verdadero) un enfoque más conservador puede ser usado seleccionando un z-score más pequeño.
[0111] En la realización de ejemplo, un método de media ponderada es aplicado por el módulo de estimación de media ponderada 043 para evitar que valores atípleos (ouίίίqή resultantes de la estimación de las características degraden el rendimiento del sistema. [0112] La Figura 11 muestra e! rendimiento del sistema para la tarea de predicción de edad. Esta muestra que a un mayor número de tramas la predicción es mejor (es decir, un menor error absoluto medio), y está muy cerca del rendimiento offline. Sin embargo, hay una probabilidad que las siguientes tramas en los tiempos t+1 , t+2, t+3, .. , podrían degradar el valor predicho en el tiempo £ debido, por ejemplo, a un error en la selección de trama.
[0113] Para evitár oste problema, uno puede usar una media ponderada hacienda uso de la trama en el tiempo f y las tramas acumuladas en el tiempo t-1.
[0114] El valor predicho V en el tiempo £ se define como sigue:
Figure imgf000022_0001
donde St es el valor predicho en el tiempo actual £ y Vt-1 es el valor previo ponderado en el tiempo £ - 1, yβ funciona como un hiperparametro que pondera ios últimos valores acumulados y el valor actual predicho. Ya que a más tramas disponibles la predicción es mejor, el valor escogido para b es 0.9. De esta manera, la estimación de las tramas previas tiene un mayor peso en la decisión final. Este enfoque se basa en el método de Gradiente Descendente Estocástico (Stochastic Gradiení Descendent - SDG) con momentum usado en el entrenamiento de los DNN, No obstante, los valores b podrían ajustarse según sea necesario para cada caso o aplicación. [0115] El criterio de predicción fiable 044, es similar ai criterio de mínimo número de tramas acumuladas. Este evalúa si la predicción de tramas acumuladas en el tiempo t, proporcionada por la estimación de media ponderada 043, es suficientemente fiable para ser proporcionada como la estimación final de la característica del hablante con un cierto grado de confianza. Si el criterio es satisfecho, no se procesan más tramas de habla y la estimación de la característica del hablante es usada e incluida en el perfil del hablante mediante el módulo de perfilado del hablante 050.
[0116] El criterio de predicción fiable 044 se basa tanto en la estimación del intervalo de predicción (Prediction Interval - Pl) y la definición de los límites del P! con una probabilidad determinada por el valor z ( z-score ) tal como se realizó para el criterio de mínimo número de tramas acumuladas 042.
[0117] La Figura 12 en la parte superior representa e! proceso de estimación del Pl para el criterio de estimación fiable para la tarea de predicción de edad. En este caso, el criterio consiste en que el valor predicho de la edad debe estar entre los límites del Pl con una probabilidad del 60%, donde el z-score es 0.84.
[0118] La Figura 12 en la parte inferior representa la evaluación de un segmento de tramas seleccionadas y acumuladas de habla en el tiempo i mediante el criterio de predicción fiable 044 para la tarea de predicción de edad. El método de evaluación es similar ai realizado para el criterio de mínimo número de tramas acumuladas 042.
[0119] Una vez que la condición del criterio es satisfecha, la predicción calculada por la estimación de media ponderada 043 es proporcionada como una estimación final. El resultado fina! es usado por el módulo 050 para crear el perfil del hablante.
[0120] En el caso de las características del hablante expresadas como valores categóricos (por ejemplo, género, dialecto, idioma), el módulo de criterios de parada hace uso de los ratios de verosimilitud logarítmica (Log-Likelihood Ratios - LLRs), en lugar de los intervalos de predicción (Prediction Interval - Pl), Los LLR son estimados durante el tiempo de entrenamiento,
[0121] Dado un segmento de tramas seleccionadas de habla de un hablante desconocido, el modelo de clasificación proporcionará una decisión de si es probable o no que la clase predicha (por ejemplo, inglés o chino para la característica del hablante idioma) pueda ser incluido en e! perfilado de! hablante. Para las características del hablante expresadas como valores categóricos, la tarea de predicción puede reformularse como un test de hipótesis entre una hipótesis nula (H0) el cual la ciase predicha no corresponde a una característica del hablante y una hipótesis alternativa (H1 el cual la clase predicha corresponde a una característica de! hablante. En una forma matemática, e! problema puede ser definido mediante los ratios de verosimilitud logarítmica (Log-Likelihood Ratios - LLRs) entre las verosimilitudes obtenidas para la hipótesis nula (H0) y la hipótesis alternativa (H-1), tal como se muestra en la siguiente ecuación:
Figure imgf000023_0001
donde P{x\Hi¡), i = 0,1,2, ...M ciase, j = 0,1, es la probabilidad o puntuación para la hipótesis Hij evaluada para el segmento de habla observado de tramas seleccionadas X de un hablante desconocido (también referido como verosimilitud), y λi es el umbral de decisión para aceptar o rechazar la hipótesis de que es la dase correcta. Cuanto mayor sea el LLR mayor es la confianza de que es la clase correcta. Tal como se muestra en la Figura 13 y Figura 14, para la clase i y P(XlHi1), la verosimilitud logarítmica de la hipótesis nula es calculada usando la ecuación
Figure imgf000023_0002
[0122] La Figura 8 muestra el flujo de trabajo de los criterios de parada, el cual es usado tanto para las características del hablante con valores numéricos y características con valores categóricos. [0123] El criterio de mínimo número de tramas acumuladas 042 para características expresadas como valores categóricos se basa en los umbrales de decisión estimados a partir de la distribución de los LLR de cada dase. Diferentes umbrales de decisión ?H serán obtenidos para cada ciase perteneciente a cada característica del hablante. Estos umbrales decidirán si la hipótesis alternativa (HI I11) de la dase i es aceptada o rechazada.
[0124] Antes de la evaluación del criterio de mínimo número de tramas acumuladas 042, los umbrales de decisión deben ser estimados durante el tiempo de entrenamiento. Para determinar ios umbrales de decisión para cada dase de una característica específica, en primer lugar, se calculan ios ratios de verosimilitud logarítmica (Log-Likelihood Patios - LLRs) a partir de las probabilidades o puntuaciones obtenidas mediante el módulo 030 para una clase específica. Luego, un umbral de decisión para cada dase es estimada a partir de las distribuciones de ios LLR.
[0125] La Figura 13 en la parte superior representa el proceso de estimación del umbral de decisión para el criterio de mínimo número de tramas acumuladas para la tarea de predicción de idioma. Diferentes umbrales de decisión son estimados para cada dase. A partir de las probabilidades obtenidas por el módulo de estimación de características del hablante los LLR son estimados. A partir de la distribución de los LLR correspondientes a la clase verdadera y otras posibles clases, el umbral de decisión l es estimado. El umbral seleccionado determinará si queremos que el modelo genere aceptación (puntuación mayor que el umbral) o rechazo (puntuación menor que el umbral) para cada test de segmento de habla. Dos tipos de errores pueden ocurrir: falsa alarma (o falsa aceptación), si el LLR es mayor que el umbral para una muestra no objetivo ( non-target ), y no detección (o falso rechazo) si el LLR es menor que el umbral para una muestra objetivo ( target ) Por tanto, a medida que las distribuciones de los LLR se superponen, sea cual sea el umbral de detección, se producirá un porcentaje de falsas aceptaciones y falsos rechazos. Cuanto mayor sea el umbral, menores serán las falsas alarmas y mayores serán los falsos rechazos. Por lo tanto, el umbral de decisión elegido (en la mayoría de ios casos de forma manual) constituye una solución de compromiso ( tradeoff ) entre las tasas de falsos positivos y las tasas de falsos negativos del sistema.
[0126] Para la estimación del umbral de decisión, uno puede emplear un conjunto de datos de entrenamiento 5 que contiene N locuciones de habla con sus respectivas características de información del hablante, por ejemplo, idioma, género. El conjunto de datos se puede definir como sigue:
Figure imgf000024_0001
donde xn denota ¡as locuciones de habla de duración con duraciones de 3-4 segundos y yn característica denota los valores verdaderos correspondientes a la dase de la característica del hablante. Las probabilidades de ¡os valores de las características predichas yn obtenidos a partir del módulo 030 y las locuciones de habla xn son usadas para calcular los LLR, A partir de las distribuciones de los LLR para cada clase, un umbral de decisión l es establecido en base ai tradeoff elegido entre las tasas de falsos positivos y falsos negativos.
[0127] Para el criterio de mínimo número de tramas acumuladas 042, uno puede asegurar que el máximo LLR, el cual se corresponde con el LLRj de ¡a clase más probable /, debe ser mayor que el umbral de decisión
Figure imgf000025_0001
es decir, el umbral asociado a la ciase más probable.
[0128] La Figura 13 en la parte inferior representa la evaluación de un segmento de tramas seleccionadas y acumuladas de habla en el tiempo t por el criterio de mínimo número de tramas acumuladas 042 para la tarea de predicción de idioma. Durante la evaluación de un segmento de habla de test, ¡os LLR son calculados a partir de ¡as probabilidades o puntuaciones obtenidas para cada clase. Luego, el máximo valor de LLR, que se corresponde con ¡a dase más probable, es seleccionado. El máximo valor de LLR es comparado con el umbral de decisión de la clase más probable. El criterio de mínimo número de tramas acumuladas 042 se cumple si solo un máximo valor de LLR es mayor que el umbral de decisión de ¡a clase más probable.
[0129] Por ejemplo, en caso de ¡a tarea de predicción de idioma, la dase de idioma predicha es español con un LLR de 0.82. Si el umbral de decisión para ¡a ciase español es 0.55, entonces el LLR para la ciase español (el cual es el máximo LLR) es mayor que el umbral de decisión. Como se cumple la condición de 042, el LLR es acumulado mediante una estimación de media ponderada 043. Por tanto, las siguientes tramas de habla en ¡os tiempos t + l, t + 2, t + 3, ... ya no son evaluados por el criterio de mínimo número de tramas acumuladas 042 ya que la condición en 041 fue satisfecha.
[0130] En caso de que haya más de un LLR máximo que sea mayor que su respectivo umbral, el criterio de mínimo número de tramas acumuladas 042 no será satisfecho. Por tanto, el flujo de trabajo continuará hasta el módulo de selección de tramas 011 hasta que solo un LLR sea mayor que su respectivo umbral.
[0131] La estimación de media ponderada 043 es similar a la realizada en el caso en que las características del hablante se expresan como valores numéricos. Existen dos principales diferencias para las características del hablante con valores categóricos: [0132] La primera diferencia es que se emplea la media ponderada de los valores LLR de los modelos en lugar de los valores predichos. El valor de LLR en el tiempo t se define de la misma manera que antes:
Vt = βvt- 1 (1 - β)St, b e [0,1] donde, St es el valor LLR para una dase específica en el tiempo actual t y Vt-1 es el valor LLR medio ponderado anterior en el tiempo t - 1, y β funciona como un hiperámetro, de la misma manera que antes. En este caso, el valor elegido para b es también 0.9.
[0133] La segunda diferencia es que la estimación de la media ponderada se realiza para cada clase de una característica específica. Por tanto, hay tanto valores de media ponderada de LLR como ciases. Una vez que se cumple el criterio de mínimo número de tramas acumuladas 042, el LLR medio ponderado se estima para cada clase. Luego, los valores medios ponderados LLR de todas las ciases se comparan entre sí, en el tiempo t, y el valor máximo es seleccionado. Este valor es considerado el valor máximo de LLR en el tiempo t.
[0134] El criterio de predicción fiable 044 para una característica del habíante con valores categóricos es similar al criterio de mínimo número de tramas acumuladas 042. Se basa tanto en los LLR y ios umbrales de decisión como para el criterio de mínimo número de tramas acumuladas 042. Evalúa si el máximo LLR estimado a partir de las tramas acumuladas, proporcionado por la estimación de media ponderada 043 en el tiempo t, es suficientemente fiable para proporcionar la ciase final de la característica del hablante.
[0135] La estimación de la media ponderada 043 proporciona los valores medios ponderados para cada ciase ai criterio de predicción fiable, el cual es satisfecho una vez que el máximo valor de LLR es mayor que su respectivo umbral de decisión, es decir, el umbral de decisión de la cíase más probable. Los umbrales seleccionados para ios criterios de fiabilidad pueden ser los mismos que los utilizados para el criterio de mínimo número de tramas o más restrictivos (es decir, que se pueden establecer umbrales más altos) ya que el criterio de predicción fiable es el último que se debe cumplir antes de que las características del hablante se incluyan en el perfil del hablante.
[0136] En caso de que haya más de un máximo LLR mayor que su respectivo umbral de decisión, no se cumplirá el criterio de predicción fiable 044. Luego el flujo de trabajo continuará al módulo de selección de trama 011, Si se cumple el criterio, no se procesarán más tramas de habla y la estimación de las características del hablante es usado e incluido en el perfil del hablante mediante el módulo 050. [0137] La Figura 14 en la parte superior representa el proceso de estimación de ios umbrales de decisión (el cual es el mismo proceso usado en la Figura 13 repetido aquí por claridad) para el criterio de predicción fiable y la tarea de predicción de idioma. Como se mencionó anteriormente, para el criterio de predicción fiable los umbrales seleccionados pueden ser diferentes a ios seleccionados en la Figura 13.
[0138] La Figura 14 en la parte superior representa la evaluación de un segmento de tramas seleccionadas y acumuladas de habla en el tiempo t mediante el criterio de predicción fiable 044 para la tarea de predicción de idioma.
[0139] Durante la evaluación del segmento de habla de test, las estimaciones de los LLR para cada clase son proporcionadas por e! módulo de predicción fiable 044. Luego, el máximo valor de LLR, el cual se corresponde a la clase más probable, es seleccionado. El valor máximo de LLR es comparado con el umbral de decisión de la ciase más probable. Se cumple el criterio de predicción fiable si el valor máximo de LLR es mayor que el umbral de decisión de la clase más probable. Por lo tanto, la ciase más probable es proporcionada como la ciase final.
[0140] Por ejemplo, en caso de la tarea de predicción de idioma, el valor máximo de LLR de los valores medios ponderados de LLR es 1.19, que se corresponde con e! idioma inglés. Considerando que el umbral de decisión para el idioma inglés es 1.00, el LLR es mayor que el umbral, el cual cumple el criterio de predicción fiable. La clase de idioma inglés es luego usado por el módulo de perfilado del hablante 050 para ser incluido en el perfil del hablante.
[0141] Para el perfilado del hablante 050, todas las características estimadas a partir de la señal de voz (por ejemplo, edad, género, altura, IMC e Idioma) son usados para completar el perfilado del hablante en la realización de ejemplo. Cada característica se agrega ai perfil progresivamente tan pronto se obtiene una estimación fiable de la característica.
[0142] En resumen, la novedad de la presente divulgación depende de tres importantes módulos los cuales permiten a! sistema conseguir una gran precisión con una baja latencia. Esos módulos son: la selección de tramas basadas en DNN 010, la estimación de características del hablante en tiempo real 030, y los criterios de parada 040.
[0143] La selección de tramas basadas en ios DNN permite seleccionar las tramas más relevantes necesarias para proporcionar una estimación fiable de la característica del hablante. El módulo de selección de tramas 010 selecciona esas tramas que contienen información relevante para la estimación de una determinada característica del hablante. Este módulo contribuye a la precisión y a la baja latencia del sistema. [0144] La estimación en tiempo rea! de las características del hablante permite estimar las características del hablante a partir de un segmento de tramas seleccionadas y acumuladas de habla en el tiempo t. El procesado a nivel de trama contribuye a la baja latencia ya que no es necesario esperar a la locución entera de habla para predecir la característica del hablante, caso contrario a los sistemas del estado del arte. Nosotros estimamos una característica del hablante con solo unas pocas tramas fiables.
[0145] Los criterios de parada incluyen dos submódulos diferentes que contribuyen a la precisión y a la baja latencia del sistema: el criterio de mínimo número de tramas acumuladas 042 y la predicción fiable de características de! hablante 044. El primero determina si el segmento de tramas seleccionadas y acumuladas es suficientemente preciso con un cierto grado de fiabilidad para ser acumulada por la estimación de la media ponderada 043. El segundo criterio 044 evalúa si la estimación de la característica del hablante en el tiempo i es suficientemente fiable para ser proporcionada como estimación final que será incluida en un perfil del hablante mediante el módulo 050.
[0146] Las técnicas descritas en el presente documento pueden implementarse mediante uno o más programas informáticos ejecutados por uno o más procesadores. Los programas informáticos incluyen instrucciones ejecutables por procesador que se almacenan en un medio legible por ordenador tangible no transitorio. Los programas informáticos también pueden incluir datos almacenados. Ejemplos no limitativos del medio legible por ordenador son la memoria no volátil, el almacenamiento magnético, y el almacenamiento óptico.
[0147] Algunas partes de la descripción anterior presenta las técnicas aquí descritas en términos de algoritmos y representaciones simbólicas de operaciones sobre información. Estas descripciones algorítmicas y representaciones son ios medios utilizados por los expertos en las técnicas de procesamiento de datos para transmitir de manera más eficaz la sustancia de su trabajo a otros expertos en la materia. Estas operaciones, si bien se describen funcional o lógicamente, se entiende que son implementadas por programas informáticos. Además, a veces también ha resultado conveniente referirse a estos arreglos de operaciones como módulos o por nombres funcionales, sin pérdida de generalidad.
[0148] A menos que se indique específicamente lo contrario como aparente de la discusión anterior, se aprecia que a lo largo de la descripción, las discusiones que utilizan términos tales como "procesamiento" o "cálculo" o "cálculo" o "determinación" o "visuaiización" o similares, se refieren a la acción y los procesos de un sistema informático, o dispositivo de computación electrónica similar, que manipula y transforma datos representados como cantidades físicas (electrónicas) dentro de las memorias o registros del sistema informático u oíros dispositivos de almacenamiento, transmisión o visualización de información [0149] Ciertos aspectos de las técnicas descritas incluyen pasos del proceso e instrucciones descritas aquí en forma de algoritmo. Debe tenerse en cuenta que los pasos e instrucciones del proceso descritos pueden incorporarse en software, firmware o hardware, y cuando se incorporan en software, pueden descargarse para residir y operar desde diferentes plataformas utilizadas por ios sistemas operativos de red en tiempo real.
[0150] La presente descripción también se refiere a un aparato para realizar las operaciones en este documento. Este aparato puede construirse especialmente para los fines requeridos, o puede comprender un ordenador activado selectivamente o reconfigurado por un programa informático almacenado en un medio legible por ordenador al que pueda acceder por ordenador. Dicho programa informático puede almacenarse en un medio tangible de almacenamiento legible por ordenador, como, entre otros, cualquier tipo de disco, incluidos disquetes, discos ópticos, CD-ROM, discos magnéticos-ópticos, memorias de solo lectura (ROM) , memorias de acceso aleatorio (RAM), ERROM, EEPROM, tarjetas magnéticas u ópticas, circuitos integrados de aplicación específica (ASIC) o cualquier tipo de medio adecuado para almacenar instrucciones electrónicas, y cada uno conectado a un bus del sistema informático. Además, ios ordenadores a los que se hace referencia en la especificación pueden incluir un único procesador o pueden ser arquitecturas que emplean diseños de múltiples procesadores para una mayor capacidad informática.
[0151] Los algoritmos y operaciones presentados aquí no están inherentemente relacionados con ningún ordenador u otro aparato en particular. También se pueden usar varios sistemas con programas de acuerdo con las enseñanzas del presente documento, o puede resultar conveniente construir aparatos más especializados para realizar ios pasos del método requeridos. La estructura requerida para una variedad de estos sistemas será evidente para ios expertos en la materia, junto con variaciones equivalentes. Además, la presente divulgación no se describe con referencia a ningún lenguaje de programación particular. Se aprecia que se pueden usar una variedad de lenguajes de programación para implemeníar las enseñanzas de la presente divulgación como se describe en el presente documento.
[0152] La descripción anterior de las realizaciones se ha proporcionado con fines ilustrativos y descriptivos. No pretende ser exhaustivo ni limitar la divulgación. Los elementos o características individuales de una realización particular generalmente no se limitan a esa realización particular, sino que, cuando corresponde, son intercambiables y pueden usarse en una realización seleccionada, incluso si no se muestran o describen específicamente. Lo mismo también puede variar de muchas maneras. Dichas variaciones no deben considerarse como una desviación de la divulgación, y todas esas modificaciones están destinadas a ser incluidas dentro del alcance de la divulgación.

Claims

REIVINDICACIONES
1. Un método implementado en ordenador para el perfilado de un hablante desconocido, de forma que un perfil de un hablante incluya un conjunto de características de hablante, que comprende: recibir una señal de voz de un hablante desconocido, donde la señal de habla se compone de una pluralidad de tramas de datos; para cada característica del hablante en el conjunto de características del hablante, seleccionando un subconjunto de tramas de datos a partir de una correspondiente señal de habla en la pluralidad de señales de habla y así excluir otras tramas de datos en la correspondiente señal de había a partir del subconjunto de tramas de datos, donde las tramas de datos en el subconjunto de tramas de datos contienen información acerca de las características de interés del hablante; y y para una característica del hablante dada, generando un vector de rasgos a partir del subconjunto de tramas de datos seleccionadas correspondiente a la característica del hablante dada y prediciendo un valor para la característica del hablante dada a partir de! vector de rasgos usando aprendizaje máquina ( machine ¡earning),
2. El método implementado en ordenador de la reivindicación 1 en el que las características de hablante son seleccionadas a partir de un grupo que consisten en edad, altura, IMG, género, acento, dialecto y raza,
3. El método implementado en ordenador de la reivindicación 1 en el que seleccionar un subconjunto de tramas de datos comprende además implementar al menos un clasificador para cada característica de hablante,
4. El método implementado en ordenador de la reivindicación 1 en el que predecir un valor de una determinada característica de hablante comprende además implementar una red neurona! para cada característica de hablante.
5. El método implementado en ordenador de la reivindicación 1 comprende además evaluar la fiabilidad del valor predicho para la característica dad de hablante; agregar el valor predicho para la característica dada de hablante a un perfil para el hablante desconocido cuando el valor predicho para la característica dada de hablante se considera fiable.
6. El método implementado en ordenador de la reivindicación 5, en el que evaluar la fiabilidad del valor predicho para una característica dada de hablante comprende además comparar el valor predicho con un intervalo de predicción, y considerar el valor pronosticado confiable cuando el valor predicho cae dentro del intervalo de predicción, donde el intervalo de predicción se basa en la varianza de la diferencia entre los valores predichos para la característica dada de hablante y los valores verdaderos para la característica dada de hablante.
7. El método implementado en ordenador de la reivindicación 5, en el que evaluar la confiabilidad del valor predicho para la característica dada del hablante comprende además comparar un ratio de verosimilitud logarítmica con un umbral de decisión y considerar el valor predicho confiable cuando el ratio de verosimilitud logarítmica excede el umbral de decisión, donde el ratio de verosimilitud logarítmica evalúa una hipótesis nula de que el valor predicho no corresponde a una característica dada del hablante y una hipótesis alternativa de que el valor predicho corresponde a la característica dada del hablante,
8. Un método implementado en ordenador para el perfilado de un hablante desconocido, de forma que un perfil de hablante incluya un conjunto de características de hablante, que comprende: a) recibir una señal de voz de un hablante desconocido, donde la señal de habla se compone de una pluralidad de tramas de datos; b) acumular tramas de datos a partir de la pluralidad de tramas de datos en una memoria intermedia (buffer); c) generar, en un tiempo dado, un vector de rasgos a partir de las tramas de datos acumuladas en el buffer de datos; d) predecir un valor para una característica del hablante dada a partir del vector de rasgos usando machíne learning , y evaluando la fiabilidad del valor predicho para la característica del hablante dada; e) añadir el valor predicho para la característica del hablante dada a un perfil para el hablante desconocido cuando el valor predicho para la característica del hablante dada es considerado fiable; y f) repetir pasos b) - d) cuando ei valor predicbo para la característica del hablante dada es considerada poco fiable.
9. El método implementado en ordenador de la reivindicación 8 en ei en el que las características del hablante en el conjunto de características del hablante se seleccionan de un grupo que consiste en edad, altura, índice de masa corporal, género, acento, dialecto y raza.
10. El método implementado en ordenador de la reivindicación 8 en ei que el vector de rasgos es generado a partir de un número de tramas de datos las cuales varían con el tiempo.
11. El método implementado en ordenador de la reivindicación 8, en el que evaluar la fiabilidad del valor predicho para la característica de hablante dada comprende además comparar el valor predicho con un intervalo de predicción, y considerar el valor predicho fiable cuando ei valor predicho cae dentro del intervalo de predicción, donde el intervalo de predicción cuantifica la incertidumbre relacionada con el valor predicho.
12. El método implementado en ordenador de la reivindicación 8, en el que evaluar la fiabilidad del valor predicho para la característica de hablante dada comprende además comparar el valor predicho con un intervalo de predicción, y considerar fiable el valor predicbo cuando ei valor predicho cae dentro del intervalo de predicción, donde el intervalo de predicción se basa en ¡a varianza de una diferencia entre ios valores predichos para la característica de hablante dada y los valores verdaderos para la característica de hablante dada.
13. El método implementado en ordenador de la reivindicación 8 en el que evaluar la fiabilidad del valor predicho para la característica de hablante dada comprende, además comparar el valor predicho con un intervalo de predicción, donde el intervalo de predicción se basa en la varianza de una diferencia entre los valores predichos para la característica de hablante dada y los valores verdaderos para la característica de hablante dada; computar una media ponderada usando ei valor predicho y la media ponderada anterior cuando el valor predicho cae dentro el intervalo de predicción, donde la media ponderada anterior es computada usando al menos un valor predicho para la característica de hablante dada partir de un vector de rasgos generado en un momento anterior al tiempo dado; comparar la media ponderada con otro intervalo de predicción; y considerar el valor predicho fiable cuando la media ponderada cae dentro del intervalo de predicción.
14. El método implementado en ordenador de la reivindicación 8, en el que evaluar la confiabiiidad del valor predicho para la característica dada del hablante comprende además comparar un ratio de verosimilitud logarítmica con un umbral de decisión y considerar el valor predicho confiable cuando el ratio de verosimilitud logarítmica excede el umbral de decisión, donde el ratio de verosimilitud logarítmica evalúa una hipótesis nula de que el valor predicho no corresponde a una característica dada del hablante y una hipótesis alternativa de que el valor predicho corresponde a la característica dada del hablante.
15. El método implementado en ordenador de la reivindicación 8, comprende además para cada característica de hablante en el conjunto de características de hablante, predecir un valor para una característica particular de hablante a partir del vector de rasgos usando una red neuronal correspondiente, donde se impiementa una red neuronal para cada característica de hablante en el conjunto de características de hablante.
16. El método implementado en ordenador de la reivindicación 8, comprende además pasos repetitivos de acumular tramas de datos de la pluralidad de tramas de datos en un buffer, generar un vector de rasgos a partir de las tramas de datos acumuladas en el buffer de datos y predecir un valor para cada característica de hablante en el conjunto de características de hablante que se considera poco confiable, de modo que estos pasos se repiten hasta que cada característica de hablante en el conjunto de características de hablante se considere fiable.
17. Un sistema para perfilar un hablante desconocido comprende: un micrófono configurado para capturar una señal de habla a partir de un hablante desconocido; un extractor de trama configurado para recibir la señal de habla a partir de un micrófono y acumular las tramas de datos a partir de una señal de habla en un buffer, un extractor de rasgos configurado para generar un vector de rasgos a partir de las tramas de datos en el buffer; un estimador de hablante configurado para recibir el vector de rasgos a partir del extractor de rasgos y, para cada característica del hablante en el conjunto de características, predecir un valor para una característica del hablante a partir del vector de rasgos usando un primer conjunto de redes neuronales, donde el estimador de hablante impiementa una red neuronal diferente para cada característica del hablante en el conjunto de características del hablante; y un perfilador de hablante es configurado para recibir los valores predichos para cada característica del hablante a partir del estimador de hablante, donde el perfilador de hablante evalúa la fiabilidad del valor predicho para cada característica del hablante y añade el valor predicho para una característica del hablante dada a un perfil del hablante cuando el valor predicho para la característica del hablante dada es considerado fiable,
18. El sistema de la reivindicación 17 en el que las características del hablante en el conjunto de características del hablante se seleccionan de un grupo que consiste en edad, altura, índice de masa corporal, género, acento, dialecto y raza.
19. El sistema de la reivindicación 17 comprende además un selector de trama configurado para recibir la señal de habla desde el extractor de trama, en el que, para cada característica del hablante, el selector de trama selecciona un subconjunto de tramas de datos de una señal de habla correspondiente en la pluralidad de señales de habla y acumula el subconjunto de tramas de datos en un buffer correspondiente a la característica del hablante, excluyendo así otras tramas de datos en la señal de habla correspondiente del subconjunto de tramas de datos, donde las tramas de datos en el subconjunto de tramas de datos contienen información sobre la característica de interés del hablante.
20. El sistema de la reivindicación 19 en donde el selector de tramas selecciona un subconjunto de tramas de datos a partir de cada una de la pluralidad de señales de habla usando un segundo conjunto de redes neuronales, donde el selector de tramas impiementa una red neuronal diferente para cada característica del hablante en el conjunto de características del hablante.
21. El sistema de la reivindicación 17, en el que el generador de perfiles del hablante evalúa la fiabilidad del valor predicho para una característica dada del hablante comparando el valor predicho con un intervalo de predicción, y considerando que el valor predicho es fiable cuando el valor predicho cae dentro del intervalo de predicción, donde el intervalo de predicción cuantifica la incertidumbre relacionada con el valor predicho.
22. El sistema de la reivindicación 17, en el que el generador de perfiles del hablante evalúa la fiabilidad del valor predicho para una característica dada del hablante comparando el valor predicho con un intervalo de predicción, donde el intervalo de predicción se basa en la varianza de una diferencia entre los valores predichos para una característica de hablante dada y los valores verdaderos para una característica de hablante dada; computando una media ponderada usando el valor predicho y una media ponderada anterior cuando el valor predicho cae dentro del intervalo de predicción, donde la media ponderada anterior es computada usando al menos un valor predicho para la característica del hablante dada predicha a partir de un vector de rasgos generado en un tiempo anterior al actual; comparando la media ponderada con otro intervalo de predicción; y considerando fiable el valor predicho cuando la media ponderada cae dentro del Intervalo de predicción,
PCT/ES2019/070849 2019-12-16 2019-12-16 Método y sistema para estimar características de hablante sobre la marcha para hablante desconocido con alta precisión y baja latencia WO2021123462A1 (es)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19870072.6A EP4080501A1 (en) 2019-12-16 2019-12-16 Method and system to estimate speaker characteristics on-the-fly for unknown speaker with high accuracy and low latency
US16/632,744 US11488608B2 (en) 2019-12-16 2019-12-16 Method and system to estimate speaker characteristics on-the-fly for unknown speaker with high accuracy and low latency
PCT/ES2019/070849 WO2021123462A1 (es) 2019-12-16 2019-12-16 Método y sistema para estimar características de hablante sobre la marcha para hablante desconocido con alta precisión y baja latencia

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/ES2019/070849 WO2021123462A1 (es) 2019-12-16 2019-12-16 Método y sistema para estimar características de hablante sobre la marcha para hablante desconocido con alta precisión y baja latencia

Publications (1)

Publication Number Publication Date
WO2021123462A1 true WO2021123462A1 (es) 2021-06-24

Family

ID=70189981

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2019/070849 WO2021123462A1 (es) 2019-12-16 2019-12-16 Método y sistema para estimar características de hablante sobre la marcha para hablante desconocido con alta precisión y baja latencia

Country Status (3)

Country Link
US (1) US11488608B2 (es)
EP (1) EP4080501A1 (es)
WO (1) WO2021123462A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220024217A (ko) * 2019-05-30 2022-03-03 인슈어런스 서비시스 오피스, 인코포레이티드 음성 속성의 머신 러닝을 위한 시스템 및 방법
US11699447B2 (en) * 2020-06-22 2023-07-11 Rovi Guides, Inc. Systems and methods for determining traits based on voice analysis
US11450334B2 (en) 2020-09-09 2022-09-20 Rovi Guides, Inc. Systems and methods for filtering unwanted sounds from a conference call using voice synthesis
US11817113B2 (en) * 2020-09-09 2023-11-14 Rovi Guides, Inc. Systems and methods for filtering unwanted sounds from a conference call

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016209888A1 (en) * 2015-06-22 2016-12-29 Rita Singh Processing speech signals in voice-based profiling
US9564123B1 (en) * 2014-05-12 2017-02-07 Soundhound, Inc. Method and system for building an integrated user profile
WO2019089432A1 (en) * 2017-10-30 2019-05-09 The Research Foundation For The State University Of New York System and method associated with user authentication based on an acoustic-based echo-signature

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970115B1 (en) * 2005-10-05 2011-06-28 Avaya Inc. Assisted discrimination of similar sounding speakers
US7788101B2 (en) * 2005-10-31 2010-08-31 Hitachi, Ltd. Adaptation method for inter-person biometrics variability
US9368109B2 (en) * 2013-05-31 2016-06-14 Nuance Communications, Inc. Method and apparatus for automatic speaker-based speech clustering
US9384738B2 (en) * 2014-06-24 2016-07-05 Google Inc. Dynamic threshold for speaker verification
US10395640B1 (en) * 2014-07-23 2019-08-27 Nvoq Incorporated Systems and methods evaluating user audio profiles for continuous speech recognition
US10127911B2 (en) * 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
JP6527187B2 (ja) * 2017-03-22 2019-06-05 ファナック株式会社 学習モデル構築装置、異常検出装置、異常検出システム及びサーバ
EP3682444A1 (en) * 2017-09-11 2020-07-22 Telefonaktiebolaget LM Ericsson (PUBL) Voice-controlled management of user profiles
US20220121902A1 (en) * 2019-02-06 2022-04-21 Oxford University Innovation Limited Method and apparatus for quality prediction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9564123B1 (en) * 2014-05-12 2017-02-07 Soundhound, Inc. Method and system for building an integrated user profile
WO2016209888A1 (en) * 2015-06-22 2016-12-29 Rita Singh Processing speech signals in voice-based profiling
WO2019089432A1 (en) * 2017-10-30 2019-05-09 The Research Foundation For The State University Of New York System and method associated with user authentication based on an acoustic-based echo-signature

Also Published As

Publication number Publication date
US20210407523A1 (en) 2021-12-30
EP4080501A1 (en) 2022-10-26
US11488608B2 (en) 2022-11-01

Similar Documents

Publication Publication Date Title
WO2021123462A1 (es) Método y sistema para estimar características de hablante sobre la marcha para hablante desconocido con alta precisión y baja latencia
JP6303971B2 (ja) 話者交替検出装置、話者交替検出方法及び話者交替検出用コンピュータプログラム
KR101702829B1 (ko) 인공 신경망 기반 서브-음성 유닛 구별을 이용한 화자 검증 및 식별
DK2713367T3 (en) Speech Recognition
Thiolliere et al. A hybrid dynamic time warping-deep neural network architecture for unsupervised acoustic modeling.
Kamppari et al. Word and phone level acoustic confidence scoring
US9865253B1 (en) Synthetic speech discrimination systems and methods
US20090119103A1 (en) Speaker recognition system
CN100363938C (zh) 基于得分差加权融合的多模态身份识别方法
US9530417B2 (en) Methods, systems, and circuits for text independent speaker recognition with automatic learning features
India Massana et al. LSTM neural network-based speaker segmentation using acoustic and language modelling
Agrawal et al. Prosodic feature based text dependent speaker recognition using machine learning algorithms
Gosztolya et al. Determining native language and deception using phonetic features and classifier combination
Richiardi et al. A probabilistic measure of modality reliability in speaker verification
Singh et al. Efficient Modelling Technique based Speaker Recognition under Limited Speech Data
Richiardi et al. Speaker verification with confidence and reliability measures
Lopes et al. Broad phonetic class definition driven by phone confusions
Boominathan et al. Speaker recognition via sparse representations using orthogonal matching pursuit
WO2002029785A1 (en) Method, apparatus, and system for speaker verification based on orthogonal gaussian mixture model (gmm)
Liu et al. Feature selection for fusion of speaker verification via maximum kullback-leibler distance
Odriozola et al. An on-line VAD based on Multi-Normalisation Scoring (MNS) of observation likelihoods
Richiardi et al. Confidence and reliability measures in speaker verification
Olsson Text dependent speaker verification with a hybrid HMM/ANN system
Gomez A text independent speaker recognition system using a novel parametric neural network
Neiberg Text Independent speaker verification using adapted Gaussian mixture models

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19870072

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019870072

Country of ref document: EP

Effective date: 20220718