Chatbot Microsoft Azure Bot Framework

Architecture ChatBot avec Microsoft Azure et Bot Framework

Pourquoi Microsoft Bot Framework ?

Depuis quelques temps, les chatbots ou agents conversationnels ont investi les plateformes digitales et en ont révolutionné l’utilisation. Que ce soit pour commander une pizza en tant que particulier via son mobile ou pour réserver une salle en tant que salarié d’une entreprise, les formes traditionnelles de communication sont de plus en plus abandonnées pour laisser place à un recours accru aux chatbots.

 

Microsoft Bot Framework vient faire le lien entre le ou les canaux de communication sur lesquels le chatbot sera déployé, et des outils de Natural Language Processing (NLP) pour interpréter les demandes de l’utilisateur et avoir des conversations plus naturelles.

 

 

Quel canal pour quel usage ?

Il n’y a virtuellement pas de limite à ce qu’un agent conversationnel peut réaliser, nous pouvons imaginer des scénarios allant du plus simple, comme un système de notifications amélioré, au plus compliqué, dans lequel le bot remplacerait l’intégralité d’un site Internet, interagissant avec de nombreux services externes.

 

Le choix du canal sur lequel l’agent va être déployé est donc très important, et dépend entièrement de l’usage que nous voulons en faire. Un canal accessible au grand public et avec une audience large et variée, comme Messenger, sera choisi pour des chatbots de prise de commande, de support ou de notification (exemples : Dominos Pizza, SNCF), tandis que pour un usage interne à une entreprise, que ce soit pour une FAQ ou pour réserver des salles de réunion, l’usage de Teams ou de Skype For Business sera plus adapté dans un écosystème Office 365.

 

Le chatbot peut aussi être directement intégré à un site web, il pourra servir à envoyer des messages proactifs (exemple : Avez-vous besoin d’aide ?) et à accompagner l’utilisateur lors de sa navigation sur le site.

 

Heek, chatbot de création de sites web

Heek, chatbot de création de sites web

 

Notre chabot peut également faire appel à des APIs externes permettant par exemple d’envoyer un mail, créer un ticket, vous donner la météo du jour ou encore avoir accès au cours de la bourse.

 

 

Qu’est-ce que le Natural Language Processing ?

Pour avoir une communication plus naturelle entre l’humain et le chatbot, il faut que le chatbot comprenne et interprète ce que l’utilisateur lui dit pour qu’il puisse à son tour lui répondre d’une manière compréhensible par l’homme. L’interprétation de la conversation entre l’humain et l’agent conversationnel peut être réalisée par des outils de Natural Language Processing, traitement automatique de langage naturel en français, tels que LUIS, Dialogflow et Wit.ai.

 

Le vocabulaire associé au NLP est le même quel que soit l’outil utilisé. Nous retrouvons les notions suivantes :

  • User Says, Training Phrase ou Utterance : tout ce que dit l’utilisateur. Par exemple, si un utilisateur demande « quel temps fera-t-il à Paris aujourd’hui ? », la phrase entière sera un user says.
  • Entity : représente un terme permettant de donner plus de précision à un intent. Si nous reprenons la phrase « quel temps fera-t-il à Paris aujourd’hui ? », « Paris » est une entité géographique, et « aujourd’hui » est une entité temporelle.
  • Intent : traduit l’intention de l’utilisateur, ce pourquoi il formule une demande au chatbot. Un intent englobe donc un ou plusieurs user says qui le référencient, et peut contenir une ou plusieurs entities.

 

L’intégration avec Bot Framework est native pour LUIS, ce qui n’est pas le cas pour les autres outils de NLP, mais elle n’en est pas pour autant plus difficile.

 

 

Architecture du projet

Concrètement, un chatbot est un point d’entrée d’une API qui écoute les messages que les utilisateurs lui envoient et réagit en conséquence. Microsoft Bot Framework permet de faire l’intermédiaire entre les différents canaux et ce point d’entrée pour avoir une implémentation unique et indépendante du canal choisi. A l’inverse d’un développement spécifique à chaque canal, cette implémentation unique garantit l’évolutivité de notre chatbot si demain nous souhaitions le déployer sur de nouveaux canaux.

 

Bot Framework – lien entre les outils NLP et les canaux

Bot Framework – lien entre les outils NLP et les canaux

 

Des développements spécifiques peuvent être réalisés pour tirer parti des fonctionnalités propres à chaque canal, comme par exemple l’affichage de reçus bancaires sur Teams ou la géolocalisation sur Messenger.

 

Microsoft Bot Framework est disponible bien évidemment en C# mais une version Node.js est également fournie par Microsoft.

 

Ecrit par Narjiss Aissaoui et Kevin Menant