IDLabs-IoT Le site dédié aux objets connectés

Un site des laboratoires pédagogiques de l'école CampusID

Le Voice Kit d’AIYproject et recast.ai

Posted on 4 novembre 2018  in Non classé

“ Do-it-yourself intelligent speaker ”

Introduction

 

            Depuis leurs sorties sur le marché en 2016 pour la plupart, les assistants vocaux font parler d’eux. Que l’on soit enthousiaste à leur propos ou très réticent à l’idée de faire entrer ces objets dans son domicile, on ne peut pas passer à côté. De nombreuses entreprises ont sorti leur propre assistant, le choix entre le Google Assistant, Siri d’Apple, Alexa d’Amazon ou encore Cortana de Microsoft est large en prenant en compte que ces derniers ne sont pas si différents lorsque l’on se penche sur leurs capacités.

On remarque très rapidement que les fonctionnalités sont plutôt limitées. Il faudra presque obligatoirement relier son assistant à des plateformes de streaming par exemple ou ajouter d’autres fonctionnalités développées par des particulier pour s’en servir pleinement et non seulement pour connaître la météo et les nouvelles du matin.

Dans ce cas, pourquoi ne pas faire son propre chatbot vocal ? Contrairement à ce que l’on peut penser, c’est une technologie assez accessible, il y a même plusieurs possibilités si on souhaite se lancer dans ce projet d’assistant personnel.

Après quelques recherches, on peut trouver une dizaine de solutions, gratuites ou non mais surtout parfois livrées clé en main. Nous nous intéresserons à ce dernier type ici.

Dans un premier temps, nous porterons notre attention sur le AIY Voice Kit de Google à construire soit même en quelques heures seulement. Nous verrons d’abord ce que propose Google, en quoi consiste ce kit et s’il est intéressant pour quelqu’un qui souhaiterait fabriquer et développer son propre assistant.

Ensuite, nous verrons ce qu’est un chatbot plus en détail afin de mieux comprendre cette nouvelle technologie qui intéresse tant. Il s’agira aussi de démystifier ces assistants « intelligents ». Nous nous intéresserons d’ailleurs à Recast.ai, une plateforme qui permet de développer facilement des bots.

Enfin, nous nous pencherons sur la construction du kit, sa construction et son utilisation.

 

Le AIY Voice Kit

I - Ce que propose Google

 

 

            Google s’est fait une joie de penser aux personnes qui aiment encore bidouiller dans leur coin en plus de programmer en sortant un kit pour construire son propre Home Assistant. Le SDK (kit de développement logiciel ou software developpement kit en anglais) avait déjà été mis à disposition en open source tout comme Amazon avait ouvert son « Alexa Skills kit » aux développeurs.

Google propose un certain nombre de petits kits dans la série des « AIY Projects » presque sous forme de jouets pour enfant, livrés clé en main pour réaliser vos propre assistants domotiques, détecteur d’animaux ou même un « détecteur de joie » qui, en scannant le visage d’une personne, pourra déterminer si la personne est heureuse ou non. Si ces gadgets ne sont pas forcément indispensables, ils deviennent très intéressants lorsque l’on peut les construire et/ou programmer soit même.

Il existe donc deux kits chez Google, le vision kit qui permettra de détecter des images mais aussi de les analyser et le Voice Kit auquel nous nous intéresserons ici.

Dans la présentation du projet du produit, on nous promet une installation complète en une heure et demi, pas de matériel particulier à avoir si ce n’est une Rapsberry Pi et une utilisation qui n’a apparemment rien à envier à son grande frère le Google Home ou tout autre Home Assistant.

Comme dit précédemment, les chatbots sont une technologie d’avenir. Ils permettent d’automatisés toutes sortes de tâches ennuyeuses à effectuer, de déléguer une partie de son travail qui ne nécessite pas ou peu de réflexion. Il s’agira cependant d’utilisation les chatbots intelligemment puisque, contrairement à ce que l’on pourrait nous vendre, ces assistants sont tout sauf intelligents.

L’avantage en construisant son propre Home Assistant est qu’il sera entièrement personnalisé et personnalisable.

