0% ont trouvé ce document utile (0 vote)
55 vues69 pages

Report

Le document présente un projet de développement d'un chatbot, en détaillant le cadre général, l'étude préalable, l'initialisation du projet, ainsi que la réalisation et les tests. Il aborde les méthodes de gestion de projet, l'évolution des chatbots, leur fonctionnement, et les technologies impliquées. La conclusion résume les résultats obtenus et les perspectives d'avenir pour le projet.

Transféré par

benfathallahsami8
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
55 vues69 pages

Report

Le document présente un projet de développement d'un chatbot, en détaillant le cadre général, l'étude préalable, l'initialisation du projet, ainsi que la réalisation et les tests. Il aborde les méthodes de gestion de projet, l'évolution des chatbots, leur fonctionnement, et les technologies impliquées. La conclusion résume les résultats obtenus et les perspectives d'avenir pour le projet.

Transféré par

benfathallahsami8
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Table des matières

Introduction générale 1

1 Cadre général du projet 3


1.1 Présentation de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Fiche d’identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Secteur d’activité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Contexte du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Méthode de gestion de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1 Principales méthodes innovantes . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.2 Description et analyse comparative de Lean Startup et Design Thinking . . . 11
1.5.3 Choix de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 Étude préalable 14
2.1 Définition d’un agent conversationnel (chatbot) . . . . . . . . . . . . . . . . . . . . . 15
2.2 Évolution des chatbots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.1 ELIZA, premier chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2 ALICE (Artificial Linguistic Internet Computer Entity) . . . . . . . . . . . . 17
2.2.3 SMARTERCHILD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.4 MITSUKU (aujourd’hui KUKI) . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.5 GROK (par xAI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Types de chatbots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.1 Le chatbot programmé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.2 Le chatbot basé sur l’apprentissage automatique . . . . . . . . . . . . . . . . . 22
2.4 Mode de fonctionnement d’un chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5 L’intelligence artificielle et les chatbots . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6 Le traitement du langage naturel (Natural Language Processing) . . . . . . . . . . . 24
2.7 L’apprentissage automatique (Machine Learning) . . . . . . . . . . . . . . . . . . . . 24

iv
2.7.1 Types d’apprentissage automatique . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Classification d’intentions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8.1 Correspondance de motifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8.2 Algorithmes d’apprentissage automatique . . . . . . . . . . . . . . . . . . . . 27
2.9 Réseaux de neurones artificiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.10 Les plates-formes de développement des chatbots . . . . . . . . . . . . . . . . . . . . 28

3 Initialisation du projet 30
3.1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Cahier des charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.2 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Modélisation des besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.1 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . 33
3.4.2 Diagramme de cas d’utilisation raffiné « Gestion de la base de connaissances » 36
3.5 Approche proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5.1 Chatbot basé sur la récupération . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5.2 Approche moderne de classification des intentions . . . . . . . . . . . . . . . . 40
3.5.3 Design thinking et apprentissage automatique . . . . . . . . . . . . . . . . . . 43
3.6 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.1 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.2 Choix technologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.3 Ressources matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4 Réalisation et test 46
4.1 Fonctionnement général de l’application . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Base de connaissances du chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Structure de la base MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.2 Technologies utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.3 Interface d’administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3 Prétraitement des données pour le modèle Mistral . . . . . . . . . . . . . . . . . . . . 52

v
4.4 Phase d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.5 Création du framework du chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.6 Application finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Conclusion générale 60

Bibliographie 62

vi
Table des figures

1.1 Logo de Medisys-Consulting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6


1.2 L’écran d’accueil de Tamarello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Création d’une nouvelle demande d’incident ou de service . . . . . . . . . . . . . . . 7
1.4 Principales méthodes innovantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Les étapes du Design Thinking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1 Chatbot ELIZA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


2.2 Chatbot ALICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Chatbot SmarterChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Chatbot Mitsuku (Kuki) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 Chatbot Grok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Les modèles basés sur la récupération . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Les modèles génératifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8 Exemple de modèle supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.9 Présentation d’un réseau de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . . . . . 33


3.2 Diagramme de séquence système de l’authentification . . . . . . . . . . . . . . . . . . 35
3.3 Diagramme de cas d’utilisation « Gestion de la base de connaissances » . . . . . . . 36
3.4 Diagramme de séquence système « Gestion de la base de connaissances » . . . . . . . 39
3.5 Système de classification des intentions . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1 Architecture logicielle de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . 48


4.2 Tableau de bord de l’administration . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3 Gestion des intentions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4 Formulaire de création d’une intention . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.5 Phrase structurée pour Mistral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.6 Phase d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.7 Traitement d’un message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.8 Assistant virtuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

vii
4.9 Interface web du chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.10 Réponse à un incident . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.11 Demande de reformulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

viii
Liste des tableaux

1.1 Informations générales sur Medisys-Consulting . . . . . . . . . . . . . . . . . . . . . 4


1.2 Lean Startup versus Design Thinking . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1 Description textuelle du cas d’utilisation « S’authentifier » . . . . . . . . . . . . . . . 34


3.2 Description textuelle du cas d’utilisation « Discuter avec le chatbot » . . . . . . . . . 36
3.3 Description textuelle du cas d’utilisation « Ajouter une intention » . . . . . . . . . . 37
3.4 Description textuelle du cas d’utilisation « Supprimer une intention » . . . . . . . . . 38
3.5 Comparaison avec le modèle sac de mots . . . . . . . . . . . . . . . . . . . . . . . . . 43

ix
Introduction générale

De nos jours, la majorité des internautes utilisent des messageries instantanées, le webchat
et les réseaux sociaux étant les principaux canaux de contact. Parmi les applications les plus
téléchargées, quatre des six premières places sont occupées par des applications de messagerie
instantanée. Par ailleurs, nous observons une présence croissante de personnages animés sur nos
sites web favoris, qui nous accompagnent tout au long de notre navigation. Ces assistants virtuels,
souvent sous la forme d’une fenêtre de conversation, proposent une aide immédiate et rendent
l’expérience utilisateur plus conviviale. Ces agents virtuels, disponibles 7j/7 et 24h/24, apportent
une dimension chaleureuse aux sites internet tout en constituant un outil incontournable, capable
d’offrir une assistance instantanée et personnalisée.

Cette technologie repose sur le traitement automatique du langage naturel (NLP), qui analyse
les phrases ou détecte des mots-clés pour fournir des réponses pertinentes enregistrées dans une base
de connaissances. Grâce aux récentes avancées en intelligence artificielle (IA), les machines peuvent
désormais comprendre et répondre aux utilisateurs de manière fluide et instantanée, imitant un
comportement humain sans interruption. L’IA permet ainsi de reproduire une intelligence conversationnelle
proche de celle d’un humain, rendant les interactions plus naturelles.

Dans ce contexte, Medisys-Consulting cherche à développer un chatbot , afin d’assister les


employés dans la résolution de leurs incidents informatiques liés à l’utilisation de l’ITSM Tamarello.
Ce chatbot vise à optimiser la productivité interne en fournissant des réponses en temps réel avec une
disponibilité totale. L’objectif est de concevoir un agent conversationnel doté d’une IA sophistiquée,
capable d’interagir avec les employés de manière variée et de répondre à leurs questions techniques
comme le ferait un collègue spécialisé.

L’IA sous-jacente utilise un ensemble de techniques permettant d’imiter le comportement


humain, offrant une intelligence conversationnelle comparable à celle d’un opérateur humain dans
des échanges naturels et fluides.

Au cours d’un stage de quatre mois au sein de l’équipe IT Programmation de l’entreprise

1
Introduction générale

Medisys-Consulting, j’ai conçu et développé un prototype d’agent conversationnel destiné à guider


les employés dans la résolution de leurs incidents informatiques.

Ce rapport retrace cette expérience à travers quatre chapitres. Le premier chapitre expose le
contexte global dans lequel le projet a émergé, notamment la présentation de l’organisme d’accueil.
Le deuxième chapitre présente l’étude préalable et les technologies adoptées. Le troisième chapitre
détaille l’initialisation du projet et l’approche proposée, tandis que le dernier chapitre décrit la phase
de réalisation du projet.

2
Chapitre 1

Cadre général du projet

Plan
1 Présentation de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Contexte du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5 Méthode de gestion de projet . . . . . . . . . . . . . . . . . . . . . . . . . 9


Chapitre 1. Cadre général du projet

Introduction

Ce chapitre pose les bases du projet en présentant son cadre général. Nous commençons
par une présentation de l’organisme d’accueil, Medisys-Consulting, ainsi que de Tamarello, l’outil
de gestion des services informatiques (ITSM) utilisé pour gérer les incidents et les tickets au sein
de l’entreprise. Ensuite, nous exposons le contexte du projet, qui vise à améliorer l’assistance
aux employés grâce à une solution innovante. Nous analysons ensuite l’existant, en évaluant ses
limites pour proposer une solution adaptée aux besoins des utilisateurs. Enfin, nous décrivons la
méthodologie de travail adoptée pour mener à bien cette initiative.

1.1 Présentation de l’entreprise

Créée en 2009, Medisys-Consulting est une entreprise spécialisée dans le Business Process
Outsourcing (BPO), proposant des solutions externalisées principalement dans les domaines de la
finance, de la comptabilité, de la gestion des fiches de paie et du traitement des frais de voyage.
Grâce à l’intégration de solutions logicielles performantes et de technologies modernes, Medisys-Consulting
assure la sous-traitance de processus métier spécifiques, permettant ainsi à ses clients de se concentrer
sur leurs activités principales.
Les solutions BPO proposées par Medisys-Consulting offrent plusieurs avantages stratégiques,
notamment :

– une augmentation significative de la productivité ;

– une meilleure flexibilité dans la gestion des ressources ;

– une amélioration continue de l’efficacité opérationnelle des entreprises ;

– un haut niveau de sécurité et de compétence dans le traitement des données.

Ces services s’inscrivent dans une logique de performance et d’optimisation des processus,
répondant aux exigences croissantes du marché actuel.

1.1.1 Fiche d’identité

Tableau 1.1 : Informations générales sur Medisys-Consulting

Informations Détails

4
Chapitre 1. Cadre général du projet

Nom de la société Medisys-Consulting

Année de création 2009

Siège social 69, avenue Louis Braille, 1073 Montplaisir, Tunis

Directeur général Hella Boudiya

Adresse e-mail info@[Link]

Numéro de téléphone +216 71 906 170

1.1.2 Secteur d’activité

Les activités principales de Medisys-Consulting se déclinent comme suit :

– Développement de logiciels orientés services pour les grandes, moyennes et petites entreprises.
Il s’agit d’applications dites « métier », conçues sur mesure selon les besoins spécifiques des
clients.

– Intégration de systèmes permettant de connecter et d’harmoniser les outils informatiques afin


d’améliorer l’efficacité, la communication et la gestion des processus internes. Cette activité
vise à optimiser les performances globales en centralisant les données pour faciliter la prise de
décision.

– Solutions RH destinées à gérer efficacement le recrutement, la paie, la formation et la gestion


des talents. Ces solutions automatisent les tâches administratives, optimisent les processus
internes, facilitent la prise de décision et améliorent l’expérience des employés.

– Support IT fournissant une assistance technique pour résoudre les problèmes informatiques,
maintenir les systèmes et assurer la continuité des services. Ce service garantit la performance
et la sécurité des infrastructures technologiques.

– Infogérance IT, désignant la gestion externalisée des services informatiques d’une entreprise,
incluant la maintenance, la surveillance et l’optimisation des infrastructures. Elle permet aux
entreprises de se concentrer sur leur cœur de métier tout en assurant la disponibilité et la
sécurité de leurs systèmes.

– Consulting, offrant des services de conseil spécialisés pour accompagner les entreprises dans la
résolution de problématiques stratégiques, organisationnelles ou technologiques. Les consultants
apportent leur expertise pour optimiser les processus, améliorer la performance et accompagner
le changement.

5
Chapitre 1. Cadre général du projet

Figure 1.1 : Logo de Medisys-Consulting

1.2 Contexte du projet

L’outil de gestion des services informatiques (ITSM) Tamarello est utilisé par Medisys-Consulting
pour faciliter la communication avec les employés et gérer les échanges en conservant un historique
de chaque interaction.
Dans ce cadre, l’équipe interne de support technique a mis en place un centre de services
chargé de répondre aux demandes des employés concernant la modification, la maintenance ou le
remplacement de leurs équipements informatiques ou logiciels.
Pour répondre efficacement à ces besoins, le centre de services a intégré Tamarello comme
solution de gestion des tickets. Cet outil permet aux employés de Medisys-Consulting de soumettre
leurs demandes au personnel du support, qui sont ensuite enregistrées sous forme de tickets dans le
système.
Les tickets sont organisés en deux catégories principales :

• Demandes de services : regroupant toutes les requêtes liées aux mises à jour ou aux modifications
des équipements informatiques et logiciels.

• Incidents : englobant les signalements de pannes ou de dysfonctionnements affectant les équipements


ou logiciels.

La figure 1.2 montre l’écran d’accueil de Tamarello.

6
Chapitre 1. Cadre général du projet

Figure 1.2 : L’écran d’accueil de Tamarello

La figure 1.3 montre le menu qui permet de créer une nouvelle demande d’incident ou de
service.

Figure 1.3 : Création d’une nouvelle demande d’incident ou de service

1.3 Problématique

Le support technique est un département essentiel mais exigeant en ressources au sein d’une
entreprise. Chez Medisys-Consulting, les employés du centre de services consacrent leurs journées à
répondre aux demandes des collègues via des appels téléphoniques, des chats, des courriels, ou en

7
Chapitre 1. Cadre général du projet

coordonnant avec d’autres services pour résoudre les incidents signalés.


Actuellement, Medisys-Consulting utilise Tamarello comme outil de gestion des services
informatiques (ITSM) pour assister les employés dans la gestion des tickets, avec un module de
chat intégré pour faciliter les échanges entre les employés et l’équipe de support. Cependant, le
processus en place présente plusieurs limites qui entravent une assistance rapide et efficace.
Ces limites incluent les points suivants :

• Latence : le temps de réponse varie en fonction du volume de demandes reçues, ce qui peut
entraîner des délais importants.

• Disponibilité : les heures de travail du support sont limitées, généralement de 8 h 30 à 18 h,


ce qui signifie qu’aucune assistance n’est disponible en dehors de cette plage horaire.

• Qualité inégale : malgré une formation continue, la qualité des réponses peut varier d’un
employé à l’autre, impactant l’expérience utilisateur.

• Temps d’attente : les employés peuvent attendre longtemps avant de recevoir une réponse, en
particulier lors des périodes de forte demande.

• Coût : à mesure que le nombre de demandes augmente, Medisys-Consulting doit envisager de


recruter davantage de personnel, ce qui engendre des coûts supplémentaires.

Ces défis soulignent la nécessité d’une solution capable de répondre plus rapidement, de
manière cohérente et à moindre coût, tout en étant disponible à tout moment pour les employés.

1.4 Solution proposée

L’objectif est de proposer une assistance proactive qui réduit la dépendance à un grand
nombre d’agents de support. Cette assistance doit être disponible au moment où les employés en
ont besoin, sans délai, ce qui a conduit à l’idée de développer un agent conversationnel, ou chatbot,
capable de guider rapidement les utilisateurs vers des solutions adaptées. Ainsi, une optimisation du
temps, du coût et de la qualité des réponses sera constatée.
L’agent conversationnel à concevoir offrira plusieurs avantages pour le support technique de
Medisys-Consulting, à savoir :

• améliorer les interactions avec les employés en répondant au plus vite à leurs demandes ;

• permettre d’économiser un temps considérable pour l’équipe de support technique ;

• assurer une disponibilité continue.

8
Chapitre 1. Cadre général du projet

1.5 Méthode de gestion de projet

Aucune méthode de gestion de projet n’est intrinsèquement meilleure qu’une autre, mais le
choix adapté aux caractéristiques et au contexte du projet fait la différence. Il est donc utile d’établir
une étude comparative entre les méthodologies les plus utilisées pour bien comprendre les spécificités
de chacune et choisir celle qui permettra une coordination optimale des ressources et l’atteinte des
résultats attendus dans les délais fixés.

1.5.1 Principales méthodes innovantes

Les méthodes d’innovation sont aujourd’hui nombreuses. La figure 1.4 présente les trois
principales méthodes innovantes :

Figure 1.4 : Principales méthodes innovantes

[Link] Lean Startup

La méthodologie Lean Startup, née dans la Silicon Valley, s’inspire du système de production
de Toyota. Son but est de déterminer quoi construire, puis comment le construire efficacement.
Le Lean Startup est utilisé pour expérimenter rapidement une solution à un problème, des

9
Chapitre 1. Cadre général du projet

canaux de distribution, des canaux marketing, des modèles de revenus et des structures de coût.
Une fois le produit déterminé, il faut le tester, le développer et l’itérer pour aboutir à un
produit final commercialisable sur un marché donné.

[Link] L’approche Agile

L’approche Agile s’oppose aux gestions de projet de type cycle en V ou en cascade. Le terme
même de gestion de projet est remplacé par celui de gestion de produit, l’objectif des méthodes agiles
étant de créer un produit. Son manifeste en présente les quatre valeurs :

• l’importance des individus et de leurs interactions ;

• l’importance d’un logiciel fonctionnel, plus que d’une documentation exhaustive ;

• la collaboration avec les parties prenantes, plus importante que la négociation contractuelle ;

• l’adaptation au changement, plus importante que le suivi d’un plan.

Pour se prétendre de la méthode Agile, une entreprise doit permettre à tous ses employés
de participer à la création des contenus, ce qui nécessite de revoir en profondeur l’aspect pyramidal
de l’organisation. Celle-ci doit faire usage des nouvelles technologies permettant l’optimisation de la
production.

[Link] Le Design Thinking

Le Design Thinking naît dans les années 50 aux États-Unis, lorsque le publicitaire américain
Alex Osborn met au point la technique du brainstorming. L’idée : réunir son équipe et stimuler
sa créativité en lui faisant brasser différentes idées afin de résoudre un problème en trouvant des
solutions.
Le Design Thinking est une méthodologie innovante qui permet de transformer les idées et
les projets en actions réelles et en prototypes tangibles. L’innovation se situe à l’intersection de trois
facteurs : la désirabilité, la faisabilité et la viabilité. Autrement dit, quand une offre est désirable,
économiquement viable et techniquement réalisable, les conditions sont réunies pour innover.
Le Design Thinking repose sur la conviction que nous pouvons changer les choses. Il propose
un processus efficace pour trouver des solutions innovantes et pertinentes ayant des répercussions
positives.
Le Design Thinking est à la fois une méthode et une façon de penser. Il s’agit d’une démarche
projet orientée vers la résolution de problèmes grâce à un processus évolutif en cinq phases qui stimule

10
Chapitre 1. Cadre général du projet

l’innovation.
La figure 1.5 présente les cinq étapes du Design Thinking.

Figure 1.5 : Les étapes du Design Thinking

1.5.2 Description et analyse comparative de Lean Startup et Design


Thinking

Le Design Thinking et la méthode Lean Startup sont indéniablement parmi les plus discutées
et utilisées, mais quelles sont les différences entre ces deux approches ?
Le tableau 1.2 récapitule les principaux attributs de chaque méthode et détaille de façon plus
approfondie les subtilités et les points communs entre les deux approches.

Tableau 1.2 : Lean Startup versus Design Thinking

Critères Design Thinking Lean Startup

Approche Centrée sur l’utilisateur Centrée sur le client

Point de départ On part d’un problème On part d’une idée business


complexe

11
Chapitre 1. Cadre général du projet

Testing Écouter tôt pour réussir La notion de pivot est


rapidement centrale : plus tôt nous
réalisons que nos hypothèses
sont fausses, plus vite nous
pouvons les corriger et les
tester à nouveau

Itération Itération Pivoter

Idéation L’idéation fait partie du L’idéation ne fait pas partie de


processus ; les solutions sont la démarche
générées au fur et à mesure
de la démarche

Recherche Fortement utilisée : Non


qualitative — Recherche utilisateur

— Observation terrain

— Approche empathique

Recherche Non Fortement présente :


quantitative — Matrices d’analyse

— Checklist pour vérifier le


product-market fit

— Définition de MVP

— Testing

Tests d’hypothèses Absents de la méthode Présents dans la méthode

Itérations rapides Oui Oui

Groupe cible Utilisateurs (généralement Clients (peuvent être


les utilisateurs finaux, parfois utilisateurs, acheteurs, etc.)
d’autres parties prenantes)

12
Chapitre 1. Cadre général du projet

1.5.3 Choix de la méthode

Le Design Thinking est un processus de résolution de problèmes créatifs et, avec l’avancement
de l’intelligence artificielle, nous avons conclu que cette méthode est la plus adaptée pour mener à
bien notre projet. Nous avons donc décidé de la suivre afin de répondre aux besoins des employés.
Lorsqu’on parle de Design Thinking, il faut comprendre les étapes suivantes :
Empathize : Faire preuve d’empathie
La première phase du Design Thinking a pour but de se mettre à la place de l’employé et d’essayer
de comprendre ses besoins.
Define : Définir le besoin
Cette étape est essentielle pour le processus de conception, car nous devons exprimer explicitement
le problème auquel nous essayons de répondre. Cet énoncé du problème peut alors servir de tremplin
pour générer des solutions innovantes.
Ideate : Rechercher des idées (créativité)
Cette phase consiste à chercher des idées pour passer de l’identification des problèmes à l’exploration
des solutions pour nos employés.
Prototype : Prototyper des solutions
Le prototypage permet de donner vie à nos idées. Cela permet souvent de vérifier si certaines idées
sont réalisables ou non, et si des modifications doivent être apportées.
Test : Tester les solutions
La dernière phase vise à tester notre projet et à affiner les solutions proposées grâce aux retours
des employés. Le test est le meilleur moyen de savoir si notre projet est viable et si nos idées sont
réalisables. Les retours des employés nous permettront d’avoir une nouvelle vision du projet et de
réagir en conséquence.

Conclusion

Ce chapitre a permis de situer le cadre dans lequel s’inscrit ce projet, ainsi que de présenter
la problématique qui nous a conduits à élaborer une vision stratégique avantageuse et à adopter la
méthodologie de développement appropriée.
Dans le chapitre suivant, nous aborderons une étude des concepts théoriques et rassemblerons
le maximum d’informations sur les chatbots.

13
Chapitre 2

Étude préalable

Plan
1 Définition d’un agent conversationnel (chatbot) . . . . . . . . . . . . . . 15

2 Évolution des chatbots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Types de chatbots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4 Mode de fonctionnement d’un chatbot . . . . . . . . . . . . . . . . . . . . 23

5 L’intelligence artificielle et les chatbots . . . . . . . . . . . . . . . . . . . 23

6 Le traitement du langage naturel (Natural Language Processing ) . . . 24

7 L’apprentissage automatique (Machine Learning ) . . . . . . . . . . . . . 24

8 Classification d’intentions . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

9 Réseaux de neurones artificiels . . . . . . . . . . . . . . . . . . . . . . . . 27

10 Les plates-formes de développement des chatbots . . . . . . . . . . . . . 28


Chapitre 2. Étude préalable

Introduction

L’étude de l’existant est une phase cruciale dans le projet de TechBit. Ce chapitre vise à
définir ce qu’est un chatbot, en se concentrant sur TechBit, et à expliquer son fonctionnement en
mettant en lumière l’importance des techniques de traitement du langage naturel et d’apprentissage
automatique dans le cadre de l’amélioration du support technique chez Medisys-Consulting avec
l’outil Tamarello.

2.1 Définition d’un agent conversationnel (chatbot)

Un chatbot est un système logiciel capable d’interagir et de discuter avec un utilisateur


humain dans un langage naturel (tel que le français ou toute autre langue pour laquelle il a été
conçu). TechBit, spécifiquement développé pour Medisys-Consulting, peut informer les employés ou
les assister dans l’accomplissement de tâches, comme soumettre un ticket ou résoudre un problème
technique via Tamarello.
TechBit est un programme informatique ou une application avec laquelle on peut interagir
de manière conversationnelle via un chat. Il peut communiquer en utilisant du texte, fournir des
instructions techniques détaillées et générer des fichiers de script (par exemple, des fichiers .bat) pour
automatiser des solutions, comme la reconnexion d’un lecteur réseau après collecte d’identifiants.

2.2 Évolution des chatbots

Historiquement, le premier chatbot, nommé ELIZA, a été créé en 1966 par Joseph Weizenbaum,
professeur au MIT (Massachusetts Institute of Technology), aux États-Unis. Ce programme, qui
simulait un psychothérapeute rogérien, reformulait la plupart des affirmations de son interlocuteur
en questions qu’il lui posait en retour.
À l’origine, les chatbots fonctionnaient en s’appuyant sur une base de données de questions-réponses
déclenchées par des mots-clés repérés dans la conversation. Cependant, les progrès de l’intelligence
artificielle, notamment en apprentissage automatique, ont permis de développer des agents conversationnels
beaucoup plus évolués, comme TechBit, dotés d’un système d’analyse du langage naturel performant
et capables de s’améliorer via un fine-tuning sur des données spécifiques.
Au cours de la décennie 2010, les chatbots se sont progressivement transformés en assistants
virtuels capables d’accomplir des tâches et de proposer des solutions basées sur les préférences des

15
Chapitre 2. Étude préalable

utilisateurs. Apple (avec Siri), Google (avec Google Assistant), Facebook et Microsoft (avec Cortana)
ont investi massivement dans ces technologies pour en faire de véritables assistants. TechBit prolonge
cette évolution en se spécialisant dans le support IT pour Medisys-Consulting, tout en s’inspirant
des avancées récentes dans le domaine.

2.2.1 ELIZA, premier chatbot

Le premier chatbot, ELIZA, a été créé en 1966 par Joseph Weizenbaum dans le cadre du projet
MAC au MIT. Cette intelligence artificielle cherchait à imiter un psychothérapeute en reformulant
les questions de son interlocuteur.
Son fonctionnement reste basique, car elle utilise une simple méthode de reconnaissance et de
substitution des mots-clés dans les phrases fournies par l’utilisateur, à partir de règles prédéfinies.
Elle n’interprète pas ce qui lui est dit et n’intègre pas de notion d’apprentissage.
Cette solution supervisée est fonctionnelle, mais les conversations sont extrêmement limitées,
car ELIZA reformule uniquement ce que dit l’utilisateur sans apporter de réelle valeur ajoutée à
l’échange. Elle donne l’illusion de comprendre.
La figure 2.1 présente un exemple de discussion avec le chatbot ELIZA :

Figure 2.1 : Chatbot ELIZA

16
Chapitre 2. Étude préalable

2.2.2 ALICE (Artificial Linguistic Internet Computer Entity )

En 1995, ALICE, l’un des chatbots les plus récompensés de l’histoire, a été développé par
Richard Wallace. Ce chatbot était doté de nouvelles capacités, comme un système d’identification
capable de déterminer la personnalité de ses interlocuteurs. Aujourd’hui, ce programme reste une
référence en matière de chatbots.
ALICE est un chatbot de traitement du langage naturel qui utilise la correspondance de
motifs pour récupérer des réponses. Les informations sont stockées dans un fichier appelé Artificial
Intelligence Markup Language (AIML), conçu pour organiser la base de connaissances des chatbots
sous forme de fichiers XML. TechBit s’inspire de cette approche en utilisant des intents stockés dans
MongoDB, mais enrichis par des modèles d’apprentissage automatique.
La figure 2.2 présente un exemple de discussion avec le chatbot ALICE :

Figure 2.2 : Chatbot ALICE

2.2.3 SMARTERCHILD

En 2001, SmarterChild, créé par ActiveBuddy, a marqué une étape importante en devenant
l’un des premiers chatbots à être largement utilisé sur des plateformes de messagerie instantanée
comme AOL Instant Messenger et MSN Messenger. SmarterChild permettait aux utilisateurs d’accéder

17
Chapitre 2. Étude préalable

à des informations en temps réel, telles que les prévisions météo, les actualités ou les résultats sportifs,
tout en tenant des conversations simples.
SmarterChild utilisait une combinaison de scripts prédéfinis et d’appels à des API externes
pour fournir des réponses dynamiques, une innovation pour l’époque. Bien qu’il manquât de capacités
d’apprentissage automatique, il a popularisé l’idée d’un assistant conversationnel accessible au grand
public, ouvrant la voie à des chatbots comme TechBit, qui intègre des API locales et des modèles
fine-tunés pour répondre aux besoins spécifiques des employés.
La figure 2.3 illustre une interaction typique avec SmarterChild, montrant sa capacité à
fournir des informations utiles :

18
Chapitre 2. Étude préalable

Figure 2.3 : Chatbot SmarterChild

2.2.4 MITSUKU (aujourd’hui KUKI)

En 2005, Mitsuku, créé par Steve Worswick (plus tard renommé Kuki), est devenu un autre
jalon dans l’évolution des chatbots. Mitsuku était conçu pour des conversations plus naturelles et
engageantes, remportant plusieurs fois le prix Loebner grâce à sa capacité à maintenir des dialogues
cohérents sur une large gamme de sujets.
Comme ALICE, Mitsuku utilisait AIML pour structurer ses réponses, mais avec une base de
connaissances beaucoup plus vaste et des scripts optimisés pour gérer des conversations complexes,

19
Chapitre 2. Étude préalable

y compris des blagues, des jeux et des discussions philosophiques. Mitsuku a inspiré des chatbots
comme TechBit en démontrant l’importance d’une base de connaissances robuste, bien que TechBit
privilégie des réponses techniques et un modèle génératif pour les cas non couverts par ses intents.
La figure 2.4 montre une conversation avec Mitsuku, illustrant sa capacité à répondre de
manière naturelle et contextuelle :

Figure 2.4 : Chatbot Mitsuku (Kuki)

2.2.5 GROK (par xAI)

En 2024, Grok, créé par xAI, a marqué une avancée significative dans le domaine des chatbots
en se positionnant comme un assistant axé sur la fourniture de réponses utiles et véridiques, souvent
avec une perspective extérieure sur l’humanité. Grok est conçu pour assister les utilisateurs dans
diverses tâches, allant de la résolution de questions complexes à la génération de contenu créatif,
tout en s’appuyant sur des modèles d’apprentissage automatique avancés.
Grok se distingue par sa capacité à maintenir une mémoire des interactions passées pour des
conversations plus cohérentes. Contrairement à TechBit, qui se concentre sur des tâches techniques
spécifiques pour Medisys-Consulting, Grok vise une audience plus large avec une approche généraliste,

20
Chapitre 2. Étude préalable

tout en offrant des fonctionnalités comme le mode vocal sur certaines plateformes, accessible via les
applications iOS et Android de Grok. Cette évolution illustre la diversification des usages des chatbots
ces dernières années.
La figure 2.5 présente une interaction typique avec Grok, montrant sa capacité à répondre
de manière détaillée et contextuelle :

Figure 2.5 : Chatbot Grok

2.3 Types de chatbots

Un chatbot peut soit générer des réponses à partir de modèles d’apprentissage automatique,
soit utiliser une heuristique pour sélectionner une réponse parmi une bibliothèque de réponses
prédéfinies. TechBit combine ces deux approches pour répondre aux besoins des employés de Medisys-Consulting.

2.3.1 Le chatbot programmé

Un chatbot programmé répond à des questions en fonction de règles prédéfinies sur lesquelles
il est formé.
Les règles définies peuvent être très simples ou très complexes. La création de ces chatbots est
relativement aisée en utilisant une approche basée sur des règles, mais ils ne sont pas efficaces pour
répondre aux questions dont le modèle ne correspond pas aux règles sur lesquelles ils sont formés.
Dans TechBit, ces règles sont définies dans des intents MongoDB, permettant une gestion
structurée mais limitée aux scénarios prévus, comme la détection de mots-clés pour des problèmes

21
Chapitre 2. Étude préalable

tels que « mon PC est lent ».

2.3.2 Le chatbot basé sur l’apprentissage automatique

Les chatbots basés sur l’apprentissage automatique sont plus efficaces que ceux fondés sur des
règles. TechBit intègre deux types de modèles :

• Les modèles basés sur la récupération

Les modèles basés sur la récupération utilisent un référentiel de réponses prédéfinies et une
heuristique pour choisir une réponse appropriée en fonction de l’entrée et du contexte. L’heuristique
peut être aussi simple qu’une correspondance d’expression basée sur des règles ou aussi complexe
qu’un ensemble de classificateurs d’apprentissage automatique. Ces systèmes ne génèrent pas de
nouveau texte, ils sélectionnent simplement une réponse parmi un ensemble fixe.
Dans TechBit, cette approche est utilisée pour les intents courants, comme « usb_issue »
déclenché par « ma clé USB ne marche pas », avec une réponse prédéfinie.
La figure 2.6 présente le principe de fonctionnement des modèles basés sur la récupération :

Figure 2.6 : Les modèles basés sur la récupération

Les modèles basés sur la récupération sont pratiques, et TechBit les exploite avec des intents
MongoDB pour des réponses rapides.

• Les modèles génératifs

Les modèles génératifs ne reposent pas sur des réponses prédéfinies. Ils génèrent de nouvelles
réponses à partir de zéro. Dans TechBit, ce modèle est basé sur Mistral-7B fine-tuné, qui traduit

22
Chapitre 2. Étude préalable

une entrée (par exemple, « mon écran clignote ») en une réponse détaillée comme « 1. Vérifiez le
câble vidéo. 2. Ajustez le taux de rafraîchissement à 60 Hz. 3. Mettez à jour les pilotes. »
La figure 2.7 présente le principe de fonctionnement des modèles génératifs :

Figure 2.7 : Les modèles génératifs

Les modèles génératifs représentent l’avenir des chatbots, et TechBit les utilise pour gérer les
cas hors-sujet avec des instructions techniques adaptées.

2.4 Mode de fonctionnement d’un chatbot

L’étude suivante présente les différentes techniques permettant la création d’un chatbot comme
TechBit. Ces techniques ont été choisies parmi d’autres car leurs algorithmes sont accessibles, offrant
une base pour élaborer des solutions adaptées à Medisys-Consulting.
TechBit utilise des outils locaux comme les intents MongoDB et un modèle fine-tuné pour
garantir la confidentialité. Pour qu’il soit efficace et fournisse des réponses pertinentes via Tamarello,
il s’appuie sur l’intelligence artificielle, le traitement du langage naturel (NLP) et les classificateurs
de texte, qui contribuent à son intelligence globale.

2.5 L’intelligence artificielle et les chatbots

L’intelligence artificielle, ou informatique cognitive, est la recherche de moyens permettant de


doter les systèmes informatiques, comme TechBit, de capacités intellectuelles comparables à celles
des êtres humains.

23
Chapitre 2. Étude préalable

Le concept d’intelligence artificielle fait référence à une machine capable non seulement de
produire un comportement intelligent, mais aussi d’éprouver une impression de conscience de soi et
une compréhension de ses propres raisonnements.
L’IA de TechBit met en œuvre des techniques permettant d’analyser des données (par
exemple, les messages des employés) et de faire des choix (par exemple, sélectionner un intent ou
générer une réponse), le liant naturellement à son rôle de support via Tamarello.

2.6 Le traitement du langage naturel (Natural Language Processing )

L’analyse et le traitement du langage naturel (NLP) est un domaine de l’intelligence artificielle


qui permet à TechBit d’analyser le langage humain. Ce domaine, à la croisée de la linguistique, de
l’informatique et de l’IA, vise à créer des logiciels capables de générer ou de comprendre le langage
naturel pour une interaction humaine avec l’ordinateur.
Le NLP de TechBit utilise l’apprentissage automatique, nécessitant une programmation
approfondie, une analyse de la sémantique et de la syntaxe, ainsi qu’une segmentation pour fonctionner
efficacement. Par exemple, il différencie « Bonjour » (salutation) de « Au revoir » (fin de conversation)
en contextualisant les entrées.
Sans NLP, TechBit ne pourrait pas comprendre les nuances des messages, mais grâce à
cette technologie, il peut répondre de manière appropriée, comme « Bonjour, comment puis-je vous
aider ? » à une salutation.

2.7 L’apprentissage automatique (Machine Learning )

L’apprentissage automatique est un sous-domaine de l’intelligence artificielle qui a émergé


après la Seconde Guerre mondiale et connaît un regain d’intérêt ces dernières années, devenant
une discipline florissante. Dans TechBit, on parle d’apprentissage automatique lorsque le système
construit un modèle capable de prédire une intention ou une réponse face à un nouvel input, en
s’appuyant sur des données stockées dans MongoDB lors de la phase d’entraînement.

2.7.1 Types d’apprentissage automatique

Dans l’apprentissage automatique, les tâches sont généralement classées en grandes catégories
selon la manière dont l’apprentissage est reçu ou le feedback fourni au système.
Deux des méthodes les plus adoptées par TechBit sont l’apprentissage supervisé, basé sur des

24
Chapitre 2. Étude préalable

données étiquetées, et l’apprentissage non supervisé, qui découvre des structures dans des données
non étiquetées.

[Link] Apprentissage supervisé

Une majorité des applications pratiques de l’apprentissage automatique, comme celle de


TechBit, utilise l’apprentissage supervisé. Le système apprend à partir d’exemples étiquetés, comme
des intents MongoDB (par exemple, « demande Tamarello » pour « comment créer une demande »).
Mathématiquement, l’apprentissage supervisé consiste à dériver une fonction de mappage de
l’entrée (X) à la sortie (Y ), exprimée par Y = f (X).
La figure 2.8 présente un exemple de modèle supervisé :

Figure 2.8 : Exemple de modèle supervisé

Si la sortie est une liste d’étiquettes, comme les intents de TechBit, on parle de classification ;
si c’est un nombre, comme une durée estimée, de régression.

• Classification : classer les données selon des critères, comme identifier une intention (par
exemple, « demande service » ou « incident »).

• Régression : prédire une valeur réelle, comme le temps de résolution d’un ticket.

25
Chapitre 2. Étude préalable

[Link] Apprentissage non supervisé

Dans l’apprentissage non supervisé, TechBit est laissé à lui-même pour découvrir des structures
dans les données non étiquetées, comme des messages hors-sujet.
Mathématiquement, seule l’entrée (X) est disponible, sans sortie correspondante, et la machine
trouve elle-même les réponses, améliorant sa capacité à gérer des cas imprévus.

2.8 Classification d’intentions

L’une des principales tâches de TechBit est la classification des intentions.


L’entrée de texte est traitée par un classificateur logiciel qui associe une phrase à une intention
de conversation, produisant une réponse adaptée. Par exemple, l’entrée « Bonjour, j’ai besoin d’aide »
est classée comme une intention associée à une réponse comme « Bonjour, comment puis-je vous
aider ? » TechBit décompose les phrases pour comprendre l’intention derrière chaque message.
Il existe plusieurs options disponibles pour TechBit :

• Correspondance de motifs : utiliser des règles pour rechercher des motifs dans le texte.

• Algorithmes d’apprentissage automatique : créer une classification multiclasse.

• Réseaux de neurones : apprendre du texte via l’incorporation de mots.

2.8.1 Correspondance de motifs

Les premiers chatbots, et initialement TechBit, utilisaient la correspondance de motifs pour


classer le texte et produire une réponse.
L’auteur doit définir chaque motif avec sa réponse. Une structure standard est AIML (Artificial
Intelligence Markup Language), où les développeurs écrivent des règles comme :

<category>
<pattern>Au revoir</pattern>
<template>Merci pour votre visite</template>
</category>

TechBit parcourt les motifs pour trouver une correspondance et générer une réponse, mais
maintenir un tel système est complexe en raison du volume d’instructions nécessaires.

26
Chapitre 2. Étude préalable

2.8.2 Algorithmes d’apprentissage automatique

L’apprentissage automatique permet à TechBit de former un algorithme de classification


d’intention avec un ensemble d’exemples MongoDB.
Avec des bibliothèques comme scikit-learn, TechBit utilise un algorithme classique comme
« Multinomial Naïve Bayes » pour la classification de texte.
Pour un ensemble de phrases par classe, TechBit compte les occurrences de mots, attribue
des scores et classe la phrase avec le score le plus élevé. Par exemple :
Classe : demande Tamarello
« comment créer une demande de service »
« création demande service »
Classe : salutation
« Bonjour »
« Salut »
« Hello »
Entrée : « Bonjour, comment créer une demande de service »
Classification : demande Tamarello (score plus élevé).

2.9 Réseaux de neurones artificiels

Un réseau de neurones est un ensemble de nœuds interconnectés par des synapses, conçu
pour résoudre des problèmes complexes tels que le traitement du langage naturel ou la reconnaissance
d’objets. Ce mécanisme, inspiré du cerveau humain, simule le fonctionnement des neurones biologiques
et est implémenté dans TechBit via un modèle Mistral-7B fine-tuné.
La figure 2.9 représente un schéma simplifié d’un réseau neuronal :

27
Chapitre 2. Étude préalable

Figure 2.9 : Présentation d’un réseau de neurones

Le principe de TechBit est de créer un raisonnement statistique basé sur une base d’apprentissage
MongoDB, prenant des décisions selon les données d’entrée. Le processus inclut :

• Données en entrée ;

• Analyse avec des critères de pondération ;

• Choix de classification avec une probabilité de certitude.

TechBit apprend par rétropropagation, ajustant ses poids pour s’adapter aux scénarios IT de
Medisys-Consulting, avec une période initiale d’entraînement.

2.10 Les plates-formes de développement des chatbots

Cette étude présente un aperçu des plates-formes de construction des chatbots, adaptées au
développement de TechBit.
Les projets open source sont des programmes développés en collaboration et mis à disposition
pour modification et redistribution librement. TechBit utilise ces technologies pour garantir la
confidentialité des données de Medisys-Consulting.

28
Chapitre 2. Étude préalable

Un framework chatbot, comme celui de TechBit basé sur Python, fournit des fonctions
prédéfinies pour construire des chatbots à partir de zéro.
Des plates-formes comme Chatfuel et [Link] facilitent la création sans codage, mais présentent
des limites :

• Les modèles d’apprentissage automatique sont souvent fermés.

• Elles impliquent des coûts (par exemple, [Link], IBM Watson) ou des limites de requêtes
gratuites.

• Les données restent sur des serveurs distants, posant des problèmes de confidentialité.

Étant donné que l’utilisation des API cloud implique la divulgation d’informations confidentielles
(la plupart de ces API sont payantes, et même les API gratuites ont un nombre limité de requêtes),
TechBit a opté pour l’utilisation de technologies open source fonctionnant en local.

Conclusion

Dans ce chapitre, nous avons défini ce qu’est un chatbot, présenté les différents types de
chatbots existants, et expliqué les techniques utilisées dans la phase de modélisation et de réalisation,
ainsi que les méthodes couramment employées pour leur création. Le chapitre suivant sera consacré
à la définition des besoins de l’application, à une explication détaillée de son fonctionnement, ainsi
qu’à la présentation de l’approche adoptée pour la mise en œuvre de notre projet.

29
Chapitre 3

Initialisation du projet

Plan
1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2 Cahier des charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4 Modélisation des besoins fonctionnels . . . . . . . . . . . . . . . . . . . . 33

5 Approche proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Chapitre 3. Initialisation du projet

Introduction

Dans ce chapitre, nous analysons et spécifions les besoins fonctionnels et non fonctionnels du
projet de chatbot dédié aux employés pour la résolution des incidents informatiques. Nous identifions
les acteurs impliqués, détaillons le cahier des charges et modélisons les besoins à l’aide de diagrammes
UML (cas d’utilisation et séquences). Enfin, nous présentons l’approche adoptée pour la conception
et la mise en œuvre du système, ainsi que l’environnement de développement utilisé.

3.1 Identification des acteurs

Un acteur est une entité externe interagissant avec le système, qu’il s’agisse d’un utilisateur
ou d’un système tiers. Notre application comporte deux acteurs principaux :

• Employé : Utilisateur principal, il signale des incidents informatiques (par exemple, pannes
de PC, lenteur des disques) pour obtenir une assistance.

• Administrateur : Responsable de la gestion du système et de la maintenance de la base de


connaissances.

3.2 Cahier des charges

Le cahier des charges définit les fonctionnalités attendues du chatbot, conçu pour assister
les employés dans la résolution d’incidents informatiques au sein de l’entreprise, tout en tenant
compte des contraintes techniques (par exemple, optimisation pour un matériel standard). Voici les
principales attentes du système :

• Résolution d’incidents informatiques : Développer un chatbot capable de traiter des


problèmes techniques courants en proposant des solutions adaptées.

• Orientation vers un support humain : Rediriger l’employé vers un technicien si le chatbot


ne peut résoudre l’incident.

• Interactions guidées : Proposer des menus interactifs ou des questions de suivi pour guider
la description des incidents, facilitant le diagnostic.

• Gestion administrative : Permettre aux administrateurs de gérer les règles du chatbot (ajout,
modification, suppression) pour adapter le système à de nouveaux types d’incidents.

31
Chapitre 3. Initialisation du projet

• Génération de scripts automatisés : Produire des fichiers batch (.bat) pour automatiser
la résolution de certains incidents.

• Enregistrement des échecs : Stocker les demandes non reconnues pour analyser et améliorer
la base de connaissances, sans conserver l’historique complet des conversations.

• Support multilingue : Prendre en charge les interactions en français et en anglais, avec des
réponses grammaticalement correctes.

3.3 Spécification des besoins

Cette section détaille les besoins fonctionnels (actions que le système doit accomplir) et
non fonctionnels (qualités du système). Ces besoins ont été priorisés selon leur importance et leur
faisabilité technique pour guider le développement.

3.3.1 Besoins fonctionnels

Les besoins fonctionnels définissent les fonctionnalités clés du chatbot, répondant aux attentes
des employés et des administrateurs :

• Interaction avec le chatbot : Les employés signalent des incidents (par exemple, « Mon
imprimante ne fonctionne pas ») via une interface web et reçoivent des instructions ou une
solution immédiate.

• Réponses dynamiques : Si aucune règle prédéfinie ne correspond à la demande, un modèle


de langage avancé génère une réponse pertinente adaptée au contexte.

• Interactions guidées : Le chatbot pose des questions ou propose des options (par exemple,
« Oui/Non ») pour clarifier le problème, rendant l’assistance accessible aux utilisateurs novices.

• Gestion de la base de connaissances : Les administrateurs peuvent ajouter, modifier ou


supprimer des règles via une interface dédiée, assurant l’évolutivité du système.

• Génération de scripts : Le système produit des fichiers batch (.bat) pour résoudre automatiquement
certains problèmes techniques.

3.3.2 Besoins non fonctionnels

Les besoins non fonctionnels garantissent la qualité, la fiabilité et l’accessibilité du système :

32
Chapitre 3. Initialisation du projet

Ergonomie : L’interface doit être intuitive, avec une navigation claire et des instructions simples,
même pour des employés sans compétences techniques.

Performance : Le système répond rapidement aux demandes, avec un traitement optimisé des
requêtes, même sur du matériel standard.

Sécurité : Les conversations, potentiellement sensibles (par exemple, identifiants), sont protégées
via des sessions sécurisées et un chiffrement approprié.

Responsivité : L’interface s’adapte à différents appareils (ordinateurs, tablettes, smartphones)


pour une accessibilité optimale.

3.4 Modélisation des besoins fonctionnels

Nous utilisons des diagrammes UML pour modéliser les interactions entre les acteurs et le
système, clarifiant ainsi les fonctionnalités.

3.4.1 Diagramme de cas d’utilisation global

Le diagramme de cas d’utilisation illustre les fonctionnalités accessibles aux acteurs. Chaque
cas représente une action spécifique.

Figure 3.1 : Diagramme de cas d’utilisation global

33
Chapitre 3. Initialisation du projet

[Link] Description textuelle du cas d’utilisation « S’authentifier »

Tableau 3.1 : Description textuelle du cas d’utilisation « S’authentifier »

Cas d’utilisation : S’authentifier

Titre S’authentifier

Acteur Employé et Administrateur

Objectif Permettre une identification via login et mot de passe.

Description des enchaînements

Précondition L’acteur est enregistré dans la base de données.

Postcondition
• Acteur authentifié.

• La page d’accueil s’affiche.

Scénario nominal
1) Affichage de l’interface d’authentification.

