EP1723635A1 - Procede d'identification automatique de langues, en temps reel, dans un signal audio et dispositif de mise en oeuvre - Google Patents
Procede d'identification automatique de langues, en temps reel, dans un signal audio et dispositif de mise en oeuvreInfo
- Publication number
- EP1723635A1 EP1723635A1 EP05716845A EP05716845A EP1723635A1 EP 1723635 A1 EP1723635 A1 EP 1723635A1 EP 05716845 A EP05716845 A EP 05716845A EP 05716845 A EP05716845 A EP 05716845A EP 1723635 A1 EP1723635 A1 EP 1723635A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- language
- languages
- english
- samples
- learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 27
- 230000005236 sound signal Effects 0.000 title claims description 9
- 238000012360 testing method Methods 0.000 claims description 35
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 230000004927 fusion Effects 0.000 claims description 8
- 230000002123 temporal effect Effects 0.000 claims description 2
- 210000002569 neuron Anatomy 0.000 abstract description 5
- 230000001537 neural effect Effects 0.000 abstract description 4
- 238000002372 labelling Methods 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 11
- 241001014642 Rasta Species 0.000 description 10
- 241001672694 Citrus reticulata Species 0.000 description 6
- 235000019838 diammonium phosphate Nutrition 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 102100021908 3-mercaptopyruvate sulfurtransferase Human genes 0.000 description 3
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 3
- 101000753843 Homo sapiens 3-mercaptopyruvate sulfurtransferase Proteins 0.000 description 3
- 101000813777 Homo sapiens Splicing factor ESS-2 homolog Proteins 0.000 description 3
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 3
- 102100039575 Splicing factor ESS-2 homolog Human genes 0.000 description 3
- 101000640206 Tityus serrulatus Alpha-mammal toxin Ts2 Proteins 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 241000219495 Betulaceae Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/005—Language recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech 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 invention relates to a method for automatically identifying languages, in real time, in an audio signal, as well as to a device for implementing this method.
- Automatic language identification devices may be used, for example, in radio listening stations for broadcasts in several different languages in order to direct the broadcasts of each identified language to the specialist of that language or to the device. corresponding registration. It is known from the document "Identifying Language from Raw Speech - An Application of Recurrent Neural Networks" presented at the "5th Midwest Artificial Intelligence and Cognitive Science Conference" in April 1993, pages 53-57, a language identification device. based on neural networks. The described device treats only two languages, in a reduced case study (some speakers), and no means is indicated to allow its possible generalization to several languages and to a large number of speakers.
- this device has performance directly related to the duration of the audio signal (which is 12s at least).
- the main problem with current automatic language identification (IAL) systems is that they are based on an Acoustico-Phonetic Decoding (DAP) which requires a sound-labeled corpus (audio database) (whose names have been identified). phonemes) which is only available in very few languages. This is why we see systems that try to overcome this lack of corpus by: - the multiplication of language models using PPRLM ("Parallel Phone Recognition followed by Language Modeling", ie ie parallel audio recognition followed by language modeling), using multiple DAPs. But the optimum of this system is with as many DAP as languages to identify.
- PPRLM Parallel Phone Recognition followed by Language Modeling
- this non-generalized PPRLM technique is only a palliative to the lack of DAP for the extension of the IAL to a high number of languages.
- GMM Global System for Mobile Communications
- These two methods have the common point of wanting to convert the speech signal into another format of representation, to model it afterwards.
- prosody detection of rhythm and intonation of speech
- this process is not robust vis - with respect to the possible disturbances of the processed signal and can not be extended to a large number (several thousands, for example) of different speakers.
- the second major problem of the known methods is the calculation time.
- all these systems act in two phases. In a first phase, they seek to detect and identify acoustic units, usually phonemes or pseudo-phonemes or phonetic macro-classes. In addition, most of these systems perform temporal modeling of these MMC (Hidden Markov Model) type phonemes.
- MMC Hidden Markov Model
- the second phase consists of modeling the acoustic unit sequence so as to benefit from phonotactic discrimination (phoneme sequencing over time).
- the present invention relates to a method of automatic identification of languages that can operate in real time, and whose implementation is as simple as possible.
- the method according to the invention is a method for automatically identifying real-time languages in an audio signal, according to which the audio signal is digitized, the acoustic characteristics are extracted and processed using neural networks, and it is characterized in that each language to be discriminated between at least one pair of languages comprising the language to be processed and another language forming part is detected.
- a corpus of samples of several different languages and that for each language processed, all the samples of the incident signal are temporally fused over a finite duration, for all the possible pairs comprising in each case the treated language considered and the one of the other languages taken into account.
- the time fusion is performed by calculating over a finite time the average value of all the samples whose module exceeds a determined threshold.
- the average value of the results of the first fusion is calculated and this average value is compared with another determined threshold.
- the approach of the invention offers a compromise between the various problems: number of languages treated , phoneme labeling, speed. Its principle is an acoustic discrimination of languages, which is performed with a neural modeling guaranteeing the execution a low computation time (for example less than 3 seconds).
- neural networks generally perform very good discriminations since their primary purpose is to create hyper-plan separators between the different languages taken two by two.
- FIG. 1 is a simplified diagram of the various stages of the FIG. 2 is a diagram of distance rejection curves on English versus French identification during the learning phase of the method of the invention
- FIG. 3 is a diagram of rejection curves of FIG. distance on the identification English against French in the test phase of the method of the invention
- Figure 4 is a block diagram of an embodiment of an English language detector according to the invention
- FIG. 5 is a diagram of distance rejection curves at the English identification output during the test phase of the method of the invention
- FIG. 1 is a simplified diagram of the various stages of the FIG. 2 is a diagram of distance rejection curves on English versus French identification during the learning phase of the method of the invention
- FIG. 3 is a diagram of rejection curves of FIG. distance on the identification English against French in the test phase of the method of the invention
- Figure 4 is a block diagram of an embodiment of an English language detector according to the invention
- FIG. 5 is a diagram of distance rejection curves at the English identification output during the test phase of the method of the invention
- FIG. 6 is a diagram explaining the refinement phase of the decision during of the detection of a language
- Figure 7 is a diagram of difference type rejection curves at the outputs of the English language detection enhancement network.
- the diagram of FIG. 1 globally illustrates a device implementing the various steps of the method of the invention.
- the languages to be recognized are numbered from L1 to LN.
- N eleven
- the invention can be applied to any number of languages, and at least two languages, but it is generally preferable that N is the largest possible (given the linguistic database available).
- layer 1 is composed of N neural network language detection systems (denoted "L1 y / n" to "LN y / n"), one per language.
- Each detection system uses N-1 discriminating systems. To simplify the drawing, it is shown in the lower part of Figure 1 that the details of embodiment of the discriminating system relating to the detection system "L1 y / n".
- the discriminant system shown in detail comprises N-1 elementary discriminators denoted “L1 vs. L2" to "L1 vs. LN".
- Each of these elementary discriminators comprises two outputs on which appear respectively a membership distance information to the language in question (language L1 for the example of FIG. 1) and a membership distance information to the other language used to elementary discrimination (another language denoted L2 to LN respectively for discriminators "L1 vs L2" to "L1 vs LN").
- the information appearing on these different outputs are then individually compared to a first threshold S1, and then "fused" temporally and globally, for example by individually calculating the time average (function denoted “Phase 2") of the output information of each discriminator elementary for all incident samples occurring consecutively for a finite period of time (in this case, for which one wants to identify a language as quickly as possible). possible, this period of time is 3 seconds, and the samples have a duration of 32 ms, with a mutual overlap of 16 ms, but it is understood that these parameters may have other values, depending on the applications envisaged) .
- the different average values thus obtained are "merged” globally, for example by calculating their global mean value, and compared to a second threshold S2 (function denoted "phase 3").
- the value of the deviation from S2 is the output of the detection system "L1 y / n" and represents the detection or non-detection information of L1. These operations are performed in the same way for all other detection systems “L2 y / n" to "LN y / n”.
- the thresholds S1 and S2 are determined experimentally during the learning of the neural networks of the system to obtain the best possible results of recognition. Each discriminating system detects on the one hand the language it supports and on the other hand one of the other languages. The results of each of these discriminant systems are merged over time. Then we merge the outputs of the discriminant systems, thus creating the detection output of the language in question.
- Layer 2 is composed of N systems for strengthening the language detection decision.
- Layer 3 makes it possible to switch from a language detection technique to a language identification technique by classifying the different detections.
- This system is implemented in two main stages. The first consists of training discriminant systems (learning their neural networks) and then adjusting the overall system with different thresholds. The second step is the actual use, where the samples of the incident signal are scanned for a path from layer 1 to layer 3.
- the discriminating systems "L1 vs Li” (i ranging from 1 to N for the detection system “L1 y / n", and so on for other detection systems) are driven on acoustic vectors, while identification is made on sentences of a longer duration (3s) involving an accumulation of results over time and making it possible to refine the response.
- To learn discriminating systems it is necessary to organize the starting corpus. To realize the system, you need a multilingual corpus of speech. Successful trials were conducted with the shortest possible data size of 3s. To do this, a transformation of the corpus is necessary.
- All audio files in the corpus are cut into 3s files, then sorted by categories: male, female, child, non-native, and then again in each of these categories, another category level is created based on the language being examined, and within these, three subcategories are created: learning, "testing" (part of corpus used for validation, when discriminating between languages taken two by two), and testing, at the rate of 3 / 5, 1/5, 1/5 of the corpus samples in each subcategory. From this new corpus, we extract for each of the languages: a learning base derived from the subcategories "learning" but without distinction of sex, age, or native language. The same applies to the test and test bases.
- RASTA bases are translated using a speech encoder (acoustic extractor type RASTA with 23 parameters, the power coefficient has been removed). Using 32ms sliding windows interlaced by 16ms, each of the 3s audio files is transformed into a sequence of RASTA parameter vectors. The concatenation of these sequences makes it possible to constitute new bases (so-called RASTA bases).
- the discriminating systems of the invention are implemented by discriminating one language with respect to another. This implementation is done by each of the elements referenced "L1 vs LN" in the diagram of Figure 1. For this purpose, the creation of databases is necessary for learning and testing.
- the modeling used is of the neuronal type, because the invention uses the neural networks in order to create a hyper-plane separating the languages two by two, as well as a distance of belonging to a class, a class being one of the two languages.
- the following procedure is used to create the learning (APP), test (ESS), and test (TST) databases. These bases are created from the raw RASTA bases of each of the languages keeping the separation APP, ESS, TST. They contain the same number of examples for each class.
- the samples are drawn randomly into the database.
- a sample (a RASTA parameter vector) corresponds to 32ms of audio segment.
- a base is constituted in equal parts of each class, the samples being alternated. This is followed by learning as follows.
- the neural network used in the present case is of the MLP (multi layer perceptron) type and its dimensions are, for example: 23 inputs, 50 hidden layer neurons and 2 output cells (one per class).
- the learning takes place in the following way: the examples of each class are presented alternately, one class then the other and so on, the classes being in this case English and French.
- the learning step is fixed.
- the neural network weights are changed after each sample, and all samples are presented in the same order, iteratively.
- the test base is used to stop learning and thus avoid over-learning. Two types of sample rejects are used in the classification phase.
- the first is called distance and is calculated in the following way: -be two variables x1 and x2 (characterizing the estimated degree of belonging of the sample examined to the one and the other language) varying between -1 and + 1, and R (rejection threshold) also varies from -1 to +1. for each sample: -If x1 is greater than R and x1 is greater than x2, then x1 wins -Si x2 is greater than R and x2 is greater than x1, so x2 wins -If we are not in any of these case, the sample is rejected.
- the second type of rejection is called the difference and is calculated as follows: -be two variables x1 and x2 varying between -1 and +1, and R (rejection threshold) also varying, but from 0 to +2. -If the absolute value of x1 minus x2 is less than or equal to R, we reject. -If the largest value between x1 and x2 wins.
- the results obtained are those of "English against French" discrimination with both types of rejections, on the basis of test (APP learning corpora), during the evaluation. Examples are drawn randomly from the database, regardless of the class. The curves obtained are represented in FIGS. 2 and 3. These curves show that the recognition scores without rejection are 62% on average and that the rejection makes it possible to improve these results.
- the rejection has a rapid growth.
- the scores are based on the principle: number of correct answers given per class compared to the total number of non-rejected samples. This allows us to deduce that the information "amplitude" of the output level of the cells has a meaning that would be (statistically speaking) a level of certainty.
- These scores were obtained with samples (produced by acoustic extraction RASTA) each representing the equivalent of 32 ms of audio file.
- the invention further includes the generalization of discrimination to other possible pairs of languages (L1 vs. L2 to L1 vs.
- the scores of the first line correspond to the ratio of the number of times that the corresponding network answered English whereas indeed English was submitted to him, to the total number of examples of English that were submitted to him.
- the scores in the second row correspond to the ratio of the number of times the network answered "other language”, namely, in each case, Persian, French, etc., respectively. that indeed the sample submitted corresponded to this "other language", to the total number of examples of this "other language”.
- the third line corresponds to the average of the two Persian French German Hindi Japanese Korean Mandarin Spanish Tamil Vietnamese real language 59.87% 63.82% 61.50% 60.85% 60.13% 61.17% 65.43% 65 , 40% 64,03% 63,92% other language 63,84% 62,25% 59,03% 67,70% 65,49% 67,52% 63,23% 57,40% 65,24% 66 , 81% total 61.86% 63.04% 60.27% 64.28% 62.81% 64.35% 64.33% 61.40% 64.64% 65.37% above.
- the overall average is 63.23%.
- the rejection has the same effects as before. It is therefore possible to increase these scores by increasing the number of samples for decision making, from 32ms (equivalent to a phoneme piece) to a sentence.
- the results are discriminations between English and another language, the goal being to obtain an English output yes / no.
- the next step of the method of the invention is to switch from discrimination "one language against another" to the information "language detected or not". This step is implemented by reusing previously created neural networks to perform this task. But the networks have been trained to recognize two languages, so a robust fusion of information is needed, both in time and for all the different networks.
- the passage of the acoustic parameter vectors (RASTA) to the sentences of 3s was done by a time average of the outputs of the different networks. These two means are obtained using the detector shown in FIG. 4 (which takes up the elements of the lower part of FIG. 1), this detector corresponding in the diagram of FIG. 1 to an element called "Li y / n". (i can take one of the values from 1 to N).
- the RASTA coding extracts the acoustic parameters from the raw signal. These parameters are then submitted to each of the ten networks ("L1 vs. L2" to "L1 vs. LN").
- the incident acoustic signal lasts 3s, the coding (RASTA) produces a sequence of parameters, and the networks produce for these 3s on each of their outputs a sequence of information.
- the sequence produced by each of the networks is recovered and averaged individually, and each network produces a pair of two parameters.
- phase 3 we sum up the different parameters, those appearing at the exit "yes” corresponding to English and "no" to the other language.
- Threshold 1 there are two thresholds, Threshold 1 and Threshold 2.
- Threshold 1 is a level that intervenes in the average operation, determined with a criterion "rejection difference", it allows to calculate the average only on values having an absolute difference superior to it.
- Threshold 2 is used as the decision threshold, based on the "average yes” information. In addition, the "average no” information could be used, although it is not used in this example. These two thresholds were determined by performing tests on a large number of combinations of these two thresholds (for example several hundred), retaining those that caused the best scores on the APP corpus. According to another characteristic of the invention, when the samples whose distance (or, possibly, the difference), as defined above, is such that neither x1 nor x2 prevails, the samples can be improved. recognition scores.
- rejection level rejection distance ranging from 0 to 1
- score "yes” ratio of the number of times English is recognized as the total number of English examples selected
- score "no” ratio of the number of times non-English is recognized to the total number of non-English examples selected
- total score average of "yes” scores and "no” scores
- rejection% y ratio of the number of rejected English elements to the total number of English elements
- rejection% n ratio of the number of non-English elements rejected to the total number of non-English elements
- the device of the invention is applied to the other languages (L2 to L11) of the corpus.
- corpora for learning, testing and testing are created for all language pairs.
- the corpus used initially is the well-known OGI (Oregon graduate Multilingual Speech Corpus) corpus, which has ten other languages. One creates for each of them, the ten bases of learning of test and corresponding test. With these bases the neural networks (phase 1 of FIG. 4) are driven according to the same operating mode as for English. We create the same structure of discrimination for the passage to the sentences of 3s, and with the same method as for English one determines the corresponding thresholds.
- OGI Orthogon graduate Multilingual Speech Corpus
- This table summarizes the scores of the different language detection systems. These scores are calculated on the principle: number of good detections of a class compared to the total number of examples of the class, the first class being the language to be detected and the second class comprising all the other languages. These results are obtained without rejection, the rejection curves (not shown) being of the same shape for each of the detection systems.
- the overall average of the detectors is 73%, for audio segments of 3s. This average of 73% shows that the generalization was conclusive and that the method is reproducible.
- each discriminator gives its response independently of the others, and the amplitudes of the output information of these discriminators have a meaning that is deduced from the rejection curves.
- the output information of the other discriminators can also be exploited in order to reinforce the decision of a discriminator.
- the purpose of reinforcing the decision-making is to use the knowledge provided by the other language detection outputs to refine the own response of a discriminator of a given language. This refinement is achieved by the addition of an additional layer at the output of the language detectors as shown in FIG. 6.
- the second layer consists of eleven separate neuron networks of the MLP type ("Multi Layer Perceptron"). All these networks have identical dimensions, which are, for the present example: 11 inputs, 22 neurons in hidden layer and 2 output cells, the first cell corresponding to: "yes it is the language", and the second to: "No it's not the language”.
- the learning is done in the same way as for the networks of the first layer, with a base of learning and test.
- the examples are presented alternately by class, the modification of the weights of the networks is made after the passage of each sample, and the learning step is constant.
- the creation of the learning, testing and test bases is done as follows: during phase 1, we transform the learning, testing and "first" test bases (corresponding to the RASTA parameters) .
- For each language detector three output databases corresponding to the APP, ESS and TST databases are thus created.
- the output information of each detector is the distance between the value of the "yes average” and the "threshold 2" (English detection scheme).
- Each reinforcement network has its own bases which are extracted from newly created databases (APP2, ESS2, TST2), in the sense that the classes of each of these reinforcement networks are different.
- Class 1 is English and Class 2 is the fusion of the other ten languages: Persian, French, German ....
- Class 1 is Vietnamese and Class 2 is the fusion of the other ten languages: English, Persian, French, German ....
- an identical number of samples are taken randomly, but homogeneously in each of the languages, and this for the bases of learning, testing and test.
- Class 1 is duplicated ten times and samples alternately arranged in the other classes.
- a reinforcement network has three bases: learning, testing, and testing, which are extracted respectively from APP2, ESS2, and TST2.
- the results in test of the learning of the different networks are presented in the table below: score yes s ⁇ re no total score english 78,45% 77,29% 77,87% persan 73,91% 76,36% 75, 14% French 79.31% 78.90% 79.11% German 76.53% 76.02% 76.28% Hindi 77.99% 76.44% 77.22% Japanese 74.09% 78.80% 76.45% Korean 76.41% 75.45% 75.93% Mandarin 74.27% 77.72% 76.00% Spanish 76.90% 78.47% 77.69% Tamil 85.10% 80, 11% 82.61% Vietnamese 77.22% 78.61% 77.92% average 77.47%
- the column “score yes” is the ratio of the number of times the network has answered "yes
- the “score no” column is the number of times the network answered "no it is not the language” to the total number of samples not in the language to be identified. Biases, corresponding to the addition of a slight quantity on the outputs of the networks, are introduced in order to reduce the difference between the columns: “score yes” and “score no” of the preceding table. These biases are determined experimentally from the results of the network test base. These results are without rejection. They provide a gain of more than 4 points for language detection. If a difference type rejection is made on the outputs of the network identifying the English one obtains the results illustrated by the curves of FIG. 7. These curves are obtained without the bias "balancing" the scores without rejection, indeed deforms the rejection curves).
- Each box of the matrix corresponds to the ratio of detections to the total number of audio segments of 3s submitted.
- the lines correspond to the language actually subject and the columns to the results of the different detectors. Thus, we see that when we submit English to English detector, it identifies 78.91% English. But we also find that the Persian detector confuses 22.84% Persian and English.
- the "yes" line corresponds to the good detection score by the appropriate detector.
- the line “sore no” corresponds to the average of the good non-detection scores of the appropriate detector.
- the “total” line is the average of the detection and non-detection scores.
- the "average” box corresponds to the global average of the detectors. This overall average makes it possible to show that the eleven languages of the OGI corpus are detected with a score of 77.29% on sentences of
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
L'approche de l'invention offre un compromis entre les différents problèmes : nombre de langues traitées, étiquetage des phonèmes, rapidité. Elle a pour principe une discrimination acoustique des langues, qui est effectuée avec une modélisation neuronale garantissant à l'exécution un temps de calcul faible (par exemple inférieur à 3 secondes). En outre, les réseaux de neurones effectuent généralement de très bonnes discriminations puisque leur vocation première est de créer des hyper-plans séparateurs entre les différentes langues prises deux à deux. En résumé, l'invention applique un principe de discrimination des langues entre elles, en opposant des paires de langues, puis en fusionnant les résultats.
Description
PROCEDE D'IDENTIFICATION AUTOMATIQUE DE LANGUES, EN TEMPS REEL, DANS UN SIGNAL AUDIO ET DISPOSITIF DE MISE EN ŒUVRE
La présente invention se rapporte à un procédé d'identification automatique de langues, en temps réel, dans un signal audio, ainsi qu'à un dispositif de mise en œuvre de ce procédé. Des dispositifs automatiques d'identification de langues peuvent être utilisés, par exemple, dans de stations d'écoute radiophonique d'émissions en plusieurs langues différentes afin d'aiguiller les émissions de chaque langue identifiée vers le spécialiste de cette langue ou vers le dispositif d'enregistrement correspondant. On connaît d'après le document « Identifying Language from Raw Speech - An Application of Récurrent Neural Networks » présenté à la « 5th Midwest Artificial Intelligence and Cognitive Science Conférence » en Avril 1993, pages 53 à 57, un dispositif d'identification de langues à base de réseaux neuronaux. Le dispositif décrit ne traite que deux langues, dans un cas d'étude réduit (quelques locuteurs), et aucun moyen n'est indiqué pour permettre son éventuelle généralisation à plusieurs langues et à un grand nombre de locuteurs. En outre, ce dispositif a des performances directement liées à la durée du signal audio (qui est de 12s au moins). Le principal problème des systèmes actuels d'identification automatique de langues (IAL) est qu'ils se basent sur un Décodage Acoustico-Phonétique (DAP) qui nécessite un corpus (base de données audio) étiqueté au niveau phonétique (dont on a identifié les phonèmes) qui n'est disponible que dans très peu de langues. C'est pour cela que l'on voit des systèmes qui essaient de pallier ce manque de corpus par : - la démultiplication des modèles de langage à l'aide de PPRLM (« Parallel Phone récognition followed by Language Modeling », c'est-à-dire reconnaissance audio en parallèle suivie de la modélisation de la langue), en utilisant plusieurs DAP. Mais l'optimum de ce système se situe avec autant de DAP que de langues à identifier. Par conséquent, cette technique du PPRLM non généralisé n'est qu'un palliatif au manque de DAP pour l'extension de l'IAL à un nombre de langues élevé.
- l'utilisation de GMM (« Gaussian Mixture Model », c'est-à-dire modèle mixte gaussien) pour remplacer les DAP. Ces deux méthodes ont pour point commun de vouloir convertir le signal de parole en un autre format de représentation, pour le modéliser ensuite. - l'utilisation de la prosodie (détection du rythme et de l'intonation de la parole), pour trouver de nouvelles unités acoustiques dans le but de remplacer les phonèmes et créer ainsi un étiquetage automatique, mais ce procédé n'est pas robuste vis- à-vis des perturbations éventuelles du signal traité et ne peut pas être étendu à un grand nombre (plusieurs milliers, par exemple) de locuteurs différents. Le deuxième grand problème des procédés connus est le temps de calcul. Plus le système se parallélise, plus le système devient complexe, plus il devient lent. Si l'on cherche une architecture globale et commune à tous ces systèmes pour l'identification des langues, on constate que tous ces systèmes agissent en deux phases. Dans une première phase, ils cherchent à détecter et à identifier des unités acoustiques, généralement des phonèmes ou des pseudo-phonèmes ou des macro-classes phonétiques. En outre, le plus souvent, ces systèmes réalisent une modélisation temporelle de ces phonèmes de type MMC (Modèle de Markov Caché). La deuxième phase consiste à modéliser la séquence d'unité acoustique de manière à bénéficier de la discrimination phonotactique (enchaînement des phonèmes dans le temps). La présente invention a pour objet un procédé d'identification automatique de langues qui puisse fonctionner en temps réel, et dont la mise en œuvre soit la plus simple possible. Elle a également pour objet un dispositif de mise en œuvre d'un tel procédé. Le procédé conforme à l'invention est un procédé d'identification automatique de langues en temps réel dans un signal audio, selon lequel on numérise le signal audio, on en extrait les caractéristiques acoustiques et on le traite à l'aide de réseaux neuronaux, et il est caractérisé en ce que l'on détecte chaque langue à traiter par discrimination entre au moins un couple de langues comportant la langue à traiter et une autre langue faisant partie
d'un corpus d'échantillons de plusieurs langues différentes et que pour chaque langue traitée, on fusionne temporellement sur une durée finie tous les échantillons du signal incident et ce, pour tous les couples possibles comportant à chaque fois la langue traitée considérée et l'une des autres langues prises en compte. Selon une caractéristique de l'invention, on réalise la fusion temporelle en calculant sur une durée finie la valeur moyenne de tous les échantillons dont le module dépasse un seuil déterminé. Selon une autre caractéristique de l'invention, on calcule la valeur moyenne des résultats de la première fusion et on compare cette valeur moyenne à un autre seuil déterminé L'approche de l'invention offre un compromis entre les différents problèmes : nombre de langues traitées, étiquetage des phonèmes, rapidité. Elle a pour principe une discrimination acoustique des langues, qui est effectuée avec une modélisation neuronale garantissant à l'exécution un temps de calcul faible (par exemple inférieur à 3 secondes). En outre, les réseaux de neurones effectuent généralement de très bonnes discriminations puisque leur vocation première est de créer des hyper-plans séparateurs entre les différentes langues prises deux à deux. En résumé, l'invention applique un principe de discrimination des langues entre elles, en opposant des paires de langues, puis en fusionnant les résultats. La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation, pris à titre d'exemple non limitatif et illustré par le dessin annexé, sur lequel : • la figure 1 est un diagramme simplifié des différentes étapes du procédé de l'invention, • la figure 2 est un diagramme de courbes de rejet de distance sur l'identification anglais contre français en phase d'apprentissage du procédé de l'invention, • la figure 3 est un diagramme de courbes de rejet de distance sur l'identification anglais contre français en phase de test du procédé de l'invention, • la figure 4 est un bloc-diagramme d'un exemple de réalisation d'un détecteur de langue anglaise conforme à l'invention,
• la figure 5 est un diagramme de courbes de rejet de distance à la sortie d'identification d'anglais en phase de test du procédé de l'invention, • la figure 6 est un diagramme explicitant la phase d'affinement de la décision lors de la détection d'une langue, et • la figure 7 est un diagramme de courbes de rejet de type différence aux sorties du réseau de renforcement de la détection de langue anglaise. Le diagramme de la figure 1 illustre de façon globale un dispositif mettant en œuvre les différentes étapes du procédé de l'invention. Les langues à reconnaître sont numérotées de L1 à LN. Dans le présent exemple, on traite onze langues différentes (N=11), mais il est bien entendu que l'invention peut s'appliquer à un nombre quelconque de langues, et au minimum deux langues, mais il est généralement préférable que N soit le plus grand possible (compte tenu de la base de données linguistique dont on dispose). Sur ce diagramme, la couche 1 est composée de N systèmes de détection de langues à réseaux neuronaux (notés « L1 y/n » à « LN y/n »), à raison d'un par langue. Chaque système de détection utilise N-1 systèmes discriminants. Pour simplifier le dessin, on n'a représenté sur la partie inférieure de la figure 1 que les détails de réalisation du système discriminant relatif au système de détection « L1 y/n ». Le système discriminant représenté en détail comporte N-1 discriminateurs élémentaires notés « L1 vs L2 » à « L1 vs LN ». Chacun de ces discriminateurs élémentaires comporte deux sorties sur lesquelles apparaissent respectivement une information de distance d'appartenance à la langue considérée (langue L1 pour l'exemple de la figure 1) et une information de distance d'appartenance à l'autre langue utilisée pour la discrimination élémentaire (autre langue notée L2 à LN respectivement pour les discriminateurs « L1 vs L2 » à « L1 vs LN » ). Les informations apparaissant sur ces différentes sorties sont ensuite comparées individuellement à un premier seuil S1, puis on les « fusionne » temporellement et globalement, par exemple en calculant individuellement la moyenne temporelle (fonction notée « Phase 2 ») des informations de sortie de chaque discriminateur élémentaire pour tous les échantillons incidents se présentant consécutivement pendant un laps de temps fini (dans le cas présent, pour lequel on veut identifier une langue le plus rapidement
possible, ce laps de temps est de 3 secondes, et les échantillons ont une durée de 32 ms, avec un recouvrement mutuel de 16 ms, mais il est bien entendu que ces paramètres peuvent avoir d'autres valeurs, en fonction des applications envisagées). Les différentes valeurs moyennes ainsi obtenues sont « fusionnées » globalement, par exemple par calcul de leur valeur moyenne globale, et comparées à un deuxième seuil S2 (fonction notée « phase 3 »). La valeur de l'écart par rapport à S2 constitue l'information de sortie du système de détection « L1 y/n » et représente l'information de détection ou de non-détection de L1. Ces opérations sont effectuées de la même façon pour tous les autres systèmes de détection « L2 y/n » à « LN y/n ». Les seuils S1 et S2 sont déterminés expérimentalement lors de l'apprentissage des réseaux neuronaux du système pour obtenir les meilleurs résultats possibles de reconnaissance. Chaque système discriminant détecte d'une part la langue qu'il a en charge et d'autre part l'une des autres langues. Les résultats de chacun de ces systèmes discriminants sont fusionnés dans le temps. Puis on fusionne les sorties des systèmes discriminants, créant ainsi la sortie de détection de la langue considérée. La couche 2 est composée de N systèmes de renforcement de la décision de détection de langue. Ces systèmes permettent de prendre en compte les modélisations des autres langues. La couche 3 permet de passer d'une technique de détection de langue à une technique d'identification de langue par une classification des différentes détections. Ce système est mis en œuvre en deux étapes principales. La première consiste à entraîner les systèmes discriminants (apprentissage de leurs réseaux neuronaux) puis à régler le système global avec différents seuils. La seconde étape est l'utilisation proprement dite, où l'on fait parcourir aux échantillons du signal incident un trajet allant de la couche 1 à la couche 3. Les systèmes discriminants « L1 vs Li » (i allant de 1 à N pour le système de détection « L1 y/n », et ainsi de suite pour les autres systèmes de détection) sont entraînés sur des vecteurs acoustiques, alors que l'identification est faite sur des phrases d'une durée supérieure (3s)
impliquant une accumulation des résultats dans le temps et permettant d'affiner la réponse. Pour réaliser l'apprentissage des systèmes discriminants, il faut organiser le corpus de départ. Pour réaliser le système, il faut disposer d'un corpus de parole multilingue. Des essais concluants ont été menés avec une taille de données la plus courte possible, soit 3s. Pour ce faire, une transformation du corpus est nécessaire. Tous les fichiers audio du corpus sont découpés en fichiers de 3s, puis classés par catégories : homme, femme, enfant, non natif, puis à nouveau dans chacune de ces catégories, on crée un autre niveau de catégorie en fonction de la langue examinée, et à l'intérieur de ces dernières, trois sous-catégories sont créées : apprentissage, « essai » (partie de corpus utilisée pour la validation, lors de la discrimination entre les langues prises deux à deux), et test, à raison de 3/5, 1/5, 1/5 des échantillons du corpus dans chaque sous-catégorie. De ce nouveau corpus, on extrait pour chacune des langues : une base d'apprentissage issue des sous-catégories « apprentissage » mais sans distinction de sexe, d'âge, ou de langue native. De même pour la base d'essai et celle de test. Ces bases sont traduites à l'aide d'un codeur de parole (extracteur acoustique de type RASTA avec 23 paramètres, le coefficient de puissance ayant été ôté). Utilisant des fenêtres glissantes de 32ms entrelacées de 16ms, chacun des fichiers audio de 3s est transformé en une séquence de vecteurs de paramètres RASTA. La concaténation de ces séquences permet de constituer de nouvelles bases (bases RASTA dites premières). La mise en oeuvre des systèmes discriminants de l'invention s'effectue par la discrimination d'une langue par rapport à une autre. Cette mise en œuvre est faite par chacun des éléments référencés « L1 vs LN » dans le diagramme de la figure 1. A cet effet, la création de bases de données est nécessaire pour l'apprentissage et le test. En effet, la modélisation utilisée est de type neuronal, car l'invention utilise les réseaux de neurones dans le but de créer un hyper-plan séparant les langues deux à deux, ainsi qu'une distance d'appartenance à une classe, une classe étant l'une des deux langues. On procède de la façon suivante pour la création des bases de données d'apprentissage (APP), essai (ESS), et de test (TST). Ces bases
sont créées à partir des bases RASTA premières de chacune des langues en gardant la séparation APP, ESS, TST. Elles comportent le même nombre d'exemples pour chaque classe. Les échantillons sont tirés aléatoirement dans la base. Un échantillon (un vecteur de paramètre RASTA ) correspond à 32ms de segment audio. Une base est constituée à parts égales de chacune des classes, les échantillons étant alternés. On procède ensuite à l'apprentissage de la façon suivante. Le réseau de neurones utilisé dans le cas présent est du type MLP (multi layer perceptron) et ses dimensions sont par exemple: 23 entrées, 50 neurones en couche cachée et 2 cellules de sortie (une par classe). L'apprentissage se déroule de la manière suivante : les exemples de chacune des classes sont présentés en alternance, une classe puis l'autre et ainsi de suite, les classes étant en l'occurrence l'anglais et le français. Le pas d'apprentissage est fixe. La modification des poids des réseaux neuronaux se fait après chaque échantillon, et tous les échantillons sont présentés dans le même ordre, de manière itérative. On utilise la base d'essai pour arrêter l'apprentissage et éviter ainsi le sur-apprentissage. Deux types de rejets d'échantillons sont utilisés dans la phase de classification. Le premier est appelé distance et est calculé de la manière suivante : -soient deux variables x1 et x2 ( caractérisant le degré estimé d'appartenance de l'échantillon examiné à l'une et à l'autre langue) variant entre -1 et +1 , et R (seuil du rejet) variant lui aussi de -1 à +1. pour chaque échantillon : -Si x1 est supérieur à R et x1 est supérieur à x2, alors x1 gagne -Si x2 est supérieur à R et x2 est supérieur à x1 , alors x2 gagne -Si l'on ne se trouve dans aucun de ces cas, on rejette l'échantillon. Le deuxième type de rejet est appelé différence et est calculé de la manière suivante : -soient deux variables x1 et x2 variant entre -1 et +1, et R (seuil du rejet) variant lui aussi, mais de 0 à +2. -Si la valeur absolue de x1 moins x2 est inférieure ou égale à R, on rejette. -Sinon la plus grande valeur entre x1 et x2 l'emporte.
Les résultats obtenus sont ceux de la discrimination « anglais contre français » avec les deux types de rejets, sur la base de test (corpus d'apprentissage APP), lors de l'évaluation. Les exemples sont tirés aléatoirement dans la base, et ce, quelle que soit la classe. Les courbes obtenues sont représentées en figures 2 et 3. Ces courbes montrent que les scores de reconnaissance sans rejet sont de 62% en moyenne et que le rejet permet d'améliorer ces résultats. On note que le rejet a une croissance rapide. Les scores sont établis sur le principe : nombre de bonnes réponses données par classe par rapport au nombre total d'échantillons de la classe non rejetés. Ceci permet de déduire que l'information « amplitude » du niveau de sortie des cellules a une signification qui serait (statistiquement parlant) un niveau de certitude. Ces scores ont été obtenus avec des échantillons (produits par extraction acoustique RASTA) représentant chacun l'équivalent de 32ms de fichier audio. L'invention comporte en outre la généralisation de la discrimination aux autres couples possibles de langues (L1 vs L2 à L1 vs LN), à savoir (anglais ; persan), (anglais ; allemand), (anglais ; hindi), (anglais ; japonais), (anglais ; coréen), (anglais ; mandarin), (anglais ; espagnol), (anglais, tamoul), (anglais ; vietnamien). De la même manière, pour ces couples, on construit les trais types de bases : APP, ESS, TST et on entraîne de la même manière que précédemment les réseaux de neurones de mêmes dimensions. Les résultats sont présentés dans le tableau ci-dessous. Les scores figurant dans le tableau ci-dessous correspondent aux pourcentages de la diagonale de la matrice de confusion, la première colonne correspondant au couple de langues (anglais ; persan), la seconde au couple (anglais ; français), et ainsi de suite. Les scores de la première ligne correspondent au rapport du nombre de fois que le réseau correspondant a répondu anglais alors qu'effectivement l'anglais lui était soumis, au nombre total d'exemples d'anglais qui lui ont été soumis. Les scores de la deuxième ligne correspondent au rapport du nombre de fois où le réseau a répondu « autre langue », à savoir, dans chaque cas, respectivement le persan, le français, etc ... alors
qu'effectivement l'échantillon soumis correspondait à cette « autre langue », au nombre total d'exemples de cette « autre langue ». La troisième ligne correspond à la moyenne des deux persan français allemand hindi japonais coreen mandarin espagnol tamoul vietnamien langue réelle 59,87% 63,82% 61,50% 60,85% 60,13% 61,17% 65,43% 65,40% 64,03% 63,92% autre langue 63,84% 62,25% 59,03% 67,70% 65,49% 67,52% 63,23% 57,40% 65,24% 66,81% total 61,86% 63,04% 60,27% 64,28% 62,81% 64,35% 64,33% 61,40% 64,64% 65,37% précédentes.
La moyenne globale est de 63,23%. Le rejet a les mêmes effets que précédemment. Il est donc possible d'augmenter ces scores en augmentant le nombre d'échantillons pour une prise de décision, en passant de 32ms (équivalent à un morceau phonème) à une phrase. Les résultats sont des discriminations entre l'anglais et une autre langue, le but étant d'arriver à l'obtention d'une sortie anglais oui/non. L'étape suivante du procédé de l'invention consiste à passer de la discrimination « une langue contre une autre » à l'information « langue détectée ou non ». Cette étape est mise en œuvre en réutilisant les réseaux neuronaux précédemment créés pour effectuer cette tâche. Mais les réseaux ont été entraînés à reconnaître deux langues, donc une fusion des informations robuste s'impose, à la fois dans le temps et pour l'ensemble des différents réseaux. Le passage des vecteurs de paramètres acoustiques (RASTA) aux phrases de 3s a été fait par une moyenne temporelle des sorties des différents réseaux. Ces deux moyennes sont obtenues à l'aide du détecteur représenté en figure 4 (qui reprend les éléments de la partie inférieure de la figure 1), ce détecteur correspondant dans le schéma de la figure 1 à un élément dénommé « Li y/n » (i pouvant prendre l'une des valeurs de 1 à N). Durant la phase 1 , le codage RASTA extrait du signal brut les paramètres acoustiques. Ces paramètres sont ensuite soumis à chacun des dix réseaux (« L1 vs L2 » à « L1 vs LN »). Le signal acoustique incident dure 3s, le codage (RASTA) produit une séquence de paramètres, et les réseaux produisent pour ces 3s sur chacune de leurs sorties une séquence d'informations.
Durant la phase 2, on récupère la séquence produite par chacun des réseaux et on en fait la moyenne individuellement, et chaque réseau produit un couple de deux paramètres. Durant la phase 3, on fait la somme des différents paramètres, ceux apparaissant à la sortie « oui » correspondant à l'anglais et les « non » à l'autre langue. On constate sur la figure 4 qu'il existe deux seuils, Seuil 1 et Seuil 2. Seuil 1 est un niveau qui intervient dans l'opération moyenne, déterminé avec un critère « rejet différence », il permet de calculer la moyenne uniquement sur les valeurs ayant une différence absolue qui lui soit supérieure. Seuil 2, est utilisé comme seuil de décision, à partir de l'information « moyenne de oui ». On pourrait utiliser en complément l'information « moyenne de non », bien qu'elle ne soit pas utilisée dans le présent exemple. Ces deux seuils ont été déterminés en effectuant des tests sur un grand nombre de combinaisons de ces deux seuils (par exemple plusieurs centaines), en retenant ceux qui provoquaient les meilleurs scores en sortie sur le corpus APP. Selon une autre caractéristique de l'invention, lorsque l'on rejette les échantillons dont la distance (ou, éventuellement la différence), telle que définie ci-dessus, est telle que ni x1 ni x2 ne l'emporte, on peut améliorer les scores de reconnaissance. En effet, si l'on considère, par exemple, la sortie « anglais identifié » du schéma comme une valeur continue et que l'on remplace le « oui/non » par l'écart mesuré entre la moyenne et Seuil 2, et que sur cette information de sortie on applique ledit rejet distance, on obtient la courbe de la figure 5. Les légendes de la figure 5 sont les suivantes : niveau du rejet : rejet distance variant de 0 à 1 , score « yes » : rapport du nombre de fois où l'on reconnaît anglais au nombre total d'exemples anglais retenus, score « no » : rapport du nombre de fois où l'on reconnaît non- anglais au nombre total d'exemples non-anglais retenus, score total : moyenne de scores « yes » et de scores « no », rejet % y : rapport du nombre d'éléments anglais rejetés au nombre total d'éléments anglais,
rejet % n : rapport du nombre d'éléments non-anglais rejetés au nombre total d'éléments non-anglais On constate à nouveau que l'amplitude de la réponse a un sens, que sans rejet on identifie l'anglais à 73%, sur le corpus de test. On constate en outre que pour 30% de rejet, on identifie à 80% l'anglais. Comme schématisé en figure 1, le dispositif de l'invention est appliqué aux autres langues (L2 à L11) du corpus. On crée à cet effet les corpus d'apprentissage, d'essai et de test pour tous les couples de langues. Le corpus utilisé au départ est le corpus bien connu nommé OGI (« Oregon Graduate Multilingual Speech Corpus »), qui dispose de dix autres langues. On crée pour chacune d'elle, les dix bases d'apprentissage d'essai et de test correspondantes. Avec ces bases on entraîne les réseaux de neurones (phase 1 de la figure 4) suivant le même mode opératoire que pour l'anglais. On crée la même structure de discrimination pour le passage aux phrases de 3s, et avec la même méthode que pour l'anglais on détermine les seuils correspondants. Cette généralisation du système a permis d'aboutir aux résultats présentés dans le tableau ci-dessous : anglais persan français allemand hindi japonais coréen mandarin espagnol tamoul vietnamien langue réelle 71,64% 66,60% 76,48% 71,02% 71,00% 70,02% 69,76% 70,91% 71,07% 79,71% 72,76% aulne langue 74,61% 69,02% 75,83% 71,75% 72,67% 72^1% 75 % 73,71% 7429% 79,61% 77,17% total 73,13% 67,81% 76,15% 71,38% 71,84% 71,11% 72,51% 72,31% 72,68% 79,66% 74,97%
Ce tableau récapitule les scores des différents systèmes de détection de langues. Ces scores sont calculés sur le principe : nombre de bonnes détections d'une classe par rapport au nombre total d'exemples de la classe, la première classe étant la langue à détecter et la seconde comportant toutes les autres langues. Ces résultats sont obtenus sans rejet, les courbes avec rejet (non représentées) étant de la même forme pour chacun des systèmes de détection. La moyenne globale des détecteurs est de 73%, pour des segments audio de 3s. Cette moyenne de 73% montre que la généralisation a été concluante et que la méthode est reproductible. En outre, on note que chaque discriminateur donne sa réponse indépendamment des autres, et les amplitudes des informations de sortie de ces discriminateurs ont un sens que l'on déduit des courbes de rejet. On peut également exploiter les informations de sortie des autres discriminateurs dans le but renforcer la décision d'un discriminateur.
Selon une autre caractéristique de l'invention, le renforcement de la prise de décision a pour but d'utiliser les connaissances apportées par les autres sorties de détection de langue pour affiner la propre réponse d'un discriminateur d'une langue donnée. Cet affinement est réalisé par l'ajout d'une couche supplémentaire en sortie des détecteurs de langue comme le montre la figure 6. La deuxième couche est constituée de onze réseaux de neurones distincts type MLP (« Multi Layer Perceptron »). Tous ces réseaux ont des dimensions identiques, qui sont, pour le présent exemple : 11 entrées, 22 neurones en couche cachée et 2 cellules de sortie, la première cellule correspondant au : « oui c'est la langue », et la seconde au : « non ce n'est pas la langue ». L'apprentissage se fait de la même manière que pour les réseaux de la première couche, avec une base d'apprentissage et d'essai. Les exemples sont présentés alternativement par classe, la modification des poids des réseaux est faite après le passage de chaque échantillon, et le pas d'apprentissage est constant. La création des bases d'apprentissage, d'essai et de test se fait de la manière suivante : lors de la phase 1 , on transforme les bases d'apprentissage, d'essai et de test « premier » (correspondant aux paramètres RASTA). Pour chaque détecteur de langue, on crée ainsi trois bases de données de sortie correspondant aux bases APP, ESS et TST. L'information de sortie de chaque détecteur est la distance entre la valeur de la « moyenne des oui » et le « seuil 2 » (schéma détection de l'anglais). La fusion des sorties des détecteurs crée les nouvelles bases d'apprentissage, d'essai et de test (notées respectivement APP2, ESS2, TST2), pour la seconde couche. Chaque réseau de renforcement possède ses bases propres qui sont extraites des bases nouvellement créées (APP2, ESS2, TST2), au sens où les classes de chacun de ces réseaux de renforcement sont différentes. Par exemple, pour l'anglais : la classe 1 est l'anglais et la classe 2 est la fusion des dix autres langues : persan, français, allemand... . Pour le vietnamien : la classe 1 est le vietnamien et la classe 2 est la fusion des dix autres langues : anglais, persan, français, allemand... . Dans le but de garder un équilibre statistique, un nombre identique d'échantillons est pris aléatoirement, mais de manière homogène dans chacune des langues, et cela pour les bases d'apprentissage, d'essai et de
test. La classe 1 est dupliquée dix fois et les échantillons disposés en alternance dans les autres classes. Ainsi, un réseau de renforcement possède trois bases : apprentissage, essai, et test, qui sont extraites respectivement de APP2, ESS2, et TST2. Les résultats en test des apprentissages des différents réseaux sont présentés dans le tableau ci-dessous : score yes s∞re no score total anglais 78,45% 77,29% 77,87% persan 73,91% 76,36% 75,14% français 79,31% 78,90% 79,11% allemand 76,53% 76,02% 76,28% hindi 77,99% 76,44% 77,22% japonais 74,09% 78,80% 76,45% coréen 76,41% 75,45% 75,93% mandarin 74,27% 77,72% 76,00% espagnol 76,90% 78,47% 77,69% tamoul 85,10% 80,11% 82,61% vietnamien 77,22% 78,61% 77,92% moyenne 77,47% La colonne « score yes » correspond au rapport du nombre de fois que le réseau a répondu « oui c'est ma langue » au nombre total d'échantillons de la langue à identifier. La colonne « score no » correspond au nombre de fois que le réseau a répondu « non ce n'est pas la langue » au nombre total d'échantillons n'étant pas de la langue à identifier. Des biais, correspondant à l'ajout d'une légère quantité sur les sorties des réseaux, sont introduits de manière à réduire la différence entre les colonnes : « score yes » et « score no » du tableau précédent. Ces biais sont déterminés expérimentalement à partir des résultats de la base d'essai du réseau. Ces résultats sont sans rejet. Ils permettent d'obtenir un gain de plus de 4 points pour la détection de langue. Si l'on effectue un rejet de type différence sur les sorties du réseau identifiant l'anglais on obtient les résultats illustrés par les courbes de la figure 7. Ces courbes sont obtenues sans le biais « équilibrant » les scores sans rejet, (le bais en effet déforme les courbes de rejet). Ces courbes montrent que si l'on rejette 20% des échantillons traités, on gagne plus de 5 points de détection correcte et à 40% de rejets, on passe à 10 points
d'augmentation. Ainsi avec 40% de rejet on passe de 77% de détection à 87%. Ces courbes se reproduisent pour les détections des autres langues. En outre, on constate que l'amplitude de la sortie a toujours un sens. On peut donc extraire de l'information sur l'amplitude, en termes de certitude sur la décision, puisque plus la réponse est élevée, plus le taux d'identification augmente. Dans le but de visualiser quelles erreurs étaient commises, on a établi une matrice de confusion pour la détection de langues. Cette matrice permet de connaître les résultats par langue. Cette matrice est présentée ci- dessous : anglais persan français allemand hindi japonais coréen mandarin espagnol tamoul vietnamien anglais 78.91 % 22,84% 25,41% 23,39% 21 ,73% 21 ,27% 22,65% 22,65% 24,77% 21 ,55% 21 ,73% persan 22,14% 74,85% 26,34% 27,67% 25,38% 21 ,95% 29,20% 17,75% 21 ,18% 17,56% 27,86% français 27,92% 22,84% 7902% 32,32% 14,38% 25,21 % 28,60% 19,83% 20,81 % 13,87% 15,06% allemand 24,12% 27,97% 30,65% 76,55% 27,61 % 21 ,61 % 32,66% 24,96% 22,28% 19,26% 18,43% hindi 17.46% 34.76% 17 13% 26,52% 77,10% 2059% 21 ,42% 24,B8% 21 42% 24.05% 2372% japonais 20,66% 19,27% 1970% 20,77% 24 ,63% 74,52% 24,84% 29,34% 25,27% 15,63% 20,99% coréen 22,38% 20,71% 25,48% 32,62% 17,38% 21 ,67% 75,48% 18,57% 16,19% 16,43% 20,95% mandarin 23,31 % 23,12% 1657% 23,70% 25,43% 23,70% 23,89% 73,22% 18,69% 19,85% 29,67% espagnol 32,75% 28,99% 2480% 21 ,30% 25,91 % 23.37% 17,97% 19,55% 75.68% 26.23% 20.35% tamoul 20,66% 15,17% 10,42% 17,55% 21 ,94% 14,81 % 2B,4B% 14,28% 23,22% 85,37% 19,20% vietnamien 19,68% 27,44% 1292% 14,31 % 24,25% 14,51 % 22,47% 26,54% 17,30% 21 ,67% 75,94% score oui 78,91 % 74,05% 79,82% 76,55% 77,10% 74,52% 75,48% 73,22% 75,68% 85,37% 75,94% score non 76,68% 76,35% 7857% 76,07% 77,14% 79,01% 75,77% 78,14% 78,45% 88,81% 78,32% total 77,88% 75,20% 7880% 76,31 % 77,12% 76,77% 75,62% 75,68% 77,06% 82,69% 77,13% moyenne 77,29%
Chaque case de la matrice correspond au rapport des détections sur le nombre total des segments audio de 3s soumis. Les lignes correspondent à la langue réellement soumise et les colonnes aux résultats des différents détecteurs. Ainsi, on constate que lorsque l'on soumet de l'anglais au détecteur anglais, celui-ci identifie à 78.91% l'anglais. Mais on constate aussi que le détecteur persan confond à 22.84% le persan et l'anglais. La ligne « sore oui » correspond au score de bonne détection par le détecteur approprié. La ligne « sore non » correspond à la moyenne des scores de bonne non-détection du détecteur approprié. La ligne « total » correspond à la moyenne des scores de détection et de non-détection. Et la case « moyenne » correspond à la moyenne globale des détecteurs. Cette moyenne globale permet de montrer que l'on détecte les onze langues du corpus OGI avec un score de 77.29% sur des phrases de
3s.
Pour passer de la détection de langues à l'identification d'une langue dans le signal incident présenté à l'entrée du dispositif de l'invention, il est nécessaire de passer par une classification (à l'aide du « classifieur » de la figure 1), transformant les « oui/non » des détections en le choix d'une des langues présentes dans la modélisation ou, le cas échéant, si l'on soumet des langues inconnues de la modélisation et que l'on souhaite que le système les rejette, on ajoute une sortie « langue inconnue » au classifieur. Le classifieur peut être lui aussi neuronal ou à base de règles. En régime d'exploitation normale, le signal audio incident passe par l'ensemble du système et il n'y a besoin d'aucun apprentissage. Lorsque ce signal parcourt les différents réseaux, on calcule les moyennes et on seuille les résultats, puis on utilise le classifieur permettant l'identification de la langue présente dans ce signal incident.
Claims
1. Procédé d'identification automatique de langues en temps réel dans un signal audio, selon lequel on numérise le signal audio, on en extrait les caractéristiques acoustiques et on le traite à l'aide de réseaux neuronaux, caractérisé en ce que l'on détecte chaque langue à traiter par discrimination entre au moins un couple de langues comportant la langue à traiter et une autre langue faisant partie d'un corpus d'échantillons de plusieurs langues différentes et que pour chaque langue traitée, on fusionne temporellement sur une durée finie tous les échantillons du signal incident et ce, pour tous les couples possibles comportant à chaque fois la langue traitée considérée et l'une des autres langues prises en compte.
2. Procédé selon la revendication 1 , caractérisé en ce que l'on réalise la fusion temporelle en calculant sur une durée finie la valeur moyenne de tous les échantillons dont le module dépasse un seuil déterminé.
3. Procédé selon la revendication 1 , caractérisé en ce que l'on calcule la valeur moyenne des résultats de la première fusion et l'on compare cette valeur moyenne à un autre seuil déterminé
4. Procédé selon l'une des revendications précédentes, caractérisé en ce que ladite durée finie est de 3 secondes.
5. Procédé selon l'une des revendications précédentes, caractérisé en ce que le corpus est utilisé pour l'apprentissage des réseaux neuronaux, pour les essais et pour les tests.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0402597A FR2867598B1 (fr) | 2004-03-12 | 2004-03-12 | Procede d'identification automatique de langues, en temps reel, dans un signal audio et dispositif de mise en oeuvre |
| PCT/EP2005/050869 WO2005098819A1 (fr) | 2004-03-12 | 2005-03-01 | Procede d'identification automatique de langues, en temps reel, dans un signal audio et dispositif de mise en oeuvre |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1723635A1 true EP1723635A1 (fr) | 2006-11-22 |
Family
ID=34896495
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP05716845A Withdrawn EP1723635A1 (fr) | 2004-03-12 | 2005-03-01 | Procede d'identification automatique de langues, en temps reel, dans un signal audio et dispositif de mise en oeuvre |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20070179785A1 (fr) |
| EP (1) | EP1723635A1 (fr) |
| FR (1) | FR2867598B1 (fr) |
| WO (1) | WO2005098819A1 (fr) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101548907B1 (ko) * | 2009-01-06 | 2015-09-02 | 삼성전자 주식회사 | 다중언어의 대화시스템 및 그 제어방법 |
| US8392189B2 (en) * | 2009-09-28 | 2013-03-05 | Broadcom Corporation | Speech recognition using speech characteristic probabilities |
| US9195656B2 (en) * | 2013-12-30 | 2015-11-24 | Google Inc. | Multilingual prosody generation |
| US20180018973A1 (en) | 2016-07-15 | 2018-01-18 | Google Inc. | Speaker verification |
| CN109327614B (zh) * | 2018-10-17 | 2021-01-26 | 永德利硅橡胶科技(深圳)有限公司 | 全球同声传译手机及方法 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5689616A (en) * | 1993-11-19 | 1997-11-18 | Itt Corporation | Automatic language identification/verification system |
| US5805771A (en) * | 1994-06-22 | 1998-09-08 | Texas Instruments Incorporated | Automatic language identification method and system |
| US7392185B2 (en) * | 1999-11-12 | 2008-06-24 | Phoenix Solutions, Inc. | Speech based learning/training system using semantic decoding |
| GB9927528D0 (en) * | 1999-11-23 | 2000-01-19 | Ibm | Automatic language identification |
-
2004
- 2004-03-12 FR FR0402597A patent/FR2867598B1/fr not_active Expired - Fee Related
-
2005
- 2005-03-01 EP EP05716845A patent/EP1723635A1/fr not_active Withdrawn
- 2005-03-01 WO PCT/EP2005/050869 patent/WO2005098819A1/fr not_active Ceased
- 2005-03-01 US US10/592,494 patent/US20070179785A1/en not_active Abandoned
Non-Patent Citations (1)
| Title |
|---|
| See references of WO2005098819A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2867598A1 (fr) | 2005-09-16 |
| US20070179785A1 (en) | 2007-08-02 |
| FR2867598B1 (fr) | 2006-05-26 |
| WO2005098819A1 (fr) | 2005-10-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Jothimani et al. | MFF-SAug: Multi feature fusion with spectrogram augmentation of speech emotion recognition using convolution neural network | |
| Mittal et al. | Automatic speaker verification systems and spoof detection techniques: review and analysis | |
| Lukic et al. | Speaker identification and clustering using convolutional neural networks | |
| Das et al. | A deep dive into deep learning techniques for solving spoken language identification problems | |
| CN107731233B (zh) | 一种基于rnn的声纹识别方法 | |
| CN110910283A (zh) | 生成法律文书的方法、装置、设备和存储介质 | |
| FR2842014A1 (fr) | Procede et appareil pour affecter une classe sonore a un signal sonore | |
| FR2696036A1 (fr) | Procédé de mesure de ressemblance entre échantillons sonores et dispositif de mise en Óoeuvre de ce procédé. | |
| CN111652318B (zh) | 一种币种识别方法、识别装置、以及电子设备 | |
| Tran et al. | Spoofed Speech Detection with a Focus on Speaker Embedding. | |
| CN115171731A (zh) | 一种情绪类别确定方法、装置、设备及可读存储介质 | |
| Venkatesan et al. | Automatic language identification using machine learning techniques | |
| Zhang et al. | Semi-supervised learning with generative adversarial networks for arabic dialect identification | |
| Muralikrishna et al. | Spoken language identification in unseen target domain using within-sample similarity loss | |
| EP1723635A1 (fr) | Procede d'identification automatique de langues, en temps reel, dans un signal audio et dispositif de mise en oeuvre | |
| Sangeetha et al. | Analysis of machine learning algorithms for audio event classification using Mel-frequency cepstral coefficients | |
| Li et al. | Speech emotion recognition based on residual neural network with different classifiers | |
| Dawalatabad et al. | Two-Pass IB Based Speaker Diarization System Using Meeting-Specific ANN Based Features. | |
| Hajavi et al. | Fine-grained early frequency attention for deep speaker representation learning | |
| Feng et al. | The effectiveness of unsupervised subword modeling with autoregressive and cross-lingual phone-aware networks | |
| Ibrahim et al. | North Atlantic Right Whales Up-call Detection Using Multimodel Deep Learning | |
| Arora | Robust text-dependent speaker verification system using gender aware Siamese-Triplet Deep Neural Network | |
| Balakrishnan et al. | End to end model for speaker identification with minimal training data | |
| EP1665231B1 (fr) | Procede pour le dopage non supervise et le rejet des mots hors vocabulaire en reconnaissance vocale | |
| Inagala et al. | Language Identification in Audio with Mel-Frequency Cepstral Coefficients and Multi-Head Long Short-Term Memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20060816 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR |
|
| DAX | Request for extension of the european patent (deleted) | ||
| 17Q | First examination report despatched |
Effective date: 20090218 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20090630 |