Effectivement, tout comme le Home Assistant classique, que ce soit Google ou non, notre home-mode assistant aura du mal à se suffire à lui-même. S’il n’est pas associé à d’autres objets connectés ou comptes de streaming, l’utilisateur aura vite fait le tour de ses possibilités.

On a aussi pu voir depuis de nombreux détournements du Voice Kit comme une machine à cocktails.

II – La découverte du kit

 

            Le Voice Kit semble à première vue plutôt succin, la Rapsberry Pi est à placée dans une boite en carton surplombée par un gros bouton très semblable à la boite du film « The Box » en moins inquiétante tout de même qui servira à communiquer avec l’Assistant. Contrairement aux Home Assistants classique qui écoutent en permanence en attendant de capter le « trigger word », par exemple « Ok Google ! » pour le Google Home. Une partie des plus réticents à l’idée d’être potentiellement espionnés en permanence seront peut-être plus convaincus par cet assistant home-made.

On peut déjà penser, si notre nouveau Home Assistant nous plait réellement, à remplacer la boite en carton pour un autre contenant imprimé grâce à une imprimante 3D par exemple.

Le Voice Kit se constitue de 1- un Voice HAT accessory board, 2- un Voice HAT microphone board, 3- des entretoises en plastique, 4- un haut parleur, 5- un bouton type Arcade, 6- des câbles fils pour le bouton, 7- des câbles 5 fils, 8- le boitier en carton, 9- un support interne en carton, 10- une led pour le bouton, 11- un interrupteur pour le bouton et 12- un support de la led du bouton.

Nous retrouverons tous ces éléments lorsque nous verrons la réalisation et la construction du kit.

 

I – Qu’est-ce qu’un chatbot ?

 

            Intéressons-nous un instant à ce qu’est un chatbot aussi appelé « agent conversationnel » qui n’est autre que la base de notre nouvel assistant. C’est un programme qui donne l’illusion à l’utilisateur qu’il a un dialogue intelligent avec une machine. Les agents conversationnels fonctionnent souvent à l’aide de mots déclencheurs (ou trigger warning), on connaît tous le « Ok Google ! » par exemple, mais aussi des expressions pour retrouver les réponses qu’attend l’utilisateur.

On se base par ailleurs souvent sur le test de Turing pour déterminer si on est en entrain d’interagir avec une machine ou une personne.

On peut aussi évoquer l’effet ELIZA c’est-à-dire la tendance à assimiler de manière inconsciente le comportement d’une machine à celui d’une personne. Par exemple, si un agent conversationnel dit « Merci ! » à la fin d’une phrase, l’utilisateur pensera que ce dernier exprimer de la gratitude alors qu’il exécute seulement le programme qu’on lui a assimilé. Aussi, on aura souvent tendance à remercie le chatbot lorsqu’il répond de manière positive à une demande.

D’autres programmes ont été inspiré d’ELIZA, on peut citer ECTOR et ALICE qui sont aussi des logiciels de robot parlant mais ne sont pas en mesure de passer le test de Turing.

Les chatbots ne sont pas capables d’émettre des émotions ou des pensées personnelles, cependant, les développeurs ajoutent souvent des phrases de réponses pour donner cette impression de réel et d’intelligence artificielle.

Par ailleurs, l’agent conversationnel n’a pas besoin de comprendre ce que l’utilisateur dit, il doit seulement analyser des mots clé. On peut cependant remarquer que certain chatbot vont plus loin en détectant aussi les intentions de l’utilisateur, en analysant cette fois-ci la façon dont est posée une question.

Aussi, un chatbot ne veut pas dire « intelligence artificielle », même avec un peu de machine learning et un mix de technologie, on est encore loin d’une machine intelligente. C’est d’ailleurs là tout le souci de publicité mensongère sur la vente de Home Assistant soi-disant intelligent.

Nous sommes loin de l’agent conversationnel que l’on peut voir dans le film Her de Spike Jonze par exemple. Dans cette comédie dramatique de science-fiction, Theodore, le personnage principal, fait l’acquisition d’un système d’exploitation qui n’est autre qu’une intelligence artificielle qui évoluera selon ses désirs, ses demandes mais qui est aussi conçue pour évoluer et s’adapter à toutes situations. Theodore développe peu à peu une relation romantique avec ce qui était seulement un assistant personnel.

 

 

