Quoi de plus naturel pour échanger ou s’exprimer que d’utiliser la parole ? C’est notre moyen de communication le plus naturel. Il représente un moyen d’échanger à distance (sans être obligé d’interagir physiquement l’un avec l’autre) et ne nécessite pas de se réhabituer à l’utilisation d’une énième interface utilisateur pour pouvoir communiquer.

Cela apporte un lot d’avantages indéniables, tels que par exemple avoir les mains libres lorsque l’on effectue une action et que l’on a besoin de lancer une opération sur un objet connecté, ou même encore agir sur un objet sans réellement savoir où il se trouve.

La voix est donc le biais d’échanges le plus simple et naturel pour interagir avec nos éléments du quotidien et pouvoir les commander. Ainsi beaucoup d’entreprises se penchent actuellement sur le déploiement de services autour de l’utilisation de technologies de STT. Néanmoins comment cela fonctionne-t-il ?

 

Qu’est-ce que le Speech To Text ?

Il existe plusieurs façons d’appeler cette méthode : “Speech To Text”, “Reconnaissance Vocale” (Speech recognition) ou même “Transcription vocale”.

Le fait est que la méthode consiste à transformer un signal audio (un langage parlé bien entendu), en texte écrit. Cela pour permettre ensuite de travailler sur ce découpage en mots de ce qu’a prononcé un interlocuteur.

 

État des lieux de la reconnaissance vocale

Depuis quelques temps déjà, la reconnaissance vocale équipe la plupart des smartphones du marché. On peut par exemple citer SIRI ou OK Google. Cependant ce n’est que récemment que se sont démocratisées les enceintes connectées, présentées comme le cœur des interactions avec la maison.

Ces enceintes vont pouvoir nous permettre d’interagir avec nos objets connectés, ou tout simplement de rechercher des informations sur certains sujets (météo, sorties cinémas, trajets, rendez-vous, …), ou utiliser certains services (commandes Amazon, livraison de pizzas, …)

Il faut néanmoins savoir que ces enceintes réalisent plusieurs opérations pour vous permettre de répondre à vos demandes. Et l’une de ces opérations est la commande vocale. En effet, la commande vocale en elle-même ne pourrait pas suffire au bon fonctionnement d’une enceinte connectée. Il faut ensuite savoir interpréter ce que souhaite faire l’utilisateur une fois que sa voix a été transformée en texte.

Selon le Gartner, d’ici 2020, 20% de la population des pays développés utilisera des services basés sur l’intelligence artificielle pour certaines de ses tâches. Si vous souhaitez en savoir plus sur les nouveaux usages de l’IA, vous trouverez de nombreux exemples dans notre livre blanc dédié au sujet.

Pour ce qui est des enceintes connectées, les utilisateurs augmentent à un rythme de 47,9% par an, ce qui est plus important que pour n’importe quel autre produit technologique depuis le smartphone (forbes).

Google et Amazon tiennent le terrain avec leur Google Home et Alexa, mais Apple et Facebook se lancent aussi dans la course et possèdent l’assise nécessaire pour tirer leur épingle du jeu.

En terme de ventes pour les enceintes connectées, entre Q4 2016 et Q4 2017, Amazon Alexa et Google Home tiennent le haut du panier, avec une explosion des ventes. 9 enceintes vendues sur 10 sont soit une Alexa, soit une Google Home (en cause notamment les prix agressifs proposés à leur sortie).

D’une année à l’autre, Amazon a augmenté ses ventes de 138% et Google de 1563% (les ventes Amazon restent néanmoins supérieures d’une fois et demi environ) (source Strategy Analytics).

Nous nous focaliserons ici sur la partie reconnaissance vocale,  indispensable pour créer l’illusion de l’interaction avec un réel assistant.

 

infographie speech to text reconnaissance vocale

 

Les solutions disponibles pour la reconnaissance vocale

Pour réaliser de la transcription vocale, différentes briques et approches existent. En partant du projet universitaire ne proposant que l’algorithme de décodage (qu’il faudra entrainer, packager, etc.) jusqu’aux grands du secteur qui proposent des outils déjà entrainés et prêts à l’emploi, leurs services peuvent être proposés soit on-Premise (tel que SNIPS ou encore Mycroft) ou bien sur le cloud (Google Platform, AWS, Microsoft Azure)