2) Saisie du login et du mot de passe.

3) Vérification des informations.

4) Redirection vers la page d’accueil.

Scénario alternatif
A : Informations incorrectes (après étape 3)

• Affichage d’un message d’erreur.

• Retour à l’étape 1.

34
Chapitre 3. Initialisation du projet

[Link] Diagramme de séquence système de l’authentification

Figure 3.2 : Diagramme de séquence système de l’authentification

35
Chapitre 3. Initialisation du projet

[Link] Description textuelle du cas d’utilisation « Discuter avec le chatbot »

Tableau 3.2 : Description textuelle du cas d’utilisation « Discuter avec le chatbot »

Cas d’utilisation : Discuter avec le chatbot

Titre Discuter avec le chatbot

Acteur Employé

Objectif Signaler un incident et recevoir une solution.

Description des enchaînements

Précondition L’employé est authentifié et connecté.

Postcondition L’incident est enregistré, une réponse ou un script est fourni.

Scénario nominal
1) Le système affiche le chatbot en bas de page.

2) L’employé décrit l’incident.

3) Une solution est proposée (intention détectée ou


réponse générée par Mistral-7B).

3.4.2 Diagramme de cas d’utilisation raffiné « Gestion de la base de


connaissances »

Le diagramme suivant illustre les actions liées à la gestion de la base de connaissances :

