Rapport PFE Ayachi Oumayma

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 84

2023 - 2024

TWIN

Plateforme intelligente de recommandation


digitale, d'analyse SEO et de génération de
contenus optimisés

Réalisé par : Ayachi Oumayma

Encadré par :

Encadrant ESPRIT : Mme. Ghada Setti

Encadrant Entreprise : M. Mohamed Khalil Zghal


Je valide le dépôt du rapport PFE relatif à l’étudiant nommé ci-dessous :
 Nom & Prénom : Ayachi Oumayma.

Encadrant Entreprise

 Nom & Prénom : M. Mohamed Khalil Zghal


Cachet & Signature

Encadrant Académique

 Nom & Prénom : Mme. Ghada Setti


Signature

Ce formulaire doit être rempli, signé et scanné.

Ce formulaire doit être introduit après la page de garde.


Remerciements

Je souhaite exprimer ma plus sincère gratitude à toutes les personnes qui ont joué un rôle
essentiel dans la réalisation de ce projet de fin d'études.

En premier lieu, mes remerciements vont à Mme Ghada Setti, mon encadrante
académique. Sa présence constante, ses conseils judicieux et son soutien attentif ont été
déterminants tout au long de ce projet.

Je suis également très reconnaissant envers M. Mohamed Khalil Zghal, mon encadrant en
entreprise. Je le remercie chaleureusement pour m'avoir intégré au sein de son équipe et pour
m'avoir donné la chance de travailler sur ce projet captivant. Ses conseils avisés, son soutien
et ses encouragements ont grandement facilité mon intégration et ma progression
professionnelle au sein de l'entreprise.

Je n'oublie pas mes collègues et amis pour leur soutien moral constant et leurs
encouragements, ainsi que ma famille, dont l'amour et les mots réconfortants ont été une
source de motivation tout au long de ce projet.

Enfin, je souhaite remercier toutes les personnes, qu'elles aient contribué directement ou
indirectement, à la réussite de ce projet. Votre aide et votre soutien ont été inestimables, et je
vous en suis profondément reconnaissant.
Table des matières

Introduction générale ............................................................................................................ 11

1. Chapitre 1 : Cadre général ............................................................................................. 12

Introduction .................................................................................................................... 12

1.1. Présentation de l’organisme d’accueil : ESPRIT ................................................ 12

1.2. Cadre du projet .................................................................................................... 12

1.2.1. Aperçu sur l’existant ..................................................................................... 12

1.2.2. Les clients cibles ............................................................................................ 13

1.2.3. Problématique ............................................................................................... 13

1.2.4. Besoins fonctionnels ...................................................................................... 14

1.2.5. Besoins non-fonctionnels ............................................................................... 15

1.3. Étude de l’existant ................................................................................................ 15

1.3.1. HubSpot ......................................................................................................... 15

1.3.2. Marketo ......................................................................................................... 16

1.3.3. SEMrush ........................................................................................................ 17

1.3.4. Critiques et limites......................................................................................... 18

1.4. Conception ............................................................................................................ 19

1.4.1. Diagramme de cas d’utilisation globale ........................................................ 19

1.4.2. Diagramme de cas d'utilisation détaillé : Système de recommandation ..... 20

1.4.3. Diagramme de cas d’utilisation détaillé : analyse SEO................................ 22

1.4.4. Diagramme de cas d’utilisation détaillé : générer des textes optimisés ....... 24

1.4.5. Diagramme de classe ..................................................................................... 25

Conclusion ....................................................................................................................... 26

2. Chapitre 2 : Infrastructure, Méthodologie et Compréhension du métier .......................... 27

Introduction .................................................................................................................... 27
2.1. Infrastructure ....................................................................................................... 27

2.1.1. Cadre technique du travail ...........................................................................27

2.1.2. Architecture logique ...................................................................................... 28

2.1.3. Architecture physique ................................................................................... 29

2.2. Démarche de travail et méthodologies ................................................................. 31

2.2.1. KDD ............................................................................................................... 31

2.2.2. SEMMA ......................................................................................................... 32

2.2.3. CRISP-DM .................................................................................................... 32

2.2.4. Comparaison et méthodologie adoptées ....................................................... 33

2.2.5. Méthodologie choisie : CRISP-DM ............................................................... 34

2.3. Compréhension du métier .................................................................................... 35

2.3.1. Système de recommandation ........................................................................ 35

2.3.2. Topics Chart "Tendances actuelles du marché" ..........................................36

2.3.3. Top Competitors "Comparaison des domaines pairs" ................................ 36

2.3.4. Keyword In Real Time "Suivi des Mots-Clés en Temps Réel" ................... 37

2.3.5. Génération de contenu .................................................................................. 38

Conclusion ....................................................................................................................... 39

3. Chapitre 3 : Compréhension et Préparation des Données ............................................... 40

Introduction .................................................................................................................... 40

3.1. Compréhension des données ................................................................................ 40

3.1.1. Données de 'Système de recommandation' ................................................... 40

3.1.2. Données de 'Tendances actuelles du marché' ............................................... 42

3.1.3. Données de 'Comparaison des domaines pairs'............................................ 42

3.1.4. Données 'd’Suivi des Mots-Clés en Temps Réel ' ......................................... 43

3.1.5. Données de 'Génération de contenu'............................................................. 43

3.2. Préparation des données ...................................................................................... 44

3.2.1. Système de recommandation digitale ........................................................... 44


3.2.2. Tendances actuelles du marché..................................................................... 46

3.2.3. Comparaison des domaines pairs ................................................................. 47

3.2.4. Suivi des Mots-Clés en Temps Réel .............................................................. 51

3.2.5. Génération de contenu optimisé ................................................................... 54

Conclusion ....................................................................................................................... 56

4. Chapitre 4 : Modélisation et Évaluation des Performances .............................................57

Introduction .................................................................................................................... 57

4.1. Modélisation ......................................................................................................... 57

4.1.1. Les algorithmes d’apprentissage automatique .............................................57

4.1.2. Réglage des hyperparamètres ....................................................................... 59

4.2. Évaluation .............................................................................................................60

4.2.1. Système de recommandation ........................................................................ 60

4.2.2. Topics Chart "Tendances actuelles du marché" : ....................................... 61

4.2.3. Top Competitors "Comparaison des domaines pairs" ................................ 63

4.2.4. Keyword in real time " Suivi des Mots-Clés en Temps Réel " .................... 65

4.2.5. Génération de contenu .................................................................................. 65

Conclusion ....................................................................................................................... 66

5. Chapitre 5 : Déploiement et Réalisation ......................................................................... 67

Introduction .................................................................................................................... 67

5.1. Déploiement ..........................................................................................................67

5.2. Réalisation ............................................................................................................ 68

Conclusion ....................................................................................................................... 80

Conclusion générale .............................................................................................................81

Bibliographie ........................................................................................................................ 82
Liste des figures

Figure 1.1 : ESPRIT .............................................................................................................12


Figure 1.2 : HubSpot ............................................................................................................ 16
Figure 1.3 : Marketo .............................................................................................................17
Figure 1.4 : SEMrush............................................................................................................ 17
Figure 1.5 : Diagramme de cas d'utilisation générale............................................................. 19
Figure 1.6 : Diagramme de classe ......................................................................................... 26
Figure 2.1 : Architecture globale du système ........................................................................ 28
Figure 2.2 : Architecture Logique ......................................................................................... 29
Figure 2.3 : Architecture Physique ........................................................................................ 30
Figure 2.4 : Processus KDD .................................................................................................. 31
Figure 2.5 : Processus SEMMA ............................................................................................ 32
Figure 2.6 : Processus CRISP-DM ........................................................................................ 33
Figure 2.7 : Méthodes répandues pour l'exécution de projets de Data Science ....................... 34
Figure 3.1 : Histogrammes .................................................................................................... 48
Figure 3.2 : Boxplot.............................................................................................................. 49
Figure 3.3 : Scatter Plots ....................................................................................................... 50
Figure 3.4 : Matrice de corrélation ........................................................................................ 51
Figure 3.5 : Pairplot .............................................................................................................. 53
Figure 3.6 : Matrice de corrélation avec une heatmap ........................................................... 54
Figure 3.7 : Histogramme de la distribution des CPC ............................................................ 55
Figure 3.8 : Scatter plot - Nuage de points entre CPC et volume de recherche ....................... 55
Figure 3.9 : Boxplot pour Search Volume et pour CPC ......................................................... 56
Figure 4.1 : Différents algorithmes ....................................................................................... 58
Figure 4.2 : Les matrices de confusion - Système de recommandation .................................. 61
Figure 4.3 : Les matrices de confusion - Topics Chart........................................................... 62
Figure 4.4 : Les matrices de confusion - Top Competitors .................................................... 63
Figure 4.5 : Les matrices de confusion - Keyword In Real Time ...........................................65
Figure 4.6 : GitHub Actions Pipeline .................................................................................... 68
Figure 4.7 : Interface du système de recommandation digitale .............................................. 68
Figure 4.8 : Influencer chart et leads chart ............................................................................ 69
Figure 4.9 : Description des textes pour chaque client ........................................................... 69
Figure 4.10 : Filtre des textes par sentiments ........................................................................ 70
Figure 4.11 : Liste des clients ............................................................................................... 70
Figure 4.12 : Topics Chart initialement ................................................................................. 71
Figure 4.13 : Topics Chart - Recharger les données ............................................................. 71
Figure 4.14 : Topics Chart .................................................................................................... 72
Figure 4.15 : Top compétiteurs initialement ..........................................................................72
Figure 4.16 : Top Competitors - Réalisation 1....................................................................... 73
Figure 4.17 : PA et DA des domaines ................................................................................... 73
Figure 4.18 : Spam Scores et Total Backlinks des domaines ................................................. 74
Figure 4.19 : Keyword in Read Time – Réalisation 1 ............................................................ 74
Figure 4.20 : Keyword in Read Time - Réalisation 2............................................................. 75
Figure 4.21 : Keyword in Read Time - Réalisation 3............................................................. 76
Figure 4.22 : Fine-tuning du modèle GPT-2..........................................................................76
Figure 4.23 : Résultat du test GPT2 ...................................................................................... 76
Figure 4.24 : Dockerisation et Containerisation .................................................................... 77
Figure 4.25 : Prometheus Interface ....................................................................................... 77
Figure 4.26 : Grafana Interface ............................................................................................. 78
Figure 4.27 : Interface Jira .................................................................................................... 79
Figure 4.28 : Interface Kibana .............................................................................................. 79
Figure 4.29 : Base de données indexée.................................................................................. 80
Liste des tableaux

Tableau 1.1 : Comparaison entre les solutions ......................................................................18


Tableau 2.1 : Tableau comparatif des méthodologies de travail .............................................34
Tableau 4.1 : Comparaison entres les algorithmes - Système de Recommendation ................ 60
Tableau 4.2 : Scores trouvés pour le modèle le plus performant -Topics Chart ...................... 62
Tableau 4.3 : Comparaison entres les algorithmes - Top Competitors ................................... 64
Tableau 4.4 : Comparaison entres les algorithmes - Keyword In Real Time .......................... 65
Tableau 4.5 : Evaluation du model GPT2.............................................................................. 66
Liste des abréviations

SEO : Optimisation pour les moteurs de recherche


DevOps : Développement et opérations
KDD : Découverte de Connaissances dans les Bases de Données
SEMMA : Échantillon, Explore, Modifie, Modèle, Évalue
CRISP-DM : Processus Standard Intersectoriel pour l’Extraction de Données
API : Interface de Programmation d'Applications
ML : Apprentissage Automatique
NLP : Traitement du Langage Naturel
GPT2 : Transformateur Génératif Pré-entraîné 2
PME : Petites et Moyennes Entreprises
Kmeans : k-moyennes
KMedoids : K-médoïdes
Agglomerative : Agglomératif
DBSCAN : Clustering Spatiale Basé sur la Densité avec Bruit
OPTICS : Ordonnancement des Points pour Identifier la Structure de Clustering
SVM : Machine à vecteurs de support
RapidAPI : Plateforme de gestion des API (Application Programming Interface)
T-SNE : Enregistrement Stochastique de Voisinage Distribué en t
PCA : Analyse en Composantes Principales
ElasticSearch : Moteur de Recherche et d'Analyse en Temps Réel
Introduction générale
Dans un univers numérique en constante évolution, les entreprises doivent sans cesse
ajuster leurs stratégies pour rester compétitives. Offrir des recommandations personnalisées,
optimiser le contenu pour les moteurs de recherche (SEO) et générer du contenu pertinent de
manière automatisée sont devenus des compétences essentielles. Notre projet vise à
développer une plateforme intelligente pour répondre à ces besoins en intégrant trois
fonctions principales : un système de recommandation, des outils d'analyse SEO, et des
algorithmes de génération automatique de contenu optimisé.

En parallèle de ces fonctionnalités, nous avons intégré des pratiques DevOps pour garantir
une livraison continue et une surveillance efficace de la plateforme. L'utilisation de Docker
pour la containerisation nous permet de standardiser les environnements de développement et
de production. La surveillance en temps réel est assurée par Prometheus et Grafana, tandis
que le pipeline CI/CD automatisé avec GitHub Actions facilite le déploiement des mises à
jour sur Docker Hub et réduit le temps de mise en production. Cette approche améliore la
collaboration entre les équipes, optimise le flux de travail et garantit une livraison fiable tout
en maintenant des niveaux de performance élevés.

Pour guider le développement de la plateforme, nous avons adopté la méthodologie


CRISP-DM. Celle-ci nous permet de suivre une approche structurée et itérative, incluant la
définition des objectifs, la préparation des données, la modélisation, et le déploiement en
production. Cette méthodologie nous assure une gestion efficace du projet, en alignement
avec les objectifs commerciaux définis, et nous permet d'adapter la plateforme en fonction des
besoins et des défis rencontrés.
CHAPITRE 1 Cadre général

Chapitre 1 : Cadre général

Introduction
Dans ce premier chapitre, nous allons aborder différentes étapes : une présentation de
l'entreprise de stage, une idée générale du projet, les différentes problématiques, les besoins,
étude de l’existant, la conception, et enfin, une conclusion de ce chapitre.
1.1. Présentation de l’organisme d’accueil : ESPRIT
Esprit est une école supérieure privée d'ingénierie et de technologies basée à l'Ariana, en
Tunisie. J'ai effectué un stage d'ingénieur au sein du département ESPRIT - Graphics Groupe.
La recherche, le développement et l'innovation sont les priorités stratégiques d'ESPRIT depuis
sa création. En 2010, l'université a créé ESPRIT pour superviser diverses activités de RDI et
collaborer activement avec les parties prenantes pour déterminer les priorités politiques,
stratégiques et de recherche.
ESPRIT est le point central où les équipes RDI de différentes disciplines et domaines de
recherche se réunissent pour collaborer sur des projets de recherche interdisciplinaires.
ESPRIT s'engage à impliquer les étudiants dans les processus de recherche, de développement
et d'innovation pour contribuer au développement socio-économique de la région. [1]