Il est bien évident que la qualité des transcriptions des grandes solutions cloud restent meilleures que celle des autres solutions, et comprennent un vocabulaire que l’on qualifie de “large” (lvcsr : Large Vocabulary Continuous Speech Recognition). Pour les autres solutions, il faut souvent paramétrer un use case bien défini avec les mots que l’on veut voir reconnus.

Il faut aussi compter avec la notion de performance. Là où on Premise vous devrez dimensionner une infrastructure conséquente, vous n’avez pas à vous en soucier avec les solutions cloud. Cela se ressent ensuite dans les temps que prennent les solutions pour transposer votre signal en texte (ce qui peut induire un effet déceptif de la solution proposée).

L’autre point sur les solutions Cloud, est qu’elles utilisent l’intégralité des échanges réalisés pour entrainer leurs modèles en permanence et affûter leur capacité à être pertinentes. La quantité impressionnante de données qu’elles ingèrent leurs permet aussi de pouvoir entrainer des modèles de prédiction des mots pour savoir identifier que dans tel cas, après tel mot, c’est celui-ci qui est en mesure d’être prononcé, et ainsi renforcé la précision du mot identifié.

Voici quelques exemples de briques logicielles existantes, cela va de solutions proposées par des géants américains, jusqu’aux startups plus modestes :

  • Google CloudSpeech,
  • Speech de MicroSoft,
  • Transcribe d’Amazon,
  • Watson speech to text d’IBM,
  • SNIPS
  • Mycroft
  • Linagora, qui reposent sur des solutions universitaires (les solutions universitaires proposent le décodage mais aucun outil satellite pour faciliter l’apprentissage ou bien l’utilisation en mode industriel) comme Kaldi, CMUSphinx, etc.

Toutes ces solutions ont leur lot d’avantages et de désavantages : On-Premise vs Cloud, puissance de calcul, détection large de vocabulaire ou uniquement sur un use-case particulier, nombre de langues reconnues, temps de décodage de la voix.

La qualité des transcriptions dépendra aussi du matériel d’enregistrement utilisé. Du micro basique ou système embarquant des processeurs de traitement du signal, l’enregistrement fourni n’aura pas la même qualité et donc sera plus ou moins compliqué à traduire en texte. Le fait de proposer sa propre enceinte permet de s’assurer du matériel d’acquisition du signal qui sera utilisé par le client.

 

Comment fonctionne le Speech To Text ?

Mais comment fonctionne concrètement la reconnaissance vocale?

