• Aucun résultat trouvé

3. CALL-SLT

3.3. Composants de CALL-SLT

3.3.4. Traduction automatique

l’apprenant, ce qui lui permet de se détacher plus facilement de la phrase source et de s’exprimer avec plus de liberté. L’idée d’utiliser des pictogrammes et d’ainsi s’affranchir davantage d’une représentation linguistique a même été avancée (Rayner, 2010), comme l’illustre la figure 3.1.

Figure 3.1 : Interlangue graphique pour une version mobile de CALL-SLT

La force de CALL-SLT est que les trois réponses suggérées dans l’exemple 3.1,

« Could I have soup ? », « Soup please. » et « I would like soup please. », seront considérées comme correctes (comme réponse à la glose du même exemple ou à l’interlangue graphique de la figure 3.1), car elles renvoient toutes trois à la même représentation interlangue. Le but premier de CALL-SLT est donc d’inciter l’utilisateur à formuler une phrase le plus librement possible, afin que son aisance à s’exprimer s’améliore.

3.2. Fonctionnement

Avant d’entrer dans les détails techniques du fonctionnement de CALL-SLT et afin de mieux comprendre les chapitres qui suivent, commençons par nous intéresser à son utilisation et à son interface, dont la figure 3.2 est une capture d’écran.

Les icônes et boutons sont très explicites et l’utilisation du logiciel est simple. Dans la case (1), apparaît la glose en L1 ; c’est l’instruction qui explique à l’apprenant ce qu’il devra dire en L2. La navigation entre les différentes gloses se fait à l’aide des flèches vertes situées à gauche et à droite. La partie inférieure (2) est consacrée à l’aide. En cliquant sur le point d’interrogation bleu, l’utilisateur bénéficiera d’exemples écrits et oraux (symbole haut-parleur situé à gauche des phrases) qui lui serviront de référence pour se corriger et progresser. Le bouton violet (3) sert à l’enregistrement. L’inconvénient est qu’il faut maintenir le bouton de la souris enfoncé pendant la durée complète de l’énoncé ; dès que la pression est relâchée, l’enregistrement cesse et la fin de la phrase risque alors d’être coupée. Le résultat

de la reconnaissance vocale est affiché dans le champ (4). La barre verticale à gauche est verte si l’apprenant a correctement formulé la phrase et rouge s’il a fait une erreur. Il est également possible d’ajouter la couleur orange, résultat qui s’affiche si l’énoncé est grammaticalement correct, mais ne correspond pas à ce qui était attendu de l’élève dans la leçon. Cette option évite qu’une phrase correctement formulée soit sanctionnée par un résultat rouge, ce qui n’est pas souhaitable d’un point de vue pédagogique. Le bouton (5) permet d’écouter ce qui vient d’être enregistré. Cette fonctionnalité permet non seulement de s’assurer du bon déroulement de l’enregistrement (qualité du son, utilisation correcte du bouton d’enregistrement, etc.), mais aussi de se rendre compte des erreurs commises, notamment en ce qui concerne la prononciation. L’utilisateur, en comparant son énoncé à celui disponible dans l’aide, pourra identifier ses faiblesses et s’autocorriger. La barre supérieure (6) contient quatre boutons : le premier permet de sélectionner une paire de langues, le deuxième sert à choisir un domaine alors que le choix des leçons se fait à l’aide du troisième bouton. Le quatrième affiche des informations relatives au développement du logiciel. CALL-SLT possède trois niveaux de difficulté (7) (« easy », « medium » et « hard »), dont l’intérêt et la signification sont détaillés dans la section 3.2.1.1. Ils permettent à des étudiants possédant des connaissances différentes d’effectuer la même leçon ou à un utilisateur d’augmenter la difficulté au fil de son apprentissage et de ses progrès. La jauge (8) à droite représente le niveau sonore du micro. C’est un moyen de vérifier si le micro fonctionne bien ou si son volume est suffisant pour la reconnaissance vocale. Enfin, la barre en bas de page (9) indique quelle leçon est en cours d’utilisation, le nombre d’énoncés ayant été considérés comme corrects (« good ») ou incorrects (« bad »). En outre, à droite de l’écran se trouve un espace pouvant accueillir des informations théoriques à propos de la leçon ou toute autre donnée pertinente. De plus amples détails à ce sujet figurent dans le chapitre 5.6. Fichiers d’aide.

