Les chatbots, qui collectent, fournissent ou même évaluent les informations à la demande de l’utilisateur, font partie d’un groupe d’assistants virtuels. Grâce aux outils de création de chatbots, tels que les SDK ou les modèles de bots prêts à l’emploi, les entreprises peuvent très rapidement créer leur propre bot, avec les fonctions qu’elles souhaitent.
Même si les chatbots offrent désormais de nombreuses fonctions et peuvent apporter une réelle valeur ajoutée aux entreprises, ils ont aussi leurs limites. Tous les problèmes ne peuvent pas ou ne doivent pas être résolus à l’aide de chatbots. Pour pouvoir juger s’il est judicieux de résoudre un problème par le biais d’un chatbot, il est nécessaire d’examiner de plus près le processus de développement.
Types de chatbots
Les chatbots sont divisés en deux grandes catégories. Il s’agit d’une part des chatbots basés sur des règles et d’autre part des chatbots intelligents. Les chatbots basés sur des règles suivent toujours le même schéma. L’utilisateur est guidé à travers une conversation ou un processus à l’aide des dialogues préprogrammés et a peu de marge de manœuvre pour emprunter d’autres voies dans la conversation, car le bot n’a généralement une réponse prête que pour les thèmes qui lui ont été programmés. De plus, on distingue les chatbots basés sur des règles entre les chatbots proactifs et réactifs. Les chatbots proactifs n’attendent pas l’entrée de l’utilisateur, mais envoient des informations indépendantes à intervalles réguliers, par exemple le bot WhatsApp de Urlaubspiraten ou les newsletters de certaines entreprises. Les chatbots réactifs, en revanche, attendent d’abord une saisie de l’utilisateur et lancent, en fonction de la saisie, un dialogue ou un processus déterminé qu’ils réalisent avec une interaction continue avec l’utilisateur.
Le chatbot intelligent, quant à lui, devient de plus en plus intelligent grâce au Machine Learning et essaie de réagir aux réponses de la manière la plus humaine possible. L’avantage est que l’utilisateur n’a pas besoin d’être pris par la main. Il n’a généralement pas besoin de temps d’apprentissage, car le bot essaie d’obtenir le même résultat avec des entrées similaires et donc de donner la réponse appropriée à l’utilisateur. Bien sûr, selon la source de données, il n’est pas aussi efficace au début et a besoin d’une grande quantité de données auxquelles il peut se référer pour interpréter correctement le plus grand nombre possible de phrases et de contextes. C’est pourquoi on utilise généralement le chatbot basé sur des règles pour les tâches simples et précises, car il peut être mis en œuvre plus rapidement et à moindre coût. Les chatbots intelligents sont par exemple plutôt utilisés pour le support client, car aucun client ne décrit son problème de la même manière, mais les approches de solution sont néanmoins très similaires. Différents utilisateurs avec différents problèmes dépasseraient les capacités des chatbots basés sur des règles ou réduiraient la satisfaction des clients, car ils sont moins flexibles.
Motivation et recherche de thèmes
Le thème des assistants virtuels, et surtout des chatbots, m’intéressait déjà depuis longtemps et j’ai toujours voulu créer mon propre chatbot. J’ai donc décidé de développer un chatbot pour le logiciel de collaboration Microsoft Teams, qui a été introduit peu avant le début de mon mémoire de licence. Après mûre réflexion, mes collègues et moi avons élaboré un cas d’application pratique, qui devait nous aider, en tant que développeurs de logiciels, dans notre travail quotidien et devenir le thème de mon mémoire de licence.
Afin de coordonner correctement nos projets et de garder une vue d’ensemble de l’avancement, nous utilisons le logiciel de gestion des tâches Teamwork Projects. Teamwork offre différentes fonctions et vues d’ensemble pour représenter différentes méthodes de développement, comme par exemple Scrum ou Kanban. Chaque membre de l’équipe a la possibilité de créer et de regrouper de nouvelles tâches.
Afin d’atteindre une transparence maximale, chaque client a également accès aux projets créés pour lui et peut ainsi consulter à tout moment l’avancement et les dépenses qui y sont liées. De plus, les temps réservés sont enregistrés dans l’outil de gestion du temps créé à cet effet. Sur la base de ces données, le service RH (=Human Resources) peut établir des décomptes et a une meilleure vue d’ensemble pour la planification des ressources. La réservation des temps de projet devient donc un processus un peu plus complexe et coûte aux développeurs un temps précieux, qui manque dans le projet proprement dit.
Dans mon mémoire de licence, un chatbot doit maintenant être développé à l’aide du Microsoft Bot Framework, qui crée et enregistre les temps souhaités dans Teamwork, ainsi que dans l’outil de gestion du temps interne, avec le moins d’entrées possibles de la part de l’utilisateur. De plus, au cours du développement, les possibilités et les limites des chatbots doivent être mises en évidence, afin de reconnaître d’autres opportunités d’optimisation des processus grâce aux expériences qui en résultent.
Le Microsoft Bot Framework
Le Microsoft Bot Framework SDK offre des outils et des fonctions pour développer ses propres services de chatbot, qui réagissent à certaines activités dans un ou plusieurs chats. Grâce aux Bot Adapters, différents services de bot peuvent être intégrés dans différents logiciels de collaboration.
Source : https://azure.microsoft.com/de-de/services/bot-service/
Chaque Bot Adapter communique avec au moins un bot en transmettant chaque activité, comme par exemple un message ou l’ajout d’un utilisateur dans un canal, comme un événement au bot. Le développeur peut intercepter ces événements dans le service et indiquer au bot comment il doit réagir à certains événements.
Résultat de mon travail
Pour mon bot, j’ai opté pour un chatbot réactif basé sur des règles, car l’utilisateur doit d’abord sélectionner le système pour lequel il souhaite créer une entrée de temps et, dans le processus suivant, effectuer différentes entrées définies avec précision. Il est donc nécessaire de guider l’utilisateur pas à pas à travers le dialogue et de lui demander spécifiquement les informations dont le bot a besoin pour créer les entrées.
Le chatbot terminé est maintenant en mesure d’authentifier l’utilisateur dans les deux systèmes et de lui demander ensuite dans quel système il souhaite réserver du temps. Dans le cas d’un système de tickets comme Teamwork, une sélection de tickets qui lui sont attribués est proposée à l’utilisateur. Pour chaque ticket, il est maintenant possible d’indiquer dans une seule vue d’ensemble pendant quelle période il a été travaillé et ce qui a été fait pendant cette période. Ensuite, les données sont automatiquement réservées sur les tickets sélectionnés dans Teamwork et résumées dans l’outil de gestion du temps digatus. Ainsi, l’utilisateur peut réserver ses temps directement dans le chat Teams, sans ouvrir le navigateur.
Le bot et son service sont hébergés dans Azure. Cela a l’avantage que la configuration et le processus de mise à disposition se déroulent beaucoup plus rapidement et facilement que d’habitude grâce à l’intégration profonde de l’environnement de développement et des services. Outre l’enregistrement dans Microsoft Teams, le bot peut également être enregistré pour d’autres plateformes comme Slack, afin d’offrir à l’utilisateur une plus grande flexibilité dans le choix des outils. Un autre point important est l’accès à notre Active Directory, afin d’authentifier l’utilisateur rapidement et facilement sur la base de ses données de connexion, avant que le processus de réservation du temps proprement dit ne commence. Pour finir, à l’aide d’Azure Application Insights, différentes données de télémétrie sont collectées et évaluées concernant les erreurs, les performances et la convivialité de l’application. Ainsi, les erreurs peuvent être détectées plus rapidement ou les performances peuvent être optimisées.
Conclusion
Le battage médiatique autour des chatbots dure depuis environ 5 ans maintenant et, bien que l’on ait atteint le fond des choses à certains endroits et que l’on se rende compte que les chatbots n’ont pas toujours un but utile, ils sont néanmoins utilisés avec succès dans les domaines les plus divers – que ce soit dans le support client ou dans l’automatisation de la maison avec Alexa & Google Home. Facebook et WhatsApp, en particulier, misent de plus en plus sur les assistants virtuels, notamment dans le domaine de l’éducation. Grâce aux WhatsApp Education Bots, les personnes vivant dans des pays où la couverture réseau est très mauvaise peuvent apprendre quotidiennement et améliorer leur niveau d’éducation. Cependant, les chatbots ont encore beaucoup à apprendre dans le domaine de l’intelligence artificielle et l’on considère plutôt leurs capacités actuelles de manière désabusée. L’idée de mener une conversation naturelle entre l’homme et la machine semble encore être un long chemin.
L’intégration réussie de mon chatbot permet désormais à mes collègues et à moi-même de gagner chaque jour quelques minutes de temps de travail précieux et a été très bien accueillie par les collègues. Personnellement, à la fin de mon mémoire de licence, j’ai non seulement pu acquérir de nombreuses expériences dans Azure et le Microsoft Bot Framework, mais j’ai aussi beaucoup appris sur les différents types de chatbots et leur utilisation. À cela s’ajoutent de nouvelles connaissances dans le Web Framework ASP. NET, ainsi que le langage de programmation C#.

