Vous êtes sur la page 1sur 25

Rapport de Stage d’Initiation

CREATION D’UN
CHATBOT
INTELLIGENT
Entreprise d’Accueil : ARCHITEO

Période de Stage : de 17/07/2023 jusqu’à 17/08/2023 (1 Mois)

Réalisé Par : Ali EL-AZZAOUY

Encadré Par : M. TAZI Mohammed Amine

Année Universitaire : 2022/2023


1
DEDICACES

A qui peut être fier et trouver ici le résultat de longues années


de sacrifices et de privations pour m'aider à avancer dans la
vie. Puisse Dieu faire en sorte que ce travail porte son fruit,

A toi mon cher Père MOHAMMED

Mon amour et ma profonde reconnaissance,

A celle qui m’a toujours motivé par, son amour, son soutien,
par tous les sacrifices consentis et ses précieux conseils, pour
toute son assistance et sa présence dans ma vie

A toi ma chère Mère FADMA

Toutes mes joies, mon amour et de mon éternelle gratitude, Et


mes frères ABDALILAH, AHMAD, ma sœur JAMILA pour leurs
amours et leurs encouragements.

A tous mes amis de l’AIAC

, Qu’ils trouvent en ce travail, l’hommage de ma gratitude,


pour leur présence et les bons moments passés durant cette
année.

A tous mes amis d’ARCHITEO, pour le travail que nous avons


commencé ensemble, et les bons moments que nous avons passé
ensemble.

À toutes les personnes qui ont marqué ma vie, et qui ont fait
de toutes ces années des instants de joie et de bonheur, merci.

2
REMERCIEMENT

Il n'est jamais facile pour un étudiant de trouver un stage, c'est


pourquoi je remercie l'entreprise ARCHITEO. Je tiens à
remercier tout particulièrement Monsieur TAZI Mohammed
Amine, mon maître de stage qui m’ont accordé confiance et
attribué des missions valorisantes durant ce stage, et ils m’ont
supervisé mon stage au jour le jour. Merci également toute
l'équipe de l'entreprise car chacun d'entre vous à pu trouver un
peu de temps pour m'aider dans mes missions. Faire mon stage
de première année dans votre entreprise a été un plaisir, j'ai pu
apprendre beaucoup grâce à vous et j'ai surtout être conforté
dans mon projet professionnel.

3
TABLE DES MATIERES
DEDICACES ............................................................................................................................ 2

REMERCIEMENT .................................................................................................................. 3

LISTE DES FIGURES............................................................................................................. 5

INTRODUCTION .................................................................................................................... 6

CHAPITRE I : PRESÉNTATION UN CABINET DE CONSULTING ARCHITEO ...... 8

1. Logo de l’Entreprise : ...................................................................................................... 9

2. A propos d’ARCHITEO : ............................................................................................... 9

3. Fiche Technique : .......................................................................................................... 10

4. Organigramme : ............................................................................................................. 10

5. Différents Activités : ..................................................................................................... 11

5.1. Consulting IT : ....................................................................................................... 11

5.2. Formations Professionnelles et Séminaires IT : ..................................................... 11

5.3. Startup Factory : ..................................................................................................... 12

CHAPITRE II : PRESÉNTATION DU PROJET .............................................................. 13

1. Thème de Projet : .......................................................................................................... 14

2. Outils utilisés dans le projet : ........................................................................................ 15

2.1. NLP : ...................................................................................................................... 15

2.2. Flask : ..................................................................................................................... 16

2.3. Les Outils de Développement : .............................................................................. 17

3. La Structure du mon Projet ChatBot : ........................................................................... 19

CONCLUSION ....................................................................................................................... 24