II – Pourquoi utiliser un Voice Kit ?

 

 

            L’utilisation du Voice Kit par Google n’est pas obligatoire pour créer son propre chatbot, effectivement pour les plus débrouillards ce ne sera même pas essentiel. Précédemment, nous avons pu évoquer qu’il y a des dizaines de solutions plus ou moins accessibles et payantes ou non.

Si on n’a aucune connaissance en code, on pourra tout de même créer un chatbot pour facebook messenger avec Botsify ou Chatfuel par exemple.

Avec l’aide de nombreux tutoriels, un novice pourrait créer un chatbot quasiment sans taper une seule ligne de code.

On peut aussi se demander s’il est mieux de développer son chatbot en « stand-alone » ou grâce à un agrégateur de bot, Google Assistant par exemple. On pourrait choisir d’avoir sa propre application mobile cependant pour que le bot soit accessible aux utilisateurs.

On pourrait arriver au même résultat en utilisant seulement une Rapsberry Pi, là encore il n’y aura aucune intelligence artifice seulement un semblant d’assistant qui reformule nos demandes et ne dit que quelques réponses préprogrammées.

On remarquera ici que la mise en place se faire très rapidement, ce qui est un grand avantage pour commencer à s’intéresser aux chatbots. Rapidement on pourra par la suite ajouter d’autres fonctionnalités, utiliser des API à coupler avec notre Assistant pour le rendre plus performant par rapport à notre utilisation.

Nous nous intéresserons par la suite à une API simple à prendre en main qui permet de créer et développer des bots facilement.

 

 

Construire son propre chatbot vocal

 

I – La connexion

 

 

            Une fois la construction de la boite et l’ajout des différents éléments, le Voice Kit peut se connecter de plusieurs façons, nous nous intéresserons à la plus simple mais aussi celle qui est recommandée. Puisque nous sommes en possession d’un système clé en main, AIY Projects a bien fait les choses avec une application prévue pour la connexion. On utilise donc son smartphone pour se connecter au kit via la Wi-Fi mais aussi afficher une adresse IP pour faire communiquer le kit avec un ordinateur sans fil et SSH.

Bien évidemment lors de la connexion, l’ordinateur et le kit devront être sur le même réseau Wi-Fi. En passant par le terminal, par exemple Secure Shell, on démarre une session SSH en utilisant l’adresse IP de la Rapsberry Pi.

La partie audio va bien sûr être importante, il va être nécessaire de tester si celle-ci fonctionne en entrant d’abord une commande « /home/pi/AIY-projects-python/checkpoints/check_audio.py ». Celle-ci servira à chaque fois que l’utilisateur voudra vérifier le volume, si l’audio est fonctionnel etc.

Le Voice Kit va normalement commencer à parler. On communiquer avec le kit via le terminal en confirmant que l’on a pu entendre les informations. On enregistre ensuite sa propre voix et ainsi de suite pour calibrer le kit.

 

 

 

III – Le point Google

 

            Après que le kit ait été calibré, la suite se passera forcément sur Google qui va mettre ici son grain de sel et permettre d’utiliser au mieux son nouvel assistant. Comme dit plus tôt dans la présentation des chatbots, l’utilisation des API est recommandées, on citera les API Google Assistant et Cloud Speech. Pour se faire l’utilisateur devra s’identifier à la console de développeurs Google.

L’utilisateur passera par le Google Cloud Platform pour créer un nouveau projet qui sera relié au Voice Kit. Via ce projet, on pourra ajouter toutes les API que la personne jugera nécessaire à son utilisation mais surtout l’API Google Assistant qui donne accès au kit de développement (SDK) et qui sera essentielle au bon fonctionnement du Voice Kit.

Là encore, très peu de recherche à faire ou même de code à écrire, il suffira de naviguer dans la librairie de la Google Cloud Platform. A chaque fois, il faudra les fichiers via le terminal.

 

 

Recast.ai, une plateforme de création de bot

 

 

I – Utiliser une plateforme pour développer un bot

 

            Précédemment, nous avons évoqué la plateforme Recast.ai, un outil très complet pour créer et développer des bots sans trop de difficultés. Plusieurs de canaux de discussion comme Skype, Slack sont déjà intégrés ainsi que l’utilisation du traitement automatique du langage naturel. On le place par ailleurs parmi les outils qui gèrent le mieux la langue française.