Figure3.2 : Interface de CALL-SLT

Voyons à présent quelles étapes sont réalisées par le logiciel pour déterminer si un énoncé est correct ou non (Baur, 2010 : 24, 25). La figure 3.3 illustre ce processus.

Tout d’abord, le système choisit une phrase en L2 en fonction de critères définis par le professeur (cf. chapitre 5.3. Élaboration du corpus) dans le corpus de la leçon (1). Cette phrase est transformée, à l’aide de la grammaire de la L2 (GL2), en représentation en L2 (2) puis, grâce à des règles de transfert (RT), en interlangue (3). La grammaire de l’interlangue (GI) permet ensuite d’obtenir une glose en L1 (4). L’utilisateur lit la glose et fait appel à l’aide écrite ou orale s’il en a besoin (5), puis énonce une phrase dans son micro (6). Cette production orale est analysée et convertie par un système de reconnaissance vocale en chaîne de caractères, c’est-à-dire en phrase (7), puis, à l’aide de la grammaire de la L2 (GL2), en représentation en L2 (8). Cette représentation est ensuite transformée en interlangue, grâce à des règles de transfert (9), puis cette interlangue est comparée avec celle de la glose de départ (10). Si les deux sont identiques, le système en déduit que l’exercice est correct et le signale par un feedback positif, une barre verte à gauche du résultat de la reconnaissance vocale (11a). Le système sélectionne alors une autre phrase parmi le corpus (1). Au contraire, si les deux

interlangues sont différentes, l’utilisateur recevra un feedback négatif, une barre rouge à gauche du résultat de la reconnaissance vocale (11b). Il aura alors la possibilité de faire appel à l’aide écrite ou orale et de réessayer (5).

Figure 3.3 : Schéma du fonctionnement de CALL-SLT

3.3. Composants de CALL-SLT

Maintenant que nous avons décrit les étapes suivies par CALL-SLT pour donner une instruction et déterminer si une production orale correspond à ce qui est attendu ou non, intéressons-nous aux deux outils principaux qui permettent de réaliser ce processus : la reconnaissance vocale et la traduction automatique. Tous deux reposent sur Regulus, une plateforme de logiciels libres, qui permet de développer des applications vocales avec des reconnaisseurs. Dans ce chapitre, nous allons commencer par définir quelques notions clés qui faciliteront la

à la reconnaissance vocale et aux différentes manières d’influencer sa qualité et enfin à la traduction automatique.

3.3.1. Notions clés

Les quelques définitions qui suivent sont des notions fondamentales en ingénierie linguistique et les exposer ici simplifiera la description des technologies et systèmes présentés par la suite. Nous avons utilisé comme référence principale le matériel des cours d’ingénierie linguistique dispensés au semestre d’automne 2011 à la Faculté de traduction et d’interprétation de l’Université de Genève (Bouillon, 2011).

3.3.1.1. Approche statistique et approche linguistique du TAL

Quand il est question de traitement automatique des langues (TAL), qu’il s’agisse de reconnaissance vocale ou de traduction automatique, deux types d’approche existent : statistique et linguistique.

Un système statistique repose sur des probabilités. Pour déterminer, par exemple, si la phrase reconnue est correcte, il va évaluer, sur la base de corpus, quelles sont, entre autres, les chances qu’un mot apparaisse plutôt qu’un autre (« mètre » ou

« maître ») ou que deux mots (un bigramme) ou trois mots (un trigramme) donnés se suivent (« cent ans » ou « sans ans »).

Un système linguistique, par contre, se fonde sur des connaissances linguistiques, notamment des grammaires, lesquelles sont composées de règles et de lexiques.

Par exemple, pour déterminer s’il convient d’écrire « J’ai chanté. » ou « J’ai chanter. », un système statistique trouvera que le bigramme « ai chanté » apparaît bien plus fréquemment que « ai chanter » dans son corpus et choisira ainsi la solution correcte. Un système linguistique, quant à lui, possédera une règle dans sa grammaire qui dit qu’un syntagme verbal peut être constitué d’un auxiliaire et d’un participe passé, mais ne trouvera pas de règle spécifiant qu’un syntagme verbal peut contenir un auxiliaire suivi d’un verbe à l’infinitif. Il choisira par conséquent également la bonne solution. La section suivante détaille le fonctionnement des grammaires.

3.3.1.2. Grammaire indépendante de contexte

