Rapport PFE Ayachi Oumayma
Rapport PFE Ayachi Oumayma
Rapport PFE Ayachi Oumayma
TWIN
Encadré par :
Encadrant Entreprise
Encadrant Académique
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 .................................................................................................................... 12
1.4.4. Diagramme de cas d’utilisation détaillé : générer des textes optimisés ....... 24
Conclusion ....................................................................................................................... 26
Introduction .................................................................................................................... 27
2.1. Infrastructure ....................................................................................................... 27
2.3.4. Keyword In Real Time "Suivi des Mots-Clés en Temps Réel" ................... 37
Conclusion ....................................................................................................................... 39
Introduction .................................................................................................................... 40
Conclusion ....................................................................................................................... 56
Introduction .................................................................................................................... 57
4.2.4. Keyword in real time " Suivi des Mots-Clés en Temps Réel " .................... 65
Conclusion ....................................................................................................................... 66
Introduction .................................................................................................................... 67
Conclusion ....................................................................................................................... 80
Bibliographie ........................................................................................................................ 82
Liste des figures
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.
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]
Page 12/84
CHAPITRE 1 Cadre général
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
Page 15/84
CHAPITRE 1 Cadre général
Page 16/84
CHAPITRE 1 Cadre général
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
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.
Page 20/84
CHAPITRE 1 Cadre général
Page 21/84
CHAPITRE 1 Cadre général
Page 22/84
CHAPITRE 1 Cadre général
Page 23/84
CHAPITRE 1 Cadre général
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.
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
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
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.
Page 28/84
CHAPITRE 2 Compréhension du métier
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 :
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é.
Page 31/84
CHAPITRE 2 Compréhension du métier
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] :
Page 33/84
CHAPITRE 2 Compréhension du métier
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é.
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
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 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
Page 47/84
CHAPITRE 3 Compréhension et Préparation des Données
Page 48/84
CHAPITRE 3 Compréhension et Préparation des Données
Page 49/84
CHAPITRE 3 Compréhension et Préparation des Données
Page 50/84
CHAPITRE 3 Compréhension et Préparation des Données
Page 51/84
CHAPITRE 3 Compréhension et Préparation des Données
Page 52/84
CHAPITRE 3 Compréhension et Préparation des Données
Page 53/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.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.
Page 56/84
CHAPITRE 4 Modélisation et Évaluation des Performances
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
Page 58/84
CHAPITRE 4 Modélisation et Évaluation des Performances
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.
Page 60/84
CHAPITRE 4 Modélisation et Évaluation des Performances
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
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.
Page 63/84
CHAPITRE 4 Modélisation et Évaluation des Performances
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
Page 65/84
CHAPITRE 4 Modélisation et Évaluation des Performances
Page 66/84
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
Page 68/84
CHAPITRE 5 Déploiement et Réalisation
Page 69/84
CHAPITRE 5 Déploiement et Réalisation
Page 71/84
CHAPITRE 5 Déploiement et Réalisation
Page 72/84
CHAPITRE 5 Déploiement et Réalisation
Page 74/84
CHAPITRE 5 Déploiement et Réalisation
Page 75/84
CHAPITRE 5 Déploiement et Réalisation
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 :
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 :
- 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 :
Page 79/84
CHAPITRE 5 Déploiement et Réalisation
Elasticsearch :
Page 80/84
Conclusion générale