Figure 3.3 : Diagramme de cas d’utilisation « Gestion de la base de connaissances »

36
Chapitre 3. Initialisation du projet

[Link] Description textuelle du cas d’utilisation « Ajouter une intention »

Tableau 3.3 : Description textuelle du cas d’utilisation « Ajouter une intention »

Cas d’utilisation : Ajouter une intention

Titre Ajouter une intention

Acteur Administrateur

Objectif Ajouter une nouvelle intention à la base de connaissances.

Description des enchaînements

Précondition L’administrateur est authentifié.

Postcondition L’intention est ajoutée.

Scénario nominal
1) Sélection de l’option d’ajout.

2) Affichage du formulaire.

3) Saisie des données (nom, patterns, réponses).

4) Validation et enregistrement.

Scénario alternatif
A : Champs invalides (après étape 3)

• Affichage d’un message d’erreur.

• Retour à l’étape 2.

37
Chapitre 3. Initialisation du projet

[Link] Description textuelle du cas d’utilisation « Supprimer une intention »

Tableau 3.4 : Description textuelle du cas d’utilisation « Supprimer une intention »

Cas d’utilisation : Supprimer une intention

Titre Supprimer une intention

Acteur Administrateur

Objectif Supprimer une intention existante de la base de


connaissances.

Description des enchaînements