En ingénierie linguistique, le but des grammaires est de créer un modèle de langage qui soit à la fois descriptif et représentatif. C’est-à-dire qu’il doit, d’une part, permettre de déterminer la structure d’une phrase, et donc de distinguer si cette dernière est grammaticalement correcte ou incorrecte et, d’autre part, il doit pouvoir représenter le rapport hiérarchique entre les différents constituants de la phrase, sous forme d’arbre syntaxique par exemple. La manière la plus répandue pour décrire et représenter une phrase est celle de la structure des constituants (Jurafsky, 2006 : 2). Celle-ci établit que la phrase n'est pas une simple succession de catégories syntaxiques. Au contraire, celles-ci se combinent pour former des syntagmes, qui, à leur tour, forment une phrase. C’est sur ce principe que se fondent les grammaires indépendantes de contexte (CFG pour Context Free Grammar), dont la forme a été définie par Chomsky en 1956 (Jurafsky, 2006 : 4).

Prenons pour exemple la phrase « Le chat mange la souris. » Son arbre syntaxique, selon la structure des constituants, est le suivant :

Figure 3.4 : Arbre syntaxique

Les grammaires indépendantes de contexte décrivent les structures syntaxiques à l’aide de règles formulées de manière très compacte qui permettent de généraliser ces structures. L’exemple 3.2 contient trois règles pour trois phrases différentes.

Exemple n° 3.2 : P det n v det n (le chat mange la souris)

P det adj n v det n (le gros chat mange la souris)

P det adj n v det adj n (le gros chant mange la petite souris)

Ces phrases peuvent cependant être décrites de manière plus compacte et générale à l’aide d’une grammaire indépendante de contexte qui contient des règles et un lexique, tels qu’illustrés dans l’exemple 3.3.

Exemple 3.3 : Règles P SN SV SN Dét ?Adj N SV V SN Lexique V {mange}

N {chat, souris}

Dét {le, la}

Adj {gros, petite}

Le point d’interrogation placée devant « Adj » signifie que la présence d’un adjectif est optionnelle. Si nous souhaitons que la grammaire accepte aussi les phrases « Le garçon lit un livre. » et « La petite fille écoute la jolie chanson. », il suffit d’enrichir le lexique, pas besoin de créer de nouvelles règles (ce qui serait le cas suivant l’exemple 3.2). C’est là tout l’intérêt de cette méthode. En effet, les grammaires indépendantes de contexte combinent les fonctions descriptives et représentatives et leur formalisme est assez puissant pour décrire toutes les structures syntaxiques.

3.3.1.3. Grammaire d’unification

Une grammaire d’unification (UG pour Unification Grammar) est en fait une grammaire indépendante de contexte agrémentée de paramètres qui définissent, entre autres, l’accord en genre et en nombre, la rection ou le temps des verbes ou la valeur sémantique du lexique. Bien que les CFG permettent de prendre en compte certaines contraintes, il devient difficile d’introduire des caractéristiques plus complexes et le nombre de règles est rapidement multiplié. Les UG, elles, remplacent ces catégories atomiques par des traits, composés d’un attribut et de la valeur de cet attribut. Ainsi, les différents symboles de la grammaire sont chacun décrits par une structure de traits contenant des caractéristiques telles que le nombre ou le type de sujet d’un verbe. L’avantage est que la compatibilité des structures de traits, et donc la conformité de la phrase, peut être vérifiée très

simplement, par comparaison. Ce processus s’appelle l’unification et est illustré par l’exemple 3.4.

Exemple 3.4 : sv:[sem=concat(V,SN), mode=M, rection=transitif, sem_sujet=S, nombre=N, pers=P]

verb:[sem=V, mode=M, rection=transitif, sem_objet=Objet, sem_sujet=S, nombre=N, pers=P],

sn:[sem=SN, sem_type=Objet].

Dans cet exemple, le système vérifiera que le type sémantique de l’objet du verbe (attribut « sem_objet » de valeur « Objet ») s’unifie avec le type sémantique du syntagme nominal (attribut « sem_type » dont la valeur doit également être

« Objet ») qui suit ce verbe. Cette règle permet d’éviter des phrases telles que « Le chat mange la gare », car la comparaison du type sémantique de « gare » (de valeur

« Lieu », par exemple) avec le type sémantique de l’objet du verbe montre que cette phrase n’est pas bien formée : l’unification n’est pas possible.

