THÈS EE - thesesups

Délivré par l'Université Toulouse III – Paul Sabatier. Discipline ou ...... TUB (Technischen Universit ¨ at Berlin - Allemagne). - BBN (BBN .... reconnaissance vocale grand vocabulaire à certaines techniques éprouvées d'indexation textuelle.
2MB taille 16 téléchargements 171 vues
THÈSE En vue de l'obtention du

DOCTORAT DE L’UNIVERSITÉ DE TOULOUSE Délivré par l'Université Toulouse III – Paul Sabatier Discipline ou spécialité : Informatique

Présentée et soutenue par Olivier Le Blouch Le 12 Juin 2009

Titre : Décodage acoustico-phonétique et applications à l'indexation audio automatique

JURY Rapporteurs :

M. Jean-François Bonastre M. Paul Deléglise

LIA Avignon Université du Maine

Examinateurs :

Mme Lori Lamel M. Guillaume Gravier

LIMSI Paris IRISA Rennes

Ecole doctorale : Mathématiques, Informatique, Télécommunications de Toulouse Unité de recherche : IRIT / SAMOVA Directeurs de Thèse :

Mme Régine André-Obrecht M. Patrice Collen

Université Toulouse III Orange Labs Rennes

ii

iii

REMERCIEMENTS

En premier lieu, je souhaite remercier chaleureusement mes deux encadrants, Régine André-Obrecht et Patrice Collen. Je tiens à remercier Régine pour sa disponibilité, ses conseils judicieux, sa réactivité et son aisance à faciliter les différentes étapes de cette thèse, qualités qui me font regretter de n'avoir pas eu davantage affaire à elle durant ses trois années. C'est également en toute sincérité que je remercie Patrice pour m'avoir donné l'opportunité de travailler dans un environnement idéal pendant plus de quatre ans, et ce malgré des circonstances pas toujours simples. Il m'a mis le pied à l'étrier après l'obtention de mon diplôme et a toujours été présent ensuite lorsqu'il s'agissait de me donner un coup de main, ce qui fait de lui un encadrant/chef/collègue que je souhaite à tout le monde. Je suis tout particulièrement reconnaissant aux rapporteurs de cette thèse, JeanFrançois Bonastre et Paul Deléglise, pour l'attention qu'ils ont portée à mes travaux. Je remercie également Lori Lamel pour m'avoir fait l'honneur de présider mon jury, ainsi que Guillaume Gravier pour avoir examiné mon manuscrit avec précision et pour avoir levé les bonnes questions. Ces années à France Telecom R&D furent également le théâtre de nombreuses rencontres enrichissantes, tant au point de vue professionnel qu'amical. Commençons l'énumération par la catégorie "collègues" avec un grand merci à Jean-Bernard, toujours disponible pour aider, Pierrick, Benoit, Paul, Christophe, Jean-Yves, Henri et les autres. Poursuivons par ceux qui sont devenus de véritables amis au fil des déjeuners sur l'herbe et des soirées rigolardes : Typhaine, Julie, Sébastien, Michaël, Alexey, Julien et Benjamin. Pour terminer, un merci tout particulier à Alexandra et à ma famille pour leur soutien permanent.

iv

TABLE DES MATIERES REMERCIEMENTS............................................................................................................. III TABLE DES MATIERES .....................................................................................................IV TABLE DES FIGURES.........................................................................................................VI TABLE DES TABLEAUX .................................................................................................VIII CHAPITRE 2

INTRODUCTION GENERALE ............................................................... 1

2.1. INTRODUCTION ......................................................................................................... 2 ETAT DE L'ART .......................................................................................................... 7 2.2. 2.2.1. Reconnaissance automatique de la parole........................................................... 7 2.2.2. Détection de mots-clés ......................................................................................... 9 2.2.3. Recherche de termes parlés................................................................................ 14 2.2.4. Recherche documentaire audio.......................................................................... 19 2.3. ORGANISATION DU DOCUMENT ............................................................................... 25 CHAPITRE 3 3.1. 3.2. 3.3. 3.4. 3.5. 3.5.1. 3.5.2. 3.5.3. 3.5.4. 3.5.5. 3.6. 3.6.1. 3.6.2. 3.7.

INTRODUCTION ....................................................................................................... 28 ETAT DE L'ART DU DECODAGE ACOUSTICO-PHONETIQUE ........................................ 29 ARCHITECTURE GENERALE D'UN SYSTEME DE TRANSCRIPTION PHONETIQUE .......... 35 LES SYLLABES ......................................................................................................... 43 DESCRIPTION DES SYSTEMES DEVELOPPES .............................................................. 47 Description des corpus....................................................................................... 47 Paramétrisation acoustique ............................................................................... 51 Modèles de langage............................................................................................ 53 Présentation des systèmes .................................................................................. 53 Mise en oeuvre ................................................................................................... 63 EXPERIMENTATIONS ET RESULTATS ........................................................................ 64 Récapitulatif des systèmes .................................................................................. 64 Résultats ............................................................................................................. 65 CONCLUSION ........................................................................................................... 68

CHAPITRE 4 4.1. 4.2. 4.3. 4.3.1. 4.3.2. 4.3.3. 4.4. 4.4.1. 4.4.2. 4.4.3. 4.4.4.

DECODAGE ACOUSTICO-PHONETIQUE........................................ 27

DETECTION DE MOTS-CLES SUR FLUX PHONETIQUE ............ 69

INTRODUCTION ....................................................................................................... 70 ETAT DE L'ART DE LA DETECTION DE MOTS-CLES BASEE PHONEMES ....................... 73 CONTEXTE EXPERIMENTAL ..................................................................................... 76 Corpus d'évaluation ........................................................................................... 76 Liste de mots-clés ............................................................................................... 76 Méthode d'évaluation ......................................................................................... 76 UN PREMIER MOTEUR DE DETECTION ...................................................................... 78 Organisation des mots-clés ................................................................................ 78 Arbre de mots-clés et détection exacte ............................................................... 79 Arbre de mots-clés et détection approximative .................................................. 79 Une méthode "court-circuit" pour la détection approximative.......................... 85

v

4.4.5. 4.5. 4.6. 4.6.1. 4.6.2. 4.6.3. 4.7. 4.8. 4.9.

Bilan ................................................................................................................... 90 UN DICTIONNAIRE ENRICHI POUR UNE DETECTION EXACTE ..................................... 91 TAUX DE PRECISION ET EXPANSION PHONETIQUE .................................................... 95 Aperçu des erreurs récurrentes.......................................................................... 96 Améliorations proposées .................................................................................... 96 Expansion des requêtes par contexte phonétique .............................................. 97 EXPANSION ETENDUE DU CONTEXTE PHONETIQUE ................................................ 103 DESCRIPTION D'UN SYSTEME COMPLET DE DETECTION DE MOTS-CLES .................. 109 CONCLUSION ......................................................................................................... 113

CHAPITRE 5

CONCLUSION ET PERSPECTIVES .................................................. 115

CHAPITRE 6

ANNEXES ............................................................................................... 119

BIBLIOGRAPHIE ............................................................................................................... 149

vi

TABLE DES FIGURES Figure 1 : Exemple de mots hors vocabulaire face au critère de maximum de vraisemblance . 5 Figure 2 : Historique du traitement de la parole, extrait de [JUA 05]........................................ 7 Figure 3 : Exemple de sortie d'un moteur de détection de mots-clés....................................... 10 Figure 4 : Utilisation de modèles poubelles dans un système de détection de mots-clés ........ 11 Figure 5 : Architecture générale d'un système de Spoken Term Detection ............................. 14 Figure 6 : Interface de recherche.............................................................................................. 18 Figure 7 : Structure globale d'un système de Spoken Term Detection basée phonèmes ......... 18 Figure 8 : Groupes de souffle ................................................................................................... 19 Figure 9 : Spoken Document Retrieval et reconnaissance grand vocabulaire ......................... 21 Figure 10 : Panorama des briques applicatives implémentées ................................................. 25 Figure 11 : Architecture d'un système de reconnaissance acoustico-phonétique..................... 35 Figure 12 : Etapes de calcul des MFCC ................................................................................... 36 Figure 13 : Filtres triangulaires à échelle Mel (20 bandes)...................................................... 37 Figure 14 : HMM gauche-droite à trois états ........................................................................... 37 Figure 15 : Exemple de graphe de Viterbi pour une séquence de huit observations et un HMM à 3 états ............................................................................................................................. 42 Figure 16 : Exemple de syllabe ................................................................................................ 44 Figure 17 : Composants d'une syllabe...................................................................................... 44 Figure 18: Construction des corpus d'apprentissage pour les modèles de langage.................. 45 Figure 19 : Procédure d'alignement forcé ................................................................................ 49 Figure 20 : Topologie d'un monophone ................................................................................... 54 Figure 21 : Exemple de graphe généré par un bigram sur un vocabulaire constitué de deux termes indépendants du contexte A et B........................................................................... 55 Figure 22 : Exemple de phonèmes modélisés par des monophones et concaténés en syllabe. 55 Figure 23 : Topologie d'un triphone......................................................................................... 56 Figure 24 : Exemple de transcription du mot "Elvis" en triphones.......................................... 57 Figure 25 : Exemple de graphe généré par un bigram sur un vocabulaire constitué de deux termes dépendants du contexte A et B .............................................................................. 58 Figure 26 : Triphones concaténés en syllabes avec expansion totale pour le mot "Elvis"....... 59 Figure 27 : Triphones concaténés en syllabes avec expansion interne uniquement ................ 60 Figure 28 : Création d'une syllabe à partir d'unités transitoires ............................................... 61 Figure 29 : Partage d'états entre syllabes ................................................................................. 62 Figure 30 : Différents étiquetages du mot "Elvis" ................................................................... 63 Figure 31 : Détection de mots-clés sur flux phonétique........................................................... 70 Figure 32 : Exemple de phénomène de coarticulation apparu lors du décodage ..................... 71 Figure 33 : Architecture du système de reconnaissance ELVIRCOS ...................................... 74 Figure 34 : Processus de recherche sous-vocabulaire du système ELVIRS ............................ 74 Figure 35 : Exemple d'arbre de mots-clés ................................................................................ 78 Figure 36 : Exemple de calcul de similarité ............................................................................. 80 Figure 37 : Triangle vocalique des voyelles du français, selon la fréquence des deux premiers formants F1 et F2 .............................................................................................................. 80 Figure 38 : Extrait d'une matrice de confusion phonétique...................................................... 81 Figure 39 : Exemple de calcul de distance phonétique modifiée ............................................. 81

vii

Figure 40 : Exemple de calcul approximatif ............................................................................ 82 Figure 41 : Détections approximatives en termes de taux de rappel/précision ........................ 83 Figure 42 : Détection de mots-clés en fonction du seuil de tolérance (OK=nombre de détections correctes, FA=nombre de fausses alarmes) ..................................................... 84 Figure 43 : Exemple de court-circuit en début de parcours approximatif avec gestion des substitutions ...................................................................................................................... 86 Figure 44 : Génération des combinaisons "3 phonèmes sur 5" pour la suppression................ 87 Figure 45 : Exemple de courts-circuits gérant substitutions et suppressions ........................... 87 Figure 46 : Exemple d'insertion d'un phonème "O" dans le flux phonétique .......................... 88 Figure 47 : Gestion des insertions par génération des combinaisons 3/5 sur le flux ............... 88 Figure 48 : Evaluation de la détection approximative de mots-clés dans un arbre avec courtscircuits............................................................................................................................... 89 Figure 49 : Pourcentage de fausses alarmes en fonction de la taille des requêtes phonétiques97 Figure 50 : Extrait de CXT_CORPUS ..................................................................................... 98 Figure 51 : Construction des "pro-contextes" et "anti-contextes" à partir des mots-clés du corpus textuel CXT_CORPUS ......................................................................................... 99 Figure 52 : Influence de l'expansion sur les transcriptions propres et bruitées...................... 101 Figure 53 : Exemple de grammaire, extrait de [YOU 05]...................................................... 103 Figure 54 : Exemple de grammaire sur les noms de pays ...................................................... 104 Figure 55 : Exemple d'arbre de mots compatible avec la grammaire. ................................... 105 Figure 56 : Exemple de parcours de règles ............................................................................ 106 Figure 57 : Evaluations BNF, précision/rappel en fonction de la taille minimale des séquences phonétiques ..................................................................................................................... 108 Figure 58 : Plateforme MediaSearch...................................................................................... 111 Figure 59 : Algorithme basique de détection de mots-clés .................................................... 125 Figure 60 : Algorithme de détection exacte de mots-clés dans un arbre................................ 125 Figure 61 : Distance de Levenshtein ...................................................................................... 126 Figure 62 : Pseudo-code de la distance de Levenshtein modifiée.......................................... 127 Figure 63 : Exemple d'arbre de suffixe généralisé ................................................................. 128 Figure 64 : Exemple de suffix trie sur le mot "BANANAS" ................................................. 134 Figure 65 : Structure réelle d'un arbre de suffixes ................................................................. 134 Figure 66 : Exemple d'arbre de suffixes généralisé................................................................ 135 Figure 67 : Transcriptions phonétiques et arbre de suffixes généralisé ................................. 136 Figure 68 : Nombre de noeuds de l'arbre de suffixes généralisé en fonction du nombre de phonèmes lus dans le corpus de test................................................................................ 137 Figure 69 : Structure générale pour la recherche exacte ........................................................ 143 Figure 70 : Fonction récursive de détection de termes avec indexation par trigrammes ....... 144 Figure 71 : Espace mémoire en fonction du nombre d'heures d'audio traitées ...................... 145 Figure 72 : Temps de mise en mémoire du corpus en fonction du nombre d'heures d'audio traitées ............................................................................................................................. 145 Figure 73 : Temps moyen d'une recherche en fonction du nombre d'heures d'audio traitées 145 Figure 74 : Fusion en classes phonétiques ............................................................................. 146 Figure 75 : Génération des "3 phonèmes sur 5"..................................................................... 146 Figure 76 : Structure globale pour la détection approximative de slots................................. 147

viii

TABLE DES TABLEAUX Tableau 1 : Liste des 35 phonèmes du français pour le décodage ........................................... 39 Tableau 2 : Tâches de la campagne ESTER 1 ......................................................................... 48 Tableau 3 : Répartition des corpus acoustiques, extrait de [GRA 04] ..................................... 48 Tableau 4 : Répartition des données du corpus audio d'apprentissage .................................... 50 Tableau 5 : Influence de l'énergie sur le décodage acoustico-phonétique ............................... 52 Tableau 6 : Influence de la normalisation par la moyenne des cepstres sur le décodage acoustico-phonétique ........................................................................................................ 52 Tableau 7 : Récapitulatif des systèmes de décodage acoustico-phonétique ............................ 64 Tableau 8 : Complexité des systèmes de décodage acoustico-phonétique .............................. 65 Tableau 9 : Résultats du décodage sur Test_Ester ................................................................... 65 Tableau 10 : Vitesse d'exécution du décodage acoustico-phonétique (x plus long que le Temps réel) ................................................................................................................................... 67 Tableau 11 : Répartition des 35 phonèmes en classes de substitution ..................................... 85 Tableau 12 : Phénomènes de coarticulation............................................................................. 92 Tableau 13 : Extrait de la liste de 151 mots-clés avec variantes de prononciations ................ 93 Tableau 14 : Details des résultats de détection sur transcriptions exactes ............................... 96 Tableau 15 : Détection du mot-clé "Irak" selon la règle grammaticale "La guerre en Irak" et un nombre minimal de phonèmes variant de 3 à 10 ....................................................... 107 Tableau 16 : Extrait du dictionnaire de reconnaissance vocale partielle ............................... 109 Tableau 17 : Extrait de la grammaire pour le système de reconnaissance vocale partielle ... 110 Tableau 18 : Exemple de reconnaissance vocale partielle ..................................................... 110 Tableau 19 : Exemple de parcours approximatif dans un arbre de suffixes généralisé ......... 131 Tableau 20 : Exemple de construction d'un suffix tree sur la chaîne "BANANA$".............. 141

Introduction générale et positionnement du problème

CHAPITRE 1 INTRODUCTION GENERALE

1

Introduction générale et positionnement du problème

2

1.1. Introduction Depuis le premier enregistrement sonore connu, daté de 1860 et attribué à un typographe français, Edouard-Léon Scott, la masse de documents audio n'a cessé de croître à travers le monde. La profusion des types de supports et des moyens d'acquisition toujours plus nombreux en est un parfait exemple. Ces documents audio peuvent contenir de la parole, de la musique ou d'autres sons divers et sont de plus en plus répandus en particulier au travers des différents médias majeurs : radio, télévision et internet. L'essor du web a d'ailleurs provoqué ces dernières années un véritable raz de marée au niveau de la production numérique de contenus multimédias professionnels et amateurs par le biais notamment des podcasts ou de sites comme Youtube1 ou Dailymotion2. Pour accompagner cette évolution, les productions sont la plupart du temps enrichies de métadonnées décrivant le contenu pour en permettre une classification sommaire et un accès aux contenus. Celles-ci, définies manuellement par les créateurs des contenus et/ou par des utilisateurs, peuvent être constituées d'un titre, de mots-clés, un nom d'auteur, un résumé, voire des sous-titres dans le cas de flux télévisuels. Néanmoins ces informations, souvent réduites au strict minimum, s'avèrent souvent insuffisantes pour une classification efficace et retrouver les documents a posteriori. En outre, le nombre de documents nouveaux ou archivés et non annotés, associé au temps nécessaire de traitement de l'annotation rend l'indexation manuelle fastidieuse. Aujourd'hui, près de 600 radios et télévisions couvrant 40 langues différentes sont indexées à travers le monde. Les annotations manuelles de ces contenus, que ce soit les transcriptions ou les traductions, prennent au minimum cinq fois la durée des contenus considérés. C'est pour faciliter et accélérer ces opérations que de nombreux travaux sont menés dans le domaine de l'indexation automatique des documents parlés. L'indexation automatique de documents parlés couvre plusieurs tâches applicatives différentes, dont la recherche de termes parlés, la détection de mots-clés et la recherche documentaire audio.

1

-

La recherche de termes parlés, ou Spoken Term Detection (STD), d'après la définition proposée par le NIST3, consiste à trouver toutes les occurrences d'un terme, aussi efficacement que possible, dans des sources audio hétérogènes. Un terme est défini comme une séquence de mots adjacents, contenant au minimum un seul mot. Il s'agit d'un processus divisible en deux parties distinctes : l'indexation des archives et la recherche effective des termes;

-

La détection de mots-clés, ou Keyword Spotting (KWS), sous-entendu dans un flux audio, est l'application "complémentaire" à la recherche de termes parlés. Son but est d'analyser les flux audio d'émissions et d'y détecter des mots-clés. Il s'agit d'un processus fonctionnant à la volée, analysant le flux si possible en temps réel et si possible avec un faible retard afin d'indexer des mots en direct;

http://www.youtube.com/ http://www.dailymotion.com/ 3 National Institute of Standards and Technology, USA. http://www.nist.gov 2

Introduction générale et positionnement du problème

-

3

La recherche documentaire audio, ou Spoken Document Retrieval (SDR) consiste à effectuer des requêtes textuelles dans de grandes archives de données audio, à l'image d'un moteur de recherche internet permettant d'effectuer des requêtes textuelles dans un ensemble de sites web. Cette dernière tâche est très proche de la tâche de recherche de termes parlés, l'objectif commun étant la recherche rapide d'informations dans de grandes archives de documents audio. La différence fondamentale se situe au niveau du type des résultats retournés. En recherche documentaire audio, l'utilisateur attend une liste de documents pertinents triés contenant la ou les requêtes alors qu'en recherche de termes parlés, il obtient la liste de segments de parole extraits des documents et sensés contenir uniquement les requêtes formulées. Notons pour terminer qu'une campagne d'évaluation internationale a été mise en place par le NIST : les Text REtrieval Conferences, ou TREC4. Pionnières dans l'évaluation des systèmes d'indexation depuis 1997, elles servent de référence dans l'évaluation des systèmes de recherche documentaire audio.

L'approche générale la plus intuitive, et également la plus courante concernant ces moteurs d'indexation consiste tout d'abord en l'application d'un moteur de reconnaissance vocale grand vocabulaire sur le signal de parole. Un tel moteur produit une transcription de l'audio en mots, à l'image d'une dictée vocale où l'on cherche à reconnaître l'intégralité des mots prononcés. Cette transcription peut être utilisée par la suite dans une indexation au niveau mot. Parmi les systèmes actuels, citons par exemple la collaboration entre les sociétés françaises Vecsys Research5 et Exalead6 dans le cadre du projet Quaero. De cette association est né un moteur complet d'indexation nommé Voxalead7. Difficile en outre de ne pas parler du Dragon Audiomining de Nuance8, logiciel d'indexation basé sur le produit Dragon Naturally Speaking. Parmi les solutions complètes existantes, le centre de recherche et développement de la télévision italienne RAI, a développé un logiciel complet d'annotation automatique de programmes télévisés baptisé ANTS [DIM 08], ou Automatic Newcast Transcription System. Google a également fait une entrée remarquée dans le domaine avec Gaudi9. Notons que pour l'instant, cette application est uniquement dédiée aux sujets politiques, c'est-à-dire un type de contenu assez fermé avec des conditions plutôt favorables aux systèmes de reconnaissance grand vocabulaire (parole préparée, vocabulaire ciblé). Société pionnière dans les technologies de reconnaissance vocale, BBN10 propose pour sa part le BBN Broadcast Monitoring System, un système permettant la transcription et la traduction vers l'anglais de contenus broadcastés, ainsi qu'une interface de recherche de mots-clés et ce en arabe, perse/farsi, mandarin, et espagnol. Cette société développe également EveryZing11, une interface complète de recherche dans des vidéos basée sur une transcription automatique de la parole. Pour terminer, évoquons la société israëlienne LNTS12, fondée en 2007 et basée sur approche complètement phonétique.

4

http://trec.nist.gov http://www.vecsysresearch.com/ 6 http://www.exalead.fr 7 http://voxalead.labs.exalead.com/SpeechToText 8 http://www.nuance.com 9 Google Audio Indexing. http://labs.google.com/gaudi 10 http://www.bbn.com 11 http://www.everyzing.com 12 http://www.lntstech.com 5

Introduction générale et positionnement du problème

4

L'objectif général de nos travaux est le développement de technologies s'insérant dans le processus d'indexation de tout type de contenus. Il peut tout aussi bien s'agir de journaux télévisés que de contenus non maîtrisés, professionnels ou amateurs, aux conditions d'enregistrements diverses et contenant éventuellement d'autres langues que le français. Comme exposé dans le paragraphe précédent, la majorité des travaux relatifs à l'indexation audio se résument à l'application préalable d'un moteur de reconnaissance vocale grand vocabulaire sur les documents parlés avant d'y appliquer des outils d'indexation textuelle au niveau mot. Cette méthode offre de bons résultats mais elle fait face à deux problèmes majeurs : la difficulté de reconnaître un discours spontané et les mots hors vocabulaire. En effet, la reconnaissance d'un discours sans connaissance préalable demande un traitement complexe requérant par exemple une détection de la langue et une adaptation des modèles acoustiques et des modèles de langage. En outre, malgré des processeurs toujours plus rapides et des algorithmes de décodage performants, la complexité de la reconnaissance reste un facteur critique selon les besoins des systèmes. La reconnaissance grand vocabulaire atteint malgré tout aujourd'hui de très bons taux de reconnaissance : le système développé par le LIMSI, par exemple, atteint environ 14% d'erreurs sur la campagne d'évaluation française ESTER [GAL 05] sans contrainte de temps de décodage. Notons cependant que des systèmes industriels opérationnels tels que ceux développés par Vecsys Research et le LIMSI ou Sail Labs13 proposent un fonctionnement en temps réel. Les évaluations telles que celles effectuées pour la campagne ESTER sont la plupart du temps effectuées sur des données broadcast, peu hésitantes et peu bruitées, c'est-àdire encore loin des conditions du discours spontané, du commentaire sportif, et surtout des "Contenus Générés par des Utilisateurs", ou CGU, proposés sur des sites tels que YouTube14 ou Dailymotion15. Sur ce type de données, les modèles de langage associés à la reconnaissance, spécialisés et paramétrés sur des conditions favorables, tentent vainement de s'adapter et engendrent de forts taux d'erreur rendant la reconnaissance inutilisable; l'enchaînement des termes et la façon de parler sont trop éloignés des modèles appris, aboutissant à des résultats incongrus. C'est l'utilisation quasi généralisée de l'algorithme de Viterbi [YOU 89] et du critère du maximum de vraisemblance [FED 98] comme cœur des systèmes de reconnaissance qui impose au système d'adapter une transcription continue sur le signal audio quelque soit le contenu. Il en résulte un déséquilibre entre des portions de phrases parfaitement reconnues et d'autres très éloignées de ce qui a été effectivement prononcé. En choisissant de se focaliser uniquement sur des zones de parole transcrites avec une meilleure précision, on peut donc s'attendre à optimiser les taux de rappel et de précision au niveau local. Autre point important : dans le cadre d'un moteur d'indexation audio, les informations traitées doivent être porteuses de sens. En effet, lors de l'indexation, il est important de s'intéresser essentiellement aux mots pertinents en s'affranchissant des mots "vides", ou stop words, à l'apport sémantique faible. Il a été montré, par exemple, que 50% des mots contenus dans un court texte en anglais typique appartenaient à une liste de 135 mots communs "vides" [HAR 94]. Or, malgré cette proportion, mots vides et mots porteurs de sens restent

13

http://www.sail-labs.at http://fr.youtube.com 15 http://www.dailymotion.com 14

Introduction générale et positionnement du problème

5

nécessaires à l'élaboration des modèles de langage classiquement utilisés dans la reconnaissance de la parole continue. En considérant ces écueils de la reconnaissance grand vocabulaire, nous proposons dans cette thèse de nous concentrer davantage sur l'élaboration d'un outil de détection de mots-clés. Par ce biais, nous privilégions les termes et les entités nommées aux mots de liaisons tout en tentant de s'affranchir des modèles de langage. Notons également que l'utilisation classique des modèles de langage empêche une mise à jour simple et rapide du vocabulaire. C'est pourquoi, par le choix de cette piste de recherche, nous nous fixons en outre l'objectif suivant : le développement d'un outil souple permettant une mise à jour simple du dictionnaire de mots-clés. Autre inconvénient majeur des systèmes basés sur une reconnaissance vocale grand vocabulaire : les requêtes de mot hors-vocabulaire. Ces mots hors-vocabulaire, ou OOV pour "out of vocabulary", sont tous les termes et entités nommées, c'est-à-dire les noms propres de personnes, de lieux, d'organismes, etc, n'apparaissant pas dans le dictionnaire utilisé pour la reconnaissance vocale, comme illustré par la Figure 1. Dans cet exemple, le système ne connaît pas le nom du nouveau président des Etats-Unis. Il a été prouvé expérimentalement par Logan [LOG 96] que près de 10% des requêtes utilisateurs pouvaient contenir de ces OOV, en particulier au niveau des entités nommées. Woodland a d'ailleurs étudié la question de leur impact sur la recherche documentaire audio [WOO 00]. Cet écueil est connu comme étant potentiellement évitable en utilisant, à la place des mots, des unités plus courtes comme le phonème, permettant le cas échéant de reconstruire des mots inconnus. L'état de l'art dans ce domaine met en évidence la possibilité d'obtenir des résultats proches des systèmes basés reconnaissance par mots tout en autorisant la recherche de mots hors-vocabulaire [CLE 02], [SEI 04]. Une solution industrielle orientée phonèmes est par exemple proposée par la société Nexidia16 implantée aux Etats-Unis et inspirée des travaux de Clements et Cardillo [CLE 01]. Basée sur des transcriptions de l'audio en phonèmes, cette technologie permet l'indexation de documents et la recherche de n'importe quel mot-clé dans un panel de 33 langues différentes. Outre le phonème, plusieurs travaux envisagent des systèmes basés sur d'autres unités linguistiques plus courtes que le mot telles que les graphèmes ou les syllabes [WEC 98a]. Ce qui est prononcé :

Barack Obama

Ce qui est reconnu :

Baraque aux Bahamas

Figure 1 : Exemple de mots hors vocabulaire face au critère de maximum de vraisemblance L'utilisation de phonèmes comme unités basiques des moteurs d'indexation audio cumule plusieurs avantages. Premièrement, l'utilisation d'une unité basique inférieure aux mots permet d'éviter l'écueil majeur des mots hors-vocabulaire et concrètement, l'unité phonétique s'est avérée efficace dans les travaux de Wechsler [WEC 98], Moreau [MOR 05] ou Szoke [SZO 06]. Deuxièmement, le fait de transcrire le signal audio en phonèmes est un 16

http://www.nexidia.com/

Introduction générale et positionnement du problème

6

préalable efficace pour toute application d'indexation, que ce soit pour la détection de motsclés à la volée ou pour la recherche de termes dans des archives. En effet, il est théoriquement possible de retrouver rapidement n'importe quel mot ou phrase prononcée dans une transcription phonétique, sans avoir à revenir sur une analyse du signal. Ceci allège la répétition des processus ou la recherche de nouvelles requêtes. Dans le cas d'une détection basée sur le critère du maximum de vraisemblance appliqué au signal, réitérer un processus intégral pour de nouvelles requêtes est obligatoire et coûteux. Troisièmement, l'implémentation complète d'un décodeur acoustico-phonétique efficace est un bon compromis face à la complexité de développement d'un moteur de reconnaissance grand vocabulaire. Notons malgré tout que privilégier l'utilisation des phonèmes fait apparaître des obstacles. Le premier est la disparition des frontières de mots engendrant une complexité supplémentaire lors de la recherche dans le flux phonétique afin d'éviter l'apparition de nouvelles fausses alarmes, c'est-à-dire des détections incorrectes. En y associant les erreurs typiques du décodage acoustico-phonétique, de nombreuses erreurs de détection sont attendues de la part d'un système uniquement phonétique. Concernant les inconvénients d'un tel système, notons que l'efficacité des transcriptions phonétiques est moindre que les transcriptions par mots, les meilleurs décodeurs acoustico-phonétiques aboutissant à des taux d'erreur phonétiques d'environ 25% alors que les meilleurs décodeurs par mots atteignent près de 10% d'erreurs par mots. Ajoutons également que la phonétisation des requêtes pour l'indexation déporte le problème des prononciations multiples et du maximum de vraisemblance au niveau mot. Suite à ces considérations, l'approche choisie dans cette thèse est donc le développement d'applications d'indexation audio basée sur les phonèmes. Dans nos travaux nous mettons en particulier l'accent sur des résultats de détections précis et robustes, probablement au détriment du nombre réel de détections à effectuer. D'un point de vue utilisateur, il nous a semblé plus cohérent de privilégier la précision au détriment du taux de rappel. Concrètement, les objectifs des travaux réalisés tout au long de cette thèse concernent le développement d'un moteur de transcription phonétique du français et son utilisation pour des applications à l'indexation audio. Cette thèse présente nos contributions portant sur : -

La conception et l'évaluation d'un moteur complet de décodage acousticophonétique robuste et performant permettant l'application de futurs outils de recherche et de détection;

-

L'implémentation d'un moteur de détection de mots-clés basé sur les transcriptions phonétiques afin d'indexer les flux audio à la volée; cette application consiste à analyser un flux en direct et à y détecter des mots-clés contenus dans une liste de mots-clés prédéfinie;

-

Dans une moindre mesure, le développement d'un système basique de recherche de termes parlés dans des archives audio réutilisant lui aussi les transcriptions phonétiques et autorisant un utilisateur à effectuer rapidement des requêtes dans de grandes archives de données audio.

Avant de présenter un plan détaillé de ces travaux à la section 1.3, nous détaillons dans la section suivante un état de l'art concernant les domaines évoqués dans cette thèse.

Introduction générale et positionnement du problème

7

1.2. Etat de l'art Cette section expose plus précisément l'existant concernant nos deux champs d'action principaux. Nous présentons donc dans un premier temps l'existant en matière de reconnaissance automatique de la parole puis, dans une seconde partie les différentes méthodes de détection de mots-clés. Bien que les domaines de recherche de termes parlés et de recherche documentaire audio aient été peu abordés dans nos travaux, l'étude de certains articles nous a tout de même donné quelques pistes de recherche. C'est pourquoi les troisième et quatrième parties dressent un panorama des approches existantes concernant ces deux domaines respectifs.

1.2.1.

Reconnaissance automatique de la parole

Depuis les années 50 et le premier système de reconnaissance automatique de la parole par Davis, Biddulph, et Balashek [DAV 52], de nombreux autres systèmes ont vu le jour. Un bref historique en a été établi par Juang et Rabiner en 2005 [JUA 05], expliquant les fondements et directions prises pour la recherche et l'industrie dans ce domaine. Un panorama chronologique retraçant l'évolution des systèmes de reconnaissance de la parole, extrait de cet ouvrage, est proposé en Figure 2.

Vocabulaire de taille moyenne, méthodes basées templates

Vocabulaire court, méthodes basées connaissance Mots isolés

Analyse par bancs de filtres; normalisation temporelle; programmation dynamique

1962

Grand vocabulaire, méthodes statistiques

Mots isolés; Nombres connectés; Parole continue

Mots connectés; Parole continue

Reconnaissance de formes; analyse LPC; algorithmes de classification

Chaînes de Markov Cachées; modélisation stochastique du langage

1967

1972

1977

1982

1987

Grand vocabulaire, syntaxe, sémantique

Très grand vocabulaire, sémantique, dialogue multimodal, synthèse vocale

Parole continue

Dialogue parlé; Multimodalité

Compréhension stochastique du langage; machines à états finis; apprentissage statistique

Synthèse par concaténation; apprentissage artificiel; dialogue à changement d'initiative

1992

1997

2002

Figure 2 : Historique du traitement de la parole, extrait de [JUA 05]

Introduction générale et positionnement du problème

8

Ce sont les années 70 qui ont vu l'émergence des premiers véritables systèmes de reconnaissance de la parole soutenus par les fonds SUR17 du projet ARPA18, section du département de la défense américaine. Il s'agit des systèmes HARPY du CMU19 [LOW 76], "Hear What I Mean" de BBN [WOO 76], et Hearsay II du CMU [RED 77], proposant des taux de reconnaissance phonétique de l'ordre de 40 à 50%. Il est également intéressant d'évoquer DRAGON [BAK 74], le premier système à utiliser une modélisation basée sur des machines de Markov. En parallèle à ARPA, deux directions différentes furent prises par deux entreprises américaines bien connues : IBM et AT&T Bell Laboratories. IBM, grâce aux travaux dirigés par Fred Jelinek [JEL 76], mirent au point un système baptisé Tangora, dépendant du locuteur, ayant pour objectifs principaux tout d'abord la gestion d'un grand vocabulaire et ensuite la mise au point d'une structuration du langage, représenté par une liste de règles de syntaxe statistiques décrivant les probabilités des séquences de symboles (mots ou phonèmes). Ces recherches introduisirent les termes de modèle de langage et de modèles ngram, toujours d'actualité aujourd'hui. Chez AT&T Bell Laboratories, les recherches en reconnaissance de la parole étaient plutôt dédiées au dialogue et aux services téléphoniques pour une majorité d'utilisateurs, initiant les travaux des moteurs de reconnaissance indépendants du locuteur, capables de gérer les variations interlocuteurs, c'est-à-dire les variations vocales possibles d'une personne à une autre. Les efforts en ce domaine ont permis la découverte de mesures de distances spectrales, comme celle d'Itakura [ITA 75], ou encore l'avènement des méthodes statistiques en premier lieu desquelles : les chaînes de Markov cachées. En outre, ces laboratoires ont donné le jour à un concept très important, celui de détection de mots-clés, utilisé comme forme primitive d'un système de compréhension de la parole [WIL 90]. Les travaux très différents menés par ces laboratoires ont ouvert la voie à la plupart des domaines de recherche encore en activité aujourd'hui. Dans les années 80-90, plusieurs autres systèmes ont vu le jour, caractérisés principalement par un changement de méthodologie impliquant des approches orientées reconnaissance de formes et ce grâce à des méthodes de modélisation plus rigoureuses. Cette période s'avère surtout importante par l'avènement d'un outil important pour la reconnaissance de la parole : les chaînes de Markov cachées. Bien que le concept de base soit connu depuis déjà quelques années, il aura fallu attendre le milieu des années 80 pour voir émerger une méthodologie complète. Parmi les outils utilisant cette technologie, citons par exemple : -

17

BYBLOS, de BBN [SCH 89]; SPHINX, développé par le CMU [LEE 88], qui est parvenu à intégrer avec succès les chaînes de Markov cachées avec le moteur de recherche du système HARPY, aboutissant à des résultats remarquables pour un système de reconnaissance de la parole à grand vocabulaire. Certains laboratoires français comme le LIUM20 participent aujourd'hui au développement de cet outil; DECIPHER, du SRI [MUR 89]; TANGORA, d'IBM [AVE 87]; La boîte à outils HTK [YOU 05];

Speech Understanding Research Program Advanced Research Projects Agency 19 Carnegie Mellon University 20 Laboratoire d'Informatique de l'Université du Maine 18

Introduction générale et positionnement du problème

-

9

Julius [LEE 01]; Sirocco, de l'IRISA21 [GRA 02]

De nos jours, les recherches se poursuivent sur ces systèmes, la plupart encore d'actualité, avec toujours davantage d'expérimentations de nouvelles méthodes afin de confronter les résultats sur des données d'évaluation de plus en plus importantes et des tâches de plus en plus complexes. Les travaux actuels relatifs à HTK et Julius, par exemple, ont pour objectif la gestion de dictionnaires et de modèles de langage de plus en plus grands. Parmi les systèmes contemporains, citons également la société française Vecsys Research22 qui, en étroite collaboration avec le LIMSI23, propose un système de reconnaissance vocale du français et d'autres langues telles que l'anglais ou l'espagnol. Parmi les autres concepteurs de systèmes de reconnaissance grand vocabulaire existants et commercialisés, évoquons Dragon Naturally Speaking de Nuance24 ou encore la technologie développée par l'entreprise autrichienne Sail Labs. Celle-ci permet entre autres la transcription automatique de la parole en texte pour neuf langues dont le français. L'état de l'art concernant le décodage acoustico-phonétique, sur lequel se reposent nos premiers travaux, est présenté dans le chapitre suivant.

1.2.2.

Détection de mots-clés

