par Julian Le Calvez, Stratégie et Technologie

Cette année nous étions à la journée technique des Tech Days de Microsoft, désormais renommés en “Microsoft Expériences”. Si le nouveau format parait séduisant sur le papier (une journée business, une journée technique), il se révèle en réalité frustrant, car sur les 150 sessions quotidiennes, et à moins d’être doté d'ubiquité, il n’est possible d’assister qu’à 8 d’entres elles, tout au plus ... Un choix cornélien !  Le plus simple reste donc de se concentrer sur 2-3 sujets, et de notre côté, nous nous sommes focalisés sur le Machine Learning, la Blockchain et les Bots de conversation.

Si l’an dernier les conférences étaient très centrées sur la promotion de Azure (le cloud de la maison), cette année, on sent que Microsoft souhaite faire passer à la vitesse supérieure tout un tas de services. Surtout, on a pu noter un vrai pas en avant assumé vers l’interopérabilité et l’open-source.
Bon on va pas se mentir, ils restent quand même à la traîne, même si lors de la plénière Scott Guthrie, VP de l’activité cloud et entreprise, s’est vanté d’avoir un cloud disponible dans un nombre de régions supérieur à Google et Amazon réunis. Encore faudrait-il, pour pouvoir comparer, que chacun s’accorde sur la définition du mot ‘région’...

Allez on arrête de taper sur Microsoft et on passe aux choses sérieuses et intéressantes.

BaaS : vers la blockchain
Si vous n’êtes pas à l’aise avec la technologie blockchain, nous vous recommandons la lecture de cet article qui résume assez simplement son principe.

Microsoft s’investit énormément dans la blockchain, notamment au travers de leur solution BaaS (Blockchain as a Service). En théorie cela permet à n’importe qui de monter et de déployer une blockchain privée dans le cloud sans avoir à écrire une ligne de code. En pratique, c’est effectivement simple, au détail près que quand bien même vous comprendriez la blockchain, il vous faudra quand même disposer d’un bon background technique !
L’un des points forts de la solution BaaS de Microsoft est l'intégration de nombreux partenaires. Depuis l’interface, il est ainsi possible de déployer une blockchain Ethereum, NTX, Hyperledger, et d’autres encore dont nous n’avions même jamais entendu parlé. Chacune ayant bien évidemment ses spécificités.
Mais la partie intéressante est surtout leur Dev/Test Lab de la blockchain, véritable bac à sable pour ceux qui souhaitent monter et tester gratuitement une blockchain parmi la liste de toutes celles disponibles. Et c’est vrai que pour commencer à mettre les mains dans le cambouis, c’est une bonne option ! Cela nous a même donné envie de tester cette solution, et nous publierons un article sur ce sujet dans une des prochaines gazettes. Restez connecté !

Bot de conversation
Comme il fallait s’y attendre, les conférences sur le bots ont rencontré un grand succès lors de cette journée. Dans ce domaine, Microsoft s’appuie sur une partie de sa suite de service cognitifs (voir ci-avant), qui, combiné à leur ‘bot framework’, permet d’accélérer  la mise en place de bots conversationnels (les chatbot quoi). Ce dernier nous a paru intéressant car il ne se réduit pas à une base permettant de recevoir une demande et de renvoyer une réponse, mais il est aussi accompagné de tout un écosystème. Il s’interface, par exemple, à de nombreuses solutions de communication telles que Slack, Facebook Messenger, SMS/email ou bien évidemment Office 365. Le SDK permet aussi une gestion et un déploiement dans Azure (le cloud Microsoft).

Pour aller plus loin, le véritable enjeu des bots conversationnels reste la performance des réponses apportées à l’utilisateur. Pour cela, Microsoft a présenté LUIS (Language Understanding Intelligent Service), son service d'interprétation du langage naturel, fonctionnant grâce au Deep Machine Learning (apprentissage automatique de données non structurées). Ici, Microsoft a réussi une intégration assez simple malgré une interface peu intuitive :
On commence d’abord par créer une application, c’est-à-dire un bot. A partir de là,  2 concepts sont mis en avant pour comprendre ce que nous dit l’utilisateur : les intentions et les entités. L’intention est au sens propre du terme, ce que la personne souhaite faire (commander une pizza, s’abonner au journal, demander les horaires de métro). Les entités, elles, servent à qualifier chaque intention :

  • Intention :  “commander une pizza”;  entités :  nom de la pizza, type de pâtes.
  • Intention : “s’abonner au journal” ; entités : formule, durée
  • Intention : “demander les horaires”; entités : numéro de la ligne, direction

Il s’agira ensuite “d’entraîner” le robot en lui donnant de nombreux exemples de phrases. Ce qu’il faut savoir, c’est que ce seront la quantité et la qualité des exemples d'entraînement qui détermineront la puissance et la pertinence de votre robot.

Machine Learning
Cela fait un petit moment que Microsoft s’est lancé dans la course au Machine Learning. Azure, le cloud de Microsoft, propose d’ailleurs une batterie de services au service de l’analyse cognitive. Nous vous avions parlé, il y a peu, de Watson, l’intelligence artificielle cognitive d’IBM...Microsoft propose des services similaires, et ajoute même au tout la reconnaissance visuelle appliquée aux formats vidéo, ainsi que la possibilité d’effectuer des recherches dans des bases de données académiques.
Mais son vrai point fort est l'intégration de la solution avec d’autres services, comme par exemple le bot framework, l’intelligence décisionnelle ou le big data (avec Cortana). Avec ces outils en main, un projet d’analyse en temps réel des stations Vélib’ de Paris a pu être mené, permettant par exemple de prédire le nombre de vélos disponibles à une station dans les minutes ou heures qui arrivent. En revanche, l’interface n’est pas vraiment intuitive malgré (ou à cause) de jolis graphiques, et c’est un vrai souci.

Enfin, Katja Hofmann, chercheuse à Cambridge en Machine Intelligence and Perception, nous a présenté ses travaux sur le projet Malmo. Ce projet permet d’interagir avec le jeu Minecraft, grâce à une surcouche développée autour de différentes techniques de machine learning. Pour ceux qui ne le connaissent pas “Minecraft est un jeu de placement de blocs et d’aventure. Il permet d’explorer des mondes générés aléatoirement et de construire des choses impressionnantes depuis une simple maison au plus grand des châteaux.” Grâce au projet Malmo, il est désormais possible, par exemple, de faire se déplacer des éléments automatiquement dans un monde virtuel, en prenant compte de ses spécificités (obstacles, routes…).Le projet est open-source et il est possible de le tester ici.

 

Pour conclure, on retient de ces journées l’ouverture assumée de Microsoft sur l'extérieur. Outre les annonces corporate, l’entreprise commence réellement à prendre un virage intéressant et propose des solutions adaptées, que cela soit en terme d’usage ou d'intégration. Le véritable souci reste encore et toujours le peu d’intuitivité qu’offrent leurs outils.

 

Comment