Pour une expérience utilisateur sans compromis

Quelques clients et partenaires:

OOPS. Your Flash player is missing or outdated.Click here to update your player so you can see this content.
Accueil arrow La suite d'outils Nü Echo
Outils de développement et d'optimisation

Design, implantation et tests de dialogues

Les outils traditionnels de développement de dialogues, qu'ils soient graphiques ou non, n'ont jamais réussi à exprimer et factoriser efficacement les structures communes d'un dialogue, obligeant ainsi les développeurs d'application à recourir à une utilisation intensive de « copier-coller », conduisant ainsi à des implantations difficiles à tester, à maintenir et à faire évoluer.

Le Nü Echo Dialog BuilderTM, un environnement de développement d'applications vocales basé sur Eclipse, a été développer spécifiquement pour apporter une fois pour toutes une solution à ce problème. Cet outil unique transforme complètement le processus de design et d'implantation d'applications vocales en orientant spécifiquement le design vers l'identification, la définition et la réutilisation de structures communes de dialogues. Il en résulte un design compact dans lequel toute structure commune de dialogue ne doit être décrite qu'une seule fois.

En plus de ses puissantes et intuitives capacités en termes de design de dialogues, Nü Echo Dialog BuilderTM offre une suite complète d'outils qui permettent de développer efficacement des applications robustes, fiables et performantes.

Développement de grammaires

Parce que le développement de grammaires est une activité critique de tout projet de développement d'applications vocales, nous avons conçu une suite complète d'outils pour supporter cette activité, incluant :

  • Plugin Eclipse de développement de grammaires — Cet environnement offre entre autre un puissant éditeur de grammaires ABNF, un débogueur d'actions sémantiques, ainsi qu'un explorateur interactif de phrases. Voir IDE de grammaires pour plus d'information.
  • Langage et engin de gabarits de grammaires — Beaucoup d'applications vocales demandent que certaines grammaires soient générées dynamiquement à partir d'informations obtenues à l'exécution. Utilisant le formalisme ABNF mais enrichi pour la génération dynamique de grammaires, le langage de gabarit de grammaires de Nü Echo facilite grandement le développement de grammaires dynamiques en permettant de les représenter d'une façon claire et intuitive et en s'assurant que les grammaires générées sont toujours syntaxiquement valides. Entre autre caractéristiques, on peut mentionner la capacité de :
    • Générer des grammaires en format ABNF, XML, ou GSL à partir du même gabarit ;
    • Analyser les résultats de reconnaissance — c.-à-d. d'en faire l'interprétation sémantique — directement dans l'application, permettant ainsi l'utilisation de représentations sémantiques différentes de celles utilisées dans l'engin de reconnaissance.
    • Réaliser des tests automatiques de couverture de grammaire en utilisant l'outil de tests de couverture de grammaires.
  • Framework de normalisation de textes — La génération dynamique de grammaires nécessite souvent un prétraitement complexe des données brutes à partir desquelles les grammaires doivent être générées, que ce soit pour les nettoyer, les normaliser, faire de l'expansion d'acronymes, ou générer des synonymes.
  • Outil de tests de couverture — Des tests de couverture, pour des grammaires statiques ou dynamiques, sont roulés chaque fois que l'application est reconstruite afin de s'assurer de l'intégrité et de la couverture de toutes les grammaires de l'application. Ceci est particulièrement important pour les grammaires dynamiques, qui reposent souvent sur une infrastructure complexe de gabarits de grammaires, de fragments programmatiques de grammaires et de traitements de normalisation, chacun desquels pourrait avoir été accidentellement modifié.

Gestion multilingue des prononciations phonétiques

Des applications vocales haute performance requièrent que les prononciations phonétiques utilisées soient complètes et correctes. Ceci est vrai tant en reconnaissance vocale - où des prononciations incorrectes peuvent produire des erreurs de reconnaissance - qu'en synthèse vocale - où des prononciations incorrectes peuvent conduire à une confirmation erronée, entraînant ainsi souvent l'échec de l'appel. S'assurer d'avoir des prononciations phonétiques complètes et correctes, cependant, est loin d'être trivial, en particulier dans des contextes multilingues. Afin d'adresser ce problème, Nü Echo a développé un environnement de gestion sophistiqué de prononciations multilingues qui nous permet d'efficacement produire des prononciations précises pour des grands vocabulaires.

Analyse d'appels