Un état des lieux concernant les méthodes de détection d'un ensemble de mots dans un flux audio ayant déjà été exposé par Philippe Gelin en 1997 [GEL 97], nous nous contenterons ici d'une liste non exhaustive. Avant de décrire chronologiquement les techniques usuelles de détections de mots-clés dans un signal de parole, nous ferons la distinction entre les systèmes utilisant ou non un type de modèle particulier appelé modèle poubelle. Enfin, nous nous intéresserons à l'existant en matière de détection de mots-clés dans un flux phonétique. Des techniques de programmation dynamique pour la détection de mots-clés ont été initialement proposées par Bridle [BRI 73], pour lesquelles un score était calculé pour chaque mot-clé associé à toutes les portions acoustiques d'un signal audio possibles en entrée, chaque chemin de programmation dynamique étant considéré comme une détection probable d'un mot-clé. Une seconde étape permettait de filtrer les recouvrements et de normaliser les probabilités afin de séparer les bonnes détections des fausses alarmes. Quatre ans plus tard, une méthode basée sur la mise en correspondance entre un flux de parole continue et des séquences de référence afin d'en extraire les mots-clés fut mise au point par Christiansen et Rushforth [CHR 77]. Le processus s'articulait autour d'une comparaison de chaque mot avec une fenêtre de taille identique glissant le long du flux d'entrée. Cette comparaison était évaluée par une distance calculée à l'aide d'un algorithme d'alignement temporel appelé Dynamic Time Warping, ou DTW. Une détection était levée lorsque la distance enregistrée était suffisamment faible pour plusieurs fenêtres, engendrant 21

Institut de recherche en informatique et systèmes aléatoires http://www.vecsysresearch.com/ 23 Laboratoire d'Informatique pour la Mécanique et les Sciences de l'Ingénieur. http://www.limsi.fr 24 http://www.nuance.com 22

Introduction générale et positionnement du problème

10

un grand nombre de calculs, sans compter la gestion des prononciations multiples des motsclés. En 1985, Higgins et Wohlford [HIG 85] introduisirent le terme de modèles poubelles, ou filler templates, sensés représenter tous les mots hors vocabulaire, c'est-à-dire tous les "non-mots-clés", au sein d'un système de reconnaissance de la parole également basé sur de la DTW. La sortie d'un tel système est un flux continu de mots-clés considérés comme correctement détectés et de portions poubelles, comme indiqué en Figure 3.

Filler 1

Mot-clé 1

Filler M

Mot-clé i

Filler j

Figure 3 : Exemple de sortie d'un moteur de détection de mots-clés Méthodes de détection de mots-clés basées sur les modèles poubelles A l'instar de la reconnaissance vocale, l'utilisation des chaînes de Markov cachées dans le domaine de la détection de mots-clés a rapidement supplanté les systèmes basés sur la DTW. En outre, ces outils s'accordant particulièrement bien à l'utilisation de modèles poubelles, de nombreux systèmes associant HMMs et modèles poubelles ont été développés pour la détection de mots-clés. C'est en 1989 que Wilpon et al. [WIL89] proposèrent une approche markovienne pour détecter des mots-clés quasi-isolés dans des appels téléphoniques. Ce système, encore très inspiré de la DTW, fonctionnait sur la base d'un alignement temporel des segments générés par toutes les paires de début et de fin possibles d'un mot-clé, en s'appuyant sur son modèle markovien. Un post-traitement associant durée moyenne du motclé et énergie du signal permettait de réduire le taux d'erreur. De façon à éviter ce parcours de toutes les paires début/fin de mot-clé, le concept de mot poubelle dans la modélisation markovienne a été introduit par Wilpon en 1990 [WIL90], ce qui a permis en outre d'améliorer le taux de reconnaissance. Ce mot poubelle, modélisé par un HMM d'une dizaine d'états interconnectés, était appris sur toutes les sections de parole ne contenant pas de motsclés. Citons également le cas des travaux de Rose [ROS 90], ou Bourlard [BOU 94a] qui effectuèrent une étude approfondie sur l'utilisation des mots poubelles et montrèrent l'importance de leur apprentissage. La Figure 4 représente un exemple de syntaxe d'automate couramment utilisé comme moteur de détection de mots-clés. En 1992, Rose [ROS 92] introduisit un type d'entraînement discriminant permettant une meilleure séparation des modèles de mots-clés et non-mots-clés. Le cœur de cette méthode se reposait sur un ensemble discret de distributions gaussiennes utilisées et pondérées dans la représentation de chaque état du mot-clé. Il présenta une méthode de maximisation globale des probabilités de détection de chaque mot-clé par la modification des pondérations des états du mot-clé.

Introduction générale et positionnement du problème

11

Mot-clé 1

Mot-clé N

Filler 1

Filler M

Figure 4 : Utilisation de modèles poubelles dans un système de détection de mots-clés En 1993, Boite et al. [BOI 93] proposèrent un modèle de mot poubelle dynamique afin de réduire le nombre de calculs à effectuer par rapport aux mots poubelles classiques. Les mots-clés étaient construits par enchaînement de phonèmes alors que le mot poubelle était composé par un état dynamique. Sa probabilité d'émission était la moyenne de celles des N meilleurs états à l'instant considéré, et il pouvait ainsi modéliser tout le vocabulaire, mais avec une qualité moindre que le modèle de mot clé. Citons également, la même année, la tentative de Rose et al. [ROS 93] pour la création d'un système de détection de mots-clés indépendant de la tâche. Le cœur du système était une utilisation des triphones et une réduction du nombre de classes d'apprentissage par arbre de décision. Le modèle poubelle était lui aussi construit par le biais de cet arbre de décision. Ils en firent un modèle plus général que les modèles de mots-clés en réduisant la profondeur de l'arbre. En 1995, El Meliani et O'Shaughnessy [ELM 95] concrétisèrent le fait que la différence entre un mot-clé et un mot hors vocabulaire soit uniquement d'ordre lexical et non phonétique. Ils proposèrent donc de construire un modèle poubelle au niveau lexical plutôt qu'au niveau d'une modélisation phonétique par chaînes de Markov. Au final ils aboutirent à un système indépendant de la tâche utilisant un algorithme de type Viterbi en deux passes basé sur un arbre lexical et permettant à la fois une détection de mots-clés et une détection de nouveaux mots. L'un des intérêts majeurs de cette méthode est une modification simplifié des tâches de détection de mots-clés. En 2005, pour sa part, Silaghi [SIL 05] proposait un modèle poubelle explicite ré-estimé à chaque segment et basé sur la moyenne des probabilités d'observation acoustiques. Malgré des résultats très encourageants, ces travaux montrent la difficulté d'apprendre les modèles poubelles ainsi que celle d'équilibrer les poids entre ces modèles et les mots à détecter. De plus, de tels systèmes sont très dépendants de la tâche demandée, et deviennent complexes lorsqu'il s'agit de relancer la détection sur des listes de mots-clés différentes.

Introduction générale et positionnement du problème

12

En outre, comme exposé dans [SUN 97], les systèmes utilisant des modèles poubelle ne permettent pas de réduire à la fois le taux de rejet et le taux de fausses alarmes. En effet, pour qu'un mot-clé soit reconnu lorsqu'il apparaît dans un flux audio, il est nécessaire d'avoir la relation d'ordre probabiliste suivante : P (O i λi ) > P(O i λ g )

1≤ i ≤ M

(1)

Où λi est le HMM du mot-clé i, Oi l'observation du mot-clé i, λ g le HMM filler et M le nombre de mots-clés du vocabulaire. De plus, pour prévenir les fausses alarmes, on doit avoir :

P(O g λ g ) > P(O g λi )

1≤ i ≤ M

(2)

Où Og est une observation "poubelle". Or, comme l'ensemble des "non-mots-clés" est bien plus grand que l'ensemble des mots-clés, les scores correspondants aux segments motsclés et fillers pour le modèle poubelle sont comparables, c'est-à-dire : P(O i λ g ) ≈ P (O g λ g )

1≤ i ≤ M

(3)

En conséquence, on fait apparaître la relation suivante : P(O i λi ) > P(O i λ g ) ≈ P(O g λ g ) > P(O g λi )

1≤ i ≤ M

(4)

La première inégalité détermine le nombre de rejets alors que la seconde détermine le nombre de fausses alarmes. L'inégalité (4) montre quant à elle que les modèles poubelle ne peuvent pas réduire simultanément les taux de rejets et de fausses alarmes. En effet, si on tente de réduire P(O i λi ) de façon à obtenir un taux de rejet plus faible, cela réduirait également P(O g λg ) ce qui aurait pour conséquence de faire accroître le taux de fausses alarmes. De la même manière, si on tente d'augmenter P(O g λi ) de façon à obtenir un taux de fausses alarmes plus faible, cela augmenterait également P(O i λ g ) ce qui aurait pour conséquence d'accroître le taux de rejet. En conclusion, on ne pourra améliorer le système sur ces deux tableaux qu'en augmentant la séparation entre P(O i λi ) et P(O g λi ) , ce qui montre que les modèles poubelle ne sont peut être pas la solution idéale aux problèmes de détection de mots-clés. Finalement, ces méthodes populaires grâce à la rapidité de développement de systèmes de détection de mots-clés basiques, s'avèrent finalement compliquées à rendre efficaces, voilà pourquoi sont menés d'autres travaux dans le but de s'affranchir des modèles poubelles.

Introduction générale et positionnement du problème

13

Méthodes de détections de mots-clés s'affranchissant des modèles poubelles Les algorithmes les plus courants pour la détection de mots-clés sans modélisation des non-mots-clés requièrent un relâchement des états d'entrée et de sortie de l'algorithme de Viterbi, ainsi qu'une normalisation temporelle, comme proposé dans [WIL 89] engendrant une programmation dynamique très complexe en termes de calculs et/ou d'espace mémoire. Déjà évoquée ci-dessus, la méthode initiale de Bridle [BRI 73] permettait de détecter des mots dans un flux de parole grâce à un algorithme de DTW, ce dernier autorisant le relâchement des contraintes de points de départ et de fin de l'algorithme de Viterbi. En 1991, Morgan et al. [MOR 91] utilisèrent des réseaux de neurones dans la détection de mots-clés, afin d'améliorer un système standard à base de DTW [MYE 81]. Les régions trouvées par la DTW comme étant susceptibles de contenir un mot-clé sont validées par un réseau de neurones. Pour cela, ils présentaient un vecteur de taille fixe correspondant à un segment à analyser en entrée du réseau, ce vecteur contenant les variations basse fréquence des coefficients acoustiques extraits tout au long du segment. En 1992, Zeppenfeld et Waibel [ZEP 92] proposèrent une idée similaire pour combiner les méthodes classiques de programmation dynamique à un réseau de neurones à délai, ou Time Delay Neural Network. Un réseau de neurones modélisait chaque mot-clé, représenté par un nombre fixe d'états correspondant aux sorties du réseau utilisées dans l'algorithme de programmation dynamique pour la détection des mots-clés. Ce système fut amélioré dans [ZEP 93] par l'ajout des contextes gauches et droits les plus communs, en particulier pour les mots courts, afin de réduire les fausses alarmes. En 1998, Bernardis et Bourlard [BER 98] ont montré, dans le cadre de systèmes hybrides HMM/ANN25, que l'utilisation de probabilités postérieures, comme celles obtenues en sortie de perceptrons multi-couches, normalisées par la longueur du mot-clé permettait d'obtenir des mesures de confiance et des scores jugés pertinents pour la ré-estimation d'hypothèses N-best. Ces résultats sont réutilisés par Silaghi et Bourlard [SIL 99] pour de la détection de mots-clés, associés à une version itérative de l'algorithme de Viterbi permettant de ne pas avoir à calculer toutes les paires d'entrées/sorties. D'autres moteurs de détection basés sur des algorithmes de Viterbi modifiés avaient été proposés auparavant par Junkawitsch [JUN 96] ou Sunil [SUN 97]. En 2003, Benayed [BEN 03] compare les performances obtenues d'un côté par un système basique utilisant des mixtures de gaussiennes comme modèles poubelles, et de l'autre côté par une approche alternative sans modélisation des mots hors vocabulaire mais utilisant à la place une grammaire basée sur une boucle de phonèmes. Il en conclut qu'un système sans modèle poubelle peut être aussi bon voire meilleur qu'un système en utilisant. En 2007, Fernandez [FER 07] présente une nouvelle application des réseaux de neurones à la détection de mots-clés, discriminative, basées non pas sur l'utilisation des probabilités postérieures d'unités inférieures aux mots, mais sur un calcul sur un long segment temporel des probabilités postérieures au niveau mot.

25

Artificial Neural Network

Introduction générale et positionnement du problème

14

Au-delà de l'utilisation des HMM et des réseaux de neurones, Lehtonen [LEH 05] cherche à détecter les mots-clés grâce à leurs "target sounds", ici les phonèmes, par le biais de la méthode TRAP-NN, déjà utilisée avec succès par Szöke [SZO 05]. Et Keshet [KES 07], quant à lui, affirme qu'une approche par SVM améliore les résultats comparés aux systèmes basés HMM. Un cas particulier de ces méthodes s'affranchissant des modèles poubelles est la détection des mots-clés non plus directement dans le flux audio mais dans un flux ou treillis phonétique généré par décodage acoustico-phonétique. Ces méthodes seront détaillées dans la section 4.2. Après avoir décrit les différents systèmes de détection de mots-clés existants, intéressons-nous aux techniques de recherche automatique de termes parlés dans des archives de documents parlés.

1.2.3.

Recherche de termes parlés

La détection de termes parlés, ou STD pour Spoken Term Detection consiste, d'après le NIST, à trouver toutes les occurrences d'un terme de requête, aussi efficacement que possible, dans des sources audio hétérogènes. Un terme est défini comme une séquence de mots adjacents, la séquence pouvant être réduite à un seul mot. L'architecture des systèmes de STD, illustrée par la Figure 5 est admise comme reposant sur deux phases : - une phase d'indexation effectuée une fois pour toute, indépendamment des requêtes à venir. Cette étape doit être rapide et doit aboutir à un archivage relativement compact; - une phase de recherche rapide autorisant n'importe quel terme de requête.

Phase d'indexation

Documents parlés

Requêtes

Transcription

Analyse des requêtes

Indexation

Recherche

INDEX

Dictionnaire phonétique Phase de recherche

Résultats

Figure 5 : Architecture générale d'un système de Spoken Term Detection

Introduction générale et positionnement du problème

15

Phase d'indexation Cette étape consiste à traiter les documents audio pour générer un fichier d'index. Celui-ci est une représentation du document audio en unités (mot, graphème, syllabes, phonèmes) généralement associées à des marqueurs temporels et des indices de confiance. Les approches les plus courantes sont basées sur l'indexation de treillis de mots issus d'une reconnaissance vocale grand vocabulaire. Il existe également des méthodes issues de la détection de mots-clés, où on ne cherche pas à retranscrire la parole continue, ou encore des méthodes se basant sur une indexation en unités plus courtes que les mots, en particulier les phonèmes. Bien entendu, quelque soit la méthode, la qualité de l'index dépend de la qualité du moteur de transcription et en particulier du taux d'erreur par mots (ou WER : Word Error Rate).

Phase de recherche Cette étape consiste à rechercher les termes d'une requête dans l'index préalablement construit. On peut distinguer deux types d'approches, la recherche exacte et la recherche approximative. Dans le cas de la recherche exacte, on recherche l'apparition exacte du terme dans l'index. Pour cela, des algorithmes très efficaces de gestion de listes peuvent être utilisés, les réponses sont alors obtenues très rapidement. Cependant, seuls les termes indexés seront atteignables : en considérant une indexation par mots appartenant à un vocabulaire limité, aucun mot OOV ne pourra donc être détecté. C'est en passant à une recherche approximative, que l'on pourra potentiellement retrouver des termes qui ne sont pas dans l'index. Pour cela, on définit généralement une "distance d'édition" entre les mots, ou toute autre unité décodé, et on calcule la distance entre les termes de l'index et ceux de la requête. Ce calcul supplémentaire peut entraîner un temps de réponse inacceptable pour une requête utilisateur. Dans certains cas, ces calculs peuvent être préprocessés lors des mises à jour de l'index afin de ne pas trop ralentir la recherche.

Détails de quelques systèmes existants Concernant l'évaluation de cette tâche de détection de termes parlés, The NIST Speech Group's Spoken Term Detection (STD) Project est une campagne d'évaluation ouverte à tous dont le but est de rechercher les occurrences de termes parlés dans des archives audio vastes et hétérogènes. Une première campagne a eu lieu en 2006 [NIS 06] et doit se poursuivre en 2009. Les buts sont à la fois de comprendre les compromis technologiques, les compromis vitesse/précision mais également les problématiques liées aux langues traitées. La campagne s'appliquait à trois types de contenus audio : les conversations téléphoniques, les informations broadcast, et les meetings. Chaque contenu pour chaque langue couvrait environ une à trois heures d'audio, pour environ 1000 termes à rechercher par langue.

Introduction générale et positionnement du problème

16

Les participants à l'évaluation STD NIST 2006 étaient: -

IBM (IBM - USA) IDIAP (Institut Dalle Molle d’Intelligence Artificielle Perceptive -Suisse) OGI (Oregon Graduate Institute, School of Science & Technology -USA) QUT (Queensland University of Technology - Australie) SRI (Stanford Research Institute International -USA) STBU (Stellenbosch & Brno University Collaboration -Afrique du Sud et République Tchèque) STELL (Stellenbosch University -Afrique du Sud) TUB (Technischen Universit ¨ at Berlin - Allemagne) BBN (BBN Technologies -USA) DOD (Department of Defense -USA)

Parmi cette dizaine de participants, sont arrivés en tête IBM, l'Oregon Graduate Institute, School of Science & Technology (OGI) et le Stanford Research Institute International (SRI). Les approches les plus courantes sont basées sur l'indexation de treillis de mots issus d'une reconnaissance vocale grand vocabulaire. Un treillis de mots est une représentation compacte des hypothèses multiples émises pour une phrase parlée donnée. La probabilité postérieure d'un mot conditionné sur une phrase entière peut être calculée en utilisant un algorithme de réestimation "forward-backward". Cette probabilité postérieure, tout d'abord proposée comme mesure de confiance dans les moteurs de reconnaissance a ensuite été appliquée avec succès pour l'évaluation NIST STD 2006, par exemple dans les travaux de BBN Technologies ou d'IBM. L'approche de BBN Technologies [MIL 06] est basée sur une génération d'un index par mot à partir d'un treillis de mots. De ce treillis, on ne stocke finalement que les hypothèses de mots, diminuant notablement la taille de stockage. Les requêtes de mots uniques et multiples sont autorisées selon des contraintes temporelles. Cette technique n'a été évaluée que sur des données de conversation téléphonique, et les auteurs considèrent que les données hors vocabulaire ne présentent pas, sur cette tâche, un problème fondamental. Concernant les travaux d'IBM [MAM 07], ils sont également basés sur une indexation par mot à partir d'un treillis de mots, mais un index phonétique est également généré à partir d'un décodage acoustique en fragments de mots. Ces fragments sont des séquences de phonèmes, de type syllabes, déterminées automatiquement par un calcul d'entropie sur les séquences phonétiques. Mots et phonèmes sont indexés, de façon à couvrir à la fois les mots du vocabulaire et les OOV. Pour ces derniers, les listes d'hypothèses pour chaque phonème de la requête sont recherchées puis croisées pour ne retenir que celles correspondant aux mêmes critères temporels. Les phonèmes pour la recherche des OOV sont également utilisés dans les travaux du STBU [SZO 06] qui combinent un système de reconnaissance vocale pour la recherche de termes présents dans le vocabulaire et des transcriptions phonétiques pour les termes OOV. L'index est créé à partir des treillis de mots d'un côté, en ne conservant que les unigrammes, tandis que les phonèmes sont indexés par trigrammes. Pour la recherche, un ensemble de détections est levé à partir de l'index inversé pour chaque terme "connu par le vocabulaire" de la requête en respectant les contraintes temporelles. Concernant les mots OOV, ils sont tout d'abord phonétisés puis convertis en séquences de trigrammes recherchées dans l'index. Les mots OOV contenant moins de trois phonèmes ne sont pas recherchés. Il

Introduction générale et positionnement du problème

17

n'est pas ici question de gestion des erreurs phonétiques, seules les séquences phonétiques permises par les treillis étant analysées à l'état brut. Finalement, les enseignements de cette évaluation sont un gain notable dû à une indexation à partir des N-meilleures solutions de la reconnaissance vocale plutôt qu'à partir de la seule meilleure. Il a également été montré que conserver la topologie des treillis de mots NBest était dispensable, et que l'utilisation des phonèmes était recommandée pour la recherche de requêtes OOV. Outre les systèmes d'IBM et du STBU combinant recherche par mots et recherche phonétique, nous décrivons maintenant quelques systèmes principalement basés phonèmes. Proposé lors de la campagne d'évaluation du NIST en 2006, le système du QUT [WAL 07] utilise un décodage phonétique et une recherche dynamique dans les treillis pour localiser rapidement les termes, combiné à une étape de vérification basée sur un réseau de neurones. L'indexation est effectuée sur des séquences de 11 phonèmes issues des treillis auxquelles sont adjointes une correspondance en classes phonétiques (voyelles, nasales, etc.). La recherche utilise ensuite ces informations afin de gérer l'une des trois erreurs habituelles de phonétisation : les substitutions par un algorithme de distance d'édition minimale. Le rôle du réseau de neurones est de fusionner différentes données telles que le nombre de phonèmes des termes ou le nombre de voyelles afin de normaliser le score de confiance. En dehors des performances, les objectifs sont d'ordre taille d'index, temps d'indexation, et temps de recherche. Les systèmes basés treillis de mots requièrent un index large pour une recherche quasi-instantanée. D'un autre côté, l'utilisation de phonèmes inverse la situation en rendant les tâches d'indexation relativement rapide pour une recherche lente. Pinto [PIN 08] tente un compromis en utilisant le 1-best phonétique pour l'indexation et un modèle de prononciation probabiliste issu de la matrice de confusion phonétique associé à un modèle poubelle. Les résultats sont moins bons que l'état de l'art mais plus rapides et moins coûteux en mémoire.

Quelques travaux personnels… La recherche de termes parlés dans des archives audio est un domaine que nous avons abordé au début de nos travaux qui ont été rapidement réorientés en direction de la détection de mots-clés. L'évaluation des systèmes développés n'ayant pas été suffisamment étoffés, ils ne seront pas présentés directement dans ce document. Les deux systèmes implémentés sont malgré tout consultables en annexe H et J. Nous décrivons ici brièvement le contexte de ces travaux. La problématique de nos travaux se situe au niveau de la réalisation d'un moteur de STD basé sur les transcriptions phonétiques issues d'un décodeur acoustico-phonétique et permettant à l'utilisateur d'effectuer des recherches rapides, de l'ordre de quelques secondes au maximum. L'objectif initial de nos travaux était l'implémentation d'un système complet de recherche permettant effectuer des requêtes dans les flux audio de journaux télévisés. Ces fichiers audio, longs d'environ 30 minutes, correspondaient à des séquences d'environ 12K phonèmes. Le tout premier système-test implémenté était basé sur une recherche de type détection de mots-clés, et une interface graphique adaptée avait été implémentée. Cette dernière est présentée en Figure 6.

Introduction générale et positionnement du problème

18

Figure 6 : Interface de recherche Cette interface propose, outre une fenêtre de visualisation des fichiers multimedia traités, une barre permettant d'entrer manuellement des requêtes textuelles, lesquelles sont phonétisées en direct dans une seconde barre où des corrections manuelles sont ensuite tolérées. La fenêtre inférieure indique les résultats de la recherche triés par scores avec indications temporelles et phonétisation associée. Chaque résultat est cliquable et écoutable, voire visualisable dans le moniteur intégré en haut à droite. Dans un souci d'évaluation propre et d'accélération des recherches, nous avons ensuite décidé de nous rapprocher des systèmes STD traditionnels. Dans cette optique, nous avons étudié la faisabilité d'un moteur de recherche de termes parlés basé sur des transcriptions phonétiques. La structure globale de notre système est donnée en Figure 7.

Documents parlés

Requêtes textuelles

Décodage acousticophonétique (offline)

Transcriptions phonétiques, découpage en groupes de souffle

Transcription Texte  Phonèmes

Requêtes phonétiques

Moteur de Recherche de termes parlés

Résultats

Figure 7 : Structure globale d'un système de Spoken Term Detection basée phonèmes

Introduction générale et positionnement du problème

19

De façon à pouvoir éventuellement utiliser cette application dans le cadre d'une système de recherche documentaire audio, et surtout dans un souci de normalisation des données, les transcriptions phonétiques ont été converties en "documents". Ces documents sont fixés comme étant les groupes de souffle, c'est à dire les séquences phonétiques comprises entre deux silences, comme illustré par la Figure 8 qui décrit deux documents. "Bonjour, et bienvenue !" sil B ON J OU R sil EI B Y IN V EU N U sil

Groupe de souffle n°1

Groupe de souffle n°2

Figure 8 : Groupes de souffle A titre indicatif, les systèmes développés mais non évalués sont décrits en annexes H et J. On y présente deux implémentations de moteur de STD différentes. Les difficultés concernant les choix de structure se situent principalement au niveau de la rapidité de recherche et de la recherche approximative. En annexe H, nous proposons un système basé sur une organisation des archives en arbre de suffixes, structure permettant des recherches rapides et une application relativement simple du calcul de distance phonétique. Un second principe est ensuite présenté en annexe J, inspiré par les travaux de Szöke [SZO 06] et de Moreau [MOR 05] et reposant sur une indexation des données par trigrammes phonétiques. Après avoir exposé ces aspects de la recherche des termes parlés, intéressons-nous maintenant au dernier aspect de l'indexation automatique des documents parlés : la recherche documentaire audio.

1.2.4.

Recherche documentaire audio

Parmi les campagnes d'évaluation des systèmes de recherche d'information, les TExt Retrieval Conferences, ou TREC, organisées par le NIST sont les plus connues; pionnières dans l'évaluation des systèmes SDR, les pistes TREC-6 à TREC-8 et leurs résultats sont des références depuis 1997. Plus en détails, TREC-6, en tant qu'évaluation pionnière de moteurs de SDR, proposait une recherche de documents connus, c'est-à-dire que l'on considérait l'utilisateur comme ayant certaines connaissances a priori sur les données, celui-ci recherchant un document dont il avait déjà pris connaissance auparavant. L'objectif était donc de retrouver un document unique parmi une collection, non pas une liste de documents triés. La piste TREC-7 adressait quant à elle plus directement le problème en proposant une tâche de recherche ad-hoc, dont les résultats étaient une liste de documents pertinents. Enfin, la piste TREC-8 permit par la suite l'évaluation de ces moteurs ad-hoc sur de larges bases de données audio. Ces évaluations ont prouvé [GAR 00] que malgré des transcriptions automatiques souvent bruitées par de nombreuses erreurs, les systèmes de recherche dans des documents

Introduction générale et positionnement du problème

20

parlés peuvent obtenir une efficacité très proche de celle de systèmes basés sur des transcriptions manuelles, et ce même avec des taux d'erreur par mots avoisinant les 40%. Ces performances non affectées par les erreurs de reconnaissance automatique s'expliquent par la répétition des mots, offrant assez de redondance pour que certaines de ces répétitions ne soient pas mal reconnues par le système. Les mots sémantiquement proches apportent également un soutien substantiel [ALL 01]. En conséquence, cette piste est considérée comme un succès au regard des performances obtenues, et le problème est considéré, pour les termes de l'évaluation proposée, comme résolu. Néanmoins, l'évaluation abordée par la campagne TREC, c'est-à-dire sur un corpus de données broadcast, est un scénario très favorable. En effet, les données test sont pour la plupart des textes lus par des locuteurs professionnels, avec très peu d'artefacts de la parole spontanée et un langage similaire au matériau écrit. Sur de telles données, les meilleurs systèmes de reconnaissance automatique atteignent des performances de l'ordre de 10% de taux d'erreur par mot. En outre, les requêtes proposées par TREC sont longues, environ 10 mots, et contiennent peu de mots hors-vocabulaire, mots qui ont un impact important sur les performances [WOO 00]. Intéressons-nous maintenant aux différentes techniques existantes. Une première méthode possible de SDR est l'utilisation d'un moteur de détection de mots-clés sur l'ensemble des documents en mémoire comme exposé dans le chapitre précédent. Notons par exemple les travaux préliminaires de Wechsler [WEC 95] ou encore ceux de James [JAM 94] proposant une approche basée sur des treillis de phonèmes au lieu d'une reconnaissance 1-Best. Cette technique s'avère peu optimale dans le sens où pour chaque requête il est nécessaire de relancer un processus fonctionnant dans les cas favorables en temps réel. Sachant que l'on souhaite pouvoir traiter quelques centaines d'heures de données tout en proposant des résultats rapides, cette solution est à proscrire. Il existe cependant dans la littérature plusieurs autres méthodes qui seront évoquées dans ce chapitre, au premier rang desquelles l'association d'une reconnaissance vocale grand vocabulaire à certaines techniques éprouvées d'indexation textuelle. Une autre approche, plus proche de nos travaux, propose d'utiliser des unités plus courtes comme termes d'indexation de façon à tolérer la recherche de mots hors vocabulaire.

Reconnaissance grand vocabulaire et indexation textuelle Dans cette section sont exposées les techniques d'indexation textuelle les plus courantes permettant l'indexation de documents parlés transcrits en mots par une reconnaissance vocale grand vocabulaire. Il s'agit de systèmes prenant en entrée les transcriptions textuelles pour les organiser de façon à effectuer des recherches rapides et efficaces au sein de grandes bases de données, comme illustré par la Figure 9. Le premier moteur de ce genre couplant une reconnaissance textuelle à une recherche textuelle a été proposé par l'Université de Cambridge en 1995 [JON 95] dans le cadre d'une recherche de messages vidéo. Ce système permettait de reconnaître 35 mots différents dans les messages vidéo, et ce quelque soit le locuteur. Dans sa thèse, Wechsler expose les résultats et l'évolution de tels systèmes jusqu'en 1998 [WEC 98a]. Ce type de système a été largement développé pour les évaluations de la campagne TREC. Parmi les participants, notons par exemple les travaux du LIMSI [GAU 99], ou ceux de l'Université de Cambridge [JOH 99], tous deux basés sur des moteurs de reconnaissance automatique de la parole et sur un système de recherche d'information très usité, Okapi [JON 97a].

Introduction générale et positionnement du problème

Transcriptions textuelles

Base de données audio Doc n°i

21

Reconnaissance vocale grand vocabulaire

Doc n°i Bonjour et bienvenue dans notre émission spéciale Bretagne…

Requête utilisateur Bretagne

Indexation

Recherche

Transcriptions indexées

Mot-clé Bretagne …

N° Document Rang i 1 … … Mots trouvés Figure 9 : Spoken Document Retrieval et reconnaissance grand vocabulaire Par ces exemples, notons que les systèmes évalués par TREC-SDR sont souvent considérées comme des boîtes noires indépendantes : les modules de reconnaissance vocale et de recherche d'information. Dans un premier temps, la reconnaissance est lancée puis la sortie 1-Best est indexée pour la recherche. Finalement, l'évaluation compare les résultats de chaque requête avec ceux basés sur des références "parfaites", transcrites manuellement. L'inconvénient d'une telle approche est un taux d'erreurs généralement élevé dans la transcription 1-Best si le système n'est pas adapté au domaine, c'est pourquoi certaines approches privilégient l'utilisation de treillis en sortie du module de reconnaissance [SAR 04] [CHE 05]. Le cœur de ces systèmes se situe au niveau du module d'indexation, dont le rôle est d'organiser intelligemment les données de façon à réduire au maximum l'espace mémoire des documents et permettre une recherche rapide des requêtes. Les deux types d'indexation détaillés dans la suite sont les Vector Space Models et les modèles probabilistes.

Introduction générale et positionnement du problème

22

Les Vector Space Models Les vector space models [SAL 75] sont un modèle algébrique permettant de représenter tout objet, et plus particulièrement des documents textuels, sous la forme de vecteurs de termes d'indexation. La première utilisation connue de cette méthode remonte aux années 60 dans le système SMART Information Retrieval System [SAL 65]. Considérons une collection de N documents textuels, D = D1 ,..., D N , ainsi qu'une liste de P requêtes R = R1 ,..., RP incluses dans le vocabulaire de reconnaissance contenant V mots. A partir de ces documents et requêtes, on construit la matrice M des co-occurrences où les lignes sont indexées par mots et les colonnes par documents, chaque valeur étant calculée comme suit :

(mij ) i =1..V , mij = f ij . log j =1.. N

N ni

(5)

Où f ij représente la fréquence d'apparition du mot i dans le document j. Cette valeur est également appelée TF pour "term frequency". ni représente le nombre de documents N contenant le mot i et le second facteur, log , est appelé IDF pour "inverse document ni frequency" : si un mot apparaît équitablement dans tous les documents, il n'est pas très utile pour définir l'ordre de pertinence des documents. Cet ordre de pertinence est définit comme le tri décroissant des scores de pertinence relatifs aux documents souvent calculés par distance cosine. cos θ =

S ( D j , P) =

v1 .v 2 v1 v 2



P

i =1

(6)

mij

norm(m j )

(7)

Les inconvénients majeurs de cette méthode sont : o seuls les documents contenant les requêtes exactes sont retournés o on ne peut pas rechercher de phrases car on ignore l'ordre des mots et leur proximité o d'après la distance cosine, la taille du document influe sur le score de similarité : plus un document est long, plus le score sera faible.

Introduction générale et positionnement du problème

23

Modèles probabilistes

Outre les Vector Space Models, il existe une approche probabiliste moins utilisée mais permettant de prendre en compte l'ordre des mots grâce à une modélisation de requêtes Ngram. Cette technique implémentée par Robertson [ROB 80] préconise une mémorisation de tous les N-gram. Faisons l'hypothèse qu'il existe un modèle probabiliste P ( D, R ) capable de générer requêtes R et documents D, et ordonnons les documents en fonction de cette information mutuelle. MI ( D j , R ) = log

P( D j , R) P( D j ).P ( R )

(8)

= log P ( R D j ) − log P (Q ) Les inconvénients majeurs sont une modélisation de requêtes N-gram mais pas davantage d'information sur la proximité, et un besoin substantiel en mémoire, bien plus que pour les textes originaux. Quelque soit la méthode choisie, le fait d'indexer des transcriptions textuelles issues d'une reconnaissance vocale grand vocabulaire se confronte obligatoirement au problème des mots hors-vocabulaire. Pour pallier cet écueil, la solution la plus courante est de recentrer le problème sur des unités plus courtes que les mots et potentiellement regroupables en un vocabulaire limité. L'unité standard est le phonème, et c'est elle qui nous intéressera particulièrement dans la suite de ce document.

Approches "sous-mots" pour la recherche dans des documents parlés Dans cette section, nous évoquons les techniques d'utilisation d'unités plus courtes que les mots, et en particulier les phonèmes, dans le cadre d'un système de recherche d'information dans les documents parlés. En 1992, Glavitsch [GLA 92] présentait une approche basé sur des triplets VCV, c'està-dire des concaténations de type "voyelle-consonne-voyelle" chacune modélisée par un modèle acoustique. D'après des expérimentations plus tardives [GLA 95], il a conclu en une efficacité proche de la recherche textuelle même dans les cas d'une reconnaissance très bruitée. Plusieurs autres unités inférieures aux mots ont été testées et répertoriées en 2000 [NG 00] et il a été montré qu'avec les unités adéquates, on peut obtenir des performances comparables aux systèmes basés mots, à condition d'avoir une reconnaissance phonétique correcte. Sur des transcriptions bruitées, les performances sont dégradées d'environ 60%, mais il est montré que des méthodes robustes telles que des calculs d'approximations adaptés ou l'utilisation de treillis N-Best permettent d'obtenir environ 75% des performances du système basé sur transcriptions parfaites. Les unités étudiées dans [NG 00] sont les séquences de

Introduction générale et positionnement du problème

24

phonèmes, les séquences de classes phonétiques, les N-gram phonétiques, les syllabes et les mots.

Utilisation des phonèmes en SDR L'indexation par N-grams phonétique est une méthode éprouvée dans la recherche textuelle depuis quelques années, en particulier pour les langues asiatiques où les frontières de mots manquent souvent [LEE 96]. Wechsler utilise d'ailleurs cette technique comme référence dans ses travaux. Ce dernier présente dans ses travaux [WEC 98a/b] une méthode de recherche dans des transcriptions phonétiques bruitées, appelée "Probabilistic String Matching", ou PSM. Cette méthode inclut une étape de détection de segments robuste aux erreurs de décodage phonétique, une autre d'estimation des probabilités des occurrences pour les segments détectés, et enfin un calcul de pertinence relative aux documents. Le problème d'accès rapide aux données y est géré grâce à une architecture dédiée appelée SPIDER [KNA 98]. La langue considérée est l'allemand, et il s'agit d'effectuer des requêtes (un seul mot) textuelles ou parlées, transcrites en phonèmes donc potentiellement bruitées puis de les rechercher dans des documents en langue allemande. Les résultats obtenus indiquent un gain notable en comparaison d'une approche phonétique N-gram classique. Néanmoins, les performances sont réduites de 43% en terme de précision comparées à une recherche sur du texte intégral, et ce avec un décodeur acoustico-phonétique offrant un taux d'erreur phonétique d'environ 59%. Ces travaux furent poursuivis par Nicolas Moreau [MOR 04] [MOR 05], lequel étudia la faisabilité de différents moteurs de recherche d'information dans les transcriptions phonétisées automatiquement de documents parlés. Trois méthodes ont été testées dans [MOR 05], la première basée sur les vector space models, ou VSM, utilisant comme termes des trigrammes phonétiques et permettant la gestion des substitutions [MOR 04], la seconde basée sur les travaux de Wechsler puis un calcul de distance approximative entre chaînes phonétiques et la troisième cumulant une détection de slots puis une extraction des trigrammes de ces slots, afin d'appliquer le moteur basé VSM. Les meilleures performances sont obtenues par la méthode de Wechsler. Cette étude met en évidence la difficulté de gérer toutes les erreurs phonétiques courantes avec les vector space models, tout en conservant un système rapide et efficace. Ces travaux montrent à la fois les capacités potentielles de systèmes basés phonèmes et la difficulté de concilier un outil aussi efficace que les vector space models avec des transcriptions phonétiques bruitées pour des questions de mauvaise gestion des erreurs de décodage acoustico-phonétique. A contrario, les méthodes basées sur le string matching approximatif offrent les meilleurs résultats, mais ce au prix d'une complexité très élevée.

Introduction générale et positionnement du problème

25

1.3. Organisation du document La description de nos travaux autour du décodage acoustico-phonétique et de la détection de mots-clés sur un flux audio phonétisé se décline en trois chapitres. La Figure 10 récapitule les différentes briques applicatives évoquées dans cette thèse : le décodage acoustico-phonétique, la détection de mots-clés et la recherche de termes parlés.

Figure 10 : Panorama des briques applicatives implémentées Comme indiqué précédemment, un système de recherche de termes parlés dans des archives audio a été implémenté en début de thèse, correspondant à la brique de droite de cette figure. Les travaux concernant cette application n'étant qu'à l'état de d'implémentations préliminaires, ils ne seront pas présentés dans le cœur de ce document. Néanmoins, deux types d'implémentations sont consultables en annexes H et J, l'une en arbre et l'autre par indexation de trigrammes phonétiques, toutes deux proposant des méthodes de gestion des erreurs phonétiques. Dans la suite de ce document, nous nous concentrons sur les deux autres briques applicatives : le décodage acoustico-phonétique et la détection de mots-clés. Suite à ce premier chapitre introductif, le second chapitre, consacré au décodage acoustico-phonétique du français, expose l'implémentation complète d'un moteur de transcription phonétique. Après avoir exposé un panorama des techniques usuelles de décodage acoustico-phonétique, nous y présenterons le rôle important des syllabes, permettant d'améliorer les performances en termes de taux d'erreur phonétique. Le détail des différents systèmes implémentés est ensuite développé suivi d'une évaluation de ces systèmes calculée sur le corpus de test de la campagne ESTER. Le troisième chapitre expose une application de détection de mot-clé basée phonèmes. On y étudie les problèmes inhérents à la détection de requêtes dans des transcriptions