Précondition L’administrateur est authentifié et a accès à la liste des


intentions.

Postcondition L’intention est supprimée.

Scénario nominal
1) Affichage de la liste des intentions.

2) Sélection de l’intention à supprimer.

3) Demande de confirmation.

4) Validation et suppression.

Scénario alternatif
A : Annulation (après étape 3)

• Affichage d’une notification.

• Retour à l’étape 1.

38
Chapitre 3. Initialisation du projet

[Link] Diagramme de séquence système « Gestion de la base de connaissances »

Figure 3.4 : Diagramme de séquence système « Gestion de la base de connaissances »

3.5 Approche proposée

Nous présentons ici l’approche adoptée pour développer le chatbot, combinant des techniques
de récupération d’intentions et de génération de réponses dynamiques. L’objectif est de fournir une
assistance efficace aux employés tout en équilibrant précision et flexibilité.

39
Chapitre 3. Initialisation du projet

3.5.1 Chatbot basé sur la récupération

Le chatbot repose sur un modèle hybride associant récupération d’intentions et génération de


réponses. Une base de connaissances contient des règles prédéfinies liant les demandes des employés à
des réponses adaptées. Si une intention est identifiée avec un niveau de confiance suffisant, la réponse
correspondante est fournie immédiatement. Sinon, un modèle de langage pré-entraîné (Mistral-7B)
génère une réponse contextuelle. Ce mécanisme garantit une couverture des cas non anticipés tout
en maintenant la fiabilité des réponses prédéfinies. Les demandes non reconnues sont enregistrées
pour améliorer la base de connaissances, et le système prend en charge plusieurs langues (français,
anglais) avec des réponses grammaticalement correctes.