La capacité de faire de l'analyse approfondie d'appels est critique afin de pouvoir rapidement identifier et corriger des problèmes avec une application vocale. Nü Echo a développé une suite complète d'outils d'analyse d'appels, incluant :

  • La base de données de journaux d'appels — La base de données de journaux d'appels entrepose toutes les données d'appel requises afin de produire des rapport et d'analyser les appels. Elle est chargée de façon incrémentale avec les nouveaux appels utilisant un script qui fusionne les journaux applicatifs avec ceux produits par l'engin de reconnaissance (qui contiennent entre autre l'enregistrement des phrases dites par les utilisateurs). La transcription manuelle de ces phrases peut également être ajoutée à la base de données.
  • Le Call Viewer — Le Call Viewer est une application graphique permettant de visualiser, d'analyser, ainsi que d'annoter les appels à toute application développée avec la plateforme applicative Nü Echo (ou produisant des journaux dans un format compatible). Le Call Viewer est une application Java autonome, fonctionnant dans le cadre de Eclipse, qui se connecte à la base de données de journaux d'appels à travers une interface JDBC. Cet outil est utilisé de façon intensive dans le contexte de la pratique Nü Echo en technologies vocales afin d'identifier des problèmes potentiels d'utilisabilité avec l'application ou encore faire l'annotation d'appels en utilisant un ensemble d'étiquettes définies par l'utilisateur. Ces annotations peuvent alors être utilisées dans la production de rapports, par exemple pour quantifier la fréquence de différents types d'événements, problèmes, comportements d'appelants, etc.
  • L'environnement de rapports — L'environnement d rapports utilise la base de données de journaux d'appels afin de produire un ensemble de rapports et/ou faire de l'exploration de données nous permettant de développer une compréhension approfondie sur le comportement des utilisateurs et de l'application, dans le but continuel d'en améliorer la performance.
  • L'environnement de transcription — La capacité de produire un grand volume de transcriptions de données d'appels de grande qualité est une des pierres d'assises de toute pratique sérieuse en analyse et optimisation d'applications vocales. Ces transcriptions sont requises pour un grand nombre d'activités, par exemple l'analyse de couverture des grammaires, pour des expériences en lot de reconnaissance vocale, pour l'apprentissage de modèles statistiques du langage (SLM), pour la production de rapports, etc.

Optimisation de performance

La pratique d'optimisation de performance d'applications vocales de Nü Echo est supportée par une suite complète d'outils, dont les plus importants sont :

  • Environnement de reconnaissance vocale en lot - Une réelle optimisation de la performance d'une application vocale requiert la capacité d'itérativement tester, avec des corpus appropriés d'énoncés, la performance de reconnaissance des différentes grammaires - statiques ou dynamiques - d'une application. Ceci permet entre autre d'identifier quels sont les principaux problèmes de reconnaissance, de mesurer l'impact de modifications apportées aux différentes grammaires, d'établir les seuils à utiliser par l'application, de tester des algorithmes de post-traitement des résultats de reconnaissance, etc.
  • Apprentissage automatique de scores de confiance - L'utilisation appropriée de scores de confiance associés à un résultat de reconnaissance ou à une interprétation sémantique est absolument fondamentale pour obtenir une application performante. Ces scores sont par exemples utilisés pour décider quand demander une confirmation ou quand demander à l'utilisateur de répéter sa réponse. Malheureusement, les scores de confiance produits par les engins de reconnaissance sont souvent sous-optimaux. En effet, ceux-ci ont été développés de façon à obtenir un résultat acceptable pour la majorité des grammaires, ce qui veut en l'occurrence dire que pour un contexte de grammaires donné, il est généralement possible d'obtenir des résultats largement supérieurs si on optimise les scores de confiance spécifiquement pour celui-ci. C'est ce que notre environnement d'apprentissage de scores de confiance nous permet de faire, avec des résultats souvent spectaculaires sur la performance de l'application.
  • Apprentissage automatique de poids dans les grammaires - Il arrive souvent que les poids dans certaines grammaires d'une application doivent être ajustés afin d'en optimiser la performance de reconnaissance. Il est par contre extrêmement laborieux - et, bien sûr, sous-optimal - de faire ce genre d'ajustements de façon manuelle. Afin d'adresser ce problème, nous avons développés des algorithmes spécialisés qui permettent de simultanément ajuster automatiquement les poids de toutes les branches d'une grammaire à partir de résultats de reconnaissance obtenus sur un corpus d'énoncés vocaux.
  • Environnement d'optimisation d'applications de validation de réponses - Certaines applications vocales - par exemple, une application de vérification d'identité utilisant des questions de sécurité - visent à vérifier que la réponse fournie par l'utilisateur est bel et bien la réponse attendue. Ces applications sont très différentes d'applications vocales traditionnelles en ce sens que la réponse attendue est connue a priori et que l'objectif est de décider si la réponse fournie est ou non correcte. Nous avons développé un environnement d'optimisation spécifique à ce type d'application.