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),

30 octobre 2018

Lumière sur les ampoules connectées

Équiper une maison avec plusieurs ampoules connectées pour une utilisation principale et régulière n'est pas si facile que cela à mettre en place et à manipuler au quotidien. En l'état, cela reste encore du domaine du gadget ou de la démonstration ponctuelle. Si votre habitat comporte plusieurs pièces et que chacune d'elles dispose de plusieurs lumières (ampoules de lampes, de lustres, d'appliques murales, etc.), cela devient vite fastidieux de vouloir que toutes les ampoules soient pilotables par d'autres interfaces que les interrupteurs associés. De plus, on peut se poser la question de la réelle utilité qu'elles soient toutes pilotables en dehors des interrupteurs classiques. Les applications mobiles, voire web pour Assistants Vocaux (Google Home, Alexa, ….) prennent en compte les objets connectés, dont les ampoules connectées relatives à différentes offres partenaires (Philips Hue, Trädfri, LifX, Awox,  Xiaomi, …) qui utilisent un protocole de communication sans fil avec ou sans Hub (Wifi, Bluetooth, Zigbee, Z-Wave, …), ainsi que de nombreuses autres applications dédiées directement à la gestion des objets connectés sans prendre en compte l'interface de la voix (ex: Smart Home, Home Assistant, Jeedom, …).


Personnellement, j'ai initialement (2017) exploité un mixte des deux modes de gestion, c'est-à-dire avec et sans l'utilisation de la voix, soit respectivement avec l'application Google Home et l'application Home Assistant. Le constat a été mitigé avec un pilotage à la voix de 2 ampoules Hue et 2 prises Wemo de Belkin auxquelles étaient associées chacune une lampe sans ampoule connectée. Au quotidien pour toute la famille ce n'est pas immédiat et sans dysfonctionnement. Malgré tout, il y a quelques avantages, dont les suivants: allumage et extinction automatique d'un groupe de lumières à des créneaux horaires définis, possibilité de piloter en dehors de la maison certaines lumières, confort de piloter à la voix certaines lumières éloignées, variateur d'intensité lumineuse des ampoules, etc.

Au début de l'été 2018, un an après Google, Amazon a commercialisé en France son offre d'Assistant Vocal Alexa avec une partie de sa gamme Echo (Dot, Plus et Spot), sachant que beaucoup de partenaires ont intégré l'assistant à leur solution matérielle (ex: Sonos,  Sony, Bose, mais aussi des constructeurs automobiles, tels que BMW, Toyota, Ford, Lexus, ...). Il est tout à fait possible d'allumer par la voix une ampoule à l'aide d'un Google Home et de l'éteindre toujours à la voix avec un périphérique Echo. L'inverse est naturellement vrai aussi.


La prise en compte des ampoules dans les applications mobiles de ces deux assistants n'est pas tout à fait similaire. Il y a quelques semaines de cela, les interfaces des applications mobiles de ces deux solutions ont été reprises de façon importante (plus conviviale et plus riche fonctionnellement). Il en résulte actuellement qu'il est possible de gérer un groupe d'ampoules connectées (ex; celles d'un lustre) depuis Alexa, car ce dernier récupère depuis le Hub Hue (fréquemment retenu dans une configuration d'habitat) les différents objets configurés (ex: ampoules, groupes d'ampoules, …), ce qui n'est pas le cas avec Google Home. Il en résulte pour ce dernier, la nécessité de créer des actions groupées de plusieurs actions individuelles, sachant qu'une ampoule ne peut être attachée qu'à une seule pièce. Une pièce pouvant être la dénomination propre à votre imagination (ex: salle lampe principale), car plusieurs ampoules sont possibles dans une seule pièce réelle. En final pour allumer et éteindre les ampoules d'un lustre via Google Home, la phrase suivante évoquée "Dis Google allume le lustre" se traduit par "OK, j'allume l'ampoule N°1", puis "OK, j'allume l'ampoule N°2", … En conséquence, les ampoules du lustre s'allument les unes après les autres. Ceci n'est pas le cas avec Alexa, il suffit de dire "Alexa allume le lustre" et toutes les ampoules du lustre s'allument en même temps.


Tout ceci milite pour retenir qu'un seul assistant vocal pour la maison. Mais lequel, sachant que la couverture fonctionnelle globale est différente et en pleine évolution (potentialité de l'IA associée, streaming vidéo, appel téléphonique, etc.) entre les deux leaders actuels (Amazon et Google), il semble préférable de retenir les deux solutions. Cela complexifie l'installation et la gestion, mais cela préférable. Personnellement, naviguant entre plusieurs habitations connectées, j'apprécie la prise en compte de différentes habitations pour un compte applicatif dans l'interface de l'application Google Home.