3.5.2 Approche moderne de classification des intentions

Notre système utilise une architecture optimisée basée sur Mistral-7B, simplifiant radicalement
le processus traditionnel :

• Pipeline intégré : Un seul modèle gère l’ensemble du flux : compréhension → classification


→ réponse, éliminant le besoin de séparer prétraitement, extraction et classification.

• Traitement natif du langage : Conservation de toute la richesse linguistique (ponctuation,


négations, nuances), sans nettoyage agressif ni perte d’information.

• Classification contextuelle : Détection d’intent basée sur une compréhension sémantique


profonde, avec un score de confiance calculé automatiquement par le modèle.

Les avantages clés incluent :

• Suppression des étapes manuelles de feature engineering.

• Meilleure gestion des formulations complexes.

• Adaptation dynamique aux nouvelles tournures de phrases.

Exemple de workflow :

0. Entrée utilisateur : « Mon PC est lent depuis la mise à jour »

0. Traitement automatique : Le message est formaté comme [INST]Classifiez : Mon PC est


lent depuis la mise à jour[END], puis l’intent est généré par Mistral-7B : software_issue
(confiance : 92 %).

0. Réponse : Sélection dans la base de connaissances associée à l’intent.

40
Chapitre 3. Initialisation du projet

Cette approche unifiée surpasse les méthodes traditionnelles en précision tout en réduisant
la complexité technique. Le seuil de confiance ajustable (par défaut : 85 %) garantit la fiabilité des
réponses.

