FR 2936086 A1 20100319 FR 0805070 A 20080916 PROCEDE DE RECONNAISSANCE RAPIDE DE MOTS OU EXPRESSIONS DANS UN FLUX AUDIO INCIDENT ET DISPOSITIF DE MISE EN OEUVRE La présente invention se rapporte à un procédé de reconnaissance rapide de mots ou expressions dans un flux audio incident, ainsi qu'à un système de mise en oeuvre d'un tel procédé. L'invention vise en particulier la détection de mots clés dans un flux audio permettant ainsi de détecter des passages relatifs à un thème, ce thème étant défini 10 par une liste prédéfinie de mots représentatifs à repérer. Le problème du temps de calcul n'a jamais été le centre des préoccupations des systèmes de détection de mots clés. C'est plus souvent la précision qui prime (les résultats sont synthétisés dans une courbe donnant les bonnes détections en fonction des fausses alarmes). 15 Les systèmes actuels de détection sont de deux types : ceux du premier transcrivent intégralement le flux sonore en texte, la recherche s'effectuant dans ce texte. La première étape est longue (cinq à dix fois le temps réel), nécessite des ressources importantes et ne permet pas la reconnaissance des mots hors vocabulaire, tandis que ceux du second type se basent sur une recherche phonétique, cette 20 recherche étant plus rapide, mais le temps d'adaptation à de nouveaux mots reste long car un modèle est à reconstruire pour chaque mot. La présente invention a pour objet un procédé de reconnaissance rapide de mots ou expressions dans un flux audio incident pouvant résoudre simultanément les problèmes techniques suivants : 25 Le premier problème technique est le temps de repérage qui s'avère critique dans un système d'écoute où la quantité d'information incidente est très supérieure à la ressource de traitement. Le deuxième problème est l'adaptabilité aux mots hors vocabulaire : le filtre thématique doit pouvoir être constitué de noms propres ou de mots nouveaux 30 inconnus du système de reconnaissance. Le troisième problème est le temps d'adaptation à un nouveau filtre : il doit prendre effet immédiatement. Enfin, le quatrième problème est de prendre en compte les trois premiers tout en gardant un très haut niveau de détection. La présente invention a également pour objet un dispositif de mise en oeuvre d'un procédé de reconnaissance rapide de mots ou expressions dans un flux audio 5 incident, dispositif pouvant être réalisé avec des moyens couramment disponibles et qui soit le moins onéreux possible. Le procédé conforme à l'invention est caractérisé en ce qu'il consiste à établir une liste de mots ou expressions à reconnaitre, et, à l'aide d'un phonétiseur, à transformer ces mots ou expressions en un ensemble de plusieurs chaînes de 10 phonèmes vraisemblables, puis, à l'aide d'un système de reconnaissance de phonèmes, à extraire des phonèmes d'un flux audio incident, à établir des enchaînements possibles des phonèmes ainsi extraits, et à rechercher dans ces enchainements la présence de l'une des chaînes de phonèmes vraisemblables précédemment obtenues par le phonétiseur. 15 Le système conforme à l'invention comporte d'une part un fichier texte rempli par l'utilisateur et comportant des mots ou expressions à rechercher, suivi d'un phonétiseur multiple, et d'un système de recherche de chaînes dans un graphe, et d'autre part un système de reconnaissance de phonèmes relié à des modèles acoustiques et à des modèles de langages, ce système de reconnaissance étant relié 20 audit système de recherche de chaînes. La solution de l'invention est multiple et répond aux quatre problèmes précédemment cités de la façon suivante : - Le temps de calcul : Un système de reconnaissance vocale large vocabulaire est utilisé en le 25 limitant au premier étage de reconnaissance : la reconnaissance des phonèmes. La seule ressource nécessaire est alors un modèle acoustique de la langue. Pour l'anglais par exemple, un tel modèle convertit les échantillons du signal de parole en phonèmes en choisissant parmi les 27 de la langue. A l'issue de cette étape on dispose d'un treillis de phonèmes proposant les combinaisons les plus probables 30 d'enchaînement entre phonèmes, dans lequel il faut rechercher les chaînes représentant les mots du filtre thématique. - L'adaptation aux mots nouveaux et hors vocabulaire : La technique proposée ne possède pas d'autre dictionnaire que celui des phonèmes, on peut ainsi proposer n'importe quel mot, nom commun, nom propre ou un néologisme à partir du moment où l'on sait le transformer en chaîne de phonèmes (il existe des phonétiseurs à base de règles). - Le temps de prise en compte des nouveaux mots : Lorsqu'un mot ou un groupe de mots vient compléter le filtre de recherche, il suffit de le convertir en chaîne de phonèmes (ce qui représente une étape de calcul de durée négligeable) et de l'insérer dans la liste des formes recherchées. Aucun apprentissage n'est nécessaire, il ne s'agit que d'un ajout dans un fichier texte. L'adaptation peut se faire en cours d'opération (au runtime). - La précision de détection Deux solutions viennent se compléter pour pallier le manque de précision dû à l'allègement des ressources. La première consiste à dégrader le filtre thématique pour prendre en compte les imperfections de prononciation des locuteurs ainsi que les imprécisions du modèle acoustique. On obtient ainsi non plus une seule chaîne de phonèmes par mot mais plusieurs (phonétisation multiple), les modifications étant basées sur des règles phonétiques et sur un apprentissage à partir d'une base de données audio. 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 bloc-diagramme simplifié d'un dispositif de mise en oeuvre du procédé de l'invention, - la figure 2 est un exemple simplifié d'un treillis de phonèmes utilisé par le procédé conforme à la présente invention, et - la figure 3 est un tableau montrant, dans sa partie de gauche, un exemple simplifié d'un format de treillis de phonèmes pouvant être utilisé par l'invention, et dans sa partie de gauche un exemple de représentation du treillis de la figure 2. 30 Le système 1 représenté en figure 1 comporte essentiellement : un module 2 de reconnaissance de phonèmes recevant un flux audio F (qui peut être de provenances diverses : produit directement par un microphone, provenant d'un enregistrement,...) et communiquant avec un modèle acoustique 3 et un modèle de langage 4. Le module 2 présente à sa sortie un treillis de phonèmes 5 dont la sortie est reliée à un module 6 de recherche de chaînes de phonèmes dans un graphe, le treillis en l'occurrence. D'autre part, le système 1 comporte une bibliothèque 7 de mots ou d'expressions à rechercher (cette bibliothèque se présente avantageusement sous forme d'une liste en format texte de tels mots ou expressions) qui communique avec un phonétiseur multiple 8 produisant des chaînes de phonèmes 9 avec les mots recherchés, ces chaînes étant utilisées par le module 6. Dans le système de la figure 1, les trois modules principaux 2, 6 et 8 (évidents à réaliser pour l'homme de l'art à la lecture de la présente description) fonctionnent de la manière suivante. Le module 2 de reconnaissance vocale (reconnaissance de phonèmes) transforme un signal de parole (flux audio entrant F) en treillis de phonèmes. Un modèle acoustique de la langue visée (3) est nécessaire. En revanche, le modèle de langage (4) est considérablement réduit puisqu'il ne consiste qu'en une liste des phonèmes de la langue (par exemple 27 pour l'anglais). Ceci permet de limiter les informations produites à la sortie du module 2 à un treillis de phonèmes (5) et non de mots, et donc de diminuer le temps de calcul par rapport à un système de reconnaissance classique. Le phonétiseur multiple 8, transforme la liste des mots recherchés (7) en une représentation similaire à celle délivrée la sortie du système de reconnaissance, c'est-à-dire des chaînes de phonèmes (9). Selon une caractéristique de l'invention, pour tenir compte des imprécisions à la fois de prononciation du locuteur et de la reconnaissance vocale, on détermine plusieurs représentations pour chaque mot (phonétisations multiples 9). Le module de recherche 6 reçoit d'un côté le treillis de phonèmes 5 représentant la portion de signal à analyser et de l'autre les chaînes des phonèmes 9 représentant les mots à retrouver dans le treillis. Ce module répond en indiquant pour chaque mot s'il est présent ou non dans le treillis analysé. Ses réponses sont avantageusement de deux types, comme indiqué sur la figure 1 : � présence � et � non présence �. Enfin, le système 1 comporte avantageusement un module supplémentaire (non représenté sur le dessin et évident à réaliser pour l'homme de l'art à la lecture de la présente description), branché en amont du module 2 et chargé d'acquérir le flux audio d'entrée, de le découper en petites portions et de transmettre ces petites portions au système avec un recouvrement suffisant pour ne pas tronquer un mot ou une expression. A titre d'exemple, le système traite des portions dont la durée est avantageusement comprise entre 10 et 100 secondes environ avec un recouvrement mutuel des portions de deux secondes environ. Plus généralement, le procédé de l'invention comprend un processus actif (système d'acquisition du flux audio, de transformation en treillis de phonèmes et de recherche) et un processus amont de préparation (transformation des mots recherchés en chaînes de phonèmes). Il n'en demeure pas moins qu'il s'agit de deux processus en temps réel, le processus amont pouvant être mis à jour et pris en considération par le processus actif à tout moment. Le module de reconnaissance des phonèmes 2 est basé sur le même principe qu'un système de reconnaissance vocale classique: à l'exécution, le signal vocal incident (F) est transformé en vecteurs acoustiques que le système tente de faire correspondre avec des modèles de phonèmes appris préalablement sur une grande base de données vocales (par exemple une base de données comportant au moins 100 heures de parole). Pour chaque vecteur, le système attribue plusieurs phonèmes possibles. Ensuite les phonèmes s'enchaînent et différents chemins possibles apparaissent avec, pour chacun d'eux, une probabilité d'apparition : une fois que le processus de reconnaissance est achevé (fin de la portion de signal), on dispose d'un treillis de phonèmes tel que celui de l'exemple simplifié de la figure 2. Pour cet exemple, on a représenté quelques phonèmes (E, B, T, U,...) et sur les lignes les joignant les probabilités d'enchaînement, comprises entre 0 et 1. Selon une variante de l'invention, on utilise un système de reconnaissance vocale classique existant en le bridant pour qu'il se limite à la reconnaissance des phonèmes : il suffit pour cela de remplacer le modèle de langage par la simple liste des phonèmes de la langue. Ainsi, on remplace la partie la plus lourde et nécessitant le plus de ressources (documents textuels de plusieurs millions de mots) par une simple liste d'une trentaine de phonèmes. Le format du treillis de phonèmes à la sortie du module 2 présente la forme définie dans la partie gauche du tableau de la figure 3. Dans une première section (� SECTION 1 �), on fait correspondre à chaque phonème reconnu ( ) un noeud numéroté de 1 au nombre total de noeuds ( ) et deux balises temporelles ( et ) indiquant la place du phonème dans la portion de signal, en milliseconde à partir du début de la portion. Dans une seconde section (� SECTION 2 �), on indique les probabilités d'enchaînement entre les noeuds. Tous les arcs sont représentés. La partie de droite du tableau de la figure 3 donne un exemple de représentation du treillis de la figure 2. Le rôle du phonétiseur 8 est de convertir des mots en suites de phonèmes qui pourront être recherchées dans le treillis fourni par le module 2 de reconnaissance vocale. Afin de prendre en compte les imprécisions de prononciation du locuteur (intervenant au niveau du flux sonore F) ainsi que les imperfections de reconnaissance du modèle acoustique, il convient de fournir non pas une seule phonétisation par mot clé mais plusieurs. Deux techniques sont proposées par l'invention. La première permet d'intervertir deux phonèmes en fonction de leur proximité acoustique, la seconde permet cet échange mais à un niveau plus large et en fonction de règles observées sur des données. 1- Inversion selon la proximité acoustique : En partant du principe que des phonèmes proches phonétiquement peuvent facilement être intervertis au niveau de la production et de la reconnaissance, on souhaite proposer plusieurs chaînes de phonèmes pour chaque mot clé recherché en tenant compte de ces proximités. Pour définir une proximité, il s'agit de définir une distance, c'est-à-dire une application vérifiant les propriétés de symétrie, de séparation et d'inégalité triangulaire. La difficulté réside dans le fait que la différence entre deux phonèmes est moins une distance mesurable objectivement qu'une différence physiologique et perceptive. Pour la contourner, on utilise ce qui est à notre disposition en linguistique et en traitement du signal. La linguistique classe les phonèmes en fonction de leur appartenance à deux grandes familles (voyelles et consonnes) puis à des sous-familles définies par le mode d'articulation (occlusives, nasales, ...) et le lieu d'articulation (labiales, dentales, ...). Une première estimation de distance peut alors être obtenue en fonction de l'appartenance à telle ou telle famille. Une mesure à 3 points est utilisée pour différencier deux phonèmes, elle permet de respecter le niveau de précision imposé par ce classement très général : 1 t=> � très similaires � 2 a � proches � 3 t=> � éloignés � Le traitement de signal offre une mesure plus objective au sein de chacun de ces trois points. En ajoutant à chacun trois niveaux ainsi qu'un dernier point signifiant � aucune ressemblance �, on obtient une échelle de 10 points. La distance entre deux phonèmes est mesurée en utilisant les 12 premiers coefficients MFCC (� Mel Frequency Cepstrum Coefficient �, qui sont relatifs à une échelle de fréquences physiologiques) comme vecteurs acoustiques, la distance calculée étant une distance euclidienne. Il est nécessaire de mesurer toutes les combinaisons de phonèmes (sauf le symétrique). Pour obtenir une phonétisation multiple, on remplace chaque phonème par celui qui est à une distance inférieure à celle définie. Celle-ci joue le rôle de paramètre de précision : plus la distance minimum est petite, plus la recherche sera précise, mais les chances de détection seront plus faibles. On prend pour exemple le mot �bed �. La phonétisation canonique est B E D. Sachant que le son E est proche du son A, on obtient aussi B A D. Il en va de même pour B qui est proche de P. Ainsi, on obtient la phonétisation multiple du mot �bed�-BED/ BAD/PED/PAD 2. Inversion par apprentissage : En disposant d'une base de données de documents audio, on simule le processus de reconnaissance, à l'issue duquel on dispose d'une chaîne appelée � chaîne reconnue �. Celle-ci est issue du treillis 5 et choisie comme la plus probable. En parallèle, les documents audio sont transcrits en phonèmes par l'outil utilisé pour la phonétisation canonique (celle se référant à la théorie classique), on obtient une seconde chaîne appelée � chaîne canonique �. Les deux chaînes sont alors alignées sur les points de similitude et comparées. Pour faciliter le travail et la précision, la taille des fichiers audio n'excède pas trois minutes. La taille des fenêtres d'analyse est variable et peut aller de trois à sept phonèmes, c'est-à-dire un phonème central avec un, deux ou trois voisins de chaque côté. Pour chaque fenêtre, on a donc un bloc canonique (tel qu'il sera recherché) et un bloc reconnu (tel qu'il se retrouve dans le treillis), ceux-ci sont regroupés et constituent une base de règles permettant la phonétisation multiple : pour chaque mot clé on remplace les blocs identifiés dans la base, chaque nouvelle phonétistion est ajoutée à la liste de recherche. Le paramètre de précision permettant, à la manière de la distance phonétique, d'ajuster le compromis entre précision de la recherche et chance de détection, est la fréquence d'apparition d'une règle dans la base. En effet, il est probable que l'on observe plusieurs fois la même règle de conversion, en particulier sur une grande base d'apprentissage (10 heures environ). Le module de recherche 6 permet de détecter si la chaîne ou les chaînes recherchées sont présentes dans le treillis de phonèmes 5 issu du module de reconnaissance vocale 2. Afin de répondre aux contraintes de temps de calcul, on limite la recherche à une sous-partie du treillis. En effet, la taille de ce dernier peut présenter plusieurs milliers de combinaisons de phonèmes par minute. Il est alors possible de diminuer le nombre de ces combinaisons par un procédé simple selon lequel on supprime les chemins les moins probables. Comme on connaît la probabilité d'enchaînement entre deux phonèmes (voir figure 3, partie de gauche), il est possible d'ajouter un seuil au-dessous duquel la liaison n'est pas parcourue. En particulier, on peut supprimer les liaisons impossibles entre deux phonèmes, en se référant aux règles phonétiques de la langue. Cette action ne sera pas appliquée dans le cas où l'un des mots à rechercher (en particulier un nom propre) comporte une prononciation supposée improbable selon ces règles. On expose ci-dessous les principales étapes d'un algorithme de recherche pouvant être mis en oeuvre par le module de recherche (6). Pour chaque chaîne recherchée, soit Pr[] le tableau contenant les phonèmes de la chaîne recherchée. Pr[1] est le premier élément, Pr[length(Pr)] le dernier. Ces étapes sont alors : - Initialisation d'un compteur i à 1. - On cherche Pr[i] dans la section 1 (voir partie de gauche de la figure 3) et on note les numéros de ligne : nlPr[i][]. - On cherche Pr[i+l ] dans la section 1 et on note les numéros de ligne : nlPr[i+1][]. - On cherche dans la section 2 s'il existe un lien entre Pr[i] et Pr[i+l] grâce aux numéros de lignes précédemment sauvés. Si oui, alors on continue : i passe à i+l et on revient à l'étape 2 tant que i Si non, la chaîne n'est pas contenue dans le treillis et on passe à la recherche de la chaîne suivante. En résumé, les trois points majeurs sur lesquels est fondée l'invention et grâce auxquels on peut respecter le temps de calcul, l'adaptation aux mots hors vocabulaire et la précision : - la restriction au niveau phonème d'un système de reconnaissance large vocabulaire ; la transformation d'un mot en plusieurs représentations phonémiques ; - la recherche rapide dans le treillis de phonèmes. REVENDICATIONS1. Procédé de reconnaissance rapide de mots ou expressions dans un flux audio incident, caractérisé en ce qu'il consiste à établir une liste de mots ou expressions à reconnaitre, et, à l'aide d'un phonétiseur (8), à transformer ces mots ou expressions en un ensemble de plusieurs chaînes de phonèmes vraisemblables, puis, à l'aide d'un système de reconnaissance de phonèmes (2), à extraire des phonèmes d'un flux audio incident (F), à établir des enchaînements possibles des phonèmes ainsi extraits (5), et à rechercher dans ces enchainements la présence de l'une des chaînes de phonèmes vraisemblables précédemment obtenues par transformation. 2. Procédé selon la revendication 1, caractérisé en ce qu'en amont de la reconnaissance vocale de flux audio, on découpe ces flux en portions présentant un recouvrement mutuel. 3. Procédé selon la revendication 2, caractérisé en ce que la durée des portions de flux audio est comprise entre 10 et 100 secondes environ et que leur recouvrement mutuel est d'environ deux secondes. 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que le phonétiseur utilise une liste de mots ou expressions (7) et qu'il les convertit en plusieurs phonétisations pour chaque mot ou expression. 5. Procédé selon la revendication 4, caractérisé en ce que la phonétisation multiple, afin de prendre en compte les imprécisions de prononciation du locuteur et les imperfections de reconnaissance du modèle acoustique, produit des chaînes de phonèmes par inversion de phonèmes selon leur proximité acoustique. 6. Procédé selon la revendication 4, caractérisé en ce que la 30 phonétisation multiple, afin de prendre en compte les imprécisions de prononciation du locuteur et les imperfections de reconnaissance du10 12 modèle acoustique, produit des chaînes de phonèmes par inversion de phonèmes à la suite d'un apprentissage. 7. Système de reconnaissance rapide de mots ou expressions dans un flux audio incident (F), caractérisé en ce qu'il comporte d'une part un fichier texte (7) rempli par l'utilisateur et comportant des mots ou expressions à rechercher, suivi d'un phonétiseur multiple (8), et d'un système de recherche de chaînes dans un graphe (6), et d'autre part un système de reconnaissance de phonèmes (2) relié à des modèles acoustiques (3) et à des modèles de langages (4), ce système de reconnaissance étant relié audit système de recherche de chaînes.