4
LISTE DES FIGURES
Figure 1 : Logo de l'Entreprise ARCHIETO......................................................... 9
Figure 2 : Organigramme de l'Entreprise ARCHIETO ....................................... 10
Figure 3 : quelques choses .................................................................................. 14
Figure 4 : quelques ... .......................................................................................... 19
Figure 5 : Something ...... .................................................................................... 20
Figure 6 : Something ......... ................................................................................. 21
Figure 7 : Something ......... ................................................................................. 22
Figure 8 : Something ......... ................................................................................. 22
Figure 9 : Something ......... ................................................................................. 23

5
INTRODUCTION

À l'issue de la première année à Académie Internationale Mohammed VI de L’Aviation Civile,


les étudiants sont amenés à effectuer un stage d’initiation d’une durée de quatre semaines au
sein d’une entreprise, dans le cadre de l’obtention d’un diplôme d’ingénieur d’État en génie
informatique. Pour cela ARCHITEO est un cabinet de consulting et conseil IT situé Rabat
Agdal m’a donné l’opportunité de mettre en valeur les compétences techniques acquises durant
cette année de formation en option Génie Informatique, en m’offert l’occasion de réaliser un
projet Développement d'un chatbot intelligent, avec lequel je peux apprendre de nouvelles
connaissances et nouveaux concepts, qui seront utiles que ce soit pour ma carrière
professionnelle ou pour la suite de mes études. Ce stage représente un premier contact avec le
milieu professionnel et un début d’expérience et de pratique permettant le passage de la théorie
acquise tout au long des études au concret, ce qui donne à l’étudiant l’occasion de tester ses
capacités à s’intégrer et à travailler en équipe, et mettre en pratique ses connaissances afin de
gérer une problématique. Le stage permet ainsi de prendre conscience de l’importance de la
patience dans le travail et de la nécessité de la collaboration pour bien mener une tâche

À l’époque actuelle, les chatbots intelligents ont révolutionné la manière dont les entreprises
interagissent avec leurs clients. Grâce à leur capacité à comprendre et à répondre aux questions
de manière contextuelle, ils offrent une expérience utilisateur plus fluide et personnalisée. Ces
outils automatisés sont disponibles 24h/24 et 7j/7, ce qui permet de fournir un support
instantané, augmentant ainsi la satisfaction des clients.

Les chatbots intelligents sont également un atout majeur pour l'efficacité opérationnelle. Ils
peuvent gérer un grand volume de demandes répétitives, libérant ainsi les agents humains pour
des tâches plus complexes et stratégiques. Cela se traduit par des économies de temps et de
ressources pour l'entreprise. De plus, les chatbots intelligents sont en mesure de collecter et
d'analyser des données précieuses sur les préférences et les comportements des clients. Cette
information permet aux entreprises d'ajuster leurs stratégies et leurs offres pour mieux répondre
aux besoins de leur public.

6
Ce rapport résume les étapes principales du projet. Il vise à donner la description et
l'éclaircissement du déroulement de ce projet, ainsi que la transmission des objectifs à travers
ce travail. Notre travail est décomposé en trois grandes parties : La première consiste à présenter
l’entreprise ARCHITEO et donner des informations générales sur différentes activités du
cabinet. La deuxième consiste à présenter l’entreprise ARCHITEO, et la dernière consiste à la
présentation du Projet en indiquant les outils utilisés lors de la conception et la réalisation, et le
cahier de charge employé.

7
CHAPITRE I :
PRESÉNTATION UN
CABINET DE
CONSULTING ARCHITEO

8
1. Logo de l’Entreprise :
Crée en 2015, ARCHITEO est un cabinet de consulting et conseil IT situé Rabat Agdal.

Figure 1 : Logo de l'Entreprise ARCHIETO

2. A propos d’ARCHITEO :
ARCHITEO propose des services de conseil numérique visant à résoudre les défis
commerciaux spécifiques auxquels les entreprises de différentes tailles et de différents secteurs
font face tout au long de la transformation numérique de leurs services et processus.
Les équipes d'experts en conseil numérique issus de différents domaines mettra à votre
disposition tous les outils nécessaires ainsi qu'une feuille de route détaillée pour donner forme
à vos idées les plus audacieuses et les traduire en résultats commerciaux tangibles, augmentant
ainsi la rentabilité.