Introduction générale et positionnement du problème

26

phonétiques, c'est-à-dire la gestion des variations de prononciation, les non-détections dues aux erreurs de transcriptions phonétiques, et les fausses alarmes issues de zones ambigües des transcriptions. On propose ensuite une méthode permettant de pallier aux erreurs de phonétisation avant de se consacrer plus particulièrement aux variantes de prononciations et à la réduction du nombre de fausses alarmes. Ces solutions concrètes sont évaluées par la recherche de 151 noms de pays dans le corpus de test ESTER. Pour terminer, nous présentons un système complet de détection de mots-clés sur un flux audio phonétisé permettant de manipuler 26K mots en temps réel. Pour terminer, la conclusion générale ainsi que quelques perspectives de recherche seront présentées au chapitre 4.

Liste des publications Cette thèse, ainsi que les travaux préliminaires, ont donné lieu à l'écriture de quatre articles acceptés en conférences : -

O. LE BLOUCH, P. COLLEN, "Méthode de segmentation parole/non-parole", Rencontres des Jeunes Chercheurs en Parole, Toulouse, 2005.

-

O. LE BLOUCH, P. COLLEN, "Reconnaissance automatique de phonèmes guidée par les syllabes", Journées d'Etude de la parole, Dinard (France), 2006.

-

O. LE BLOUCH, P. COLLEN, "Automatic syllable-based phoneme recognition using ESTER corpus", Proceedings of the 7th WSEAS ISCGAV, Athens, 2007.

-

O. LE BLOUCH, P. COLLEN, "Improving Phoneme-Based Spoken Document Retrieval with Phonetic context Expansion", IEEE International Conference on Multimedia and Expo, 2008.

Décodage acoustico-phonétique

27

CHAPITRE 2 DECODAGE ACOUSTICO-PHONETIQUE

Décodage acoustico-phonétique

28

2.1. Introduction L'objectif d'un système de reconnaissance de la parole est la transcription automatique d'un signal de parole contenu dans un document sonore. On attend généralement de cette transcription qu'elle soit effectuée au niveau mot, avec un résultat sous la forme d'une dictée vocale. Comme vu en introduction, la transcription phonétique joue un rôle fondamental dans différentes applications et en particulier dans la reconnaissance, que ce soit comme principe sous-jacent à la reconnaissance par mot, ou comme principe de décodage à part entière. Les décodeurs acoustico-phonétiques, ou DAP, font appel à des processus complexes pour lesquels les premières recherches remontent au milieu du XXème siècle. Depuis quelques dizaines années, il est démontré, par la règle de Bayes, que les meilleures performances sont obtenues par une combinaison de deux modélisations : celle, acoustique, des phonèmes et celle, linguistique et statistique, du langage. Au final, ces décodeurs acoustico-phonétiques fournissent comme solution au problème posé une séquence de phonèmes considérée comme la plus probable sur le signal de parole étudié. Dans ce chapitre, nous nous intéresserons à l'implémentation complète d'un moteur de transcription phonétique guidé par l'information syllabique. Pour cela, nous exposerons tout d'abord l'état de l'art en la matière ainsi que l'architecture standard de tels systèmes, puis nous verrons en quoi l'utilisation de syllabes est susceptible d'améliorer leurs performances en termes de taux d'erreur phonétique. Ensuite, les corpus de travail seront présentés, suivis d'une description des différents systèmes implémentés. Enfin, nous détaillerons les résultats des évaluations sur le corpus de test de la campagne ESTER.

Décodage acoustico-phonétique

29

2.2. Etat de l'art du décodage acoustico-phonétique La finalité première des moteurs de reconnaissance automatique de la parole est la transcription intégrale du signal de parole en mots. Cependant, outre le mot, il existe de nombreuses autres unités possibles pour la segmentation de la parole, en l'occurence : -

Les phones, ou unités sous-phonèmes, qui, fusionnées entre elles, permettent d'obtenir des unités plus longues; Les phonèmes, ou l'unité la plus courte qu'un être humain est capable d'identifier dans de la parole continue; Les allophones, ou les différentes réalisations sonores possibles d'un phonème; Les diphones, demi-syllabes, et syllabes [FUJ 76] qui permettent d'incorporer les phénomènes co-articulatoires; Les graphèmes, ou unité fondamentale d'une écriture donnée; Les morphèmes, ou les plus petites unités porteuses de sens qu'il soit possible d'isoler dans un énoncé; Les subwords, ou unités sous-mots, terme générique regroupant les différentes unités évoquées ci-dessus.

L'unité qui nous intéresse plus particulièrement, le phonème est considéré comme étant la plus petite unité distinctive, c'est à dire permettant de faire la distinction entre deux mots. On identifie donc les phonèmes d'une langue par appariement des mots de sens différents mais ne différant que par un seul son. Ces mots sont appelés paires minimales, à l'exemple des mots poulet et boulet, mot de sens différents dont la forme sonore ne se distingue que par le /p/ et le /b/. Cependant, chaque son d'une langue n'est pas forcément considéré comme un phonème. En effet, si on prend l'exemple des différentes prononciations du son /r/ dans le mot rat, qui peut être roulé ou non, on aboutit à deux sonorités différentes malgré un sens du mot identique. Ces deux sonorités correspondent à un même phonème mais sont appelées allophones. En décodage acoustico-phonétique, ou DAP, la barrière entre phonèmes et allophones est plus difficile à poser. En effet, lorsqu'il s'agit de modéliser fidèlement les différents sons du langage, et surtout les aléas inhérents aux locuteurs comme les accents régionaux, n'est-il pas plus sûr de modéliser les allophones plutôt que les phonèmes ? Pour nos travaux, nous avons choisi de nous fixer sur la liste de 35 phonèmes du français déjà établie [GAU 92]. Le Tableau 1, situé en partie vocabulaire de la section 2.3, récapitule cet alphabet phonétique selon notre formalisme, en lien avec des exemples de mots et les classes phonétiques correspondantes. Au fil des décennies, plusieurs courants sont apparus pour la construction de moteurs de reconnaissance de phonèmes. Trois courants prédominent parmi lesquels : les approches dites expert basées sur des règles de connaissances acoustico-phonétiques, les approches statistiques basées le plus souvent sur les chaînes de Markov cachées et enfin les approches utilisant les réseaux de neurones.

Décodage acoustico-phonétique

30

DAP et systèmes experts La première famille de systèmes de reconnaissance automatique de la parole s'articule autour de la théorie acoustico-phonétique qui décrit les éléments phonétiques de la parole, c'est-à-dire les sons basiques du langage, et tente d'expliquer leur production acoustique dans une phrase parlée. Une approche basée connaissance permet ainsi de prendre en compte différentes facettes pertinentes, c'est-à-dire les contraintes phonotactiques, les variations allophoniques, les contraintes phonologiques, etc., mais aussi d'implémenter des stratégies de décodage réalistes inspirées des travaux de phonéticiens sur la lecture de spectrogrammes comme le raisonnement d'allers et retours sur le contexte, l'attention portée sur des évènements pertinents tels que les explosions de plosives ou les formants, etc. Voici quelques exemples de systèmes experts présentés par ordre d'apparition chronologique. En 1976, Schwarz et Zue [SCH 76] proposent pour BBN une méthode utilisant des paramètres acoustico-phonétiques dérivés de la forme d'onde et du spectre à court-terme tels que l'énergie ou les formants associés à des algorithmes heuristiques de connaissance phonologique. Renato de Mori et al. [MOR 83] proposent en 1983 un système expert basé sur un système de règles d'extraction de traits acoustiques dans un algorithme dirigé par la syntaxe. Ceci aboutit à la segmentation de la parole continue en pseudo-syllabes et à la génération d'hypothèses sur les paramètres phonétiques de chaque segment. En 1986, Cole et al. [COL 86] exposent le module de classification phonétique du CMU. Il prend en entrée un segment de parole et propose en sortie un treillis de phonèmes construit par quatre modules indépendants. Ces modules classifient chacun un ensemble particulier de segments phonétiques ayant des propriétés acoustiques communes : stops, fricatives, closures et voyelles. Un taux de reconnaissance supérieur à 75% est obtenu pour chaque catégorie sur les corpus étudiés. La même année, un autre type de système expert permettant la lecture de spectrogrammes de parole a été développé par le LIMSI en 1986 [STE 86] ou encore par le MIT [ZUE 86]. Dans [HAT 88], Haton poursuit sur cette lancée en exposant le projet APHODEX, ou Acoustic PHonetic Decoding Expert, outil expérimental conçu pour améliorer les connaissances sur le décodage automatique en phonèmes à travers l'étude de la lecture de spectrogrammes. Les implémentations se concrétisent sous trois formes : les procédures de segmentations et d'étiquetage des segments en classes phonétiques grossières, l'établissement de 400 règles de production de phonèmes contextuelles et enfin des stratégies de décodage et de raffinement par fusion des différents niveaux d'analyse, du signal de parole aux étiquettes phonétiques. En 1999, retour sur un système basé sur la connaissance et les paramètres acoustiquephonétiques avec Abdelatty et al. [ABD 99]. Ils y expliquent que malgré l'essor des systèmes statistiques guidés par les données proposant de bonnes performances, il s'agit surtout d'un moyen d'éviter de tergiverser sur notre ignorance en matière de parole. De ce fait, il est important de revenir aux approches basées connaissances, qui sont encore loin d'avoir montré tout leur potentiel. Système basé sur un mélange d'anciens et de nouveaux paramètres tels que l'énergie, le centre de gravité spectrale, la durée, le taux de passage par zéro, la détection de

Décodage acoustico-phonétique

31

silences ou encore le taux de variation du centre de gravité spectrale, son évaluation effectuée sur TIMIT26 [FIS 86] montre des résultats tout à fait probants.

DAP et chaînes de Markov cachées Depuis les années 80, les outils statistiques et en particulier les chaînes de Markov cachées facilitent la modélisation du signal de parole. Dès les années 70, Jim Baker conçoit le système Dragon [BAK 74] à base de modèles de Markov. Dans [SCH 85] Schwartz et al. montrent l'influence positive des HMMs sur une reconnaissance de phonèmes continue face aux systèmes experts, et en particulier par l'utilisation de modèles HMMs dépendants du contexte. Leurs travaux indiquent entre autres l'intérêt d'un large corpus d'apprentissage. Ils proposent en outre des méthodes d'intégration de paramètres acoustico-phonétiques traditionnels dans le formalisme standard des modèles de Markov cachés. Quatre ans plus tard, Lee et Hon [LEE 89] utilisent les HMMs conjointement à une paramétrisation LPC, ou Linear Predictive Coding, et proposent une répartition des 61 phonèmes du corpus TIMIT en 39 catégories pour l'évaluation d'un moteur de reconnaissance continue des phonèmes indépendants du locuteur. Les performances obtenues, c'est à dire 64% de phonèmes correctement reconnus par des modèles indépendants du contexte et 73.8% obtenus grâce à des modèles dépendants du contexte, surpassent les systèmes experts. Au début des années 90, Lori Lamel et Jean-Luc Gauvain [LAM 92] [LAM 93] exposent les détails de systèmes devenus des références aujourd'hui, en l'occurrence l'utilisation des coefficients MFCC [DAV 80] dans les modèles de Markov cachés dépendants du contexte. Dans [LAM93], ils obtiennent des performances élevées en termes de précision concernant l'évaluation sur trois corpus de langues différentes : WSJ0 et TIMIT pour l'anglais et BREF pour le français. Au final, la précision atteint 78% sur le corpus BREF en considérant un ensemble de 35 phonèmes différents, et 67.2% sur les 61 phonèmes de TIMIT (73.4% en regroupant en 39 classes). En 1994, Young et Woodland posent le système HMM/MFCC comme référence en définissant les concepts de state clustering et de state tying, autrement dit les partages et liaisons des paramètres des distributions des observations dans les états de HMMs dépendants du contexte. En 1997, Chengalvarayan et Deng [CHE 97] optimisent l'apprentissage des HMMs utilisant des MFCC par le biais d'une minimisation de l'erreur de classification par descente du gradient. Sur le corpus TIMIT dont les phonèmes ont été regroupés en l'ensemble désormais usuel de 39 classes, ils parviennent à réduire de 15% environ le taux d'erreur phonétique par rapport au même système sans optimisation. En 2007, Petrov [PET 07] revient sur la modélisation HMM et propose une nouvelle méthode d'apprentissage des HMMs, privilégiant au simple modèle à 3 états multigaussiens un modèle adapté à chaque phonème dont le nombre d'états varie au cours de l'apprentissage 26

Corpus en langue anglaise créé pour l'étude des phonèmes et la reconnaissance vocale.

Décodage acoustico-phonétique

32

et où chaque état ne contient qu'une seule et unique gaussienne. A noter que les performances sur TIMIT semblent dépasser celles du système état de l'art de Young et Woodland [YOU 94].

DAP et réseaux de neurones Les réseaux de neurones sont connus comme étant un outil alternatif au duo GMM/HMMs. Leurs principaux avantages sont leur pouvoir de discrimination et leur capacité à capturer les relations entrées/sorties, alors que leur principal défaut est de ne pas gérer les variations temporelles. En 1990, Bourlard et Wellekens tissent des liens marquants entre HMMs et un certain type de réseau de neurones : le perceptron multi-couches, ou PMC, dans [BOU 90]. Dans ce papier, ils mettent en évidence comment un PMC particulier peut être considéré comme une forme générique de chaîne de Markov caché. En 1994, ont vu le jour plusieurs systèmes utilisant des réseaux de neurones. Tout d'abord celui de Robinson [ROB 94] qui applique des réseaux récurrents pour estimer les probabilités d'apparition des phonèmes dans le cadre d'un moteur de reconnaissance grand vocabulaire. Ces réseaux sont un mécanisme puissant d'incorporation du contexte acoustique, et son évaluation sur TIMIT augure de très bons résultats. De leurs côtés, Kirschning et Tomabechi [KIR 94] se spécialisent dans un autre type de réseaux, le TDNN, ou Time-Delay Neural Network, alors que Bourlard [BOU 94b] décrit la théorie et l'implémentation d'une méthode hybride permettant d'incorporer les approches réseaux de neurones à la reconnaissance de parole continue basée HMM afin d'accroître les performances. Dans [BOU 95], il présente un système complet HMM/ANN (Artificial Neural Network) évalué sur TIMIT. Trois ans plus tard, les réseaux de neurones ont toujours autant le vent en poupe : Freitag et Monte [FRE 97] exposent leur système basé sur des réseaux de neurones prédictifs dont les performances sont comparables à un système HMM classique. Ils indiquent en outre que l'erreur de prédiction des réseaux de neurones est une erreur de distorsion utile pouvant être injectée dans l'algorithme de décodage pour la reconnaissance. Un autre système, conçu par Zahorian et al [ZAH 97], utilise des paramètres issus d'une DCT à 2 dimensions. Du côté de la reconnaissance en français, Boite et Ris proposent en 1999 [BOI 99] un système hybride utilisant perceptron multi-couches et chaînes de Markov cachées. Les résultats obtenus sur le corpus BREF, de l'ordre de 75% et par là même très proches des meilleurs systèmes, tendent à prouver son efficacité. Enfin, plus récemment, Fernandez et al. [FER 08] comparent les performances obtenues à l'aide d'un réseau de neurones récurrent avec les meilleurs résultats obtenus sur la base TIMIT et obtiennent des résultats équivalents.

Décodage acoustico-phonétique

33

DAP et TRAP En 99, Hermansky introduit une méthode basée sur les TempoRAl Patterns, ou TRAP [HER 98] et [HER 99]. Cette méthode consiste à substituer le vecteur de paramètres spectraux conventionnel par un vecteur représentant sur un long segment temporel, de l'ordre d'une seconde, les log-énergies d'une bande de fréquences critique. La classe phonétique résultante est définie en fonction du centre de ce vecteur temporel, la plupart du temps de 101 points, pour un découpage temporel par pas de 10ms. Contrairement aux MFCC qui visent à modéliser la forme spectrale à court terme, les paramètres TRAP visent la capture de l'évolution temporelle à très long terme de l'énergie spectrale dans une bande limitée. Plusieurs implémentations existent, du Means TRAP au Neural TRAP, basé réseaux de neurones. Les résultats obtenus sont très encourageants, en particulier sur les données bruitées, montrant la robustesse du système. Cette méthode a été reprise par Schwarz, Matejka et Cernocky de l'université de Brno [SCH 03] afin d'évaluer ces techniques pour de la reconnaissance de phonèmes non contrainte par un quelconque modèle de langage. Ils espèrent pouvoir utiliser un tel système en indexation audio pour de la détection de mots-clés, de l'identification du locuteur, de l'identification de langue ou encore de la reconnaissance de mots hors vocabulaire. Là encore, les évaluations opérées sur TIMIT et NTIMIT montrent des améliorations relatives comparées aux systèmes HMM/MFCC classiques, en particulier dans le cas où les conditions d'entraînement et de test diffèrent. Leurs travaux ont été poursuivis l'année suivante [SCH 04] en améliorant le système par un élargissement de la bande, une meilleure modélisation et l'ajout d'un modèle de langage phonétique bigramme. Ils observent un gain relatif de 23.6% par rapport au TRAP basique. Leur système a encore connu un enrichissement par la collaboration entre leur université et l'institut de technologie de Georgia ayant permis l'association de ce module de reconnaissance phonétique, reconnu comme dépassant la plupart des systèmes état de l'art basés HMM, avec un module de rescoring de treillis de connaissances [SIN 07] ayant montré son efficacité dans nombre de tâches de reconnaissance. Le module de reconnaissance a donc été modifié de façon à générer des treillis de phonèmes qui seront rescorés par le module de Georgia, comprenant un banc de détecteurs affectant un segment de parole à l'une des 15 classes phonétiques pré-définies ainsi qu'un réseau de neurones, entraînant une réduction conséquente du taux d'erreur sur TIMIT. D'après les auteurs, il s'agit du taux d'erreur phonétique le plus bas au jour d'aujourd'hui sur ce corpus, avec 19.78%.

DAP et autres… Outres ces grandes familles, d'autres méthodes plus marginales ont été proposées, comme l'utilisation d'ondelettes en lieu et place des FFT habituelles. Tan et al en font usage dans [TAN 96], rappelant en premier lieu que les scalogrammes semblent avoir un avantage majeur comparé aux spectrogrammes car ils conservent à la fois la structure harmonique et la structure temporelle des segments de parole. Ils testent donc plusieurs sortes d'ondelettes utilisées comme paramètres de HMMs pour une évaluation sur une portion de TIMIT, mais les résultats ne paraissent pas apporter de gain notable relativement à l'utilisation de MFCCs classiques.

Décodage acoustico-phonétique

34

Une autre famille de classifieurs peu utilisée, les SVM, ou Machines à Vecteurs de Support, ont été testés par Khoo et al dans [KHO 06]. Ils présentent une classification phonétique robuste utilisant les SVM à base des paramètres acoustiques PLP (Perceptual Linear Predictive), RASTA-PLP et de PCA, ou Analyse en Composantes Principales. L'évaluation sur TIMIT montre que les PLP et les RASTA-PLP offrent de très bonnes performances sur des données propres. A contrario, même si les résultats sont moins bons sur les données propres, utiliser la représentation en composantes principales à grande dimension donne de meilleurs résultats dans la parole dégradée par du bruit. La même année, Sha et Saul [SHA 06] s'inspirent des principes de classification SVM en mettant en place une classification par GMM "large margin", laquelle semble donner de meilleurs résultats que les GMMs standards sur TIMIT. Parmi les différentes familles de moteur de transcription de la parole en phonèmes, notre choix s'est porté sur une modélisation classique à base de mixtures de gaussiennes et de chaînes de Markov cachées. L'architecture générale de notre système est définie dans la section suivante.

Décodage acoustico-phonétique

35

2.3. Architecture générale d'un système de transcription phonétique La Figure 11 présente les différents composants et les principales étapes nécessaires à l'apprentissage et au fonctionnement d'un tel système. Notons que cette architecture standard peut s'appliquer à n'importe quelle type d'unité (phonèmes, syllabes, mots, etc.). L'architecture proposée est scindée en deux parties distinctes : d'un côté, l'apprentissage des modèles, acoustique et langage, effectué une fois pour toute avant la reconnaissance, et de l'autre la reconnaissance proprement dite. L'apprentissage correspond à la partie conception du moteur. Il s'agit de construire les éléments nécessaires au décodage, c'est-à-dire le choix de la paramétrisation acoustique, l'élaboration du vocabulaire, c'est-à-dire les unités acoustiques à modéliser et reconnaître, et surtout l'apprentissage des modèles acoustiques et des modèles de langages. Trois choses sont alors indispensables : un outil de transformation du signal audio en paramètres acoustiques plus robustes et plus discriminants que le signal brut original, un corpus audio transcrit manuellement pour l'apprentissage des modèles acoustiques et enfin un corpus textuel pour l'apprentissage des modèles de langage. C'est principalement sur ces choix de conception que nous reviendrons dans cette thèse. La reconnaissance, c'est-à-dire la partie applicative du moteur, s'effectue généralement en deux phases principales, la première étant la paramétrisation du signal, la même que pour l'apprentissage. La seconde étape, cœur du système, analyse les paramètres extraits des données de test en les "comparant" aux modèles acoustiques pré-calculés, représentants probabilistes des unités de la parole. Le moteur de reconnaissance utilise en outre le vocabulaire de mots reconnus par le système ainsi qu'un modèle de langage plus ou moins complexe régissant son univers syntaxique.

RECONNAISSANCE

Signal audio

Moteur de décodage

Paramétrisation acoustique

Vocabulaire

Transcription en unités acoustiques

Modèle de langage

Modèles acoustiques

Corpus audio

Apprentissage acoustique

Apprentissage textuel

Corpus textuel

APPRENTISSAGE

Figure 11 : Architecture d'un système de reconnaissance acoustico-phonétique

Décodage acoustico-phonétique

36

Nous reprenons à présent le détail des différents modules apparaissant dans cette architecture.

Paramétrisation acoustique La transformation du signal de la parole en paramètres acoustiques est une étape majeure du processus. En effet, du choix des paramètres dépend la qualité de la reconnaissance : ils doivent être à la fois robustes et discriminants de façon à distinguer au mieux les unités de la parole entre elles. Différentes paramétrisations sont issues du spectre fréquentiel du signal, comme le spectre lui-même, les formants, ou encore les LPC (Linear Predictive Codage, ou codage prédictif linéaire) [RAB 78]. Cette dernière paramétrisation permet une représentation compressée de l'enveloppe du spectre. D'autres techniques incluent des connaissances issues de la psycho-acoustique, comme les PLP (Perceptual Linear Prediction, ou prédiction linéaire perceptive) [HER 90] qui se basent sur un découpage non linéaire du spectre selon l'échelle Bark. Néanmoins, la paramétrisation la plus commune en reconnaissance de la parole, est une transformation basée sur les coefficients Mel-cepstraux, les MFCC, que nous avons choisis comme paramètres acoustiques de nos systèmes. Les MFCC, ou Mel Frequency Cepstral Coefficients [DAV 80], sont calculés suivant les étapes présentées en Figure 12. Il s'agit tout d'abord d'une pré-accentuation du signal afin de renforcer les hautes fréquences du spectre, un fenêtrage de type Hamming, une transformée de Fourier puis un filtrage du logarithme du spectre suivant l'échelle Mel, et enfin une transformée en cosinus discrète.

Préaccentuation

Fenêtrage de Hamming

FFT

Log

Filtre Mel

DCT

MFCC

Figure 12 : Etapes de calcul des MFCC L'échelle Mel a été définie comme étant une tentative de reproduction d'une caractéristique physiologique de l'oreille humaine, cette dernière ne se comportant pas de la même manière sur la totalité du spectre de fréquences. En effet, des sons à basse fréquence, typiquement 100 Hz et 150 Hz, sont parfaitement distincts alors qu'un son à 4000 Hz est quasiment impossible à distinguer d'un son à 4050 Hz. Cette perception est schématisée par l'échelle Mel en définissant une échelle logarithmique de répartition des fréquences découpée par un banc de filtres triangulaires. Un exemple de banc de vingt filtres Mel pour un découpage d'une plage allant de 0 Hz à 4500 Hz est donné en Figure 13.

Décodage acoustico-phonétique

37

Figure 13 : Filtres triangulaires à échelle Mel (20 bandes) Modèles acoustiques Les modèles acoustiques sont les éléments de base du moteur de reconnaissance permettant de modéliser les unités acoustiques prononcées, en l'occurrence ici des phonèmes. Afin de modéliser ces unités, la littérature propose plusieurs techniques : les réseaux de neurones, les SVM, et enfin, les plus courants dans le domaine de la parole, les modèles de Markov cachés, ou HMM pour Hidden Markov Models, modèles que nous avons choisis dans notre étude. Un HMM peut être décrit comme un automate probabiliste à états finis comportant deux processus : un processus caché de changement d'état et un processus d'émission. Le premier processus est dit "caché" car non observable, alors que par le second, la transition du modèle dans un état génère une observation. Un exemple de modèle de Markov gauche-droite à trois états, représentation typique des modèles de phonèmes, est présenté en Figure 14. a11

a22

a12

1

b1(o1)

O1

b1(o2)

O2

2

b2(o3)

O3

a33

a23

3

b3(o4)

O4

b3(o5)

O5

Figure 14 : HMM gauche-droite à trois états La réalisation d'un processus de Markov caché se traduit par l'existence d'une séquence Q = (q0, …, qT) d'états de l'automate. Le processus d'émission du modèle de Markov caché associe à Q une séquence de T observations O = (o1, …, oT). Avant le début du

Décodage acoustico-phonétique

38

processus, le système se trouve dans un état initial q0 sans émettre d'observations. Au temps t, le HMM effectue une transition vers l'état qt et émet l'observation ot. Un modèle de Markov caché est caractérisé par trois paramètres : - π i , les probabilités initiales, c'est-à-dire la probabilité d'être dans l'état i de l'automate au temps 0,

π i = P(q0 = i ), ∀i ∈ {1, N } (9) - A = ( aij ), la matrice de transition entre les états de l'automate ; aij représente la probabilité de transition pour aller de l'état i à l'état j, aij = P(qt = j qt −1 = i ), ∀i, j ∈ {1, N }

2

(10)

- bi (ot ) , la distribution des probabilités d'émission de l'observation ot à l'état i de l'automate :

bi (ot ) = P(ot qt = i ), ∀i ∈ {1, N }, ∀t ∈ {1, T } (11) Pour chaque état, la probabilité d'émission représente la probabilité qu'un état de l'automate ait généré une observation particulière. Cette probabilité d'émission de l'observation est généralement modélisée par une somme pondérée de G fonctions de densité gaussienne Ν ( µ , ∑ ) (GMM pour Gaussian Mixture Model) d'espérance µ et de matrice de covariance ∑ . La probabilité d'observation est alors définie par l'équation suivante : G

G

bi (ot ) = ∑ cik N (ot , µ ik , ∑ ik ), ∑ cik = 1 k =1

(12)

k =1

Chaque gaussienne ayant une densité de probabilité continue égale à

1 D

(2π ) det(∑)

exp(−

1 2

t

(ot − µ ) ∑ −1 (ot − µ ))

(13)

Pour laquelle ot représente le vecteur d'observation à D composantes, µ le vecteur moyen de la gaussienne, et ∑ la matrice de covariance. La matrice de transition définit la topologie de l'automate du modèle de Markov caché. Dans l'exemple de la Figure 14, le modèle à trois états possède des transitions gauche-droite, sans retour arrière possible, afin de représenter l'évolution acoustique d'un phonème au cours

Décodage acoustico-phonétique

39

du temps : le début du phonème, sa partie centrale et la fin du phonème. Retenons cette topologie qui sera importante dans la suite du document.

Vocabulaire Le vocabulaire définit l'ensemble des termes que le moteur de décodage aura à reconnaître. On s'est ici fixé sur les 35 phonèmes du français présents dans le Tableau 1, comme définis dans [GAU 92].

Numéro Symbole Exemple phonétique plat A 1 pile I 2 rue U 3 encore, forte, alors O 4 beau, tôt, seau AU 5 voyelles peu, le EU 6 heure OE 7 blé EI 8 lait AI 9 roue OU 10 blanc AN 11 bon ON voyelles nasales 12 lin, brun IN 13 action, bien, hier Y 14 semi-consonnes boite, web, oui, coin W 15 lent L 16 liquides rue R 17 mot M 18 nous N nasales 19 camping NG 20 fer F 21 fricatives assis S 22 sourdes chou CH 23 verre V 24 fricatives Asie Z 25 sonores joue J 26 peu P 27 occlusives ton T 28 sourdes cou K 29 basse B 30 occlusives doux D 31 sonores goût G 32 Silence SIL 34 silences Court silence entre deux mots (short pause) SP 35 Tableau 1 : Liste des 35 phonèmes du français pour le décodage

Décodage acoustico-phonétique

40

Apprentissage des modèles HMMs La phase d'apprentissage des modèles est le point de départ de tout système et souvent le plus crucial. Cet apprentissage requiert un important corpus sonore construit de façon à avoir le maximum de variabilité au sein des prononciations des phonèmes et ainsi couvrir au mieux l'univers des prononciations possibles de chaque phonème. Ce corpus doit être intégralement transcrit dans l'univers des unités acoustiques désirées (mots, phonèmes, syllabes) de la manière la plus propre et la plus précise possible. A partir des exemples inclus dans le corpus d'apprentissage dont nous connaissons à la fois la séquence des modèles et la séquence d'observations engendrée, nous souhaitons déterminer les paramètres définissant les modèles de Markov cachés de chaque unité. La méthode communément utilisée repose sur le critère du maximum de vraisemblance qui revient à trouver un modèle Λ maximisant P(O|λ), O étant une séquence d'observations acoustiques et λ l'ensemble des paramètres définissant un modèle HMM.

Λ = arg max λ P(O λ )

(14)

L'estimation de ces modèles est généralement effectuée par l'algorithme de BaumWelch [BAU 67], encore appelé algorithme "forward/backward".

Modèle de langage Les modèles de langage ont pour objectif de représenter les lois qui régissent le comportement de la langue et ainsi aider le système à déterminer si telle suite de termes est plus probable qu'une autre au sein de la langue modélisée. Une première solution envisageable est de contraindre le système de reconnaissance en modélisant une langue par ses règles grammaticales, ce qui permet de valider précisément les structures des phrases et d'obtenir des transcriptions en tout point correctes grammaticalement. Cependant, construire une base de règles susceptible de modéliser parfaitement les erreurs et hésitations de la parole spontanée est une tâche ardue, voilà pourquoi une autre catégorie de modèles de langage est privilégiée : les modèles statistiques. Ces modèles sont appris automatiquement sur des grandes bases de données textuelles et résultent le plus souvent en des modèles appelés ngram. Cette modélisation consiste à estimer les probabilités des séquences de n mots en calculant leur fréquence d'apparition. En d'autres termes, un modèle n-gram donne la probabilité d'apparition des segments de n mots P(wn|w1,…,wn-1). La méthode de calcul la plus communément utilisé est le critère du maximum de vraisemblance [FED 98]. Pour l'anecdote, ces modèles n-gram ont été validés par un "jeu de mots" à l'initiative de Claude Shannon [SHA 48] et mettant en compétition un humain et un ordinateur. Durant cette compétition, il était demandé aux deux participants de deviner le mot suivant dans une séquence de mots arbitraire. Pour y répondre, l'humain utilisait ces connaissances natives alors que l'ordinateur se basait sur un modèle de langage statistique. Au final, pour des séquences de plus 3 mots, l'ordinateur devinait très fréquemment la meilleure suite, surpassant même l'humain.

Décodage acoustico-phonétique

41

En règle générale, un n-gram contient non seulement les probabilités d'apparition des séquences de n mots mais aussi toutes celles inférieures à n mots. En outre, beaucoup des séquences de n mots possibles à partir d'un lexique donné n'apparaîtront pas dans le corpus d'apprentissage, parce qu'il s'agit soit de suites grammaticalement incorrectes (exemple, le trigram "la grande chausson") soit de suites rares. Pour pallier à ces absences, il est donc nécessaire de calculer des probabilités supplémentaires autorisant ces séquences. Différentes techniques dont celle dite de repli, ou backoff [CHEN 96], permettent d'estimer ces probabilités. Ces n-gram peuvent être calculés sur n'importe quel type d'unités, que ce soit des mots, des phonèmes ou des syllabes, voire un mélange de ces unités. Pour la génération de tels modèles, il est nécessaire de posséder les transcriptions en unités désirées. Dans notre cas, les corpus textuels sont initialement transcrits au niveau mot et transformés en phonèmes grâce à un outil de phonétisation automatique développé en interne. Les modèles de langage sont quant à eux générés grâce aux outils de traitement de corpus de textes fournis par la boîte à outils HTK et/ou du CMU.

Décodage Le décodage est le cœur du moteur de reconnaissance, son but étant de coordonner les différents modèles issus de l'apprentissage afin de transformer les paramètres acoustiques en une séquence ou un treillis de mots, de phonèmes, ou de tout autre type d'unité. Si une séquence O de T observations acoustiques, O = (o1 ,..., oT ) , se présente en entrée du décodeur alors effectuer la reconnaissance de cette séquence revient à déterminer la séquence d'unités W = ( w1 ,..., wn ) qui maximise la probabilité que cette séquence corresponde à la séquence d'observations O. Il s'agit donc de maximiser la probabilité P(W O) . D'après, le théorème de Bayes, il est possible de reformuler ce problème ainsi : P (W O) =

P(O W ) P (W ) P (O)

(15)

La probabilité P (O ) se basant uniquement sur une séquence d'observations fixée, elle ne dépend donc pas de la séquence de mots étudiée. On peut donc formuler le problème de maximisation W * comme suit :

W * = arg max P(O W ) P(W ) W

(16)

Les composantes de cette formule sont la probabilité du modèle acoustique P(O W ) et la probabilité a priori du modèle de langage P (W ) . Le décodage se doit donc de coordonner les modèles acoustiques et les modèles de langage construits par les briques précédentes. L'algorithme de Viterbi [YOU 89] permet de

Décodage acoustico-phonétique

42

résoudre ce problème, en effectuant le calcul de P(W) et P(O|W) pour toutes les séquences de mots possibles tout en comparant les scores P(O|W)P(W) entre eux. Si on suppose que les séquences W sont limitées à des modèles de Markov cachés d'un mot, alors le système à résoudre peut se représenter sous la forme d'un graphe à deux dimensions présentant la séquence d'observations en abscisse et le modèle en ordonnée. La Figure 15 illustre un exemple de graphe pour une séquence de huit observations et un modèle de Markov caché traditionnel à trois états. Un nœud représente un état du modèle pour une certaine observation ot avec une valeur égale à bi(ot). Les arcs correspondent aux transitions d'un état i à un état j et portent une valeur de probabilité de transition aij.

O1

O2

O3

O4

O5

O6

O7

O8

Figure 15 : Exemple de graphe de Viterbi pour une séquence de huit observations et un HMM à 3 états La solution du problème se présente dans ce cas sous la forme d'un chemin optimal partant de la première observation et du premier état du modèle de Markov et se terminant à la dernière observation et dans l'état final du modèle. L'algorithme de Viterbi permet de calculer ce chemin optimal en propageant les scores cumulés d'un état du graphe au suivant. Pour plus de détails, se reporter à [YOU 89]. Il est connu qu'un parcours exhaustif du graphe de Viterbi est coûteux, et que la plupart des systèmes de reconnaissance basés sur ce principe utilisent une technique dite de "beam search" [LOW 76] de façon à élaguer certains chemins et limiter ainsi la complexité.

Décodage acoustico-phonétique

43

2.4. Les syllabes Jusqu'à présent, nous nous sommes focalisés sur les types d'unités de reconnaissance et de segmentation les plus communs : les mots et les phonèmes. Dans cette partie, nous évoquerons l'intérêt potentiel d'utiliser l'information syllabique pour améliorer les performances d'un système de décodage acoustico-phonétique. De façon à pallier au mieux les problèmes de modèles de langage par mots trop adaptés et des mots hors vocabulaire, nous avons privilégié la piste du décodage acousticophonétique, la palette des 35 phonèmes du français permettant de retranscrire théoriquement tous les discours possibles. Les transcriptions obtenues en sortie d'un décodeur acousticophonétique sont des séquences continues de phonèmes sans marqueur de mots. Si on est loin des mots et encore plus loin de phrases grammaticalement valides, la lecture de ces transcriptions permet malgré tout, si aucune erreur de décodage phonétique n'est constatée, de reconstruire un discours dans son intégralité. De son côté, la syllabe joue un rôle important dans la perception de la parole et son utilisation comme entité acoustique est connue comme constituant un avantage certain vis-àvis d'une approche par mot ou par phonème [GAN 01]. De part sa durée et sa construction, la syllabe couvre par exemple bien mieux les phénomènes de coarticulation que les phonèmes. La syllabe est en outre plus facile à indexer manuellement, et offre la possibilité de générer un nombre de mots illimité avec un nombre de syllabes réduit, de l'ordre de 5 000 [SCH 05]. De surcroît, des études en psycholinguistique et en phonologie suggèrent que l'information syllabique, avec une durée moyenne de 250ms, est cruciale au niveau de la perception et de la compréhension [GRE 97]. Au niveau calculatoire, notons également l'intérêt d'utiliser une unité plus longue que le phonème dans un modèle de langage. Les outils de décodage actuels ne permettent pas tous l'application directe de modèles d'ordre supérieur au bigramme. Le module de décodage classique de la boîte à outils HTK nécessite par exemple soit une génération de grammaire "offline", soit un fonctionnement en plusieurs passes pour la gestion des trigrammes. Si l'on souhaite un décodage simple et rapide, l'utilisation des seules unités phonétiques incitent donc uniquement à un fonctionnement en bigramme phonétique, ne couvrant qu'un horizon modélisé d'environ 100ms. En considérant un vocabulaire de syllabes ayant chacune une durée moyenne de 250ms, l'application d'un modèle de langage bigramme permet de couvrir directement un horizon d'environ 500ms. L'utilisation de syllabes comme unités de modèles de langage s'avère donc être une stratégie intéressante pour accroître les performances des décodeurs acoustico-phonétiques, tout en limitant la complexité des systèmes. Avant d'exposer la construction du modèle de langage syllabique, insistons sur le fait que dans les systèmes implémentés, les syllabes sont utilisées de façon à améliorer la transcription phonétique. Contrairement au modèle syllabique décrit dans [GAN 01], nos systèmes sont conçus pour obtenir non pas une transcription en syllabes mais une transcription phonétique dont l'enchaînement est guidé par l'information syllabique.

Décodage acoustico-phonétique

44

