PROCEDE DE CONSTRUCTION DISTRIBUEE D'UN MODELE DE
RECONNAISSANCE VOCALE , DISPOSITIF, SERVEUR ET PROGRAMMES
D'ORDINATEUR POUR METTRE EN ŒUVRE UN TEL PROCEDE
La présente invention concerne le domaine de la reconnaissance de la parole embarquée, et plus particulièrement le domaine de la fabrication des modèles de reconnaissance vocale utilisés dans le cadre de la reconnaissance embarquée. Un terminal utilisateur pratiquant la reconnaissance embarquée, capture un signal vocal à reconnaître en provenance de l'utilisateur. Il le compare à des modèles de reconnaissance prédéterminés mémorisés dans le terminal utilisateur correspondant chacun à un mot (ou une séquence de mots) pour reconnaître, parmi ces derniers, le mot (ou la séquence de mots) qui a été prononcé par l'utilisateur. Puis il réalise une opération en fonction du mot reconnu.
La reconnaissance embarquée évite les délais de transfert survenant dans le cas de la reconnaissance centralisée ou distribuée et dus aux échanges sur le réseau entre le terminal utilisateur et un serveur effectuant alors tout ou partie des tâches de reconnaissance. La reconnaissance embarquée s'avère en particulier efficace pour des tâches de reconnaissance de parole telles que le répertoire personnalisé.
Le modèle d'un mot est un ensemble d'informations représentant plusieurs façons de prononcer le mot (accentuation/omission de certains phonèmes et/ou variété de locuteurs etc.). Les modèles peuvent également modéliser, non pas un mot, mais une séquence de mots. Il est possible de fabriquer le modèle d'un mot, à partir d'une représentation initiale du mot, cette représentation initiale pouvant être textuelle (chaîne de caractères) ou encore vocale. Dans certains cas, les modèles correspondant au vocabulaire
_reconnaissable- par- le 4erminal-(p^ar-exemple^le~coτitenir~du~rêpertoire)" sôήF fabriqués directement par le terminal. Aucune connexion avec un serveur n'est requise pour la fabrication des modèles, mais les ressources disponibles sur le terminal limitent fortement la capacité des outils de fabrication.
Pour un bon traitement des noms propres, avec une bonne prédiction des variantes possibles de prononciation, il est préférable d'employer de gros lexiques d'exceptions, ainsi que de larges ensembles de règles. Une telle base de connaissances ne peut donc pas être facilement installée à demeure sur un 5 terminal. Dans le cas où la fabrication des modèles est locale au terminal utilisateur, la taille de la base de connaissances employée est réduite pour des raisons de contraintes de dimension de mémoire (moins de règles et moins de mots dans le lexique), ce qui fait que la prononciation de certains mots sera mal prédite.
10 De plus il est quasiment impossible d'installer simultanément sur le terminal des bases de connaissances pour plusieurs langues.
Dans d'autres cas, les modèles sont fabriqués sur un serveur, puis téléchargés en direction du terminal utilisateur.
Par exemple, le document EP 1 047 046 décrit une architecture 15 comprenant un terminal utilisateur, comportant un module de reconnaissance embarquée, et un serveur reliés par un réseau de communication. Selon ce document, le terminal utilisateur capture une entité à modéliser, par exemple un nom de contact destiné à être mémorisé dans un répertoire vocal du terminal utilisateur. Puis il envoie à destination du serveur des données 20 représentatives du nom de contact. Le serveur détermine à partir de ces données un modèle de référence représentatif du nom de contact (par exemple un modèle de Markov) et le communique au terminal utilisateur, qui le stocke dans un lexique de modèles de référence associé au module de reconnaissance de la parole.
25 Toutefois cette architecture implique la transmission au terminal utilisateur de tous les paramètres du modèle de référence pour chaque nom de contact à enregistrer, ce qui implique un grand nombre de données à transmettre, et donc des coûts et des délais de communication importants.
La présente invention vise à proposer une solution ne présentant pas _3Q_ de telsjn_convénientsτ
Suivant un premier aspect, l'invention propose un procédé de construction distribuée d'un modèle de reconnaissance vocale d'une entité à modéliser. Le modèle est destiné à être utilisé par un dispositif comportant une
base de modèles construits et une base de référence stockant des éléments de modélisation. Le dispositif est apte à communiquer avec un serveur par l'intermédiaire d'une liaison de communication. Le procédé comporte au moins les étapes suivantes : - le dispositif obtient l'entité à modéliser ;
- le dispositif transmet sur la liaison de communication à destination du serveur des données représentatives de l'entité ;
- le serveur reçoit les données à modéliser et effectue un traitement pour déterminer à partir de ces données, un ensemble de paramètres de modélisation indiquant des éléments de modélisation ;
- le serveur transmet sur la liaison de communication à destination du dispositif les paramètres de modélisation ;
- le dispositif reçoit les paramètres de modélisation et détermine le modèle de reconnaissance vocale de l'entité à modéliser en fonction d'au moins les paramètres de modélisation et d'au moins un élément de modélisation stocké dans la base de référence et indiqué dans les paramètres de modélisation transmis ; et
- le dispositif mémorise le modèle de reconnaissance vocale de l'entité à modéliser dans la base de modèles construits. Dans un mode de mise en oeuvre avantageux de l'invention, le dispositif est un terminal utilisateur à reconnaissance vocale embarquée.
L'invention permet ainsi de bénéficier de la puissance de ressources disponibles sur un serveur et ainsi de ne pas être limité lors des premières étapes de la construction du modèle par des contraintes de dimension de mémoire propres au dispositif, par exemple un terminal utilisateur, tout en limitant la quantité des données transférées sur le réseau. En effet, les données transférées ne correspondent pas au modèle complet correspondant à l'entité à modéliser, mais à des informations qui vont permettre au dispositif de construire le modèle complet, en s'appuyant sur une base de connaissance générique-stockée-dans-le-dispositif:
Par ailleurs, l'invention permet, par des opérations d'évolution centralisées, de maintenance et/ou de mise à jour, réalisées sur les bases de connaissance du serveur, de faire bénéficier les dispositifs de ces évolutions.
Suivant un second aspect, l'invention propose un dispositif apte à communiquer avec un serveur par l'intermédiaire d'une liaison de communication. Il comprend :
- une base de modèles construits ;
5 - une base de référence stockant des éléments de modélisation ;
- des moyens pour obtenir l'entité à modéliser ;
- des moyens pour transmettre sur la liaison de communication à destination du serveur des données représentatives de l'entité ;
- des moyens pour recevoir des paramètres de modélisation en 10 provenance du serveur, correspondant à l'entité à modéliser et indiquant des éléments de modélisation ; et
- des moyens pour déterminer le modèle de reconnaissance vocale de l'entité à modéliser en fonction d'au moins les paramètres de modélisation transmis et d'au moins un élément de modélisation stocké dans la base de
15 modélisation élémentaire et indiqué dans les paramètres de modélisation reçus ;
- des moyens pour mémoriser le modèle de reconnaissance vocale de l'entité à modéliser dans la base de modèles construits.
Le dispositif est adapté pour mettre en œuvre les étapes d'un procédé 20 selon le premier aspect de l'invention qui incombent au dispositif, pour constituer le modèle de l'entité à modéliser;
Dans un mode de réalisation, le dispositif est un terminal utilisateur destiné à effectuer de la reconnaissance vocale embarquée à l'aide de moyens de reconnaissance vocale embarqués adaptés pour comparer des données 25 représentatives d'un signal audio à reconnaître capturé par le terminal utilisateur, à des modèles de reconnaissance vocale mémorisés dans le terminal utilisateur.
Suivant un troisième aspect, l'invention propose un serveur pour effectuer une partie de tâches de fabrication de modèles de reconnaissance
3.0 vocale—destinés— à— être— mémorisés— et- utilisés- par-un-'dispositif" àptê~ a" communiquer avec le serveur par l'intermédiaire d'une liaison de communication. Le serveur comprend :
- des moyens pour recevoir par l'intermédiaire de la liaison de communication des données à modéliser transmises par le dispositif ;
- des moyens pour effectuer un traitement pour déterminer à partir de ces données, un ensemble de paramètres de modélisation indiquant des éléments de modélisation ;
- des moyens pour transmettre sur la liaison de communication à destination du dispositif les paramètres de modélisation.
Le serveur est adapté en outre pour mettre en œuvre les étapes d'un procédé suivant le premier aspect de l'invention qui incombent au serveur. Suivant un quatrième aspect, l'invention propose un programme d'ordinateur de constitution de modèles de reconnaissance vocale à partir d'une entité à modéliser, exécutable par une unité de traitement d'un dispositif destiné à effectuer de la reconnaissance vocale embarquée. Ce programme utilisateur comprend des instructions pour exécuter les étapes, qui incombent au dispositif, d'un procédé suivant le premier aspect de l'invention, lors d'une exécution du programme par l'unité de traitement.
Suivant un cinquième aspect, l'invention propose un programme d'ordinateur de constitution de modèles de reconnaissance vocale, exécutable par une unité de traitement d'un serveur et comprenant des instructions pour exécuter les étapes, qui incombent au serveur, d'un procédé suivant le premier aspect de l'invention, lors d'une exécution du programme par l'unité de traitement.
D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : la figure 1 représente un système comportant un terminal utilisateur et un serveur dans un mode de mise en œuvre de l'invention ; la figure 2 représente un graphe lexical déterminé à partir de -la- chaîne-de- caractères ~<cPetït » par un serveur dans un mode de réalisation de l'invention ; la figure 3 représente un graphe lexical déterminé à partir de la chaîne de caractères « Petit » avec prise en compte des
contextes par un serveur dans un mode de réalisation de l'invention ; la figure 4 représente un graphe de modélisation acoustique déterminé à partir de la chaîne de caractères « Petit », par un serveur dans un mode de réalisation de l'invention.
La figure 1 représente un terminal utilisateur 1 , qui comporte un module de reconnaissance vocale 2, un lexique 5 stockant des modèles de reconnaissance, un module de fabrication de modèles 6 et une base de référence 7. La base de référence 7 stocke des éléments de modélisation. Ces éléments lui ont été préalablement fournis dans une étape de configuration de la base 7 du terminal, en usine ou par téléchargement.
On considère ci-après l'application au répertoire vocal de la reconnaissance vocale opérée par le module 2. Dans ce cas, chaque nom de contact dans le répertoire est associé à un modèle de reconnaissance respectif stocké dans le lexique 5, qui comprend ainsi l'ensemble des noms de contacts reconnaissables.
Lorsque l'utilisateur énonce le nom d'un contact à reconnaître, le signal correspondant est capturé à l'aide d'un microphone 3 et fourni en entrée du module de reconnaissance 2. Ce module 2 met en œuvre un algorithme de reconnaissance analysant le signal (par exemple en effectuant une analyse acoustique pour déterminer une séquence de trames et des coefficients cepstraux associés) et déterminant s'il correspond à un des modèles de reconnaissance stockés dans le lexique 5. Dans le cas positif, c'est-à-dire lorsque le module de reconnaissance vocale a reconnu le nom du contact, le terminal utilisateur 1 compose alors le numéro de téléphone mémorisé dans le répertoire vocal en association avec le nom du contact reconnu.
Les modèles stockés dans le lexique 5 sont par exemple des modèles de Markov correspondant aux noms des contacts. On rappelle qu'un modèle
densité de probabilité et d'une chaîne de Markov. Il permet le calcul de la probabilité d'une observation X pour un message m donné. Le document « Robustesse et flexibilité en reconnaissance automatique de la parole » de D.
Jouvet, Echo des Recherches, n° 165, 3ème trimestre 1996, pp. 25-38, décrit notamment la modélisation markovienne de la parole.
Selon l'invention, la fabrication des modèles de reconnaissance stockés dans le lexique 5 est distribuée entre le terminal utilisateur 1 et un 5 serveur 9. Le serveur 9 et le terminal utilisateur 1 sont reliés par une liaison bidirectionnelle 8.
Le serveur 9 comporte un module 10 de détermination de paramètres de modélisation et une pluralité de bases 11 comportant des règles de type lexical et/ou syntaxique et/ou acoustique et/ou des connaissances relatives 10 notamment aux variantes en fonction des langues, des accents, aux exceptions dans le domaine des noms propres etc. La pluralité de bases 11 permet ainsi d'obtenir l'ensemble des variantes de prononciation possibles d'une entité à modéliser, lorsqu'on souhaite une modélisation de ce type.
Le terminal utilisateur 1 est adapté pour obtenir une entité à modéliser 15 (dans le cas considéré ici : le nom de contact « PETIT ») fourni par l'utilisateur, par exemple sous forme textuelle, par l'intermédiaire de touches que comporte le terminal utilisateur 1.
Le terminal utilisateur 1 établit ensuite une liaison en mode data par l'intermédiaire de la liaison de communication 8, et envoie au serveur 9 par 20 l'intermédiaire de cette liaison 8, la chaîne de caractères « Petit » correspondant au mot « PETIT ».
Le serveur 9 reçoit la chaîne de caractères et effectue un traitement à l'aide du module 10 et de la pluralité de bases 11, pour fournir en sortie un ensemble de paramètres de modélisation indiquant des éléments de 25 modélisation.
Le serveur 9 envoie les paramètres de modélisation au terminal utilisateur 1.
Le terminal utilisateur 1 réceptionne ces paramètres de modélisation qui indiquent des éléments de modélisation, extrait de la base de référence 7
3.0 les— éléments— indiqués,— puis— construit— à— partir~desdits"-paτamètres~~dë" modélisation et desdits éléments, le modèle correspondant au mot « PETIT ».
Dans un premier mode de réalisation, Ia base de référence 7 comporte un modèle de reconnaissance pour chaque phonème, par exemple un modèle de Markov.
Le module 10 de détermination de paramètres de modélisation du serveur 9 est adapté pour déterminer un graphe phonétique correspondant à la chaîne de caractères reçue. A l'aide de la pluralité de bases 11 , il détermine ainsi à partir de la chaîne de caractères reçue, les différentes prononciations possibles du mot. Puis il représente chacune de ces prononciations sous la forme d'une succession de phonèmes. Ainsi, à partir de la chaîne de caractères « Petit » reçue, le module 10 du serveur détermine les deux prononciations suivantes : p.e.t.i. ou p.t .i, selon que le e muet est prononcé ou pas. Ces variantes correspondent à des successions respectives de phonèmes, représentées conjointement sous la forme p . ( e I ( ) ) . t . i ou encore par le graphe phonétique représenté en figure 2.
Le serveur 9 renvoie ensuite au terminal utilisateur 1 un ensemble de paramètres de modélisation décrivant ces variantes. L'échange est par exemple le suivant : Terminal -> Serveur : « Petit » Serveur -> Terminal : p . (e I () ) . t . i .
Lorsque le terminal utilisateur reçoit ces paramètres de modélisation décrivant des séquences de phonèmes, il construit le modèle du mot « PETIT » à partir du graphe phonétique, et des modèles de Markov stockés dans la base d'éléments de modélisation pour chacun des phonèmes /p/, /e/, /t/, /i/. Puis il stocke le modèle de Markov ainsi construit pour le nom de contact « PETIT » dans le lexique 5.
Ainsi la construction du modèle a été réalisée en exploitant des connaissances figurant dans la pluralité des bases 11 du serveur 9, mais a nécessité la transmission par le serveur, sur la liaison de communication 8, des
~seαïs~pafamèfres décrivant le graphe de modélisation pnonêtique représenté en figure 2, ce qui représente une quantité d'informations bien moindre que celle correspondant à la totalité du modèle du nom « PETIT » stocké dans le lexique 5.
Dans un contexte multilingue, la base de référence 7 du terminal utilisateur 1 peut stocker des jeux de modèles de phonèmes pour plusieurs langues. Dans ce cas, le serveur 10 transmet en outre une indication sur le jeu à utiliser. Dans ce cas, l'échange sera par exemple du type :
Terminal -> Serveur : « Petit »
Serveur -> Terminal : p_fr_FR . (e_fr_FR I ()) . t_fr_FR . LfM=R1 où le suffixe _fr_FR désigne des phonèmes du français appris sur des données acoustiques françaises (par opposition à des données canadiennes ou belges, par exemple) .
Par ailleurs, pour de nombreux noms propres, le serveur 9, à l'aide de la pluralité de bases 11, détecte et prend en compte la langue d'origine « supposée » du nom. Il génère ainsi des variantes pertinentes de prononciation pour celui-ci ( cf. « Generating proper name pronunciation variants for automatic récognition », de K. Bartkova ; Proceedings ICPhS'2003, 15th International Congress of Phonetic Sciences, Barcelone, Espagne, 3-9 août 2003, pp 1321-1324).
Dans un mode de réalisation, pour accroître les performances ultérieures de reconnaissance, le module 10 de détermination de paramètres de modélisation du serveur 9 est adapté pour prendre en compte en outre les influences contextuelles, c'est-à-dire ici les1 phonèmes qui précédent et qui suivent le phonème courant, comme représenté sur la figure 3.
Le module 10 dans un mode de réalisation peut alors envoyer des paramètres de modélisation décrivant le graphe phonétique avec prise en compte des contextes. Dans ce mode de réalisation, la base de référence 7 comporte les modèles de Markov des phonèmes prenant en compte les contextes.
Il a été décrit ci-dessus une représentation de chaque prononciation possible sous la forme d'une succession de phonèmes. Toutefois, d'autres niodes_-de_ -mise — en- œuvre— de — l'invention — peuvent" îëpTésëntêf des" prononciations sous la forme d'une succession d'unités phonétiques autres que les phonèmes, par exemple de polyphones (suite de plusieurs phonèmes) ou d'unités sub-phonétiques qui prennent en compte, par exemple, la séparation
entre la tenue et l'explosion des plosives. Dans ce cas de mise en œuvre de l'invention, la base 7 comporte des modèles respectifs de telles unités phonétiques.
Le mode de réalisation décrit ci-dessus en référence à la figure 3 est relatif au cas où le serveur prend en compte les contextes. Dans un autre mode de réalisation, c'est le terminal qui prendra en compte les contextes pour la modélisation, sur la base d'une description lexicale (par exemple un graphe lexical standard indiquant simplement les phonèmes) transmise par le serveur, de l'entité à modéliser. Dans un autre mode de mise en œuvre de l'invention, le module 10 du serveur 9 est adapté pour déterminer, à partir des informations envoyées par le terminal relatives àl'entité à modéliser, un graphe de modélisation acoustique.
Un tel graphe de modélisation acoustique déterminé par le module 10 à partir du graphe phonétique obtenu à partir de la chaîne de caractères « Petit » est représenté en figure 4. Ce graphe est le support du modèle de
Markov, qui associe une chaîne de Markov à un ensemble de fonctions de densités de probabilité D.
Les cercles, numérotés 1 à 14, représentent les états de la chaînes de
Markov, et les arcs indiquent les transitions. Les étiquettes D désignent les fonctions de densité de probabilité, qui modélisent les formes spectrales que l'on observe sur un signal et qui résultent d'une analyse acoustique. La chaîne de Markov contraint l'ordre temporel dans lequel on doit observer ces formes spectrales. On considère ici que les densités de probabilités sont associées aux états de la chaîne de Markov (dans un autre mode de réalisation, les densités sont associées aux transitions).
La partie haute du graphe correspond à la variante de prononciation p.e.t.i, la partie basse correspond à la variante p .t.i.
Dp1, Dp2, Dp3 désignent trois densités associées au phonème /p/. De même, De1, De2, De3 désignent les trois densités associées au phonème IeI ; Dtl,JDt2, D_t3-désignent- trois-densités assOciées~~au~ phc7rè7τTë"7t/"èTDÏ1 , ' DÏ2,
Di3 désignent les trois densités associées au phonème IM. Le choix de trois états et densités par modèle acoustique de phonème (correspondant respectivement au début, au milieu et à la fin du phonème) est courant, mais
non unique. En effet, on peut utiliser plus ou moins d'états et de densités pour chaque modèle de phonème.
Chaque densité est en fait constituée d'une somme pondérée de plusieurs fonctions gaussiennes définies sur l'espace des paramètres acoustiques (espace correspondant aux mesures effectuées sur le signal à reconnaître). Sur la figure 4, quelques fonctions gaussiennes de quelques densités sont schématiquement représentées.
Ainsi pour Dp1 , on a par exemple :
où <arpl fc désigne la pondération de la gaussienne Gpi k (∑<zPik =î)> k pour la densité Dp1 et k varie de 1 à Np1, Np1 désignant le nombre de gaussiennes constituant la densité Dp1 et pouvant être dépendant de la densité considérée.
Dans un mode de réalisation de l'invention, le serveur 9 est adapté pour transmettre à destination du terminal utilisateur 1 des informations du graphe de modélisation acoustique déterminé par le module 10, qui fournissent la liste des transitions successives entre états et indiquent pour chaque état l'identifiant de la densité associée.
Dans un tel mode de réalisation, l'échange est par exemple du type : Terminal -> Serveur : « Petit »
Serveur -> Terminal : <Transitions-Graphe>
1 1 ; 1 2 ;
2 2 ; 2 3 ; 2 4 ; 3 3 3 3 ;; 3 3 5 5 ;;
4 4 > 4 9 ;
5 5 ; 5 6 ;
6 6 ; 6 7 ;
7 7 ; 7 8 ;
8 8 ; 8 10 ;
9 9 ; 9 10 ;
10 10 ; 10 11 ;
11 11 ; 11 12 ;
12 12 ; 12 13 ;
13 13 ; 13 14 ;
14 14 ;
</Transitions-Graphe>
<Etats-Densités>
1 Dp1 ; 2 Dp2.; 3 Dp3 ;
4 Dp4 ;
5 De1 ; 6 De2 ; 7 De3 ;
10 8 Dt1 ; 10 Dt2 ; 11 Dt3 ;
9 Dt4 ;
12 Di1 : 13 Di2 : 14 Di3 :
</Etats-Densités>
Le premier bloc d'informations, transmis entre les balises <Transitions- 15 Graphe> et </Transitions-Graphe> décrit ainsi l'ensemble des 28 transitions du graphe acoustique, avec chaque état de départ et chaque état d'arrivée. Le second bloc d'informations, transmis entre les balises <Etats-Densités> et
</Etats-Densités> décrit l'association des densités aux états du graphe, en précisant les couples état/identifiant de densité associé. 20 Dans un tel mode de réalisation de l'invention, la base de référence 7 dispose des paramètres des densités de probabilité associées aux identifiants reçus. Ces paramètres sont des paramètres de description et/ou de précision des densités.
Par exemple, à partir de l'identifiant de densité Dp1 reçu, elle fournit la 25 somme pondérée décrivant la densité, ainsi que la valeur des coefficients de pondération et les paramètres des gaussiennes intervenant dans la sommation.
Lorsque le terminal utilisateur 1 reçoit les paramètres de modélisation décrits ci-dessus, il extrait de la base 7 les paramètres des densités de 30. probabilité associés- aux-identifiants indiqués dans"le~bloc^Eîàts-OeήsiFés>, et construit le modèle du mot « PETIT » à partir de ces paramètres de densités et des paramètres de modélisation.
Puis il stocke le modèle ainsi construit pour le nom de contact « PETIT » dans le lexique 5.
Dans un autre mode de réalisation, le serveur 9 est adapté pour transmettre à destination du terminal utilisateur 1 des informations du graphe de modélisation acoustique déterminé par le module 10, qui fournissent, en plus de la liste des transitions successives entre états et de l'identifiant de la densité associée pour chaque état comme précédemment, la définition de densités en fonction des fonctions gaussiennes.
Dans ce cas, le serveur 9 envoie à destination du terminal utilisateur 1 , en plus des deux blocs d'informations décrits précédemment, un bloc d'informations complémentaires transmis entre les balises <Densités-
Gaussiennes> et</ Densités-Gaussiennes>, qui décrit pour des densité de probabilité, les gaussiennes et les coefficients de pondération associés, en précisant les couples valeurs des coefficients de pondérations/identifiant de gaussienne associé, du type, lorsque toutes les densités Dp1, Dp2,..., Di3 du graphe sont à décrire :
<Densités-Gaussiennes>
Dp1 apU GpX X apUNpl GpX NpX
D'3 OC13 x G(3 1 ai3,Ntt "/3,Λ73
</ Densités-Gaussiennes>. Dans un tel mode de réalisation de l'invention, la base de référence 7 dispose des paramètres de description des gaussiennes associées aux identifiants reçus.
Lorsque le terminal utilisateur reçoit les paramètres de modélisation décrits ci-dessus, il construit le modèle du mot « PETIT » à partir de ces paj;ajiτèjres_et^pj^r_çjτaiiue_5aussienne--indiquée--dans- le-bloe-<-Densités-
Gaussiennes>, à partir des paramètres stockés dans la base de référence 7.
Puis il stocke le modèle ainsi construit pour le nom de contact « PETIT » dans le lexique 5.
Certains modes de réalisation de l'invention peuvent combiner certains des aspects de réalisation décrits ci-dessus. Par exemple, dans un mode de réalisation, le serveur connaît l'état de la base de référence 7 du terminal 1 et sait ainsi déterminer ce qui est stocké ou non dans la base 7. Il est adapté pour fournir uniquement la description du graphe phonétique lorsqu'il détermine que les modèles des phonèmes présents dans le graphe phonétique sont stockés dans la base 7. Pour les phonèmes dont les modèles ne sont pas non décrits dans la base 7, il détermine le graphe de modélisation acoustique. Il fournit au terminal utilisateur 1 les informations des blocs <Transitions-Graphe> et <Etats-Densités> relatives aux densités qu'il détermine comme connues de la base 7. Il fournit en outre les informations du bloc <Densités-Gaussiennes> relatives aux densité non définies dans la base 7 du terminal utilisateur.
Dans un autre mode de réalisation, le serveur 9 ne connaît pas le contenu de la base de référence 7 du terminal utilisateur 1 , et ce dernier est adapté, au cas où il reçoit des informations du serveur 9 comprenant un identifiant d'un élément de modélisation (par exemple une densité de probabilité ou une gaussienne) tel que la base de référence 7 ne comporte pas les paramètres de l'élément de modélisation ainsi identifié, pour émettre une requête à destination du serveur 9 pour obtenir ces paramètres manquants afin de déterminer l'élément de modélisation et d'enrichir la base de référence.
Dans le cas de reconnaissance multilingue, la base de référence 7 du terminal utilisateur comportant des unités de modélisation pour une langue particulière, le serveur 9 peut rechercher parmi les unités de modélisation qu'il sait être disponibles dans la base de référence 7, lesquelles "ressemblent" le plus à celles requises par un nouveau modèle à construire correspondant à une langue différente. Dans ce cas, il peut adapter les paramètres de modélisation à transmettre au terminal utilisateur 1 pour décrire au maximum le modèle ou un élément de modélisation absent de la base 7 et requis par le terminal utilisateur, en fonction des éléments de modélisation stockés dans la
complémentaires à~ transférer et à stocker dans le terminal.
L'exemple décrit ci-dessus correspond à la fourniture par le terminal utilisateur de l'entité à modéliser sous forme textuelle, par exemple via le
clavier. D'autres modes de saisie ou de récupération de l'entité à modéliser peuvent être mises en oeuvre selon l'invention. Par exemple, dans un autre mode de réalisation de l'invention, l'entité à modéliser est récupérée par le terminal utilisateur 1 à partir d'un identifiant d'appel reçu (affichage 5 nom/numéro). Dans un autre mode de réalisation de l'invention, l'entité à modéliser est capturée par le terminal utilisateur 1 à partir d'un ou de plusieurs exemples de prononciation du nom de contact par l'utilisateur. Le terminal utilisateur 1 transmet alors à destination du serveur 9 ces exemples de l'entité à modéliser (soit directement sous forme acoustique, soit après une analyse 0 déterminant des paramètres acoustiques, par exemple des coefficients cepstraux).
Le serveur 9 est alors adapté pour, à partir des données reçues, déterminer un graphe phonétique et/ou un graphe de modélisation acoustique (directement depuis les données par exemple dans une approche de type 5 monolocuteur ou après la détermination du graphe phonétique), et envoyer les paramètres de modélisation au terminal utilisateur 1. Comme détaillé plus haut dans le cas d'une capture textuelle de l'entité à modéliser, le terminal utilise ces paramètres de modélisation (qui notamment indiquent des éléments de modélisation décrits dans la base 7) et les éléments de modélisations ainsi 0 indiqués et disponibles dans la base 7, pour construire le modèle
Dans un autre mode de réalisation de l'invention, le terminal utilisateur 1 est adapté pour optimiser le lexique 5 des modèles construits, en factorisant les redondances éventuelles. Cette opération consiste à déterminer les parties communes à plusieurs modèles mémorisés dans le lexique 5 (par exemple les 5 débuts ou fins de mot identiques). Elle permet d'éviter de dupliquer inutilement des calculs au cours de la phase de décodage et ainsi d'économiser de la ressource de calcul. La factorisation des modèles peut concerner des mots, des phrases complètes ou encore des portions de phrases.
Dans un autre mode de réalisation, l'étape de factorisation est CL - .effectuée. parJe-serveur,~par- exemple-à- partir-d-une liste de-mots~envoyée"par" le terminal, ou encore à partir d'un nouveau mot à modéliser envoyé par le terminal et d'une liste de mots mémorisée au niveau du serveur et connue par
le serveur comme répertoriant des mots dont les modèles sont stockés dans le terminal.
Puis le serveur envoie, en complément des paramètres de ^ modélisation indiquant les éléments de modélisation, des informations relatives aux facteurs communs ainsi déterminés.
Dans un autre mode de réalisation, le terminal utilisateur 1 est adapté pour envoyer à destination du serveur 9, en plus de l'entité à modéliser, des informations additionnelles, par exemple l'indication de la langue utilisée, afin que le serveur effectue une analyse phonétique en conséquence, et/ou les caractéristiques des unités phonétiques à fournir ou des modèles acoustiques qui doivent être utilisés, ou encore l'indication de l'accent ou de tout autre caractérisation du locuteur permettant une génération de variantes de prononciation ou de modélisation adaptées à ce locuteur (à noter que cette information peut être stockée sur le serveur, si celui-ci peut identifier automatiquement le terminal appelant) etc.
La solution selon l'invention s'applique à toutes sortes d'applications de reconnaissance embarquée, l'application de répertoire vocale indiquée ci- dessus n'étant mentionnée qu'à titre d'exemple.
Par ailleurs, le lexique 5 décrit ci-dessus comporte des noms de contact reconnaissables ; il peut cependant comporter des noms communs et/ou encore des phrases reconnaissables.
Plusieurs approches sont possibles pour la transmission des données entre le terminal utilisateur 1 et le serveur 9. Ces données peuvent être compressées ou non. Les transmissions depuis le serveur peuvent se faire sous la forme d'envoi de blocs de données en réponse à une demande particulière du terminal, ou encore par l'envoi de blocs avec balises similaires à ceux présentés ci-dessus.
Les exemples décrits ci-dessus correspondent à la mise en oeuvre de l'invention au sein d'un terminal utilisateur. Dans un autre mode de réalisation, la coπstruction de modèles-de reGonnaissanee-est distribuéernon~pas~eτitre cm serveur et un terminal utilisateur, mais entre un serveur et une passerelle apte à être reliée à plusieurs terminaux utilisateurs, par exemple une passerelle résidentielle, au sein d'un même domicile (« residential gateway »). Cette
configuration permet de mutualiser la construction des modèles. Suivant les modes de réalisation, une fois les modèles construits, la reconnaissance vocale est effectuée soit exclusivement par le terminal utilisateur (les modèles construits lui sont transmis par la passerelle), soit par la passerelle, soit par les deux dans le cas d'une reconnaissance distribuée.
La présente invention permet donc de tirer avantageusement parti de multiples bases de connaissance du serveur (par exemple multilingues) pour la constitution de modèles, bases qui ne peuvent, pour des raisons de capacité mémoire, être installées sur un dispositif de type terminal utilisateur ou passerelle résidentielle, tout en permettant de limiter les quantités d'informations à faire transiter sur la liaison de communication entre le dispositif et le serveur.
L'invention permet également une plus grande facilité de mise en oeuvre des évolutions de détermination de modèles, puisqu'il suffit de réaliser les opérations de maintenance, de mise à jour et d'évolution sur les bases du serveur, et non pas sur chaque dispositif.