9
3. Fiche Technique :
Président Général

Dénomination Sociale ARCHITEO

Date de Création 2015

Secteur d’Activité Consulting et Conseil IT

Siège Sociale 9k4 Rue ANNAJD Ville N°6 , RABAT 10100

Registre de Commerce Rabat N°28.717

Boite Postale Rabat 101100

Téléphone FAX +212 662-103366

Courriel Electronique Contact@architeo.com

Site Web http://www.architeo.co/

4. Organigramme :

Figure 2 : Organigramme de l'Entreprise ARCHIETO

10
5. Différents Activités :
Parmi les activités qu’exerce la société ARCHITEO :

5.1. Consulting IT :
Également appelé conseil en technologie, concerne les services visant à aider les clients à
utiliser leurs technologies de l'information (TI) pour atteindre de façon optimale leurs objectifs
d'affaires. Le segment conseil en technologies de l'information contient à la fois des services de
conseil et de mise en œuvre, bien que ce dernier représente la plus grande majorité de la taille
du marché. Des exemples de services de conseil en TI comprennent l'automatisation des
processus d'affaires, la gestion des risques numériques, la mise en œuvre de systèmes et la
sécurité des TI.

Le marché des services de conseil en technologies de l’information comprend six disciplines


principales :

✓ Conseil informatique.
✓ Services ERP.
✓ Analyse de données.
✓ Gestion de logiciels.
✓ Intégration de systèmes et architecture d'entreprise.

Les cabinets de conseil ont en général, à la fois élargi et approfondi leurs capacités
informatiques. Les analystes distinguent généralement trois types de cabinets de conseil
informatique :

✓ Les grands acteurs mondiaux spécialisés dans les technologies de l'information,


✓ Les cabinets disposant d'une unité de conseil informatique distincte
✓ Les acteurs informatiques de niche - acteurs locaux axés sur une discipline ou
un marché spécifique.

5.2. Formations Professionnelles et Séminaires IT :


Les formations aux technologies de l’information permettent de former des professionnels de
la gestion des informations dans le monde de l’entreprise. Ces formations comprennent des
aspects technologiques et sont donc rattachées à l’informatique. Les étudiants y apprennent à
gérer des systèmes informatiques complexes. Ils en apprennent également la conception. Au

11
cours de ces formations, ils se familiarisent avec plusieurs outils du multimédia. Ils apprennent
également à se tenir informés des innovations technologiques pouvant impacter leur futur
secteur professionnel. Une fois diplômés, ils doivent être capables d’intégrer des entreprises et
d’y occuper des fonctions de gestionnaire des données et de l’information. ARCHITEO offre:

✓ Formations pour obtenir des certificats.


✓ Formations sur les nouvelles technologies du marché.
✓ Séminaires professionnels pour booster vos équipes.

5.3. Startup Factory :


Les startups studios s’impliquent dans la création de startups dès leur début (from scratch) et
de manière très opérationnelle. Un startup studio est une entreprise qui crée des startups en
s’appuyant sur des ressources partagées et une équipe multidisciplinaire. Les startups studios
sont 6 aussi appelés Startup Factory (usine de startups), Company Builder ou Venture Builder.
Les startup studios apportent à chaque projet du capital humain et du capital financier.

✓ Capital humain : en plus d’un espace de travail et de différents outils techniques


ou de management, le studio met à la disposition des startups des designers, des
développeurs à temps plein et des entrepreneurs en résidence qui travaillent sur
les différents projets. L’utilisation des ressources est optimisée car plusieurs
projets sont construits en parallèle.
✓ Capital financier : un capital d’amorçage est alloué à chaque projet en fonction
de ses besoins.