Du texte aux syllabes Pour l'apprentissage des modèles acoustiques et de langage basés sur les syllabes, il est nécessaire de posséder les transcriptions syllabiques de nos corpus. Cette partie décrit le cheminement vers un outil de syllabation. Dans la suite de ce document, le formalisme de représentation des syllabes est un agglomérat de phonèmes séparés par des "_", une suite de plusieurs syllabes étant quant à elle séparées par des blancs. Un exemple est donné en Figure 16 pour le mot "Elvis". Transcription par mots Elvis

AI L V I S

AI_L V_I_S

Transcription en phonèmes

Transcription en syllabes

Figure 16 : Exemple de syllabe Comme mentionné par Jones [JON 97b], la syllabe est une notion difficile à définir, mais il est tout de même possible de la schématiser comme présentée par Laver [LAV 94] et illustrée en Figure 17. Cette structure évoque trois termes anglais définissant chacun une partie de la syllabe : l'onset (une consonne, ou groupe de consonnes, optionnelle), le nucleus (une voyelle, ou groupe de voyelle, obligatoire) et la coda (une consonne, ou groupe de consonnes, optionnelle). Un terme supplémentaire, rime, désigne la concaténation du nucleus et de la coda. Par exemple, pour le mot "pote", phonétisé "P O T", P est l'onset, O le nucleus et T la coda, "O T" étant la rime. syllabe onset (optionnel)

nucleus

coda (optionnelle)

Figure 17 : Composants d'une syllabe Le découpage du français en syllabes obéit à certaines conventions. Tout d'abord, chaque son vocalique, c'est-à-dire les voyelles et les semi-consonnes suivies d'une voyelle, constitue le noyau d'une syllabe alors que deux voyelles consécutives (Ex : "Agréable" [A G_R_EI A_B_L]) appartiennent à deux syllabes différentes : elles sont dites en hiatus. Ensuite, lorsqu'entre deux voyelles, une seule consonne est prononcée, elle est considérée comme formant une syllabe avec la voyelle qui la suit, et ce indépendamment du découpage en mot ; la phrase "Quelle heure est-il ?" est ainsi syllabée [K_AI L_OE R_AI T_I_L]. Enfin, dans le cas de plusieurs consonnes prononcées entre deux voyelles, il existe des règles inhérentes à chaque cas, comme par exemple les agrégats occlusives-liquides (Ex : "Rempli" [R_AN P_L_I]) ou les suites d'occlusives (Ex : "Opter" [O_P T_EI]).

Décodage acoustico-phonétique

45

Néanmoins, le découpage du français en syllabes est loin d'être normalisé et se heurte fréquemment à différentes théories. Prenons en exemple la syllabation du mot "capsule" : [K_A_P S_U_L] ou [K_A P_S_U_L] ? Dans ce type de cas, et dans la mesure du possible, l'analyse acoustique sert de support pour le choix de segmentation : sachant que les occlusives sont précédées d'une courte période de silence, le choix s'est donc porté sur une segmentation avant l'occlusive et donc une syllabation en [K_A P_S_U_L]. Pour apprendre un modèle de langage, il est nécessaire d'adapter les ressources textuelles aux unités souhaitées. En l'occurrence, dans notre cas, nous souhaitons construire deux modèles de langages : un bigram phonétique et un bigram syllabique. Il est donc nécessaire de posséder un ensemble de transcriptions phonétiques et syllabiques suffisantes pour construire des modèles de langage efficaces. Afin de mettre en évidence le rôle de l'information syllabique dans la reconnaissance, il était important de générer ces deux types de transcriptions sur des données initiales identiques. Un exemple de génération est donné en Figure 18. [SIL] Mesdames et Messieurs [SIL] bonjour [SIL] Corpus de texte initial

Phonétisation / Alignement forcé

[SIL] M AI D A M Z EI M EI S Y EU [SIL] B ON J OU R [SIL]

Corpus phonétisé  modèles de langage phonétique Syllabation [SIL] M_AI D_A_M Z_EI M_EI S_Y_EU [SIL] B_ON J_OU_R [SIL]

Corpus syllabé  modèles de langage syllabique

Figure 18: Construction des corpus d'apprentissage pour les modèles de langage Le corpus textuel sur lequel seront appris les modèles de langage est la transcription manuelle de notre corpus d'apprentissage audio, représentant environ 20 heures de parole continue. Comme il sera mentionné dans la section 2.5.1, les transcriptions phonétiques sont issues d'une procédure d'alignement forcé. Les transcriptions syllabiques sont quant à elles le résultat d'un algorithme de syllabation appliqué sur ces transcriptions phonétiques. Pour l'implémentation de cet algorithme de syllabation, nous nous sommes inspirés des conventions et des principes utilisés pour la syllabation des bases lexicales Brulex et Lexique [PAL 04]. L'algorithme implémenté fait appel à une centaine d'heuristiques de découpage des chaînes de phonèmes, consultables en annexe B. La fréquence d'apparition de chaque syllabe est calculée pour ne conserver que les N plus courantes, puis les syllabes non conservées sont redécoupées si possible en syllabes présentes dans le vocabulaire généré et sinon en phonèmes.

Décodage acoustico-phonétique

46

Afin de connaître le nombre de syllabes suffisant à l'obtention de performances correctes, nous avons mené quelques expériences préliminaires d'évaluation sur le corpus Dev_BREF. Ces expériences nous ont permis d'aboutir à un compromis entre performances et complexité : l'utilisation d'un dictionnaire de base contenant uniquement les 2000 syllabes les plus fréquentes associées aux 35 phonèmes initiaux. Au final, ce corpus d'apprentissage des modèles de langage contient au total 910K phonèmes ou 424K syllabes.

Décodage acoustico-phonétique

47

2.5. Description des systèmes développés Au total, six décodeurs acoustico-phonétiques différents ont été implémentés et évalués. Avant de décrire en détail chacun de ces six systèmes, nous nous intéresserons aux corpus utilisés, à la paramétrisation acoustique choisie comme base de tous nos systèmes puis nous aborderons les types de modèles de langage utilisés et leur construction.

2.5.1.

Description des corpus

Toutes les évaluations des systèmes implémentés sont effectuées sur un même corpus de test issu de la campagne d'évaluation ESTER. Le décodage acoustico-phonétique est validé sur un alignement phonétique de ce corpus. Dans le cas plus particulier du décodage acoustico-phonétique, le développement d'un tel moteur basé sur des modèles probabilistes nécessite trois corpus audio représentatifs, différents et exclusifs, c'est-à-dire sans aucun recouvrement : un corpus d'apprentissage un corpus de développement un corpus de test Cet ensemble de corpus est en grande partie issu de deux bases de données pour l'étude de la parole française continue : les corpus BREF et ESTER.

Le corpus BREF Dans le but de concevoir un équivalent français au corpus TIMIT, le LIMSI a élaboré en 1991 BREF, le premier corpus de parole audio transcrite en français [LAM 91]. Ce corpus est un regroupement d'enregistrements contenant plus de 100 heures de parole par 120 locuteurs différents. Les textes ont été extraits du journal français Le Monde de façon à couvrir un large vocabulaire de plus de 20K mots et une palette large d'environnements phonétiques [GAU 90]. Contenant 1115 biphones distincts et plus de 17500 triphones, BREF peut être utilisé pour l'apprentissage de modèles phonétiques indépendants du vocabulaire. Les ressources textuelles ont été sélectionnées de façon à posséder des propriétés de distribution similaires. Ces textes consistent en 18 phrases "tout phonème" et environ 840 paragraphes, 3300 phrases courtes (12.4 mots par phrase) et 3800 phrases plus longues (21 mots par phrase). Concrètement, 80 locuteurs lisent environ 10K mots, c'est-à-dire environ 650 phrases et 40 locuteurs supplémentaires lisent approximativement la moitié de cet ensemble. Les enregistrements ont été effectués en stéréo dans une pièce isolée acoustiquement. Au final, trois corpus exclusifs ont été conçus : 80 locuteurs ont été enregistrés pour l'apprentissage, 20 pour les tests de développement et 20 pour l'évaluation. La proportion hommes/femmes est respectée, l'âge des participants oscille entre 18 et 73 ans, avec 75% des âges se situant entre 20 et 40 ans.

Décodage acoustico-phonétique

48

Le corpus ESTER Organisée dans le cadre du projet EVALDA et financée par le Ministère de la Recherche dans le cadre de l'appel à projet Technolangue, sous l'impulsion de l'Association Francophone de la Communication Parlée, du Centre d'Expertise Parisien de la Délégation Générale de l'Armement et de ELDA (Evaluations and Language resources Distribution Agency), l'objectif de la première campagne d'évaluation ESTER était d'évaluer automatiquement les systèmes de traitement de la langue française [GRA 04]. Dédiée à la transcription enrichie et à l'indexation de journaux radiophoniques de langue française, plusieurs tâches étaient proposées aux différents participants. Elles sont récapitulées dans le Tableau 2.

Transcription transcription orthographique transcription temps réel

Segmentation Extraction d'informations suivi d'évènements détection d'entités nommées sonores segmentation et segmentation thématique de regroupement de document locuteurs suivi de locuteurs suivi de thèmes segmentation de recherche d'information locuteurs interactive (question/réponse) Tableau 2 : Tâches de la campagne ESTER 1

Pour nourrir ces tâches, trois types de ressources étaient fournies : des ressources acoustiques, c'est-à-dire des corpus de parole transcrite, des ressources textuelles, c'est-à-dire des journaux ou transcriptions approchées de débats officiels, mais également un corpus d'environ 2000 heures de parole non transcrite. Les ressources acoustiques, lesquelles nous intéressent plus particulièrement, sont basées sur un corpus de 100 heures d'émissions radiophoniques, et réparties comme indiqué en Tableau 3.

Source

Phase 1 Phase 2 Train/dev Test Train/dev Non-trans test France Inter 19h40/2h40 2h40 8h/2h 300h 2h France Info 8h/2h 1000h 2h RFI 11h/2h 2h 8h/2h 500h 2h RTM 18h/2h 100h 2h "surprise" 2h Total 40h 50h 2000h 10h période 1998-2000 2003 2004 2004 Tableau 3 : Répartition des corpus acoustiques, extrait de [GRA 04]

Décodage acoustico-phonétique

49

Formatage des données Nos travaux visent une unique application, le décodage acoustico-phonétique de signaux de parole propre et en bande large. Il ne s'agit ni d'un module de segmentation de signaux audio hétérogènes ni d'une adaptation à des signaux de type téléphonique en bande de fréquence réduite. Précisons donc tout d'abord que l'on ne conserve dans nos corpus d'évaluation que des segments de parole propre sans parole superposée. Toutes les données sont monophoniques et échantillonnés à 16kHz. Dans cette section, nous évoquons les différentes étapes de construction de ces corpus d'évaluation. Les données issues des corpus BREF et ESTER sont initialement transcrites manuellement au niveau mot avec, dans le meilleur des cas, des segmentations temporelles au niveau des groupes de souffle. Or, il est nécessaire pour nos apprentissages et évaluations de posséder des transcriptions fidèles au niveau phonétique. Dans un souci de lisibilité, la première étape fut donc de convertir les fichiers ESTER, longs de 30 à 60 minutes, en plus petits segments relatifs aux tours de parole définis dans les fichiers de transcription fournis. Cette décomposition, effectuée grâce au logiciel SOX27, nous a permis de filtrer les segments de non-parole et d'éclater chaque fichier initial en plusieurs centaines de segments, chacun longs de quelques dizaines de secondes à deux minutes. Pour la seconde étape, la phonétisation des transcriptions par mots, il était nécessaire de gérer le maximum de prononciations possibles à partir des transcriptions manuelles. En effet, pour un même texte et pour une lecture jugée correcte, de nombreux aléas peuvent apparaître (Cf 3.5). Un vocabulaire multi-prononciations des mots en phonèmes a donc été établi, couvrant la totalité des mots prononcés, c'est-à-dire 24K mots pour 44K variantes de prononciations. Une fois ce vocabulaire construit et affilié aux transcriptions par mots, un processus d'alignement forcé est lancé, permettant d'effectuer automatiquement le choix des prononciations les plus probables, générant par la même occasion les segmentations temporelles par mots et par phonèmes. En résumé, chaque mot a été associé à toutes ses prononciations possibles, permettant à l'algorithme de Viterbi de choisir la séquence phonétique le plus probable, selon le processus indiqué en Figure 19.

Transcriptions niveau mots

Paramètres acoustiques

Dictionnaire de prononciations

Algorithme de Viterbi

Transcriptions phonétiques alignées 1-best

Figure 19 : Procédure d'alignement forcé 27

Sound eXchange : http://sox.sourceforge.net/

Décodage acoustico-phonétique

50

Ce processus a été réitéré plusieurs fois afin de corriger le maximum d'erreurs et obtenir ainsi, pour la totalité des données audio, des transcriptions alignées propres.

Corpus audio d'apprentissage L'apprentissage des modèles acoustiques d'un système de décodage acousticophonétique multi-locuteurs nécessite un important corpus d'apprentissage, couvrant un maximum de variations possibles, que ce soit intra ou inter-locuteurs. Dans l'idéal, un corpus contient donc plusieurs centaines d'heures de matériel sonore combinant divers accents, diverses intonations, ainsi qu'une proportion équitable de locuteurs hommes et femmes, d'adultes et d'enfants, de façon à couvrir au mieux l'univers phonétique. Cependant, un tel amas de données est inexploitable, tout d'abord à cause du temps d'enregistrement et de transcription manuelle nécessaire et ensuite à cause du temps d'apprentissage relatif à la taille du corpus. Dans le cadre de cette thèse, il était matériellement fastidieux d'effectuer de multiples apprentissages différents sur des corpus trop importants, c'est pourquoi le corpus d'apprentissage utilisé dans nos recherches couvre uniquement 20 heures de parole réparties comme indiqué dans le Tableau 4.

Noms des corpus de Durée totale des segments référence extraits BREF 8h30 ESTER 9h30 Divers 1h TOTAL 20h Tableau 4 : Répartition des données du corpus audio d'apprentissage Le corpus de référence nommé Divers correspond à environ une heure de données n'appartenant ni à BREF ni à ESTER. Il s'agit principalement de contenus issus d'émissions radiophoniques ou télévisuelles.

Corpus audio de développement Le corpus de développement est indispensable pour régler le comportement et les paramètres de nos systèmes. En effet, effectuer cette opération de réglage sur le corpus final de test, reviendrait à adapter le système au test, ce qui falsifierait les résultats. Pour ce faire, nous avons donc extrait 52 minutes du corpus BREF présentant des conditions de variabilité étendue, et absentes des corpus d'apprentissage et de test. Ce corpus sera appelé Dev_BREF dans la suite de ce document.

Décodage acoustico-phonétique

51

Corpus audio de test Le corpus de test, Test_Ester, contient 7h30 de parole continue en bande élargie extraites des 10 heures de radio contenues dans le corpus test d'ESTER; l'intégralité a été conservée excepté les segments de bande téléphonique, non parlés, de parole superposée et non transcrits. Au total, ce corpus contient 3130 fichiers audio.

Corpus textuel pour l'apprentissage des modèles de langage Le corpus textuel sur lequel sont appris les modèles de langage correspond à la transcription manuelle du corpus d'apprentissage audio, représentant environ 20 heures de parole continue.

2.5.2.

Paramétrisation acoustique

Cette section présente les choix de paramètres acoustiques effectués pour l'implémentation de nos décodeurs, ainsi qu'un aperçu des expérimentations menées pour conclure à ces choix. Ces expériences préliminaires ont été menées sur le corpus de développement, sans aucun modèle de langage. La configuration que nous avons choisie comme base de nos systèmes est celle de Gauvain [GAU 93], qui fait état de l'art encore aujourd'hui au vu des performances annoncées dans les différents articles publiés jusqu'à ce jour. Il s'agit d'une configuration standard, basée sur les 12 premiers coefficients MFCC plus l'énergie, associés à leurs dérivées premières et secondes. Le signal de parole est converti en vecteurs de coefficients MFCC selon une fenêtre de 32ms et un pas de 10ms. Quelques expériences préalables ont été réalisées afin de quantifier l'influence de la valeur énergétique et celle de la normalisation par la moyenne des cepstres, ou CMN pour Cepstral Mean Normalization.

Influence de la valeur de l'énergie Nous nous sommes tout d'abord penchés sur le premier coefficient des paramètres MFCC, à savoir la log-énergie. La log-énergie d’un signal échantillonné ( x n (i )) n =1,..., N à support fini s'exprime généralement en décibels et est définie par : N

E db (i ) = 10 × log 10 (∑ x n2 (i ))

(17)

n =1

La variabilité acoustique est l'une des causes majeures de la dégradation des performances des systèmes de reconnaissance automatique de la parole [BEN 06]. L'énergie du signal peut être une aide pour la discrimination des phonèmes, comme par exemple la distinction entre phonèmes de type plosives et stationnaires, mais ses variations peuvent

Décodage acoustico-phonétique

52

également dégrader la reconnaissance. Ces variations peuvent être causées par différents facteurs : l'intensité du bruit de fond, des volumes de microphones différents, des placements de microphones différents, des niveaux sonores différents suivant les locuteurs ou encore même au sein du discours d'un unique locuteur. Pour éliminer la variabilité de ce paramètre, une méthode classique est le contrôle automatique du gain, ou AGC pour Automatic Gain Control [BAN 64]. Il s'agit d'un système adaptatif utilisant la valeur moyenne de l'énergie pour ajuster le gain à un niveau approprié. Cette technique est malgré tout difficile à mettre en œuvre dans le cas d'un signal de parole spontané, c'est pourquoi nous nous intéressons ici à l'influence de cette valeur de l'énergie dans un système de reconnaissance. Nous conservons tout de même dans nos vecteurs de coefficients les valeurs des dérivées première et seconde de l'énergie, moins affectées par le niveau sonore des signaux. Le Tableau 5 compare les performances d'un système basé sur des vecteurs acoustiques à 39 coefficients incluant la valeur de l'énergie normalisée avec un système à 38 coefficients omettant cette valeur.

Avec énergie (39 coefs) Sans énergie (38 coefs) Rappel Précision Rappel Précision Dev_BREF 64.09 53.15 64.91 55.07 Tableau 5 : Influence de l'énergie sur le décodage acoustico-phonétique Ce tableau montre que les performances du système à 38 coefficients sont, sur le corpus de test, d'environ un point supérieures au système incluant la valeur de l'énergie dans les vecteurs acoustiques. Le choix s'est donc porté sur une configuration de vecteurs MFCC à 38 coefficients.

Influence de la normalisation par la moyenne des cepstres Afin de réduire les diverses distorsions dégradant un signal audio, comme les bruits convolutifs, les moteurs de reconnaissance ont souvent recours à une méthode simple et efficace : le CMN, ou Cepstral Mean Normalisation. Le CMN [ACE 95] consiste à calculer la moyenne cepstrale sur un segment de parole pour la soustraire ensuite sur toute la durée du segment. Le Tableau 6 compare les performances du système basé sur des vecteurs acoustiques à 38 coefficients, sans énergie et sans CMN, avec le même système à 38 coefficients auquel on a appliqué le CMN.

Sans CMN Avec CMN Performance Précision Performance Précision Dev_BREF 64.91 55.07 65.62 55.83 Tableau 6 : Influence de la normalisation par la moyenne des cepstres sur le décodage acoustico-phonétique

Décodage acoustico-phonétique

53

Ce tableau montre que les performances du système avec CMN sont, sur le corpus de développement, légèrement supérieures au système sans CMN. Le choix s'est donc finalement porté sur une application de la normalisation par la moyenne des cepstres sur les vecteurs MFCC.

Choix final des paramètres acoustiques En conclusion, chaque vecteur possède 38 coefficients : 12 coefficients cepstraux statiques, leurs 12 dérivées premières ainsi que la dérivée première de l'énergie, et leurs 12 dérivées secondes ainsi que celle de l'énergie. La normalisation par la moyenne des cepstres est appliquée sur chaque fichier.

2.5.3.

Modèles de langage

De façon à tirer partie au mieux des unités phonétiques et syllabiques, et pour mettre en exergue leurs différences d'influence au sein de nos décodeurs acoustico-phonétiques, il était important de construire deux modèles de langages bigrammes à repli : l'un basé phonèmes et l'autre basé syllabes, tous deux générés à partir du corpus textuel d'apprentissage présenté plus tôt. Ce calcul a été effectué à l'aide des outils de traitement de texte développés par le LIA, le Laboratoire Informatique d'Avignon [BEC 01]. Les expérimentations étant menées principalement avec les outils de décodage HTK, c'est-à-dire sur des versions classiques de l'algorithme de Viterbi, seuls des modèles bigrammes sont applicables directement. Les modèles d'ordre supérieurs sont malgré tout envisageables par le biais de processus à deux passes acceptés par HTK, ou applicables directement par d'autres logiciels comme Julius. Concernant le modèle de langage phonétique, le vocabulaire associé est l'ensemble des 35 phonèmes retenus et décrits précédemment. Concernant le modèle de langage syllabique, le vocabulaire associé est l'ensemble des 2000 syllabes les plus fréquentes présentes dans le corpus d'apprentissage, ainsi que les 35 phonèmes retenus.

2.5.4.

Présentation des systèmes

Dans cette partie sont décrits tout d'abord les décodeurs acoustico-phonétiques habituels rencontrés dans la littérature, c'est-à-dire ceux basés sur les monophones et les triphones, puis nous introduirons un nouveau système basé sur de nouvelles unités acoustiques : les unités transitoires. On y expose également comment ces systèmes sont adaptés pour chacun des modèles de langage phonétique et syllabique. Les quatre systèmes présentés seront nommés à partir du préfixe ASR pour Automatic Speech Recognizer.

Décodage acoustico-phonétique

2.5.4.1.

54

Reconnaissance basée monophones : ASR_CI

Les monophones, modèles acoustiques indépendants du contexte, sont généralement définis par des modèles de Markov cachés gauche-droite à trois états symbolisant tout d'abord l'entrée dans le phonème, son cœur puis la sortie du phonème. La Figure 20 représente la topologie générale d'un monophone. Ces topologies sont importantes dans nos travaux, c'est pourquoi nous utilisons ici et dans la suite de ce document un formalisme simple pour décrire chaque état : pour chaque phonème X à 3 états, la notation XS est donnée à l'état "START" ou entrée dans le phonème, XC à l'état "CENTER" ou cœur du phonème et XE à l'état "END" ou sortie du phonème. Phonème "I"

IS

IC

IE

Figure 20 : Topologie d'un monophone Un tel modèle est dit indépendant du contexte car bien que modélisant fidèlement un phonème dans son évolution, elle ne tient absolument pas compte de la phonotactique, c'est-àdire des effets engendrés par le contexte phonétique sur un phonème donné. Le premier système de décodage acoustico-phonétique implémenté est basé sur ces monophones. Ce système, que nous appellerons ASR_CI, pour "context independent", dans la suite de ce document est le système de reconnaissance de base, utilisant comme unités les 35 phonèmes choisis. Ces phonèmes sont tous modélisés par des chaînes de Markov gauchedroite à 3 états, excepté le modèle de silence, modélisé par une chaîne à 5 états, et le modèle de "short-pause" (sp) par une chaîne à un état. Après expérimentations sur notre corpus de développement, les lois d'émission sont des mélanges de 256 gaussiennes, configuration offrant les meilleures performances pour ces modèles.

Décodage acoustico-phonétique

55

ASR_CI et bigram phonétique Il est possible d'utiliser directement ces monophones en y associant le modèle de langage bigram phonétique. Chaque terme du vocabulaire est un phonème modélisé par un monophone.

A

P(A)

Entrée

Sortie P(B|A) P(B)

P(A|B) B

Figure 21 : Exemple de graphe généré par un bigram sur un vocabulaire constitué de deux termes indépendants du contexte A et B La Figure 21 illustre un exemple de graphe de décodage généré par un bigram appliqué sur un vocabulaire constitué de deux phonèmes A et B, chacun modélisé par un monophone indépendant du contexte. Ce type de graphe, composé de nœuds et de liens connectant les nœuds, symbolise la totalité des chemins à parcourir d'après le modèle de langage, chaque lien étant pondéré par des probabilités de passage d'un nœud à l'autre. Le graphe généré sur nos données applicatives, avec modèles indépendants du contexte et bigram phonétique, contient 111 nœuds et 1389 liens.

ASR_CI et bigram syllabique Dans le cas du modèle de langage syllabique, ce lien direct entre le vocabulaire syllabique et les modèles n'existe pas. Pour appliquer le bigram syllabique, il s'avère donc nécessaire de reconstruire chaque syllabe à partir des monophones par concaténation, comme indiqué en Figure 22. Une syllabe composée de N phonèmes correspond donc à une chaîne de 3*N états. Cette figure montre le mot "Elvis" décomposé en deux syllabes AI_L et V_I_S, chacune reconstruite à partir d'une concaténation des monophones correspondants. La flèche blanche symbolise la probabilité acoustique P(V_I_S|AI_L) définie par le bigram syllabique. AI_L AIS

AIC

AI

AIE

V_I_S

P(V_I_S|AI_L) LS

LC

L

LE

VS

VC

V

VE

IS

IC

I

IE

SS

SC

S

Figure 22 : Exemple de phonèmes modélisés par des monophones et concaténés en syllabe

SE

Décodage acoustico-phonétique

56

Le graphe de décodage généré par cette configuration contient 10208 nœuds et 97313 liens, c'est-à-dire environ 100 fois plus de nœuds et 70 fois plus de liens que le même système basé sur un modèle de langage phonétique. Dans le cas d'un système de décodage acoustico-phonétique basé monophones, l'algorithme de décodage calcule les probabilités de 33 phonèmes standards modélisés par des HMMs 3 états, d'un modèle de silence à 5 états et d'un modèle de short-pause à un état, c'est à dire d'un total de 105 états différents.

2.5.4.2.

Reconnaissance basée triphones : ASR_CD

Les monophones font partie des modèles acoustiques les plus simples, modélisant chaque phonème un à un sans aucune prise en compte du contexte. Ceci entraîne un défaut de modélisation non négligeable, sachant l'existence de nombreux phénomènes de coarticulations dans la parole continue. Voilà pourquoi un autre type de modèle est généralement privilégié lorsqu'il s'agit de prendre en compte le contexte : les triphones. Les triphones et les biphones sont des modèles acoustiques dépendants du contexte c'est-à-dire que leur apprentissage, et donc les modèles résultants, prennent en compte non seulement le phonème à modéliser mais aussi le contexte associé. Dans la suite de ce document, nous utilisons le même formalisme que dans le manuel de la boîte à outils HTK [YOU 05] pour décrire ces modèles. Un triphone sera donc représenté par un triplet de phonèmes A-B+C, B étant le phonème "cœur" du triphone, A étant le phonème prédecesseur de B et C son successeur. Concernant les biphones ayant pour phonème "cœur" un phonème B, ils seront notés par des couples B+C ou A-B, B+C étant un biphone d'entrée, c'est-à-dire dont le prédecesseur est un silence ou un début de phrase, et A-B étant un biphone de sortie, c'est-à-dire dont le successeur est un silence ou une fin de phrase. La Figure 23 illustre une topologie de triphone mise en parallèle avec un exemple de signal audio représenté. Phonème "M"

Phonème "I" Phonème "D"

S

C

E

Triphone "?-D+I"

S

C

E

Triphone "D-I+M"

S

C

E

Triphone "I-M+?"

Figure 23 : Topologie d'un triphone

Décodage acoustico-phonétique

57

Ces triphones sont généralement modélisés, tout comme les monophones, par des modèles à 3 états. Théoriquement, les deux états extrêmes présentés comme étant les entrées et sorties des monophones se voient ici ajouter une information supplémentaire importante : l'influence du phonème adjacent. Les phénomènes de coarticulation seront donc modélisés au niveau des états START et END. Notons également qu'une simple transition entre deux phonèmes est modélisée par deux états. Par exemple l'état End du triphone "?-D+I" modélise le début de la transition D vers I alors que l'état Start du triphone "D-I+M" modélise la fin de cette transition.

Construction des triphones De part leur structure, les triphones demandent une attention particulière lors de leur construction. En effet, si on ne considère que tous les triphones différents, sans compter les biphones et monophones, que l'on peut construire à partir de nos 33 phonèmes (le silence et le short-pause sont considérés comme des états indépendants du contexte), on aboutit à un total de 35 937 triphones différents, ou encore 107 811 états différents, c'est-à-dire une complexité 1 000 fois plus importante que pour le système équivalent basé monophones. Vu le grand nombre de triphones possibles, et vue la taille réduite du corpus d'apprentissage, le nombre d'occurrences de chaque triphone risque d'être trop faible pour le bon entraînement de chacun. Afin de pouvoir générer les triphones manquants, et par la même occasion réduire la complexité, une technique efficace de partage d'états a été mise au point par Young et Woodland [YOU 94]. Au final, grâce à ce partage d'états, il est possible de réduire à la fois le nombre d'états réels ainsi que le nombre de modèles physiques. Un premier système a été construit, basé sur des modèles dépendants du contexte générés après un classement des chaînes de Markov suivant un arbre de décision, comme exposé dans [YOU 05]. L'ensemble ainsi obtenu contient 49 283 HMMs mais uniquement 19 470 différentes physiquement, partageant 6 053 mélanges de 32 gaussiennes différentes. En détaillant davantage, nous obtenons 35 modèles "sans contexte", 2 592 biphones et 46 656 triphones. Pour l'apprentissage, on utilise une transcription phonétique convertie en chaînes de triphones intégralement connectées comme illustrée en Figure 24.

[SIL] AI L V I S [SIL] Transcription phonétique Génération de la transcription en triphones

[SIL] AI+L AI-L+V L-V+I V-I+S I-S [SIL] Transcription en triphones Figure 24 : Exemple de transcription du mot "Elvis" en triphones

Décodage acoustico-phonétique

58

ASR_CD et bigram phonétique A nos premiers modèles dépendants du contexte, on peut associer directement le modèle de langage phonétique. En effet, les outils de décodages de la boîte à outils HTK gèrent d'eux-mêmes le contexte des phonèmes en affectant automatiquement dans le vocabulaire un phonème à ses triphones associés, puis en contraignant par graphe les connexions d'un triphone à l'autre. De la même façon qu'illustré sur la Figure 21 pour le système ASR_CI, nous présentons en Figure 25 un exemple de graphe généré automatiquement par le système sur un vocabulaire de deux termes A et B non plus modélisés par des monophones mais par l'ensemble équivalent de modèles dépendants du contexte. Comme on peut le constater, ce graphe est bien plus complexe en termes de nombre de nœuds et de liens que dans le cas des monophones. Un tel graphe généré sur nos données applicatives contient 30 481 nœuds et 70 006 liens, c'est-à-dire environ 300 fois plus de nœuds et 70 fois plus de liens que le graphe équivalent basé sur des monophones.

A

B

Entrée

Sortie A+B

A-B A-B+A

B-A+B B+A

B-A

Figure 25 : Exemple de graphe généré par un bigram sur un vocabulaire constitué de deux termes dépendants du contexte A et B

ASR_CD et bigram syllabique Comme pour les monophones, on construit les syllabes par concaténation de triphones. Ces derniers étant dépendants du contexte, un choix doit être effectué sur leur fonction "intersyllabique". En d'autres termes, si le contexte est parfaitement modélisé à l'intérieur des syllabes, doit-on ou non l'étendre entre les syllabes ?

Décodage acoustico-phonétique

59

En terme de performances, il semblerait logique qu'une expansion totale du contexte permette d'obtenir de meilleurs résultats, sachant que le flux audio sera plus fidèlement modélisé. Malgré tout, le graphe généré par un tel système appliqué à nos 2 000 syllabes sera bien plus complexe qu'il ne l'est pour uniquement 35 phonèmes. Pour tenter de répondre à cette question, nous avons comparé les deux systèmes décrits ci-dessous, l'un basé sur une expansion totale du contexte, et l'autre se limitant à une expansion intra-syllabique.

ASR_CD, bigram syllabique, et expansion totale du contexte : ASR_CD_F Le système ASR_CD_F, suffixé ainsi pour "Full expansion", utilise les modèles acoustiques dépendants du contexte dans la construction des syllabes par concaténation de modèles, comme indiqué en Figure 26 sur la chaîne phonétique déjà utilisée en Figure 22. Une syllabe composée de N phonèmes correspond ici aussi à une chaîne de 3*N états. V_I_S

AI_L

AI+L

AI-L+V

L-V+I

V-I+S

I-S

Figure 26 : Triphones concaténés en syllabes avec expansion totale pour le mot "Elvis" C'est au niveau inter-syllabique qu'intervient la spécificité de ce système : les triphones modélisant les extrémités syllabiques sont ici automatiquement choisis par le système en fonction des phonèmes composant les syllabes précédente et suivante. Cette expansion permet au système d'avoir une couverture complète des effets de co-articulation mais rend le système très complexe en termes de nombre de nœuds et de liens dans le graphe résultant du modèle de langage. En effet, concernant le graphe de décodage généré sur ces syllabes à partir du bigramme syllabique, on obtient 199 198 noeuds et 605 369 liens. Remarquons par ces données chiffrées que la construction de ce système combinant modèle de langage syllabique et triphones multiplie de façon significative la complexité relativement au système utilisant le modèle de langage phonétique : environ 7 fois plus de nœuds et 9 fois plus de liens. En comparaison du système basique monophones/bigramme phonétique, on obtient donc environ 2 000 fois plus de nœuds et 430 fois plus de liens.

ASR_CD, bigram syllabique, et expansion interne uniquement : ASR_CD_I Avec le système ASR_CD_I, I pour "Internal Expansion", l'objectif est de conserver une modélisation totale du contexte à l'intérieur des syllabes, tout en évitant l'expansion entre elles et ainsi limiter la complexité du système. Pour générer notre ensemble de syllabes, il est envisageable de réutiliser les triphones appris pour ASR_CD_F, mais au vu des premiers résultats obtenus, il nous a paru évident que

Décodage acoustico-phonétique

60

ce premier apprentissage n'était pas adapté à cette nouvelle configuration. En effet, là où apparaissait auparavant un triphone en fin de syllabe (Ex : "AI-L+V" en fin de la syllabe "AI_L") et un autre triphone en début de la syllabe suivante (Ex : "L-V+I" en début de la syllabe "V_I_S"), apparaissent désormais deux biphones ("AI-L" et "V+I"), comme montré en Figure 27. Ces mauvais résultats s'expliquent donc par un apprentissage des biphones non adapté à un tel système. Plus précisément, les biphones, dans le cas précédent, modélisaient uniquement les transitions d'un silence vers un phonème ou d'un phonème vers un silence. Dans ce nouveau système, ils sont contraints de modéliser des zones de coarticulation très éloignées de leurs exemples d'apprentissage. V_I_S

AI_L

AI+L

AI-L

V+I

V-I+S

I-S

Figure 27 : Triphones concaténés en syllabes avec expansion interne uniquement Pour pallier ce défaut, une seconde transcription en triphones est réalisée, non plus extraite des transcriptions phonétiques mais des transcriptions syllabiques, comme indiqué plus loin en Figure 30. L'étiquetage finalement utilisé y est nommé "Triphones avec expansion interne uniquement". Un découpage de ce type permet de labelliser les modèles aux extrémités des syllabes comme étant des biphones qui seront ainsi plus représentatifs des zones "inter-syllabes". La couverture résultante sera évidemment bien plus "floue" que celle de ASR_CD_F. Une syllabe composée de N phonèmes correspond ici aussi à une chaîne de 3*N états. Au final, on obtient ici 34 852 HMMs dont 28 687 différentes physiquement, partageant 2 442 mixtures de 32 gaussiennes différentes. Le nouveau graphe de décodage ne contient plus que 8 196 nœuds et 94 435 liens, aboutissant à un système bien moins complexe que le modèle syllabique appliqué à ASR_CD_F , en divisant par 25 le nombre de nœuds et par 6 le nombre de liens.

2.5.4.3.

Reconnaissance basée "unités transitoires" : ASR_T

L'inconvénient majeur du système monophonique est l'apprentissage de chaque modèle phonétique indépendamment de leur contexte. Or les phonèmes, au sein d'un flux de parole, ne se suivent pas brutalement et des phénomènes de coarticulation apparaissent en fonction du contexte d'émission de chaque phonème. Il s'agit là d'un problème récurrent de la reconnaissance de parole auquel on répond le plus souvent, comme nous l'avons vu, par l'ajout d'informations contextuelles (biphones, triphones) [LAM 93]. Néanmoins, l'utilisation des triphones, malgré des techniques efficaces de partage d'états, aboutit généralement à des

Décodage acoustico-phonétique

61

systèmes complexes, en particulier lorsqu'il s'agit d'utiliser des unités plus longues que les phonèmes. Dans le cadre d'un système basé sur des unités syllabiques, il est souhaitable de travailler sur des modèles syllabiques cohérents à l'intérieur desquels le contexte est pris en compte et correctement modélisé, à l'instar des systèmes ASR_CD. Cependant, cette approche ne nous satisfaisait pas totalement, tout d'abord à cause de la complexité des graphe générés et ensuite à cause des transitions entre phonèmes modélisées par deux états successifs au sein même des syllabes. Dans l'optique de simplifier les systèmes basés triphones, nous proposons la création d'une nouvelle unité inspirée des monophones, permettant de limiter au maximum le nombre de modèles acoustiques. Cette unité se rapproche des pseudo-diphones présentés dans les travaux de [AND 93]. Chacune des 2 000 syllabes est donc associée à une chaîne de Markov spécifique, directement issue de la modélisation des monophones vue ci-dessus et présentée en Figure 28.

Figure 28 : Création d'une syllabe à partir d'unités transitoires Cette modélisation conserve la topologie issue de la concaténation des chaînes de Markov phonétiques, à ceci près que les états extrémités des phonèmes contigus sont fusionnés en un seul état, représentant le contexte de transition. La nouvelle notation consacrée pour ces nouveaux états transitoires entre deux phonèmes X et Y est X2Y (X to Y). Ainsi, sur l'exemple présenté en Figure 28, les états SE et OS sont fusionnés en S2O et OE et LS en O2L. Cette fusion de deux états entraîne une réduction du nombre d'états à parcourir lors du décodage, car là où une concaténation de n phonèmes était modélisée par 3n états, le modèle syllabique correspondant n'en a plus que 2n+1. Par ce formalisme, l'intégralité de l'espace de parole est donc couverte par un ensemble de 1 103 états différents. En outre, la topologie de ces syllabes permet d'étendre l'apprentissage aux modèles non rencontrés en partageant les états comme indiqué en Figure 29. Les modèles de syllabes ainsi construits sont bien entendu ré-estimés de zéro.

Décodage acoustico-phonétique

62

Figure 29 : Partage d'états entre syllabes Au final, les 2 000 syllabes se partagent 1 103 états différents, c'est-à-dire près de 10 fois plus de probabilités d'émission à calculer lors du décodage que pour le système monophonique. Le graphe de décodage quant à lui possède 16 369 nœuds et 99 419, ce qui le positionne globalement en équivalent d'un système ASR_CD_I en termes de complexité de graphe.

2.5.4.4.

Format des étiquettes