Le processus se découpe en plusieurs étapes clés :

  1. Phase d’acquisition : C’est lors de cette première étape que l’on procède à la récupération du son en tant que signal analogique pour le transformer en signal numérique,
  2. Phase de traitement du signal : Traitement du signal pour filtrer le signal obtenu (détection des blancs, du bruit et de la fin de la diction),
  3. Phase de décodage des sonorités : Détection des phonèmes, quelles sonorités composent mon signal :
    • Chaque langue comporte ses propres phonèmes (par exemples la langue française contient 36 phonèmes, c’est pour cela qu’un algorithme de reconnaissance vocale doit être entrainé spécifiquement sur chaque langue qu’il est sensé reconnaitre.
  4. Phase de détection des mots : Rapprochement des phonèmes au dictionnaire contenant les mots que l’on souhaite reconnaitre :
    • En fonction des solutions utilisées, un algorithme peut être en mesure de reconnaitre certains mots, qui sont en général en lien avec le use case sur lequel on va l’entrainer (exemple : SNIPS) ou peut reconnaitre l’ensemble des mots d’une langue, ce que l’on appelle le large vocabulary (exemple : Google),
    • L’objectif est de mettre les phonèmes bout à bout et reconnaitre lorsqu’une succession de phonèmes correspond à un mot de vocabulaire connu.
  5. Phase de désambiguation : Comparaison des mots à des phrases de la langue usuelle :
    • Ici l’objectif est de désambiguïser certaines sonorités qui peuvent avoir un niveau de confiance similaire selon l’algorithme, prenons l’exemple des “v” et “b” qui sont des sonorités similaires: “je vais à la plage” pourra être compris (avec des probabilités proches) comme : “je vais à la plage” (logique) mais aussi comme “je bais à la plage”. On se branche alors sur des sources comme Wikipédia, sources dans lesquelles nous ne trouverons jamais la phrase “je bais à la plage”, cela permet de lever la dernière incertitude qui pourrait rester à l’algorithme.

 

speech to text expliqué en image

 

Les usages du Speech To Text

Que peut nous permettre de faire le Speech To Text ?

On peut utiliser le STT pour permettre de demander de réaliser certaines actions à un assistant virtuel, comme nous le voyons avec ce que proposent les enceintes telles que la Google Home ou encore Alexa. Cependant, pour comprendre ce que souhaite réaliser l’utilisateur, d’autres briques IA additionnelles sont ici nécessaires, comme le NLP (Natural Language Processing). Le STT nous sert de point d’entrée pour interagir avec les enceintes comme nous le ferions avec n’importe quelle personne.

Attention aussi à l’humanisation de l’enceinte connectée (Ne forcez pas vos enfants à dire «merci» à Alexa).

Les briques logicielles de STT pures peuvent aussi permettre de mettre le texte à disposition pour d’autres usages.

Exemples :

  • Rédiger un texte : lorsque l’on souhaite dicter un SMS, ou réaliser une prise de note.
  • Servir à la création de résumés : en réunion, identifier dans le texte fourni les mots et concepts clés afin de ne conserver que l’essentiel nécessaire à la rédaction d’un compte-rendu.
  • Ecrire dans un chat à partir du texte dicté : Permettre aux agents de call-center de ne pas avoir à écrire lors des chats en transcrivant en texte ce qui est dicté à l’oral:
    • Gain de temps,
    • Eviter les fautes d’orthographe à l’écran.

Certains se sont déjà attelés à ces usages, d’autres usages existent par ailleurs déjà depuis quelques temps.

A nouveau, ces usages nécessiteront bien plus que de la simple transcription vocale, car il faudra interpréter le texte remonté et s’assurer de sa cohérence.

 

Autres cas d’usage de la voix (hors STT)

Il existe aussi d’autres usages de la voix, pour interagir avec l’utilisateur (le Text to Speech). L’entité a formalisé sa réponse et doit vous la retourner sous forme vocale. Nous aurons donc ici à faire à de la génération de texte (sur base d’informations, générer une phrase grammaticalement correcte permettant de donner la réponse) et de la transcription en voix synthétique (L’appel de la Google Home à un salon de coiffure – Google Duplex).

 

Sécurité et conformité

Beaucoup de questions se posent lors de la mise en place de projets impliquant la voix, car un point se pose néanmoins relativement à la GDPR, puisque bon nombre de nos échanges transiteront via des outils intermédiaires comme les enceintes connectées, qui de leur côté feront passer ces informations via le cloud, tout en s’accordant le droit de les utiliser à des fins de statistiques / entrainement d’algorithmes.

Il y aura donc des questions du cryptage des données transmises (sécurité), mais aussi de leur bonne utilisation (conformité).

La problématique de crypter les données transmises sur le web est que les services cloud nécessitent d’avoir l’intégralité du signal analogique en clair pour pouvoir le décoder.

Exemple : “Prépare un courrier pour Monsieur Dupont à envoyer à l’adresse : 14 rue des boucheries 75010 Paris”. Si on crypte les informations sensibles, alors le service ne décodera ni le nom, ni l’adresse. On ne pourra donc rien faire de la phrase traduite. Bien évidemment, ce point ne s’applique que dans le cas d’utilisation de solutions cloud.

 

Conclusion

La voix est bien le mode d’entrée le plus naturel et facile d’utilisation que nous possédons. Il permet de proposer un nouveau mode d’interaction avec nos objets connectés et/ou intelligents. Cependant, si l’on souhaite utiliser la sortie texte pour proposer des services avec une réelle valeur ajoutée, on remarque qu’il est nécessaire d’ajouter d’autres briques de traitement à ces services.

Exemple : traduction en live lors d’une discussion entre personnes de langues parlées différentes (voix1 -> texte1 -> traduction -> texte2 -> voix2) (ceci montre l’usage de brique de traduction et de synthèse vocale, soit l’inverse du STT, le TTS énoncé plus haut).

 

La brique STT est l’interface qui permet à l’utilisateur d’interagir avec ses objets connectés et / ou intelligents via son mode de communication principal qu’est la voix, tout en permettant d’obtenir une sortie intelligible par des systèmes informatiques ou exploitables par d’autres algorithmes.

 

CTA téléchargement livre blanc Intelligence Artificielle