41
Chapitre 3. Initialisation du projet

42
Figure 3.5 : Système de classification des intentions
Chapitre 3. Initialisation du projet

[Link] Prétraitement des données avec approche moderne

Notre système utilise une méthode avancée de prétraitement adaptée aux modèles de langage
modernes :

• Extraction des données : Récupération des échantillons depuis MongoDB et structuration


automatique au format [INST]texte[END].

• Tokenization intelligente : Découpage en sous-mots (par exemple, « ordinateur » → « ordi »,


« nateur ») avec conservation intégrale du contexte et des mots de liaison.

• Représentation vectorielle : Génération automatique d’embeddings contextuels (4096 dimensions)


par Mistral-7B, sans vocabulaire prédéfini ni représentation binaire.

Comparaison avec le modèle sac de mots :

Tableau 3.5 : Comparaison avec le modèle sac de mots

Approche traditionnelle Notre approche

Vecteurs creux (0/1) Vecteurs denses contextuels


Perte du sens des phrases Compréhension sémantique
Nécessite nettoyage manuel Traitement du texte brut

Exemple : - Phrase : « Mon ordinateur a un problème » - Représentation : Vecteur de 4096


valeurs continues (par exemple, -1.2, 0.8, . . ., 1.4) - Avantage : Capture des similarités sémantiques
(par exemple, « problème » ≈ « panne »)
Cette méthode élimine les limitations du sac de mots tout en préservant la richesse sémantique
des échanges utilisateurs.

3.5.3 Design thinking et apprentissage automatique

Pour concevoir un chatbot efficace, nous avons intégré le design thinking à l’apprentissage
automatique, en suivant cinq étapes :

Étape 1 : Empathie et analyse Identifier les besoins des utilisateurs via leurs retours sur les
incidents informatiques fréquents.

Étape 2 : Définition et synthèse Collecter, organiser et prétraiter les données (nettoyage, standardisation,
division pour l’entraînement).

43
Chapitre 3. Initialisation du projet

Étape 3 : Idéation Sélectionner un modèle d’apprentissage automatique adapté, en ajustant son


architecture.

Étape 4 : Prototypage et ajustement Entraîner le modèle et optimiser ses paramètres pour


améliorer ses performances.

Étape 5 : Test et validation Évaluer le modèle sur un ensemble de données distinct, en analysant
ses réponses dans un contexte réel.

Cette approche garantit que le chatbot répond aux besoins des utilisateurs tout en s’adaptant
au langage conversationnel.

3.6 Environnement de travail

Cette section détaille les outils, technologies et ressources matérielles utilisés pour le développement
du chatbot.

3.6.1 Environnement logiciel

Les outils suivants ont été sélectionnés pour leurs fonctionnalités spécifiques :

• PyCharm : Environnement de développement intégré pour Python [1].

• Robo 3T : Outil graphique pour visualiser les données stockées dans MongoDB [2].

• Postman : Outil pour tester les API REST [3].

• PowerDesigner : Outil de modélisation UML pour créer les diagrammes [4].

3.6.2 Choix technologiques

Les technologies suivantes ont été choisies pour leur adéquation avec le projet :

• Python : Langage interprété, multi-paradigme, favorisant une programmation structurée,


fonctionnelle et orientée objet [5].

• Flask : Framework web Python pour développer des applications web [6].

• TensorFlow : Bibliothèque open source de Google Brain pour le machine learning et le deep
learning [7].

