Alexa : les coulisses techniques d'une IA en mode cloud
L'assistant vocal d'Amazon repose sur de multiples briques d'intelligence artificielle : speech-to-text, text-to-speech, traitement du langage... L'enjeu : comprendre le contexte d'une conversation.
A l'instar de celle du Google Home, l'intelligence d'Alexa est également déportée dans le cloud. Seule une minorité des traitements de l'assistant vocal est réalisée sur le terminal. C'est le cas de son activation, en lançant "Alexa" ou autres expressions personnalisées. Mais aussi de certaines actions, l'alarme par exemple, qui se doivent de fonctionner même si l'appareil est déconnecté. Aux côtés de cette microcouche logicielle embarquée, le modèle d'enceinte connectée phare d'Amazon (Echo) se résume à un haut-parleur, une carte réseau, et sept micros permettant de détecter et réduire les bruits de fonds de la pièce. "L'objectif est d'aboutir à un signal propre et exploitable par l'IA distante", précise Sébastien Stormacq, manager Alexa skills business development chez Amazon pour l'Europe. "Sachant que l'algorithme d'optimisation sonore est également exécuté sur le device." Tout le reste de l'intelligence applicative, elle, est délocalisée sur AWS, le cloud du groupe américain.
C'est donc sur le cloud d'Amazon qu'est exécuté l'essentiel des traitements d'Alexa. L'enjeu ? Saisir la signification des questions posées dans leur contexte, puis faire en sorte de solliciter les applications vocales (ou skills) adaptées à chacune : "Quel temps fait-il à San Francisco ?" "Y-a-t-il un restaurant mexicain à proximité ?" "Merci d'envoyer le plan pour y accéder sur mon smartphone." Ici, Alexa devra faire appel successivement à une application météo, à un moteur de recherche cartographique (en tenant compte de la localisation du terminal), et enfin à un système de calcul d'itinéraire pour générer le plan jusqu'au restaurant choisi.
Natural-language understanding
Sous le capot, AWS fait appel à plusieurs technologies d'IA. D'abord, l'automatic speech recognition (ou speech-to-text) en vue de transformer le signal vocal de l'interlocuteur en texte ingérable par ses serveurs. Ensuite, le natural-language understanding qui intervient pour analyser la requête. En ligne de mire : déceler ce que l'on appelle l'intention, c'est-à-dire l'objectif de la question posée, par exemple accéder aux horaires de train ou lancer une chaine de radio, ainsi que les critères associés (ou entités) permettant de la qualifier. "Si l'utilisateur désire écouter un album, il s'agira d'identifier le nom du chanteur et du titre demandé, voire la plateforme de musiques sollicitée : Amazon Music, Deezer, Spotify…", explique Sébastien Stormacq.
Si l'application vocale n'est pas précisée dans la question, Alexa pourra alors décider de lui-même, toujours en fonction de la question posée (mais aussi au regard des choix stratégiques d'Amazon), de privilégier un skill particulier.
Parmi ses principaux enjeux techniques affichés, Amazon entend notamment optimiser la mise en musique, au sein d'un même échange, des skills de différents éditeurs. "A partir d'une sélection de recettes choisie dans l'application Alexa de Marmiton par exemple, l'idée est d'identifier automatiquement pour vous les produits correspondant, puis de les intégrer à votre liste de course (gérée via un autre skill, tel AnyList, ndlr)", détaille Sébastien Stormacq.
Amazon planche sur une architecture de réseaux de neurones
Pour assurer la fluidité de son IA d'un skill à l'autre, Amazon planche sur une architecture de réseaux de neurones (voir le schéma ci-dessous). Le problème à résoudre est pour le moins épineux : en fonction des fournisseurs, intentions ou entités pourront être décrites différemment. Un lieu pourra être désigné par le terme "adresse" chez l'un alors qu'un autre le qualifiera de "Point d'intérêt" (ou POI).
"L'objectif est de définir un modèle de machine learning capable de cerner comment associer les entités utilisées par un skill avec celles utilisées par un autre. L'originalité de notre approche est de ne s'attacher qu'aux entités liées au contexte conversationnel de la question posée, et la probabilité selon laquelle telle réponse sera meilleure que telle autre", résume Arpit Gupta, machine learning scientist chez Amazon (pour plus de détails lire son post sur le blog officiel d'Alexa). Si un nom de ville est évoqué dans une première question, Alexa devra comprendre que l'expression "à proximité" dans la requête suivante fait référence à la localité précitée. Dans le même temps, il lui faudra saisir que le mot "ville" est désigné par le terme Town dans le premier skill à solliciter et City dans le second.
En bout de course, les réponses vocales sont générées par un processus de text-to-speech toujours pris en charge sur AWS. Le signal est ensuite renvoyé sur l'enceinte pour être diffusé. "Les skills tiers auxquels nous déléguons la résolution d'intention se contentent de recevoir les requêtes correspondant au contexte conversationnel analysé, puis d'y répondre à la manière d'un simple web service", poursuit Sébastien Stormacq.
Saisir à la fois un contexte vocal et graphique
En parallèle, Amazon entend relever un autre défi : créer une IA qui soit capable de prendre non-seulement en compte un contexte vocal, mais aussi graphique (sur écran). Et in fine de faire le lien entre les deux. "Nos modèles d'enceinte vocale Echo Spot et Echo Show sont équipés d'écran, et n'oublions pas qu'Alexa fonctionne aussi sur tablette, smartphone ou via notre Fire TV", rappelle Sébastien Stormacq.
Via ces terminaux, l'interaction devient multimodale. "A la question 'Alexa, joue Harry Potter', l'écran d'un Echo Show devra par exemple pouvoir faire apparaître une liste multi-choix, avec les livres audio Harry Potter, les films Harry Potter, leur bande originale... Si l'utilisateur demande 'le dernier', l'assistant devra comprendre qu'il s'agit de la dernière option de la liste, puis lancer le bon skill." Pour répondre à ce type de scénario, le groupe américain se tourne là-encore vers les réseaux de neurones (lire le post sur le sujet sur le blog officiel d'Alexa). Dans la même logique, Amazon développe en parallèle un langage de description graphique pour permettre aux éditeurs d'enrichir les applications Alexa d'expériences visuelles.