Figure 1.1 : ESPRIT


1.2. Cadre du projet
Dans cette section, nous allons donner une vue d'ensemble du projet. Nous allons
commencer par fournir un aperçu de l'existant, allons détailler la problématique et conclurons
par la solution proposée.
1.2.1. Aperçu sur l’existant

Page 12/84
CHAPITRE 1 Cadre général

Les avancées technologiques ont considérablement amélioré les domaines des


recommandations numériques, de l'analyse SEO et de la génération de contenu intelligent. Les
systèmes de recommandation utilisent des algorithmes pour personnaliser les suggestions en
fonction des préférences des utilisateurs. L'analyse SEO optimise les sites pour une meilleure
visibilité sur les moteurs de recherche en affinant les mots-clés, les backlinks et la structure
des pages. La génération de contenu intelligent crée automatiquement des textes adaptés à
divers contextes et audiences.
Malgré ces progrès, les outils actuels présentent encore des limitations, notamment en
termes de précision des recommandations, de pertinence des analyses et de qualité du contenu
généré. Notre projet vise à surmonter ces défis en intégrant des technologies avancées et en
proposant des solutions innovantes pour améliorer la précision des recommandations,
l'efficacité de l'analyse SEO et la qualité du contenu généré. [2]
1.2.2. Les clients cibles
Notre projet s'adresse à trois principaux types d'entreprises cherchant à renforcer leur
présence en ligne :
- Agences de Marketing Digital : Ces agences cherchent à améliorer leurs campagnes
en découvrant des données précieuses sur les influenceurs et les prospects. Le projet
leur fournit des outils pour analyser et exploiter ces informations afin d'optimiser leurs
stratégies de marketing.
- Entreprises en Ligne et E-commerce : Pour ces entreprises, l'optimisation SEO est
essentielle pour augmenter leur visibilité sur les moteurs de recherche. Les outils
proposés aident à analyser et améliorer la structure des sites web, les mots-clés, et
les performances SEO, afin d'attirer plus de visiteurs et améliorer les conversions.
- Marketers de Contenu et Rédacteurs SEO : Ces professionnels ont besoin de
solutions pour générer du contenu optimisé automatiquement. Le projet propose
des algorithmes d'apprentissage automatique pour créer du contenu pertinent et
de haute qualité, ce qui leur permet de gagner du temps et de réduire les coûts de
production tout en améliorant l'efficacité de leurs stratégies de contenu.
En offrant des solutions adaptées à chacun de ces segments, notre projet vise à maximiser
leur présence en ligne et à améliorer leurs interactions avec les utilisateurs.
1.2.3. Problématique

Page 13/84
CHAPITRE 1 Cadre général

Dans le contexte actuel du marketing numérique, les entreprises doivent faire face à des
défis importants pour rester compétitives. Afin de répondre aux besoins croissants en matière
de personnalisation et d'efficacité, plusieurs questions centrales se posent :
- Comment concevoir et affiner des algorithmes de recommandation pour améliorer
la pertinence des suggestions, tout en prenant en compte les préférences et
comportements individuels des utilisateurs ?
- Quels outils et méthodes adopter pour optimiser la structure des sites web,
identifier les mots-clés pertinents, et mesurer efficacement l’impact des stratégies SEO
mises en place ?
- Comment utiliser les modèles d'apprentissage automatique et le traitement du
langage naturel pour générer du contenu qui répond à la fois aux besoins des
utilisateurs et aux exigences des moteurs de recherche ?
- Comment intégrer les outils DevOps tels que Docker, Prometheus, Grafana, et
GitHub Actions pour assurer une gestion fluide et fiable des environnements de
développement et de production, tout en optimisant le flux de travail et la performance
globale ?
- Comment appliquer la méthodologie CRISP-DM (compréhension du problème,
préparation des données, modélisation, évaluation, et déploiement) pour garantir une
gestion efficace du projet, tout en permettant une adaptation continue aux besoins et
défis rencontrés ?
Ces questions guideront notre démarche pour développer une solution complète, répondant
aux exigences modernes des entreprises en termes de visibilité en ligne, qualité du contenu, et
efficacité des recommandations.
1.2.4. Besoins fonctionnels
Les besoins fonctionnels du projet comprennent plusieurs composantes essentielles pour
assurer l'efficacité et le succès de la solution proposée :
- Système de recommandation : Offrir des recommandations personnalisées de
contenu, de produits ou de services en fonction des préférences et comportements des
utilisateurs pour améliorer leur expérience et engagement.
- Création de graphismes pour les guides SEO : Développer des visualisations claires
pour optimiser le contenu SEO et faciliter l’analyse des performances, en mettant en
évidence les opportunités d’amélioration.

Page 14/84
CHAPITRE 1 Cadre général

- Génération de contenu SEO optimisé : Automatiser la création de textes de haute


qualité adaptés aux critères des moteurs de recherche et aux intérêts des utilisateurs,
afin d’améliorer le classement des sites web.
- Analyse et rapport de performance : Intégrer des outils d’analyse pour évaluer
l’efficacité des recommandations, des optimisations SEO, et du contenu généré, avec
des rapports détaillés pour ajuster les stratégies.
- Gestion flexible de la plateforme : Assurer une gestion efficace grâce à Docker,
Prometheus, Grafana, et GitHub Actions, garantissant une performance élevée et une
gestion réactive des environnements de développement et de production.
Le projet vise à offrir une solution intégrée qui répond à ces besoins en optimisant la
collecte de données, la génération de rapports, et la création de contenu, tout en garantissant
une gestion adaptative de la plateforme.
1.2.5. Besoins non-fonctionnels
Les besoins non-fonctionnels du projet sont aussi importants que les besoins fonctionnels
pour assurer une performance optimale, une utilisation efficace et une adoption réussie de la
solution.
- Sécurité des données : la sécurité des données est d'une importance primordiale, en
particulier lorsque des données à caractère sensible et les informations personnelles
sont collectées et traitées.
- Facilité d’utilisation et d’accessibilité : l'interface utilisateur doit être intuitive et
facile à utiliser pour garantir une adoption rapide et efficace aux utilisateurs finaux.
- Maintenance et extensibilité : la solution doit être conçue de manière modulaire pour
faciliter la maintenance et les futures mises à jour.
En répondant à ces besoins non-fonctionnels, la solution sera performante, sécurisée,
fiable, évolutive et facile à utiliser, garantissant ainsi une adoption réussie et une satisfaction
maximale des utilisateurs.
1.3. Étude de l’existant
1.3.1. HubSpot
HubSpot propose une gamme complète de solutions pour le marketing, les ventes, le
service client et la gestion de contenu. [3]

Page 15/84
CHAPITRE 1 Cadre général

Figure 1.2 : HubSpot


Avantages :
- Marketing : gérer et suivre efficacement les interactions avec les prospects et les
clients.
- SEO et création de contenu : HubSpot offre des recommandations basées sur les
interactions des utilisateurs.
Inconvénients :
- Coût : HubSpot peut être coûteux, surtout pour les petites et moyennes entreprises ou
les startups avec des budgets limités.
- Complexité : bien que HubSpot soit très puissant, il peut être un peu difficile à
maîtriser, surtout pour ceux qui l'utilisent pour la première fois
1.3.2. Marketo
Marketo est une plateforme de marketing automatisé reconnue mondialement, conçue pour
aider les entreprises à gérer et optimiser leurs campagnes marketing, renforcer l'engagement
client et améliorer la génération de prospects. [4]
Avantages :
- Marketing automation : Marketo est réputé pour sa technologie d'automatisation
marketing de pointe.
- Recommandations et analyses SEO : Marketo propose des recommandations de
contenu personnalisées en se basant sur les interactions des utilisateurs.
Inconvénients :
- Manque de transparence sur les tarifs : Marketo ne divulgue pas toujours des
informations complètes sur ses tarifs.

Page 16/84
CHAPITRE 1 Cadre général

- Tarifs très élevés : Marketo est souvent perçu comme coûteux.


- Design vieillot : Marketo est parfois critiqué pour son design un peu vieillot et moins
intuitif, ce qui peut affecter l'expérience utilisateur.

Figure 1.3 : Marketo


1.3.3. SEMrush
SEMrush propose une solution complète pour le marketing numérique et l'analyse SEO,
offrant des outils puissants pour optimiser le référencement et le marketing en ligne. [5]

Figure 1.4 : SEMrush


Avantages :
- Un plan gratuit est disponible et reste actif de manière illimitée.

Page 17/84
CHAPITRE 1 Cadre général

- Nous pouvons obtenir un remboursement dans les sept jours si nous changeons d'avis.
Inconvénients :
- L'utilisation peut être un peu complexe pour certains utilisateurs.
- Les abonnements sont relativement coûteux.
1.3.4. Critiques et limites
Tableau 1.1 : Comparaison entre les solutions
Critère HubSpot Marketo SEMrush Notre Solution
Automatisation Oui, Oui, avancée ------- Oui, avec
marketing complet recommandations
spécifiques
Analyse SEO Outils Recommandation Outils Visualisations
avancés s et analyses SEO avancés pour interactives,
pour SEO SEO recommandations
en temps réel
Création de Oui, outils ------- ------- Génération avec
contenu optimisé pour SEO modèles de pointe
(T5, GPT-3,
GPT-4)
Recommandation ------- ------- ------- Oui, système
d'influenceurs spécifique pour
influenceurs
Coût Élevé Très élevé, Élevé Variable selon les
manque de besoins
transparence spécifiques
Design de Conviviale Vieillot et moins Fonctionnelle Design moderne
l'interface intuitif , mais peut et interactif
être
complexe

Valeur Ajoutée :
- Recommandation d'influenceurs et de leads : propose un système spécialisé pour
recommander des influenceurs et des prospects, en utilisant des algorithmes avancés
pour garantir une précision accrue.

Page 18/84
CHAPITRE 1 Cadre général

- SEO avec visualisation avancée : propose des visualisations interactives et des


conseils en temps réel, tels que les "Meilleurs hashtags pour le SEO" et le "Classement
des Mots-Clés" et En utilisant des "expressions comparables", on peut obtenir des
données claires et exploitables.
- Génération de contenu intelligent : utiliser des modèles de pointe comme T5, GPT-2
et Bert pour créer du contenu optimisé pour le référencement naturel, en garantissant
une qualité et une pertinence accrues.
1.4. Conception
1.4.1. Diagramme de cas d’utilisation globale
Le diagramme de cas d'utilisation globale montre les principales fonctionnalités d'un
système de gestion SEO. Ce système aide les clients à analyser les données, évaluer les
performances SEO, générer du contenu optimisé et gérer les API.

Figure 1.5 : Diagramme de cas d'utilisation générale

Analyse des Données : Les clients peuvent explorer les tendances actuelles et les sujets
populaires à partir de diverses plateformes (YouTube, Instagram, etc.). Ils peuvent également

Page 19/84
CHAPITRE 1 Cadre général

obtenir des informations sur les marques, les campagnes marketing et les produits ou services
d'une entreprise.

Analyse SEO : Les clients évaluent la performance de leur site web en consultant le
classement des mots-clés, les métriques des domaines, et les hashtags optimisés. Cet outil aide
à mesurer l'efficacité des stratégies SEO et à identifier les opportunités d'amélioration.

Génération de Contenu Optimisé : Le système crée des textes qui répondent aux critères
des moteurs de recherche, améliorant ainsi la visibilité et l'attractivité du site web.

Gestion des API : Le système utilise des API externes pour vérifier les métriques de domaine
et identifier des hashtags pertinents pour le contenu.

1.4.2. Diagramme de cas d'utilisation détaillé : Système de recommandation

Nom du cas Système de recommandation


d'utilisation
Description Ce cas d'utilisation permet au client de découvrir et d'analyser des
informations sur les influenceurs et les prospects à l'aide de deux
graphiques distincts. Les influenceurs sont des individus possédant
une vaste audience, capables d'influencer les opinions et les
comportements, souvent utilisés pour amplifier des campagnes
marketing. En revanche, les prospects(Leads) sont des individus
potentiellement intéressés par des produits ou services spécifiques,
ciblés pour les convertir en clients. Le client peut entrer des mots-
clés, choisir des thèmes et des sources, puis visualiser les publications
liées à ces influenceurs et prospects.
Acteurs Agences de Marketing Digitale
Contexte Le système propose des recommandations avec deux graphiques
distincts : un pour les influenceurs, qui aide à trouver ceux qui
peuvent améliorer la visibilité d'une marque, et un autre pour les
leads, qui aide à identifier les prospects les plus intéressants pour
devenir des clients.
Données en entrée Données en entrée : mention composée de plus d'un mot et moins de
et préconditions quatre mots.

Page 20/84
CHAPITRE 1 Cadre général

Préconditions : le client doit être connecté au système et avoir accès


à l'outil de découverte des données.
Données en sortie Données en sortie : deux graphiques représentant les influenceurs et
et postconditions les leads.
Postconditions : le client peut visualiser les publications des
influenceurs et des leads et obtenir des insights pertinents.
Scénario 1. Le client entre une mention composée de mots-clés.
principal 2. Le client clique sur le bouton "Scraper" pour lancer la
collecte de données du système externe API.
3. Le système collecte les données pertinentes à partir de
diverses sources.
4. Le client choisit un sujet parmi la liste des thèmes
disponibles.
5. Le client sélectionne une source parmi celles disponibles pour
le thème choisi.
6. Le client choisit un auteur dans la liste des auteurs disponibles
pour la source sélectionnée.
7. Le client clique sur un point du graphique linéaire pour
visualiser la publication associée à l'influenceur.
8. Pour le graphique des leads, le client sélectionne un intérêt
dans la liste des intérêts disponibles.
9. Un graphique en barres s'affiche, représentant les sources
pour l'intérêt sélectionné.
10. Le client choisit une source dans le graphique en barres.
11. Un modal s'affiche, montrant tous les auteurs et leurs
publications associés à la source choisie.
Déviations des - 1a. Si le client entre une mention qui ne respecte pas les
étapes du scénario conditions (moins de deux mots ou plus de quatre mots), un
principal message d'erreur s'affiche.
- 3a. Si aucune donnée n'est trouvée pour la mention entrée, le
système affiche un message indiquant qu'aucune donnée n'est
disponible.