• Mistral-7B (Transformers, PyTorch, LoRA) : Modèle de langage avancé, optimisé via


LoRA pour adapter efficacement le modèle tout en réduisant les besoins matériels [8].

44
Chapitre 3. Initialisation du projet

• NumPy : Bibliothèque pour les calculs numériques avec gestion des tableaux [9].

• MongoDB : Système de gestion de base de données orientée documents [10].

• PyMongo : Bibliothèque Python pour connecter MongoDB au chatbot [11].

3.6.3 Ressources matérielles

Ordinateur portable utilisé pour le développement :

• Marque : MSI Cyborg

• Processeur : Intel Core i7

• Mémoire : 16 Go

• Disque dur : 512 Go (SSD)

• Écran : 15,6 pouces LCD

• Système d’exploitation : Windows 10

Conclusion

Ce chapitre a détaillé les besoins, la modélisation et l’environnement de développement du


chatbot, en adoptant une approche hybride combinant récupération d’intentions et génération de
réponses via Mistral-7B, optimisé avec LoRA. Le prochain chapitre présentera les étapes complètes
de la mise en œuvre du projet.

45
Chapitre 4

Réalisation et test

Plan
1 Fonctionnement général de l’application . . . . . . . . . . . . . . . . . . . 47

2 Base de connaissances du chatbot . . . . . . . . . . . . . . . . . . . . . . . 47

3 Prétraitement des données pour le modèle Mistral . . . . . . . . . . . . 52

4 Phase d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5 Création du framework du chatbot . . . . . . . . . . . . . . . . . . . . . . 54

6 Application finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Chapitre 4. Réalisation et test

Introduction

Ce chapitre détaille la réalisation du chatbot TechBit, conçu pour résoudre les incidents
informatiques des employés. L’application web, développée avec Flask et Jinja2, inclut une interface
d’administration intuitive. Les sections suivantes abordent le fonctionnement général, la gestion de
la base de connaissances, le prétraitement des données, la phase d’apprentissage, la création du
framework, et l’application finale, illustrés par des captures d’écran pertinentes.

4.1 Fonctionnement général de l’application

Le chatbot utilise une approche hybride combinant la détection d’intentions prédéfinies et la


génération de réponses dynamiques :

• L’employé interagit via une interface web sécurisée, où le chatbot est accessible en bas de page.

• Il soumet un incident, comme « Mon écran clignote », par saisie texte ou reconnaissance vocale.

• La requête est traitée en trois étapes : détection d’intention via une base de connaissances
MongoDB, classification par le modèle Mistral-7B si nécessaire, et gestion contextuelle par une
machine à états.

• Une réponse adaptée (texte, script .bat, ou demande de clarification) est renvoyée à l’utilisateur.

Le système s’appuie sur TensorFlow pour le traitement initial des entrées et sur Mistral-7B
pour les cas complexes, garantissant des conversations fluides et cohérentes, même dans des scénarios
multi-étapes [7], [8].

4.2 Base de connaissances du chatbot

La base de connaissances, essentielle au fonctionnement du chatbot, est construite à partir


d’incidents fréquents rapportés par les employés, tels que les lenteurs de PC ou les problèmes de
connexion USB. Elle est gérée via une application web développée avec Flask, Jinja2, et MongoDB,
utilisant PyMongo pour l’interaction avec la base de données [6], [10], [11].

47
Chapitre 4. Réalisation et test

Figure 4.1 : Architecture logicielle de l’application

4.2.1 Structure de la base MongoDB

MongoDB stocke les intentions sous forme de documents BSON, chacun contenant les champs
suivants :

• name : Nom de l’intention (par exemple, « slow_pc_issue »).

• patterns : Liste de motifs regex (par exemple, « lent », « ralentit »).

• responses : Liste de réponses possibles (par exemple, « Vérifiez l’espace disque »).

• language : Langue de l’intention (par exemple, « fr », « en »).

• is_technical : Indicateur de complexité technique.

• follow_up_questions : Questions de suivi (par exemple, « Avez-vous redémarré votre PC ? »).

48
Chapitre 4. Réalisation et test

• solutions : Solutions spécifiques, comme des scripts .bat.

• resolution_check : Vérification de résolution (par exemple, « Le problème est-il résolu ? »).

4.2.2 Technologies utilisées

Les technologies suivantes ont été utilisées pour la gestion de la base de connaissances :

• PyMongo : Bibliothèque Python servant d’interface entre Flask et MongoDB, permettant des
opérations CRUD (création, lecture, mise à jour, suppression) [11].

• Flask : Framework web léger utilisé pour définir les routes, gérer les requêtes API, et orchestrer
les interactions entre les composants [6].

• Jinja2 : Moteur de templates pour générer dynamiquement les interfaces utilisateur et administrateur,
facilitant la personnalisation des pages [12].

4.2.3 Interface d’administration

L’interface d’administration, développée avec Flask et Jinja2, permet aux administrateurs


de gérer efficacement la base de connaissances. Elle est organisée en plusieurs sections : Dashboard,
Intents, Conversations, Users, Analytics, Settings, et Logout. Les fonctionnalités principales incluent :

• Dashboard : Vue d’ensemble affichant des statistiques telles que le nombre total d’intentions,
le nombre de conversations, le taux de résolution (par exemple, 87 %), et le temps de réponse
moyen (par exemple, 42 secondes). Des graphiques dynamiques illustrent les tendances des
conversations et la distribution des intentions.

• Intents Management : Interface pour créer, modifier, ou supprimer des intentions, avec des
champs pour le nom, les motifs, les réponses, et la langue.

• Recent Activity : Liste des dernières interactions ou actions effectuées, comme les conversations
récentes.

49
Chapitre 4. Réalisation et test

Figure 4.2 : Tableau de bord de l’administration

Figure 4.3 : Gestion des intentions

50
Chapitre 4. Réalisation et test

Figure 4.4 : Formulaire51de création d’une intention


Chapitre 4. Réalisation et test

4.3 Prétraitement des données pour le modèle Mistral

Le prétraitement des données est optimisé pour exploiter les capacités du modèle Mistral-7B
tout en restant simple et efficace. Les étapes clés sont les suivantes :

• Extraction : Les données sont récupérées depuis MongoDB via PyMongo, incluant les messages
utilisateurs et leurs intents associés [11].

• Structuration : Chaque phrase est formatée avec des balises spéciales ([INST] et [END]) pour
guider le modèle lors de l’apprentissage et de l’inférence.

• Tokenization avancée : Le texte est découpé en sous-mots (par exemple, « démarre » →


« dé », « marre ») pour une meilleure compréhension des structures linguistiques.

• Conservation du contexte : Contrairement aux approches classiques, les stop words sont
conservés pour préserver le sens naturel des phrases.

• Normalisation légère : Les textes sont convertis en minuscules et les espaces superflus sont
supprimés pour uniformiser les entrées.

• Pas de vectorisation manuelle : Le modèle Mistral génère automatiquement des embeddings


riches (vecteurs de 4096 dimensions) lors de l’inférence.

• Adaptation au fine-tuning : Les intents sont encapsulés dans des balises [RESPONSE] pour
structurer les données d’apprentissage.

Les avantages par rapport aux approches traditionnelles (sac de mots) incluent :

• Une meilleure compréhension des nuances et du contexte grâce à la conservation des stop words.

• L’élimination du risque de perte de sens en évitant un nettoyage excessif.

• Une gestion native des variations linguistiques grâce à la tokenization avancée.

• Des vectorisations plus riches et adaptatives générées par Mistral.

Exemple concret : La phrase « Le PC ne s’allume plus » est transformée en :

[INST]Problème : Le PC ne s’allume plus[END]

Elle est ensuite convertie en un vecteur de 4096 dimensions par Mistral, permettant de
détecter l’intent « hardware_issue ». Cette méthode simplifiée donne au modèle toute la richesse
du langage naturel.

52
Chapitre 4. Réalisation et test

Figure 4.5 : Phrase structurée pour Mistral

4.4 Phase d’apprentissage

L’apprentissage s’appuie sur une méthodologie moderne de fine-tuning adaptée aux grands
modèles de langage (LLM) comme Mistral-7B. Les points clés sont les suivants :

• Architecture de base : Utilisation de Mistral-7B, un modèle de langage pré-entraîné avancé,


connu pour ses performances en compréhension du langage naturel [8].

• Méthode d’adaptation : Application de LoRA (Low-Rank Adaptation) pour un ajustement


efficace des poids du modèle, réduisant le besoin de ressources.

• Optimisation mémoire : Quantification 4-bit permettant de réduire l’empreinte mémoire de


75 %, rendant l’entraînement viable sur un GPU standard.

• Infrastructure : Entraînement accéléré sur GPU grâce à CUDA et aux bibliothèques PyTorch,
optimisant les calculs tensoriels [13].

• Format des données : Structure [INST]Message utilisateur[END][RESPONSE]Intent[END].


Exemple : [INST]Mon PC ne démarre pas[END][RESPONSE]hardware_issue[END].

• Paramètres clés : Taux d’apprentissage de 2e-5 batch size de 4 (adapté aux GPU), et 3
epochs (suffisant pour le transfer learning).

• Avantages : Conservation des connaissances pré-existantes du modèle, adaptation rapide avec


peu de données, et meilleure compréhension des nuances linguistiques.

53
Chapitre 4. Réalisation et test

• Résultats : Le modèle associe des formulations variées à leurs intents correspondants, améliorant
la précision.

• Monitoring : Suivi des métriques comme la perte et la précision pendant l’entraînement pour
évaluer les performances.

Cette approche diffère des réseaux de neurones traditionnels par sa capacité à exploiter
directement la puissance des LLM sans nécessiter une architecture manuelle complexe.