Pour rassurer les personnes désireuses d'intégrer ces ampoules connectées dans leur habitat, il faut rappeler que la cohabitation de la voix et du toucher est possible pour les piloter, il suffit simplement de comprendre que l'interrupteur doit être en position ON pour que la voix puisse être opérationnelle. Si toutefois par inadvertance ou par besoin, vous appuyez sur l'interrupteur et que l'ampoule a été éteinte préalablement par la voix, il vous faudra effectuer deux opérations de ON / OFF pour allumer les ampoules associées à l'interrupteur. Une fois allumées, elles pourront être éteintes à la voix. C'est simple, mais cette logique peut déconcerter plusieurs d'entre nous.



Côté ampoules LED à durée de vie importante, on trouve maintenant des prix attractifs pour des ampoules classiques en lumière blanche. Les ampoules colorées ont un usage limité. 


Alexa Skill Blueprints

La solution logicielle "Alexa Skill Blueprints"permet de créer facilement, très facilement une skill en quelques clics. Le problème est qu'actuellement cette solution n'est pas (encore) disponible pour la langue française.


La facilité limite toutefois la richesse fonctionnelle de la skill, mais cela peut-être éventuellement intéressant pour certains besoins basiques. Pour plus amples détails, consulter ce lien (ici).

25 octobre 2018

Ampoules connectées Trädfri

Après avoir acheté chez Ikea plusieurs ampoules Trädfri (tarifs: 9,99€ et 19,95€ pour environ 100 lumens au culot E27) compatibles avec le Hub Philips Hue, leur mise en oeuvre dans l'habitat est assez facile. Le premier tarif est pour de la lumière blanche uniquement, alors que le second est relatif à des ampoules avec variation sur le blanc et lumière chaude. Il n'y a pas d'ampoules de couleur pour le moment dans la gamme Trädfri.

save image


Il faut procéder de la sorte depuis son smartphone. A l'aide de l'application mobile Hue Essentials, il est possible d'ajouter de nouvelles ampoules. Depuis l'onglet "Lumières" (menu vertical de gauche), il est possible d'ajouter de nouvelles ampoules à celles existantes, en appuyant sur [+]. La recherche se fait de 2 façons (ampoule allumée près du Hub); en appuyant sur le  bouton [RECHERCHER LES LUMIÈRES] ou quand la lumière de l'ampoule change d'intensité sur à un arrêt / marche de l'interrupteur associé à l'ampoule, appuyez sur la touche [TOUCHLINK]. Dans l'un des deux cas, l'ampoule doit apparaître dans la liste des ampoules pris en charge par le Hub.


La prise en compte des ampoules gérées par le Hub Philips Hue est différente sous l'application mobile Alexa et Google Assistant. Pour la première, il suffit de cliquer sur l'icône maison en bas à droite de l'écran pour afficher l'ensemble des appareils (devices Echo et partenaires Alexa, lumières, prises, etc.). Ensuite cliquer sur "Lumières" ou logiquement le nom associé à l'ampoule dans l'application Hue Essentials apparaît. Il faut changer son nom selon son choix et l'associer à une pièce existante ou à créer. Côté Google Assistant, c'est différent. Il faut d'abord sélectionner la maison retenue (fonction inexistante à ce jour sur Alexa) et pour celle-ci appuyer sur [+] (Ajouter), puis "Configurer un appareil". Deux cas se présentent; "Nouveaux appareils" et "Fonctionne avec Google". Retenir le 2ème cas et dans la liste des services associés, vous devez trouver celui de Philips Hue, si vous avez  déjà des ampoules opérationnelles. Si vous appuyez dessus, il vous est demandé de supprimer l'association. Faites-le et ajouter le service supprimé avec la connexion au service et son autorisation d'emploi de confiance. Alors, pour la maison retenue, dans la listes des ampoules (icone "Allumer"), vous devriez voir l'ampoule ajoutée. 

Ces petites manipulations pour intégrer quelques nouvelles ampoules montrent les différences suivantes entre Amazon et Google suite à leur actualisation logicielle récente pour mieux gérer les objets connectés de la maison associés à leur assistant vocal.

  1. La notion de maison n'est pas encore disponible sous Alexa,
  2. La notion de groupe d'objets sous la nouvelle IHM de Google Assistant n'est pas limpide et difficile à utiliser,
  3. Le look & feel de la gestion des objets connectés est très intuitive sous Google Assistant, moins sous Alexa,

Ces applications mobile associées aux assistants vocaux et à la maison connectée sont en perpétuelle évolution. En conséquence, il faut souvent les utiliser pour appréhender leurs fonctions et leurs mises à jour.

22 septembre 2018

La déferlante des assistants vocaux est en marche