Page 21/84
CHAPITRE 1 Cadre général

Scénarios - 3b. En cas de rupture de processus, un message d'alerte est


alternatifs affiché au client, qui peut soit terminer le processus, soit
quitter pour essayer une autre mention (Retour à l'étape 1) ou
tester une autre fonctionnalité.
Scénarios - 3c. Si une erreur survient lors de la collecte des données, un
d'erreur message d'erreur s'affiche, indiquant au client de réessayer
plus tard. Retour à l'étape 1.
- 9a. Si une erreur survient lors de l'affichage des graphiques,
un message d'erreur s'affiche et le client est invité à recharger
la page ou à contacter le support technique. Retour à l'étape 1.

1.4.3. Diagramme de cas d’utilisation détaillé : analyse SEO

Nom du cas Analyse SEO


d'utilisation
Description Ce cas d'utilisation permet au client d'analyser et d'améliorer les
performances SEO de son site web à l'aide de diverses
visualisations et métriques. Il peut vérifier les métriques de
domaine, consulter le classement des mots-clés ainsi que les
termes associés et obtenir les hashtags les plus efficaces pour
optimiser la visibilité de son contenu.
Acteurs Entreprises en ligne et e-commerce
Contexte Le système fournit des outils d'analyse SEO pour aider les clients
à optimiser leur présence en ligne et à suivre les performances de
leur site web.
Données en entrée et Données en entrée :
préconditions - Domaine (pour vérifier les métriques de domaine).
- Mots-clés (pour consulter le classement des mots-clés et
les mots similaires).
Préconditions : Le client doit être connecté au système et avoir
accès aux outils d'analyse SEO.
Données en sortie et Données en sortie :
postconditions - Graphiques présentant les métriques de domaine.

Page 22/84
CHAPITRE 1 Cadre général

- Classements des mots-clés et suggestions de mots-clés


similaires.
- Liste des hashtags optimisés pour le SEO par industrie.
Postconditions : le client peut visualiser et analyser les
performances SEO, obtenir des insights pour améliorer la visibilité
en ligne et ajuster leur stratégie de contenu en conséquence.
Scénario principal 1. Le client se connecte au système et accède à l'outil
d'analyse SEO.
2. Le client entre un domaine pour vérifier les métriques de
domaine.
3. Le système affiche les métriques de domaine.
4. Le client entre un mot-clé pour consulter le classement des
mots-clés et les mots similaires.
5. Le système affiche un graphique montrant le classement
des mots-clés et des suggestions de mots-clés similaires.
6. Le client clique sur une icône pour obtenir les hashtags
SEO.
7. Le système affiche une liste des hashtags optimisés pour le
SEO.
8. Le client utilise les insights obtenus pour améliorer la
visibilité de leur contenu en ligne.
Déviations des étapes - 2a. Si le domaine entré n'est pas valide, un message
du scénario principal d'erreur s'affiche et invite le client à entrer un domaine
valide.
- 4a. Si le mot-clé entré n'est pas trouvé, le système affiche
un message indiquant qu'aucune donnée n'est disponible
pour ce mot-clé.
Scénarios alternatifs - 3a. Si une rupture de processus survient lors de la
vérification des métriques de domaine, un message d'alerte
est affiché au client, qui peut soit réessayer, soit passer à
l'analyse des mots-clés.

Page 23/84
CHAPITRE 1 Cadre général

- 6a. Si une rupture de processus survient lors de l'obtention


des hashtags SEO, le client est invité à réessayer ou à
contacter le support technique.

1.4.4. Diagramme de cas d’utilisation détaillé : générer des textes optimisés

Nom du cas Générer des textes optimisés pour le SEO


d'utilisation
Description Ce cas d'utilisation permet au client de créer des textes optimisés
pour le SEO en entrant leur propre contenu et en choisissant une
couleur de fond. Le système génère des suggestions de texte
optimisé.
Acteurs Marketeurs de contenu et rédacteurs SEO
Contexte Le système fournit des outils pour aider les clients à créer du
contenu optimisé pour les moteurs de recherche, améliorant ainsi
la visibilité et l'attractivité de leur publications.
Données en entrée et Données en entrée :
préconditions - Texte initial du client.
- Couleur de fond.
Préconditions : le client doit être connecté au système et avoir
accès à l'outil de génération de contenu optimisés.
Données en sortie et Données en sortie :
postconditions - Textes optimisés pour le SEO avec le design proposé.
Postconditions : le client peut copier et utiliser les textes
optimisés pour améliorer la visibilité de leur contenu en ligne.
Scénario principal 1. Le client se connecte au système et accède à l'outil de
génération de contenu optimisés.
2. Le client entre leur texte initial et choisit une couleur de
fond.
3. Le système analyse le texte et propose des suggestions de
contenu optimisé pour le SEO.
4. Le client examine les suggestions et peut les modifier si
nécessaire.

Page 24/84
CHAPITRE 1 Cadre général

Déviations des étapes - 2a. Si le texte initial est vide ou ne respecte pas les
du scénario principal conditions requises, un message d'erreur s'affiche et invite
le client à entrer un texte valide.
- 3a. Si une rupture de processus survient lors de l'analyse du
texte, le client est invité à réessayer ou à contacter le
support technique.
Scénarios alternatifs - 3a. Si le client n'est pas satisfait des suggestions de contenu
optimisé, il peut modifier le texte initial et relancer
l'analyse.
Scénarios d'erreur - 2a. Si une erreur survient lors de l'entrée du texte initial, un
message d'erreur s'affiche et le client est invité à réessayer.
Retour à l'étape 2.

1.4.5. Diagramme de classe

Le diagramme illustre les différentes entités du système ainsi que leurs relations. Voici une
vue d'ensemble des principaux éléments :
Extracteur de contenu :
- Collecte des données à partir de sources telles que YouTube, Instagram, TikTok,
Twitter, Reddit, LinkedIn et Google.
- Extrait des informations en fonction d'une mention donnée (mot-clé, sujet, identifiant
d'utilisateur).
Analyseur de sentiment :
- Analyse le sentiment des données textuelles collectées (positif, négatif, neutre).
- Identifie les mots-clés pour comprendre les thèmes et sujets traités.
Analyseur SEO :
- Classement des mots-clés : adéquation des mots-clés avec un sujet ou un site web.
- Vérification des métriques de domaine (santé et performance d'un site web).
- Identification d’hashtag pertinents par industries.
Recommandation engine :
- Intègre les données collectées et analysées.
- Génère des recommandations personnalisées pour les utilisateurs.
Générateur de contenu :
- Génère du contenu basé sur l'analyse des données utilisateur et les recommandations.

Page 25/84
CHAPITRE 1 Cadre général

- Utilisez des méthodes comme le regroupement, la classification et la régression pour


analyser.

Figure 1.6 : Diagramme de classe

Conclusion
Au cours de ce chapitre, le projet a été établi dans son contexte global. Tout d'abord, nous
avons exposé le contexte professionnel en présentant l'organisme d'accueil, ESPRIT, puis
décrit la problématique. Nous avons également mis l'accent sur les besoins à satisfaire à
travers notre solution et évoqué les autres options possibles. Dans le prochain chapitre, nous
présenterons l'infrastructure, les méthodologies envisagées, ainsi que la première phase de la
méthodologie choisie.

Page 26/84
CHAPITRE 2 Compréhension du métier

Chapitre 2 : Infrastructure, Méthodologie


et Compréhension du métier

Introduction
Ce chapitre vise à explorer les aspects techniques et méthodologiques essentiels à la
réalisation du projet. Nous commencerons par décrire l'infrastructure qui soutient le projet, en
détaillant le cadre technique ainsi que les architectures logique et physique mises en place.
Ensuite, nous aborderons les différentes démarches de travail et méthodologies adoptées pour
garantir une approche structurée et efficace. Enfin, nous approfondirons la compréhension du
métier à travers l'analyse des systèmes de recommandation, les tendances actuelles du marché,
la comparaison des domaines concurrents, ainsi que le suivi en temps réel des mots-clés et la
génération de contenu. Ces éléments sont cruciaux pour s'assurer que la solution proposée soit
alignée avec les besoins du secteur et les exigences du projet.
2.1. Infrastructure
2.1.1. Cadre technique du travail
Notre système est conçu pour répondre aux besoins complexes de traitement et d'analyse
de données dans un environnement intégré et performant. Il vise à fournir une plateforme
scalable et sécurisée pour les équipes de données et d'analyse.
L'architecture de notre système est conçue pour optimiser le traitement et l'analyse des
données dans un environnement intégré et performant. Elle repose sur une combinaison de
technologies modernes pour assurer la scalabilité, la fiabilité et l'efficacité des processus.
Docker forme la base de notre infrastructure, permettant la conteneurisation et l'orchestration
des applications, assurant ainsi un déploiement fluide et une gestion efficace des ressources.
Le développement et l'intégration sont facilités par des outils tels que Visual Studio Code
et Google Colab, tandis que GitHub Actions automatise les workflows CI/CD. La gestion du
code et des projets est optimisée grâce à Git pour le versionnement et Jira pour le suivi des
tâches.
Pour le traitement et l'analyse des données, nous utilisons ElasticSearch pour l'indexation
et la recherche, Python avec ses bibliothèques pour l'analyse et la visualisation et Kibana pour
des visualisations interactives.

Page 27/84
CHAPITRE 2 Compréhension du métier

La sécurité du système est renforcée par Prometheus, qui surveille les performances et
détecte les anomalies.
Les API sont gérées et testées avec Postman, garantissant leur bon fonctionnement.
L'architecture de l'application web combine Django pour le backend avec Python pour la
logique métier et React pour une interface utilisateur dynamique et interactive.

Figure 2.1 : Architecture globale du système


2.1.2. Architecture logique
L'architecture de notre application repose sur la séparation des responsabilités entre le
frontend et le backend, ce qui facilite sa maintenance et son évolutivité.
Séparation des responsabilités :
- Frontend : le frontend est développé avec React, permettant un rendu efficace et une
interface utilisateur réactive.
- Backend : le backend utilise Django, offrant une structure bien définie et des outils
intégrés pour la gestion des bases de données, l'authentification et la sécurité.
Communication standardisée :
- API RESTful : nous utilisons une API RESTful pour garantir une communication
standardisée et efficace entre le frontend et le backend. Cette approche assure une
interaction harmonieuse et cohérente entre les divers composants de l'application.
Choix des frameworks :
React :
- Performances élevées : React est reconnu pour ses performances et son rendu
efficace des composants d'interface utilisateur.

Page 28/84
CHAPITRE 2 Compréhension du métier

- Facilité de développement : la simplicité de développement et de maintenance de


React permet de gérer facilement les composants d'interface.
- Communauté et écosystème : React bénéficie d'une large communauté et d'un
écosystème riche en outils et bibliothèques.
Django :
- Structure définie : django offre une structure bien définie avec des conventions
claires, facilitant le développement.
- Outils intégrés : il inclut des outils intégrés pour la gestion des bases de données,
l'authentification, la sécurité et l'administration.
- Écosystème étendu : django dispose d'un large écosystème de packages et de
bibliothèques, offrant de nombreuses possibilités d'extension.

Figure 2.2 : Architecture Logique


Avantages de l'architecture :
- Maintenabilité : la séparation claire des responsabilités entre le frontend et le
backend facilite la maintenance et l'évolution de l'application.
- Évolutivité : l'utilisation de frameworks robustes et de pratiques de développement
standardisées assure une évolutivité efficace.
- Sécurité : Django offre des outils intégrés pour gérer la sécurité, garantissant une
protection adéquate des données et des utilisateurs.
2.1.3. Architecture physique

Page 29/84
CHAPITRE 2 Compréhension du métier

L'architecture physique représente comment les composants logiciels sont déployés sur des
machines physiques. Dans notre projet, nous avons utilisé Docker pour gérer et déployer nos
conteneurs. Voici les détails de l'architecture physique :

Figure 2.3 : Architecture Physique


Docker host :
Machine locale : notre machine locale sert de Docker Host, où Docker Desktop est installé.
Cette machine exécute tous les conteneurs Docker nécessaires pour notre application.
Conteneurs Docker :
Nous avons utilisé Docker Compose pour créer et gérer plusieurs conteneurs Docker sur
notre machine locale. Chaque conteneur correspond à une partie spécifique de l'application :
- Front Office : déployé dans un conteneur Docker et accessible via le port 3000.
- Back Office : déployé dans un conteneur Docker distinct et accessible via le port
3002.
- Backend : l'application backend est déployée dans un conteneur Docker et accessible
via les ports 9008 :8000.
- Base de données : déployée dans un conteneur Docker, elle est accessible via les
ports 9200 :9200 et 9300 :9300.
Réseau interne (network) :
Les conteneurs Docker communiquent entre eux via un réseau interne, isolé du reste de la
machine, ce qui améliore la sécurité et la gestion des dépendances.

Page 30/84
CHAPITRE 2 Compréhension du métier

En résumé, notre architecture physique utilise une machine locale comme Docker Host, avec
plusieurs conteneurs docker pour chaque composant de l'application. Cette méthode présente
des bénéfices notables en matière de gestion, de sécurité et de portabilité.

2.2. Démarche de travail et méthodologies


Adopter une méthodologie bien définie permet à un projet d'obtenir des évaluations plus
élevées, de livrer des systèmes fiables, de tenir le client informé. Cette section présente
diverses méthodes de travail, leurs avantages et leurs limites et explique la motivation derrière
l'approche choisie.
2.2.1. KDD
Le processus de découverte de connaissances dans les bases de données (KDD) utilise
diverses techniques d'exploration de données pour extraire des connaissances à partir de bases
de données. Il évolue de manière continue à travers les différentes étapes illustrées la figure.
[6]

Figure 2.4 : Processus KDD


- Sélection : définir un ensemble de données cible ou un sous-ensemble d'échantillons à
analyser.
- Pré-traitement : préparer les données sélectionnées pour l'analyse. Cela inclut la
gestion des données manquantes, la correction des erreurs et la normalisation des
valeurs pour garantir que les données sont fiables et prêtes pour les étapes suivantes.
- Transformation : modifier les données pour les rendre plus adaptées à l'analyse.
- Data Mining : l'exploration de données proprement dite. Il s'agit de rechercher des
modèles significatifs dans les données.

Page 31/84
CHAPITRE 2 Compréhension du métier

- Interprétation/évaluation : analyser et évaluer les résultats obtenus à partir de


l'exploration de données.
2.2.2. SEMMA
Le processus SEMMA [7] décrit les étapes clés de la mise en œuvre d'un projet
d'exploration de données. Selon le SAS Institute, la méthode SEMMA comprend cinq étapes,
comme illustrée cette figure :

Figure 2.5 : Processus SEMMA


- Échantillonnage : cette étape consiste à prélever une partie d'un large ensemble de
données.
- Explorer : les données sont examinées en profondeur pour en tirer des conclusions et
mieux comprendre les patterns et tendances.
- Modification : cette étape implique de transformer les données en créant,
sélectionnant et ajustant les variables afin de préparer le processus de modélisation.
- Modélisation : les données sont représentées de manière que le programme puisse
identifier automatiquement les combinaisons qui prédisent de manière fiable le résultat
souhaité.
- Évaluer : enfin, les résultats obtenus sont évalués pour déterminer leur utilité et leur
fiabilité.
2.2.3. CRISP-DM
CRISP-DM, a été développé par IBM dans les années 1960 pour guider et mener à bien
des projets d'exploration de données. Ce modèle décrit les étapes typiques d'un projet de Data
Mining, les tâches associées à chaque étape et les relations entre ces tâches. En tant que

Page 32/84
CHAPITRE 2 Compréhension du métier

modèle de processus, CRISP-DM offre une vue d'ensemble du cycle de vie de l'exploration de
données, composé de six étapes avec des instructions détaillées. CRISP-DM est conçu pour
être flexible et adaptable, comme le montre la figure [8] :

Figure 2.6 : Processus CRISP-DM


Les 6 phases de la méthode sont les suivantes :
- Compréhension du métier : cette première étape consiste à définir les objectifs de
l'entreprise à travers le projet.
- Compréhension des données : à ce stade, les données sont recueillies et une première
investigation est menée pour en fournir une version préliminaire.
- Préparation des données : cette étape inclut tous les traitements nécessaires sur les
données.
- Modélisation : cette phase concerne la création et la configuration des modèles.
- Évaluation : vérifier si les modèles répondent aux objectifs définis, ajuster si
nécessaire et s'assurer qu'ils sont prêts pour le déploiement.
- Déploiement : la dernière étape consiste à mettre les modèles en production.
2.2.4. Comparaison et méthodologie adoptées
Dans cette section, nous allons procéder à une analyse comparative des différentes
méthodologies de travail mentionnées précédemment pour déterminer la meilleure approche
pour notre projet. Nous allons commencer par examiner les correspondances et les différences
entre les diverses méthodes afin de guider notre choix.
Tableau comparatif des méthodologies de travail

Page 33/84
CHAPITRE 2 Compréhension du métier

Tableau 2.1 : Tableau comparatif des méthodologies de travail


Méthodologies KDD SEMMA CRISP-DM
Nombre de 7 5 6
phases
Nom de phase Développement d’une -------- Compréhension
connaissance du domaine du métier
d’application
Sélection des données Échantillonnage Compréhension

Pré-traitement des données Exploration des données

Transformation des Modification Préparation des


données données
Fouille des données Modèle Modélisation
Interprétation / évaluation Évaluation Évaluation
Application des -------- Déploiement
connaissances découvertes

En examinant ce tableau, il devient clair que ces trois méthodologies présentent des
similitudes dans la séquence des phases et les tâches associées. Cependant, CRISP-DM se
distingue particulièrement par l'importance accordée à la phase initiale de compréhension
du métier.
Concernant la popularité, une enquête menée par la plateforme datascience-pm en 2020 [9]
a révélé que la majorité des datascience-pm privilégient CRISP-DM comme méthode de
travail. Cette Figure montre les choix de méthodologies parmi l'échantillon étudié.

Figure 2.7 : Méthodes répandues pour l'exécution de projets de Data Science

2.2.5. Méthodologie choisie : CRISP-DM

Page 34/84
CHAPITRE 2 Compréhension du métier

La méthode choisie pour notre projet est CRISP-DM. Cette approche commence par une
compréhension approfondie de l'activité, ce qui permet d'aligner le travail technique avec les
besoins de l'entreprise et d'éviter que les experts en données ne se lancent dans une tâche sans
saisir pleinement les objectifs de l'entreprise. De plus, la phase de mise en place aborde des
questions fondamentales pour la conclusion du projet ainsi que pour la transition vers la
maintenance et l'exploitation.
2.3. Compréhension du métier
2.3.1. Système de recommandation
Définition et importance :
Les recommandations numériques consistent à fournir du contenu, des produits ou des
services aux utilisateurs en fonction de leurs actions, préférences et interactions passées. Ces
systèmes de recommandation sont essentiels pour 'améliorer l'expérience utilisateur' et
accroître l'engagement sur la plateforme.
Objectifs métiers : personnaliser les recommandations en fonction des groupes d'utilisateurs
similaires.
Objectifs de data science : Pour atteindre cet objectif métier, voici comment nous pouvons le
traduire en tâches de data science :
- Tâche de data science : utiliser des algorithmes de clustering pour segmenter les
descriptions des postes d’utilisateurs en groupes homogènes.
Apprentissage non supervisé et non labellisé :
- Clustering : étant donné que les données ne sont pas étiquetées et que l'objectif est de
découvrir des groupes d'utilisateurs similaires, le clustering est une méthode
appropriée.
Algorithmes utilisés : Kmeans, KMedoids, Agglomerative, DBSCAN et OPTICS.
Nature des données : Les données utilisées dans cette tâche incluent à la fois des données
qualitatives et quantitatives :
- Qualitative : text, type, author, source, source_link, mention, mentions_texts,
hashtags_texts, description.
- Quantitative : user_id, nbr_mentions, nbr_hashtags, likes.
- Date : date.
En traduisant les 'objectifs métier' en 'objectifs de data science' et en utilisant le
clustering pour segmenter les utilisateurs, nous pouvons créer un système de recommandation
qui personnalise les suggestions de contenu en fonction des comportements et des préférences

Page 35/84
CHAPITRE 2 Compréhension du métier

des utilisateurs. Cette approche non supervisée et non labellisée est particulièrement adaptée à
la nature des données disponibles et aux objectifs de notre projet.
2.3.2. Topics Chart "Tendances actuelles du marché"
Définition et importance :
L'analyse des hashtags est importante pour les entreprises qui veulent être plus 'visibles'
sur les réseaux sociaux. En trouvant les 'bons hashtags', les entreprises peuvent améliorer
leur contenu et atteindre plus de personnes.
Objectifs métiers
- Objectif Principal : Identifier les hashtags les plus efficaces pour différentes
industries.
- Questions Clés :
- Quel est le but principal de l'analyse de ces données de hashtags ?
 Réponse : C'est pour planifier du contenu efficace et atteindre plus de
personnes en utilisant les bons hashtags.
- Quelles sont les actions ou insights attendus de cette analyse ?
 Réponse : Cela nous permet de rester à jour avec les dernières
tendances et de planifier du contenu qui plaît au public.
Objectifs de data science : Pour atteindre nos objectifs, nous devons faire certaines tâches de
data science. Voici ce que cela implique :
- Classification : Identifier les hashtags qui ne sont pas liés à une industrie en
particulier en utilisant des modèles de classification comme 'Random Forest',
'XGBoost', ' Logistic regression'.
Type d'Apprentissage :
- Apprentissage Supervisé (Classification) : Classifier les hashtags non
étiquetés en utilisant des modèles entraînés sur des hashtags avec des étiquettes
d'industrie existantes. Voici la liste des Algorithmes Utilisés : Random Forest,
XGBoost, Logistic Regression.
Nature des données :
- Qualitatives : Nom du pays (country_name), Industrie (Industry), Hashtag
(hashtag), Type de tendance (trend_type), Nouveauté (is_new).
- Quantitatives : Nombre de vues vidéo (video_views), Nombre de publications
(publish_count).
2.3.3. Top Competitors "Comparaison des domaines pairs"

Page 36/84
CHAPITRE 2 Compréhension du métier

Définition et importance :
La comparaison des domaines pairs consiste à analyser les similarités et différences entre
différents sites web, en se basant sur plusieurs indicateurs clés tels que 'les backlinks',
'l'autorité du domaine', 'l'autorité de la page', et 'le score de spam'. Cette analyse est
fondamentale pour évaluer la performance relative d'un site par rapport à ses concurrents,
identifier des opportunités d'amélioration, et optimiser les stratégies de référencement naturel
(SEO).
Objectifs métiers :
- Objectif Principal : Identifier les domaines similaires et établir des 'benchmarks'
pour améliorer le référencement et la visibilité en ligne.
- Questions Clés :
- Quels sont les sites les plus similaires au nôtre en termes de backlinks et
d'autorité de domaine ?
- Quels sont les scores de spam des sites concurrents, et comment se
positionnent-ils par rapport au nôtre ?
- Comment optimiser notre stratégie SEO en fonction des performances des sites
similaires ?
Objectifs de data science :
- Clustering : Le but est de regrouper les domaines en clusters basés sur des
caractéristiques similaires pour une analyse comparative approfondie.
Type d'Apprentissage :
- Apprentissage Non Supervisé (clustering) : Le clustering est utilisé pour regrouper
des données similaires sans étiquettes préalablement définies, permettant ainsi de
découvrir des structures ou des modèles cachés au sein des données.
Nature des données :
- Qualitatives : Site.
- Quantitatives : TotalBacklinks, Domain_authority, Page_authority, et Spam_score.
2.3.4. Keyword In Real Time "Suivi des Mots-Clés en Temps Réel"
Définition et Importance :
La surveillance des mots-clés en temps réel est devenue une nécessité pour les entreprises
cherchant à optimiser leur présence en ligne. En comprenant les tendances des mots-clés et
leur compétitivité, les entreprises peuvent ajuster leurs stratégies de contenu pour maximiser
leur visibilité et leur efficacité.
Objectifs Métiers :
Page 37/84
CHAPITRE 2 Compréhension du métier

- Objectif Principal : L'objectif principal de cette tâche est d'exploiter les données de
mots-clés en temps réel pour identifier des groupes de mots-clés similaires, facilitant
ainsi la prise de décision stratégique en matière de marketing digital.
- Questions Clés :
- Quels sont les niveaux de compétition des mots-clés dans chaque catégorie ?
- Quels mots-clés présentent le meilleur potentiel de performance en termes de
volume et de tendances ?
- Comment les entreprises peuvent-elles adapter leur stratégie en fonction des
clusters de mots-clés identifiés ?
Objectifs de Data Science : L'objectif de data science est de regrouper les "mots-clés" en
clusters homogènes pour mieux comprendre les relations entre différentes variables, telles que
le volume de recherche, le niveau de compétition et les tendances. En appliquant des
techniques de clustering, on peut extraire des informations clés qui aideront à optimiser les
stratégies de contenu et de marketing.
Type d'Apprentissage :
- Apprentissage Non Supervisé (Clustering) : L'apprentissage non supervisé, en
particulier le clustering, est utilisé pour regrouper les mots-clés selon leurs
caractéristiques communes.
Nature des Données : Les données utilisées dans cette tâche sont un mélange de variables
qualitatives et quantitatives, ce qui nécessite une approche hybride pour leur traitement.
Qualitatives : Competition_level, et Text.
Quantitatives : Volume, Trend, Competition_index, Low_bid, et High_bid.
2.3.5. Génération de contenu
Définition et importance : L'objectif de cette tache c’est de développer et d'optimiser un
modèle de génération de contenu marketing à partir de données clés du marketing digital. En
exploitant un 'modèle NLP' (comme GPT-2), l'entreprise vise à automatiser la création de
contenu pertinent et optimisé pour le SEO. Cette tache contribue à améliorer la visibilité en
ligne, à générer un engagement plus fort et à optimiser les campagnes publicitaires basées sur
les mots-clés.
Objectifs métiers :
- Comment le contenu généré sera-t-il utilisé ? (Blog posts, campagnes par email,
publicités)
- Quels indicateurs de performance métier (SEO, engagement, taux de conversion)
seront améliorés grâce à un contenu de meilleure qualité ?
Page 38/84
CHAPITRE 2 Compréhension du métier

- Quelle est la qualité souhaitée pour les résultats ? (En termes de créativité, fluidité, et
pertinence pour le domaine marketing)
Objectifs de data science :
- Objectif Métier : Générer un contenu marketing pertinent basé sur les mots-clés, le
volume de recherche et le coût par clic (CPC), afin de maximiser l'impact des
stratégies de contenu numérique et des campagnes SEO.
- Tâche de data science : Fine-tuning d'un modèle GPT-2 pour produire un texte
généré automatiquement à partir de données structurées de mots-clés, avec une
optimisation des hyperparamètres pour obtenir un texte à la fois pertinent et fluide.
Nature des données :
Les données sont structurées autour des informations suivantes :
- Qualitative : Keyword (string).
- Quantitative : Search Volume (numérique), et CPC (numérique).
Conclusion
Ce chapitre a permis de poser les bases techniques et méthodologiques du projet. Nous
avons détaillé l'infrastructure, en décrivant le cadre technique ainsi que les architectures
logique et physique. Ensuite, nous avons précisé la démarche de travail et les méthodologies
adoptées pour une mise en œuvre structurée et efficace. Enfin, la compréhension du métier a
été approfondie à travers l'analyse des systèmes de recommandation, des tendances du
marché, de la concurrence, ainsi que le suivi en temps réel des mots-clés et la génération de
contenu.
Dans le prochain chapitre, nous nous concentrerons sur la compréhension et la préparation
des données. Nous aborderons les étapes clés pour collecter, nettoyer et structurer les données
nécessaires à la réalisation du projet, afin de garantir leur qualité et leur pertinence pour les
analyses à venir.

Page 39/84
CHAPITRE 3 Compréhension et Préparation des Données

Chapitre 3 : Compréhension et Préparation


des Données
Introduction
Ce chapitre se concentre sur la compréhension et la préparation des données essentielles
pour notre projet. Nous commencerons par examiner les différentes sources de données, telles
que celles relatives au système de recommandation, aux tendances actuelles du marché, à la
comparaison des domaines concurrents, au suivi des mots-clés en temps réel, et à la
génération de contenu.
Ensuite, nous aborderons la préparation des données, en décrivant les étapes de nettoyage,
de transformation et de structuration nécessaires pour garantir leur qualité. Une bonne
préparation des données est important pour que les analyses et les modèles soient efficaces et
pertinents.
3.1. Compréhension des données
Avant de pouvoir gérer et analyser les données, il est évident de bien comprendre les
différents types et caractéristiques des données disponibles. Cette compréhension initiale
guide les étapes de préparation et assure que les méthodes utilisées sont appropriées et
adaptées aux spécificités des données.
3.1.1. Données de 'Système de recommandation'
Nous collectons des données de recommandation numérique à partir de plusieurs
plateformes de médias sociaux, dont TikTok, Twitter, LinkedIn, YouTube, Instagram, Reddit
et Google. Ces informations sont essentielles pour développer des recommandations en ligne
personnalisées, basées sur les préférences et les comportements des utilisateurs sur ces
différentes plateformes.
Processus de collecte des données :
- Utilisation d'API pour collecter les statuts : pour récupérer des publications
d'utilisateurs contenant des mots-clés spécifiques, nous exploitons les API propres à
chaque plateforme. Par exemple, nous utilisons l'API Twitter pour rechercher des

Page 40/84
CHAPITRE 3 Compréhension et Préparation des Données

tweets contenant des termes particuliers et l'API Instagram pour explorer des
publications pertinentes sur cette plateforme.
- Extraction des utilisateurs : après avoir recueilli les publications, nous identifions les
utilisateurs à l'origine de ces contenus. Cette étape est fondamentale pour obtenir des
informations plus précises sur ces utilisateurs, ce qui nous aide à mieux comprendre
leur influence et leur impact.
- Collecte des publications des utilisateurs : pour extraire les publications des
utilisateurs identifiés, nous utilisons une API dédiée. Cette démarche nous permet
d'obtenir des informations détaillées sur les types de contenus qu'ils publient
régulièrement.
- Récupération des données de profil : nous collectons également des données sur les
profils des utilisateurs, telles que leur nom, la description de leur statut, le nombre de
partages et les liens vers leurs publications. Ces informations nous aident à
contextualiser les articles et à évaluer leur potentiel d'impact.
Les données collectées :
Pour créer un système de recommandation efficace, nous avons rassemblé diverses
données pertinentes provenant de plusieurs sources. Cela inclut des informations sur les
utilisateurs, leurs interactions avec le contenu, ainsi que les métadonnées associées. Voici un
aperçu des données que nous avons collectées :
- Text (string) : contenu textuel des publications, commentaires, etc.
- Type (string) : type de contenu (article, commentaire, blog, etc.).
- Author (string) : auteur du contenu.
- Source (string) : origine ou plateforme du contenu (site web, réseau social, etc.).
- Source_link (string) : lien vers la source du contenu.
- Mention (string) : mentions dans le contenu (utilisateurs, sujets, etc.).
- Mentions_texts (string) : textes associés aux mentions.
- Hashtags_texts (string) : textes associés aux hashtags.
- User_id (numérique) : identifiant unique de l'utilisateur.
- Nbr_mentions (numérique) : nombre de mentions dans le contenu.
- Nbr_hashtags (numérique) : nombre de hashtags dans le contenu.
- Date (date) : date de création ou de publication du contenu.
- Likes (numérique) : nombre de "likes" ou d'appréciations reçus.
- Description (string) : description ou résumé du contenu.

Page 41/84
CHAPITRE 3 Compréhension et Préparation des Données

Les données utilisées : Parmi toutes les données que nous avons collectées, certaines
variables se révèlent particulièrement nécessaires pour nos tâches de modélisation et
d'analyse. Voici les données que nous utilisons pour la création de contenu : Description.
3.1.2. Données de 'Tendances actuelles du marché'
Dans cette section, nous présentons les données collectées pour analyser les tendances
actuelles du marché. Ces données sont essentielles pour identifier les hashtags les plus
efficaces par secteur d'activité et pour optimiser la stratégie de contenu sur les réseaux
sociaux.
Les données collectées : Voici un aperçu des données que nous avons collectées :
- Video_views (Quantitatif) : Nombre de vues des vidéos associées à chaque hashtag.
- Country_name (Qualitatif) : Nom du pays où l’hashtag est le plus utilisé.
- Industry (Qualitatif) : Secteur d'activité auquel l’hashtag est associé.
- Hashtag (Qualitatif) : Hashtag lui-même.
- Publish_count (Quantitatif) : Nombre de publications utilisant cet hashtag.
- Trend_type (Qualitatif) : Type de tendance (up pour une tendance ascendante, down
pour une tendance descendante).
- Is_new (Qualitatif) : Indique si l’hashtag est nouveau ou non.
Les données utilisées : Parmi toutes les données que nous avons collectées, certaines
variables se révèlent particulièrement nécessaires pour nos tâches de modélisation et
d'analyse. Voici les données que nous utilisons pour la création de contenu : Video_views,
Publish_count, et Industry.
3.1.3. Données de 'Comparaison des domaines pairs'
Dans cette section, nous présentons les données collectées pour analyser la comparaison
des domaines pairs. Ces données sont essentielles pour identifier les similitudes et les
différences entre les domaines en termes d'autorité, de backlinks, et d'autres métriques clés.
L'objectif est d'optimiser les stratégies SEO en comprenant comment les domaines
performants se distinguent et en appliquant ces apprentissages à d'autres sites.
Les Données Collectées : Les données collectées incluent les métriques suivantes pour
chaque domaine :
- TotalBacklinks : Le nombre total de backlinks pointant vers le domaine.
- Domain_authority : L'autorité du domaine, une mesure de la crédibilité et de
l'influence du domaine.

Page 42/84
CHAPITRE 3 Compréhension et Préparation des Données

- Page_authority : L'autorité de la page, indiquant la qualité d'une page spécifique sur


le domaine.
- Spam_score : Un score indiquant le niveau de spam associé au domaine.
- Site : Le nom du domaine lui-même, utilisé pour l'identification.
Les Données Utilisées : Les données utilisées dans cette analyse proviennent des métriques
suivantes : TotalBacklinks, Domain_authority, Page_authority, et Spam_score.
Chaque métrique joue un rôle important dans l'évaluation globale de la performance d'un
domaine et est utilisée pour effectuer des comparaisons pertinentes entre les domaines pairs.
3.1.4. Données 'd’Suivi des Mots-Clés en Temps Réel '
Les Données Collectées : Les données collectées pour cette tâche incluent plusieurs variables
essentielles liées à l'analyse des mots-clés en temps réel :
- Volume : Le volume de recherche pour chaque mot-clé, un indicateur clé de sa
popularité.
- Trend : La tendance actuelle du mot-clé, qui montre s'il est en croissance ou en
déclin.
- Competition_index : Un indice quantitatif qui mesure la compétitivité d’un mot-clé
par rapport aux autres.
- Low_bid : Le montant minimal que les annonceurs sont prêts à payer par clic pour un
mot-clé.
- High_bid : Le montant maximal par clic, reflétant la valeur du mot-clé sur le marché.
- Competition_level : Le niveau de compétition, catégorisé en 'High', 'Medium',
'Low', et 'Unspecified'.
- Texte (mots-clés) : Le contenu textuel des mots-clés, qui constitue la base de
l'analyse.
Les Données Utilisées : Dans cette tâche, le clustering est principalement appliqué aux
variables quantitatives. Les variables 'Volume', 'Trend', 'Competition_index', 'Low_bid',
et 'High_bid' sont utilisées pour regrouper les mots-clés en clusters similaires. Ces données
permettent de détecter des patterns et des groupes de mots-clés partageant des caractéristiques
communes, facilitant ainsi une analyse plus approfondie.
3.1.5. Données de 'Génération de contenu'
Pour générer du contenu optimisé, il est crucial de disposer de données pertinentes et bien
structurées. Ces informations sont essentielles pour créer des textes offrant une grande valeur

Page 43/84
CHAPITRE 3 Compréhension et Préparation des Données

en matière de SEO et pour améliorer la visibilité en ligne. Le processus de collecte et les types
de données utilisés sont décrits ci-dessous.
Processus de collecte des données :
- Utilisation d'API pour collecter les données SEO : Nous utilisons des API comme
RapidAPI et SEMrush pour récupérer des données SEO en fonction de mots-clés
spécifiques. Ces API fournissent des informations sur le volume de recherche, le coût
par clic (CPC), ainsi que d'autres métriques pertinentes. Voici un exemple de données
collectées : Keyword ("description", "explications", "mots descriptifs"), Search
Volume (90 500, 49), CPC (1,54 €, 0 €, 0,01€).
- Extraction des mots-clés et des métriques associées : Nous extrayons des mots-clés
pertinents ainsi que les volumes de recherche et les CPC associés pour analyser la
compétitivité et la valeur de chaque mot-clé.
Les Données collectées : Pour créer du contenu optimisé, nous collectons les données
suivantes à partir des API et d'autres sources externes :
- Keyword (string) : les mots-clés pour lesquels le contenu est optimisé.
- Search volume (numérique) : le volume de recherche mensuel pour chaque mot-clé.
- CPC (numérique) : le coût par clic pour chaque mot-clé.
Les Données utilisées : Parmi les données collectées, les variables spécifiques utilisées pour
la tâche de génération de contenu optimisé sont : Keyword, Search volume, et CPC.
3.2. Préparation des données
La préparation des données est une étape fondamentale dans tout projet de science des
données. Il est indispensable de transformer les données brutes en un format utilisable pour
les algorithmes de modélisation et d'analyse. Ce processus comporte plusieurs étapes
nécessaires pour garantir que les données sont prêtes à être exploitées efficacement.
3.2.1. Système de recommandation digitale
La sélection des caractéristiques :
Il est nécessaire d'identifier et de sélectionner les variables les plus pertinentes pour notre
analyse afin de définir les caractéristiques du modèle. Cette étape permet de réduire la
complexité du modèle tout en améliorant ses performances.
Nettoyage des données :
Le nettoyage des données est une étape fondamentale dans l'analyse des données. Il
consiste à identifier et à traiter les valeurs manquantes, ainsi qu'à éliminer les valeurs
aberrantes.

Page 44/84
CHAPITRE 3 Compréhension et Préparation des Données

Les valeurs manquantes : l'absence de valeurs dans un ensemble de données peut affecter
les conclusions et les insights que l'on peut en tirer. Pour résoudre ce problème, nous
utilisons diverses techniques d'imputation afin de compléter ou d’estimer les valeurs
manquantes et ainsi maintenir l'intégrité de l'analyse.
- Imputation par la moyenne : cette méthode implique de substituer les valeurs
manquantes par la moyenne des valeurs non manquantes dans une variable ou un
vecteur correspondant.
- La méthode d'imputation médiane : cette méthode consiste à substituer les
valeurs manquantes d'une caractéristique par la valeur médiane des observations
non manquantes de cette caractéristique.
- Imputation par la valeur la plus fréquente : Les valeurs manquantes sont
remplacées par les valeurs les plus fréquentes dans chaque colonne d'un ensemble
de données lors de l'imputation par la valeur la plus fréquente.
Pour assurer la qualité et la fiabilité de nos données avant de passer aux étapes de
modélisation et d'analyse avancée, nous appliquons diverses techniques d'imputation aux
données de recommandations numériques.
Construction de l’ensemble de données :
La prochaine étape consiste à combiner les différentes sources de données et à structurer
l'ensemble de données final pour la modélisation. Cela implique de :
- L'intégration des données consiste à rassembler les informations provenant de
différentes sources pour former un ensemble de données homogène.
- Transformer ces données pour les rendre utilisables, en procédant à des opérations
comme la normalisation et la vectorisation. Par exemple, on peut utiliser Word2Vec
pour convertir les données textuelles en vecteurs.
Word2Vec : est un procédé d'intégration qui convertit les mots en vecteurs denses. Cette
approche permet de capturer les liens sémantiques entre les mots en utilisant un vecteur pour
chaque mot dans un espace continu.
Visualisation des données :
Afin d'approfondir notre compréhension de la structure des données et des résultats du
clustering, nous avons utilisé des méthodes de réduction de taille et de visualisation :
- PCA : nous avons employé le PCA afin de diminuer la dimensionnalité des données
tout en maintenant une variance maximale. Grâce à cela, nous avons pu représenter les
données dans un espace de dimensions plus réduites et observer les clusters créés par
les algorithmes de clustering.

Page 45/84
CHAPITRE 3 Compréhension et Préparation des Données

- T-SNE : t-SNE a également été utilisé pour réduire les dimensions non linéaires. La
visualisation des structures complexes dans des données à grande échelle est
particulièrement bénéfique grâce à t-SNE, qui permet de représenter les relations entre
les points de données dans un espace de plus faible dimension, ce qui est essentiel
pour évaluer la qualité des clusters.
Il est essentiel d'utiliser ces techniques de visualisation afin d'interpréter les résultats du
clustering, repérer des patterns et ajuster les paramètres des modèles si besoin.
3.2.2. Tendances actuelles du marché
Pour analyser les tendances actuelles du marché, nous avons préparé et nettoyé les données
en suivant un processus rigoureux afin de garantir leur qualité et leur pertinence pour les
analyses ultérieures. Voici les principales étapes de la préparation des données :
- Conversion en DataFrame : Les données collectées ont été converties en un
DataFrame pandas pour une manipulation et une analyse facilitées.
- Gestion des Valeurs Manquantes :
o Identification et Imputation des Valeurs Manquantes : Nous avons d'abord
identifié les valeurs manquantes dans les colonnes 'is_new' et 'industry'. Les
valeurs manquantes dans la colonne 'industry' ont été imputées avec une
valeur par défaut ('Unknown'). La présence de valeurs manquantes dans
industry a été marquée dans une colonne auxiliaire 'industry_missing'.
o Exclusion des Enregistrements Critiques : Les lignes avec des valeurs
manquantes critiques ou des attributs invalides ont été supprimées pour éviter
toute distorsion dans les résultats.
- Visualisation des Relations entre les Caractéristiques : Avant de préparer les
données pour l'apprentissage automatique, nous avons examiné la corrélation entre les
caractéristiques numériques pour mieux comprendre les relations au sein de notre jeu
de données. La matrice de corrélation permet d'identifier les dépendances linéaires et
les redondances entre les variables.
- Encodage des Colonnes Catégorielles : Les colonnes catégorielles, notamment
'country_name', 'industry', 'trend_type', et 'is_new', ont été encodées en variables
binaires (one-hot encoding) pour permettre une analyse efficace avec les modèles de
machine learning.
- Préparation des Données pour l'Apprentissage Automatique

Page 46/84
CHAPITRE 3 Compréhension et Préparation des Données

o Séparation des Données Connues et Inconnues : Les données ont été


séparées en deux ensembles : les données avec des industries connues et celles
avec des industries inconnues ('industry_Unknown').
o Filtrage des Classes : Les classes avec un nombre insuffisant d'échantillons
ont été filtrées avant l'encodage. Seules les classes avec un minimum de deux
échantillons ont été conservées pour l'analyse.
o Définition des Caractéristiques et de la Variable Cible : Les caractéristiques
('X') ont été définies en excluant les colonnes d'industrie et en sélectionnant
uniquement les variables numériques. La variable cible ('y') a été déterminée
en utilisant l'encodage des classes d'industrie.
- Séparation du Jeu de Données en Ensembles d’Entraînement et de Test : Les
données ont été divisées en ensembles d’entraînement et de test à l'aide d'un split
stratifié pour maintenir la proportion des classes dans les deux ensembles. Cette
division a été réalisée en utilisant 'StratifiedShuffleSplit'.
- Gestion des Classes Déséquilibrées : Un sur-échantillonnage des classes minoritaires
a été effectué à l'aide de 'RandomOverSampler' pour équilibrer les classes avant
l'entraînement du modèle.
3.2.3. Comparaison des domaines pairs
Nettoyage et Préparation des Données : Pour garantir une analyse correcte et fiable des
données, les étapes suivantes ont été réalisées :
- Remplacement des Valeurs Manquantes et Conversion en Entiers pour
'spam_score' : Les valeurs manquantes dans la colonne 'spam_score' ont été
remplacées par 0, une décision justifiée par l'hypothèse que l'absence de score pourrait
être interprétée comme une absence de spam. Ensuite, la colonne a été convertie en
entiers pour garantir la cohérence des types de données, facilitant ainsi l'utilisation des
données dans les algorithmes de clustering.
- Sélection des Caractéristiques pour le Clustering : Les caractéristiques
sélectionnées pour le clustering sont 'totalBacklinks', 'domain_authority',
'page_authority', et 'spam_score'. Ces caractéristiques ont été choisies pour leur
pertinence dans la segmentation des données.
- Normalisation des Caractéristiques pour le Clustering : Les caractéristiques ont été
normalisées à l'aide du 'StandardScaler', qui applique une normalisation z-score.
Cette méthode a été choisie pour éviter que des métriques avec des échelles différentes

Page 47/84
CHAPITRE 3 Compréhension et Préparation des Données

ne dominent le clustering, assurant ainsi une contribution équitable de chaque


caractéristique.
Visualisation des Données :
Pour mieux comprendre la distribution des données, plusieurs visualisations ont été créées :

Figure 3.1 : Histogrammes


- Analyse des Histogrammes :
o Distribution des backlinks totaux : La distribution est fortement décalée vers
la gauche, la majorité des sites ayant un nombre relativement faible de
backlinks.
o Distribution des scores d'autorité de domaine : La distribution est
également décalée vers la gauche, avec une majorité de sites ayant une autorité
de domaine relativement faible.
o Distribution des scores d'autorité de page : La distribution est plus
homogène, avec quelques sites affichant des scores très élevés.
o Distribution des scores de spam : La distribution est décalée vers la gauche,
la majorité des sites ayant un score de spam relativement faible.

Page 48/84
CHAPITRE 3 Compréhension et Préparation des Données

Figure 3.2 : Boxplot


- Analyse des Boxplots :
o Backlinks Totaux : La distribution est étendue, avec la majorité des pages
ayant un nombre modéré de backlinks, mais quelques-unes en ont un nombre
extrêmement élevé, créant des valeurs aberrantes.
o Autorité de Domaine : La plupart des domaines ont une autorité élevée (entre
80 et 100), avec une faible dispersion, sauf pour quelques valeurs aberrantes en
dessous de 60.
o Autorité de Page : Les pages montrent une autorité principalement située
entre 70 et 90, avec quelques exceptions en dessous de 60.
o Score de Spam : La majorité des pages ont un score de spam faible (inférieur
à 10), bien que certaines aient des scores significativement plus élevés,
dépassant 40.

Page 49/84
CHAPITRE 3 Compréhension et Préparation des Données

Figure 3.3 : Scatter Plots


- Analyse des Scatter Plots :
o Corrélation Positive : On trouve une corrélation positive entre l'autorité de
domaine et l'autorité de page. Cela signifie, plus l'autorité de domaine est
élevée, plus l'autorité de page est élevée.
o Groupement des Points : Les points sont principalement regroupés dans la
partie supérieure droite du graphique, indiquant que les domaines avec une
autorité élevée ont aussi des pages avec une autorité élevée.
o Écart Type Plus Faible aux Niveaux Élevés : Dans la région où l'autorité de
domaine est supérieure à 90, les points semblent être plus rapprochés les uns
des autres.
o Valeurs Aberrantes : Il existe quelques points situés loin du groupe principal,
notamment dans la partie inférieure gauche du graphique.

Page 50/84
CHAPITRE 3 Compréhension et Préparation des Données

Figure 3.4 : Matrice de corrélation


- Analyse de Corrélation : L'analyse de corrélation entre les différentes variables
donne les résultats suivants :
o TotalBacklinks et page_authority : Corrélation positive modérée (0.68),
indiquant que les pages avec plus de backlinks ont tendance à avoir une
autorité de page plus élevée.
o Domain_authority et page_authority : Corrélation positive forte (0.82), ce
qui suggère que les domaines ayant une autorité élevée ont souvent des pages
avec une autorité élevée aussi.
o TotalBacklinks et domain_authority : Corrélation positive modérée (0.30),
ce qui signifie qu'un nombre plus élevé de backlinks est associé à une autorité
de domaine légèrement supérieure, mais la relation n'est pas très forte.
o Spam_score et les autres variables : Corrélation négative faible avec
totalBacklinks (-0.05), domain_authority (-0.09), et page_authority (-0.18).
Cela pourrait indiquer que les scores de spam sont légèrement plus élevés pour
les sites ayant une moindre autorité ou moins de backlinks, mais ces relations
ne sont pas très fortes.
3.2.4. Suivi des Mots-Clés en Temps Réel
Nettoyage et Préparation des Données : Le nettoyage et la préparation des données sont des
étapes fondamentales pour garantir la qualité des analyses réalisées par la suite. Pour cette
tâche, nous avons suivi plusieurs étapes clés :

Page 51/84
CHAPITRE 3 Compréhension et Préparation des Données

- Filtrage des Données Manquantes ou Anormales : Nous avons commencé par


identifier et traiter les données manquantes ou anormales. Les entrées comportant des
valeurs nulles ou aberrantes pour des variables clés telles que le volume de recherche,
'l'indice de compétition', ou les enchères ont été supprimées ou imputées de manière
appropriée.
- Normalisation des Données : Les variables quantitatives sélectionnées (volume,
tendance, indice de compétition, enchères basse et haute) ont été normalisées à l'aide
du StandardScaler. Cela permet de mettre toutes les variables sur une même échelle,
ce qui est particulièrement important pour les algorithmes de clustering qui sont
sensibles à l'échelle des données.
- Séparation des Données selon le Niveau de Compétition : Afin de mieux
comprendre la structure des données, nous avons séparé 'les mots-clés' en fonction de
leur 'niveau de compétition'. Cela nous a permis d’appliquer des traitements
spécifiques à chaque sous-ensemble et de mieux visualiser les tendances et les
relations entre les variables dans des groupes homogènes.
- Préparation pour le Clustering : Les données ont été prétraitées de manière à être
prêtes pour l’application des algorithmes de clustering. Les variables pertinentes ont
été sélectionnées et normalisées, assurant ainsi que les analyses de regroupement
puissent être réalisées de manière efficace.
Visualisation des Données :
La visualisation des données a été effectuée pour mieux comprendre les relations entre les
variables et identifier des patterns ou des anomalies qui pourraient influencer les résultats du
clustering :
Un 'Pairplot avec Seaborn' a été utilisé pour visualiser les relations entre les variables
quantitatives sélectionnées.
- Volume vs. Competition Index :
o On observe une grande dispersion des volumes avec quelques points extrêmes
(outliers) au-delà de 2000.
o Le volume semble être majoritairement faible, sauf quelques exceptions. Les
niveaux de compétition plus élevés (2.0 et 3.0) ont tendance à avoir des
volumes plus faibles.
- Segmentation par Competition Level (Competition_level_num) :
o Les niveaux de compétition 2.0 et 3.0 semblent moins fréquents par rapport au
niveau 1.0.

Page 52/84
CHAPITRE 3 Compréhension et Préparation des Données

o Les points représentés par différentes couleurs montrent qu'il y a une


distinction entre les différents niveaux de concurrence, mais elle n'est pas
fortement marquée pour la plupart des variables.
- Tendance globale :
o Globalement, il semble que les variables volume et Competition_index sont un
peu plus dispersées, tandis que Low_bid, high_bid, et trend sont plus
concentrées, ce qui indique que ces dernières variables ont moins de
variabilité.

Figure 3.5 : Pairplot


La 'matrice de corrélation' que nous avons fournie montre les coefficients de corrélation
de Pearson entre différentes paires de variables de notre jeu de données.
- Corrélations fortes :
o Competition_index et Competition_level_num : Il y a une corrélation très
élevée (0,93), ce qui est attendu si le Competition_level_num est dérivé
directement de l'indice de compétition. Cela suggère que ces deux variables
sont fortement liées.

Page 53/84
CHAPITRE 3 Compréhension et Préparation des Données

o Low_bid et high_bid : Ces deux variables sont fortement corrélées (0,79), ce


qui est logique, car les enchères minimales et maximales sont souvent proches
l'une de l'autre pour un même mot-clé ou produit.
- Corrélations modérées :
o Volume et Low_bid/high_bid : Le volume a une corrélation modérée avec
Low_bid (0,25) et high_bid (0,26). Cela suggère qu'à mesure que le volume
augmente, les enchères ont tendance à être un peu plus élevées, bien que la
corrélation ne soit pas très forte.
- Corrélations faibles : La majorité des autres corrélations dans la matrice sont faibles,
indiquant que ces variables ne sont pas fortement liées entre elles. Par exemple :
o Volume et Competition_index : Très faible corrélation (0,014), suggérant que
le volume de recherche n'est pas lié à l'indice de concurrence.
o Trend et autres variables : La tendance (trend) a des corrélations très faibles
avec toutes les autres variables, ce qui signifie qu'elle est relativement
indépendante des autres facteurs analysés.

Figure 3.6 : Matrice de corrélation avec une heatmap


3.2.5. Génération de contenu optimisé
Chargement des Données : Nous avons importé les données des mots-clés à partir du fichier
CSV. Les premières lignes ont été vérifiées pour garantir l'exactitude du chargement.
Nettoyage des Données :
- Les valeurs de Search Volume ont été converties en entiers après avoir supprimé les
caractères non numériques.
- Les valeurs de CPC ont été nettoyées et converties en format flottant. Les valeurs non
convertibles ont été gérées pour éviter les erreurs.
Page 54/84
CHAPITRE 3 Compréhension et Préparation des Données

Analyse Descriptive :
- Statistiques de Base : Les statistiques descriptives ont été calculées pour fournir un
aperçu général des données.
- Top Mots-Clés : Les mots-clés avec les CPC et les volumes de recherche les plus
élevés ont été identifiés.
Visualisation : Des graphiques à barres, histogrammes, et boxplots ont été créés pour
visualiser la distribution des CPC et des volumes de recherche, ainsi que pour explorer les
relations entre les variables.

Figure 3.7 : Histogramme de la distribution des CPC


- L'histogramme montre que la majorité des mots-clés ont un CPC très faible, < à 1 €.
- Il y a une diminution progressive du nombre de mots-clés au fur et à mesure que le
CPC augmente.
- Quelques mots-clés présentent des CPC plus élevés, dépassant 10 €, mais ils sont
rares.
- La distribution est asymétrique, avec une forte concentration de CPC bas et une
longue traîne vers des valeurs plus élevées.

Figure 3.8 : Scatter plot - Nuage de points entre CPC et volume de recherche

Page 55/84
CHAPITRE 3 Compréhension et Préparation des Données

- Le scatter plot montre que la majorité des mots-clés avec un CPC élevé ont un volume
de recherche relativement faible.
- Il existe une concentration de mots-clés avec un CPC faible et un volume de recherche
élevé.
- Quelques outliers apparaissent, avec des CPC très élevés et des volumes de recherche
modérés.
- La relation entre le CPC et le volume de recherche semble inversement
proportionnelle : à mesure que le volume de recherche augmente, le CPC tend à
diminuer.

Figure 3.9 : Boxplot pour Search Volume et pour CPC


- Le boxplot du CPC montre que la majorité des mots-clés ont des valeurs de CPC très
faibles, avec un grand nombre d'outliers dépassant les 10 €.
- Le boxplot du volume de recherche indique également une forte concentration de
mots-clés avec un faible volume de recherche, tandis que plusieurs outliers atteignent
des valeurs élevées.
- Les outliers dans les deux boxplots montrent des mots-clés ayant soit des coûts par
clic, soit des volumes de recherche bien au-dessus des valeurs moyennes.
Conclusion
Ce chapitre a permis de comprendre et de préparer les données essentielles à notre projet.
Nous avons examiné les différentes sources de données, notamment celles concernant le
système de recommandation, les tendances du marché, la comparaison des domaines, le suivi
des mots-clés et la génération de contenu. Nous avons également discuté des étapes
nécessaires pour nettoyer et structurer ces données, garantissant ainsi leur qualité.
Avec une base de données solide, nous pouvons maintenant nous diriger vers la
modélisation. Dans le prochain chapitre, nous aborderons la modélisation des données et
l'évaluation des performances de nos modèles pour vérifier leur efficacité.

Page 56/84
CHAPITRE 4 Modélisation et Évaluation des Performances

Chapitre 4 : Modélisation et Évaluation des


Performances
Introduction
Dans ce chapitre, nous allons nous concentrer sur la modélisation des données et
l'évaluation des performances des modèles. Nous commencerons par examiner les
algorithmes d'apprentissage automatique et le réglage des hyperparamètres pour optimiser ces
modèles.
Ensuite, nous évaluerons l'efficacité de nos modèles dans différents domaines, comme le
système de recommandation, l'analyse des tendances du marché, la comparaison des
domaines concurrents, le suivi des mots-clés en temps réel, et la génération de contenu. Une
bonne évaluation est important pour garantir que nos solutions atteignent les objectifs fixés.

4.1. Modélisation
Dans cette section, nous allons explorer les différents aspects de la modélisation de notre
système, en mettant l'accent sur les algorithmes d'apprentissage automatique que nous avons
utilisés, les métriques d'évaluation que nous avons instaurées, ainsi que les stratégies
d'apprentissage continu que nous avons mises en œuvre.
4.1.1. Les algorithmes d’apprentissage automatique
Pour représenter les recommandations et l'analyse SEO, nous avons utilisé plusieurs
algorithmes de clustering afin de segmenter efficacement les données :
Les Algorithmes utilisés pour 'Systèmes de recommandations', ' Comparaison des
domaines pairs', et ' Suivi des Mots-Clés en Temps Réel ' :
- KMeans : cet algorithme divise les données en k groupes en fonction de la distance
entre les points et les centres des groupes [10]. Il est apprécié pour sa simplicité, sa
rapidité et sa capacité à s'adapter aux grandes bases de données, ce qui facilite
l'interprétation des résultats. Les paramètres qu’on a utilisés sont : N_clusters, et Init.
- KMedoids : similaire à KMeans, cet algorithme utilise des points de données réels
comme centres des clusters, ce qui le rend plus robuste face aux anomalies [11]. Les
paramètres qu’on a utilisés sont : N_clusters, et Init.

Page 57/84
CHAPITRE 4 Modélisation et Évaluation des Performances

- Agglomerative : un algorithme hiérarchique qui fusionne successivement les paires


de clusters les plus proches. Il permet d'examiner les liens entre les groupes de
données à différents niveaux de précision [12]. Les paramètres qu’on a utilisés sont :
N_clusters, et Linkage.
- DBSCAN : cet algorithme de clustering basé sur la densité identifie des clusters de
formes variées et est résistant au bruit. Les paramètres qu’on a utilisés sont : Eps, et
Min_samples.
- OPTICS : cet algorithme repose sur l'ordre de densité, permettant de repérer des
clusters de densités et de tailles variées. Les paramètres qu’on a utilisés sont :
Min_samples, et Max_eps.

Figure 4.1 : Différents algorithmes

Les algorithmes utilisés pour la 'Tendances actuelles du marché' :


Pour prédire les industries dans les champs vides, nous avons employé plusieurs algorithmes
de machine learning, chacun ayant ses propres avantages en termes de précision, de gestion
des données déséquilibrées, et de performance générale. Voici un aperçu de chaque
algorithme utilisé, ainsi qu'une description des principaux paramètres ajustés
- Random Forest : Cet algorithme est reconnu pour sa robustesse et sa capacité à
réduire le surapprentissage. Il est particulièrement efficace pour les données
déséquilibrées grâce à sa capacité à combiner plusieurs arbres de décision [13]. Les
paramètres qu’on a utilisés sont : N_estimators, Max_depth, Min_samples_split,
Min_samples_leaf, et Bootstrap.
- XGBoost : est réputé pour ses performances élevées et sa capacité à gérer les données
manquantes et les grandes volumétries de données, tout en étant rapide et efficace

Page 58/84
CHAPITRE 4 Modélisation et Évaluation des Performances

[14]. Les paramètres qu’on a utilisés sont : N_estimators, Learning_rate,


Max_depth, Min_child_weight, Gamma, Subsample, et Colsample_bytree.
- Logistic Regression : Simple mais puissant, cet algorithme est utilisé pour des
classifications binaires ou multiclasse et est apprécié pour sa facilité d'interprétation et
sa rapidité d'exécution [15]. Les paramètres qu’on a utilisés sont : C, Penalty, et
Solver.

Les algorithmes utilisés pour 'la génération de contenu optimisé' :


Choix du Modèle : Pour la génération de contenu optimisé, nous avons choisi d'utiliser GPT-
2 comme modèle de base. GPT-2 est reconnu pour sa capacité à générer du texte cohérent et
contextuellement pertinent grâce à son architecture de transformateur et à son pré
entraînement sur une vaste collection de données textuelles.
Affinage du Modèle ('Fine Tuning') : L'affinage de GPT-2 est effectué sur les données
marketing prétraitées. Les principales techniques utilisées pour optimiser la performance du
modèle incluent : Taille des Lots, Nombre d'Époques, Accumulation des Gradients,
Précision Mixte.
Techniques Avancées : Pour améliorer l'efficacité de la mémoire et la qualité des sorties
générées, les techniques suivantes sont intégrées : Checkpointing des Gradients, Recherche
en Faisceaux (Beam Search).
Hyperparamètres : Les hyperparamètres sont optimisés pour améliorer les performances et
la généralisation du modèle : Taux d'Apprentissage, Dropout, et Décroissance du Poids
(Weight Decay).
Paramètres de Génération : Lors de la génération de texte, les paramètres suivants sont
configurés pour améliorer la fluidité et la diversité des sorties : Num_beams, Température,
et Top_k.
4.1.2. Réglage des hyperparamètres
Pour affiner les résultats des algorithmes de clustering, nous avons utilisé deux techniques
principales pour ajuster les hyperparamètres : GridSearchCV et RandomizedSearchCV.
- GridSearchCV : cette méthode explore toutes les combinaisons possibles d'un
ensemble de paramètres définis à l'avance pour trouver les meilleurs paramètres pour
un algorithme donné.
- RandomizedSearchCV : contrairement à GridSearchCV, cette méthode effectue une
recherche aléatoire sur un ensemble de paramètres, ce qui permet souvent d'obtenir

Page 59/84
CHAPITRE 4 Modélisation et Évaluation des Performances

des résultats plus rapidement et plus efficacement pour des espaces de paramètres plus
larges.
Ces méthodes nous ont aidés à trouver les meilleurs ensembles d'hyperparamètres pour nos
modèles de clustering, améliorant ainsi la qualité de la segmentation des données et
l'efficacité des recommandations, des analyses SEO et de la génération de contenu.
4.2. Évaluation
Silhouette Score mesure à quel point les objets sont similaires à leur propre
cluster par rapport aux autres clusters. Il est compris entre -1 et 1.

Accuracy est la proportion des prédictions correctes parmi toutes les prédictions.

BERT Score compare des phrases en utilisant des représentations vectorielles issues de
BERT.

4.2.1. Système de recommandation


Pour évaluer la performance des algorithmes de clustering, nous avons utilisé plusieurs
métriques :
Tableau 4.1 : Comparaison entres les algorithmes - Système de Recommendation
Kmeans Agglomerative DBSCAN OPTICS
Silhouette 0.46 0.51 0.46 0.48
Score
Calinski 422.34 175.33 51.52 53.9
Harabasz
Davies 0.46 0.93 0.73 0.73
Bouldin

Page 60/84
CHAPITRE 4 Modélisation et Évaluation des Performances

Figure 4.2 : Les matrices de confusion - Système de recommandation

Interprétation :
L’algorithme Agglomératif s’est distingué par ses bonnes performances sur les métriques
de clustering. Avec un Silhouette Score élevé et de bons résultats sur les autres indicateurs, il
est bien adapté à notre objectif de découvrir des clusters bien séparés et d’explorer les
structures sous-jacentes dans les données. Nous recommandons donc l’algorithme
Agglomératif pour cette tâche de clustering non supervisé, car il répond parfaitement à nos
critères de qualité et de séparation des clusters.
4.2.2. Topics Chart "Tendances actuelles du marché" :
Pour évaluer la performance de notre modèle, nous avons sélectionné des métriques qui
sont essentiels non seulement pour comprendre l'efficacité globale du modèle, mais aussi pour
identifier des domaines spécifiques où il pourrait rencontrer des difficultés. Les métriques
utilisées sont les suivantes :

Page 61/84
CHAPITRE 4 Modélisation et Évaluation des Performances

Figure 4.3 : Les matrices de confusion - Topics Chart

Tableau 4.2 : Scores trouvés pour le modèle le plus performant -Topics Chart
XGBoost classifier
Accuracy 97.61%
F1 Score 0.9761
ROC AUC Score 0.9996
Critères de Sélection du Meilleur Modèle :
Précision (Accuracy) :
- La précision mesure la proportion des prédictions correctes par rapport au nombre
total de prédictions.
- Parmi les modèles évalués, XGBoost a la précision la plus élevée de 0.976, ce qui
indique que les prédictions des industries sont correctes.
Score F1 :
- Le score F1 est une mesure qui prend en compte à la fois la précision et le rappel
(recall). Il est particulièrement utile lorsqu'il y a un déséquilibre entre les classes.
- Dans notre cas, le score F1 est 0.976, ce qui confirme l’efficacité du modèle XGBoost
à gérer cet équilibre entre précision et rappel.
Score ROC AUC :
- Le score ROC AUC mesure la capacité d'un modèle à distinguer entre les classes
positives et négatives.

Page 62/84
CHAPITRE 4 Modélisation et Évaluation des Performances

- Avec un score ROC AUC de 0.999, XGBoost démontre une excellente capacité de
discrimination entre les classes.
Interprétation finale :
D'après les métriques disponibles, XGBoost est le modèle avec la meilleure précision
(0.976), un excellent score F1 (0.976), et un score ROC AUC remarquable (0.999). Étant
donné que ces métriques confirment la performance du modèle, XGBoost est choisi comme le
meilleur modèle pour notre cas d'utilisation actuel.
Résumé :
- Meilleur modèle : XGBoost
- Mesures clés utilisées : Précision (Accuracy), Score F1, Score ROC AUC
- Précision du modèle XGBoost : '0.976'
4.2.3. Top Competitors "Comparaison des domaines pairs"
Afin de mesurer l'efficacité des algorithmes de clustering appliqués à nos données, nous
avons évalué les performances de KMeans, Agglomerative Clustering, KMedoids, DBSCAN,
et OPTICS en utilisant plusieurs métriques clés. Ces mesures incluent le score de silhouette,
l'indice Davies-Bouldin, et le score de Calinski-Harabasz. Les résultats de cette évaluation
permettent de comparer la qualité des clusters générés par chaque méthode et d'identifier la
technique la plus adaptée pour notre ensemble de données.

Figure 4.4 : Les matrices de confusion - Top Competitors

Page 63/84
CHAPITRE 4 Modélisation et Évaluation des Performances

Tableau 4.3 : Comparaison entres les algorithmes - Top Competitors


Kmeans Agglomerative DBSCAN OPTICS
Silhouette 0.49 0.49 0.41 0.06
Score
Davies 0.887 0.887 2.211 1.888
Bouldin
Calinski 10.154 10.154 2.718 1.172
Harabasz

Critères de Sélection du Meilleur Modèle :


Pour sélectionner le meilleur modèle de clustering, nous avons utilisé les critères suivants :
- Score de Silhouette : Évalue la cohésion et la séparation des clusters. Un score plus
élevé indique que les points sont bien regroupés au sein des clusters et bien séparés
entre eux.
- Indice Davies-Bouldin : Mesure la moyenne des ratios de similarité entre les clusters,
où un score plus bas indique une meilleure séparation entre les clusters.
- Score de Calinski-Harabasz : Évalue la dispersion intra-cluster par rapport à la
dispersion inter-cluster. Un score plus élevé indique des clusters plus distincts et
mieux séparés.
Interprétation Finale :
D'après les métriques disponibles, KMeans et Agglomerative Clustering présentent les
meilleures performances globales, avec des scores de silhouette les plus élevés et les indices
Davies-Bouldin les plus bas, indiquant une séparation claire des clusters. Les scores de
Calinski-Harabasz pour ces deux modèles suggèrent également que les clusters sont bien
distincts. Cependant, KMeans et Agglomerative Clustering offrent une meilleure cohérence
dans les résultats que les autres méthodes.
Résumé :
- Meilleur modèle : KMeans (également Agglomerative Clustering en termes de
métriques similaires)
- Mesure clé utilisée : Score de Silhouette pour la cohésion des clusters et Indice
Davies-Bouldin pour la séparation des clusters
- Précision du modèle : KMeans et Agglomerative Clustering se démarquent avec les
meilleures valeurs de silhouette et Davies-Bouldin, montrant une bonne séparation et
une cohésion élevée des clusters.

Page 64/84
CHAPITRE 4 Modélisation et Évaluation des Performances

4.2.4. Keyword in real time " Suivi des Mots-Clés en Temps Réel "
Tableau 4.4 : Comparaison entres les algorithmes - Keyword In Real Time
Kmeans Agglomerative
Nombre de 3 3
clusters
Silhouette 0.58 0.50
Score
Davies 0.631 0.531
Bouldin

Figure 4.5 : Les matrices de confusion - Keyword In Real Time


Interprétation Générale :
- Kmeans et Agglomerative Clustering semblent offrir les meilleurs résultats en termes
de qualité de clustering, comme en témoignent leurs scores de silhouette élevés et
leurs indices Davies-Bouldin faibles. Ces algorithmes sont plus adaptés pour
segmenter les données en trois clusters bien définis.
- KMedoids ne performe pas aussi bien que Kmeans ou Agglomerative Clustering,
probablement en raison de son score de silhouette plus bas et de son indice Davies-
Bouldin plus élevé.
- DBSCAN et OPTICS détectent un plus grand nombre de clusters, mais avec une
qualité de clustering modérée. Ces méthodes pourraient être utiles pour des données
où les clusters ne sont pas nécessairement globulaires ou bien séparés.
4.2.5. Génération de contenu

Page 65/84
CHAPITRE 4 Modélisation et Évaluation des Performances

La performance du modèle est évaluée en utilisant plusieurs métriques de traitement du


langage naturel (NLP) pour garantir que le contenu généré est de haute qualité et répond aux
critères établis :
Tableau 4.5 : Evaluation du model GPT2
GPT2
BERT Score 0.89 F1
ROUGE (ROUGE-L) 0.66 F1
Interprétation des Résultats du Modèle GPT-2 :
Le tableau ci-dessus montre comment le modèle GPT-2 se comporte selon différentes
métriques :
- BERT Score (0.89 F1) : Ce score mesure à quel point le texte généré est
contextuellement similaire au texte de référence. Un score de 0.89 montre que le
modèle comprend bien le contexte, ce qui est très positif.
- ROUGE (0.66 F1 pour ROUGE-L) : Ce score montre combien le texte généré
chevauche les mots du texte de référence. Un score de 0.66 montre que le modèle
capture bien les idées principales.
Interprétation finale :
Le modèle GPT-2 est bon pour comprendre le contexte et générer un texte qui a du sens,
mais il a encore des défis en termes de précision et de fluidité. Une attention particulière à la
perplexité élevée est nécessaire pour rendre le texte généré plus cohérent. Des ajustements et
améliorations sont recommandés pour optimiser les performances du modèle.
Conclusion
Ce chapitre a abordé la modélisation des données et l'évaluation des performances des
différents modèles. Nous avons exploré les algorithmes d'apprentissage automatique et le
réglage des hyperparamètres pour maximiser l'efficacité de nos solutions. L'évaluation des
modèles dans des contextes variés, tels que le système de recommandation, l'analyse des
tendances du marché, et le suivi des mots-clés, a permis de valider leur pertinence et leur
performance.
Avec ces résultats en main, nous sommes prêts à passer à la prochaine étape. Dans le
chapitre suivant, nous aborderons le déploiement des modèles et leur réalisation, en
examinant comment les intégrer dans un environnement opérationnel et garantir leur bon
fonctionnement.

Page 66/84
CHAPITRE 5 Déploiement et Réalisation

Chapitre 5 : Déploiement et Réalisation

Introduction
Dans ce chapitre, nous allons aborder les étapes cruciales du déploiement et de la
réalisation de nos modèles. Nous commencerons par explorer le processus de déploiement, en
discutant des meilleures pratiques pour intégrer les modèles dans un environnement
opérationnel. Ensuite, nous examinerons la réalisation des solutions, en mettant l'accent sur
les aspects pratiques de leur mise en œuvre, ainsi que sur les défis rencontrés et les solutions
apportées. Ce chapitre vise à assurer une transition fluide de la phase de développement à
celle de l'utilisation effective des modèles dans le monde réel.
5.1. Déploiement
- Construction Backend et Frontend : La construction des images Docker pour le
backend et le frontend s'est déroulée avec succès, indiquant que les processus de
'build' se sont bien passés.
- Tests Unitaires : Les tests unitaires du backend ont réussi, ce qui confirme que le
code est stable et fonctionne comme prévu.
- Déploiement : Le déploiement a été réalisé avec succès, signifiant que les nouvelles
versions du backend et du frontend sont maintenant en production.

Page 67/84
CHAPITRE 5 Déploiement et Réalisation

Figure 4.6 : GitHub Actions Pipeline


5.2. Réalisation
Système de recommandation :
- Une zone spécifique pour insérer une mots clés.
- Deux charts sera affiché pour le leads et influenceur.
- Une partie d’overview pour les deux charts qui affiche une statistique générale de
résultat.

Figure 4.7 : Interface du système de recommandation digitale


Les charts :
Influenceur chart :
- Liste des thèmes générer après une suite d’intelligence.
- List des meilleures influences a choisi.
- Liste des sources afficher pour le thème choisi.
- Un chart des points pour le client choisi.
Leads chart :
- Liste de intérêts générer d’une manière intelligente.
- Barchart afficher pour l’intérêt sélectionner.
Description :
- On choisit d’afficher les descriptions dans des modal pour assurer le bon
expérience utilisateur (UX).

Page 68/84
CHAPITRE 5 Déploiement et Réalisation

Figure 4.8 : Influencer chart et leads chart


Descriptions des textes :
- Le client peut sélectionner un point de son choix pour afficher la description textuelle
correspondante dans une fenêtre modale.

Figure 4.9 : Description des textes pour chaque client

Page 69/84
CHAPITRE 5 Déploiement et Réalisation

Filtrer les textes :


- On affiche pour un spécifique source les textes des clients disponibles.
- Les logos, les liens, les textes seront affichés.
- Un bouton de filtre qui filtre les textes en "request", en "complain", ou bien en
"praise".

Figure 4.10 : Filtre des textes par sentiments


Liste de clients :
- On a choisi d’afficher la liste des clients dans un modal pour bien applique la notion
de UI/UX.
- On affiche le premier alphabet des noms des clients sous forme de logo.

Figure 4.11 : Liste des clients


Page 70/84
CHAPITRE 5 Déploiement et Réalisation

Topics Chart "Tendances actuelles du marché" :

Figure 4.12 : Topics Chart initialement


- Initialement, l'utilisateur peut explorer ce graphique et recevoir une brève
introduction pour mieux comprendre les données présentées.

Figure 4.13 : Topics Chart - Recharger les données


- Bouton permettant de récupérer les données les plus récentes.
- Après quelques secondes, des messages instantanés seront affichés pour améliorer
l'expérience utilisateur, car le processus de classification des données nécessite un
certain temps.

Page 71/84
CHAPITRE 5 Déploiement et Réalisation

Figure 4.14 : Topics Chart


- Graphique des industries illustrant le nombre de textes et leur pourcentage pour
chaque industrie.
- Nuage de mots affichant les hashtags associés à chaque industrie, avec des tailles
variées selon leur fréquence.
Top Competitors " Comparaison des domaines pairs " :

Figure 4.15 : Top compétiteurs initialement

Page 72/84
CHAPITRE 5 Déploiement et Réalisation

- Initialement, l'utilisateur a la possibilité d'entrer un domaine et de le comparer à


d'autres domaines similaires.

Figure 4.16 : Top Competitors - Réalisation 1

Figure 4.17 : PA et DA des domaines


- Après le regroupement des domaines en groupes, l'utilisateur peut sélectionner un
ou plusieurs clusters pour obtenir les résultats d'un domaine spécifique. Les mesures
correspondantes pour les domaines similaires sont ensuite fournies.
Page 73/84
CHAPITRE 5 Déploiement et Réalisation

- PA (Page Autorité) et DA (Domain Autorité) sont deux mesures affichées sous


forme de diagrammes en anneau (doughnut), chaque domaine étant représenté par une
couleur distincte.

Figure 4.18 : Spam Scores et Total Backlinks des domaines


- Les Scores de Spam et le Total des Backlinks sont représentés sous forme de barres
de progression linéaires, offrant une visualisation claire de ces métriques pour chaque
domaine.
Keyword in Real Time "Suivi des Mots-Clés en Temps Réel" :

Figure 4.19 : Keyword in Read Time – Réalisation 1

Page 74/84
CHAPITRE 5 Déploiement et Réalisation

- Initialement, l’utilisateur verra un simple message descriptif concernant ce tableau.

Figure 4.20 : Keyword in Read Time - Réalisation 2


- L’utilisateur entre un mot-clé, puis le classement des mots-clés s'affiche.
- Deux menus déroulants sont affichés : l’un pour le niveau (level) et l’autre pour le
cluster.
- Un graphique en nuage de points (scatter chart) affiche les points de données.
- En cas de redondance, un seul point est affiché pour ces données.
- Nous avons ajouté une option de zoom pour permettre à l’utilisateur de visualiser tous
les points et garantir la qualité de l'affichage des données.
- Un bouton "reset zoom" permet à l’utilisateur de réinitialiser les dimensions initiales.

Page 75/84
CHAPITRE 5 Déploiement et Réalisation

Figure 4.21 : Keyword in Read Time - Réalisation 3

- Le nombre total de textes est affiché pour chaque point.


- Lorsqu'on clique sur un point, un tableau s'affiche, montrant les données pour chaque
entrée, telles que "Competition Index", "Low Bid", et "High Bid".

Génération de contenus optimisés :

Figure 4.22 : Fine-tuning du modèle GPT-2


- Nous avons effectué l'entraînement du modèle GPT-2 avec nos données nettoyées.

Figure 4.23 : Résultat du test GPT2

Page 76/84
CHAPITRE 5 Déploiement et Réalisation

- Le premier output inclut un appel à l'action pour engager les lecteurs, ce qui peut
améliorer l'interaction utilisateur et le référencement SEO. Cependant, il pourrait
bénéficier d'un contenu plus riche en mots-clés.
- Le deuxième output intègre des questions supplémentaires liées au sujet, ce qui peut
offrir un contenu plus complet et couvrir davantage de mots-clés connexes.

Docker :

Figure 4.24 : Dockerisation et Containerisation


- Dockeriser tout le projet, tous les conteneurs communique entre eux au sein dans le
même network.
Prometheus :

Figure 4.25 : Prometheus Interface

Page 77/84
CHAPITRE 5 Déploiement et Réalisation

- L'interface affiche la liste des cibles (targets) que le système surveille, ainsi que leur
état de santé et les dernières données collectées.
- Les données indiquent la fréquence de collecte des métriques, ainsi que l'absence
d'erreurs lors des derniers scrapes.
Grafana :

Figure 4.26 : Grafana Interface


- Taux d'utilisation du CPU du backend (moyenne 5m) : Évolution de l'utilisation du
CPU et Répartition de l'utilisation du CPU dans digianalyse.
- Graphique en ligne : Comparaison temporelle de deux métriques.
- Graphique en camembert : Répartition en catégories.
GitHub :

- Voici un aperçu de notre publication réussie sur GitHub. On y voit notre pipeline
CI/CD fonctionner correctement et tous les sous-modules intégrés comme prévu.
Page 78/84
CHAPITRE 5 Déploiement et Réalisation

- Cette image met en avant notre publication réussie sur GitHub et confirme que notre
pipeline s'est exécuté correctement. Elle montre également l'organisation de nos sous-
modules et fichiers.
- La photo illustre le succès de notre publication sur GitHub ainsi que le bon
fonctionnement de notre pipeline. Elle montre aussi la configuration de nos sous-
modules et fichiers essentiels.
Jira :

Figure 4.27 : Interface Jira


- Nous assurons le suivi des tâches à l'aide de Jira.
Kibana :

Figure 4.28 : Interface Kibana


- Vue des données dans l'interface Kibana, permettant une visualisation et une analyse
approfondies.

Page 79/84
CHAPITRE 5 Déploiement et Réalisation

Elasticsearch :

Figure 4.29 : Base de données indexée


- Affichage des index de données dans Elasticsearch, facilitant la gestion et l'accès aux
informations structurées.
Conclusion
Ce chapitre a permis d'explorer les étapes de déploiement et de réalisation de nos modèles.
Nous avons discuté des méthodes pour intégrer efficacement nos solutions dans un
environnement opérationnel et des considérations pratiques liées à leur mise en œuvre. En
surmontant les défis rencontrés lors de cette phase, nous avons assuré que nos modèles soient
non seulement fonctionnels, mais aussi adaptés aux besoins des utilisateurs. Avec cette
finalisation, nous sommes désormais prêts à tirer parti des solutions mises en place pour
apporter une réelle valeur ajoutée aux utilisateurs et au secteur.

Page 80/84
Conclusion générale

Ce projet de fin d'études a permis la conception et la mise en œuvre d'une plateforme


intelligente de recommandation digitale, d'analyse SEO, et de génération de contenu optimisé.
En répondant aux besoins spécifiques des clients tels que les agences de marketing digital, les
entreprises en ligne et les créateurs de contenu, la solution intègre des outils performants pour
analyser et exploiter les données en temps réel, proposer des recommandations pertinentes, et
produire des textes SEO de haute valeur.
L'utilisation de technologies modernes comme Django pour le backend, React pour le
frontend, Elasticsearch pour l'indexation des données, et Docker pour l'orchestration des
services a permis de créer une architecture flexible, scalable et efficace. La mise en place de
Prometheus et Grafana pour la surveillance et l’optimisation des performances a également
garanti une gestion fiable des environnements de production et de développement.
En outre, l'application de la méthodologie CRISP-DM a permis une gestion rigoureuse des
étapes du projet, depuis la compréhension des besoins métiers jusqu'à l'évaluation des
modèles de recommandation et la génération de contenu optimisé. Les résultats obtenus
montrent une amélioration significative de la performance des stratégies SEO, ainsi qu'une
expérience utilisateur enrichie grâce aux recommandations personnalisées et au suivi des
tendances en temps réel.
Ce projet ouvre des perspectives intéressantes pour des futures améliorations, notamment
l’intégration de nouveaux algorithmes de recommandation plus sophistiqués et l’exploitation
de données encore plus diversifiées pour affiner les analyses et recommandations. La
plateforme pourra également évoluer pour offrir davantage de fonctionnalités de
personnalisation et de gestion de contenu, répondant ainsi aux besoins croissants des
utilisateurs en matière de visibilité en ligne.
En conclusion, cette solution représente une avancée significative dans l'optimisation des
stratégies digitales, combinant la puissance des algorithmes de recommandation, l'analyse
SEO et la génération automatique de contenu au service des performances en ligne des
entreprises.
Bibliographie

[1] "Esprit-Tech." récupéré le 1er juillet 2024, depuis https://esprit.tn/rdi/espri-tech


[2] "Guide pour améliorer la performance grâce au numérique." récupéré le 5 juillet 2024, depuis
https://www.entreprises.gouv.fr/files/files/directions_services/politique-et-
enjeux/entrepreneuriat/guide-ameliorer-performance-grace-au-numerique.pdf
[3] "HubSpot : Guide de l'inbound marketing." récupéré le 7 juillet 2024, depuis
https://www.hubspot.fr/inbound-marketing
[4] "Marketo : Plateforme d'automatisation marketing." récupéré le 7 juillet 2024, depuis
https://www.appvizer.fr/marketing/automatisation-marketing/marketo
[5] "SEMrush : Outils et logiciels SEO à faire soi-même." récupéré le 7 juillet 2024, depuis
https://www.eyeuniversal.com/blog/seo/diy-seo-software-and-tools/
[6] "Knowledge Discovery in Databases (KDD) : A Practical Approach." récupéré le 7 juillet 2024,
depuis https://medium.com/@shawn.chumbar/knowledge-discovery-in-databases-kdd-a-practical-
approach-f28247493be4
[7] "Data Mining SEMMA." récupéré le 7 juillet 2024, depuis https://sis.binus.ac.id/2021/09/30/data-
mining-semma/
[8] "Data Science Principles and Practices." récupéré le 7 juillet 2024, depuis
https://fr.m.wikipedia.org/wiki/Fichier:Diagramme_du_Processus_CRISP-DM.png
[9] "CRISP-DM : Still the Most Popular Methodology for Data Mining." récupéré le 7 juillet 2024,
depuis https://www.datascience-pm.com/crisp-dm-still-most-popular/
[10] "KMeans." récupéré le 12 juillet 2024, depuis https://scikit-
learn.org/stable/modules/generated/sklearn.cluster.KMeans.html
[11] "KMedoids." récupéré le 12 juillet 2024, depuis https://scikit-learn-
extra.readthedocs.io/en/stable/generated/sklearn_extra.cluster.KMedoids.html
[12] "AgglomerativeClustering." récupéré le 12 juillet 2024, depuis https://scikit-
learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html#sklearn.cluster.Aggl
omerativeClustering
[13] "Tuning the parameters of your Random Forest model" récupéré le 21 aout 2024, depuis
https://www.analyticsvidhya.com/blog/2015/06/tuning-random-forest-model/
[14] "XGBoost Parameters" récupéré le 21 aout 2024, depuis
https://xgboost.readthedocs.io/en/stable/parameter.html
[15] "Logistic Regression" récupéré le 21 aout 2024, depuis https://scikit-
learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
Annexes

Vous aimerez peut-être aussi