12
CHAPITRE II :
PRESÉNTATION DU
PROJET

13
1. Thème de Projet :
L'objectif clé de l'intégration du chatbot sur le site web de leur cabinet de conseil et de services
IT est d'améliorer considérablement l'expérience des visiteurs. En fournissant une assistance
instantanée et personnalisée, le chatbot vise à répondre aux questions des visiteurs concernant
leurs services, leurs domaines d'expertise et leurs offres de consultation. De plus, le chatbot
peut orienter les utilisateurs vers les informations pertinentes, les ressources et les solutions qui
correspondent à leurs besoins spécifiques. Cela permettra non seulement de renforcer leur
présence en ligne, mais aussi d'instaurer un lien de confiance avec leurs clients potentiels en
leur offrant un moyen rapide et pratique d'obtenir les informations dont ils ont besoin.

Figure 3 : quelques choses

Les chats bots fonctionnent sur la base de modèles d'intelligence artificielle, en particulier le
traitement automatique du langage naturel (NLP) et l'apprentissage automatique. Initialement,
un chat bot est entraîné sur de vastes ensembles de données textuelles pour comprendre les
schémas et les structures linguistiques. Une fois entraîné, le chat bot peut interpréter les
messages entrants, les segmenter en unités significatives et déterminer l'intention de

14
l'utilisateur. En utilisant ces informations, le chat bot sélectionne ensuite la réponse la plus
appropriée dans sa base de connaissances ou génère une réponse en utilisant des techniques de
génération de texte. Avec le temps, les chats bots peuvent s'améliorer en continu grâce aux
interactions en direct, ajustant leurs réponses en fonction des retours des utilisateurs pour une
performance plus précise et contextuelle.

2. Outils utilisés dans le projet :


2.1. NLP :
La langue est complexe et difficile à interpréter pour les ordinateurs. Les techniques de
traitement du langage naturel permettent aux machines de comprendre le langage humain. Dans
cette optique, nous allons explorer certains des outils les plus couramment utilisés pour analyser
et comprendre le langage naturel.

2.1.1. Définition :

Le Traitement Automatique du Langage Naturel (NLP) est une branche de l'intelligence


artificielle qui se concentre sur la compréhension et la manipulation du langage humain par les
ordinateurs. Son objectif est de permettre aux machines de comprendre, interpréter et générer
le langage humain de manière à faciliter la communication et l'interaction entre les machines et
les êtres humains.

2.1.2. Outils :
✓ La tokenisation :
La tokenisation consiste à séparer les phrases en mots individuels. Cette technique est une étape
clé dansle traitement du langage naturel et est utilisée pour l'analyse de sentiments, la classification
de textes, etc. NLTK est une bibliothèque Python populaire pour la tokenisation de mots.

Example :

Le soleil se lève à l'horizon, peignant le ciel de teintes dorées et roses.

['Le', 'soleil', 'se', 'lève', 'à', 'l', "'", 'horizon', ',', 'peignant', 'le', 'ciel', 'de', 'teintes', 'dorées', 'et',
'roses', '.']

15
✓ Lemmatisation (WordNetLemmatizer) :
La lemmatisation est une technique de traitement du langage naturel qui convertit les mots en
leur forme de base. Le WordNetLemmatizer dans NLTK est un outil couramment utilisé pour
la lemmatisation. Par exemple, mettre un verbe à l'infinitif

Example :

• Texte d'origine : « Les enfants jouent joyeusement dans le parc. »


• Texte après lemmatisation : « Le enfant jouer joyeusement dans le parc. »

✓ Création d'un sac de mots (Bag of Words) :


Un sac de mots est une technique de traitement du langage naturel qui consiste à créer un
dictionnaire de mots uniques à partir d'un corpus de texte. Les sacs de mots peuvent être utilisés
pour l'analyse de sentiments, la classification de textes et la détection de plagiat. Les sacs de
mots sont utiles pour transformer un texte en vecteur numérique.