Les systèmes que nous venons de décrire sont chacun basés sur l'une des quatre unités suivantes : -

monophones; triphones avec expansion totale; triphones avec expansion interne uniquement; unités transitoires.

La Figure 30 donne un exemple de création des différentes étiquettes relatives à ces unités et nécessaires pour l'apprentissage des modèles. On considére dans cet exemple la transcription du mot : "Elvis".

Décodage acoustico-phonétique

63

Monophones (ASR_CI) sil AI L V I S sil

sil sil-AI+L AI-L+V L-V+I V-I+S I-S+sil sil Triphones avec expansion totale (ASR_CD_F)

Syllabes Syllabation

sil AI+L AI-L V+I V-I+S I-S sil Triphones avec expansion interne uniquement (ASR_CD_I)

sil AI_L V_I_S sil sil AIS AIC AI2L LC LE VS VC V2I IC I2S SC SE sil Unités transitoires (ASR_T)

Figure 30 : Différents étiquetages du mot "Elvis" Chaque cadre correspond à un étiquetage textuel différent du mot "Elvis" dédié à un système donné, chaque ligne représentant un modèle acoustique. Notons que le cadre "Syllabe" n'est pas directement utilisé comme étiquetage mais comme étape intermédiaire pour la création des labels dédiés aux systèmes ASR_CD_I et ASR_T.

2.5.5.

Mise en oeuvre

Tous les systèmes ont été appris de la même manière, par estimations successives grâce à l'algorithme de Baum-Welch et duplications régulières du nombre de gaussiennes toutes les 10 estimations. L'outil utilisé est le module HERest de la boîte à outils HTK. Tous les apprentissages sont conçus pour aboutir à des mélanges de 32 gaussiennes par état, sauf pour le système ASR_CI, dont les mélanges sont composés de 256 gaussiennes. L'outil utilisé pour le décodage est le module HVite, implémentation de l'algorithme de Viterbi fournie par la boîte à outils HTK.

Décodage acoustico-phonétique

64

2.6. Expérimentations et résultats Dans cette section, nous abordons les évaluations des systèmes précédemment décrits, effectuées sur le corpus Test_ESTER. Tout d'abord, un récapitulatif des systèmes est exposé, suivi d'une discussion sur les résultats obtenus en terme de taux d'erreur phonétique.

Récapitulatif des systèmes

2.6.1.

Le Tableau 7 reprend les quatre systèmes implémentés, c'est-à-dire ASR_CI, ASR_CD_F, ASR_CD_I et ASR_T, et propose un exemple pour chacun d'entre eux, indiquant les structures particulières en fonction du type de modèle de langage appliqué, phonétique ou syllabique.

Unité

Phonème

Modèle acoustique

Exemple (sil AI L V I S sil)

Monophone ASR_CI

AI

L

V

I

S

Triphone (full expansion) ASR_CD_F

AI+L

AI-L+V

L-V+I

V-I+S

I-S

AI_L

V_I_S

Monophone ASR_CI AI

L

V

AI_L

Triphone (full expansion) ASR_CD_F

AI+L

I

S

V_I_S

AI-L+V

L-V+I

V-I+S

I-S

Syllabe AI_L

Triphone (internal expansion) ASR_CD_I

AI+L

V_I_S

V+I

AI-L

V-I+S V_I_S

AI_L

Transitoires ASR_T

AIS

AIC

AI2L

I-S

LC

LE

VS

VC

V2I

IC

I2 S

SC

SE

Tableau 7 : Récapitulatif des systèmes de décodage acoustico-phonétique Le Tableau 8 résume les complexités de chaque système en termes de topologies, c'est-à-dire de nombre de gaussiennes par mixture, de nombre de modèles physiques, du

Décodage acoustico-phonétique

65

nombre d'états différents et du nombre d'états par syllabe. Il montre également la complexité de structure des graphes de décodage générés par HTK en termes de nombre de nœuds et de nombre d'arcs.

COMPLEXITE DES GRAPHES COMPLEXITE DES TOPOLOGIES

Bigramme phonétique

Bigramme syllabique

Nb gaussiennes

Nb modèles

Nb états

Nb états par syllabe de N phonèmes

Nb noeuds

Nb liens

Nb noeuds

Nb liens

ASR_CI

256

35

105

3*N

111

1389

10208

97313

ASR_CD_F

32

19470

6053

3*N

30481

70006

199198

605369

ASR_CD_I

32

28687

2442

3*N

8196

94435

ASR_T

32

2000

1103

2*N+1

16369

99419

Tableau 8 : Complexité des systèmes de décodage acoustico-phonétique Comparé aux autres graphe construits dans le cadre d'un bigram syllabique, ASR_CD_F est de loin le plus complexe, ce qui s'explique par l'expansion du contexte entre les syllabes. Notons qu'un nœud de graphe représente dans tous les cas une unité de base du système, c'est pourquoi ASR_T (une unité = un modèle transitoire à un état) a deux fois plus de nœuds que ASR_CD_I (une unité = un modèle triphone à 3 états). En outre, ASR_CD_I possède moins de nœuds qu'ASR_CI grâce au partage de modèles.

2.6.2.

Résultats

La transcription phonétique est évaluée par comparaison des transcriptions résultantes et des références manuelles. Les trois types d'erreurs phonétiques rencontrées sont les insertions, suppressions et substitutions. Elles sont calculées par application d'un algorithme d'edit distance entre les transcriptions résultantes et les références. L'outil utilisé est le module HResults de la boîte à outils HTK (annexe A). Les performances de reconnaissance sont alors notées relativement au pourcentage de phonèmes correctement reconnus, encore appelé taux de rappel, et au taux d'erreur phonétique, ou Phoneme Error Rate (PER). Le Tableau 9 présente les performances des différents systèmes appliqués au corpus de test Test_Ester en termes de taux de rappel et de taux d'erreur phonétique.

ASR_CI ASR_CD_F ASR_CD_I ASR_T

Décodage phonétique

Décodage syllabique

RAPPEL 71.15 79.52

RAPPEL 78.34 83.43 81.60 80.83

PER 30.66 28.16

PER 23.73 23.46 22.34 23.19

Tableau 9 : Résultats du décodage sur Test_Ester

Décodage acoustico-phonétique

66

Le Phoneme Error Rate est calculé sur les trois types d'erreurs comme suit :

PER = 100 − Accuracy =

100 * ( S + I + D) (18) N

N est le nombre de phonèmes de la transcription de référence, I le nombre d'insertions, S le nombre de substitutions et D le nombre de phonèmes supprimés. Pour une bonne compréhension du Tableau 9, remarquons que ASR_CD_I et ASR_T sont uniquement présentés associés au bigram syllabique, de part leur propriétés spécifiques. Notons également que les silences et les inspirations ne sont pas pris en compte dans l'évaluation afin de ne pas sur-évaluer les résultats. Rappelons enfin que pour le décodage syllabique, les syllabes sont redécoupées en phonèmes. A la lecture de ce tableau, on s'aperçoit que les performances sont relativement proches, autour de 30% de taux d'erreur phonétique dans le cas de l'application du modèle de langage phonétique, et aux environs de 23% dans le cas du modèle de langage syllabique. Le gain conséquent d'environ 7 points obtenus grâce au bigramme syllabique confirme donc nos attentes quant à l'influence de l'information syllabique dans le décodage phonétique. Deuxièmement, ASR_CD_I obtient des performances similaires à ASR_CD_F. Il perd en taux de rappel ce qu'il gagne en taux d'erreur. Ce résultat est assez inattendu, au vu de la complexité d'ASR_CD_F et de sa gestion potentiellement optimale des effets de coarticulation. Deux causes peuvent expliquer ce phénomène : soit notre corpus d'apprentissage ne contient pas suffisamment de données pour un système de la complexité d'ASR_CD_F, soit une modélisation complète du contexte n'est pas nécessaire dans le cadre d'un système syllabique. Pour valider ces résultats, il serait donc important de ré-apprendre ces systèmes basés triphones à partir de données d'apprentissage bien plus importantes. Finalement, ASR_T et ses unités transitoires atteignent 23.19% de PER. De part ces résultats et sa complexité réduite, ce système s'avère être le meilleur compromis entre performances et rapidité d'exécution, en particulier comparé aux systèmes basés triphones. Pour terminer cette étude, intéressons-nous brièvement à la vitesse d'exécution de ces systèmes sur nos machines de travail.

Décodage acoustico-phonétique

67

Vitesse d'exécution Concernant la vitesse d'exécution, tout dépend de la stratégie de décodage et du matériel informatique. Les valeurs indiquées ci-dessous sont purement informatives dans le but de comparer nos différents systèmes. Le Tableau 10 récapitule la vitesse moyenne d'exécution pour le décodage utilisant l'algorithme de Viterbi de HTK sur un CPU Xeon, 3.4GHz avec 2Go de RAM. Le même seuil d'élagage, relatif au beam-search, d'une valeur de 180 est utilisé, cette valeur étant choisie comme étant un bon compromis entre complexité et performances. Phonetic LM 0.88 5.81

Syllabic LM ASR_CI 1.60 ASR_CD_F 10.38 ASR_CD_I 2.23 ASR_T 1.85 Tableau 10 : Vitesse d'exécution du décodage acoustico-phonétique (x plus long que le Temps réel) Notons qu'il est toujours possible d'augmenter la vitesse d'exécution en réduisant ce seuil d'élagage, au risque de réduire les performances.

Décodage acoustico-phonétique

68

2.7. Conclusion Dans ce chapitre, nous avons présenté plusieurs décodeurs acoustico-phonétiques évalués sur le corpus ESTER, l'objectif principal étant d'utiliser le phonème comme unité principale de transcription de façon à éviter les problèmes de mots hors-vocabulaires inhérents aux systèmes de reconnaissance grand vocabulaire. L'architecture choisie pour ces différents systèmes est basée sur une modélisation statistique de l'acoustique par modèles de Markov cachés, et du langage par modèles n-gram. Plusieurs configurations ont été testées. Tout d'abord, chaque système est bâti sur un type de modèle acoustique : des modèles indépendants du contexte (monophones), des modèles dépendants du contexte (triphones et biphones) et des modèles transitoires. Ensuite, deux modèles de langage ont été pris en compte : un bigram phonétique standard, ainsi qu'un bigram syllabique construit de façon à mettre en évidence l'influence de l'information syllabique pour une transcription phonétique. Au total, six systèmes ont été évalués. Pour cette évaluation, un ensemble de trois corpus audio (apprentissage, développement et test) a été créé à partir des corpus BREF et ESTER. L'objectif principal étant de valider nos expériences sur un corpus français renommé, les données test ont été intégralement extraites du corpus de test ESTER, aboutissant à 7h30 de matériel audio. Notons que la tâche de transcription proposée par la campagne ESTER n'était proposée qu'au niveau mot et qu'il n'existe pas encore de données de comparaison pour des transcriptions au niveau phonétique. Finalement, les résultats obtenus confirment le bénéfice d'utiliser les syllabes comme guides de la transcription du signal de parole en phonèmes. Deux systèmes en particulier proposent des résultats intéressants. Le premier, ASR_CD_I, est basé sur des modèles dépendants du contexte appris en tenant compte de leur adaptation aux syllabes ainsi que l'application d'un modèle syllabique et une expansion du contexte uniquement interne aux syllabes. Ce système atteint le meilleur score avec un taux d'erreur phonétique de 22.34%. Le second, ASR_T, est quant à lui basé sur des unités transitoires originales permettant la construction de modèles de Markov cachés syllabiques avec un nombre minimal d'états physiques différents. Avec un taux d'erreur phonétique de 23.19% et une complexité réduite, il semble être le meilleur compromis entre performances et rapidité d'exécution. Toutes les transcriptions phonétiques dont nous parlerons dans la suite de ce document sont générées par ce dernier système.

Détection de mots-clés

69

CHAPITRE 3 DETECTION DE MOTS-CLES SUR FLUX PHONETIQUE

Détection de mots-clés

70

3.1. Introduction Comme développé dans le chapitre I, la reconnaissance automatique de la parole est un domaine qui suscite l'intérêt depuis de nombreuses années pour ses applications dans de nombreux domaines. Parmi les nombreux objets de recherche liés à ce domaine, la détection de mots-clés constitue une branche importante. Cette technique consiste à détecter dans un flux continu audionumérique certaines zones de la parole où des mots-clés ont été susceptibles d'avoir été prononcés. En 1997, Philippe Gélin [GEL 97] en liste quelques applications importantes telles que la reconnaissance de mots-clés appliquée à la téléphonie [WIL90], le tri des messages vocaux [ROS 91] ou encore la numérotation téléphonique dans les GSMs [NAK 93]. Dans ce chapitre, nous nous intéressons plus particulièrement à son application à l'indexation automatique de tout type de contenus audiovisuels : télévision "broadcastée", radio, contenus autoproduits, web, etc. Concrètement, nous étudions ici la faisabilité d'une détection de mots-clés à partir des transcriptions phonétiques issues de notre moteur de DAP décrit dans le chapitre précédent, comme illustré en Figure 31.

DAP Flux de phonèmes 1-Best … sil J A K CH I R A K AI T AN N I R A K sil …

Chirac Irak France …

CH I R A K I R A K F R AN S

Mots-clés phonétisés

Moteur de détection

tn Chirac tn+1 Irak tn+9 Irak … Détections

Figure 31 : Détection de mots-clés sur flux phonétique Avant toute chose, revenons un instant sur la reconnaissance de la parole continue à grand vocabulaire. Celle-ci consiste à reconnaître l'enchaînement le plus probable de mots correspondant à un signal de parole donné. De façon à reconnaître des phrases, les mots sont classiquement construits par concaténation de modèles acoustiques puis injectés dans des modèles de langage définissant l'univers grammatical du décodage. Plus précisément, ces mots sont issus d'un dictionnaire fini définissant de multiples prononciations pour chaque mot afin de prendre en compte les règles de prononciation régissant le langage telles que les liaisons, l'accent régional ou encore les diverses prononciations des noms étrangers. Les effets de coarticulation, c'est-à-dire la variabilité des réalisations des phonèmes en fonction du contexte phonétique et prosodique, sont pris en charge par l'utilisation de triphones dans les modèles acoustiques. Finalement, lors du décodage, le calcul du maximum de vraisemblance permet d'aligner au mieux, selon la modélisation acoustique et le modèle de langage, les mots du vocabulaire sur le signal de parole, en gérant automatiquement ces variantes de prononciations. Ces dernières sont prises en compte par une modélisation statistique des

Détection de mots-clés

71

paramètres acoustiques et par un décodage de type Viterbi qui détermine l'alignement optimal de la forme acoustique sur un modèle de Markov. En d'autres termes, cet alignement détermine le chemin qui conduit à la plus forte probabilité d'émission de la forme considérée. Ainsi, même si le dictionnaire ne contient pas toutes les variantes phonétiques possibles, le système proposera l'alignement le plus proche car le modèle de langage compensera les probabilités acoustiques. Dans notre cas, c'est-à-dire celui d'une détection de mots-clés sur un flux textuel phonétique, l'approche est plus contrainte et engendre des problèmes. En effet, en se focalisant uniquement sur les meilleures transcriptions issues de notre DAP, on fixe une seule hypothèse de séquence phonétique sur ce qui a été prononcé. Cette unique hypothèse est de surcroît bruitée par les erreurs inhérentes à notre système qui rappelons le, présente un taux d'erreur phonétique de l'ordre de 25% sur des contenus de type "radio broadcast". Pour détecter correctement un mot-clé dans ce flux phonétique, il faudra donc pallier à ces erreurs phonétiques. En effet, les insertions, substitutions et suppressions de phonèmes altèrent la transcription du flux, et il suffit qu'un phonème diffère entre une requête et la transcription pour empêcher la détection exacte d'un mot-clé. Dans le cas de nos travaux, la sortie phonétique est unique et la méthode statistique utilisée en reconnaissance de la parole continue à grand vocabulaire n'est plus applicable directement sur les unités acoustiques. En dehors de ces erreurs de phonétisation, il faudra également pallier aux multiples variantes de prononciations dues en premier lieu à la coarticulation. Les triphones appliqués dans le cadre de la reconnaissance grand vocabulaire ne pouvant plus être utilisés directement pour gérer ces phénomènes, il faudra leur trouver une alternative adaptée. L'exemple de la Figure 32 met en évidence un décodage acoustico-phonétique faisant apparaître un phénomène de coarticulation lors de la prononciation du mot "absent". Il s'agit plus spécifiquement ici d'une assimilation de dévoisement dite "régressive" et due au phonème B se transformant en P. L'utilisation d'un triphone "A-B+S" contient intrinsèquement l'information du phonème P, ce qui n'est pas le cas dans notre approche et dans l'application recherchée. Les variations de prononciations, développées dans la section 3.5, peuvent altérer les performances en empêchant certaines détections.

Ce qui est prononcé :

… être absent … Décodage acousticophonétique

Ce qui est décodé : … AI T R A P S AN …

Figure 32 : Exemple de phénomène de coarticulation apparu lors du décodage Outre ces problèmes de non-détection, il faudra également gérer l'écueil classique des fausses alarmes. Une fausse alarme est une détection incorrecte d'un mot-clé correspondant à un segment de parole où ce mot-clé n'a pas été prononcé. Un exemple typique de fausse alarme est l'inclusion de la séquence phonétique "I R A K" dans le mot Chirac, ce qui engendre une zone ambiguë où le mot Irak sera détecté si aucune technique d'analyse du contexte (sémantique ou autre) n'est appliquée. La technique classique utilisée en

Détection de mots-clés

72

reconnaissance vocale grand vocabulaire pour lever ce type d'ambigüités est l'application de modèles de langage. Les mots du vocabulaire sont ainsi contextualisés sur un horizon de plusieurs mots, typiquement deux ou trois, ce qui permet de choisir la meilleure séquence de mots. Au final, se posent deux types majeurs de problèmes relatifs à la détection de motsclés dans des transcriptions phonétiques : -

les non-détections dues aux variantes de prononciations, aux phénomènes de coarticulation et aux erreurs de phonétisation, quantifiées taux de rappel; les fausses alarmes, en partie quantifiées par le calcul du taux de précision.

C'est à la gestion de ces deux problèmes que nous nous sommes plus particulièrement intéressés dans cette partie. Dans un premier temps, nous avons étudié le comportement d'un système de détection basique permettant de mettre concrètement en exergue ces problèmes. Suite à cela, nous avons expérimenté d'une part une technique permettant de réduire le nombre de non-détections par distance phonétique, et d'autre part des méthodes d'élargissement des requêtes phonétiques dédiées à la réduction du nombre de fausses alarmes. Au vu des résultats obtenus, il a été finalement décidé d'intégrer certaines parties de nos travaux dans une plateforme de démonstration. Ce chapitre s'articule donc autour du développement d'un moteur de détection de mots-clés basé sur le flux phonétique et est organisé comme suit : dans la section 3.2, nous décrivons l'état de l'art de la détection de mots-clés basée phonèmes; nous exposons en section 3.3 le contexte expérimental de nos travaux et en particulier la liste de mots-clés utilisée dans les évaluations; dans la section 3.4, nous présentons des méthodes dédiées au problème des non-détections alors que dans la section 3.5 nous définissons des méthodes d'enrichissement du dictionnaire par variations des prononciations; finalement, nous introduisons dans les sections 3.6 et 3.7 des techniques visant à réduire le nombre de fausses-alarmes par expansion du contexte phonétique, avant de conclure en section 3.8 sur le système concrètement implémenté dans la plateforme de démonstration d'Orange Labs dédiée à la recherche et à la navigation dans les contenus multimédias.

Détection de mots-clés

73

3.2. Etat de l'art de la détection de mots-clés basée phonèmes Outre les systèmes basés sur une simple modélisation des mots-clés par concaténation de phonèmes, Gish et al. [GIS 93] proposèrent l'utilisation de la sortie d'un décodeur acoustico-phonétique pour améliorer la décision quant à la présence d'un mot-clé sur un segment donné. Du décodeur acoustico-phonétique résultait une segmentation en phonèmes, à laquelle ils associaient une modélisation de la trajectoire des coefficients acoustiques contenus dans chaque segment. Ces coefficients servaient de base à une détection de mots-clés basés sur une approche markovienne. Notons que pour chaque mot-clé, ils modélisaient également le non-mot-clé correspondant, de façon à réduire le taux de fausses alarmes. La même année, Alvarez-Cercadillo et Hernandez-Gomez [ALV 93] proposaient un autre système utilisant un décodeur acoustico-phonétique. Composé en deux parties principales, ce système procédait tout d'abord à une reconnaissance phonétique fournissant à chaque instant les probabilités associées à chaque phonème. La seconde partie consistait en l'injection de ses probabilités en entrée de réseaux de neurones récurrents, chaque réseau simulant l'exécution d'un automate fini représentant un mot clé. Nous avons déjà mentionné les travaux de Szöke [SZO 05] qui compare plusieurs approches de détection de mots-clés, et notamment une basée sur des treillis de phonèmes issus d'un système TRAP-NN. Ce système fut développé de façon à dépasser l'inconvénient majeur des systèmes LVCSR-KWS : la dépendance au dictionnaire. Ce problème de dépendance avait déjà été abordé par James [JAM 94] qui proposait une méthode de détection dans les treillis de phonèmes tout en autorisant la gestion des erreurs relatives au décodage acoustico-phonétique (insertions, substitutions, suppressions). Plus récemment, Pylypenko [PYL 07] a développé une solution rapide, en deux passes, générant tout d'abord un flux phonétique puis en mettant à jour, à chaque phonème rencontré, une liste de mots potentiellement détectés. Nos travaux étant proches de cette dernière méthode, nous présentons ci-dessous le détail de son fonctionnement.

L'algorithme ELVIRS L'article [PYL 07] présente un algorithme intitulé ELVIRCOS pour "Extra Large Vocabulary COntinuous Speech recognition based on the Information Retrieval". Il s'agit d'une approche de la décomposition d'un processus de reconnaissance automatique de la parole en deux passes : tout d'abord la construction d'un treillis de mots potentiels puis la reconnaissance proprement dite à partir de ce treillis de mots. L'originalité de la méthode provient de l'utilisation de techniques issues du domaine de la recherche d'information pour la construction du treillis de mots. C'est cette première passe, appelée algorithme ELVIRS, que nous décrirons ici. L'architecture globale du système ELVIRCOS est exposée en Figure 33. Ce système réutilise des briques usuelles de la détection de mots-clés telles que l'extraction des paramètres acoustiques et l'application de modèles. Néanmoins, il diffère par une utilisation de la transcription phonétique comme producteur des séquences de phonèmes suivie d'une

Détection de mots-clés

74

procédure de type "recherche d'information". Cette procédure permet de construire le "sousvocabulaire", c'est-à-dire le sous-ensemble du vocabulaire exploité ensuite dans une seconde passe de reconnaissance proprement dite. Pour information, la phonétisation automatique du signal de parole est effectuée pour un taux d'erreur phonétique estimé de 15%.

Transcription phonétique Extraction de paramètres

Recherche sousvocabulaire

Applications des modèles

Reconnaissance sur sous-vocabulaire Phonèmes

Modèles acoustiques

Résultat

Index de mots Vocabulaire

1ère passe

2ème passe

Figure 33 : Architecture du système de reconnaissance ELVIRCOS Expliquons plus en détails l'étape dite de "recherche sous-vocabulaire". Tout d'abord, un dictionnaire de transcription est préparé pour construire une table d'index à partir des triplets de phonèmes. Chaque clé d'entrée est un triplet phonétique et pointe vers une liste de mots contenant ce triplet. Si M est le nombre de phonèmes du système, alors la table d'index contient M3 entrées différentes. Ensuite, la transcription phonétique du signal de parole est divisée en triplets de phonèmes, avec recouvrement, qui deviennent les requêtes d'un système de recherche d'information, comme indiqué en Figure 34. On récupère finalement la liste de mots du dictionnaire associée à chaque triplet, et on met à jour un sous-ensemble du vocabulaire trié par l'intermédiaire d'un compteur de triplets validés. Ce rang représente le nombre de triplets appartenant à la fois à la séquence phonétique et au mot considéré. Ce sous-ensemble du vocabulaire correspond donc aux meilleures transcriptions potentielles, selon un nombre de transcriptions maximal fixé à une valeur N. Sortie de la transcription phonétique sil J A K CH I R A K sil

Compteur CH I R A K I R A K … M I R A K L

CH I R

CH I R A K B A CH I R … A V A CH I R

I R A CH I R A K I R A K … M I R A K L

R A K

3 2 2

Sous-ensemble du vocabulaire pour la reconnaissance

CH I R A K I R A K … M I R A K L

Triplets de phonèmes vers index de transcriptions

Figure 34 : Processus de recherche sous-vocabulaire du système ELVIRS

Détection de mots-clés

75

Le résultat de cette première passe propose donc une liste de mots susceptibles d'être détectés sur la transcription phonétique. En s'arrêtant à cette étape, on obtient donc un système de détection de mots-clés. Le système complet ELVIRCOS permet d'injecter cette liste de mots dans une seconde passe de reconnaissance continue. Cette procédure additionnelle se base sur ces listes de mots détectés pour construire un treillis de mots dans lequel sera calculé le meilleur chemin. Ce système fonctionne pour le moment uniquement en détections de triplets exactes. C'est-à-dire que s'il permet de prendre en considération dans une certaine mesure les erreurs de décodage acoustico-phonétique (insertions, suppressions et substitutions), leur gestion est loin d'être optimale. Ce tour d'horizon désormais effectué, intéressons-nous au contexte expérimental des implémentations de nos systèmes de détection de mots-clés.

Détection de mots-clés

76

3.3. Contexte expérimental Dans cette section, nous présentons le corpus d'évaluation sur lequel sont calculées les performances de nos systèmes, la liste de mots-clés utilisées dans ces évaluations, puis enfin les méthodes d'évaluation relatives aux moteurs de détection de mots-clés.

3.3.1.

Corpus d'évaluation

Le corpus d'évaluation Test_ESTER est extrait du corpus de test de la campagne ESTER et a déjà été décrit en section 2.5.1. Pour l'évaluation de nos systèmes, nous nous baserons sur les deux types de transcriptions phonétiques issues de ce corpus : les transcriptions dites exactes, issues d'un alignement forcé, et les transcriptions bruitées générées par notre moteur de DAP. Retenons cette terminologie que nous évoquerons régulièrement dans la suite de ce document.

3.3.2.

Liste de mots-clés

Le choix s'est porté sur la liste des 151 noms de pays différents en français. Nous avons effectivement jugé que cette liste était représentative des requêtes d'utilisateurs, tant au niveau du type de requêtes, c'est-à-dire des noms propres, porteurs de sens, que de leur degré de rareté - "Etats-Unis" ou "Irak" sont intuitivement des requêtes plus fréquentes que "République dominicaine" - et de la variété dans le nombre de phonèmes. Notons que sur ces 151 noms de pays, seuls 69 apparaissent au moins une fois dans le corpus de test ESTER, avec un total de 756 occurrences. Pour le premier moteur décrit ci-après, ces mots-clés ont été phonétisés en conservant uniquement une séquence phonétique par mot. Cette liste est consultable en annexe C.

3.3.3.

Méthode d'évaluation

Comme vu au chapitre précédent, les performances d'une reconnaissance phonétique se calculent par le biais d'un taux d'erreur évalué sur trois types d'erreur : les insertions, substitutions et suppressions. Pour la détection de mots-clés et la recherche de termes parlés dans des archives audio, la nature des erreurs est différente. Les deux types d'erreurs rencontrés sont : -

la fausse alarme, c'est-à-dire la détection d'un mot-clé sur une portion de signal où il n'est pas prononcé;

-

la non détection, c'est-à-dire l'absence de détection sur un segment de parole où un mot-clé est prononcé.

Ces erreurs sont prises en compte dans deux mesures : le taux de rappel et le taux de précision, équivalents des taux utilisés en reconnaissance des phonèmes mais appliqués à la

Détection de mots-clés

77

détection de mots-clés. Ces taux sont calculés en fonction du nombre de détections total à effectuer D, du nombre de détections correctes C, et du nombre de fausses alarmes F.

rappel =

100 * C 100 * C , précision = D C+F

(19)

Dans ce chapitre, toutes les évaluations sont effectuées par détection de la liste de 151 noms de pays dans le corpus de test ESTER. Les performances sont calculées en termes de taux de rappel et de taux de précision.

Détection de mots-clés

78

3.4. Un premier moteur de détection Nous avons établi dans l'introduction que l'un des problèmes majeurs de la détection de mots-clés dans un flux phonétique concerne les erreurs de phonétisation et les variantes de prononciation. Dans cette section, nous présentons un premier moteur de détection de motsclés utilisant un calcul de distance phonétique dynamique permettant la gestion de ces erreurs. Dans un premier temps, on propose une organisation des mots-clés en arbre, suivie d'un détail du fonctionnement du moteur adapté à une telle architecture. Une adaptation du calcul de la distance, connue sous le nom de "distance de Levenshtein", est ensuite exposée, pour terminer sur une proposition de réduction de la complexité de calcul. Dans la suite de ce document, nous ferons la distinction entre détection de mots-clés dite "exacte" et détection dite "approximative". La détection exacte correspond à une chaîne de phonèmes retrouvée parfaitement à l'identique, alors que la détection approximative correspond à un appariement autorisant des différences entre la chaîne de phonèmes recherchée et celle détectée.

3.4.1.

Organisation des mots-clés

La solution proposée pour l'organisation des listes de mots-clés est la fusion des termes dans un arbre trié alphanumériquement permettant de factoriser les débuts de requêtes et ainsi d'accélérer la détection. La Figure 35 montre un exemple d'arbre construit sur la liste de trois mots-clés "Chirac", "Irak" et "Iran". Chaque nœud de l'arbre représente un phonème issu des requêtes phonétiques et les nœuds correspondants aux derniers phonèmes des requêtes pointent vers les mots-clés associés.

CH

I

I

R

R A

A

AN

K

K

Chirac

Irak

Iran

Figure 35 : Exemple d'arbre de mots-clés Si pmax est la longueur de la requête phonétique la plus longue, c'est aussi la valeur de la profondeur de cet arbre. Ce dernier contiendra donc au maximum 35pmax nœuds pour un arbre parfait, c'est-à-dire dont toutes les feuilles sont à même distance de la racine. Malgré tout, obtenir un arbre parfait reviendrait à considérer comme mots-clés toutes les combinaisons phonétiques possibles de longueur pmax, ce qui est loin d'être le cas dans des

Détection de mots-clés

79

conditions réelles. Pour donner un exemple de construction concrète sur un vocabulaire de 65K mots différents couvrant un total de 262K prononciations, l'arbre associé contient seulement 145K nœuds.

3.4.2.

Arbre de mots-clés et détection exacte

En détection exacte, l'arbre de mots-clés est parcouru dès la racine en suivant la séquence phonétique à partir du phonème courant et ce jusqu'à tomber soit sur un nœud référencé comme étant la fin d'un mot-clé, soit sur un nœud non référencé, soit dans une impasse. Dans le premier cas, une détection a été effectuée; dans les autre cas, il n'existe pas de mot-clé pour la séquence considérée, on arrête alors le parcours sans lever de détections. L'algorithme correspondant est présenté en annexe D. La complexité de détection exacte d'une séquence de phonèmes dans un arbre est réduite, le nombre de comparaisons tombant au pire à 35pmax, pmax étant la longueur de la requête phonétique la plus longue et 35 le nombre de phonèmes utilisés dans le décodage acoustico-phonétique. Une première évaluation de la détection exacte de nos 151 mots-clés sur les transcriptions automatiques bruitées du corpus de test ESTER indique que 417 détections correctes sont effectuées pour 590 fausses alarmes. En d'autres termes, on obtient un taux de rappel de 55.2% et un taux de précision de 41.4%. Ce faible taux de rappel est principalement dû aux variantes phonétiques non gérées et aux erreurs classiques de décodage, c'est-à-dire les insertions, suppressions et substitutions de phonèmes, qui engendrent un nombre élevé de non-détections. Un outil permettant de passer outre ces erreurs s'avère donc indispensable si on souhaite élever le taux de rappel. L'outil classiquement utilisé pour compenser ces erreurs et autoriser des occurrences "floues" est basé sur un calcul de distance entre deux chaînes de phonèmes par un algorithme appelé Distance de Levenshtein qui est présenté au paragraphe suivant.

3.4.3.

Arbre de mots-clés et détection approximative

La distance de Levenshtein [LEV 66] est définie comme étant le nombre minimum d'opérations élémentaires (insertions, suppressions et substitutions) nécessaires pour transformer une chaîne de caractères en une autre, et est calculée par programmation dynamique [WEC 98]. Le pseudocode de l'algorithme correspondant est donné en annexe E. Un premier exemple d'utilisation de cet algorithme est proposé en Figure 36. Nous y proposons deux calculs de distance effectués sur une séquence phonétique de référence "dindon/D IN D ON" à partir des séquences "Guingamp/G IN G AN" et "doré/D O R EI". Ces deux termes ont été choisis pour leur "proximité phonétique" avec la référence. En effet, ces deux séquences phonétiques nécessitent trois substitutions pour aboutir à la séquence de référence. Par contre, la première séquence, "G IN G AN", est plus proche en termes de classes phonétiques de "D IN D ON" que la seconde, D et G étant des occlusives sonores et IN, AN et ON des voyelles nasales.

Détection de mots-clés

80

Avec cette distance, on pose l'hypothèse que tous les phonèmes sont séparés par une distance acoustique égale à 1, or ceci est une approximation grossière des distances acoustiques réelles qui peuvent exister entre ce qui est reconnu et ce qui est effectivement prononcé. En effet, l'exemple donné en Figure 36 est typique de chaînes phonétiques finalement assez proches acoustiquement, ce qui n'est pas pris en compte dans le calcul de distance. Comme on peut le voir, la chaîne phonétique "D IN D ON" se situe à la même distance de la chaîne "G IN G AN" que de la chaîne "D O R EI". Avec la valeur trois trouvée dans les deux cas, on retrouve bien les trois substitutions nécessaires au passage de la référence à l'une des deux autres séquences phonétiques.

G IN G AN

0 1 2 3 4

D 1 0 0 0 0

IN 2 0 0 0 0

D 3 0 0 0 0

ON 4 0 0 0 0

D O R EI

0 1 2 3 4

D 1 0 0 0 0

IN 2 0 0 0 0

D 3 0 0 0 0

ON 4 0 0 0 0





G IN G AN

0 1 2 3 4

D 1 1 2 3 4

IN 2 2 1 2 3

D 3 3 2 2 3

ON 4 4 3 3 3

D O R EI

0 1 2 3 4

D 1 0 1 2 3

IN 2 1 1 2 3

D 3 2 2 2 3

ON 4 3 3 3 3

Figure 36 : Exemple de calcul de similarité Pour affiner ce calcul de distance, la pondération unitaire est modifiée en appliquant aux transitions de la matrice de programmation dynamique non pas des coûts uniformes, mais des coûts plus conformes à la proximité acoustique des sons. Cette proximité est par exemple visualisable sur le triangle vocalique, présenté en Figure 37. Cette forme géographique, parfois représentée sous forme de trapèze28, représente la position approximative des organes articulatoires lors de leur production. Dans le cas présent, on y présente la proximité des voyelles selon la fréquence des deux premiers formants. Les deux premiers formants F1 et F2 sont des caractéristiques particulièrement adaptées à la description des voyelles car les voyelles sont des sons relativement stationnaires de la parole. Chaque voyelle se caractérise ainsi par son timbre spécifique, déterminé en première approximation par F1 et F2. D'après ce triangle vocalique, on distingue trois voyelles extrêmes, "I", "OU" et "A", et les cinq autres plus ou moins proches les unes des autres. 0 20 F1

I EI 40 0 60 0 80 0 3000

U OU EU O AU AI OE A

2000

F2

1000

0

Figure 37 : Triangle vocalique des voyelles du français, selon la fréquence des deux premiers formants F1 et F2 28

http://www.sfu.ca/fren270/Phonetique/trapze.htm

Détection de mots-clés

81

De plus, d'autres rapprochements entre phonèmes peuvent être effectués en particulier par leur appartenance aux classes phonétiques présentées dans le Tableau 1 : voyelles, voyelles nasales, semi-consonnes, liquides, nasales, fricatives sourdes, fricatives sonores, occlusives sourdes, occlusives sonores, silences. Le calcul de la distance est donc enrichi par l'apport d'informations supplémentaires. Ces dernières sont extraites de la matrice de confusion calculée sur les résultats obtenus avec notre décodeur acoustico-phonétique sur notre corpus de test, indiquant les fréquences relatives à chaque phonème et chaque type d'opération. Cette matrice a été calculée grâce au module HResults de la boîte à outils HTK [YOU 05] qui effectue un alignement automatique entre une séquence résultat et sa référence afin de calculer les erreurs de substitutions, d'insertions et de suppressions. L'analyse de cette matrice résultat permet de convertir ces valeurs fréquentielles en probabilités. Dans un souci de visibilité et de manipulation, ces dernières sont ensuite simplifiées et normalisées entre 0 et 10, 0 représentant une égalité parfaite entre 2 phonèmes et 10 représentant un facteur d'erreur élevé, c'est-à-dire une erreur considérée comme grave, à l'image d'une substitution inter-classes phonétiques (ex : "O"  "D"). Un extrait de cette matrice de confusion est donné en Figure 38. L'algorithme de la distance de Levenshtein modifiée est explicité en annexe E.

AN D EI G IN O ON R suppressions AN 0 10 2 10 3 2 1 2 2.9 D 10 0 10 1 10 10 10 2 2.3 EI 2 10 0 10 2 3 3 10 2.4 G 10 1 10 0 10 10 10 10 3 IN 3 10 2 10 0 3 2 10 3 O 2 10 3 10 3 0 1.5 10 3 ON 1 10 3 10 2 1.5 0 10 3 R 2 2 10 10 10 10 10 0 1.9 insertions 3.4 2.7 2.6 4.4 3.5 4.2 3.5 2.3 Figure 38 : Extrait d'une matrice de confusion phonétique Une fois ce nouvel algorithme instancié, recalculons les matrices de programmation dynamique avec ces nouvelles données, toujours pour obtenir les distances entre les séquences "D IN D ON", "G IN G AN" et "D O R EI". La Figure 39 présente ces nouvelles matrices.

ins D IN D ON ins D IN D suppr 2.3 5.3 7.6 10.6 suppr 2.3 5.3 7.6 0 0 G 4.4 4 6.3 9.3 D 2.7 3 5.3 1 0 IN 7.9 4.5 O 6.9 4.2 5.3 1 3.3 6.3 3 G 12.3 8.9 5.4 2 5 R 9.2 6.5 5.3 5 AN 15.7 12.3 8.8 5.4 EI 11.8 9.1 7.5 7.6 3 Figure 39 : Exemple de calcul de distance phonétique modifiée

ON 10.6 8.3 8.3 8 8

Cet exemple montre que cette pondération plus judicieuse des erreurs permet de mieux différencier les séquences phonétiques. En effet, dorénavant le score associé à la distance

Détection de mots-clés

82