Recast.ai se base d’abord sur du machine learning, c’est-à-dire que l’apprentissage se fera petit à petit comme grâce à un entraînement. Effectivement le bot devra distinguer l’intention de la phrase qu’il vient d’analyser, en fonction de sa construction, il pourr

a reconnaître la demande et y répondre correctement.

Il y aura donc ce que l’on apprendra au bot et ce qu’il est entraîné à reconnaître seul.

 

Le bot va analyser les mots essentiels pour répondre correctement à la demande de l’utilisateur. Ici la localisation « Paris » en jaune fait partie des mots qu’il reconnaît sans apprentissage de la part de son créateur, on les appelle aussi gold entities.

Grâce à Recast.ai on pourra aussi gérer les flux de conversation du bot c’est-à-dire comment il doit réagir et enchaîner les réponses selon une demande. Aussi si le bot ne peut accéder à la requête, il est préférable de lui enregistrer une phrase de réponse, une demande de reformulation par exemple. C’est ce que nous évoquions avec le programme ELIZA. On appelle ces skills les « floatings » qui rendent plus vivants le bot, grâce à eux le bot pourra répondre à un compliment ou une question auquel il n’est pas capable de répondre comme un choix de sa couleur préférée. Les « fallback » skills sont ceux qui seront déclenché si aucun skill n’est déclenché. Enfin les « business » skills qui correspondent au bon traitement de la requête.

Les entités jugées importantes seront transformées en gold entities, par exemple un prénom, c’est ainsi que le bot apprend.

L’une des parties les plus importantes dans la création de notre bot est l’ensemble des actions qu’il pourra effectuer. Ces dernières se déclinent en plusieurs catégories comme un renvoi de réponse en texte, l’enregistrement d’une donnée, le déclenchement d’une application etc.

 

Un élément important, Recast est une plateforme communautaire c’est-à-dire qu’il est possible de récupérer les fonctionnalités de bots déjà existant mais surtout de les faire apprendre plus rapidement. Lorsque l’on entraine son bot en lui enregistrant un certain nombre de phrases pour une même requête, on aura la possibilité de forker ces dernières et récupérer celle d’autres bots.

 

 

Sur la capture d’écran précédente, nous sommes dans le cas d’un enregistrement d’utilisateur. Le bot devra identifier le nom de la personne ainsi que son email. On remarque d’ailleurs que Recast a pu identifier immédiatement les emails, personnes et pronoms dans les phrases qui lui ont été enregistrer. Ici, « register-user » est notre première intention.

 

 

Voilà ce que l’on peut obtenir en testant notre bot via l’application. On peut enregistrer un certain nombre d’utilisateur en utilisant différentes formules.

On peut imaginer utiliser ce bot dans un chat au sein d’une entreprise par exemple, chacun pourrait enregistrer facilement ces préférences de contact.

 

 

Conclusion

 

 

 

            Si l’engouement autour des chatbots qui ne cesse d’augmenter vous intéresse, nous avons pu voir qu’il n’est pas si difficile de créer le sien à moindre coût, avec une interface seulement ou même un boitier physique pas si éloigné de ceux que l’on peut se procurer dans le commerce.

De nombreuses solutions apparaissent chaque jour et il suffit de trouver celle qui conviendra le mieux à l’utilisation personnel de chacun. De plus, un chatbot home-made sera bien plus adapté à la personne qui le créé puisqu’elle sera en mesure de le calibrer à sa convenance.

Le Voice Kit d’AIY Projects peut passer pour un gadget mais reste performant et adaptable. Les plus motivés et surtout ceux déjà équipés au moins d’une Raspberry Pi n’en auront cependant pas besoin.

Nous nous sommes aussi intéressés à la plateforme Recast.ai, l’une des plus efficaces pour créer un bot simple à implémenter dans un chat comme Slack, Messenger ou Discord.

Si les bots donnent une impression d’intelligence, c’est avant à son créateur de l’utiliser intelligemment afin de lui donner toutes les clés pour qu’il se développe rapidement et correctement.

0 thoughts on “Le Voice Kit d’AIYproject et recast.ai”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *