Brevet FR2786600A1 — publié le 20000602

I La présente invention concerne un procédé de recherche par le contenu de documents textuels utilisant la reconnaissance vocale. Les techniques usuelles de recherche par le contenu textuel ont été jusqu'ici étendues aux requêtes orales par le biais de vocabulaires prédéfinis. La requête vocale formulée par l'utilisateur est transcrite par reconnaissance vocale sous la forme de mots appartenant aux vocabulaires prédéfinis. Ces mots permettent de retrouver le texte demandé au moyen d'un système d'indexation textuelle classique qui en détermine la ou les occurrences. L'avantage de cette approche est la simplicité, puisque la transcription par reconnaissance vocale y figure comme une simple source de requêtes formulées comme à l'écrit. La nécessité de définir à l'avance un vocabulaire (et donc un ou plusieurs thèmes) sur lequel seront "projetées" toutes les requêtes possibles est néanmoins une source de rigidité pour le système. Il s'avère que les procédés de recherche de l'état de la technique n'offrent pas un niveau de souplesse suffisant dans des contextes à "grande largeur thématique" comme celui du contenu disponible sur Internet ou via une boîte aux lettres électronique. Le but de l'invention est de proposer un procédé de recherche par le contenu de documents textuels utilisant la reconnaissance vocale qui permette d'éliminer la contrainte sur le vocabulaire. A cet effet, un procédé selon l'invention est caractérisé en ce qu'il consiste à transcrire ledit texte en une première suite d'unités phonétiques, à segmenter ladite requête vocale en une seconde suite d'unités phonétiques discrètes et à rechercher les occurrences de l'expression objet de ladite requête dans le texte par un processus d'alignement desdites première et seconde suites d'unités phonétiques. Ledit processus d'alignement est avantageusement réalisé par un algorithme de programmation dynamique, prenant par exemple comme paramètres les coûts d'omission, d'insertion, et de substitution de différentes unités phonétiques. Avantageusement, les valeurs prises par lesdits paramètres sont déterminées au moyen d'un apprentissage préalable sur un corpus d'exemples effectué en cherchant à optimiser une fonction objective, telle qu'une fonction de vraisemblance ou une fonction de discrimination. Selon une autre caractéristique de l'invention, ladite fonction objective est la fonction de vraisemblance dont l'optimisation est réalisée au moyen d'une méthode analytique comprenant un algorithme EM (Expectation Maximization) dans la boucle duquel sont utilisés des multiplicateurs de Lagrange. Selon une autre caractéristique de l'invention, ladite fonction objective est la fonction de discrimination dont l'optimisation se fait par un algorithme génétique, la fonction d'évaluation étant le taux d'identifications correctes. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de mise en oeuvre du procédé de l'invention, ladite description étant faite en relation avec le dessin joint illustrant ce procédé. On a donc illustré à la Fig. unique un procédé de recherche par le contenu selon l'invention. La requête vocale REQ faite par l'utilisateur qui est constituée d'un continuum acoustique est segmentée en une suite d'unités phonétiques discrètes par une unité de décodage acoustico- phonétique 10. Quant au texte TEXT dans lequel la recherche d'occurrence est faite, il est transcrit en une suite d'unités phonétiques de même type par une unité de transcription phonétique automatique 20. Une unité d'alignement 30 permet l'alignement des unités phonétiques issues de la requête REQ et des unités phonétiques issues du texte TEXT. Les unités phonétiques dont il s'agit ici sont par exemple des phones, des phonèmes, des diphones, des syllabes, des états acoustiques élémentaires (fénones), des allophones, etc. Il résulte du fait que la recherche est faite sur des représentations phonétiques de la requête vocale et du texte cible une indépendance de ce procédé au vocabulaire utilisé. L'unité de décodage acoustico-phonétique 10 est par exemple du type qui utilise un algorithme à modèles de Markov cachés HMM (Hidden Markov Model). Quant à l'unité de transcription phonétique 20, elle est par exemple du type utilisé dans les systèmes de synthèse de la parole à partir de texte à base de règles. L'alignement opéré par l'unité d'alignement 30 est fait par un algorithme de programmation dynamique, tel que l'algorithme de Viterbi, qui peut prendre comme paramètres les coûts d'omission, d'insertion ou de substitution d'une ou plusieurs unités phonétiques de la suite issue de la requête REQ. Le coût de substitution par exemple, est défini par une matrice de confusion donnant à l'intersection d'une ligne et une colonne représentant respectivement deux unités phonétiques, la valeur de ce coût pour la substitution d'une unité par l'autre. Les valeurs prises par les différents paramètres de l'algorithme de programmation dynamique sont déterminées au moyen d'un apprentissage préalable sur un corpus d'exemples consistant à chercher à optimiser une fonction objective, telle qu'une fonction de vraisemblance ou une fonction de discrimination. L'optimisation de la fonction de vraisemblance est par exemple réalisée au moyen d'une méthode analytique comprenant un algorithme EM (Expectation Maximization) dans la boucle duquel sont utilisés des multiplicateurs de Lagrange. Quant à l'optimisation de la fonction de discrimination, elle peut se faire par un algorithme d'optimisation ne nécessitant que la seule connaissance de la fonction d'évaluation, tel qu'un algorithme génétique (forme généralisée d'un algorithme de recuit simulé). La fonction d'évaluation est alors le taux d'identifications correctes. Cet apprentissage permet donc de coupler optimalement l'unité de décodage acoustico-phonétique 10 et l'unité de transcription phonétique automatique 20 et donc de minimiser les effets de leurs erreurs respectives. Supposons une requête vocale sous la forme: "automne-hiver". La transcription phonétique effectuée par l'unité 10 est par exemple la suivante: on t au m i f ai r oe Supposons le texte TEXT: "Pour obtenir le catalogue automne-hiver, cliquez ici" Sa transcription par l'unité 20 est par exemple la suivante p u r o b t oe n i r 1 oe k a t a 1 o g au t o n i v ai r k 1 i k ei i s i Quant à la détection opérée par l'unité 30, elle serait la suivante: p u r o b t oe n i r 1 oe k a t a 1 o g au t o ni v air k 1 i k ei i s i a A A A A A A on t au mi f ai r oe o le signe A signifie substitution et le signe * montre une omission. On peut constater qu'outre la liberté de choix des mots cibles, on obtient également une totale liberté de segmentation. Dans l'exemple ci-dessus, "catalogue Automne" ou "obtenir le catalogue" sont autant de clés utilisables. Si l'on cherchait à atteindre la même liberté avec les techniques traditionnelles, on serait conduit soit à une explosion combinatoire (puisqu'il faut prévoir tous les groupes de 2 mots, 3 mots,. , n mots), soit à une syntaxe très libre et un très grand vocabulaire, qui sont deux..DTD: sources d'erreurs de reconnaissance. Par ailleurs, le coût calculatoire du procédé de la présente invention est très réduit en ce qui concerne la reconnaissance de parole, puisque quel que soit le vocabulaire effectivement utilisé comme clé de recherche, on ne reconnaît que des unités phonétiques. Le coût calculatoire de l'alignement effectué par l'unité 30 est également raisonnable: sur un micro-ordinateur du type actuellement vendu, pour une requête vocale typique de 3 ou 4 syllabes, on peut traiter environ 100 000 phonèmes par seconde, ce qui permet d'envisager sans crainte l'accès par le contenu à une boîte aux lettres E.mail chargée, ou à une très longue page au format HTML. Diverses applications sont envisageables. Par exemple, la sélection vocale de messages par le contenu (texte + en-têtes) dans une boîte aux lettres e-mail ou le contrôle vocal souple d'un client de navigation Internet, o les cibles ne sont pas restreintes aux liens: il suffirait alors de prononcer une expression pour activer le lien le plus proche. REVENDICATIONS 1) Procédé consistant à rechercher dans un texte une expression objet d'une requête énoncée vocalement, caractérisé en ce qu'il consiste à transcrire ledit texte en une première suite d'unités phonétiques, à segmenter ladite requête vocale en une seconde suite d'unités phonétiques discrètes et à rechercher les occurrences de l'expression objet de ladite requête dans le texte par un processus d'alignement desdites première et seconde suites d'unités phonétiques. 2) Procédé selon la revendication 1, caractérisé en ce que ledit processus d'alignement est réalisé par un algorithme de programmation dynamique. 3) Procédé selon la revendication 2, caractérisé en ce que ledit algorithme de programmation dynamique prend comme paramètres les coûts d'omission, d'insertion, et de substitution de différentes unités phonétiques. 4) Procédé selon la revendication 3, caractérisé en ce que les valeurs prises par lesdits paramètres sont déterminées au moyen d'un apprentissage sur un corpus d'exemples effectué en cherchant à optimiser une fonction objective, telle qu'une fonction de vraisemblance ou une fonction de discrimination. ) Procédé selon la revendication 4, caractérisé en ce que ladite fonction objective est la fonction de vraisemblance dont l'optimisation est réalisée au moyen d'une méthode analytique comprenant un algorithme EM (Expectation Maximization) dans la boucle duquel sont utilisés des multiplicateurs de Lagrange. 6) Procédé selon la revendication 4, caractérisé en ce que ladite fonction objective est la fonction de discrimination dont l'optimisation se fait par un algorithme génétique, la fonction d'évaluation étant le taux d'identifications correctes.