entre les séquences phonétiques "D IN D ON" et "D O R EI" est de 8 alors qu'elle n'est que de 3 pour "D IN D ON" et "G IN G AN", indiquant leur plus grande proximité phonétique. Cette définition désormais terminée, voyons comment ce calcul de distance est appliqué dans la détection de mots-clés.

La distance de Levenshtein appliquée à la détection de mots-clés Dans notre cas, on souhaite calculer la distance entre une requête phonétique i de xi phonèmes et des séquences extraites de la transcription dont la taille oscille autour de xi, au cas où des phonèmes aient été insérés ou supprimés. Les substitutions n'ont pas d'influence sur la taille des séquences. Sachant qu'environ trois phonèmes sur quatre sont correctement reconnus par notre moteur de transcription phonétique, nous avons fixé, pour une requête de xi phonèmes, une taille minimale d'admission pour les séquences testées à 0.75*xi et une taille maximale à 1.5*xi. Pour une séquence de 4 phonèmes comme "I R A K", nous nous intéresserons donc aux scores de similarité obtenus pour des séquences-tests de tailles comprises entre 3 et 6 phonèmes, correspondant aux zones grisées de la matrice de programmation donnée comme exemple en Figure 40. Sur cet exemple, on effectue un calcul de distance phonétique à deux positions différentes sur une transcription bruitée "ON N I R O K P OU R" correspondant à la phrase prononcée "En Irak pour…". De façon à pouvoir appliquer un même seuil quelque soit la taille de la requête, le score réellement pris en compte est normalisé par la taille de la requête. Cette normalisation permet de diluer l'erreur totale sur toute la séquence : une insertion aura donc moins d'incidence pour une requête de 10 phonèmes que pour une requête de 4 phonèmes. Par exemple, pour "I R A K", la taille de la requête étant de 4 phonèmes, le score sera divisé par 4.

ins I R A K

sup 0 2.3 4.2 6.4 8.7

ON 3.5 3 4.9 6.2 8.5

N 6.5 6 5 7.2 9.2

I 9.3 6.5 7.8 7 9.3

R 11.6 8.8 6.5 8.7 10

O 15.8 13 10.7 8.5 10.8

K 18.8 16 13.7 11.5 8.5

ins I R A K

sup 0 2.3 4.2 6.4 8.7

I 2.8 0 1.9 4.1 6.4

R 5.1 2.3 0 2.2 4.5

O 9.3 6.5 4.2 2 4.3

K 12.3 9.5 7.2 5 2

P 15.3 12.5 10.2 8 5

OU 18.7 15.9 13.6 11.4 8.4

Figure 40 : Exemple de calcul approximatif La Figure 40 montre qu'en fixant un seuil de détection à 2/4=0.5, on sera à même de détecter correctement le mot-clé "Irak" dans le cas d'un décodage faiblement bruité. Evidemment, pour des seuils trop élevés, ces approximations permettront d'augmenter substantiellement le taux de rappel mais engendreront également de nombreuses fausses alarmes.

Détection de mots-clés

83

Ce calcul de distance à présent défini, voyons comment l'appliquer dans la détection de plusieurs mots-clés structurés en arbre.

Détection approximative dans un arbre de mots-clés Utiliser un arbre de mots-clés pose un problème majeur pour la détection approximative : la perte d'information concernant la longueur de la détection potentielle. En effet, en détection exacte le parcours de l'arbre n'est pas ambigu, chaque séquence phonétique du flux correspondant à un chemin unique dans l'arbre. Par contre, en détection approximative, le fait de ne pas connaître la longueur de la (ou des) détection(s) ciblée(s) nécessite de s'engager "à l'aveugle" dans toutes les branches de l'arbre dès la racine. Ceci amoindrit donc, au niveau de la complexité, l'intérêt d'utiliser une structure en arbre pour décrire la liste de mots-clés. Un exemple de parcours d'arbre approximatif basé sur la distance de Levenshtein est donné en annexe F. En gardant à l'esprit que nous souhaitons pouvoir travailler à terme sur plusieurs dizaines de milliers de mots-clés, il s'avère nécessaire d'éviter ce parcours intégral de l'arbre et donc d'appliquer des stratégies d'élagage. En fait, la complexité provient principalement des premiers pas dans l'arbre à partir de la racine : les erreurs pouvant toutes se situer au début des requêtes, il est nécessaire de parcourir tous les chemins dès le départ, ce qui entraîne dans tous les cas un parcours potentiellement intégral de l'arbre. On s'intéresse dans la section 3.4.4 à une méthode permettant d'éviter d'emprunter certains chemins et ainsi de réduire la complexité de la recherche approximative.

Premiers résultats de détection approximative A présent que nous avons tous les outils nécessaires à l'évaluation de ce premier système, exposons les premiers résultats de détections approximatives de notre liste de 151 noms de pays dans les 7h30 de transcriptions bruitées du corpus d'évaluation Test_ESTER. La liste de mots est instanciée dans un arbre de mots-clés tels que décrit aux paragraphes précédents. Les transcriptions phonétiques sont lues phonème après phonème et un parcours de l'arbre de mots-clés est effectué pour chacun, comme exposé en annexe F. Chaque phonème d'une transcription est donc considéré l'un après l'autre comme le premier phonème d'une nouvelle séquence phonétique.

Exact Seuil=0.1 Seuil=0.2 Seuil=0.3 Seuil=0.4 Seuil=0.5 Seuil=0.6 Seuil=0.7 Seuil=0.8

NB CORRECTS 417 430 454 488 542 571 597 614 617

NB FAUSSES ALARMES 590 611 713 1258 2494 5938 7709 13554 25646

Figure 41 : Détections approximatives en termes de taux de rappel/précision

Détection de mots-clés

84

La Figure 41 récapitule en détail le nombre de mots-clés correctement détectés face au nombre de fausses alarmes, et ce en fonction d'un seuil de tolérance imposé sur l'approximation et variant de 0 à 0.8, 0 correspondant à une détection exacte et 0.8 correspondant à une tolérance large. Rappelons que le nombre total de mots à détecter s'élève à 756. Cette figure présente également la courbe du taux de précision en fonction du taux de rappel. Comme attendu, proposer un assouplissement des détections conduit à une augmentation du taux de rappel, pouvant aller jusqu'à un gain de presque 30 points, mais également à une réduction drastique du taux de précision : on trouve davantage de détections correctes, ce qui prouve l'intérêt de la méthode, mais le nombre de fausses alarmes accroît. En conclusion, l'application directe de cette distance est à double tranchant : même si elle permet de détecter davantage de mots, elle ne permet certainement pas de rendre un système de détection de mots-clés sur des transcriptions phonétiques plus robuste. En examinant les résultats de plus près, on s'aperçoit également que l'intérêt de cette distance phonétique évolue en fonction de la taille des mots-clés à détecter. En effet, la Figure 42 présente les résultats de détection de deux mots de tailles différentes selon la valeur du seuil de tolérance fixé : le mot "France", constitué des quatre phonèmes "F R AN S" et le mot "Afghanistan", constitué des neuf phonèmes "A F G A N I S T AN". Les résultats y sont indiqués en termes de nombre de détections correctes et en nombre de fausses alarmes. On y remarque que le mot court est pollué par de nombreuses fausses alarmes même en détection exacte, et que le calcul de distance apporte principalement une hausse significative de ces fausses alarmes. Contrairement à cela, le mot long, plus susceptible d'avoir subi des erreurs lors de la phonétisation, ne peut être détecté correctement qu'en ajoutant de l'approximation. De plus, aucune fausse-alarme n'est à déplorer avant l'application d'un seuil de 0.5. Cet exemple concret met donc en évidence l'importance de ce calcul de distance phonétique, au moins pour la détection des mots longs. "Afghanistan"

"France" 25

1000 800

OK

600

FA

400 200

Nb détections

Nb détections

1200

20 15

OK

10

FA

5 0

0 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Valeur du seuil de tolérance

0.8

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Valeur du seuil de tolérance

Figure 42 : Détection de mots-clés en fonction du seuil de tolérance (OK=nombre de détections correctes, FA=nombre de fausses alarmes) Pour terminer, un autre inconvénient majeur de l'application de cette distance phonétique dynamique est la complexité de calcul : plus on tolère d'erreurs, c'est-à-dire plus on augmente le seuil, plus lente est la détection. Typiquement, en considérant un système complet "DAP/détection de mots-clés", la partie détection appliquée à plusieurs dizaines de milliers de mots serait bien trop lente pour tenir un processus temps réel. La section suivante propose une méthode dont le but est de réduire cette complexité.

Détection de mots-clés

3.4.4.

85

Une méthode "court-circuit" pour la détection approximative

La complexité de ce système proposant une détection approximative des requêtes par programmation dynamique provient principalement d'un calcul de distance phonétique propagée potentiellement dans toutes les branches de l'arbre et ce, dès la racine. L'idée maîtresse de cette méthode est de court-circuiter la racine de l'arbre par le biais de pointeurs indiquant des nœuds privilégiés en fonction de la séquence phonétique extraite du flux. En d'autres termes, on permet ainsi une sélection rapide d'un sous-ensemble de l'arbre. Ces pointeurs sont affectés par une simulation d'application des erreurs phonétiques courantes sur les premiers niveaux de l'arbre de mots-clés. Comme nous l'avons déjà mentionné, les trois types d'erreurs phonétiques sont : les substitutions, les insertions et les suppressions. En simulant l'injection de ces erreurs dans l'arbre, on espère réduire la complexité en limitant la recherche aux branches les plus proches du flux phonétique analysé. Le moteur de transcription phonétique exposé dans le chapitre précédent a été évalué comme étant capable de reconnaître correctement environ trois phonèmes sur quatre. De plus, en faisant l'hypothèse que les mots-clés à détecter seront tous composés d'au moins trois phonèmes, nous proposons de construire nos pointeurs comme des triplets de phonèmes ayant été au préalable soumis aux trois types d'erreurs phonétiques. Nous verrons dans ce paragraphe la manière de construire ces pointeurs à partir de l'arbre de mots-clés en suivant pas-à-pas la gestion de chaque type d'erreur : substitution, suppression puis insertion. La gestion des substitutions Le premier type d'erreur mentionné dans la construction des pointeurs est la substitution, qui représente d'après Robinson [ROB 94] environ 75% des erreurs totales pour la plupart des moteurs de transcription phonétique. Pour gérer ce type d'erreur, nous avons choisi tout d'abord de réduire l'espace phonétique de 35 phonèmes en 13 classes, d'après les substitutions les plus fréquentes commises par notre moteur de transcription. Cette répartition est exposée dans le Tableau 11. Grâce à elle, nous comptons rendre flous les contours de chaque phonème en le confondant avec tous les phonèmes de sa classe et ainsi autoriser les substitutions les plus fréquentes.

N° Phonèmes Classe associée 1 Silences (sil, sp,ii,bb) # 2 A / AN / ON / IN / AU / O A 3 I/Y/U I 4 UY u 5 EU / OE E 6 EI / AI e 7 OU / W W 8 L/R R 9 NG / M / N N 10 F / S / CH H 11 V/Z/J Z 12 P/T/K K 13 B/D/G G Tableau 11 : Répartition des 35 phonèmes en classes de substitution

Détection de mots-clés

86

Pour construire les pointeurs ne prenant en compte que l'erreur de substitution, il suffit donc de lire les trois premiers nœuds de chaque branche de l'arbre de mots-clés puis de leur affecter la classe associée. Il en résulte des triplets de substitution, utilisés pour pointer les nœuds de niveau 3 correspondants, comme illustré en Figure 43.

HIR

IRA CH

I

I

R

R A

A

AN

K

K

Chirac

Irak

Iran

Figure 43 : Exemple de court-circuit en début de parcours approximatif avec gestion des substitutions Sur cet exemple, après lecture des premiers niveaux de l'arbre, deux pointeurs "HIR" et "IRA" ont été créés, permettant de diriger d'office le flux phonétique dans l'une ou l'autre des branches. Le flux phonétique aura bien entendu lui aussi subit au préalable une conversion de ses phonèmes en ces 13 classes phonétiques.

La gestion des suppressions Le second type d'erreur, la suppression, supprime des phonèmes dans le flux. Cette opération est également simulable dans la construction de nos pointeurs. En effet, en prenant comme hypothèse la reconnaissance correcte de trois phonèmes sur quatre et en faisant la seconde hypothèse que deux phonèmes supprimés entre deux phonèmes correctement reconnus est très rare, nous proposons un enrichissement des triplets pointeurs. L'enrichissement proposé est la génération de toutes les combinaisons possibles de 3 phonèmes parmi un maximum de 5 phonèmes à partir de la racine de l'arbre, avec une seule omission de phonème autorisée, comme illustré par la Figure 44. La gestion de la substitution y est déjà intégrée.

Détection de mots-clés

87

IRAK  IRA  IRK  IAK

HIRAK  HIR  HIA  HRA  HRK

CH

I

I

R

R

A

A

IRA  IRA

AN

K

K

Chirac

Iran

Irak

Figure 44 : Génération des combinaisons "3 phonèmes sur 5" pour la suppression Remarquons que les mots-clés dont la séquence phonétique contient moins de 5 phonèmes ne permettent pas de générer les 4 pointeurs gérant les suppressions, par manque de données. Il ne sera donc toléré aucune suppression pour un mot de trois phonèmes comme "Iran". Au final l'arbre et ses courts-circuits se présentent comme indiqué en Figure 45.

HIR

IRA CH

HIA

I

R

R

HRA

A

AN IRK

A HRK

I

K IAK

K

Chirac

Irak

Iran

Figure 45 : Exemple de courts-circuits gérant substitutions et suppressions La création de ses pointeurs permettra donc de lever potentiellement une détection du mot "CH I R A K" à la rencontre dans le flux des séquences de trois phonèmes suivants : "CH I R", "CH I A", "S I R", "S I A"…

Détection de mots-clés

88

La gestion des insertions L'exemple de la Figure 46 montre l'impact d'une insertion d'un phonème "O" dans un flux phonétique où vient d'être prononcé la phrase "En Irak, il …". L'emplacement de cette insertion empêche toute détection directe du mot Irak.

AN

N

I

A

N N

I I I

O

O O O

R

R R R

A

K

I

L

A A A

K K I K I R Figure 46 : Exemple d'insertion d'un phonème "O" dans le flux phonétique L'insertion de phonèmes est le problème dual de la suppression. Une première solution serait donc de générer tous les pointeurs enrichis de toutes les insertions possibles et variées à partir des 13 classes de substitution proposées, mais il existe une solution plus subtile. En effet, il suffit d'effectuer la génération des combinaisons "3 phonèmes sur 5" présenté cidessus non pas pour la construction des pointeurs mais directement lors de la lecture du flux phonétique. Au final ce type d'erreur n'interviendra donc pas dans la construction des pointeurs courts-circuits, mais directement à la lecture du flux phonétique. Comme illustré en Figure 47 ou un phonème "S" a été inséré dans la séquence "I R A K", la génération de ces combinaisons permettra tout de même d'entrer dans la branche relative au mot "Irak". Flux phonétique : " … Jacques Chirac est en Irak … " sil J AI K CH I R A K AI T ON N I R S A K sil Réduction en classes phonétiques

# Z e K H I R A K e K A N I R H A K #

#Ze #ZK #eK #eH

ZeK ZeH ZKH ZKI

eKH eKI eHI eHR

KHI KHR KIR KIA

IRH IRA IHA IHK

RHA RHK RAK RA#

HAK HA# HK#

AK#

Figure 47 : Gestion des insertions par génération des combinaisons 3/5 sur le flux

Détection de mots-clés

89

Fonctionnement général Le fonctionnement général d'un système comprenant la gestion efficace des erreurs de substitution, suppression et insertion, s'effectue en résumé selon quatre étapes : 1)

Phase d'initialisation : construction de l'arbre et des pointeurs courtscircuits par simulation des erreurs de substitution et de suppressions;

2)

Parcours du flux : pour chaque phonème rencontré, générer sur un horizon de cinq phonèmes les quatre combinaisons de trois phonèmes sur cinq par simulation des erreurs de substitutions et d'insertions;

3)

Pour chaque triplet issu du flux : rechercher les nœuds de l'arbre associés;

4)

Pour chaque nœud trouvé : reconstruire la séquence de base en remontant à la racine puis opérer une recherche approximative uniquement dans le sous-arbre correspondant; puis lever des détections si le mot-clé rencontré a un score inférieur au seuil de tolérance fixé.

Résultats La Figure 48 présente les résultats de l'évaluation d'une détection approximative des 151 mots-clés basée sur ce système basé sur une architecture arborescente court-circuitée par l'utilisation de triplets de phonèmes. Les performances de ce système sont données en termes de taux de rappel et de précision sur la courbe "ARBRE_CC", en comparaison à la détection approximative sans court-circuit notée "ARBRE". Ces courbes sont construites en faisant varier le seuil de tolérance sur la distance de 0 à 0.8. On y retrouve une évolution similaire, c'est-à-dire une augmentation du taux de rappel lorsque que le seuil de tolérance augmente, malheureusement accompagnée d'une réduction conséquente du taux de précision. Néanmoins, on remarque que l'effet positif des approximations est plus réduit sur ce nouveau système, étant donné que son fonctionnement général contraint davantage les détections.

TAUX DE PRECISION (%)

45

0.0 0.1 0.1 0.2 0.2 35 0.3 40

30

0.3 0.4

25

A RBRE_CC

20

0.5 0.6 0.7 0.8

15 10 5 0 50

60

70

A RBRE

0.4 0.5

0.6 0.7 0.8

80

90

100

TAUX DE RAPPEL (%)

Figure 48 : Evaluation de la détection approximative de mots-clés dans un arbre avec courts-circuits

Détection de mots-clés

90

D'après les tests effectués, nous pouvons indiquer qu'appliquer un seuil de tolérance de 0.5 sur la détection multiplie par 15 le temps d'exécution par rapport à une détection exacte si on n'applique aucune gestion efficace des erreurs de phonétisation. Avec la méthode définie des courts-circuits, le temps d'exécution n'est multiplié que par 5 par rapport à une détection exacte. Ces indications sont données en faisant abstraction du temps de décodage acousticophonétique.

3.4.5.

Bilan

Dans cette partie, nous avons exposé un premier moteur de détection de mots-clés basé sur une organisation des mots-clés en arbre autorisant une gestion des variantes de prononciations et des erreurs de phonétisation grâce à un calcul de distance phonétique. Une première évaluation permet de conclure que cette structure arborescente est adaptée à notre objectif de gestion de plusieurs dizaines de milliers de mots, mais à condition de se limiter à une détection "exacte". Comme suggéré dans la littérature, l'application du calcul de distance phonétique est un apport très important pour la détection de mots-clés. En effet, cette technique permet, avec une tolérance aux erreurs élevée, de gagner plus de 20 points au niveau du taux de rappel. De plus, son intérêt est notable en particulier au niveau des mots longs. Néanmoins, il reste un écueil fondamental inhérent à ce calcul de distance : plus le seuil de tolérance est élevé, plus le nombre de fausses alarmes augmente. Comme on souhaite aboutir à un système robuste quelque soit le type de signal de parole, nous préférons laisser de côté cette détection "approximative" pour privilégier une construction enrichie du dictionnaire de prononciations des mots-clés afin de fixer un fonctionnement en détection exacte uniquement. Concernant la complexité supplémentaire due au calcul de distance phonétique, nous avons exposé dans cette section une méthode de réduction du temps de calcul. Les évaluations insuffisantes ne nous permettent pas néanmoins de conclure quant à son utilisation efficace dans le cadre d'une liste de plusieurs dizaines de milliers de mots-clés.

Détection de mots-clés

91

3.5. Un dictionnaire enrichi pour une détection exacte Comme mentionné précédemment, les systèmes de reconnaissance vocale à grand vocabulaire gèrent classiquement les phénomènes de coarticulation grâce aux triphones comme modèles acoustiques et à l'application du critère de maximum de vraisemblance. Avec une approche phonétique, il est nécessaire de transcrire phonétiquement dans le dictionnaire tout ce qui est dit, et surtout ce qui peut être dit. En définitive, le but du dictionnaire est de pallier à toutes les éventualités que ce soit en termes de prononciations, de coarticulation, de liaisons ou autres. Malgré les règles de prononciation globalement précises du français, les prononciations de mots subissent de nombreuses variations que devra gérer notre dictionnaire. Pour la génération de ce dictionnaire de prononciations multiples, nous utilisons le phonétiseur intégré dans BARATINOO version 6.3, le système de synthèse vocale d'Orange Labs. Cet outil permet, lors de la phonétisation des mots-clés, de générer les prononciations multiples concernant quatre types de variantes de prononciation : -

-

les différentes prononciations d'un même mot en fonction de son contexte grammatical ou sémantique; par exemple, la prononciation du mot "est" varie en fonction de son sens et est résolue par son contexte grammatical; la prononciation du mot "fils" est quant à elle résolue par son contexte sémantique; les variantes inhérentes au locuteur, c'est-à-dire l'accent régional ou les choix de prononciation; ex : "lait" prononcé "L AI" ou "L EI"; les liaisons, c'est-à-dire la prononciation occasionnelle d'une consonne entre deux mots; la coarticulation, c'est-à-dire le phénomène physique entraînant une prononciation différente d'un phonème en fonction de ceux qui l'entourent;

Dans la suite, nous nous intéresserons plus particulièrement à l'impact de la coarticulation dans la génération des prononciations multiples. Tout d'abord, revenons à l'origine de ces différences de prononciation. Une langue est une suite de sons enchaînés contenant relativement peu d'interruptions. Lors de la production de ces sons, le locuteur tend naturellement à anticiper la prochaine articulation plutôt qu'à isoler les sons. Cette anticipation modifie légèrement la qualité des sons, tout en permettant de conserver un message intelligible. Martinet [MAR 05] appelle ce phénomène "l'économie des changements linguistiques", économie qui oppose l'inertie des organes phonateurs à la discrimination des sons et la compréhension d'un message. La phonétique combinatoire, c'està-dire l'étude de l'interaction des sons, permet de décrire les variations de prononciations issues de cette opposition. La coarticulation y est décrite comme un phénomène intervenant quand les caractéristiques articulatoires (mouvements des lèvres, les rapprochements et éloignement périodiques des cordes vocales, etc) de réalisations phoniques sont observables sur des segments d'autres éléments contigus dans la chaîne parlée. Le degré de coarticulation dépend par exemple de l'accent, du débit, ou de l'environnement phonique. Il existe plusieurs phénomènes de coarticulation : -

l'assimilation : propension d'un phonème à prendre les caractéristiques d'un phonème voisin (voisement, dévoisement, nasalisation, …) la dilation : modification des caractéristiques d'un phonème due à l'anticipation d'un autre phonème non contigu;

Détection de mots-clés

-

92

la différenciation : accentuation d'une différence entre deux phonèmes contigus; la dissimilation : accentuation d'une différence entre deux phonèmes voisins mais non contigus; l'interversion : interversion de phonèmes contigus; la métathèse : interversion de phonèmes voisins mais non contigus; l'épenthèse : insertion de phonème; l'élision, ou syncope : suppression de phonème.

Ces phénomènes peuvent être décrits comme étant de deux types : par anticipation, dite régressive, et par persistance, dite progressive. Un panorama de ces différents phénomènes de coarticulation est présenté dans le Tableau 12. PHENOMENE Assimilation par voisement (régressive)

Phénomènes d'assimilation

Assimilation par dévoisement (régressive) Assimilation par nasalisation

Dilation (sons éloignés)

Phénomènes de différenciation Changement de l'ordre des sons

Différenciation (sons en contact) Dissimilation Interversion (sons en contact) Métathèse (sons éloignés)

Insertion d'un son

Epenthèse

Effacement d'un son

Elision / Syncope Divers, erreurs fréquemment rencontrées

EXEMPLES "Cap-Vert" : K A P V AI R  K A B V AI R "paquebot" : P A K B O  P A G B O "tête-bêche" : T AI T B AI CH  T AI D B AI CH "chef de" : CH AI F D EU  CH AI V D EU "Israël" : I S R A AI L  I Z R A AI L "absent" : A B S AN  A P S AN "Kingston" : K I N G S T O N  K I N K S T O N "robe verte" : R O B V AI R T  R O P V AI R T "médecin" : M EI D S IN  M EI T S IN "je crois" : J K R W A  CH K R W A "pendant" : P AN D AN  P AN N AN (double) "Pentecôte" : P AN T K O T  P AN N K O T "vingt-deux" : V IN T D EU  V IN N D EU "définition" : D EI F I N I S Y ON  D EI F EI N I S Y ON (progressive) - "surtout" : S U R T OU  S OU R T OU (régressive) - "disséminer" : D I S EI M I N EI  D I S I M I N EI (double)

-

- "dehors" : D EU O R  D EI O R - "venimeux" : V EU N I M EU  V L I M EU - "aéroport" : A EI R O P O R  A R EI O P O R - "séchoir" : S EI CH W A R  CH EI S W A R - "arc-boutant" : A R K B OU T AN  A R K EU B OU T AN - "ours polaire" : OU R S P O L AI R  OU R S EU P O L AI R - "deux secondes" : D EU S EU G ON D  D EU Z G ON D - "question" : K AI S T Y ON  K AI S Y ON - "Dominique" : D O M I N I K  D EU M I N I K - "dommage" : D O M A J  D EU M A J - "national" : N A S Y O N A L  N A S Y EU N A L

Tableau 12 : Phénomènes de coarticulation29 29

Tableau inspiré de l'introduction à la linguistique proposée sur le site de la Simon Fraser University (http://www.sfu.ca/fren270/Phonetique/)

Détection de mots-clés

93

Outre ces variantes, d'autres choix ont été effectués à l'étude des substitutions phonétiques les plus fréquentes, comme la fusion des voyelles ouvertes/fermées (EI/AI, AU/O, EU/OE). Ces fusions de phonèmes sont également appliquées aux transcriptions phonétiques. Dans un même ordre d'idée, d'autres erreurs récurrentes du moteur de DAP ont été ajoutées, à l'instar de la fusion de voyelles adjacentes (A EI R O P O R  EI R O P O R). En plus de ces phénomènes de coarticulation, il existe d'autres variantes de prononciation propres à la méconnaissance du langage. Dans son Recueil des couacs ordinaires, Jacques Rozenblum [ROZ 04] passe en revue de nombreux travers de la langue et montre l'étendue des erreurs commises par nos concitoyens qu'il faudra également intégrer à notre dictionnaire. En voici quelques exemples : -

les malentendus de prononciations; ex: abasourdir qui se prononce abazourdir et non abassourdir; les prononciations locales de noms propres; ex : chamonix avec ou sans x; les noms propres étrangers; ex : 6 manières de prononcer Gorbatchev : gorbatchève ; gorbatchove ; gorbatcheff ; gorbatchoff ; guerbatchève ; guerbatchoff; les erreurs de liaisons; ex : dos-à-dos / les z'haricots;

Ces variantes prises en compte, un nouveau dictionnaire de prononciations multiples relatif à notre liste de 151 mots-clés est construit. Au total, le nombre de prononciations total s'élève désormais à 353. Un extrait en est donné dans le Tableau 13, la totalité étant donnée en annexe C. Cameroun K A M R OU N EU Cameroun K A M EU R OU N EU Cameroun K A M EU R OU N Cameroun K A M R OU N Canada KANADA Cap-Vert K A B V AI R EU Cap-Vert K A B V AI R Cap-Vert K A P V AI R Cap-Vert K A P V AI R EU Tableau 13 : Extrait de la liste de 151 mots-clés avec variantes de prononciations

Evaluation Une évaluation réutilisant l'organisation des mots-clés en arbre a été effectuée par la détection de ces 353 prononciations dans les transcriptions phonétiques bruitées du corpus de test ESTER. Le résultat final est la détection correcte de 428 mots pour 605 fausses alarmes, c'est-à-dire un taux de rappel de 56.6% pour 41.4% de précision. Avec ce nouveau dictionnaire enrichi, on détecte donc "seulement" 11 mots corrects supplémentaires par rapport au dictionnaire basique, ainsi que 15 nouvelles fausses alarmes. Ce résultat correspond grossièrement à effectuer une détection approximative avec un seuil de tolérance fixé à 0.1. On peut en conclure que les quelques 328 non-détections sont dues non pas à des variations de prononciations, mais uniquement à des erreurs de décodage. Sachant que nous

Détection de mots-clés

94

souhaitons nous affranchir du calcul de la distance phonétique, nous prendrons ce taux de rappel comme limite haute de référence. Après avoir étudié des méthodes dédiées à l'augmentation du taux de rappel, nous nous intéressons maintenant à l'autre problème inhérent à la détection de mot-clés, à savoir la réduction du nombre de fausses alarmes.

Détection de mots-clés

95

3.6. Taux de précision et expansion phonétique En évaluant la détection de notre dictionnaire sur les transcriptions phonétiques propres du corpus de test ESTER, on obtient logiquement un taux de rappel de 100%. Néanmoins, on atteint seulement 48.2% de précision, c'est-à-dire que même si toutes les occurrences présentes dans le corpus de test sont correctement détectées, chaque détection levée n'a qu'environ une chance sur deux d'être correcte. Cette faible précision s'explique notamment par les nombreuses fausses alarmes provenant d'ambigüités sur les requêtes courtes, à l'image du mot "Irak" inclus dans le mot "Chirac". L'objectif de cette section est de proposer quelques techniques permettant d'augmenter le taux de précision et rendre ainsi le système de détection plus robuste. Rappelons pour commencer que, dans les systèmes de reconnaissance de la parole continue, ce sont les modèles de langage N-grams qui permettent de lever les ambigüités sur les contextes sémantiques. Outre ce cas particulier, dans la littérature, peu de recherches ont été menées sur la robustesse des détections de requêtes phonétiques dans un flux de phonèmes. Néanmoins, en mettant en parallèle les techniques de détection de mots-clés, de recherche de termes parlés, de recherche automatique dans des documents parlés, ou encore de reconnaissance automatique de la parole, quelques méthodes émergent. En dehors des multi-requêtes proposées à un utilisateur lambda pour affiner sa recherche, des techniques issues de la recherche automatique dans des documents parlés peuvent s'appliquer. Wechsler [WEC 98] évoque notamment des travaux d'expansion automatique des requêtes émergeant de la recherche textuelle effectués par Rocchio [ROC 71] ou Salton et Buckley [SAL 90]. Cette expansion nécessite l'analyse statistique d'un corpus textuel supplémentaire. Dans le cas d'une détection de mots-clés, il s'agit donc d'extraire d'un tel corpus des requêtes associées, ou des éléments informatifs pour affiner la détection. En 2008, RAPSODIS [CER 08], une Action de Recherche Collective menée par l'INRIA et le LORIA, propose d'améliorer les systèmes de reconnaissance de la parole actuels par l'intégration d'informations syntaxiques et/ou sémantiques. L'utilisation de grammaires, modèles de langage améliorés, synonymes ou hyperonymes sont des pistes envisageables dans ce projet, et peuvent tout à fait se prêter au jeu de la détection de mots-clés pour désambigüiser certaines zones de parole. Dans cette section, nous détaillerons les erreurs récurrentes de nos évaluations avant d'exposer quelques pistes de recherche. Deux pistes basées sur une expansion du contexte phonétique seront ensuite plus particulièrement creusées : une expansion courte permettant d'augmenter le taux de précision sans altérer significativement le taux de rappel, puis une expansion longue guidée par l'application de grammaires et privilégiant la qualité des détections à la quantité.

Détection de mots-clés

3.6.1.

96

Aperçu des erreurs récurrentes

Dans le Tableau 14 sont récapitulées les erreurs les plus fréquentes lors de la détection de mots-clés dans les transcriptions propres. On y constate qu'à eux seuls trois termes, "France", "Amérique" et "Irak" génèrent environ 55% des fausses alarmes.

Mots-clés Nb présents Nb corrects Nb fausses alarmes France 207 207 216 Amérique 10 10 126 Irak 89 89 103 autres 450 450 367 Tableau 14 : Details des résultats de détection sur transcriptions exactes Ces erreurs viennent principalement de zones de détections ambigües dues à des requêtes incluses dans des mots plus longs. La requête "F R A N S", par exemple, est incluse non seulement dans le nom de pays "France" mais également dans les mots "François", "français" ou encore dans la séquence de mots "offrant ses services". Les nombreuses fausses alarmes générées par la détection du mot "Amérique" indique néanmoins que ce phénomène n'est pas spécifique aux mots très courts. Pour ce mot, les fausses alarmes sont malgré tout considérées comme moins graves, car constituées majoritairement des formes dérivées du type "américain" ou américaine". Des méthodes permettant de lever ces ambigüités phonétiques méritent donc d'être testées de façon à augmenter le taux de précision tout en conservant un taux de rappel stable.

3.6.2.

Améliorations proposées

Plusieurs pistes susceptibles d'augmenter le taux de précision ont été envisagées au cours de nos travaux. Nous les récapitulons dans cette liste non exhaustive.

Recherche des inclusions Cette technique consiste à établir, à partir d'une requête phonétique et d'un grand dictionnaire de prononciations multiples, la liste des mots incluant la requête. Rechercher en parallèle le mot-clé et cette nouvelle liste de mots plus longs permettrait ainsi de filtrer certaines erreurs. En reprenant notre exemple habituel, le fait de rechercher le mot "Chirac" en parallèle du mot "Irak" permettrait d'empêcher les fausses alarmes correspondantes.

Recherche de thèmes ou mots associés Il s'agit ici de "thématiser" la détection en associant chaque mot-clé à des mots du même paradigme (Ex : Irak / Guerre / Bagdad / Saddam Hussein / …). Le fait de lever plusieurs détections d'une même sphère thématique sur un horizon de quelques secondes

Détection de mots-clés

97

permettrait donc de pondérer la robustesse des détections. Nous avions un temps envisagé de baser nos travaux sur ceux de Mathias Rossignol [ROS 05], concernant l'extraction automatique de classes de mots-clés thématiques. Cette piste n'a pas été poursuivie, car nous avons privilégié une dernière amélioration : l'expansion des requêtes par contexte phonétique.

Expansion des requêtes par contexte phonétique On a constaté que l'ambigüité générant les fausses alarmes provenait souvent de séquences phonétiques trop courtes, c'est-à-dire d'un manque d'information. On propose donc d'allonger certaines séquences phonétiques à l'aide de leurs contextes droits et/ou gauches les plus fréquents. Ces contextes, en l'occurrence quelques phonèmes, seraient extraits d'un large corpus de transcription puis ajoutés à la séquence phonétique initiale pour former une nouvelle prononciation étendue. Ces nouvelles prononciations, plus longues et donc plus robustes, prendraient le pas sur les requêtes courtes et engendreraient moins de fausses alarmes. Cette technique se rapproche de l'application des modèles de langage probabilistes classiques permettant de contraindre l'apparition des mots en fonction de ses prédécesseurs lors de la reconnaissance de la parole continue. Néanmoins, l'utilisation de grammaires comme nous l'entendons ici est uniquement déterministe, c'est-à-dire sans apport statistique. Dans la suite de cette partie, nous nous concentrons principalement sur cette dernière proposition d'expansion des requêtes par contexte phonétique. Il en découle deux méthodes susceptibles d'améliorer la détection. Tout d'abord, nous avons étudié la possibilité d'allonger les requêtes par l'ajout de quelques phonèmes autour des requêtes de façon à améliorer le taux de précision tout en conservant un taux de rappel stable. Ensuite, nous avons analysé les limites d'une telle expansion en permettant une génération automatique de contexte phonétique long par l'application d'une grammaire.

3.6.3.

Expansion des requêtes par contexte phonétique

Sur la Figure 49, on indique le pourcentage de fausses alarmes obtenu lors de la détection des 151 mots-clés en fonction de la taille des requêtes phonétiques.

% de fausses alarmes

70 60 50 40 30 20 10 0 3

4

5

6

7

>8

Nombre de phonèmes par requêtes

Figure 49 : Pourcentage de fausses alarmes en fonction de la taille des requêtes phonétiques

Détection de mots-clés

98

On y remarque que les requêtes très courtes, de trois à quatre phonèmes, génèrent près de 85% des fausses alarmes alors que les requêtes de plus de huit phonèmes n'en génèrent aucune. La longueur des séquences phonétiques à détecter joue donc un rôle très important dans la précision du système. Dans cette section, on propose d'étendre les requêtes phonétiques, et en particulier les plus courtes afin de réduire le nombre élevé de fausses alarmes, sans altérer le taux de rappel. Concrètement, on s'intéresse à une approche uniquement phonétique basée sur l'agrégation de phonèmes aux extrémités des requêtes afin de désambigüiser en particulier les plus courtes. On propose d'extraire cette information d'un corpus de texte afin d'apprendre les contextes phonétiques fréquents. L'idée maîtresse est d'ajouter quelques phonèmes à droite et à gauche de la requête phonétique, les rendant de ce fait plus longues et plus discriminantes. Tout d'abord, nous décrirons le corpus textuel duquel nous extrairons l'information, puis nous évoquerons les deux types d'utilisations suggérées.

Un corpus d'apprentissage pour l'expansion phonétique Pour extraire les contextes phonétiques, nous proposons un corpus d'entraînement présentant en parallèle des phrases et leurs transcriptions phonétiques. Pour ce faire, une transcription phonétique automatique du corpus d'entraînement d'ESTER a été effectuée en construisant le dictionnaire de 65K mots correspondants et au total, environ 300K formes phonétiques différentes nécessaires à un alignement forcé. Finalement, ce corpus, que nous appellerons CXT_CORPUS dans la suite de ce document, met en parallèle 545K mots avec 1.6M de phonèmes. Un extrait en est donné en Figure 50. Transcription par mots [SILENCE] Chirac est en Irak [SILENCE]

Transcription phonétique sil CH I R A K AI T AN N IRAK sil

Figure 50 : Extrait de CXT_CORPUS Fonctionnement général L'objectif principal de cette méthode est d'allonger les requêtes courtes de façon à réduire les nombreuses fausses alarmes générées par ces dernières. Pour cela, on cherche à agréger des phonèmes fréquents aux extrémités des séquences phonétiques courtes associées aux mots courts. Pour cela, tous les contextes phonétiques gauche et droite existants pour une requête sont extraits du corpus textuel CXT_CORPUS, et ce dans la limite de N phonèmes de chaque côté avec N fixé au préalable. Une nouvelle requête phonétique plus longue peut ainsi être construite par agrégation des contextes gauche et droit et de la séquence phonétique courte initiale. Chaque nouvelle requête étendue est alors recherchée dans CXT_CORPUS afin de lever l'un des trois cas suivants :

Détection de mots-clés

99

-

la recherche de la requête étendue génère uniquement des fausses alarmes : dans ce cas, la requête étendue est considérée comme un élément négatif de la détection : nous nommons le contexte phonétique associé "anti-contexte". Un exemple d'anti-contexte apparaît dans le corpus présenté en Figure 50 : le phonème "CH", en contexte gauche de la séquence "I R A K". En effet, la requête étendue par ce contexte, "CH I R A K" n'entraînera que des fausses alarme pour la détection du mot "Irak";

-

la recherche de la requête étendue génère des détections correctes et aucune fausse alarme : dans ce cas, la requête est considérée comme un élément positif de la détection dont le contexte est nommé "pro-contexte". En reprenant le même exemple de la Figure 50, le phonème "N" en contexte gauche de la séquence "I R A K" permet une détection correcte du mot "Irak" et aucune fausse alarme;

