31 octobre 2018

L'IA associée aux Assistants Vocaux (voicebots)

Bien que j'avais entendu parler avant 2017 de l'intérêt grandissant des chatbots, je n'avais pas compris le rôle de l'Intelligence Artificielle associé à leur conception. Lors de la sortie des premiers Assistants Vocaux en France avec, entre autres, l'enceinte connectée Google Home, je n'ai pas non plus perçu immédiatement le rôle qu'apportait l'IA dans l'architecture des voicebots. Je me rappelle m'être posé la question, mais ou est l'IA mise en avant par le marketing dans ces solutions. Sans bien comprendre, j'avais toutefois pressenti qu'elle ne pouvait être associée qu'à la distinction des phrases émises par l'utilisateur. Par contre, j'étais incapable de savoir comment cela se traduisait techniquement. Lors de la création de mes premières applications VUI: Voice User Interface pour Google Assistant, puis pour Alexa, j'ai compris l'importance de fournir un nombre assez conséquent d'énonciations potentiellement possibles fournies par l'utilisateur pour être reconnues par l'application. Le dessin ci-dessous montre la phase de capture de la voix et de son traitement dans l'architecture. En premier lieu, la voix captée est transformée en MP3 depuis un périphérique quelconque (ex: enceinte connectée avec un Assistant Vocal) pour être acheminée dans le Cloud afin d'être transformée en texte (Speech to Text) puis d'être interprétée en langage naturel (fonction NLU: Natural Language Understanding, voire NLI: Natural Language Interpretation qui apporte en plus la couche d'IA nécessaire à la compréhension de la demande utilisateur). En effet, pour pouvoir associer un traitement (fonction déportée, de préférence en mode serverless) à une demande utilisateur, il est nécessaire d'avoir un taux de probabilité élevé que la demande soit en adéquation avec le traitement associé.

Pour cela, on fait appel à l'IA lors de la construction de la partie front-end de l'application VUI (interaction model) du voicebot en utilisant l'apprentissage profond (Deep Learning) en mode supervisé  avec probablement un algorithme de régression logistique associé. Cela consiste à construire un modèle des différentes énonciations possibles cohérentes, puis à l'utiliser pour effectuer des prédictions. Ce modèle sera donc utilisé lors de la remontée de toutes demandes utilisateur au voicebot pour garantir la bonne adéquation. En conséquence, si l'énumération des énonciations d'une demande utilisateur potentielle fournie par la voix est faible (20 à 30 variantes d'énonciations) le traitement d'apprentissage sera rapide (quelques secondes). Par contre, si l'énumération est importantes (10 000 variantes), le temps d'apprentissage pourra être de l'ordre de l'heure selon l'environnement d'exécution associé. En tenir compte lors de la construction du voicebot. L'IA peut aussi se trouver embarquée dans le coeur applicatif du voicebot (partie back-end avec les différentes fonctions en architecture serverless) pour rendre les actions plus intelligentes, en fonction des demandes utilisateur effectuées.



Informations complémentaires:

  • article AWS paru, le 24/11/2018: IA en mode cloud (ici),

Aucun commentaire:

Enregistrer un commentaire