SFE Hela Hadil 2
SFE Hela Hadil 2
SFE Hela Hadil 2
N ous dédions ce modeste travail de fin d’études à nos chers parents qui nous ont beaucoup
soutenues moralement dans les moments difficiles durant la formation.
Que Dieu les protège et leurs procure bonne santé et longue vie.
FS-SFAX Page i
REMERCIEMENTS
Nous remercions Dieu, le tout puissant, de nous avoir donné la santé et la volonté d’entamer
et de terminer notre projet de fin d’études.
Tout d’abord, ce travail, faut-il l’avouer, n’aurait pu être achevé et voir le jour sans l’aide
et l’encadrement de Monsieur Boulbaba Ben Ammar que nous remercions infiniment pour
l’exceptionnelle qualité de son encadrement, pour sa patience, sa rigueur et sa disponibilité
durant toute la période de notre ouvrage. Nous n’oublierons certainement jamais cette
extraordinaire collaboration.
Nous tenons à remercier Monsieur Ali SALEM qui a bien voulu nous faire l’honneur
de présider le jury. Nous remercions sincèrement Madame Raouia BOUABDALLAH d’avoir
accepté d’être l’examinatrice de ce manuscrit. Nos vifs remerciements s’adressent également à
nos enseignants et à nos amis, pour leur présence chaleureuse et leur encouragement.
FS-SFAX Page ii
TABLE DES MATIÈRES
1 ÉTUDE PRÉALABLE 2
1.1 I NTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 L’ INTELLIGENCE ARTIFICIELLE ( AI ) . . . . . . . . . . . . . . . . . . . . . . 3
1.3 L’apprentissage automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Apprentissage supervisé . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Apprentissage non-supervisé . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Les différents types de l’apprentissage automatique . . . . . . . . . . . . . . . 5
1.4.1 La régression logistique (Logistic Regression) . . . . . . . . . . . . . 5
1.4.2 Machines à vecteurs de support (SVM) . . . . . . . . . . . . . . . . . 6
1.4.3 L’arbre de décision (Decision tree) . . . . . . . . . . . . . . . . . . . 7
1.4.4 Bayes naïf (Naive Bayes) . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.5 L’algorithme des k plus proches voisins (KNN : K-Nearest Neighbors) 8
1.5 L’A PPRENTISSAGE PROFOND ( DEEP LEARNING ) . . . . . . . . . . . . . . . . 8
1.6 L E T RAITEMENT AUTOMATIQUE DU L ANGAGE NATUREL (TALN) . . . . . 9
1.6.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.2 Les grands principes . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 L ES O UTILS ET L’ ENVIRONNEMENT DE PROGRAMMATION . . . . . . . . . . 10
1.7.1 P YTHON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7.2 J UPYTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7.3 G OOGLE C OLABORATORY . . . . . . . . . . . . . . . . . . . . . . . 11
1.7.4 Les Bibliothèques utilisées . . . . . . . . . . . . . . . . . . . . . . . . 11
1.8 A NALYSE E T S PÉCIFICATION D ES B ESOINS . . . . . . . . . . . . . . . . . . 12
1.8.1 L ES BESOINS FONCTIONNELS . . . . . . . . . . . . . . . . . . . . . 12
1.8.2 L ES BESOINS NON FONCTIONNELS . . . . . . . . . . . . . . . . . . . 12
1.9 C HOIX DE LA MÉTHODE DE S CRUM . . . . . . . . . . . . . . . . . . . . . . 13
1.10 C ONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
CONCLUSION ET PERSPECTIVES 43
BIBLIOGRAPHIE 43
FS-SFAX Page iv
LISTE DES FIGURES
1 Choix méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
FS-SFAX Page v
LISTE DES FIGURES
FS-SFAX Page vi
INTRODUCTION GÉNÉRALE
C ONTEXTE G ÉNÉRALE
Cadre du projet
Partout dans le monde, SUNEVIT travaille avec des entreprises de toutes tailles, des
entreprises privées en croissance à certains des plus grands groupes internationaux. En
combinant de vastes connaissances de l’industrie et une expertise considérable dans divers
domaines, SUNEVIT l’équipe offre des informations commerciales et des capacités techniques
inestimables.
— D’opérer dans presque tous les secteurs, avec de nombreux projets achevés dans son
portefeuille.
— D’offrir à ses clients des solutions robustes pour relever leurs défis commerciaux.
Présentation du projet
Problématique
1. L’extraction des données textuelles et leur analyse sont des tâches complexes.
2. L’utilisation d’une approche systématique et cohérente pour le développement de cette
application est nécessaire pour garantir un résultat fiable et efficace.
3. Cette analyse peut être effectuée en utilisant des méthodes de traitement de la langue
naturelle pour identifier les mots clés et les thèmes qui peuvent être liés aux centres
d’intérêt des utilisateurs.
Travail Demandé
L’analyse des centres d’intérêt des utilisateurs sociaux à partir de données textuelles est une
tâche complexe qui implique l’application de méthodes de traitement automatique du langage
naturel (ou NLP) pour extraire des informations à partir de grandes quantités de données
textuelles. Cette analyse peut fournir des informations précieuses pour comprendre les intérêts
des utilisateurs et leur comportement .
Voici quelques étapes pour analyser les intérêts des utilisateurs sociaux sur la base de
données textuelles :
1- Collecte des données : elle se fait à partir des statuts FACEBOOK en arabe
2- Pré-traitement des données : elles sont nettoyées en supprimant les éléments inutiles tels
que les liens, les mentions des utilisateurs, les émotions, les signes de ponctuation et les mots
non arabes. La normalisation du texte (telle que la suppression des mots vides ) peut également
être effectuée pour améliorer la qualité des données.
3- Classification de textes : une classification de textes peut être utilisée pour catégoriser
les données en fonction des centres d’intérêt, tels que la nourriture, les voyages, le sport, etc.
Cette classification peut être réalisée en utilisant des techniques de classification supervisée ou
non supervisée .
4- Visualisation des données : elle peut être utilisée pour présenter les résultats de l’analyse
d’une manière compréhensible et intuitive.
5- Analyse de thèmes : elle sert à identifier les sujets clés abordés dans les données
textuelles. Cette analyse peut être utile pour comprendre les tendances émergentes et les centres
d’intérêt dominants des utilisateurs.
Méthodologie adoptée
FS-SFAX Page 1
Chapitre
1
ÉTUDE PRÉALABLE
Sommaire
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 L’intelligence artificielle (ai) . . . . . . . . . . . . . . . . 3
1.3 L’apprentissage automatique . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Apprentissage supervisé . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Apprentissage non-supervisé . . . . . . . . . . . . . . . . . . . . 5
1.4 Les différents types de l’apprentissage automatique . . . . . 5
1.4.1 La régression logistique (Logistic Regression) . . . . . . . . . . 5
1.4.2 Machines à vecteurs de support (SVM) . . . . . . . . . . . . . 6
1.4.3 L’arbre de décision (Decision tree) . . . . . . . . . . . . . . . . 7
1.4.4 Bayes naïf (Naive Bayes) . . . . . . . . . . . . . . . . . . . . . 7
1.4.5 L’algorithme des k plus proches voisins (KNN : K-Nearest
Neighbors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 l’Apprentissage profond (deep learning) . . . . . . . . . 8
1.6 Le Traitement Automatique du Langage Naturel
(TALN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.2 Les grands principes . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 Les Outils et l’environnement de programmation . . . 10
1.7.1 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7.2 Jupyter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7.3 Google Colaboratory . . . . . . . . . . . . . . . . . . . . . 11
1.7.4 Les Bibliothèques utilisées . . . . . . . . . . . . . . . . . . . . . 11
1.8 Analyse Et Spécification Des Besoins . . . . . . . . . . . 12
1.8.1 Les besoins fonctionnels . . . . . . . . . . . . . . . . . . . 12
1.8.2 Les besoins non fonctionnels . . . . . . . . . . . . . . . . 12
1.9 Choix de la méthode de Scrum . . . . . . . . . . . . . . . . 13
1.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
FS-SFAX Page 2
ÉTUDE PRÉALABLE
1.1 I NTRODUCTION
L’étude des principes théoriques qui se rattachent à notre projet et aux différents outils
dont nous disposons représente une phase décisive et déterminante menant à la réalisation des
objectifs de notre projet. Dans ce chapitre, nous définissons les principaux concepts de notre
travail, les différents outils utilisés puis nous développons une analyse des besoins.
C’est un terme utilisé pour désigner des applications capables d’effectuer des tâches
complexes autrefois réservées aux humains, comme la communication en ligne avec les clients
ou le jeu d’échecs. Il est parfois confondu avec d’autres domaines tels que le Machine Learning
et le Deep Learning. Le Machine Learning se concentre spécifiquement sur la création de
systèmes capables d’apprendre et d’améliorer leurs performances en fonction des données qu’ils
traitent. Il est important de noter que l’intelligence artificielle ne se limite pas uniquement au
Machine Learning et pour mieux l’exploiter, de nombreuses entreprises investissent dans des
équipes de Data Science.
Cette dernière est un domaine interdisciplinaire qui utilise des méthodes scientifiques pour
analyser et valoriser les données collectées à partir de différentes sources. Elle combine des
compétences en statistiques, en informatique et en connaissances commerciales pour tirer des
informations utiles des données.
FS-SFAX Page 3
ÉTUDE PRÉALABLE
Une des principales disciplines de l’intelligence artificielle est le Machine Learning, aussi
nommé l’apprentissage automatique. Il s’agit d’exploiter des données brutes, de les transformer
en connaissances et cela se fait de manière automatique afin de prendre de meilleures décisions
d’affaires. L’apprentissage automatique permet ainsi d’utiliser un modèle d’algorithmes
pour piloter des stratégies d’affaires (data-driven strategy).Il existe deux principaux types
d’apprentissages.
FS-SFAX Page 4
ÉTUDE PRÉALABLE
Avec l’apprentissage supervisé, la machine peut apprendre à accomplir une tâche spécifique
en étudiant des données d’entraînement. Par exemple, elle peut apprendre à reconnaître une
photo de chien après avoir été exposée à un grand nombre de données d’images de ce dernier.
De même, elle peut apprendre à traduire du français au chinois en utilisant un ensemble de
données comprenant des exemples de traductions français-chinois.
Celui-ci détecte des données ou des individus présentant des caractéristiques ou des
structures communes. Typiquement, l’apprentissage non supervisé peut servir à développer un
moteur de recommandation, conçu pour proposer à un visiteur des produits en fonction des
préférences des clients partageant les mêmes caractéristiques.
C’ est un algorithme d’apprentissage automatique utilisé pour prédire des variables binaires,
telles que oui/non ou vrai/faux, en fonction d’un ensemble de variables d’entrée. La fonction
mathématique appelée fonction logistique est utilisée pour calculer la probabilité qu’un exemple
de données appartienne à l’une ou l’autre des classes possibles. Le modèle est entraîné sur un
FS-SFAX Page 5
ÉTUDE PRÉALABLE
La régression logistique peut être utilisée pour résoudre des problèmes de traitement de
textes, tels que la classification de documents. Dans ce cas, chaque document est représenté
par un vecteur de caractéristiques, telles que la fréquence des mots ou la présence de
certaines expressions, qui sont utilisées comme entrée pour ce modèle conduisant ainsi à une
catégorisation telle que "sport", "culture", "technologie", etc.
Son principe est de transformer les données d’entrée dans un espace de caractéristiques de
plus grande dimension, où il est plus facile de séparer les classes. L’algorithme cherche ensuite
l’hyperplan qui sépare les classes avec la marge maximale possible, c’est-à-dire la distance
maximale entre l’hyperplan et les points les plus proches de chaque classe (appelés vecteurs de
support).
En utilisant cette séparation optimale, SVM est capable de classer de nouveaux exemples en
les projetant dans l’espace de caractéristiques et en les plaçant de chaque côté de l’hyperplan.
Ce modèle est efficace pour traiter des ensembles de données complexes avec de nombreuses
variables et peut servir pour la classification binaire ou multi-classe. Il est également résistant
aux données aberrantes et peut être employé avec différents noyaux (linéaire, polynomial,
radial, etc) pour traiter différents types de données.
FS-SFAX Page 6
ÉTUDE PRÉALABLE
Celui-ci est entraîné sur un ensemble de données étiquetées pour apprendre à diviser les
données en fonction des caractéristiques les plus importantes. Une fois qu’il est construit, il
peut être utilisé pour prédire les résultats pour de nouveaux exemples de données en traversant
l’arbre de décision à partir de la racine jusqu’à une feuille correspondante. Ce dernier est utilisé
dans divers domaines en raison de sa simplicité et de sa facilité d’interprétation, mais un arbre
trop profond peut conduire à un sur-apprentissage qui réduit la précision des prédictions.
C’est un algorithme d’apprentissage supervisé qui est souvent utilisé pour la classification
de textes. Il est basé sur le théorème de Bayes et suppose que toutes les caractéristiques d’un
document sont indépendantes les unes des autres.
En résumé, le modèle de Bayes naïf est simple à mettre en œuvre et peut fournir des résultats
précis avec un petit ensemble de données.
FS-SFAX Page 7
ÉTUDE PRÉALABLE
Neighbors)
Le modèle KNN fonctionne en calculant la distance entre un échantillon de test et tous les
échantillons d’entraînement, puis en sélectionnant les k échantillons d’entraînement les plus
proches (les plus similaires) à l’échantillon de test. Il attribue ensuite, à ce dernier la classe la
plus fréquente parmi les k échantillons les plus proches.
Le choix de la valeur de k est un paramètre important dans le modèle KNN, car une valeur
k trop petite peut conduire à une sensibilité excessive aux points aberrants (outliers), tandis
qu’une valeur k trop grande peut conduire à une sous-représentation des variations locales.
FS-SFAX Page 8
ÉTUDE PRÉALABLE
N ATUREL (TALN)
1.6.1 Définition
Le TALN trouve de nombreuses applications dans la vie quotidienne, telles que la traduction
de textes, le correcteur orthographique, la synthèse vocale, la classification de textes, l’analyse
d’opinion/sentiment, l’extraction d’entités nommées, etc.
Bien que la plupart des ressources disponibles soient en anglais et en français , il existe
également des outils en arabe pour accomplir ces tâches.
FS-SFAX Page 9
ÉTUDE PRÉALABLE
PROGRAMMATION
1.7.1 P YTHON
Python est un langage de programmation de haut niveau, interprété et orienté objet. Il a été
créé dans les années 1990 par Guido van Rossum. Python est connu pour sa syntaxe simple et
facile à apprendre, ainsi que pour sa grande polyvalence. Il peut être utilisé pour développer
une grande variété d’applications, telles que des applications Web, des logiciels de bureau,
des scripts système, des jeux et bien d’autres choses encore. Python est également utilisé pour
l’analyse de données, l’apprentissage automatique et l’intelligence artificielle.
1.7.2 J UPYTER
Jupyter est une application Web open source qui permet de créer et de partager des
documents dynamiques contenant : du code en direct, des équations, des visualisations de
données et du texte. Le nom "Jupyter" est un acronyme des langages de programmation pris
en charge : Julia, Python et R. Jupyter ont été conçu pour faciliter la science des données et
le développement de logiciels en permettant aux utilisateurs de travailler avec des notebooks
interactifs dans leur navigateur web.
FS-SFAX Page 10
ÉTUDE PRÉALABLE
Colab est en fait la version abrégée de "Google Colaboratory" qui est une plateforme de
cloud computing et un environnement de développement en ligne pour Python. Il permet aux
utilisateurs d’exécuter du code Python dans un environnement gratuit et partagé, ce qui peut
être très utile pour les projets de Data Science, de Machine Learning ou de développement de
logiciels. Les utilisateurs peuvent travailler en temps réel sur des notebooks Jupyter, collaborer
avec d’autres utilisateurs à distance et accéder à des ressources informatiques puissantes sans
avoir à installer quoi que ce soit sur leur propre ordinateur.
— NumPy : est une bibliothèque open-source Python conçue pour effectuer des calculs
numériques sur des tableaux multidimensionnels et des matrices.
FS-SFAX Page 11
ÉTUDE PRÉALABLE
— Sklearn (scikit-learn) : est une bibliothèque open-source Python conçue pour réaliser
des tâches de machine learning telles que la classification, la régression et le clustering.
— Nltk (Natural Language Toolkit) : est une bibliothèque open-source Python utilisée
pour le traitement automatique du langage naturel (NLP) et la création de modèles de
langage.
— Seaborn : est une bibliothèque open-source Python basée sur Matplotlib, utilisée pour la
visualisation de données statistiques et la création de graphiques avancés.
Les besoins fonctionnels décrivent les fonctionnalités qui doivent être présentes pour
l’acteur comme :
— Écrire un commentaire.
FS-SFAX Page 12
ÉTUDE PRÉALABLE
1.10 C ONCLUSION
Dans ce chapitre, nous avons donné une définition de l’intelligence artificielle et précisé
l’environnement matériel et logiciel utilisé. Nous avons aussi réalisé une analyse et une
spécification des besoins et détaillé la méthode de Scrum.
FS-SFAX Page 13
Chapitre
2
C ONSTRUCTION DE L’ APPLICATION
DE PROFILAGE DES UTILISATEURS
SOCIAUX
Sommaire
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Sprint 1 : Collection des données . . . . . . . . . . . . . 15
2.3 Sprint 2 : Traitement des données . . . . . . . . . . . . . 16
2.3.1 Modification des catégories . . . . . . . . . . . . . . . . . 16
2.3.2 Pré-traitement de textes arabes en Python . . . . . . 18
2.4 Sprint 3 : Modèles d’Intelligence Artificielle . . . . . . . . . . 25
2.4.1 Techniques traditionnelles . . . . . . . . . . . . . . . . . 26
2.4.2 Arabert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.5 Sprint 4 : Présentation de l’application réalisée . . . 39
2.5.1 Architecture de l’application Web . . . . . . . . . . . . . . . . . 40
2.5.2 Interface d’accueil de l’application . . . . . . . . . . . . 40
2.5.3 interface résultat de l’application . . . . . . . . . . . 41
2.5.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
FS-SFAX Page 14
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
2.1 I NTRODUCTION
L’objectif principal de ce chapitre est de concevoir un modèle d’analyse des centres d’intérêt
pour le texte en utilisant les techniques de traitement du langage naturel ,en limitant la
classification à des catégories telles que le sport, la culture, la santé, etc.
Nous allons également détailler chaque phase du processus, y compris celle de la préparation
des données et de l’extraction des fonctionnalités.
Dans notre projet qui utilise l’intelligence artificielle, la première étape consiste à collecter
des données pour entraîner notre modèle. Elles sont indisponsables pour l’apprentissage
automatique et la prédiction de classes. Il est important de collecter autant de données que
possible à partir des statuts arabes dans Facebook. Cependant, pour garantir leur qualité, il est
essentiel que leurs sources soient fiables et correctement structurées.
En résumé, les données sont le carburant de l’apprentissage automatique et leur qualité est
cruciale pour la performance de notre modèle.
Dans notre cas, la première chose que nous avons faite est de collecter les données d’une
façon manuelle puisque dans Facebook il est un peu difficile de le faire automatiquement. Nous
en avons obtenues une quantité assez importante de taille (1799 lignes) à partir des profils et
des pages tels que ’Hannibal’ , ’ ’, ’Universal Library ’, etc...
. Puis nous avons attribué à chaque donnée une classe qui lui appartient comme la montre la
figure 2.6
FS-SFAX Page 15
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Nous avons remarqué une large diversification des catégories (labels). Nous avons pensé à
les regrouper en 10 classes :
1. Sport
2. Shopping
3. Nourriture
4. Mode de vie
5. Bien-être
6. Loisir
7. Événement
8. Industrie
9. Culture
10. Voyage
FS-SFAX Page 16
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Pour obtenir ce résultat , nous avons utilisé la méthode ’ REPLACE ()’ (voir figure 2.4).
Après un tel traitement, nous avons gardé les catégories présentées dans la figure suivante.
Ce "Camembert" représente les pourcentages respectifs des classes retenues.
FS-SFAX Page 17
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
En effet, le pré-traitement des données est une étape essentielle dans la mise en place
d’algorithmes de Machine Learning. Il permet de nettoyer, transformer et préparer les données
avant de les utiliser pour entraîner un modèle.
2.3.2.1 N ETTOYAGE
— Suppression de la ponctuation
FS-SFAX Page 18
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Supprimer tous les chiffres, tout ce qui est supprimé sera remplacé par un espace ’ ’ (voir figure
2.7).
FS-SFAX Page 19
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Supprimer tous les emojis, tout ce qui est supprimé sera remplacé par un espace ’ ’ (voir figure
2.8).
Supprimer tous les espaces qui ne sont pas nécessaires (voir figure 2.9).
FS-SFAX Page 20
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
La suppression des mots non arabes permet d’éliminer ceux qui ne font pas partie de l’alphabet,
afin de faciliter l’analyse ou la recherche de textes dans cette langue (voir figure 2.10).
Lorsqu’un texte est volumineux et contient de nombreux mots, il est naturel que ces
derniers n’aient pas tous la même importance. Certains qui se répètent fréquemment peuvent
être considérés comme du bruit et ne portent pas de sens par leur seule présence. Il est donc
préférable de supprimer ces mots vides, également appelés "Stop-Words", pour améliorer la
qualité de l’analyse du texte.
FS-SFAX Page 21
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
En arabe, les lettres, outils et pronoms tels que , , , sont souvent utilisés
et peuvent être considérés comme bruyants dans le texte. Il est donc recommandé de les laisser
de côté. Cependant, concentrons-nous d’abord sur le cas général en nous focalisant uniquement
sur les lettres et les outils. Pour cela, nous pouvons utiliser la boîte à outils de traitement du
langage naturel (NLTK), qui fournit un ensemble général de mots vides pour un certain nombre
de langues, dont l’arabe et l’anglais (voir figure 2.11).
2.3.2.3 N ORMALISATION
Cette phase établit des règles et des conventions pour une écriture uniforme et cohérente de
la langue arabe. Cela inclut la standardisation de l’orthographe, des diacritiques et des formes de
caractères afin de faciliter la communication et la compréhension dans les différents contextes
où l’arabe est utilisé. La normalisation permet d’assurer une harmonie et une clarté dans la
langue. Elle facilite également la création de ressources linguistiques et la mise en place de
technologies de traitement automatique de cette langue (voir figure 2.12).
FS-SFAX Page 22
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
2.3.2.4 S TEMMING
Chaque mot est formé à partir d’une racine, à laquelle nous ajoutons des affixes pour former
différents mots. Prenons par exemple, la racine (ktb) elle peut être utilisée pour former
les mots (kateb, écrivain), (kitab, livre), (kataba, il a écrit), etc.
Pour effectuer le Stemming en arabe, nous pouvons nous servir des algorithmes basés sur
la segmentation morphologique, qui permettent d’extraire la racine d’un mot en analysant sa
structure.
Cette méthode peut être utile dans de nombreux domaines tels que : la recherche
d’informations, l’analyse de sentiments, la classification de textes, la traduction automatique
et d’autres applications de traitement automatique du langage naturel.
Dans notre projet, pour la classification de textes nous avons utilisé deux types de
Stemming : Arabert et ArabStemmer.
ArabStemmer C’est une bibliothèque open source utilisée pour le traitement du langage
naturel arabe, qui fournit des fonctionnalités de radicalisation de cette langue. Elle implémente
l’algorithme de radical arabe, permettant de réduire les mots à leur racine ou à leur forme de
base en supprimant les préfixes et les suffixes. Les algorithmes de recherche de radicaux utilisés
dans Arabstemmer sont basés sur des règles grammaticales de l’arabe.
Arabstemmer est conçu pour être utilisé avec la bibliothèque de traitement du langage
naturel NLTK (Natural Language Toolkit) en Python. Cela permet aux développeurs de l’utiliser
pour les racines arabes dans leurs projets de traitement de textes.
Nous pouvons normaliser les mots arabes en les réduisant à leur forme de base, ce qui
peut améliorer la précision des modèles de traitement de textes pour des tâches telles que la
classification (voir figure 2.13).
FS-SFAX Page 23
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Concernant le Stemming dans Arabert, il n’y a pas de fonction dédiée à cette tâche.
Cependant, il prend en charge la tokenisation arabe qui divise le texte en mots individuels ou
"jetons". Cela signifie que les mots arabes sont normalisés et prêts à être utilisés par les modèles
de traitement de textes.
De plus, Arabert prend en charge la dérivation de mots, une technique similaire à Stemming
qui consiste à les réduire à leur forme racine ou de base. Cela permet au modèle de gérer les
variantes de mots et d’améliorer sa précision dans les tâches de traitement de textes.
En résumé, bien qu’Arabert n’ait pas de fonction Stemming dédiée, il prend en charge la
tokenisation et la dérivation des mots, ce qui aide à normaliser ceux qui sont en arabes pour une
utilisation efficace dans les modèles de traitement de textes (voir figure 2.14).
FS-SFAX Page 24
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Arabert et ArabStemmer sont deux outils de traitement automatique du langage naturel pour
la langue arabe, mais ils utilisent des approches différentes pour le traitement des mots.
D’un autre côté, ArabStemmer est un outil de Stemming (ou racinisation) pour la langue
arabe. Il utilise des algorithmes basés sur la segmentation morphologique pour extraire la racine
des mots et les réduire à leur forme canonique. Il est aussi utile pour regrouper les variantes d’un
même mot et faciliter le traitement de grandes quantités de textes arabes.
En résumé, Arabert est utilisé pour des tâches de traitement de langage naturel plus
complexes, tandis qu’ArabStemmer est employé pour la racinisation et la simplification des
mots arabes.
Nous allons présenter une description générale de notre système de classification, en mettant
en évidence son aspect conceptuel. Nous allons également détailler chaque phase du processus
de classification en citant les principaux algorithmes et techniques utilisés.
FS-SFAX Page 25
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
La figure 2.15 décrit comment l’apprentissage automatique est utilisé pour identifier les
centres d’intérêt des utilisateurs, en suivant un ensemble de décisions stratégiques prises lors de
la conception de notre code Python.
FS-SFAX Page 26
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
FS-SFAX Page 27
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Une fois que nous avons extrait les informations pertinentes, il est essentiel de passer à
la phase de Transformation pour pouvoir utiliser des algorithmes de Machine Learning. Les
machines ne peuvent pas comprendre directement les caractères et les mots présents dans
les données textuelles, c’est pourquoi nous devons les représenter sous forme de vecteurs
numériques afin qu’elles puissent être interprétées par la machine. Cette étape de transformation
est donc cruciale pour pouvoir utiliser efficacement les données textuelles dans le cadre d’un
modèle de Machine Learning.
TF-IDF (Term Frequency-Inverse Document Frequency) est une mesure statistique utilisée
pour évaluer l’importance d’un mot dans un document par rapport à un corpus de documents et
le TfidfVectorizer calcule cette mesure.
TF : mesure le nombre de fois qu’un mot apparaît dans un document et plus il apparaît plus
il est considéré comme important.
IDF : est l’inverse de la fréquence dans les documents (IDF). Il mesure le degré
d’importance du mot dans son corpus de documents. Celui-ci peut être plus ou moins important.
Le TfidfVectorizer prend en entrée une liste de documents et crée une matrice creuse où
chaque ligne représente un document et chaque colonne représente un mot unique.
FS-SFAX Page 28
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Les valeurs dans la matrice sont les scores TF-IDF pour chaque mot dans chaque document
(voir figure 2.16). Les documents qui ont des mots en commun recevront des scores similaires
à ces mots, ce qui permettra d’identifier des similarités et des différences entre les documents.
Lors de la création d’un modèle d’apprentissage automatique, il est important de diviser les
données disponibles en deux ensembles distincts : un ensemble pour l’entraînement et un autre
pour l’évaluation ou les tests.
L’ensemble d’entraînement est utilisé pour former le modèle, en ajustant les paramètres et
les poids à l’aide d’algorithmes d’apprentissage. L’objectif est de créer un modèle capable de
prédire les sorties attendues pour de nouvelles données d’entrée.
L’ensemble de test, quant à lui, est utilisé pour évaluer la performance du modèle après
l’entraînement. Les données de test ne sont pas utilisées pour le former, ce qui permet de
mesurer sa précision et sa fiabilité sur des données inconnues.
Nous répartissons nos données comme suit : 80 % pour les données utilisées pour
l’apprentissage et 20 % pour les données de test.
FS-SFAX Page 29
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
C’est une étape cruciale dans la création d’un projet d’intelligence artificielle qui est
souvent appréciée par les Data Scientists. Elle consiste à choisir, paramétrer et tester différents
algorithmes de Machine Learning afin de valoriser les données et d’entraîner les modèles.
Pour cela, il est important de bien définir les besoins et de choisir le bon algorithme en
fonction de la problématique. Dans le domaine du Machine Learning, il existe de nombreux
algorithmes tels que SVM, KNN, XGBoost, Adaboost, etc.
En fonction de notre problématique, nous avons choisi de travailler avec SVM, Logistic
Regression, KNN, L’arbre de décision et Naive Bayes.
L’évaluation et la validation d’un modèle de Machine Learning sont des étapes essentielles
pour s’assurer que le modèle apprenti est capable de prédire correctement même sur de
nouvelles données.
Cette étape consiste à mesurer les performances du modèle en utilisant des métriques
spécifiques.
Il existe plusieurs métriques pour évaluer la performance d’un modèle de Machine Learning,
en fonction du type de problème et des objectifs de la tâche.
Dans notre cas, nous avons choisi l’utlisation des métriques les plus fréquentes.
T P +T N (2.1)
Accuracy = T P +T N +F P +F N
. Precision : mesure la proportion de vrais positifs parmi toutes les prédictions positives
effectuées par le modèle.
TP (2.2)
P recision = T P +F P
FS-SFAX Page 30
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
. Recall : mesure la proportion de vrais positifs parmi toutes les occurrences réelles de la classe
positive dans les données.
TP (2.3)
Recall = T P +F N
. F1Score : une mesure combinée de la Precision et du Recall qui prend en compte à la fois les
vrais positifs et les faux positifs.
P recision+Recall (2.4)
F 1Score = 2 ∗ P recision+Recall
Dans ce qui suit, nous présentons les résultats de différents modèles utilisés dans notre
travail.
Le tableau 2.1 présente les résultats des métriques choisies de la classification à partir du
modèle SVM.
La figure 2.17 présente une comparaison entre les matrices de confusion correspondantes
respectivement aux résultats de prédiction après un traitement par Arabert et Arbstremmer.
FS-SFAX Page 31
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Le tableau 2.2 présente les résultats des métriques choisies de la classification à partir du
modèle LogisticRegression .
La figure 2.18 présente une comparaison entre les matrices de confusion correspondantes
respectivement aux résultats de prédiction après un traitement par Arabert et Arbstremmer.
FS-SFAX Page 32
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Le tableau 2.3 présente les résultats des métriques choisies de la classification à partir du
modèle KNN.
La figure 2.19 présente une comparaison entre les matrices de confusion correspondantes
respectivement aux résultats de prédiction après un traitement par Arabert et Arbstremmer.
FS-SFAX Page 33
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Le tableau 2.4 présente les résultats des métriques choisies de la classification à partir du
modèle Desicion Tree .
La figure 2.20 présente une comparaison entre les matrices de confusion correspondantes
respectivement aux résultats de prédiction après un traitement par Arabert et Arbstremmer.
FS-SFAX Page 34
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Le tableau 2.5 présente les résultats des métriques choisies de la classification à partir du
modèle Naive Bayes.
La figure 2.21 présente une comparaison entre les matrices de confusion correspondantes
respectivement aux résultats de prédiction après un traitement par Arabert et Arabstemmer.
FS-SFAX Page 35
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Après avoir réalisé cinq modèles différents, nous avons pu constater que le modèle SVM
(Support Vector Machine) se démarque nettement en termes de performances. Parmi tous les
modèles testés, il s’est avéré être le plus efficace pour notre problématique spécifique. Ses
capacités de classification et de séparation des données ont clairement surpassé celles des autres
modèles.
2.4.2 Arabert
Ce modèle, qui est le plus adéquat, est préformé pour le traitement du langage naturel arabe.
Nous avons choisi de l’utiliser et d’effectuer un Fine-Tuning sur lui en se réfèrant à notre
base de données collectée dans le premier sprint.
FS-SFAX Page 36
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
La lecture des textes consiste à lire un fichier .csv ligne par ligne. En effectuant à chaque
étape une segmentation sur le champ texte et en insérant des masques d’une façon aléatoire
permet de faciliter l’apprentissage du modèle et de créer des liaisons entre les parties segmentées
représentant ainsi le corps du traitement du Langage Naturel comme le montre la figure 2.23.
FS-SFAX Page 37
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
FS-SFAX Page 38
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Pour l’analyse des centres d’intérêt des utilisateurs sociaux, nous avons appliqué le transfert
transductif dont les tâches sont les mêmes, mais les domaines sont différents. Dans ce
contexte,nous avons utilisé 80% de la base de données pour la partie d’apprentissage illustrée
par la figure 2.24.
RÉALISÉE
Pour rendre notre projet accessible à un public plus large, nous avons pris la décision de
créer un site web qui résume nos idées. Nous comprenons que tout le monde n’a pas une
compréhension approfondie de l’informatique, c’est pourquoi nous avons opté pour un moyen
plus simple dans la présentation de notre projet. En condensant les informations essentielles et
en utilisant un langage clair et accessible, nous pouvons communiquer nos idées de manière
plus compréhensible pour tous.
Notre application se compose de deux interfaces : une interface d’accueil et une interface
résultat. L’interface d’accueil permet à l’utilisateur de soumettre facilement le texte arabe à
analyser, tandis que l’interface résultat utilise des techniques avancées pour extraire et classifier
les centres d’intérêt.
FS-SFAX Page 39
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Nous avons proposé de suivre l’architecture api REST. Le terme API (Application
Programming Interface) est un ensemble standardisé de classes, méthodes, fonctions et
constantes qui servent de frontal à travers lequel le logiciel offre des services à d’autres
logiciels. Il est généralement accompagné d’une documentation qui explique comment les
consommateurs peuvent consommer les services offerts par le programme fournisseur. La mise
en place d’une API permet une répartition des rôles entre le client et le serveur. Ainsi, nous
pouvons imaginer une reformulation totale du design graphique de l’application sans avoir
recours au code coté client ou serveurs.
FS-SFAX Page 40
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
Cette interface se concentre sur l’analyse des centres d’intérêt présents dans le texte arabe
soumis.
Une fois que l’utilisateur a fourni le texte à analyser, notre application utilise des algorithmes
sophistiqués pour analyser le contenu, détecter les mots-clés, identifier les sujets dominants et
les regrouper en catégories pertinentes. Ces résultats sont ensuite présentés de manière claire et
compréhensible, permettant aux utilisateurs de visualiser le centre d’intérêt abordé dans le texte
comme le montre la figure 2.27 :
FS-SFAX Page 41
CONSTRUCTION DE L’APPLICATION DE PROFILAGE DES UTILISATEURS
SOCIAUX
2.5.4 Conclusion
FS-SFAX Page 42
C ONCLUSION ET P ERSPECTIVES
Durant ce stage, nous nous sommes concentrées sur le problème du profilage des utilisateurs
des réseaux sociaux à partir de leurs données sociales partagées sur Facebook. Notre objectif
était de développer une application web capable d’analyser les posts partagés et d’identifier
les centres d’intérêt dégagés. Pour cela, nous avons commencé par établir le contexte général
du projet. Après avoir présenté la problématique de base, nous avons tenu à élaborer une
solution répondant aux besoins fonctionnels et non fonctionnels. Ensuite, nous avons procédé à
la collecte de notre base de données, suivi du développement de la solution, et enfin évalué nos
résultats.
La mise en place d’une telle solution s’est avérée complexe. Au cours de ce stage, nous
avons découvert les domaines du traitement du langage naturel (NLP), du développement web
et de l’analyse des profils utilisateurs. Le manque de données et de statistiques détaillées a
également été un frein pour notre projet. Malgré ces défis, nous avons réussi à répondre à la
problématique posée en utilisant les ressources à notre disposition.
En conclusion, la solution que nous avons proposée et développée répond aux attentes.
Cependant, il serait possible d’améliorer les résultats en mettant en place de nouvelles solutions
de collecte des données sociales. Cette amélioration permettrait d’obtenir des résultats plus
cohérents avec le marché en plein essor de l’analyse des réseaux sociaux.
FS-SFAX Page 43
BIBLIOGRAPHIE
[1] ANTOUN, Wissam, BALY, Fady, et HAJJ, Hazem. Arabert : Transformer-based model for
arabic language understanding. arXiv preprint arXiv :2003.00104, 2020.
[4] MATHIEU-DUPAS, Eve. Algorithme des k plus proches voisins pondérés et application en
diagnostic. In : 42èmes Journées de Statistique. 2010.
[5] FREUND, Yoav et MASON, Llew. The alternating decision tree learning algorithm. In :
icml. 1999. p. 124-133.
[7] SARITAS, Mucahid Mustafa et YASAR, Ali. Performance analysis of ANN and Naive
Bayes classification algorithm for data classification. International journal of intelligent
systems and applications in engineering, 2019, vol. 7, no 2, p. 88-91.
FS-SFAX Page 44