-

la recherche de la requête étendue entraîne à la fois détections correctes et fausses alarmes : ce troisième type de requête étendue n'est pas pris en compte car il ne permet de désambigüiser aucune situation, même si cela aurait pu être pondéré par le rapport détections correctes / fausses alarmes.

La Figure 51 récapitule les différentes étapes de construction de ces nouvelles requêtes phonétiques "étendues" ou "contextualisées".

Dictionnaire phonétique

Mot-clé

Ex : Irak

Phonétisation, prononciations multiples

Séquences phonétiques

CXT_CORPUS

Ex : I R A K

Recherche de contexte phonétique

Séquences phonétiques + contextes associés

Filtrage des "pro-contextes"

Filtrage des "anti-contextes"

Requêtes phonétiques étendues ne générant aucune fausse alarme

Requêtes phonétiques étendues suffisantes ne générant que des fausses alarmes

Ex : AN N I R A K L I R A K

Ex : CH I R A K

Ex : AN N I R A K CH I R A K L I R A K

Figure 51 : Construction des "pro-contextes" et "anti-contextes" à partir des mots-clés du corpus textuel CXT_CORPUS

Détection de mots-clés

100

On y mentionne tout d'abord la phonétisation des requêtes suivant la description de la section 3.5, puis la recherche des différents contextes existants à partir du corpus CXT_CORPUS et enfin les deux type de filtrages des contextes : "pro-contextes" et "anticontextes". Dans la suite, nous détaillerons plus particulièrement les modules de recherche et de filtrage des contextes.

Recherche de contexte phonétique Après avoir phonétisé les mots-clés à partir d'un dictionnaire phonétique et de CXT_CORPUS, la recherche de tous les contextes phonétiques relatifs aux séquences phonétiques présents dans CXT_CORPUS est effectuée. Pour cela, toutes les prononciations d'un mot-clé sont recherchées puis l'horizon est étendu autour des régions détectées afin d'en extraire les contextes gauche et droit. En reprenant l'extrait de la Figure 50 et en fixant comme nombre maximal de phonèmes à droite et à gauche N=2, la recherche des contextes du mot "Irak" aboutit aux contextes suivants : sil CH I R A K AI T / AN N I R A K sil. Ces séquences phonétiques contextualisées sont ensuite filtrées selon deux catégories : les "pro-contextes" et les "anticontextes".

Filtrage des "pro-contextes" Ce premier filtre consiste à ajouter suffisamment de phonèmes à droite et/ou à gauche de la requête phonétique pour désambigüiser les détections. Ajouter un nombre trop important de phonèmes aura pour effet de trop spécialiser la requête étendue et altérer le taux de rappel. En reprenant l'exemple de la Figure 50, il est suffisant d'ajouter un phonème "N" comme contexte gauche de "I R A K" pour ne plus détecter le mot "Chirac". Un algorithme de génération automatique de ces contextes a été développé et lancé sur CXT_CORPUS pour nos 151 noms de pays. Finalement, nous nous sommes aperçus que l'ajout de contexte, même court, engendrait une baisse non négligeable du taux de rappel, c'est pourquoi nous nous sommes limités à une expansion très simple : l'ajout d'un unique phonème "N", "L" ou "D" devant chaque mot commençant par une voyelle, excepté les noms pluriels (Ex : Etats-Unis).

Filtrage des "anti-contextes" Ce filtre prend le contre-pied du précédent en proposant d'étendre les requêtes phonétiques par des contextes phonétiques générant bien plus de fausses alarmes que de détections correctes. Ces challengers pourront alors être détectés parallèlement aux mots-clés initiaux pour empêcher certaines fausses alarmes. En reprenant encore une fois l'exemple de la Figure 50, un contexte gauche "CH" pour la séquence "I R A K" sera toujours associé à la fausse alarme "Chirac".

Détection de mots-clés

101

Un algorithme de génération automatique de ces anti-contextes a été développé et lancé sur CXT_CORPUS pour identifier tous les contextes ne générant que des fausses alarmes pour nos 151 noms de pays. Un nombre maximal de deux phonèmes à droite et à gauche à été fixé. Au final, pour chaque mot-clé est construite une liste de challengers qui seront recherchés en parallèle de façon à filtrer et supprimer les zones où ces challengers sont plus favorablement détectés que la requête elle-même. Cette liste est consultable en annexe G.

Evaluations L'influence de ces deux types d'expansion sur les performances de détection est présentée ici en termes de rappel et précision. Les résultats de ces évaluations sont présentés sur les transcriptions propres et sur les transcriptions bruitées du corpus de test ESTER. Sur la Figure 52 sont exposées les performances comparées du système référence utilisant le dictionnaire basique, et des deux systèmes utilisant les dictionnaires enrichis, l'un par les "procontextes", ProCxtExp, et l'autre par les "anti-contextes", AntiCxtExp. La Figure 52 montre que dans les deux cas le taux de rappel reste stable quelque soit l'expansion proposée alors que la précision est notablement augmentée. Concernant les transcriptions propres, la précision augmente de 9 points grâce à l'expansion par "procontexte", et près de 13 points pour l'expansion par "anti-contexte". Sur les transcriptions bruitées, la précision est augmentée de 3 points dans le cas de l'expansion par "pro-contextes" et d'environ 11 points pour l'expansion par "anti-contextes".

100 90 80 70 60 50 40 30 20 10 0

Transcriptions bruitées

Rappel Precision

Référence

ProCxtExp

AntiCxtExp

%

%

Transcriptions propres 100 90 80 70 60 50 40 30 20 10 0

Rappel Precision

Référence

CxtExp

AntiCxtExp

Figure 52 : Influence de l'expansion sur les transcriptions propres et bruitées Notons pour terminer que la coopération entre ces deux dictionnaires aboutit à des résultats très proches de ceux obtenus pour l'expansion par "anti-contextes". L'analyse des détections indique que cette expansion permet d'éviter la plupart des fausses-alarmes gérées par l'expansion par "pro-contextes". Le dictionnaire des "anti-contextes" donnant en outre les meilleures performances, nous supposons donc qu'il est inutile de faire coopérer ces deux dictionnaires.

Détection de mots-clés

102

Bilan Dans cette partie, nous avons présenté une méthode permettant d'augmenter le taux de précision d'une détection de mots-clés. Il s'agit d'étendre automatiquement les requêtes phonétiques, et en particulier les plus courtes, en extrayant des contextes d'un corpus textuel phonétisé sur un horizon très court. Deux types d'expansion ont été proposés : le premier permet d'enrichir les requêtes de façon à les rendre plus robustes alors que le second permet de filtrer des contextes engendrant principalement des fausses alarmes. D'après les évaluations, ces expansions courtes du contexte phonétique apportent un gain significatif au niveau du taux de précision, et ce sans affecter le taux de rappel. En conditions réelles, ces améliorations augmentent, dans le meilleur des cas, le taux de précision de plus de 10 points. Les tests d'expansion ont été effectués sur des contextes courts de façon à ne pas trop affecter le taux de rappel. Néanmoins, au vu des résultats, cette contextualisation courte n'est pas suffisante pour valider un système robuste aux fausses alarmes. Le taux de précision reste faible, aux alentours de 50%, et il est donc nécessaire d'opter pour d'autres stratégies, notamment afin d'étendre la taille des requêtes à huit phonèmes et plus, ce qui semble une longueur judicieuse d'après la Figure 49. En outre, l'apprentissage requis pour chaque nouveau mot-clé renvoie aux problèmes de complexité évoqués pour les calculs de modèles de langage, et c'est un écueil que l'on souhaite éviter. Dans la suite, nous nous intéresserons donc à l'impact d'une expansion phonétique plus large et permettant des mises à jour du dictionnaire rapide et peu complexe.

Détection de mots-clés

103

3.7. Expansion étendue du contexte phonétique Dans la section précédente, nous nous sommes intéressés à une expansion courte des requêtes phonétiques de façon à augmenter le taux de précision sans affecter le taux de rappel. Dans cette section, nous proposons une expansion étendue des requêtes phonétiques. Le fonctionnement est similaire car cette approche vise à étendre le contexte localement, mais la différence s'inscrit au niveau du nombre plus important de phonèmes utilisés lors de l'expansion. L'accent est donc mis sur un système robuste privilégiant le taux de précision au détriment du taux de rappel. Une seconde différence se situe au niveau de l'utilisation de grammaires au niveau mots : elles servent ici de base à l'apprentissage des contextes phonétiques et permettent le cas échéant une mise à jour rapide de la liste des mots-clés à détecter. Concrètement, on ne cherche plus à détecter uniquement la séquence phonétique associée à un mot-clé mais à détecter la séquence phonétique relative à une séquence de mots comprenant le mot-clé. L'un des inconvénients majeurs des systèmes de reconnaissance grand vocabulaire basés modèles de langage et critère du maximum de vraisemblance est la difficulté d'ajouter rapidement de nouveaux mots-clés à détecter. En effet, chaque nouveau mot requiert un nouvel apprentissage des modèles. C'est pourquoi, outre le fait de posséder une structure permettant l'apprentissage de contextes phonétique étendus, nous souhaitons que cette structure permette un système de mise à jour rapide du dictionnaire de mots-clés. Pour ce faire, nous nous basons dans la suite sur des grammaires de mots de type BNF. BNF est un acronyme pour "Backus Naur Form", de John Backus et Peter Naur qui ont introduit pour la première fois une notation formelle pour décrire la syntaxe d'un langage donné [NAU 60]. Ce métalangage, principalement utilisé en informatique dans la description de langages de programmation, peut également servir à la description de grammaires de langage utilisées en reconnaissance de la parole. Un exemple extrait du HtkBook [YOU 05] est donné en Figure 53, pour un moteur simple de numérotation téléphonique vocale automatique en anglais. On y définit des classes, ou ensembles nommés, faisant correspondre des ensembles de mots à des catégories ainsi que des règles grammaticales utilisant ces classes. Ces grammaires sont également proposées par le logiciel Julius30 grâce à sa version dérivée "Julian" qui offre une reconnaissance vocale continue basée sur une grammaire à états finis.

# Ensembles nommés $digit = ONE | TWO | THREE | FOUR | FIVE | SIX | SEVEN | EIGHT | NINE | OH | ZERO; $name = [JOOP] JANSEN | [JULIAN] ODELL | [DAVE] OLLASON | [PHIL] WOODLAND | [STEVE] YOUNG; # Règles grammaticales ( SENT-START (DIAL | (PHONE|CALL) $name) SENT-END )

Figure 53 : Exemple de grammaire, extrait de [YOU 05]

30

http://julius.sourceforge.jp/en_index.php

Détection de mots-clés

104

Par la classification de mots en ensembles nommés et règles de logique, cette grammaire définit un univers de phrases autorisées et permet ainsi de valider ou d'interdire certaines séquences de mots. Quelques exemples de phrases validées par cette grammaire : o Dial three three two six five four o Phone Woodland o Call Steve Young Quelques exemples de phrases interdites par cette grammaire : o Call Elvis Presley o Dial Woodland La classification des mots en ensembles nommés autorise une généralisation simple de la grammaire vers tout terme nouveau. En reprenant l'exemple précédent, il est simple d'ajouter un nouveau nom de famille à la liste, permettant de lui appliquer directement les règles prédéfinies. Dans cette section, nous proposons d'appliquer ces grammaires à la détection de motsclés dans des transcriptions phonétiques afin d'améliorer la précision dans le cas d'une détection exacte de mots-clés uniquement. Par cette méthode, on ne cherche pas à modéliser le langage dans son intégralité ni à proposer une solution de reconnaissance grand vocabulaire continue basée sur le flux phonétique, ce qui serait extrêmement complexe vue la complexité du langage - c'est d'ailleurs pourquoi les meilleures technologies sont basées sur des modèles de langage statistiques. Néanmoins, nous souhaitons pouvoir détecter les segments de parole les plus longs autorisés par une grammaire que nous aurons définie au préalable. Dans la suite, nous présentons tout d'abord le fonctionnement général d'un tel système en prenant comme base notre liste de 151 noms de pays, puis les évaluations effectuées.

Organisation et fonctionnement Tout d'abord, la grammaire proprement dite est composée d'un ensemble de règles grammaticales constituées soit de classes grammaticales soit de mots. Pour nos évaluations, nous nous baserons encore une fois sur la liste de 151 noms de pays définie ci-dessus et instanciée dans une classe nommée PAYS. Cette classe est subdivisée selon trois critères influençant le contexte grammatical : le genre, le nombre et le type de son premier phonème, consonne ou voyelle.

# Ensembles nommés PAYS,M,S,C = Laos; PAYS,S,V = Iran | Irak; # Règles grammaticales ( Le PAYS,M,S,C | L' PAYS,S,V | En(n) PAYS,S,V ) Figure 54 : Exemple de grammaire sur les noms de pays Dans l'exemple de grammaire donné en Figure 54, ces critères sont notés ainsi : M(asculin) ou F(éminin) pour le genre, S(ingulier) ou P(luriel) pour le nombre et C(onsonne) ou V(oyelle) pour le type du premier phonème.

Détection de mots-clés

105

Concrètement, une règle grammaticale est représentée par un vecteur d'ensemble de classes qui décrit la suite des classes autorisées. Cette grammaire est associée à un dictionnaire de prononciations multiples contenant en plus son ensemble de classes. Ces mots sont rangés dans un arbre de phonèmes dans lequel chaque nœud correspondant à une fin de mot est associé à une liste de mots et à leur correspondance en classe. Dans notre cas, l'arbre contient les 151 noms de pays, ainsi que tous les autres mots décrivant les règles. La Figure 55 présente l'arbre de phonèmes associé au dictionnaire associé à la grammaire de la Figure 54.

L A

EU

AN

I

N

R

O

A

L'

En(n)

S Le Laos PAYS,M,S,C

K

Irak PAYS,M,S,V

AN

Iran PAYS,M,S,V

Figure 55 : Exemple d'arbre de mots compatible avec la grammaire. Le moteur de détection de mots-clés basé grammaire fonctionne de la façon suivante : dès qu'un mot est détecté dans l'arbre, on réalise les 2 tests suivants :

o est-ce que ce mot peut démarrer l'une des règles grammaticales ? Si oui, alors une requête de règle est instanciée. o est-ce que ce mot peut continuer une règle démarrée ? Si oui, alors une requête de règle est poursuivie. Une "requête" de règle non terminée alors que le processus est en cours est supprimée. A contrario, lorsqu'une règle est terminée on vérifie qu'elle ne chevauche pas une autre séquence validée et le cas échéant, on supprime celle qui est incluse dans l'autre. Un exemple de parcours de règles est détaillé en Figure 56, selon l'arbre de la Figure 55. On y suit les requêtes de règles effectuées sur un flux phonétique où a été prononcé le texte "J'irai en Iran". Au total, cinq mots et une règle sont instanciés, mais seule une règle de deux mots est validée : "En(n) PAYS,S,V" avec PAYS,S,V=Iran.

Détection de mots-clés

106

FLUX PHONETIQUE En(n) Irak Iran L' Laos Le

J

I

R

I I

R R

EI

Début de règle "En (n) PAYS,S,V"

AN

N

AN

N

I

R

AN

I I

R R

AN

Règle validée Règle supprimée

Figure 56 : Exemple de parcours de règles Un paramètre est imposé lors de la détection : le nombre minimal de phonèmes pris en compte pour chaque requête, afin d'analyser l'impact d'une taille minimale de requête. Lorsque l'on fixe un nombre minimal de phonèmes N, cela signifie qu'on ne conserve que les mots et règles grammaticales correspondant à des séquences phonétiques au moins de longueur N. Comme vu au paragraphe 1.6.3 et en particulier sur la Figure 49 qui présente le taux de fausses alarmes, rappelons qu'avec une valeur de N supérieure ou égale à huit phonèmes en fixant, on peut s'attendre à un taux de précision proche de 100%.

Evaluations Grâce à des règles grammaticales instanciées sur un horizon phonétique large, nous pouvons étendre progressivement la longueur des requêtes de façon à constater une taille minimale permettant d'obtenir un taux de précision élevé. Pour l'évaluation d'un système de détection de mots-clés utilisant des requêtes enrichies de cette manière, deux grammaires et leurs dictionnaires associés ont été construits : -

une grammaire ORACLE, issue de l'extraction de tous les contextes au niveau mot présents dans les transcriptions propres du corpus de test ESTER; il s'agit donc d'une grammaire de référence, toutes les règles grammaticales à détecter dans les transcriptions propres y étant présentes. Elle contient une règle par occurrence de pays, c'est-à-dire 756 règles.

-

une grammaire AUTO, construite automatiquement sur les données du corpus textuel d'entraînement ESTER. Elle contient 3170 règles.

Ces deux grammaires ont été bâties de la même manière. Tout d'abord, tous les noms de pays présents dans le corpus textuel considérés (transcriptions propres ESTER ou transcriptions du corpus d'entraînement ESTER) ont été remplacés par leur valeur de classe (Ex : Irak  PAYS,M,S,V), puis toutes les séquences de cinq mots maximum avant et après l'une de ces classes PAYS ont été extraites. Ce contexte arbitraire de cinq mots maximum a été choisi de façon à pouvoir manipuler des contextes pouvant aboutir à des requêtes dont la longueur peut atteindre plus de dix phonèmes. Le Tableau 15 donne un exemple de détection du mot-clé "Irak" contextualisé par la règle grammaticale "La guerre en(n) Irak" et en imposant un seuil sur le nombre minimal de phonèmes variant de trois à dix. Notons de plus

Détection de mots-clés

107

que, dans un souci de cohérence du langage, les séquences de mots se limitent obligatoirement aux groupes de souffle, c'est-à-dire qu'un silence n'est jamais inclus entre deux mots d'une règle; par contre un silence peut apparaître comme premier ou dernier terme d'une séquence31.

NB MIN SEQUENCE DE MOTS SEQUENCE PHONETIQUE PHONEMES ACCEPTEE ASSOCIEE I R A K 3 Irak I R A K 4 Irak AN N | I R A K 5 en(n) Irak AN N | I R A K 6 en(n) Irak G AI R | AN N | I R A K 7 guerre en(n) Irak G AI R | AN N | I R A K 8 guerre en(n) Irak G AI R | AN N | I R A K 9 guerre en(n) Irak L A | G AI R | AN N | I R A K 10 La guerre en(n) Irak Tableau 15 : Détection du mot-clé "Irak" selon la règle grammaticale "La guerre en Irak" et un nombre minimal de phonèmes variant de 3 à 10 L'évaluation à proprement dite consiste en l'application de ces deux grammaires sur le processus de détection exacte de mots-clés selon le fonctionnement exposé dans la section précédente. La grammaire ORACLE représente les limites hautes d'un tel système, du moins pour les transcriptions propres, tandis que la grammaire AUTO indique les résultats que l'on peut obtenir en conditions d'apprentissage automatique réelles. Les résultats sont calculés sur les transcriptions propres du corpus de test ESTER ainsi que sur les transcriptions bruitées. Les courbes taux de rappel/taux de précision sont tracées en faisant varier le nombre de phonèmes minimal des séquences phonétiques contextualisées de trois à dix phonèmes. La Figure 57 présente les résultats obtenus sur les transcriptions propres et bruitées. Concernant les transcriptions propres, on y retrouve les valeurs des précédentes évaluations, c'est-à-dire un taux de rappel attendu de 100% et un taux de précision de 48.2% pour les deux grammaires, ce pour des requêtes d'au minimum 3 phonèmes. Le fait d'augmenter la taille minimale des séquences phonétiques se traduit par une baisse du taux de rappel et une hausse du taux de précision. Finalement, on atteint 100% de précision pour les deux grammaires pour une taille minimale de 8 phonèmes. Avec la grammaire calculée automatiquement, on obtient à ce niveau 41% de taux de rappel, alors qu'on atteint 72% dans le cas de la grammaire oracle. Concernant les résultats obtenus sur les transcriptions bruitées, on y retrouve les performances obtenues précédemment pour des séquences phonétiques d'au minimum 3 phonèmes, c'est-à-dire 56.6% de rappel et 41.4% de précision. En augmentant le nombre de phonèmes, on constate la même évolution que sur les transcriptions propres : une baisse du taux de rappel combinée à une hausse du taux de précision. Pour une taille d'au minimum 8 phonèmes, on obtient 30% de rappel et 96% de précision grâce à la grammaire oracle et 20% de rappel et 94% de précision dans le cas de la grammaire calculée automatiquement.

31

Lors de la phonétisation automatique d'un corpus de texte, les ponctuations de type points ou virgules sont retranscrites en silences.

Détection de mots-clés

108

Figure 57 : Evaluations BNF, précision/rappel en fonction de la taille minimale des séquences phonétiques Notons que l'on s'attend à obtenir 100% de rappel quelque soit le nombre de phonèmes minimal dans le cas des transcriptions propres. La baisse du taux de rappel lorsque l'on augmente le nombre minimum de phonèmes provient principalement de la construction des règles limitées à l'intérieur des groupes de souffles. Aucun silence n'apparaît dans les séquences à détecter. Si le flux contient par exemple la séquence phonétique "sil I R AN sil", elle sera indétectable si le nombre minimum de phonèmes fixé est supérieur à cinq phonèmes.

Bilan Dans cette partie, nous mettons en avant un système basé sur une recherche phonétique exacte avec une phonétisation des requêtes. Cette dernière est basée sur un dictionnaire enrichi et une expansion enrichie du contexte phonétique, notamment par le biais d'une grammaire de type BNF. Nous avons mis au point une technique réduisant le nombre de fausses alarmes pour notre système initial de détection de mots-clés, malgré une baisse importante du taux de rappel. En privilégiant un système robuste aboutissant à des résultats d'une précision élevée, nous avons mis au point un moteur complet de détection de mots-clés permettant de détecter correctement un mot sur trois avec une précision de l'ordre de 90% à condition d'étendre les requêtes phonétiques à une taille minimale de huit phonèmes. Ce système, n'effectuant que des parcours d'arbre exact, est très rapide et permet de gérer plusieurs dizaines de milliers de mots-clés. De plus, l'ajout de nouveaux mots-clés dont on connaît la classe grammaticale est aisé, sachant qu'il suffit de l'intégrer à sa classe pour qu'il soit intégré immédiatement et pris en compte par la grammaire. C'est un point très important car cela simplifie l'intégration de nouveaux mots-clés par rapport à une approche classique par modèles de langage statistique où le modèle doit être réappris pour chaque nouveau terme.

Détection de mots-clés

109

3.8. Description d'un système complet de détection de mots-clés Dans cette section, nous présentons en détail le système de détection de mots-clés complet développé pendant cette thèse et intégré dans une plateforme de démonstration d'Orange Labs dédiée à la recherche et à la navigation dans les contenus multimédias. Ce système s'articule autour d'un moteur de décodage acoustico-phonétique et d'un moteur de détection de mots-clés. Premièrement, le DAP, comme présenté dans le premier chapitre, est basé sur des modèles markoviens transitoires guidés par un modèle de langage syllabique. Le décodage, effectué sur une machine dédiée, est plus rapide que le temps réel. Les résultats sur le corpus de test ESTER indiquent un taux d'erreur phonétique d'environ 25%. Les transcriptions issues de ce décodage sont constituées uniquement des meilleures hypothèses (1-Best). Deuxièmement, la détection de mots-clés est un processus de recherche exacte dans une liste de mots-clés organisée en arbre. Ce processus, décrit dans la section précédente, est rendu robuste par l'application d'une grammaire de type BNF permettant d'étendre et de contraindre la taille minimale des requêtes phonétiques. Les mots-clés recherchés forment un dictionnaire de 26K mots répartis en 24 classes : Adjectif, Adverbe, Chaîne TV, Club sportif, Groupe de musique, Habitant, Journal, Mois de l'année, Emission TV, Liaison, Chiffre, Syndicat, Nom commun, Nom de famille, Nom propre, Parti politique, Pays, Chaîne Radio, Région, Société, Syndicat, Verbe, Ville et Compagnie Aérienne. Cette répartition a été choisie pour deux choses : tout d'abord afin de détailler les éléments de liaison et le contexte grammatical, et ensuite pour faciliter la mise à jour du dictionnaire et proposer une meilleure organisation des données. Ces mots sont présentés dans un dictionnaire factorisé pour les multi-prononciations, dont un exemple est donné dans le Tableau 16. Les variations de prononciations décrites dans la partie 3.5 y sont notées par expressions régulières notées entre "", le "ou" étant symbolisé par un "+". Au total, 150K prononciations sont générées à partir de ces 26K mots. Notons que dans ce système, les prononciations tolèrent pour la plupart un silence optionnel en fin de mot, ce qui n'était pas le cas dans nos évaluations précédentes. On passe ainsi outre les non-détections relatives à la limitation interne aux groupes de souffle.

Mot-clé

Prononciation(s)

Arielle arithmétique Arizona arme armée état Français Française France

A R AI L EE A R I M EI T I K EE A R I Z N A A R M EE A R M EI EI T A F R AN S AI F R AN S AI Z EE F R AN S EE

Classe(s) PRENOM,F ADJ,V PAYS,REGION,V,M,S NC,V,F NC,ADJ,VERBE,V NC,V,M HABITANT,C,M,S,P HABITANT,C,F,S,P PAYS,C,F,S

Tableau 16 : Extrait du dictionnaire de reconnaissance vocale partielle

Détection de mots-clés

110

La grammaire définit quant à elle environ 28K règles, comme illustré par l'extrait donné dans le Tableau 17. Les (Z) correspondent à la gestion du pluriel et donc à l'ajout d'une liaison potentielle.

Règles grammaticales arme HABITANT,F armée HABITANT,F état HABITANT,M Tableau 17 : Extrait de la grammaire pour le système de reconnaissance vocale partielle Comme induit par nos évaluations, on contraint grâce à cette grammaire la taille minimale des requêtes à huit phonèmes. Un exemple d'application de ce système est présenté dans le Tableau 18, à partir des extraits de dictionnaire et de grammaire présentés ci-dessus. On y présente un flux phonétique généré à partir d'une phrase évoquant "l'armée française". Le tableau ce décompose en deux parties, tout d'abord la partie détection de mots-clés, où chaque détection levée est indiquée par une séquence phonétique en gras, puis la partie d'application des règles grammaticales. On constate que toutes les règles sont instanciées mais seul "armée (Z) HABITANT,F" est finalement validée, permettant à la séquence de mots "armée française" d'être correctement détectée, tout en évitant les fausses alarmes "arme", "France", etc.

FLUX PHONETIQUE

Arielle arithmétique Arizona arme armée état Français Française France

A

R

M

EI

F

R

AN

S

MOTS-CLES A R A R A R A R M A R M EI EI F F F

R R R

AN AN AN

S S S

REGLES GRAMMATICALES arme (Z) HABITANT,F A R M armée (Z) HABITANT,F A R M EI F R AN S état (Z) HABITANT,M EI Tableau 18 : Exemple de reconnaissance vocale partielle

AI

Z

EI AI AI

Z

AI EI

Z

Détection de mots-clés

111

La plateforme MediaSearch Ce moteur de détection de mots-clés s'intègre dans MediaSearch, une plateforme de démonstration d'Orange Labs, illustrée par la Figure 58. On y retrouve principalement une fenêtre de recherche et une fenêtre de résultats, présentant les détections sous forme de nuages de mots-clés et de leurs emplacements temporels.

Figure 58 : Plateforme MediaSearch Cette plateforme permet de gérer le système complet implémenté qui fonctionne selon les huit étapes suivantes : 1) Capture : les flux télévisuels et web sont enregistrés puis analysés; 2) Segmentation parole/musique : ce système est basé sur un algorithme développé dans des travaux préliminaires à la thèse. Il s'agit d'une méthode permettant la segmentation parole/non-parole grâce à l'analyse des variations d'un paramètre acoustique unique : le flux spectral [LEB 05];

3) Détection des groupes de souffle : un algorithme de détection de silences longs est appliqué pour déterminer les frontières des segments de parole; 4) Phonétisation : après détection d'un groupe de souffle, une normalisation par la moyenne des cepstres est appliquée sur le groupe de souffle entier, puis la phonétisation est effectuée grâce au moteur de décodage explicité dans le second chapitre;

Détection de mots-clés

112

5) Détection de mots-clés : ce système est celui que nous venons d'exposer, à base de règles grammaticales et dont le nombre minimal de phonèmes détectés est fixé à huit; 6) Indexation : les mots-clés détectés sont indexés pour des recherches ultérieures; 7) Recherche : une interface dédiée à la recherche de mots-clés dans les archives enregistrées est accessible à l'utilisateur. Elle comprend une barre de recherche ainsi qu'un nuage des mots-clés détectés; 8) Affichage des résultats : après une recherche, la liste des résultats est affichée dans l'interface et chaque résultat est écoutable, et le cas échéant visionnable, en se positionnant sur l'intervalle de temps détecté.

Ce système complet est appliqué à des flux audio continus et fonctionne en temps réel pour 26K mots. Comme cette application est dédiée à l'analyse et à l'indexation de contenus TV et web, la masse et le type de contenus traités rendent l'évaluation finale d'un tel système difficile, surtout au point de vue du taux de rappel. En effet, ce système est appliqué sur des contenus très divers, brassant contenus broadcast et contenus générés par les utilisateurs, avec plusieurs langues possibles, des sitcoms en anglais ou en arabe, etc. Sans corpus de test adapté à ces contenus divers, on ne peut qu'évaluer subjectivement la précision les résultats retournés par le système sans connaître le nombre réel de non-détections. Néanmoins, une utilisation quotidienne de cet outil ainsi que des évaluations subjectives ont toutefois montré la pertinence de l'approche. Pour donner un exemple, nous avons lancé la détection sur le contenu audio très riche et complexe : le discours d'investiture du président Obama32. Il s'agit d'un contenu Youtube de 21min50 très riche en évènements sonores : langue parlée uniquement anglaise, enregistrement en extérieur, bruits de foule, etc. Au final, sur ce document particulièrement difficile, seules 26 fausses alarmes ont été détectées.

32

President Obama 2009 Inauguration and Address : http://www.youtube.com/watch?v=VjnygQ02aW4

Détection de mots-clés

113

3.9. Conclusion Dans ce chapitre, nous avons étudié la faisabilité d'un moteur de détection de motsclés sur un flux préalablement phonétisé selon la meilleure hypothèse de décodage. Nous avons dans un premier temps levé les différents écueils d'un tel moteur, c'est-à-dire un taux de rappel altéré par des erreurs de phonétisation et de nombreuses variantes de prononciations, et un taux de précision faible principalement dû à un manque d'information rendant ambigües certaines situations. Sans gestion de ces problèmes, on parvient à un taux de rappel de 55.2% et un taux de précision de 41.4% sur le corpus de test ESTER. Considérant uniquement l'augmentation du taux de rappel, un premier système a été proposé, basé sur un calcul de distance phonétique et permettant d'atteindre jusqu'à 80% de taux de rappel, mais ce au prix d'un taux de précision proche de zéro et d'une complexité élevée. Une technique d'élagage a été proposée pour la réduction de cette complexité, mais l'implémentation actuelle permet encore difficilement d'atteindre nos objectifs d'une détection de plusieurs dizaines de milliers de mots-clés en temps réel. En outre, le nombre de fausses alarmes très important nous incite à nous affranchir de calcul de distance phonétique. Pour prétendre à un objectif offrant des résultats de détection robustes, nous avons donc privilégié un système en détection exacte sans palliatif aux erreurs phonétiques. Les variantes de phonétisation (coarticulation, etc.) sont prises en compte directement dans un dictionnaire de prononciations multiples afin d'augmenter au maximum le taux de rappel. En outre, de manière à minimiser l'impact des fausses alarmes et ainsi rendre la détection plus robuste, plusieurs améliorations ont été proposées dans le cadre d'une expansion des requêtes phonétiques, en particulier dans le cas des mots courts. La première approche se situe au niveau de l'ajout d'un contexte court de quelques phonèmes à droite et/ou à gauche des requêtes phonétiques, permettant de lever des ambigüités sur certaines zones de parole. Par ce biais, nous autorisons à la fois l'enrichissement des requêtes courtes pour les rendre plus robustes et la création de requêtes phonétiques challengers dont on est certain que les détections levées sont des fausses alarmes. La détection de ces nouvelles requêtes contextualisées permet de filtrer certains résultats et d'apporter un gain substantiel au niveau du taux de précision sans affecter significativement le taux de rappel. La seconde approche va plus loin dans l'augmentation de la précision au détriment du taux de rappel. Elle s'articule autour de l'application de grammaires et de l'analyse de la taille des requêtes suffisante pour obtenir des résultats de détection robustes. Une utilisation de cette seconde approche en détection exacte sur notre corpus de test ESTER indique qu'associé à notre moteur de décodage acoustico-phonétique proposant un taux d'erreur phonétique de 25%, un tel moteur permet de détecter environ un mot sur trois avec une précision de l'ordre de 90% à condition de minimiser la taille des requêtes à huit phonèmes. Nous avons finalement présenté le système final, intégré dans la plateforme de démonstration d'Orange Labs dédiée à la recherche et à la navigation dans les contenus multimédias et permettant la détection de mots-clés dans des flux de phonèmes. Basée sur une structure arborescente de la liste de mots-clés à détecter associée à une grammaire de 28K règles, cette méthode permet de manipuler une liste de 26K mots-clés en temps réel.

Conclusion et perspectives

114

Conclusion et perspectives

115

CHAPITRE 4 CONCLUSION ET PERSPECTIVES

Conclusion et perspectives

116

Conclusion et apport des travaux Dans le contexte de l'indexation automatique des documents parlés, nous avons étudié la faisabilité d'applications de détection et de recherche de mots-clés sur les meilleures transcriptions du signal de parole en phonèmes. Les techniques existantes, majoritairement basées sur de la reconnaissance grand vocabulaire, offrent de très bons résultats sur des données propres, mais sont encore loin de pouvoir manipuler avec autant de succès du discours spontané et les contenus CGU. Avec un système de détection de mots-clés dans un flux de phonèmes, on propose une méthode simple, rapide et robuste aux fausses alarmes grâce à un enrichissement des séquences phonétiques à détecter. Un intérêt majeur de cette méthode est l'utilisation de grammaires permettant l'ajout rapide de nouveaux mots au dictionnaire de détection, évitant l'apprentissage lourd généralement inhérent aux modèles de langage classiques. Dans cette thèse, nous proposons dans un premier temps une architecture de décodage acoustico-phonétique construite selon une modélisation statistique standard de l'acoustique par modèles de Markov cachés. Les systèmes implémentés permettent de mettre en évidence l'intérêt d'injecter l'information syllabique dans la modélisation acoustique, ainsi que dans la modélisation du langage. Grâce à cet apport, on obtient des taux d'erreur phonétique oscillant entre 20 et 25% sur le corpus de test ESTER. S'il n'atteint pas la limite basse de nos systèmes avec ses 23.19% de taux d'erreur phonétique, l'un de ces systèmes se démarque plus particulièrement des autres : il se caractérise par une complexité réduite obtenue par le biais de nouvelles unités dites "transitoires", permettant une construction de modèles syllabiques avec un nombre minimum d'états. Ce système a été choisi comme décodeur de référence pour la suite de nos travaux. Suite à l'implémentation de ce moteur, une étude a été menée concernant la possibilité de détecter des mots-clés dans ces meilleures transcriptions phonétiques. Différents écueils ont été mis en évidence : tout d'abord un taux de rappel altéré par des erreurs de phonétisation et de nombreuses variantes de prononciations, et un faible taux de précision principalement dû à certaines requêtes phonétiques trop courtes et peu discriminantes. Plus précisément, le taux de rappel obtenu sans gestion de ces problèmes est de 55.2% et le taux de précision associé d'environ 41.4%. Nous nous sommes intéressés à l'augmentation du taux de rappel pour une détection de mots-clés dans un flux phonétique grâce à l'application d'un algorithme de distance phonétique. Il en résulte une hausse du taux de rappel, près de 30 points supplémentaires, mais au prix d'une augmentation importante du nombre de fausses alarmes. Ce flou trop important rendant notre système inutilisable, nous avons finalement préféré nous affranchir de ce calcul de distance. Après avoir proposé un enrichissement du dictionnaire par prononciations multiples permettant entre autre la gestion des effets de coarticulation, nous avons développé quelques techniques d'augmentation du taux de précision. Deux méthodes ont été évaluées : l'expansion de contextes phonétiques et l'application de grammaires. La première, limitée à des contextes courts, permet d'obtenir un gain substantiel sans altérer le taux de rappel mais le taux de précision obtenu n'est pas suffisant pour un système efficace. La seconde, étendue à des contextes larges, a quant à elle montré qu'il était envisageable de détecter un mot sur trois, et ce avec une précision d'environ 90% à condition d'étendre les requêtes à un minimum de huit phonèmes. Le système actuel implémenté dans une plateforme

Conclusion et perspectives

117

de démonstration d'Orange Labs suit ce principe et permet la détection efficace de 26K mots sur un flux audio en temps réel. Une application dédiée à la recherche de termes parlés dans des archives de transcriptions phonétiques a également été conçue au cours de nos travaux, mais n'apparaît pas dans ce document autrement qu'en annexes. En effet, même si les méthodes de gestion du calcul de distance phonétique sont intéressantes, les développements et évaluations ont été jugées insuffisants pour en faire un chapitre à part entière. En annexe, on retrouve donc deux implémentations, l'une basée sur une organisation des données en arbre de suffixes généralisés et l'autre sur une indexation par trigrammes phonétiques. En conclusion, cette thèse peut être appréhendée comme une tentative de mise en place d'un système complet d'indexation audio basé phonèmes. D'un point de vue applicatif, elle couvre les différents aspects du domaine, en mettant en exergue les difficultés relatives à une telle approche, ainsi que quelques pistes de travail. Ces pistes sont un enrichissement de l'existant, en particulier au regard des propositions d'expansion du contexte phonétique et de la gestion des erreurs phonétiques dans la détection et la recherche. Les avantages de l'approche considérée sont nombreux. Tout d'abord, il s'agit d'un système scindé en deux modules distincts, l'un de décodage, l'autre de détection, ce qui en fait un processus simple et modulaire. Chaque module peut être évalué indépendamment, et l'amélioration de l'un influera sur le système complet. Concernant le décodage acoustique, se limiter à une reconnaissance des phonèmes guidée par un modèle de langage syllabique nous affranchit de l'apprentissage complexe d'un modèle de langage au niveau mot. On aboutit donc à un moteur de reconnaissance plus simple et plus rapide. Ce décodage phonétique effectué une fois pour toute, cela permet de relancer autant que souhaité de nouveaux dictionnaires sans avoir à refaire une analyse complète du flux audio. Ensuite, en se concentrant uniquement sur des détections de séquences phonétiques "exactes" dans le flux phonétique, la structure arborescente proposée pour modéliser la liste de mots-clés permet un processus de détection très rapide et quasi-indépendant du nombre de mots-clés. La complexité de détection est renvoyée au nombre de règles grammaticales instanciées pour l'augmentation du taux de précision. De plus, ces règles, utilisées pour enrichir les séquences phonétiques à détecter, permettent d'obtenir un taux de précision supérieur à 90% rendant ce système robuste en termes de filtrage des fausses alarmes. Enfin, ces règles grammaticales basées sur des classes de mots permettent de mettre à jour rapidement le dictionnaire de motsclés, évitant ainsi des réapprentissages intempestifs comme c'est le cas pour les modèles de langage N-gram classiques. Malgré l'efficacité constatée d'un tel système, des inconvénients majeurs sont à noter. En effet, dans l'état actuel des implémentations, la détection de mots-clés est encore contrainte par une gestion complexe des prononciations multiples et des erreurs phonétiques. Le taux de rappel pour un point de fonctionnement à 90% de précision est uniquement d'un mot sur trois sur des contenus de type ESTER. On peut donc s'attendre à un faible taux de rappel sur des contenus plus difficiles. Ces résultats s'expliquent tout d'abord par une transcription phonétique pas suffisamment robuste, malgré ses 25% de taux d'erreur. Ensuite, les techniques de détection proposées n'ont pas la souplesse des modélisations statistiques pour pallier ces erreurs.

