Fake News Detection Using Machine Learning
Fake News Detection Using Machine Learning
Mémoire De Master
{
mes chers parents,
mes frères et sœurs,
mes enseignants et mes chers amis,
2 Machine Learning 14
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Types de Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 Apprentissage supervisé . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Apprentissage non supervisé . . . . . . . . . . . . . . . . . . . 25
2.3.3 Apprentissage semi-supervisé . . . . . . . . . . . . . . . . . . 25
2.3.4 Apprentissage par renforcement . . . . . . . . . . . . . . . . . 25
i
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3 Conception du système 27
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Architecture générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Architecture détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.1 Pré-traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.2 Apprentissage: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.3 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4 Implémentation et résultats 38
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Outils utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.1 Logiciels utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.2 Langages utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.3 Bibliothèques utilisées . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.4 Struts 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.5 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Application: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.4 Résultats et discussion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4.1 Pré-traitement: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4.2 Apprentissage: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Conclusion Générale 58
Liste des Figures
1.1 Processus de Web Mining. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1 Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 Weka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3 Algorithme Analayzer en java . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4 Algorithme Porter en java . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5 LibSvm en java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.6 WhatsMate Translation API en java . . . . . . . . . . . . . . . . . . . . . 43
4.7 Modèle-vue-contrôleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.8 Interface d’accueil de l’application . . . . . . . . . . . . . . . . . . . . . . . 47
4.9 Fenêtre de Pré-traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.10 Fenêtre d’entraînement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
iii
4.11 Fenêtre de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.12 Fenêtre d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.13 Résultat de l’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.14 Influence des différentes caractéristiques sur le taux de reconnaissance . . . 54
Liste des Tableaux
4.1 Taux de reconnaissance en fonction du nombre de mots fréquent pour le
sac à mots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2 Différents taux de reconnaissance des n-grams. . . . . . . . . . . . . . . . . 53
4.3 Différents taux de reconnaissance des k*(n-grams). . . . . . . . . . . . . . 53
4.4 Valeur du taux par rapport au noyau. . . . . . . . . . . . . . . . . . . . . . 54
4.5 Valeurs optimales des paramètres du noyau Gaussien . . . . . . . . . . . . 57
1
Introduction Générale
C
es dernières années, le phénomène des Fake News a connu une propagation très
importante favorisée par les réseaux sociaux.
Ces fausses nouvelles peuvent être diffusées pour des objectifs différents. Certaines sont
fabriquées seulement pour augmenter le nombre de clicks et de visiteurs sur un site,
d’autres pour influencer l’opinion publique sur les décisions politiques ou sur les marchés
financiers en impactant la réputation des entreprises et institutions sur le Web.
Une étude menée par l’économiste Roberto Cavazos de l’université de Baltimore permet
de se rendre compte de l’impact direct de ces Fake News sur l’économie.
Selon l’étude donc, au moins 400 millions de dollars ont été dépensés pour la diffusion
de Fake News dans les campagnes politiques lors des dernières élections en Inde (140
millions de dollars en 2019), au Brésil (34 millions de dollars en 2018), au Royaume-uni (1
million de dollars), en France (586.000 euros), en Australie (828.000 dollars), au Kenya (20
millions de dollars), en Afrique du Sud (2,7 millions de dollars) ou au Mexique (642.000
dollars) par exemple.
Et les États-Unis ne sont pas en reste, puisa une étude menée par l’université de
Princeton sur la consommation de Fake News pendant la campagne américaine de 2016
a révélé que les fausses informations représentaient 2,6% de tous les articles d’actualité
publiés lors de la fin de la dernière course à la présidence en 2016 remportée par Donald
Trump. Ceci n’est qu’un échantillon témoignant de l’intérêt de détecter les Fake News.
Parmi les principales méthodes pour identifier ces fausses nouvelles : les règles linguis-
tiques qui détermine le sentiment dégagé par les mots d’un commentaire puis classer ce
dernier dans des catégories différentes; ou bien l’apprentissage automatique supervisé qui
permet d’entraîner le système sur une base pour classer les nouvelles informations, cet
apprentissage contient plusieurs algorithmes qui peuvent être utilisés en fonction de la
demande.
Dans ce mémoire, nous allons présenter une méthode pour détecter les fausses nouvelles
qui se base sur l’utilisation de:
2
supprimant les mots vides et les caractères spéciaux.
• Extraction des caractéristiques: qui permet de mieux identifier une fausse in-
formation, tel que la source, l’auteur, la date et le sentiment dégagé par le texte.
1. Etat de l’art sur la détection des fausses informations: englobant les dif-
férentes définitions concernant les fausse nouvelles et le domaine du Web Mining.
2. Machine learning: expliquant son principe et les méthodes utilisées dans la dé-
tection des fausses nouvelles.
3
1
Chapitre
État de l’art sur: la détection des fausses
nouvelles
[]
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 La signification des fausse nouvelles . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Les composants des fausses nouvelles . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Créateur/Diffuseur de fausses nouvelles . . . . . . . . . . . . . . . . 6
1.3.2 Contenu d’actualité . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 Contexte social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Les modèles de détection des fausses nouvelles . . . . . . . . . . . . . . . . 8
1.5 Impact global sur différents domaines . . . . . . . . . . . . . . . . . . . . 9
1.6 Web Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.1 Processus du Web Mining . . . . . . . . . . . . . . . . . . . . . . . 10
1.6.2 Objectifs du Web Mining . . . . . . . . . . . . . . . . . . . . . . . 10
1.7 Opinion Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7.2 Méthodes d’analyse . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.8 Travaux connexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4
Chapitre 1. État de l’art sur: la détection des fausses nouvelles
1.1 Introduction
L
e but de ce chapitre est de présenter d’une part quelques rappels indispensables et
nécessaires à la compréhension de ce mémoire et d’autre part faire une synthèse
bibliographique de quelques problèmes liés au domaine des Fake News, ceux dédiés plus
précisément à l’étude de la gestion des réseaux sociaux.
Nous présentons dans un premier temps tout ce qui concerne les fausses nouvelles et
ensuite, la façon de les détecter. Nous allons mettre l’accent sur le Web Mining en se
basant sur l’Opinion Mining.
• Volume: le volume des fausses nouvelles est très grand tel que tout le monde
peut facilement écrire de fausses nouvelles sur Internet et sans aucune procédure de
vérification.
• Variété: il existe plusieurs sources des fausses nouvelles: les rumeurs, les nouvelles
satiriques, les fausses critiques, les fausses informations,les fausses publicités, les
théories du complot, les fausses déclarations des politiciens,...etc.
5
Chapitre 1. État de l’art sur: la détection des fausses nouvelles
• Rapidité: l’apparition des fausses nouvelles est très rapide, Ceci complexifie leur
détection par les systèmes de contre-mesures.
• Créateur / Diffuseur: les créateurs de fausses nouvelles en ligne peuvent être des
humains ou non.
• Victimes ciblées: les victimes des fausses nouvelles peuvent être des utilisateurs
de médias sociaux ou d’autres récentes plates-formes. Selon les objectifs de la nou-
velle, les cibles peuvent être des étudiants, des électeurs, des parents, des personnes
âgées...etc.
• Contexte social: le contexte social indique comment les nouvelles sont diffusées
sur Internet. L’analyse du contexte social inclut l’utilisateur, l’analyse du réseau
(comment les utilisateurs en ligne sont impliqués dans les actualités) et l’analyse du
modèle de diffusion.
Il est important de montrer qui est derrière la fausse nouvelle et pourquoi elle est écrite
et partagée tout au long de la vie sociale. Le créateur/diffuseur des fausses nouvelles peut
être soit un humain, soit non.
• Humain: les robots sociaux ou les Cyborgs ne sont que les porteurs de fausses
nouvelles sur les médias sociaux. Ces comptes automatiques sont programmés pour
diffuser de faux messages par des humains, qui cherchent à perturber la crédibilité
de la communauté sociale en ligne.
6
Chapitre 1. État de l’art sur: la détection des fausses nouvelles
• Non-humain: les robots sociaux ou les Cyborgs sont les créateurs non-humains les
plus courants, de fausses nouvelles. Ce sont des programmes informatiques conçus
pour afficher des comportements similaires à ceux des humains, et pour produire
automatiquement du contenu et interagir avec les humains via les médias sociaux,
diffuser des rumeurs, des spams, des logiciels malveillants, des informations erronées.
Chaque nouvelle est constituée d’un contenu d’actualité physique et d’un contenu
d’actualité non-physique.
Exemple, chaque jour, des millions de commentaires sont publiés sur des plate-
formes de vente en ligne, ces avis biaisés sont de gros problèmes pour les marques
et les clients en ligne, non seulement ils vont affecter la décision du processus de la
fabrication, mais aussi ils peuvent facilement détruire la réputation d’une marque.
7
Chapitre 1. État de l’art sur: la détection des fausses nouvelles
1. Modèle basé sur les connaissances: l’approche fondée sur les connaissances
a pour objectif d’utiliser des sources pour vérifier les faits dans le contenu des
actualités.
2. Modèle basé sur le style: les éditeurs des fausses nouvelles utilisent certains
styles d’écriture spécifique nécessaire pour faire appel à un véritable article de
presse, tel que les mots neutres, décrivant les événements avec des faits. Une
meilleure qualité d’écriture (en tenant compte des mots épinglés, ponctuation
et longueur des phrases).
• Modèles du contexte social: les réseaux sociaux fournissent des ressources sup-
plémentaires aux chercheurs pour compléter et améliorer les modèles de contexte
d’actualité. Les modèles du contexte social sont aussi utilisés pour la détection des
rumeurs et l’identification des faux contenus sur Facebook. Ces modèles sont en
fonction de la position et de la propagation.
1. Basé sur la position: c’est un processus qui peut déterminer les sentiments
dégagés par l’utilisateur, en faveur, contre ou neutre. Il existe deux façons
pour représenter la position de l’utilisateur explicite ou implicite. Les positions
explicites sont celles où les lecteurs ont donné des expressions directes, comme
le pouce vers le haut ou le pouce vers le bas. Les positions implicites sont les
positions où les sentiments extraits des publications sur les réseaux sociaux.
8
Chapitre 1. État de l’art sur: la détection des fausses nouvelles
1. Dans les médias en ligne, les fausses nouvelles permettent de donner de l’ampleur
aux faux comptes, (ex; récupération de maximum de clicks et d’adhérents).
2. Influence les propagandes politiques, en affectant les décisions de vote lors des élec-
tions;
9
Chapitre 1. État de l’art sur: la détection des fausses nouvelles
10
Chapitre 1. État de l’art sur: la détection des fausses nouvelles
ou encore pour une réservation d’hôtel. Et donc un commentaire peux détruire facilement
la réputation d’une marque ou un produit. D’où les outils de Web Mining s’intéresse a
analyser les opinions des internautes qui s’y expriment spontanément et en temps réel.
[BL12].
1.7.1 Définition
L’Opinion Mining c’est l’étude qui analyse les opinions, les sentiments, les évaluations,
les attitudes et les émotions des gens à partir de leurs écrits. L’importance croissante de
l’analyse des sentiments coïncide avec la croissance des réseaux sociaux tels que Facebok
et Twitter. Pour la première fois dans l’histoire de l’humanité, nous avons maintenant un
énorme volume de données appelé big data d’opinion enregistrées sous forme numérique
pour les classer en trois catégories: positive, négative et neutre [Liu12].
Le but de l’analyse d’opinion est de déterminer si le sentiment dégagé par une phrase
est positif ou négatif, qui dépend du contexte dans lequel elle est utilisée, du type de
langage, ainsi que de la personne qui l’a écrite. Il existe plusieurs façons d’analyser
automatiquement les sentiments. Parmi les méthodes les plus populaires, on cite [VC12]:
11
Chapitre 1. État de l’art sur: la détection des fausses nouvelles
• Les auteurs de [GM17] présentent une approche simple pour la détection de fausses
nouvelles en utilisant un classificateur Bayesien naïf. Cette approche est testée par
rapport à un ensemble de données extraites des messages d’actualités Facebook. Ils
proclament pouvoir atteindre une précision de 74%.
• Les auteurs de [Sau18] décrivent Comment les utilisateurs des réseaux sociaux peu-
vent s’assurer de la vérité des informat, comment les critères du vrai et du faux
se définissent. Ils décrivent aussi les mécanismes qui permettent leur validation et
le rôle des journalistes ou ce qu’il faut attendre des chercheurs et des institutions
officielles.
12
Chapitre 1. État de l’art sur: la détection des fausses nouvelles
1.9 Conclusion
Dans ce chapitre, les différents concepts des fausses nouvelles ont été présentés. Nous
avons vu leur signification, caractéristiques ainsi que les différents modèles utilisés pour
leur détection. L’application du Data Mining dans le Web et particulièrement l’Opinion
Mining a permis d’apporter des solutions intéressantes a ce problème. Dans le chapitre
suivant, nous allons nous concentrer précisément sur les méthodes d’apprentissage au-
tomatique et choisir la méthode qui convient le mieux au problème de détection des
fausses nouvelles.
13
2
Chapitre
Machine Learning
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Types de Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 Apprentissage supervisé . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Apprentissage non supervisé . . . . . . . . . . . . . . . . . . . 25
2.3.3 Apprentissage semi-supervisé . . . . . . . . . . . . . . . . . . 25
2.3.4 Apprentissage par renforcement . . . . . . . . . . . . . . . . . 25
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1 Introduction
L
es fausses nouvelles en ligne et les rumeurs étant souvent réduites mais de grandes
conséquences. Les traitements par les techniques linguistiques traditionnelles et
d’incorporation tel que le sac à mots ou le n-gram constituent une bonne approche pour
leur détection et analyse. Cependant, ceci n’est pas suffisant pour extraire les fausses nou-
velles, vu l’évolution continue de la langue utilisée ainsi que les limites présentés par ces
méthodes pour la prise en charge de plusieurs aspects tel que les relations entre les mots et
certaines caractéristiques relatives au réseaux sociaux tel que l’url, auteur, le temps,...etc.
Pour en remédier, les techniques d’apprentissage automatique, sont des algorithmes puis-
sants d’intégration du langage naturel, utilisés dans la détection de fausses nouvelles et
même dans la détection des rumeurs ou des satires. Dans ce chapitre, nous allons voir
dans un premier temps, la description, les types et la modélisation de l’apprentissage
automatique ainsi que ses méthodes les plus utilisées dans les systèmes de détection des
14
Chapitre 2. Machine Learning
2.2 Description
Le Machine Learning, ou apprentissage automatique en français, est un sous-domaine
de l’intelligence artificielle (IA). Il a pour objectif de comprendre la structure des données
et de les intégrer dans des modèles qui peuvent être compris et utilisés pour tester d’autre
données. Le Machine Learning est né grâce aux technologies de reconnaissance de pattern
et à la théorie selon laquelle les ordinateurs peuvent apprendre sans être programmés pour
effectuer des tâches spécifiques (ex; classification, régression). Les chercheurs intéressés
par l’intelligence artificielle souhaitent vérifier si les ordinateurs pouvaient apprendre à
partir de données et s’adapter avec les nouvelles données [L17].
Ce type d’apprentissage utilise comme entrée des données qui sont étiquetés avec les
sorties souhaitées. L’algorithme apprend en comparant la sortie réelle de l’entrée avec
la sortie prédite, pour trouver des erreurs et modifier le modèle en conséquence jusqu’à
arriver au meilleur taux de reconnaissance. L’apprentissage supervisé utilise donc des
modèles pour prédire les valeurs d’étiquettes sur des données non-étiquetées dites données
de test [L17].
15
Chapitre 2. Machine Learning
C1
données
Entrainement Modele supervisé Prédiction
étiqitée C2
f :x æ Y
f (x) = y
Les caractéristiques X peuvent être des valeurs numériques, alphanumériques, des im-
ages...etc, quant à la variable prédite Y, elle peut être de deux catégories [Ben17]:
• Variable discrète: la variable à prédire peut prendre une valeur d’un ensemble
fini de valeurs (qu’on appelle des classes). Par exemple, pour prédire si un mail est
un spam ou non, la variable Y peut prendre deux valeurs possible:
• Variable continue: la variable Y peut prendre des valeurs dans un domaine con-
tinu. Pour illustrer cette notion, on peut penser à un algorithme qui prend en
entrée des caractéristiques d’un véhicule, et tentera de prédire le prix de ce dernier
(la variable Y).
• La classification
16
Chapitre 2. Machine Learning
• La régression
Exemple:
Dans l’image ci-dessus, les ronds en bleu représentent la classe des mail non-spam,
et les croix rouges peuvent représenter des spam. Par contre, l’image à droite est
une classification multi-classes , car nous avons trois classes possibles: les triangles,
les croix et les carrés.
17
Chapitre 2. Machine Learning
Avantages:
Inconvénients:
tel que:
Avantages:
(b) Prise en charge d’une nouvelle donnée ne nécessitant pas de refaire tous
les calculs.
Inconvénients:
(a) Nécessite l’indépendance entre les attributs ce qui est rare dans la réalité.
18
Chapitre 2. Machine Learning
Avantages:
Inconvénients:
19
Chapitre 2. Machine Learning
20
Chapitre 2. Machine Learning
On va choisir tout simplement la droite qui maximise l’écart entre les deux
classes. Dans l’exemple suivant, on prend le carré rouge le plus proche du cer-
cle bleu puis, on trace une droite qui maximise la distance entre eux de sorte
que la droite soit exactement au milieu et que la généralisation de l’algorithme
soit optimale.
H(x) = wT x + b
Où:
Il reste toujours un problème: que faire lorsque notre jeux de données n’est pas
linéairement séparable?
21
Chapitre 2. Machine Learning
Astuce du noyau l’idée est d’appliquer une transformation sur nos don-
nées pour pouvoir les séparer linéairement. L’algorithme transforme l’espace
d’entrée, en un espace de dimension supérieure, appelé espace de redescription,
Y
ÎwÎ2
_ 1
_
_
_
_
Minimiser 2
]
sous contraintes (2.2)
_
_
_
_
_
[ yi (wT xi + b) Ø 1 ’i = 1..n
22
Chapitre 2. Machine Learning
Y
_ qn 1 qn qn
_
_
_
_
M aximiser L(–) = k=1 –k ≠ 2 i=1 j=1 –i –j yi yj < „(xi ), „(xj ) >
]
_ Avec
_
_
_ qn
_
[ –i Ø 0 et k=1 –k yk = 0
(2.3)
n
ÿ
h(x) = –kú yk K(xk , x) + b (2.5)
k=1
23
Chapitre 2. Machine Learning
– Noyau RBF: les noyaux RBF Radial Basis functions sont des noyaux
qui peuvent être écrits sous la forme : K(xi,x j)=f(d(xi,x j)) où d est une
métrique sur x et f est une fonction dans <.
Un exemple des noyaux RBF est le noyau Gaussien :
|x≠y|2
k(x, y) = e (2.8)
≠
2ú“ 2
Inconvénients:
24
Chapitre 2. Machine Learning
Ce type d’apprentissage multiplie les tentatives pour tenter de découvrir quelles actions
apportent les plus grandes récompenses. Ce type d’apprentissage regroupe trois princi-
paux composants: l’agent (qui apprend ou prend les décisions), l’environnement (tout ce
avec quoi l’agent interagit), et les actions (ce que peut faire l’agent). L’objectif était que
l’agent choisisse les actions qui maximisent les récompenses attendues sur une période
donnée. L’agent atteindra ce but plus rapidement en suivant des règles bien établies.
L’objectif de l’apprentissage par renforcement est donc d’apprendre les meilleures règles
25
Chapitre 2. Machine Learning
[L17].
2.4 Conclusion
Dans ce chapitre, nous avons vu la description et le principe de fonctionnement des
différents types de l’apprentissage automatique, ainsi que les définitions, les avantages
et inconvénients des algorithmes de l’apprentissage supervisé les plus utilisées dans la
détection des fausses nouvelles.
Dans le chapitre suivant, nous allons présenter la conception de notre solution pour le
problème.
26
3
Chapitre
Conception du système
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Architecture générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Architecture détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.1 Pré-traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.2 Apprentissage: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.3 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1 Introduction
D
ans ce chapitre nous aborderons une description générale de notre système, en met-
tant en évidence son coté conceptuel du pré-traitement qui constitue une étape
fondamentale avant la mise en oeuvre de notre système, ensuite nous détaillerons chaque
phase en citant les principaux algorithmes et techniques utilisées dans chacune des phases.
27
Chapitre 3. Conception du système
28
Chapitre 3. Conception du système
3.3.1 Pré-traitement
Notre objectif est d’extraire les meilleures caractéristiques permettant de détecter une
Fake News. On commence par le pré-traitement des données du dataset brute qui sont
subdivisées en trois catégories: les données textuelles, les données catégorielles et les
données numériques qui représentent respectivement: le texte de la nouvelle, la source
de la nouvelle avec son auteur enfin la date et le sentiment dégagé par la nouvelle. Le
pré-traitement de chaque catégorie est effectué à travers un ensemble d’opérations:
– Nettoyage: consiste à éliminer les mots vides tel que a, about, am, you, are...
et les caractères spéciaux tel que !, ?, :, ;, , ... et toute information non utile,
dans notre cas il s’agit des chiffres dans le texte.
– Steaming: consiste à transformer les mots utiles en des racines par exemple,
les mots actor, acting , reenact sont tous transformés en la même racine act.
29
Chapitre 3. Conception du système
ú Sac à mots: dans ce modèle, le texte est représenté sous forme de vecteur
contenant ses mots, sans tenir compte de leur ordre, mais en gardant la
multiplicité. Cette technique est principalement utilisée pour calculer dif-
férentes mesures qui caractérisent le texte par exemple, le mot le plus
répété dans l’ensemble des documents c-à-d le dataset appelé corpus. Mais
le problème ici est que, un mot qui se répète dans tout le corpus ne veut
pas dire qu’il est vraiment important ou il caractérise un document pré-
cis. Pour résoudre ce problème, la fréquence du terme est pondérée par
l’importance du document dans le corpus. Dans notre système nous avons
utilisé la méthode TF-IDF [AZ12].
TF-IDF (Term Frequency-Inverse Document Frequency) est une mesure
statistique permet d’évaluer l’importance d’un terme contenu au sein d’un
document, dans un corpus. Le poids augmente proportionnellement au
nombre d’occurrences du mot dans le document. Cette méthode est utilisée
dans des moteurs de recherche pour apprécier la pertinence d’un document
à une requête [AZ12].
Plusieurs formules de calcul ont été proposé pour cette méthode. Dans
notre travail nous avons utilisé la formule suivante:
TF(t) = Nombre d’apparition du terme t dans le document (n) / Nombre
total de termes dans le document, en gardant la multiplicité de chaque
terme (k).
n
T˙F t =
k
IDF(t)= Nombre totale des documents (D)/ Nombre des documents citant
ce terme (Ḋt ).
IDF˙ t = log D
Ḋt
ú N-gram: dans cette technique, le texte est représenté sous forme de vecteur
contenant des blocs de mots, en tenant compte de leur ordre, et en gardant
la multiplicité [AZ12].
30
Chapitre 3. Conception du système
– Encodage: pour les source nous avons utilisé une simple numérotation tel que
dans l’exemple de la figure suivante:
Pour les auteurs, nous avons créé un encodage spécial et évité d’utiliser la
numérotation simple, car l’inconvénient de cet encodage est que, les algo-
rithmes d’apprentissage peuvent considérer que la source ’1’ et la source ’2’
sont proches, alors qu’en réalité ça peux être faux. Pour cette raison nous avons
créé notre propre encodage pour convertir le nom de l’auteur en numérique,
de telle sorte que les auteurs de la même source soient proches entre eux par
rapport aux auteurs des autres sources.
Nous avons créé alors une liste contenant deux champs le premier pour la source
et le deuxième pour ses auteurs, puis nous avons remplacé chaque auteur par
son numéro d’index en rajoutant la somme des tailles des sources précédentes
plus un. La figure suivante illustre un exemple où:
31
Chapitre 3. Conception du système
Selon les experts chaque mot a un degré de sentiment qui permet de le classer en
trois classe [PL08]:
32
Chapitre 3. Conception du système
Voici un échantillon de la liste des mots et leurs degrés que nous avons utilisé pour
calculer le sentiment dégagé par chaque information.
3.3.2 Apprentissage:
• Entraînement: pour entraîner notre modèle, nous avons choisis l’algorithme que
nous avons déjà présenté dans le chapitre précédent; la machine à vecteurs de sup-
port, pour deux raison:
1. Parce qu’il donne les meilleures résultats au niveau du Texte Mining [ATS17].
33
Chapitre 3. Conception du système
Y
_
] Dec > 0 p = Dec
ú 100
M axdec
(3.1)
_
[ Sinon p= Dec
M indec
ú 100
Où:
34
Chapitre 3. Conception du système
VP
P = (3.2)
V P + FP
VP
R= (3.3)
V P + FN
2úP úR
F = (3.4)
P +R
35
Chapitre 3. Conception du système
3.3.3 Utilisation
C’est la dernière phase et la plus importante dans notre système. Après être arrivé
au meilleur taux de reconnaissance, ou après avoir construit le meilleur modèle dans la
phase précédente, nous devons l’utiliser sur des nouvelles informations non étiquetées, et
le modèle nous permet de prédire la classe de la nouvelle si elle est fausse ou vraie avec
un degré de confiance comme suit:
36
Chapitre 3. Conception du système
3.4 Conclusion
Ce chapitre a décrit la conception de notre système et il a présenté la démarche suivie
dans ses différentes phases. Dans le chapitre suivant, nous allons décrire le fonctionnement
de notre application mettant en oeuvre le système proposé.
37
4
Chapitre
Implémentation et résultats
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Outils utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.1 Logiciels utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.2 Langages utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.3 Bibliothèques utilisées . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.4 Struts 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.5 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Application: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.4 Résultats et discussion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4.1 Pré-traitement: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4.2 Apprentissage: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.1 Introduction
L
’implémentation d’un système informatique, désigne sa réalisation et sa mise en oeu-
vre, pour passer à l’interaction avec les utilisateurs. L’objectif de ce chapitre est de
présenter les outils (les logiciels, les langages, les bibliothèques et les données utilisés dans
notre système, ensuite nous aborderons l’application, puis nous discuterons les résultats.
38
Chapitre 4. Implémentation et résultats
Dans notre travail nous avons utilisé l’environnement Eclipse pour la phase du pré-
traitement et le logiciel Weka pour l’entraînement et la validation. Pour l’utilisation nous
avons créé une application Web, en intégrant le Weka et le Framework 1
Struts2 dans
l’environnement Eclipse IDE pour Java EE Developers.
• Eclipse IDE pour Java EE Developers: c’est un logiciel pour les développeurs
Java créant des applications JavaEE et Web [Bur05].
39
Chapitre 4. Implémentation et résultats
industrielles, il contient aussi un accès à des boîtes bien connues telles que Scikit-
Learn, R et Deeplearning4j [HDW94] .
Dans notre travail nous avons le langage Java en premier lieu pour le pré-traitement
de la base ensuite pour l’application web nous avons intégré le Framework Struts2 qui
englobe les langages: HTML, CSS et JavaScript pour l’interface, ainsi que le langage
JavaEE pour le traitement.
• Java: c’est une technique informatique développée initialement par Sun Microsys-
tems puis acquise par Oracle. C’est un langage de programmation orienté objet qui
regroupe plusieurs logiciels, frameworks, bibliothéques, ...etc [AGHH00].
• JavaEE: (Java Entreprise Edition) est une évolution du Java destinée à une utili-
sation "côté serveur" pour un système d’information de l’entreprise [JCNE+ 14].
40
Chapitre 4. Implémentation et résultats
• CSS: Cascading Style Sheets, c’est un langage qui décrit la présentation des docu-
ments HTML et XML [Mey04].
Dans chaque phase de notre travail nous avons eu besoin d’intégrer quelques biblio-
thèques, d’abord, en pré-traitement où nous avons utilisé deux bibliothèques Analyzer et
Porter, ensuite dans la deuxième phase nous avons entraîner les données de notre dataset
avec l’algorithme de la machine à vecteurs de support en utilisant la bibliothèque LibSvm
que nous avons intégré dans Weka. A la fin, à l’étape de l’utilisation nous avons fait appel
à WhatsMate Translation API pour traduire les informations entrées par les utilisateurs
en anglais.
41
Chapitre 4. Implémentation et résultats
• Porter: un des algorithmes les plus connus pour le steaming d’un mot c’est a dire
le transformer à son radical en supprimant ses préfixes et suffixes, développé par
Julie Beth Lovins en 1968 et Martin Porter en 1980 [Wil06].
• SMO: L’optimisation minimale séquentielle inventée par John Platt en 1998 chez
Microsoft Research, un algorithme pour résoudre le problème de programmation
quadratique (QP) qui se pose lors de la formation des machines à vecteurs de support
(SVM) [Pla98].
• LibSvm: est une bibliothèque de machine learning open source populaire, dévelop-
pée à la National Taiwan University, écrite en C ++ avec une API C. LibSvm implé-
mente l’algorithme d’optimisation minimale séquentielle (SMO) pour les machines à
vecteurs de support (SVM), prenant en charge la classification(one-classe/binaire/multi-
classes) et la régression [CL11].
42
Chapitre 4. Implémentation et résultats
• WhatsMate Translation API : une API Rest qui permet aux applications de
traduire facilement des textes d’une langue à une autre [Wha].
43
Chapitre 4. Implémentation et résultats
4.2.4 Struts 2
4.2.4.1 Modèle-vue-contrôleur:
• Modèle: c’est l’ensemble des actions, les données à afficher. C’est les java beans,
les servlets, les bases de données.
• Vue: c’est l’aspect graphique du système. L’utilisateur interagit avec cette vue.
C’est les fichier JSP 2 .
• Controleur: c’est le traitement des requêtes du client fournis par Apache Tomcat,
c’est un des nombreux projets de l’Apache Software Foundation. Il implémente les
spécifications des servlets et des JSP du Java Community Process9, paramétrable
par des fichiers XML et des propriétés. Il comporte également un serveur HTTP.
C’est les Servlets, c’est une classe Java qui permet de créer dynamiquement des
données au sein d’un serveur HTTP. Ces données sont le plus généralement présen-
tées au format HTML, mais elles peuvent également l’être au format XML ou tout
autre format destiné aux navigateurs Web.
2
Code html qui encapsule du code java comme traitement, il peux integré le code css et java script
aussi. en étant un code html
44
Chapitre 4. Implémentation et résultats
4.2.5 Dataset
Comme n’importe quel système utilisant le Machine Learning, nous avons besoin d’un
dataset pour l’entrainer sur les données en utilisant ses algorithmes pour prédire la classe
des données de la base de test.
Le dataset de Fake News brute que nous avons utilisé et préparé, chaque information
a été transformée en un vecteur de caractéristiques et enregistrée dans un fichier CSV. Le
fichier est ensuite subdivisé en deux parties, une consacrée à l’entraînement et l’autre au
test et validation. Après la validation, nous somme passées à l’étape de l’utilisation qui
consiste à prédire la classe des nouvelles informations non étiquetées (vraie/fausse).
À notre connaissance, et d’après nos recherches un dataset publique pour les Fake
News contenant à la fois des fausses et vraies nouvelles contenant suffisamment de carac-
téristiques n’existe pas, ce qui nous a poussé à construire notre propre base. Nous avons
alors fusionné deux bases existantes "Getting Real about Fake News" contenant des fausses
nouvelles et "All the news" contenant les vraies nouvelles. Ces bases ont été obtenues du
site Kaggle qui est une plate-forme Web organisant des compétitions en science des don-
45
Chapitre 4. Implémentation et résultats
nées. Les entreprises proposent des problèmes en science des données et offrent un prix
aux data-logistes obtenant les meilleures performances. L’entreprise a été fondée en 2010
par Anthony Goldbloom.
1. Getting Real about Fake News: contient du texte et des méta-données extraits
de 244 sites Web marqués comme fausse par le détecteur BS Detector Chrome de
Daniel Sieradski, extraites à l’aide de l’API webhose.io. Cette base contient environ
12,999 publications sur les réseaux sociaux, divisés en 20 colonnes ayant des types
différents; catégorielles, numériques et textuelles.
2. All the news: contient du texte et des méta-données extraits de New York Times,
Breitbart, CNN, Business Insider, Atlantique, Fox News, Talking Points Memo,
Buzzfeed News, National Review, New York Post, The Guardian, NPR, Reuters,
Vox et le Washington Post, récupérés à l’aide de BeautifulSoup et stockées dans
Sqlite, découpé en trois fichiers CSV distincts. Cette base contient du texte et des
méta-données subdivisés en 10 colonnes ayant des types différents; catégorielles,
numériques et textuelles.
Après avoir pré-traité les deux bases et testé les caractéristiques une par une jusqu’à
arrivé au meilleur taux de précision. Nous avons obtenu un dataset qui contient 900
publications fausses et 975 publications réelles. Les caractéristiques finales:
• sentiment,
• source,
• auteur,
46
Chapitre 4. Implémentation et résultats
4.3 Application:
Dans notre application Web nous avons quatre fenêtres principales représentant les
différentes taches effectuées pour la détection des fausses nouvelles à savoir: le pré-
traitement, l’entraînement, le test et l’utilisation.
• Fenêtre de pré-traitement: c’est une fenêtre qui contient une brève description
de notre dataset et les étapes principales suivies pour le pré-traitement. Elle contient
aussi deux lien vers la source de dataset, pour mieux comprendre la description des
données, si l’utilisateur avait des données de la même structure, la fenêtre lui donnera
la main pour entrer les deux bases Fake et Real pour commencer le pré-traitement,
ensuite sauvegarder le résultat dans fichier CSV.
47
Chapitre 4. Implémentation et résultats
• Fenêtre d’entraînement: c’est une vue qui permet aux utilisateurs d’entraîner les
données et voir les performances du modèle (Rappel, Précision, Fmesure, Matrice
de confusion, taux correctes et incorrectes), en entrant un dataset ayant la même
structure que le notre, et en régalant les valeurs de SVM (Cost, gamma, kernel...).
L’utilisateur peut à la fin enregistrer le meilleur modèle obtenu.
48
Chapitre 4. Implémentation et résultats
49
Chapitre 4. Implémentation et résultats
• Fenêtre de test: c’est une fenêtre qui permet aux utilisateurs de tester des modèles
sur des bases autres que celles utilisées lors de l’entraînement. L’utilisateur doit alors
fournir un modèle entraîné et une base contenant des nouvelles déjà classées pour
obtenir les performance du modèle sur cette base.
50
Chapitre 4. Implémentation et résultats
51
Chapitre 4. Implémentation et résultats
4.4.1 Pré-traitement:
Dans cette phase nous avons essayé d’obtenir les meilleurs paramètres des deux tech-
niques sac à mot et n-gram qui donnent le meilleur taux de reconnaissance sur notre
base.
1. Sac a mots: pour cette technique nous avons aiguillé le nombre de mots les plus
fréquents pris de chaque commentaire. Cette opération est répétée plusieurs fois
jusqu’à arrivé au meilleure taux, en augmentant à chaque fois le nombre des mots
les plus fréquents. Sur le logiciel Weka et en utilisant la bibliothèque SM0, et avec
la validation croisée pour 10 parties, nous avons obtenues es résultats suivants:
Mots 3 5 7 10 15 20 25
Tableau 4.1: Taux de reconnaissance en fonction du nombre de mots fréquent pour le sac
à mots.
52
Chapitre 4. Implémentation et résultats
2. N-gram: pour cette technique, nous avons aiguillé le nombre de grams. Cette
opération a été aussi répétée plusieurs fois en augmentant la valeur du n à chaque
fois. Nous avons obtenu ces résultats:
Nous nous somme arrêtées à 2-grams et nous avons procédé à l’aiguillage du nombre
de blocs de mots les plus fréquents k. Nous avons obtenu les résultats suivants:
Ici le taux a continué à augmenter sans dépasser le taux obtenu par la technique
sac à mots. Ceci est dû à notre avis à deux possibilités: soit la petite taille du texte
de l’information, soit l’incompatibilité des n-grams avec la méthode TF-IDF. Nous
avons pensé alors à combiner les deux techniques.
53
Chapitre 4. Implémentation et résultats
Nous avons commencé par combiner 5 mots fréquents avec les 3*(2-gram) fréquents
ce qui nous a donné un taux de 52,30%. Ensuite, nous avons ajouté les autres
caractéristiques pour mesurer l’influence de chacune sur le taux de reconnaissance.
La figure suivante illustre les résultats:
4.4.2 Apprentissage:
Après le test des différents noyaux et leur tunning. Le tableaux suivant montre les
résultats obtenus par les différents noyaux.
54
Chapitre 4. Implémentation et résultats
Il est clair que les noyaux linéaire et polynomiale donnent les meilleurs résultats. Le
noyaux linéaire est sans paramètres et plus rapide cependant, théoriquement il n’arrive
pas à modéliser les cas de chevauchement compliqué des deux classes. Par contre le
noyaux Gaussien permet de modéliser tout type de chevauchement mais son taux dépend
des paramètres C (Cost), ‘ et “.
Nous avons étudié l’influence des ces paramètres sur la précision de l’apprentissage.
On observe une augmentation rapide du taux jusqu’à la valeur de 150, puis un léger
ralentissement avec stabilisation aux alentours du taux de 82% puis une baisse à
partir de la valeur de C=500.
55
Chapitre 4. Implémentation et résultats
56
Chapitre 4. Implémentation et résultats
Paramètres Cost “ ‘
4.5 Conclusion
Nous avons détaillé dans ce chapitre les différents outils utilisés pour la mise en oeuvre
de notre proposition ainsi que les résultats obtenus et leur discussion, Nous avons montré
qu’une représentation du texte des nouvelles par une combinaison des techniques de sac à
mot et N-gram avec un encodage adéquat des auteurs et le noyaux Gaussien de la méthode
SVM donnent des taux de reconnaissance très élevés.
57
Conclusion Générale
C
e mémoire présente une méthode de détection des fausses nouvelles en utilisant la
machine à vecteurs de support, en essayant de déterminer les meilleures caractéris-
tiques et techniques permettant de mieux identifier une fausse nouvelle.
Nous avons commencé par étudier le domaine des fausses nouvelles, leur impact et les
méthodes de leur détection.
Nous avons ensuite conçu et implémenté une solution qui se base sur l’utilisation
des techniques de nettoyage, steaming, encodage par N-gram, sac à mots et TF-IDF
pour le pré-traitement des textes brutes des nouvelles, ensuite l’extraction des autres
caractéristiques permettant d’identifier une fausse nouvelle. À la fin nous avons appliqué
l’algorithme de la machine à vecteurs de support sur notre base de caractéristiques pour
construire un modèle permettant la classification des nouvelles informations.
A travers les recherches menées lors de cette étude, nous avons obtenus les résultats
suivants:
• l’analyse du sentiment dégagé par le texte est intéressante, toutefois elle serait plus
influente dans le cas de l’opinion mining.
• la méthode des N-gram donne un résultat meilleure que le sac à mots avec des bases
volumineuse et avec des textes de grandes tailles.
• les paramètres influençant la machine à vecteurs de support sont par ordre: Cost
C, gamma “ et epsilon ‘.
58
Toutefois, notre recherche n’a porté que sur un dataset de petite taille. a cause de la
conjoncture actuelle due a la pandémie du covid19, qui nous a empêché de profiter des
outils puissant de notre laboratoire d’informatique.
Le travail que nous avons réalisé pourrait être complété et poursuivi sous différents
aspects. Il serait pertinent d’étendre cette étude avec un dataset plus volumineux, et
d’évoluer son apprentissage supervisé par un autre en ligne pour une mise à jour continue
et intégration automatique des nouvelles fausses informations.
Bibliography
[Abd19] Djeffal Abdelhamid. Cour de classification, 2019. http:
//abdelhamid-djeffal.net/index.php?p=1_18_Cours, Université de
Biskra. (pages 17, 18, 19, 20, 24).
[AGHH00] Ken Arnold, James Gosling, David Holmes, and David Holmes. The Java
programming language, volume 2. Addison-wesley Reading, 2000. (page 40).
[AHC19] Sajjad Ahmed, Knut Hinkelmann, and Flavio Corradini. Combining machine
learning with knowledge engineering to detect fake news in social networks-a
survey. In Proceedings of the AAAI 2019 Spring Symposium, volume 12, 2019.
(page 8).
[ATS17] Hadeer Ahmed, Issa Traore, and Sherif Saad. Detection of online fake news
using n-gram analysis and machine learning techniques. In International
Conference on Intelligent, Secure, and Dependable Systems in Distributed
and Cloud Environments, pages 127–138. Springer, 2017. (pages 12, 33).
[AZ12] Charu C Aggarwal and ChengXiang Zhai. Mining text data. Springer Science
& Business Media, 2012. (page 30).
[BL12] Dominique Boullier and Audrey Lohard. Opinion mining et Sentiment anal-
ysis: Méthodes et outils. OpenEdition Press, 2012. (page 11).
60
[Bur05] Ed Burnette. Eclipse IDE Pocket Guide: Using the Full-Featured IDE. "
O’Reilly Media, Inc.", 2005. (page 39).
[CL11] Chih-Chung Chang and Chih-Jen Lin. Libsvm: A library for support vector
machines. ACM transactions on intelligent systems and technology (TIST),
2(3):1–27, 2011. (pages 42, 43).
[CRC15] Niall J Conroy, Victoria L Rubin, and Yimin Chen. Automatic deception
detection: Methods for finding fake news. Proceedings of the Association for
Information Science and Technology, 52(1):1–4, 2015. (page 12).
[GM17] Mykhailo Granik and Volodymyr Mesyura. Fake news detection using naive
bayes classifier. In 2017 IEEE First Ukraine Conference on Electrical and
Computer Engineering (UKRCON), pages 900–903. IEEE, 2017. (page 12).
[HDW94] Geoffrey Holmes, Andrew Donkin, and Ian H Witten. Weka: A machine
learning workbench. In Proceedings of ANZIIS’94-Australian New Zealnd In-
telligent Information Systems Conference, pages 357–361. IEEE, 1994. (page
40).
[JCNE+ 14] Eric Jendrock, Ricardo Cervera-Navarro, Ian Evans, Kim Haase, and William
Markito. The java ee 7 tutorial, volume 1. Addison-Wesley Professional, 2014.
(page 40).
[JMT09] Simon Holm Jensen, Anders Møller, and Peter Thiemann. Type analysis
for javascript. In International Static Analysis Symposium, pages 238–255.
Springer, 2009. (page 41).
[L17] Bastien L. Machine learning définition fonctionnement et
secteurs d’application, 2017. http://www.artificiel.net/
machine-learning-definition. (pages 15, 16, 25, 26).
[Liu12] Bing Liu. Sentiment analysis and opinion mining. Synthesis lectures on human
language technologies, 5(1):1–167, 2012. (page 11).
[MBNL99] Sanjay Kumar Madria, Sourav S Bhowmick, W-K Ng, and Ee-Peng Lim.
Research issues in web data mining. In International Conference on Data
Warehousing and Knowledge Discovery, pages 303–312. Springer, 1999. (pages
9, 10).
[Mey04] Eric A Meyer. Cascading style sheets: The definitive guide. " O’Reilly Media,
Inc.", 2004. (page 41).
[MKC18] Cédric Maigrot, Ewa Kijak, and Vincent Claveau. Fusion par apprentissage
pour la détection de fausses informations dans les réseaux sociaux. Document
numerique, 21(3):55–80, 2018. (page 12).
[PL08] Bo Pang and Lillian Lee. Opinion mining and sentiment analysis foundations
and trends in information retrieval vol. 2, 2008. (page 32).
[Pla98] John Platt. Sequential minimal optimization: A fast algorithm for training
support vector machines. 1998. (page 42).
[PLH09] Refaeilzadeh Payam, Tang Lei, and Liu Huan. Cross-validation. Encyclopedia
of database systems, pages 532–538, 2009. (page 35).
[Sau18] Florian Sauvageau. Les fausses nouvelles, nouveaux visages, nouveaux défis.
Comment déterminer la valeur de l’information dans les sociétés démocra-
tiques? Presses de l’Université Laval, 2018. (page 12).
[VC12] G Vinodhini and RM Chandrasekaran. Sentiment analysis and opinion min-
ing: a survey. International Journal, 2(6):282–292, 2012. (page 11).
[Wil06] Peter Willett. The porter stemming algorithm: then and now. Program, 2006.
(page 42).
[ZG20] Xichen Zhang and Ali A Ghorbani. An overview of online fake news: Charac-
terization, detection, and discussion. Information Processing & Management,
57(2):102025, 2020. (pages 5, 6, 9).