Figure 4.6 : Phase d’apprentissage

4.5 Création du framework du chatbot

Le framework utilise une architecture moderne basée sur Mistral-7B, offrant une compréhension
avancée du langage naturel. Le processus est le suivant :

• Initialisation : Chargement du modèle fine-tuné Mistral-7B et de son tokenizer, ainsi que des
intents et réponses depuis MongoDB [8], [11].

• Traitement des requêtes : Réception du message utilisateur, formatage automatique avec


le template [INST]...[END], et tokenization avancée préservant le contexte.

• Classification : Génération de l’intent par Mistral-7B, calcul d’un score de confiance interne,
et sélection de la réponse appropriée stockée dans la base.

54
Chapitre 4. Réalisation et test

• Gestion des incertitudes : Seuil de confiance paramétrable (par défaut 85 %), demande de
clarification si le score est insuffisant, et journalisation des requêtes ambiguës pour amélioration
future.

• Avantages clés : Pas de prétraitement manuel des textes, compréhension des formulations
complexes, et adaptation dynamique aux variations linguistiques.

Exemple de workflow : Un message utilisateur comme « Mon ordinateur portable ne


s’allume plus » est traité ainsi :

– Formatage : [INST]Mon ordinateur portable ne s’allume plus[END]

– Génération de l’intent par Mistral : hardware_issue

– Réponse extraite de la base : « Vérifiez l’alimentation et redémarrez l’ordinateur. »

Cette architecture élimine le besoin de réseaux de neurones manuels, de nettoyage agressif


des textes, ou de feature engineering complexe. Le système maintient une conversation naturelle tout
en garantissant des réponses précises grâce au seuil de confiance ajustable.

Figure 4.7 : Traitement d’un message

4.6 Application finale

L’application web est développée avec Flask, Jinja2 pour les templates, et Ajax pour les
appels API asynchrones. Les principales caractéristiques incluent :

• Interface utilisateur : Chatbot interactif avec saisie texte ou vocale (via Web Speech API ) et
possibilité de télécharger des scripts .bat pour résoudre des problèmes techniques web_speech_api.

55
Chapitre 4. Réalisation et test

• Sécurité : Authentification des administrateurs via Flask-Login, avec hachage des mots de
passe par bcrypt pour une sécurité renforcée [14].

• Design : Interface responsive responsable grâce à un CSS personnalisé, avec prise en charge
du mode sombre et des animations fluides.

Figure 4.8 : Assistant virtuel

56
Chapitre 4. Réalisation et test

Figure 4.9 : Interface web du chatbot

57
Chapitre 4. Réalisation et test

Figure 4.10 : Réponse à un incident

58
Chapitre 4. Réalisation et test

Figure 4.11 : Demande de reformulation

Conclusion

Ce chapitre a détaillé les étapes de la réalisation et du test du chatbot TechBit, capable


d’interagir avec des utilisateurs humains et de maintenir une conversation spontanée pour résoudre
des incidents informatiques. Nous couvrons la conception de l’application web, la gestion de la base
de connaissances, le prétraitement des données, l’apprentissage du modèle Mistral-7B, la création
du framework, et la présentation de l’interface finale. Les tests ont démontré la capacité du système
à fournir des réponses précises et adaptées, tout en offrant une interface intuitive et sécurisée.

59
Conclusion générale

Après quatre mois de travail intensif, nous avons réussi à finaliser notre projet TechBit, un
assistant virtuel intelligent conçu pour assister les employés de Medisys-Consulting dans la résolution
de leurs incidents informatiques. Ce système opérationnel est capable d’interagir de manière intuitive
avec les utilisateurs, de comprendre leurs requêtes, et de proposer des solutions adaptées, qu’il s’agisse
de réponses textuelles, de scripts automatisés (.bat), ou de redirections vers un support humain en
cas de besoin. Grâce à une approche hybride combinant récupération d’intentions via une base de
connaissances MongoDB et génération de réponses dynamiques avec le modèle Mistral-7B, TechBit
répond efficacement aux attentes initiales tout en offrant une interface web responsive et sécurisée.

Pour assurer la réussite de ce projet, nous avons approfondi nos compétences dans des
technologies modernes et des langages de programmation tels que Python,Flask, et PyMongo.
L’utilisation de Mistral-7B, optimisé avec LoRA et une quantification 4-bit, nous a permis d’explorer
des techniques avancées de traitement du langage naturel (NLP), tout en adaptant le système à
des contraintes matérielles standard. Ce stage a également renforcé notre maîtrise d’outils comme
PyTorch, TensorFlow, et RoboMongo, ainsi que notre capacité à développer une application web
robuste et ergonomique.

Sur le plan professionnel, cette expérience a été particulièrement formatrice. Elle nous a
permis d’intégrer une équipe dynamique, où la communication, la créativité, et les compétences
techniques se sont conjuguées pour surmonter les défis du projet. Nous avons développé une rigueur
dans la gestion de projet, appris à collaborer efficacement dans un contexte interdisciplinaire, et
acquis une meilleure compréhension des enjeux liés à l’assistance technique en entreprise.

En termes de perspectives, plusieurs améliorations peuvent être envisagées pour enrichir


TechBit. L’intégration de techniques avancées de NLP, notamment l’analyse des sentiments, permettrait
de mieux comprendre les émotions des utilisateurs (ex. : frustration, urgence) et d’adapter les
réponses en conséquence, réduisant ainsi les erreurs grâce à une identification précise des mots-clés
émotionnels. Par ailleurs, l’ajout d’algorithmes d’optimisation, tels que l’apprentissage par renforcement,
pourrait améliorer les interactions en temps réel, garantissant un confort accru et une satisfaction

60
Conclusion générale

optimale pour les employés de Medisys-Consulting. Enfin, l’extension du support multilingue à


d’autres langues (ex. : francais, anglais) et l’amélioration de la reconnaissance vocale offriraient
une accessibilité encore plus large, rendant le système plus inclusif et polyvalent.

61
Bibliographie

[1] PyCharm Documentation, [En ligne], JetBrains, 2025. adresse : [Link]


com/pycharm/.

[2] Robo 3T Documentation, [En ligne], Studio 3T, 2025. adresse : [Link]

[3] Postman Documentation, [En ligne], Postman, 2025. adresse : [Link]

[4] PowerDesigner Documentation, [En ligne], SAP, 2025. adresse : https : / / www . sap . com /
products/technology-platform/[Link].

[5] Python Documentation, [En ligne], Python Software Foundation, 2025. adresse : https : / /
[Link]/.

[6] Flask Documentation, [En ligne], Flask, 2025. adresse : [Link]


com/en/3.0.x/.

[7] TensorFlow Documentation, [En ligne], TensorFlow, 2025. adresse : [Link]


org/.

[8] NumPy Documentation, [En ligne], NumPy, 2025. adresse : [Link]

[9] MongoDB Documentation, [En ligne], MongoDB, 2025. adresse : [Link]


fr.

[10] PyMongo Documentation, [En ligne], MongoDB, 2025. adresse : [Link]


io/.

[11] Transformers Documentation, [En ligne], Hugging Face, 2025. adresse : [Link]
co/docs/transformers/.

[12] Mixtral of Experts, [En ligne], Mistral AI, 2025. adresse : [Link]
of-experts/.

[13] jQuery Documentation, [En ligne], jQuery, 2025. adresse : [Link]

[14] Jinja2 Documentation, [En ligne], Jinja, 2025. adresse : [Link]


com/.

[15] Design Thinking vs Lean UX vs Agile : Principales différences, [En ligne], Arquen, 2025.
adresse : https : / / www . arquen . fr / blog / design - thinking - vs - lean - ux - vs - agile -
principales-differences/.

62
Bibliographie

[16] Définition du Design Thinking, [En ligne], Klap, 2025. adresse : https : / / www . klap . io /
definition-design-thinking/.

[17] Definition of Chatbot, [En ligne], Oxford Dictionaries, 2025. adresse : [Link]
com/definition/english/chatbot.

[18] Pages personnelles LINA, [En ligne], Université de Nantes, 2025. adresse : [Link]
[Link]/.

[19] Elizabot : A JavaScript Implementation of ELIZA, [En ligne], Masswerk, 2025. adresse : https:
//[Link]/elizabot/.

[20] Deep Learning for Chatbots, Part 1 - Introduction, [En ligne], WILDLM, 2016. adresse : https:
//[Link]/2016/04/deep-learning-for-chatbots-part-1-introduction/.

[21] Intelligence artificielle, [En ligne], Wikipédia, 2025. adresse : [Link]


wiki/Intelligence_artificielle.

[22] What is NLP ? [En ligne], Ticary Solutions, 2025. adresse : [Link]
is-nlp/.

[23] G. André, Machine Learning et Intelligence Artificielle : Le B.A.-BA, [En ligne], 2025.
adresse : [Link] learning- et- intelligence-
artificielle-le-b%C3%A9aba-ec9cc57cf504.

[24] Réseau de neurones artificiels, [En ligne], Wikipédia, 2025. adresse : [Link]
org/wiki/R%C3%A9seau_de_neurones_artificiels.

[25] Chatbot et Intelligence Artificielle, [En ligne], Nexworld, 2025. adresse : https : / / www .
[Link]/chatbot-intelligence-artificielle/.

[26] PyTorch Documentation, [En ligne], PyTorch, 2025. adresse : [Link]

[27] Bcrypt Documentation, [En ligne], Bcrypt, 2025. adresse : https : / / pypi . org / project /
bcrypt/.

[28] Web Speech API Documentation, [En ligne], Mozilla, 2025. adresse : https: //developer .
[Link]/en-US/docs/Web/API/Web_Speech_API.

63

Vous aimerez peut-être aussi