Les grammaires d’unification sont plus économes et élégantes que les grammaires indépendantes de contexte et permettent de mieux représenter les relations complexes qui unissent les mots d’une phrase.

3.3.2. Regulus

Regulus est une plateforme open source qui regroupe différents outils permettant de définir un modèle de langage basé sur des règles de grammaire générales, selon le formalisme des grammaires d’unification (Bouillon, 2006). Ce système a entre autres été utilisé dans le cadre du projet MedSLT, un logiciel de traduction de la parole multilingue conçu pour le domaine médical et également développé par le département TIM/ISSCO. Le but de Regulus est de partir d’une seule grammaire d’unification, indépendante de toute application, et de la dériver ensuite en différentes grammaires d’unifications pour des domaines spécialisés, lesquelles sont alors compilées dans le formalisme propre aux grammaires indépendantes de contexte (Rayner, 2004). Ce dernier point est important, car le formalisme CFG est requis par les reconnaisseurs.

Linguistics into Speech Recognition : The Regulus Grammar Compiler » (Rayner, 2006). Quant à la grammaire d’unification française, il s’agit en fait d’une grammaire partagée pour le français, l’espagnol et le catalan (Bouillon, 2006).

3.3.3. Reconnaissance vocale

Le but de la reconnaissance vocale est de transformer des sons en chaînes de caractères. Le problème principal de ces outils est que plusieurs chaînes de caractères peuvent représenter le même son (les mots « sans », « cent », « sang »,

« sent »et « sens » se prononcent tous [s ). Il existe différents modèles de reconnaissances vocales : linguistique ou statistique. Le choix entre ces deux approches s’effectue sur la base de plusieurs critères. Ainsi, en général, s’il s’agit d’un système plurilocuteur ou si le domaine est bien délimité, une approche linguistique est préférable, alors que dans le cas d’un système monolocuteur (c’est-à-dire que l’empreinte vocale de chaque utilisateur est enregistrée) ou d’une application dont le sujet est général, une approche statistique conviendra mieux.

La figure 3.5 (Bouillon, 2011) schématise le fonctionnement de la reconnaissance vocale.

Figure 3.5 : Schéma illustrant le fonctionnement de la reconnaissance vocale

Comme le montre ce schéma, le modèle acoustique sert à transformer un signal sonore en une suite de phonèmes. Le dictionnaire acoustique, constitué d’un nombre extrêmement important de mots et de leurs prononciations, sert ensuite à transformer ces phonèmes en mots. Plusieurs problèmes surviennent lors de cette étape : les accents, les sons émis qui ne sont pas des mots (signes d’hésitation) et

les élisions ou liaisons. Pour faire face aux deux derniers obstacles, il est important de réaliser la reconnaissance vocale dans un endroit calme avec un microphone de qualité. En ce qui concerne les accents, qu’il s’agisse d’un locuteur non natif ou d’une personne à l’accent typique de sa région, chacun prononce certains mots différemment. Pour surmonter cette difficulté, il est par exemple possible de spécialiser le modèle pour un utilisateur donné, en enregistrant son empreinte vocale. En outre, les dictionnaires acoustiques contiennent plusieurs prononciations possibles pour chaque mot. Néanmoins, ces outils ne seront jamais exhaustifs et ne prendront pas forcément en compte les noms propres ou étrangers, les acronymes ou les néologismes, par exemple. C’est pour cette raison qu’un bon système doit permettre l’ajout de nouveaux mots et de leurs prononciations. Alors que le modèle acoustique met en lien les sons et les mots, le modèle du langage définit la combinatoire des mots. Ainsi, pour la suite de phonèmes [i l e s ʒ ɛ n], le modèle acoustique proposera « Il est sans/sang/cent/sent/sens gêne » et le modèle du langage devra déterminer lequel de ces homophones est correct dans cette phrase. Pour accomplir cette tâche, le modèle du langage fonctionne soit selon l’approche linguistique, soit selon l’approche statistique, c’est-à-dire qu’il s’appuiera sur une grammaire ou sur des probabilités. L’avantage d’un système linguistique est que, en principe, il ne produit pas de phrases agrammaticales ou asémantiques et évite des fautes de grammaire qu’un correcteur ne détecte pas. De plus, un système statistique, bien que plus robuste, nécessite un corpus conséquent qui peut s’avérer difficile à rassembler.

Le système de reconnaissance vocale de CALL-SLT est un système linguistique qui allie le reconnaisseur Nuance6 et une grammaire CFG spécialisée, notamment à l’aide du corpus correspondant à un domaine donné, et compilée au formalisme propre à Nuance. Nuance fournit les outils nécessaires à la création d’un kit de reconnaissance utilisable ensuite dans diverses applications.

Étant donné que le système de reconnaissance vocale est dérivé de la grammaire spécialisée, elle-même issue du corpus, il ne reconnaîtra que les mots et les

le système de reconnaissance vocale est spécialisé en fonction du domaine ou de la leçon. Deux avantages principaux pour CALL-SLT découlent de cette méthode.

D’une part, il est possible d’influencer la qualité de la reconnaissance vocale en augmentant ou en réduisant la taille et la complexité du corpus. D’autre part, le champ de reconnaissance étant suffisamment délimité, il n’est pas nécessaire d’enregistrer l’empreinte vocale de chaque utilisateur.

3.3.3.1. Qualité de la reconnaissance vocale

Dans le cadre des leçons développées pour ce travail de mémoire, la qualité de la reconnaissance vocale est particulièrement importante, car il faut non seulement que le logiciel accepte une prononciation correcte, mais également qu’il refuse une prononciation incorrecte. Il est également important de veiller à ce que le taux de reconnaissance ne soit pas trop faible, pour ne pas décourager les utilisateurs.

Nous disposons de quatre moyens afin d’obtenir une reconnaissance équilibrée : ajouter des mots et leurs prononciations au dictionnaire acoustique, ajuster la rigidité de la grammaire, varier la taille du corpus pour influencer les types de phrases et le nombre de mots pris en charge par le système et définir un paramètre de préférence qui détermine dans quelle mesure le résultat de la reconnaissance vocale doit pencher vers la réponse attendue.

La première solution, enrichir le dictionnaire acoustique, n’est pas très pertinente pour les exercices de prononciation que nous souhaitons développer. En effet, nous ne prévoyons pas d’utiliser des noms propres ou des mots rares. Le contenu de notre corpus devrait être couvert par le dictionnaire existant.

La rigidité de la grammaire, définie par les différents traits attribués aux éléments du lexique et des règles, est le deuxième moyen à notre disposition. Les grammaires Regulus doivent contenir des traits, sans quoi la qualité de la reconnaissance est insatisfaisante (Bouillon, 2006 : 3). Seulement, afin que CALL-SLT puisse véritablement distinguer une bonne d’une mauvaise prononciation et ne reconnaisse pas seulement la bonne solution, même si elle est mal prononcée, il faut que, grammaticalement, la phrase mal prononcée puisse être produite par le système. Par exemple, le logiciel demande à l’utilisateur de prononcer la phrase « I hate rain ». Si l’utilisateur ne prononce pas bien le son [h et dit « I ate rain », il faut

que cette phrase, bien qu’asémantique, soit reconnue par le système et tolérée par la grammaire. Dans le cas contraire, le système produit la phrase « Ihate rain » et l’utilisateur ne se rendra pas compte de son erreur. Les traits sont des paramètres délicats à manipuler dont la modification affecte le fonctionnement général de la grammaire et de tous les outils qui reposent sur celle-ci. Pour le développement des leçons de prononciation, nous n’avons pas expérimenté avec la rigidité de la grammaire. Les quelques changements effectués avaient pour but de permettre la reconnaissance de phrases incorrectes sémantiquement telles que « I ate rain. » Nous avons par contre utilisé la troisième solution, varier la taille du corpus. CALL-SLT propose trois niveaux de difficultés aux utilisateurs : « easy », « medium » et

« hard ». Chaque niveau se fonde sur un corpus de taille différente. Le niveau

« easy » ne prend en compte que les structures syntaxiques et le lexique de la leçon en cours (par exemple, leçon portant sur la prononciation du son [h]). Le niveau

« medium » y ajoute le contenu des autres leçons appartenant au même domaine (par exemple, toutes les leçons du domaine de la prononciation), alors que le niveau « hard » rassemble le corpus de toutes les leçons et de tous les domaines

« medium » y ajoute le contenu des autres leçons appartenant au même domaine (par exemple, toutes les leçons du domaine de la prononciation), alors que le niveau « hard » rassemble le corpus de toutes les leçons et de tous les domaines