A priori, en l'espace d'un peu plus d'un an, il se serait vendu en France environ 250.000 enceintes connectées dotées d'un assistant vocal (Google Assistant ou Alexa). En raison de la commercialisation en août 2017 du Google Home, puis sur la fin de l'année du Google Home Mini, Google est pour l'instant le leader sur notre territoire. Par ailleurs, statistiquement 41 millions d’Américains vont utiliser des appareils de la famille Echo en 2018, soit 31% de plus qu’en 2017 selon certains sondages et/ou relevés. Les deux tiers des utilisateurs d'enceintes connectées possèdent un des appareils d’Amazon. Ils ne sont que 30% à avoir opté pour un Google Home. Certains de ces utilisateurs ont les deux appareils.

Résultat de recherche d'images pour "assistant vocal"

Hier au journal télévisé sur A2 a été évoqué ces nouveaux produits avec leur mode d'emploi et les risques encourus. Des experts de sécurité ont mis en avant l'accès à ces enceintes à l'insu des propriétaires permettant de prendre la main directement sur l'enceinte pour capter le son avec le micro en position off. Oui, il est possible d'accéder à l'enceinte à l'aide de certaines API et quelques lignes de code. J'ai d'ailleurs fait cet exercice durant l'été 2017. Ceci étant pour que quelqu'un puisse y arriver, il est nécessaire qu'il accède à votre réseau privé qui utilise probablement du Wifi. La sécurité de votre réseau est relative à la qualité de votre box (firmware up-to-date) et la dureté de votre clé Wifi. Le protocole WPA2 associé au Wifi est malheureusement cassable. Selon la dureté de votre clé Wifi (longueur importante avec des caractères ésotériques), il faut des moyens de traitement assez conséquent pour la casser. Ces moyens ne sont pas à la portée de tous. Donc, oui la sécurité n'est pas sûre à 100%, mais pourquoi seriez-vous particulièrement visé par une attaque! Par ailleurs, je signale que l'on peut effacer les traces de ses échanges vocaux depuis l'application Web Alexa ou Google Assistant, simplement depuis votre smartphone.

Ayant reçu de la part d'Amazon un Echo Dot 2nd suite à ma publication de deux skills dans leur magasin virtuel Amazon.fr relative à la promotion développeur de cet été, j'ai maintenant six assistants vocaux à domicile. Ils sont répartis de la façon suivante dans les pièces de la maison:

  • Cuisine: Echo Spot + Google Home,
  • Salle: Google Home Mini + Sonos One avec Alexa,
  • Chambre: Echo Dot 2nd,
  • Bureau: Echo Dot 1nd.

J'ai équipé aussi mon beau-père (87 ans) de ces matériels. Il a chez lui les suivants :

  • Salle : Google Home,
  • Cuisine: Echo Spot,
  • Chambre: Google Home Mini.

Il les utilise régulièrement pour :

  • impressionner ses amis lors de démonstrations avec les objets connectés (Hub et ampoules Hue) installés dans la maison. A la voix, il allume et éteint les lumières de certaines pièces,
  • allumer et éteindre la télévision,
  • écouter de la musique. Il a même un abonnement Spotify,
  • nous téléphoner en visiophonie avec l'Echo Spot,
  • demander la météo, les news, etc.

J'oubliais aussi ma voiture qui est connectée à Google Assistant, ce qui me permet d'avoir, entre autres, l'application Waze directement sur l'écran 10" pouces de mon véhicule VW, voire aussi Spotify.

Tout cela peut paraître beaucoup, mais on peut considérer un Echo Dot, voire demain un Echo Input, comme une ampoule électrique. Le prix est légèrement plus cher, mais le service n'est pas du tout le même. Un Echo dot dans chaque pièce permet de monter un système d'alarme. Ceci est possible depuis peu avec Alexa Guard intégré directement dans les enceintes. Alexa Guard peut remplacer le système d'alarme traditionnel en lui apportant en plus un soupçon d'IA. Grâce au Machine Learning, voire Deep Learning, Alexa peut simuler le fonctionnement quotidien de la maison; ouvrir les volets le matin, ou encore éteindre les lumières, afin de tromper les cambrioleurs. Alexa sera capable de comprendre si la sécurité du domicile est compromise ou non et d’envoyer des alertes aux propriétaires des lieux. Dans le cas où des détériorations sont détectées ou que l’assistant entend des sons étranges comme des bris de verre, cela déclenchera une alerte. Les enregistrements audio sont (également) envoyés aux propriétaires. Cette information pourra les aider à déterminer, si c’est un membre de la famille qui est rentré ou si c’est potentiellement un cambrioleur.

save image

Dans la gamme étendue de produits Alexa (une quinzaine au total, dont un four à micro-ondes), celui que je préfère pour le moment est l'Echo Spot qui permet, entre autres, à domicile de pouvoir voir la personne avec qui vous êtes en contact téléphonique. La liste des nouvelles fonctionnalités associés à l'ensemble de la gamme de produits Alexa est donnée (ici).

Résultat de recherche d'images pour "Echo Spot"