• Exemple de texte : « Le chat mange la souris. »


• Résultat du sac de mots : {'chat’ : 1, 'mange’ : 1, 'souris’ : 1}

✓ Encodage des étiquettes de classe :


Les étiquettes de classe sont des variables qui indiquent la catégorie à laquelle appartient chaque
observation. Les étiquettes de classe doivent être encodées en nombres pour pouvoir être utilisées
dans un algorithme de Machine Learning. Le Label Encoder de Scikit-learn est un outil populaire
pour l'encodage des étiquettes de classe.]

Example :

'chat', 'chien', 'oiseau'

[0, 1, 2]

2.2. Flask :
Flask est un Framework web minimaliste et léger écrit en langage de programmation Python.
Il est conçu pour simplifier la création d'applications web en fournissant les outils nécessaires

16
pour gérer les routes, les requêtes HTTP, les sessions, les cookies et autres
fonctionnalités courantes dans le développement web. Flask est apprécié pour
sa simplicité et sa flexibilité, permettant aux développeurs de créer des
applications web de toutes tailles, de petites applications simples à des projets
plus complexes. Grâce à sa conception modulaire, les développeurs peuvent
ajouter des extensions pour étendre les fonctionnalités de base de Flask en fonction de leurs

besoins spécifiques.

2.3. Les Outils de Développement :


2.3.1. HTML :
L'HyperText Markup Language, HTML, désigne un type de langage
informatique descriptif. Il s'agit plus précisément d'un format de données
utilisé dans l'univers d'Internet pour la mise en forme des pages Web. Il permet,
entre autres, d'écrire de l'hypertexte, mais aussi d'introduire des ressources
multimédias dans un contenu.

2.3.2. CSS :
CSS, ou Cascading Style Sheets (Feuilles de style en cascade), est un langage de programmation
utilisé pour définir la présentation et le style visuel des éléments d'une page web écrite en
HTML (Hypertext Markup Language). Plutôt que de définir directement
comment les éléments doivent être affichés, comme le ferait le HTML,
CSS permet de séparer la structure (HTML) de la mise en forme (CSS)
d'une page web. En utilisant des règles et des sélecteurs, les développeurs
peuvent spécifier des propriétés telles que la couleur, la taille, la police,
la mise en page et d'autres aspects visuels pour personnaliser l'apparence des éléments sur une
page web. CSS joue un rôle essentiel dans la création d'interfaces web attrayantes et réactives.

17
2.3.3. JavaScript :
JS (JavaScript) est un langage de programmation de haut niveau, dynamique et interprété. Il est
principalement utilisé pour créer des applications Web interactives côté
client, mais il peut également être utilisépour créer des applications côté
serveur.

JavaScript est souvent utilisé avec des technologies Web telles que HTML
et CSS pour créer des sites Web interactifs et réactifs. Il est également
utilisé pour développer des applicationsmobiles, des extensions de navigateur, des jeux vidéo,
des applications de bureau et bien plus encore.

2.3.4. VS Code :
VS Code (Visual Studio Code) est un éditeur de code source gratuit et
open-sourcedéveloppé par Microsoft pour Windows, Linux et macOS. Il
prend en charge de nombreux langages de programmation, y compris
JavaScript, TypeScript, Python, C++, et bien plus encore.

VS Code propose de nombreuses fonctionnalités, telles que la coloration syntaxique,


l'indentation automatique, la complétion de code, la détection d'erreurs, la gestion de fichiers
et de dossiers, la recherche et le remplacement de texte, ainsique des extensions pour ajouter des
fonctionnalités supplémentaires.

VS Code dispose également d'un terminal intégré qui vous permet d'exécuter des commandes
système directement depuis l'éditeur, ainsi que d'un débogueur intégré pour déboguer votre code
pendant l'exécution.

2.3.5. Json :
JSON (JavaScript Objet Notation) est un langage léger d’échange de
données textuelles. Pour les ordinateurs, ce format se génère et s’analyse
facilement. Pour les humains, il est pratique à écrire et à lire grâce à une
syntaxe simple et à une structure en arborescence. JSON permet de
représenter des données structurées (comme XML par exemple).

18
2.3.6. Python :
Python est le langage de programmation open source le plus employé par les
informaticiens. Ce langage s’est propulsé en tête de la gestion d’infrastructure,
d’analyse de données ou dans le domaine du développement de logiciels. En
effet, parmi ses qualités, Python permet notamment aux développeurs de se
concentrer sur ce qu’ils font plutôt que sur la manière dont ils le font. Il a libéré
les développeurs des contraintes de formes qui occupaient leur temps avec les
langages plus anciens. Ainsi, développer du code avec Python est plus rapide qu’avec d’autres langages.

3. La Structure du mon Projet ChatBot :

Figure 4 : quelques ...

Le fichier training.py met en place un modèle de traitement du langage naturel (NLP) en utilisant les
bibliothèques KERAS et NLTK pour effectuer la classification des intentions. Voici un résumé en six
lignes :

✓ Importez les bibliothèques nécessaires, y compris NLTK, Keras et NumPy, pour les tâches de
NLP.

19
✓ Chargez et prétraitez les données à partir de 'data.json', en découpant les mots en jetons et en
préparant les intentions.

Figure 5 : Something ......

✓ Créez les données d'entraînement en générant des représentations en sacs de mots et des
étiquettes codées en one-hot.
✓ Mélangez et organisez les données d'entraînement, comblez les séquences pour obtenir une
longueur uniforme.
✓ Construisez un modèle de réseau neuronal avec des couches denses et de désactivation pour la
classification des intentions.
✓ Compilez, entraînez le modèle avec l'optimiseur SGD, enregistrez-le sous le nom 'model.h5' et
affichez le message de fin.
✓ Le fichier app.py met en œuvre un chatbot utilisant le modèle de traitement du langage naturel
préalablement formé pour répondre aux messages de l'utilisateur. Voici un résumé en six lignes:
• Importez les bibliothèques nécessaires, dont NLTK pour le traitement du langage
naturel et KERAS pour le modèle.
• Chargez le modèle préalablement enregistré ('model.h5') et les données d'entraînement
depuis 'texts.pkl' et 'labels.pkl'.
• Définissez des fonctions pour nettoyer les phrases, convertir en sacs de mots, et prédire
les intentions.
• Créez une fonction pour obtenir une réponse appropriée en fonction des prédictions
d'intentions.
• Mettez en place un serveur Flask pour gérer les interactions utilisateur-chatbot.
20
• Démarrez l'application Flask qui reçoit les messages utilisateur et renvoie les réponses
du chatbot.

✓ Ce code met en œuvre un chatbot utilisant le modèle de traitement du langage naturel


préalablement formé pour répondre aux messages de l'utilisateur. Voici un résumé en six lignes:
• Importez les bibliothèques nécessaires, dont nltk pour le traitement du langage naturel
et Keras pour le modèle.
• Chargez le modèle préalablement enregistré ('model.h5') et les données d'entraînement
depuis 'texts.pkl' et 'labels.pkl'.
• Définissez des fonctions pour nettoyer les phrases, convertir en sacs de mots, et prédire
les intentions.
• Créez une fonction pour obtenir une réponse appropriée en fonction des prédictions
d'intentions.
• Mettez en place un serveur Flask pour gérer les interactions utilisateur-chatbot.
• Démarrez l'application Flask qui reçoit les messages utilisateur et renvoie les réponses
du chatbot.

Exécutions :

Figure 6 : Something .........

21
Figure 7 : Something .........

Figure 8 : Something .........

22
Figure 9 : Something .........

23
CONCLUSION

24

Vous aimerez peut-être aussi