Conclusion et perspectives

118

Ajoutons pour terminer que ces travaux nécessiteraient des comparaisons supplémentaires avec des systèmes standards tels qu'une indexation par mot basé sur un moteur de reconnaissance grand vocabulaire ou encore sur un moteur hybride mots/phonèmes. De tels systèmes réclamant de longs développements, il était difficile de les insérer dans le temps imparti.

Perspectives Des perspectives propres à chaque sujet abordé dans cette thèse peuvent être envisagées. Dans un premier temps, les pistes de recherche concernant le décodage acousticophonétique sont nombreuses. Outre le fait d'enrichir les apprentissages par un élargissement des corpus d'entraînement, acoustique et de langage, il serait intéressant d'approfondir davantage l'impact de syllabations différentes et des modèles de langage associés. Un autre point est l'application de modèles trigrammes voire quadrigrammes sur les modèles syllabiques, permettant théoriquement une hausse significative du taux de reconnaissance. Cela apporterait des informations acoustiques supplémentaires utiles dans la correction des erreurs phonétiques. Pour terminer, une piste de reconnaissance des phonèmes par quantification vectorielle avait été un temps envisagée, pour aboutir à une accélération significative de la reconnaissance. Concernant la détection de mots-clés, il serait important de généraliser les règles de grammaires avec un apprentissage sur un corpus plus important. Ensuite, il faudrait inclure de façon optimale la détection approximative à l'expansion phonétique par BNF afin de prendre en compte les non-détections en particulier des mots-longs. Pour ce faire, il est envisageable d'améliorer les méthodes de courts-circuits exposés en partie 3.4, ou bien d'appliquer les algorithmes de détection sur des treillis phonétiques ou syllabiques N-Best au lieu des simples transcriptions 1-Best, en s'inspirant des travaux de James et Young [JAM 94]. Dans un même ordre d'idée, le calcul de distance phonétique pourrait également être amélioré par la création d'une matrice de confusion prenant en compte les contextes triphones. Cela permettrait notamment d'indiquer clairement la similarité de certains triphones, à l'exemple de "A-V+G" et "A-F+G". Une autre piste de recherche concerne les travaux sur les améliorations potentielles pour un meilleur taux de précision. Parmi les points suggérés en section 3.6.2, on s'intéresserait notamment à la thématisation, c'est-à-dire étudier la possibilité de contextualiser les requêtes avec d'autres termes proches sémantiquement pour lever les ambigüités, en se basant sur les travaux de [ROS 05]. De façon à valider clairement notre système complet, il serait également nécessaire de mettre en place une procédure d'évaluation à grande échelle et en conditions réelles sur des contenus difficiles de type UGC. Pour finir, dans le cadre d'un système différent où un décodage par mots serait utilisé en lieu et place du décodage phonétique, il serait également intéressant d'intégrer la validation par BNF sur des treillis de mots. Ceci pourrait être étudié aussi bien pour une application de reconnaissance grand vocabulaire que pour de la détection de mots-clés.

Annexes

119

CHAPITRE 5

ANNEXES

Annexes

120

ANNEXE A : QUELQUES OUTILS… La boîte à outils HTK HTK (Hidden Markov Model Toolkit) est une boîte à outils conçue pour construire et manipuler des modèles de Markov cachés, et plus spécifiquement dans le domaine de la reconnaissance de la parole. Elle consiste en un ensemble de modules permettant d'effectuer les différentes étapes de conception d'un moteur de reconnaissance de la parole.

-

Dans le cadre de notre étude les modules suivants ont été utilisés : HCompV / HERest / HHEd / HLEd : apprentissage des modèles de Markov cachés HVite : décodage par algorithme de Viterbi HBuild / HParse / HSGen : apprentissage des modèles de langage HResults : analyse des résultats

La boîte à outils CMU-Cambridge SLM Les modèles de langage, formatés aux normes ARPA33 et compatibles HTK, ont été pour la plupart construits grâce aux outils fournis par la toolkit CMU-Cambridge SLM (Statistical Language Modeling) conçue à l'université de Carnegie Mellon.

Julius / Julian Julius34 est un système open-source de reconnaissance de la parole continue en deux passes dédié à la recherche et au développement. Basé sur des N-grams de mots et des HMMs dépendants du contexte, il permet des décodages quasi-temps réel sur les ordinateurs actuels pour des tâches de dictée vocale d'environ 60K mots. Depuis la version 3.4, Julian, un parser pour une reconnaissance basée grammaire a été intégré au système Julius. Julian est une version modifiée de Julius qui utilisent des grammaires à états finis comme modèles de langage.

33 34

Advanced Research Projects Agency Copyright © : Julius Project Team , Nagoya Institute of Technology : http://julius.sourceforge.jp/en_index.php

Annexes

121

ANNEXE B : LES HEURISTIQUES DE SYLLABATION Cette annexe présente les heuristiques de syllabation utilisées dans notre décodeur acoustico-phonétique guidé par les syllabes. Chaque lettre correspond à une classe phonétique, et la barre verticale correspond à l'endroit de la découpe syllabique. V = VOYELLE C = CONSONNE S = SEMIVOYELLE O = OCCLUSIVE N = NASALE L = LIQUIDE F = FRICATIVES V V V V

| | | |

C V C S S V V

V V V V V V

| | | | | |

F O O O O O

L L F F N N

V V V L N V L V

V V V V V V V V

L L N O O F F F

| | | | | | | |

O C C N O O N F

F V V V V V V V

N N N N

F F F O

| | | |

O O N F

L V V V

V V V V V V V V V V V

O N N N N L L F F F F

| | | | | | | | | | |

O N O O F O F O O O F

L N L N L L L F F L L

V V V V V V V V L V V

V F | O L N V V F | O L F V V F | O F F V

V O | O F V V O | O N V

V V V V V V V V V V V V V V V V V V V V V

L L L L L L L L L L F F F F F F F F F F F

O O F F F F F N N L O O L L L F F F F F N

| | | | | | | | | | | | | | | | | | | | |

N O N F O O F C O C N O O F C O N O F F O

V V V V V L V V L V V V L L V V V L V L L

V V V V V V V V V V V V V V V V V V V V V

F F O O O O O O O O O O O O O N N N N N N

N N F F F F F F N N N N O O L O F N N L L

| | | | | | | | | | | | | | | | | | | | |

F L C V O V N V O L O F F V F L F V F L O V O L O V O L !V O V F V C V O L O L O V

V V V V V V V V V V

L L L L L L L C N N

F F L L L N O O O F

| | | | | | | | | |

O F F O F F O O F F

F L O L L L F L L L

V V V V V V V V V V

V V V V

N N N N

O O O O

F L F F

| | | |

O O O N

V V L V

V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V

N N N N O O O O O O L L L L L L L L L L L L L F F F F F F F F F

O F F F O O F F F F F F N N N L L L O O O O O O O O F F F F F F

F F L O F F F F F O F F F N O O O F L L L N N L L L L L L N N N

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

F O O O O N F O O O C O F O L C O C O C F O O O O O O O O O F F

V V V V V V V V L V V L V V V V F V L V L V L L F V V L F V V V

V L N L N | O V

Bibliographie

122

ANNEXE C : LES MOTS-CLES Cette annexe présente les 151 mots-clés utilisés dans les évaluations. Chaque ligne comprend trois colonnes : le mot-clé, la phonétisation et la classe sémantique agrémentée d'informations supplémentaire (type du premier phonème, genre et nombe). Les variantes de prononciation sont générées par expressions régulières, les meilleures prononciations (1-Best) correspondant aux phonèmes les plus à gauche des expressions "" et le "EE" symbolisant le schwa, c'est-à-dire l'expression ". Afghanistan A G A N I S T AN PAYS,V,F,S Afrique A F R I K EE PAYS,V,F,S Albanie A L B A N I PAYS,V,F,S Algérie A L J AI R I PAYS,V,F,S Allemagne A L EE M A N Y EE PAYS,V,F,S Amérique A M AI R I PAYS,V,F,S Andorre AN D O R EE PAYS,V,F,S Angleterre AN G L EU T AI R EE PAYS,V,F,S Angola AN G L A PAYS,V,F,S Arabie-Saoudite A R A B I S A OU D I EE PAYS,V,F,S Argentine A R J AN T I N EE PAYS,V,F,S Arménie A R M AI N I PAYS,V,F,S Australie S T R A L I PAYS,V,F,S Autriche T R I CH EE PAYS,V,F,S Azerbaïdjan A AI R B A D J AN PAYS,V,F,S Bangladesh B G L A D AI CH EE PAYS,C,M,S Belgique B AI L J I EE PAYS,C,F,S Bénin B EI N IN PAYS,C,M,S Bhoutan B OU T AN PAYS,C,M,S Biélorussie B Y AI L R U S I PAYS,C,F,S Birmanie B I R M A N I PAYS,C,F,S Birmanie B I R M A N I PAYS,REGION,C,F,S Bolivie B L I V I PAYS,C,F,S Bosnie B AU N I PAYS,C,F,S Bosnie-Herzégovine B N I AI R Z AI G V I N EE PAYS,C,F,S Botswana B A N A PAYS,C,M,S Brésil B R AI Z I L EE PAYS,C,M,S Brunei B R U N AI PAYS,C,M,S Bulgarie B U L G A R I PAYS,C,F,S Burkina B R K I N A PAYS,C,M,S Burundi B R N D I PAYS,C,M,S Cambodge K AN B O D PAYS,C,M,S Cameroun K A M EE R OU N EE PAYS,C,M,S Canada K A N A D A PAYS,C,M,S Cap-Vert K A V AI R EE PAYS,C,M,S Chili CH I L I PAYS,C,M,S Chine CH I N EE PAYS,C,F,S Colombie K L ON B I PAYS,C,F,S Congo K G AU PAYS,C,M,S Corée_du_Nord K R EI D U N O R EE PAYS,C,F,S Corée_du_Sud K R EI D U S U D EE PAYS,C,F,S Croatie K R A S I PAYS,C,F,S

Bibliographie

123

Danemark D A N EE M A R EE PAYS,C,M,S Ecosse EI K O S EE PAYS,V,F,S Egypte EI J I EE PAYS,V,F,S Emirats_arabes_unis EI M I R A A R A B EE U N I PAYS,V,F,P Equateur EI K A T OE R EE PAYS,V,F,S Erythrée EI R I T R EI PAYS,V,F,S Espagne AI P A N Y EE PAYS,V,F,S Estonie AI S T N I PAYS,V,F,S Etats-Unis EI T A Z U N I PAYS,V,F,P Ethiopie EI T P I PAYS,V,F,S Finlande F IN L AN D EE PAYS,C,F,S France F R AN S EE PAYS,C,F,S,PRENOM Gabon G A B ON PAYS,C,M,S Géorgie J O R J I PAYS,C,F,S Ghana G A N A PAYS,C,M,S Grèce G R AI S EE PAYS,C,F,S Guatemala G A T AI M A L A PAYS,C,M,S Guinée G I N EI PAYS,C,F,S Guinée-Bissao G I N EI B I S AU PAYS,C,F,S Honduras ON D U R A PAYS,C,M,S Hongrie ON G R I PAYS,C,F,S Indonésie IN D N AI Z I PAYS,V,F,S Irak I R A EE PAYS,V,F,S Iran I R AN PAYS,V,F,S Irlande I R L AN D EE PAYS,V,F,S Islande I L AN D EE PAYS,V,F,S Israël I R A AI L EE PAYS,V,F,S Italie I T A L I PAYS,V,F,S Jamaïque J A M A I EE PAYS,C,F,S Japon J A P ON PAYS,C,M,S Jordanie J R D A N I PAYS,C,F,S Kazakhstan K A Z A S T AN PAYS,C,M,S Kenya K EI N Y A PAYS,C,M,S Kirghizistan K I R G I Z I S T AN PAYS,C,M,S Koweït K AI EE PAYS,C,M,S Laos L A AU S EE PAYS,C,M,S Lesotho L AI T AU PAYS,C,M,S Lettonie L AI T N I PAYS,C,F,S Liban L I B AN PAYS,C,M,S Libéria L I B AI R Y A PAYS,C,M,S Libye L I B I PAYS,C,F,S Liechtenstein L I CH T OE N S T A Y N EE PAYS,C,M,S Lituanie L I T A N I PAYS,C,F,S Luxembourg L U S AN B OU R EE PAYS,VILLE,C,M,S Macédoine M A S EI D A N EE PAYS,C,F,S Malaisie M A L EI Z I PAYS,C,F,S Mali M A L I PAYS,C,M,S Maroc M A R O EE PAYS,C,M,S Mauritanie M R I T A N I PAYS,C,F,S Mexique M AI S I EE PAYS,REGION,C,M,S Mexique M EI S I EE PAYS,C,M,S Micronésie M I K R AU N AI Z I PAYS,C,F,S Moldavie M L D A V I PAYS,C,F,S Mongolie M ON G L I PAYS,C,F,S Mozambique M Z AN B I EE PAYS,C,M,S Namibie N A M I B I PAYS,C,F,S Népal N AI P A L EE PAYS,C,M,S Nicaragua N I K A R A G A PAYS,C,M,S Niger N I J AI R EE PAYS,C,M,S

Bibliographie

124

Nigeria N I J AI R Y A PAYS,C,M,S Norvège N R V AI PAYS,C,F,S Nouvelle-Zélande N OU V AI L EE Z EI L AN D EE PAYS,C,F,S Ouganda OU G AN D A PAYS,V,F,S Ouzbékistan OU B AI K I S T AN PAYS,V,F,S Pakistan P A K I S T AN PAYS,C,M,S Papouasie P A A Z I PAYS,C,F,S Paraguay P A R A G AI PAYS,C,M,S Pays-Bas P AI I B A PAYS,C,M,P Pérou P AI R OU PAYS,C,M,S Pologne P L O N Y EE PAYS,C,F,S Portugal P R T U G A L EE PAYS,C,M,S Qatar K A T A R EE PAYS,C,M,S République_centrafricaine R AI P U B L I S AN T R A F R I K AI N EE PAYS,C,F,S République_dominicaine R AI P U B L I D M I N I K AI N EE PAYS,C,F,S République_tchèque R AI P U B L I CH AI EE PAYS,C,F,S Roumanie R OU M A N I PAYS,C,F,S Royaume-Uni R Y M EE U N I PAYS,C,M,S Russie R U S I PAYS,C,F,S Rwanda R AN D A PAYS,C,M,S Saint-Siège S IN S Y AI J EE PAYS,C,M,S Salvador S A L V A D O R EE PAYS,C,M,S Sénégal S AI N AI G A L EE PAYS,C,M,S Seychelles S AI CH AI L EE PAYS,C,F,P Slovaquie L V A K I PAYS,C,F,S Slovénie L V AI N I PAYS,C,F,S Somalie S M A L I PAYS,C,F,S Soudan S OU D AN PAYS,C,M,S Sri-Lanka S R I L AN K A PAYS,C,M,S Suède S AI D EE PAYS,C,F,S Suisse S I S EE PAYS,C,F,S Suriname S U R I N A M EE PAYS,C,M,S Syrie S I R I PAYS,C,F,S Tadjikistan T A J I I T AN PAYS,C,M,S Tanzanie T AN Z A N I PAYS,C,F,S Tchad CH A D EE PAYS,C,M,S Thaïlande T A L AN D EE PAYS,C,F,S Togo T AU G AU PAYS,C,M,S Tunisie T U N I Z I PAYS,C,F,S Turkménistan T U R K M AI N I T AN PAYS,C,M,S Turquie T U R K I PAYS,C,F,S Ukraine U K R AI N EE PAYS,V,F,S Uruguay U R U G AI PAYS,V,F,S Vanuatu V A N A T OU PAYS,C,M,S Vatican V A T I K AN PAYS,C,M,S Vietnam V Y AI N A M EE PAYS,C,M,S,Viêt-Nam Yémen Y EI M AI N EE PAYS,C,M,S Yougoslavie Y OU G L A V I PAYS,C,F,S Zaïre Z A I R EE PAYS,C,M,S Zambie Z AN B I PAYS,C,F,S Zimbabwe Z I B A B EI PAYS,C,M,S

Bibliographie

125

ANNEXE D : ALGORITHMES DE DETECTION Cette annexe présente les algorithmes de détection de mots-clés. Premièrement, nous exposons l'algorithme basique, linéaire, avant de nous intéresser à la détection dans un arbre de mots-clés.

// // // pour

N est le nombre de mots-clés MotsCles[] est un tableau contenant les N mots et leurs prononciations Trans[] est une transcription phonétique de P phonèmes i de 1 à P // On parcours le flux phonème après phonéme pour j de 1 à N // On teste chaque mot un à un pour k de 1 à longueur(MotsCles[j]) si ( k == longueur(MotsCles[j]) ) alors on lève une détection de MotsCles[j]; sinon // On considère qu'un mot n'a qu'une seule prononciation // pour ne pas surcharger ce pseudocode si ( MotsCles[j]->Phonemes[k] != Trans[i+k-1] ) alors on brise cette boucle et on passe au mot suivant

Figure 59 : Algorithme basique de détection de mots-clés

// Trans[] est une transcription phonétique de P phonèmes // ptrNoeud est un pointeur vers un nœud de l'arbre // ArbreMotCle est le nom de l'arbre de mots-clés Declare ptrNoeud := NULL // Pointeur de nœud, pour le parcours de l'arbre Declare i := 0, j pour i de 1 à P // On parcours le flux phonème après phonéme j=i; ptrNoeud := racine(ArbreMotCle) ptrNoeud := ptrNoeud->ChercheNoeudFils(Trans[j]) Tant que (ptrNoeud!=NULL) Si ptrNoeud contient une référence vers un mot-clé M alors On lève une détection du mot-clé M j++; ptrNoeud := ptrNoeud->ChercheNoeudFils(Trans[j])

Figure 60 : Algorithme de détection exacte de mots-clés dans un arbre

Bibliographie

126

ANNEXE E : DISTANCE DE LEVENSHTEIN Cette annexe présente les algorithmes de calcul de la distance le Levenshtein. Nous exposons tout d'abord l'algorithme basique puis l'algorithme modifié pour l'injection des coûts d'erreurs adaptés.

// S1 et S2 sont deux chaînes de caractères sur lesquelles on souhaite // calculer la distance entier DistanceLevenshtein(char S1[1..longueurS1], char S2[1..longueurS2]) // d est une matrice de (longueurS1+1) lignes et (longueurS2+1) colonnes declare entier d[0..longueurS1, 0..longueurS2] // i et j itèrent sur S1 et S2 declare entier i, j, coût pour i de 0 d[i, 0] pour j de 0 d[0, j]

à longueurS1 := i à longueurS2 := j

pour i de 1 à lengthS1 pour j de 1 à lengthS2 si S1[i] = S2[j] alors coût := 0 sinon coût := 1 d[i, j] := minimum( d[i-1, j ] + 1, d[i , j-1] + 1, d[i-1, j-1] + coût )

// suppression // insertion // substitution

retourne d[longueurS1, longueurS2]

Figure 61 : Distance de Levenshtein

// S1 et S2 sont deux chaînes de caractères sur lesquelles on souhaite // calculer la distance flottant DistanceLevenshtein2(char S1[1..longueurS1], char s2[1.. longueurS2]) // d est une matrice de (longueurS1+1) lignes et (longueurS2+1) colonnes declare flottant d[0.. longueurS1, 0.. longueurS2] // i et j itèrent sur S1 et S2 declare entier i, j // c_ins, c_sup, c_sub sont les coûts des opérations élémentaires, // respectivement insertion, suppression et substitution declare flottant c_ins, c_sup, c_sub pour i de 0 d[i, 0] pour j de 0 d[0, j]

à longueurS1 := i à longueurS2 := j

Bibliographie

127

pour i de 1 à pour j de c_ins c_sup c_sub

longueurS1 1 à longueurS2 := CoutInsertion(S2[j]) := CoutSuppression(S1[i]) := CoutSubstitution(S1[i],S2[j])

d[i, j] := minimum( d[i-1, j ] + c_sup, d[i , j-1] + c_ins, d[i-1, j-1] + c_sub

// suppression // insertion // substitution

) retourne d[longueurS1, longueurS2]

Figure 62 : Pseudo-code de la distance de Levenshtein modifiée

Bibliographie

128

ANNEXE F : APPROXIMATIONS ET ARBRE Cette annexe présente un exemple de détection approximative dans un arbre de mots-clés. On propage dans l'arbre une matrice de programmation dynamique évoluant de la même façon qu'une pile à chaque phonème. On prend en considération uniquement les scores entre la requête de N phonèmes et des séquences possédant de 0.75*N à 1.5 phonèmes.

0

IR 1

4

AK (0;0) (2;0)

K

AK

R

AN

AK

AN

(1;0)

(0;1) (2;1)

(1;1)

AN

(0;2) (2;2)

(0;3) (2;3)

7

8

(1;2) 9

3 6 2 5 Figure 63 : Exemple d'arbre de suffixe généralisé

Avec le Tableau 19, nous donnons un exemple de parcours de l'arbre pour la recherche approximative de la requête "Irak / I R A K" dans l'arbre proposé en Figure 63. Un seuil de tolérance de 0.5, normalisé sur la longueur de la requête, est conservé.

NOEUDS

0

OPERATIONS

Initialisation

MATRICE DE DP Suppr Ins 0 I 2.8 R 4.2 A 6.4 K 8.7

COMMENTAIRES

Séquence testée trop courte

Bibliographie

129

Insertion de "I"

0 I 2.8 R 4.2 A 6.4 K 8.7

Insertion de "R"

0 I 2.8 R 4.2 A 6.4 K 8.7

I 2.8 0 1.9 4.1 6.4

Séquence testée trop courte

0 1

I 2.8 0 1.9 4.1 6.4

0 I 2.8 R 4.2 A 6.4 K 8.7

Insertion de "A"

I 2.8 0 1.9 4.1 6.4

R 5.1 2.3 0 2.2 4.5

R 5.1 2.3 0 2.2 4.5

Séquence testée trop courte

A 7.7 4.9 2.6 0 2.3

Meilleur score = 2.3/4 = 0.575

1 2

Insertion de "K"

1 3

On dépile "K" puis "A"; Insertion de "AN"

I R A K

0 2.8 4.2 6.4 8.7

I 2.8 0 1.9 4.1 6.4

0 I 2.8 R 4.2 A 6.4 K 8.7

R 5.1 2.3 0 2.2 4.5

I 2.8 0 1.9 4.1 6.4

A 7.7 4.9 2.6 0 2.3

R 5.1 2.3 0 2.2 4.5

K 10.7 7.9 5.6 3 0

AN 8.5 5.7 3.4 1.5 3.8

Meilleur score = 0/4 = 0

Meilleur score = 3.8/4 = 0.95

Bibliographie

130

Séquence testée trop courte.

0 4

On dépile "AN", "R" puis "I"; Insertion de "R"

Insertion de "A"

R 2.3 5.1 2.8 5 7.3

0 I 2.8 R 4.2 A 6.4 K 8.7

R 2.3 5.1 2.8 5 7.3

0 I 2.8 R 4.2 A 6.4 K 8.7

De plus, tous les scores sont supérieurs à 0.5*4=2, il sera donc impossible de trouver une séquence plus longue répondant au critère  ELAGAGE A 4.9 4.3 5.4 2.8 5.1

Séquence testée trop courte

4 5

Insertion de "K"

4 6

On dépile "K", "A" puis "R"; Insertion de "AN"

0 7

On dépile "AN" puis "R"; Insertion de "A"

0 I 2.8 R 4.2 A 6.4 K 8.7

R 2.3 5.1 2.8 5 73

0 I 2.8 R 4.2 A 6.4 K 8.7

0 I 2.8 R 4.2 A 6.4 K 8.7

A 4.9 4.3 5.4 2.8 5.1

R 2.3 5.1 2.8 5 7.3

K 7.9 7.3 8.4 5.8 2.8

AN 5.7 8.5 6.2 4.3 6.6

A 2.6 2 3.4 5.6 7.9

Meilleur score = 2.8/4 = 0.7

Séquence testée trop courte

Séquence testée trop courte

Bibliographie

131

Insertion de "K"

0 8

On dépile "K" puis "A"; Insertion de "K"

On dépile "K"; 0 9 Insertion de "AN"

0 I 2.8 R 4.2 A 6.4 K 8.7

A 2.6 2 3.4 5.6 7.9

K 5.6 5 5 7.2 5.6

0 I 2.8 R 4.2 A 6.4 K 8.7

K 3 5.8 5.8 8 6.4

0 I 2.8 R 4.2 A 6.4 K 8.7

AN 3.4 6.2 4.8 5.7 8

Séquence testée trop courte

Séquence testée trop courte

Séquence testée trop courte

Tableau 19 : Exemple de parcours approximatif dans un arbre de suffixes généralisé

Bibliographie

132

ANNEXE G : REQUETES CONTEXTUALISEES, LES "CHALLENGERS" Cette annexe présente les mots-clés challengers, c'est-à-dire les termes issus du filtrage "anti-contexte" proposé dans le cadre de l'expansion phonétique des requêtes. Les mots sont précédés d'un point d'exclamation pour reconnaître leur fonction particulière négative lors de la détection. !Amérique !Amérique !Amérique !Amérique !Chine !Chine !Chine !Chine !Espagne !France !France !France !France !France !France !France !France !France !France !France !Grèce !Grèce !Inde IN D !Inde Y IN !Inde IN D !Inde W IN !Inde S IN !Inde IN D !Inde V IN

Z A M EI R I K AN A M EI R I K EI A M EI R I K R A M EI R I K CH I N G W A CH I N CH I N W M A CH I N EI S P A N Y O F R AN S W EI F R AN S AI EU F R AN S AI L EI F R AN S ON F R AN S AI R F R AN S AI D EI F R AN S L F R AN S AI M AN F R AN S AI K F R AN S AI IN F R AN S AI AU G R AI S G R AI S EI I D EI D D U D

!Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Inde !Irak !Irak !Irak !Iran !Iran !Iran !Laos

F IN D IN D R T IN D R IN D K IN D Z IN D EI IN D IN D IN D AI M IN D IN D A IN D AU D IN D IN D IN IN D OU IN D Y IN D O A IN D EI L IN D P IN D P L IN D R L IN D CH I R A K I R A K Y Z I R A K EU N I R AN K I R AN T I R AN L A AU S I

Bibliographie

133

ANNEXE H : UN PREMIER MOTEUR DE RECHERCHE DE TERMES PARLES DANS DES ARCHIVES AUDIO Dans cette annexe, nous proposons un premier moteur de STD basé sur une organisation des documents en arbre de suffixes. Nous proposons dans un premier temps d'organiser les données phonétiques de façon à pouvoir effectuer une détection rapide des requêtes que ce soit en exact ou en approximatif. Pour cela, nous reprenons l'idée générale de la détection de mots-clés basés sur une organisation des requêtes phonétiques en arbre, mais en inversant le problème, c'est-à-dire en cherchant à organiser les transcriptions phonétiques en arbre afin de pouvoir y chercher efficacement nos requêtes. Pour ce faire, nous nous intéressons à une structure très utilisée en indexation des chaînes d'ADN en biologie, et qui permet à la fois d'accéder rapidement à toutes les souschaînes d'une chaîne de caractères et de conserver l'information phonétique séquentielle : les arbres de suffixes.

Les arbres de suffixes L'arbre de suffixe est une structure très utilisée en indexation, en particulier en biologie pour indexer des chaînes d'ADN. En effet, il permet de rechercher un motif M de longueur m dans un texte de longueur n tout en conservant une complexité en O(m). La recherche prend donc un temps dépendant uniquement de la longueur du motif et non de la taille du texte. Le concept a tout d'abord été introduit sous l'appellation "position tree" par Wiener en 73 [WIE 73] dans un article décrit par Donald Knuth comme étant "l'algorithme de l'année 1973". La construction de cet arbre a été simplifiée une première fois par McCreight en 76 [MCC 76] puis par Ukkonen en 1995 [UKK 95]. Celui-ci a proposé le premier algorithme de construction d'un arbre de suffixes en temps linéaire. Un premier exemple, donné en Figure 64, représente le mot BANANAS sous sa représentation en suffix trie. Un trie étant un arbre ayant N branches possibles pour chaque nœud, N étant le nombre de caractères de l'alphabet considéré. Le terme suffix indique le fait que cet arbre contient tout les suffixes de la chaîne de caractères.

Bibliographie

134

Figure 64 : Exemple de suffix trie sur le mot "BANANAS" Pour notre étude, nous avons choisi une implémentation de l'algorithme de McCreight, algorithme ayant apporté la notion de path compression, c'est-à-dire la possibilité de conserver sur une branche non pas un seul caractère mais une chaîne de caractères. Cette particularité permet de réduire la taille mémoire de O(N2) dans le cas d'un suffix trie à O(N), dans le pire des cas 2N, N étant la taille de la chaîne de caractères. Cet algorithme est détaillé en annexe I. Dans la suite, nous appelerons cette structure un suffix tree. En réalité, pour des questions d'espace mémoire, les labels ne sont pas concrètement représentés par des chaînes de caractères, mais par leurs positions relatives à l'intérieur de la chaîne intégrale S, comme représenté en Figure 65.

(6;6)

(1;1)

(2;3)

(0;6) (6;6)

0 (4;6)

(2;3)

5

6

(6;6) 4

(4;6) 1

(6;6)

3

S:

2

0

1

2

3

4

5

6

B

A

N

A

N

A

$

Figure 65 : Structure réelle d'un arbre de suffixes

Bibliographie

135

Les arbres de suffixes généralisés L'algorithme de McCreight permet de construire un arbre de suffixes à partir d'une seule chaîne de caractères, or nous souhaitons pouvoir inclure dans un même arbre plusieurs documents phonétiques. Pour cela, il existe une extension de l'algorithme permettant de construire un arbre de suffixes assurant la gestion de plusieurs chaînes de caractères séparées par des caractères de séparation appelés sentinelles. L'arbre généré est appelé arbres de suffixes généralisés [LEE 07], il permet de combiner dans un même arbre plusieurs chaînes de caractères différentes tout en étant capable d'identifier à la fois la chaîne et la position du suffixe dans cette chaîne. Concrètement, un identifiant numérique de la chaîne est ajouté dans les nœuds feuilles, comme indiqué en Figure 66, sous la forme (index chaîne, position dans la chaîne). Le caractère sentinelle est dans cet exemple '$'.

A

NA

P

BANANA$ PPLE$ NA (1;0)

(0;0)

$ (0;5)

NA$ (0;1)

LE$

$

E$ (1;3)

NA$ (0;4)

$ (0;2)

$ (1;4)

(0;6) (1;5)

PLE$ LE$ (1;1)

(1;2 )

(0;3) S : "BANANA$APPLE$"

Figure 66 : Exemple d'arbre de suffixes généralisé Voyons à présent comment intégrer cet algorithme à notre problème d'organisation des documents phonétiques.

Arbres de suffixes généralisés et transcriptions phonétiques Comme vu précédemment, les arbres de suffixes permettent de rechercher un motif M de longueur m dans une chaîne de caractères de taille n avec une complexité en O(m), quelque soit la valeur de n. Cette rapidité d'exécution est telle que nous la souhaitons pour notre système, voilà pourquoi nous avons choisi de structurer nos documents phonétiques dans un arbre de suffixes généralisé. Le découpage automatique des transcriptions en groupes de souffle permet de limiter la profondeur de l'arbre généré, et les silences deviennent dans notre cas le pendant des caractères sentinelles requis par l'algorithme de génération. Au final, les séquences de phonèmes des groupes de souffle remplacent les chaînes de caractères au niveau des branches, et les feuilles de l'arbre indexent le groupe de souffle ainsi

Bibliographie

136

que la position du suffixe dans ce groupe de souffle par une paire de paramètres (index GS35, position). Notons cependant qu'effectuer le découpage au niveau des silences lève un problème : on sera incapable de détecter une requête si le décodage a inséré un silence dans la séquence phonétique correspondante. Malgré tout, les silences sont des unités plus longues qu'un phonème basique, et fait partie des phonèmes les plus robustes au décodage, c'est pourquoi on peut faire l'hypothèse que ce type d'insertion sera probablement assez rare. La Figure 67 donne un exemple d'arbre de suffixes généralisé construit à partir de deux fichiers, comprenant au total 3 groupes de souffles.

IR

R

K

AK (0;2) (2;2)

AK (0;0) (2;0)

AN

AK

AN

(1;0)

(0;1) (2;1)

(1;1)

(0;3) (2;3)

GS_0

AN (1;2)

GS_1

Fichier 1 : "sil I R A K sil I R AN sil" Fichier 2 : "sil I R A K sil" GS_2

Figure 67 : Transcriptions phonétiques et arbre de suffixes généralisé Comme vu ci-dessus, la recherche exacte d'une requête phonétique de p phonèmes dans un corpus de test transformé en arbre de suffixes généralisé s'effectuera donc en une complexité O(p) totalement indépendante de la taille du corpus. Voyons à présent comment appliquer la recherche approximative dans une telle structure.

Recherche approximative Abordons à présent le problème de la recherche approximative : est-il simple d'appliquer à un tel arbre l'algorithme de programmation dynamique de calcul de distance phonétique ? Un problème similaire a déjà été posé dans le chapitre sur la détection de motsclés. En effet, intuitivement, effectuer une recherche approximative dans un arbre revient à calculer la distance entre une requête et chaque branche de l'arbre. Intéressons-nous donc tout d'abord au nombre de calculs de similarités maximum, c'est-à-dire le nombre maximum de feuilles contenues dans l'arbre. Chaque nœud possède au maximum 35 fils, le vocabulaire phonétique contenant 35 phonèmes différents, et la profondeur de l'arbre ne dépassera jamais 35

GS=groupe de souffle

Bibliographie

137

la longueur du plus grand groupe de souffle rencontré. Si on note cette longueur L, alors le nombre maximum de feuilles contenues dans l'arbre est de 35L. La différence fondamentale avec la détection de mots-clés est qu'ici, la longueur des requêtes phonétiques est connue. Il est donc aisé de connaître la taille approximative des séquences phonétiques susceptibles de contenir une requête effectivement été prononcée. En reprenant le fait que notre moteur de DAP aboutit à un taux d'erreur phonétique d'environ 25%, on fixe, pour une requête de p phonèmes une taille minimale de séquences approximatives à 0.75p et une taille maximale de 1.5p, comme proposé au chapitre précédent. Cette information permet donc un élagage simple lors d'une recherche approximative, en ne calculant pas de distance au-delà de 1.5p phonèmes pour chaque requête. De plus, toujours en suivant cette notion, nous avons décidé d'effectuer des types de recherches différents en fonction de la taille des requêtes. Dans cette optique, aucune approximation ne sera tolérée pour les requêtes inférieures à trois phonèmes, seules les substitutions seront gérées pour les requêtes inférieures à cinq phonèmes et les requêtes d'ordre supérieur se verront appliquer une programmation dynamique normale.

Construction de l'arbre à partir du corpus de test ESTER La Figure 68 illustre le nombre de nœuds requis en fonction du nombre de phonèmes lus lors de la construction de l'arbre de suffixes généralisé effectuée sur le corpus Test_ESTER contenant 7h30 de parole. 450000 400000

Nb noeuds

350000 300000 250000 200000 150000 100000 50000 0 0

100000

200000

300000

400000

Nb phonèmes

Figure 68 : Nombre de noeuds de l'arbre de suffixes généralisé en fonction du nombre de phonèmes lus dans le corpus de test On en déduit une loi linéaire empirique, relative à ce corpus de test : f(x) ~= (4/3)x (< 2x), qui respecte la loi de complexité vue précédemment posant le fait que l'espace mémoire relatif n'excéderait pas 2N. Concrètement, et suivant notre implémentation personnelle et probablement sous-optimisée, ce corpus de 7h30 sous forme d'arbre prend 74Mo en mémoire.

Bibliographie

138

De façon à constater le comportement de ce système sur une base de données plus importante, nous avons généré 168H de données audio. Pour ce faire, nous avons extrait aléatoirement des phrases et leurs transcriptions phonétiques d'articles du journal Le Monde, en considérant environ 25K phonèmes pour une heure. Au final, l'arbre construit sur cette nouvelle base de données aboutit à environ 1.5Go en mémoire. Cette solution, en l'état actuel d'implémentation, ne semble donc pas adaptée à la manipulation de très grandes bases de données audio.

Bibliographie

139

ANNEXE I : ALGORITHME DE MCCREIGHT Cette annexe présente l'algorithme de McCreight utilisé dans la construction des arbres de suffixes. Définitions Soit un alphabet Σ, un Σ+-tree T est un arbre dont les labels des branches appartiennent à Σ+ et toutes les branches sœurs commencent par un caractère différent. Notons path(k) la concaténation des labels des branches contenues dans le chemin menant de la racine de T au nœud k. Le locus d'une chaîne de caractères u dans un Σ+-tree est le nœud k tel que path(k)=u. Nous notons le nœud k par u. Chaque chemin est unique, il n'existe pas deux nœuds différents k≠m tels que path(k)=path(m). Une chaîne de caractères w appartient à T s'il existe un u tel que le nœud wu (c'est-à-dire le locus de wu) existe. L'ensemble des chaînes de caractères apparaissant dans T est noté words(T). Un arbre de suffixes pour une chaîne de caractères S appartenant à Σ est un Σ+-tree tel que words(T)={w|w est une sous-chaîne de S} et tout nœud interne possède deux fils. Posons T comme étant un arbre de suffixes pour S, alors chaque chemin intégral de T représente un suffixe de S, et chaque suffixe de S est représenté par un chemin unique de T. Pour une chaîne de caractères S, l'arbre de suffixes est unique. Le locus étendu d'une chaîne u est le locus de l'extension la plus courte de u, uw (w pouvant être vide), tel que uw est un nœud de T. Le locus contracté d'une chaîne u est le locus du plus long préfixe de u, x (x pouvant être vide), tel que x est un nœud de T. Appelons S notre chaîne principale. Sufi est le suffixe de S commençant à la ième position, indice commençant à 1 (Suf1=S). Headi est le plus long préfixe de sufi qui est aussi un préfixe de sufj pour j