• Aucun résultat trouvé

Résultats sur Jeux de données synthétiques

Chapitre 4 : JFact et SnVera

4.3. SnVera

4.3.7. Résultats et interprétations

4.3.7.1. Résultats sur Jeux de données synthétiques

4.3.8. Résultats sur les données réelles issues de la presse sénégalaise ... 101

4.4. Conclusion ... 103

82

4.1. Introduction

Une des problématiques fondamentales de l’automatisation du fact-checking est la modélisation de la véracité. La résolution de ce problème passera forcement par la mise en place d’algorithmes capables d’évaluer la véracité d’un fait en tenant compte de son caractère subjectif et temporel. Ces algorithmes devront être testés sur des données semblables à celles de l’environnement de production c’est-à-dire l’environnement web journalistique. Ainsi, la réussite ou l'échec d’un algorithme s'explique très souvent à partir des caractéristiques des données de test.

Dans la première section de ce chapitre, nous présentons JFact, un générateur automatique de jeux de données synthétiques réalistes pour les algorithmes de fact-checking. Notre objectif ici est de fournir aux chercheurs un générateur de datasets rapide et aux résultats personnalisables en fonction des besoins en complexité. Dans la section 2, nous présentons un algorithme son-supervisé de Fact-checking à fort conflit d’opinions. Nous rappelons que le phénomène de sources en conflits matérialise l’actualité de la presse. Il exprime la possibilité d’existence de valeurs multiples pour un même objet (couple sujet-prédicat). Ainsi, plusieurs sources aux fiabilités inégales peuvent exprimer des valeurs identiques ou divergentes pour la même propriété du même sujet. Cet algorithme adopte une approche itérative pour calculer la véracité d’un fait suivant la connaissance des fiabilités des sources du domaine. Une étude comparative entre SnVera et d’autres algorithmes de fact-checking est aussi effectuée dans ce chapitre.

4.2. JFact

4.2.1. Description de l’API

JFact est un générateur de datasets à valeurs numériques suivant une ou plusieurs propriétés. Il est implémenté en JAVA version 1.8.0.121 disponible gratuitement en téléchargement à sourceforge.net80. JFact adopte une approche de génération de données basée sur la liberté de la source à la production d’une valeur et sur le phénomène des sources en conflits. L’objectif visé ici est de reproduire le comportement de l’environnement web journalistique et produire rapidement des datasets de tests personnalisables en fonction des besoins en complexité. Cette personnalisation peut se faire suivant le nombre de sources, le nombre de sujets, le nombre de propriétés, la répartition de la valeur vraie etc.

Nous nous inspirons du mode de production des articles de la presse en ligne. Notre approche est basée sur les deux principes : La liberté de la source à la participation et la production multiple.

• La liberté de la source à la participation : Contrairement à l’approche de la fiabilité initiale [6], nous considérons dans notre modelé que la fiabilité initiale de la source n’influe en rien sur la

83 proportion de valeurs vraies produites par une source ni sur leurs fréquences. Une source n’est pas toujours tenue de produire une valeur pour tous les objets du corpus. Nous cherchons ainsi à respecter un caractère fondamental du web journalisme : la liberté d’une source à la production d’une valeur. Cette considération fera que le nombre total de faits dans le dataset ne soit plus égale au produit entre le nombre d’objets et de sources. Nous introduisons alors un nouveau paramètre : l’indice de participation 7& . Cet indice symbolise le nombre d’objets pour lesquels une source produira une valeur. C’est une valeur aléatoire affectée à chaque source. L’indice de participation 7& est compris entre 0, ! avec M étant le nombre maximum de valeurs par source fixée (passée en paramètre) par l’utilisateur ;

La production multiple : Une source peut produire plusieurs valeurs pour le même objet mais à des dates différentes. Nous tentons ici de reproduire les phénomènes de mis à jour, de correction et de contribution de la presse en ligne.

4.2.2. Mode de fonctionnement et Architecture La génération d’un jeu de données se fait en 6 étapes :

(1) La récupération des arguments : JFact prend en entrée cinq paramètres : Le chemin du dossier de destination local (-D), le nombre maximum de sujets (-O), le nombre maximum de propriétés par sujet (-P), le nombre de sources (-S) et le nombre maximum de valeurs distinctes possible par objet (-M). Une fois ces informations transmis, JFact crée un dossier nommée JFACT dans l’emplacement indiqué après le paramètre -D. Les sous dossiers OBJETS, SOURCES et VALEUR_VRAIES y sont aussi créés.

(2) La génération des sources : Les premières données générées sont les sources. En effet, JFact va générer dans le dossier SOURCES un fichier nommé sources.csv contenant les 9:;<=>?5 sources et leurs fiabilités initiales arbitrairement fixées. 9:;<=>?5 est le paramètre accompagnant le –S dans la commande d’exécution (voir tableau 16).

84

Tableau 16 Vision partielle du fichier Sources.csv

(3) La génération des objets : Les objets (couple sujet-propriétés) sont générés à leur tour dans le dossier OBJETS. NbSujets sujets sont ainsi génères avec pour chacun, @ABCDE propriétés.

NbSujets représente le paramètre après le -O et @ABCDE représente le paramètre après le –P.

A chaque objet, il lui est affectée une valeur aléatoire NbVal compris entre 0 et MaxVal (le paramètre après –M). Par exemple si ABCDE = F , @AGHI = F et JHKGHI = LMM alors nous aurons des faits à trois propriétés et à 100 valeurs distinctes possibles par propriété. Le tableau 17 montre un aperçu d’un fichier objet.csv.

85

Tableau 17 Vision partielle du fichier Objet34.csv

(4) Le choix des valeurs vraies : Parmi toutes les valeurs possibles pour un objet, une valeur vraie est choisie au hasard pour chaque objet et stockée dans le fichier valeurs_vraies.csv du dossier

VALEURS_VRAIES. Cette valeur permettra d’évaluer la précision des algorithmes. Pour

chacune de ces sources, un indice de participation 7 ∈ 1, 9:;=P5# est aléatoirement fixé. Cet indice symbolise le nombre d’objets pour lesquels la source devra produire une valeur. Le tableau 18 montre un aperçu du sujet des valeurs vraies.

Tableau 18 Vision partielle du fichier des valeurs vraies. Valeur 1 Valeur 2 Valeur 3 Valeur 4 Valeur 5 Sujets

86

(5) La génération des affirmations : Les affirmations <sujet, propriété1, propriété2, …, propriétéP, source, TimeStamp> peuvent maintenant être générées dans les dossiers les fichiers

AffirmationsX.csv du AFFIRMATIONS. X désigne ici le numéro du sujet c’est-à-dire que toutes les affirmations relatives à un sujet23 seront stockées dans le fichier Affirmations23.csv. Le tableau 19 donne un aperçu du fichier des affirmations Affirmations23.csv

Tableau 19 Aperçu du fichier des affirmations Affirmations23.csv.

(6) Calcule du maximum de sources en conflits : Une fois les affirmations générées, l’algorithme calcule le maximum de source en conflits.

La figure 30 montre l’architecture de JFact et son mode de fonctionnement.

87 4.2.3. Utilisation de JFact

Une fois le fichier de l’API téléchargé et décompressé, il faut se positionner avec la commande CD (sous Windows) à l’emplacement du jar. Voici la commande de base à personnaliser suivant la destination (-D), le nombre de source (-S), le nombre de sujets (-S), le nombre de propriétés (-P) et le nombre maximum de valeurs par objets (-M) souhaités.

Java -jar JFact.jar -Dpar1 -Spar2 -Opar3 -Ppar4 -Mpar5

Les parX avec Q ∈ 1,5 représentent les paramètres en entrée. Ils sont précédés respectivement par -D indiquant l’emplacement ou le chemin de génération des fichiers de sortie, -S un entier spécifiant le nombre total de sources, -O le nombre total d’objet, -P le nombre total d’attributs et -M le nombre maximum de valeurs par fait.

Pour illustrer (voir figure 31) le fonctionnement de JFact, nous avons généré un Dataset dans le disque local avec 300 sources, 60 sujets de 5 propriétés et 10 valeurs distinctes possibles au maximum par propriété. La commande est la suivante :

Java -jar JFact.jar -D"C:" –S300 -O60 -M10 -P5

88 Le tableau 16 montre un aperçu du model incertain et aléatoire des résultats de JFact avec les mêmes paramètres en entrée. Cette incertitude est le fruit de la fonction utilisée pour générer des taux de participation (le nombre d’objets auxquels la source doit produire une valeur) aléatoires. La commande suivante est ainsi répétée 4 fois :

Java -jar JFact.jar -D"C:" –S50 -O60 -M10 -P5

Tableau 20 Caractère aléatoire de JFact

N° Nb_sources Nb_sujets Max_val Nb_Faits Max_conflits 1 50 60 10 1861 55 2 1854 55 3 1802 51 4 1807 52 4.2.4. Etude comparative

Dans cette partie nous montrons une étude comparative entre JFact et les autres Datasets. Pour ce faire, nous avons reproduit les mêmes conditions en nombre de sources (Nbsources), de sujets (Nbsujets), et de propriétés (NbProp) que les autres Datasets cités ci-haut. Le tableau 21 synthétise les résultats trouvés. Nous vérifions par la suite deux paramètres : la taille du jeu de données (NbAffirmations) et le nombre maximum de sources en conflit (Maxconflits).

Tableau 21 Etude comparative entre JFact et les autres datasets

Datasets Nbsources Nbsujets NbProp NbAffirmations Maxconflits Book dataset 877 1263 1 32 235 20 JFact dataset 822216 737 Population dataset 4 264 41196 1 49 985 11 JFact dataset 4003844 7342 Flight dataset 38 34652 6 2864985 14 JFact dataset 9162400 178 Weather dataset 16 6375 5 365890 17 JFact dataset 78412 29 Biography dataset 771132 1863248 9 10862648 60 JFact dataset 71889777 6707

Vous noterez avec nous que JFact fourni des résultats assez convaincants avec un nombre de faits et un nombre de source en conflit nettement supérieurs à ceux des autres datasets existant avec pourtant les mêmes données en entrée. Même dans le cas où le nombre de faits fourni par JFact est inférieur

89 (comparaison avec Weather dataset), vous remarquerez que le nombre de source en conflit de JFact est nettement supérieur à celui du dataset mis en comparaison.

En somme, JFact permet de produire des datasets pour fact-checking tenant compte des différents aspects de l’environnement réel web journalistique. Aussi, l’utilisateur a le choix de le paramétrer en fonction de ses besoins en complexité.

4.3. SnVera

4.3.1. Description

Dans la plus part des modèles de fact-checking de la littérature [21] [4] [18] [6], la véracité est déduite des fiabilités des sources qui affirment le fait et inversement, la fiabilité d’une source, de la confiance accordée à ses faits [4] [18]. Ainsi, il était possible de calculer la véracité d’un fait (la confiance) connaissant la fiabilité des sources l’ayant exprimé. Nous faisons allusion ici des sources de confirmations c’est dire les sources qui proposent la même valeur que celle du fait en question. Une étude de la bibliographie montre que très peu de modèles s’intéressent à la fiabilité des sources infirmant le fait [4] et aucun de ces modèles ne l’utilisent pour déterminer la véracité d’un fait et parallèlement la fiabilité de sa source.

SnVera [131] est un algorithme de vérification des faits basé sur la confrontation des opinions, c’est-à-dire, l’utilisation de la connaissance du domaine comme élément clé dans le processus de fact-checking. SnVera est une version améliorée de l’algorithme SenFact [46] que nous avons proposé en 2017. En effet, tous les deux introduisent la notion de scores de confirmation et de score de contestation. Ils (les deux algorithmes) se distinguent par leurs méthodes de calcul de la véracité des faits.

Dans notre approche, nous considérons que la connaissance des sources infirmant le fait (les sources de contestation) est un élément clé dans le calcul de la véracité. Cette approche consiste donc à faire ressortir la véracité d’un fait en utilisant d’autres faits du corpus.

4.3.2. Hypothèses

D’abord (i) nous partons du fait qu’une source S peut produire un ensemble de faits et que le même fait peut apparaitre dans plusieurs sources avec ou pas la même valeur T. Les faits sont alors répartis dans les sources et ces dernières peuvent en contenir plusieurs.

Ensuite (ii) nous pensons que la véracité d'un fait ne dépend pas du nombre de liens qu’elle reçoit (approche du ranking) ni du nombre de fois qu’elle est citée dans d’autres sources pertinentes (approche de référence). Elle ne dépend pas non plus seulement des fiabilités des sources le confirmant mais aussi, de celles l’infirmant. Ainsi, avant de vérifier un fait il est nécessaire de répondre aux deux

90 questions suivantes : Existent-ils dans le corpus d’autres faits avec des opinions (valeurs) différentes ? Quelles crédibilités accorder à leurs sources ? En y répondant, nous serions en mesure de déterminer le domaine de définition D, c’est-à-dire, l’ensemble des valeurs possibles et par une confrontation de ses valeurs, de déduire la véracité du fait et parallèlement la fiabilité de sa source. Ceci montre l’étroite relation existante entre la fiabilité et la véracité. Nous savons aussi que certains sites copient naïvement une information d’une autre source sans pour autant s’assurer de sa véracité. Dans un tel cas de figure, se limiter seulement à la fiabilité des sources de confirmation nous induirait en erreur. C’est l’exemple de la fameuse citation81 imaginaire sur Wikipédia attribuée au compositeur Maurice Jarre peu après sa mort par l’étudiant irlandais Shane Fitzgerald pour démontrer à quel point les journalistes sont dépendants des informations circulant sur Internet. Une fausse citation reprise par plusieurs journaux anglo-saxons.

Aussi (iii), nous considérons que les poids du vote ne sont pas égaux. Ainsi, une source ne contribue qu’à hauteur de sa fiabilité. C’est l’exemple du système électoral américain82 à scrutin indirect avec ses grands électeurs. En effet, à chaque Etat est attribué un nombre de grands électeurs qui éliront par la suite le président. Les Etats ne sont pas considérés de la même manière donc n’ont pas le poids de vote. De même, nous ne pouvons accorder le même poids de vote à mon blog83 qu’à un site officiel tel que Wikipédia.

Enfin (iv), nous considérons que la fiabilité d’une source est en fonction de la véracité des faits mais aussi du nombre de faits qui lui sont attribués. Ainsi, plus un fait est confirmé par des sources fiables plus sa véracité sera élevée de même, plus un fait sera infirmé par des sources fiables plus sa fiabilité sera réduite.

4.3.3. Le calcul de la fiabilité

Notre modèle s’inspire du calcul de la fiabilité de l’algorithme TrustFinder [58]. En effet, de même qu’avec TrustFinder, nous considérons que le nombre de faits |V&| attribués à une source est un élément considérable dans le calcul de la fiabilité et parallèlement de la véracité de ses faits. La fiabilité est donc en fonction de la véracité de ses faits 0" W mais aussi du nombre de faits qui lui sont attribués X&. Voici la notation utilisée par l’algorithme TrustFinder (voire formule 17) pour calculer la fiabilité

Y" S de la source s où c"de ? désigne la confiance accordée au fait c de la source s à l’itération

précédente (i-1) et |V&|, l’ensemble des faits attribués à la source s.

81

http://www.lefigaro.fr/medias/2009/05/06/04002-20090506ARTFIG00627-des-journaux-pieges-par-une-fausse-citation-sur-wikipedia-.php visité le 30/09/2018

82https://fr.wikipedia.org/wiki/%C3%89lection_pr%C3%A9sidentielle_am%C3%A9ricaine visité le 10/03/2018

91 Y" S = f ∈ghc"de ?

V&

(17)

Dans notre modelé la fiabilité Y" S d’une source à l’itération i est retrouvée en sommant la véracité

0" W du nouveau fait émis à l’itération i avec la fiabilité Y"de S de la source à l’itération précédant

i-1. Y"de S est fiabilité de la source à l’itération précédente, c’est-à-dire, la somme des véracités de ses faits. |X&"de| est le nombre de faits produits par la source à l’itération i-1 (voire formules 18 et 19)

Y"de S = 0 "de W i ∈jhklm |X&"de| (18) Y" S =Y"de S + 0" W 2 (19)

Suivant cette notation, vous constaterez avec nous que plus la taille du corpus de l’itération |X&"de | est importante moins l’est la fiabilité de la source. Ainsi, une fiabilité de 0,4 sur un corpus de 50 faits sera moins considérée qu’une fiabilité de 0,4 sur un corpus de 100000 faits.

4.3.4. Le calcul de la véracité

Afin de représenter la véracité et la fiabilité, la majorité des algorithmes de vérification des faits utilise soit la technique de l’étiquetage soit la technique du scoring. La technique de l’étiquetage attribue une étiquette (vraie ou fausse) à chaque affirmation et celle du score, un poids (une valeur) le plus souvent sous la forme de probabilité compris entre 0 et 1. L'avantage de l'étiquetage est que les résultats sont réutilisables mais ne fournit pas de score de confiance précis accordé aux faits. Cela fait que nous optons pour la technique du score. Nous modélisons alors la véracité et la fiabilité non pas comme des valeurs bivalentes (vraies ou fausses) mais plutôt comme des scores compris entre 0 et 1 avec un seuil de coupure entre les faits faux et ceux vrais fixés de 0,5. Un fait exact aura alors un score de véracité 0" W ≅ 1 et un fait faux 0" W ≅ 0. Ceci fait que dans notre approche, nous ne n’utilisons donc pas le terme « vrais faits » mais plutôt « potentiels vrais faits ». A chaque itération une étape de normalisation est appliquée à 0" W 5# Y" S en les divisant respectivement par qrs( 0" W ) 5# qrs( Y" S ) afin de les borner de 0 à 1. Dans notre approche, contrairement aux autres, nous déterminons d’abord deux scores de confiance avant d’aboutir à la véracité 0" W .

Le premier représente le score de confirmation v" W . Il correspond à la moyenne de fiabilité des sources confirmant le fait, c’est-à-dire, l’ensemble des sources Sx ∈ ;x avec ;x ⊆ ; proposant la même valeur v pour le prédicat p du fait f (voir formule 20). Le deuxième représente le score de contestation 9" W correspondant à la moyenne de fiabilités des sources contestant le fait , c’est-à-dire, l’ensemble des sources Sz ∈ ;z avec ;z ⊆ ; proposant des valeurs différentes pour le prédicat

92

p du fait f (voir formule 21). Dans un corpus S, pour chaque itération i, la véracité d’un fait 0" W est obtenue après confrontation du score de confirmation v" W et celui de contestation 9" W du fait. Etudier la véracité d’un fait dans un tel modèle revient ainsi à chercher l’existence d’un assez grand nombre de sources fiables Sx ∈ ; le confirmant (voir formule 22)

v" W = log ;x . Y " S & ∈ Ä |;x| (20) 9" W = log ;z . Y " S & ∈ Å |;z| (21) VÉ f = ( YÉ f ) Ö | YÉ f + NÉ f | (22)

Les figures 32 et 33 montrent respectivement le fonctionnement de l’algorithme de calcul de la fiabilité et de celui du calcul de la véracité. F représente l’ensemble des faits, N le score de contestation, Y le score de confirmation, R la fiabilité finale de la source et V la véracité du fait. Le tableau 22 donne les détails de l’interprétation des résultats de 0" W .

93

Figure 33. Algorithme de calcul de la véracité

Tableau 22 Interprétation des résultats potentiels

Nous considérons donc que plus un fait est confirmé par des sources fiables plus sa véracité est grande et inversement plus un fait est contesté par des sources fiables, plus sa véracité est réduite. Dans

áHà EDààâAIäà ãäàåIçHçà éHAäI Interpretation

9" f = 0 VÉ f = v" f Vrai Le fait vrai v" f = 0 VÉ f = 0 Faux Le fait est faux v" f = 9" f 0" f = v" f 2 A moitié Vrai Le fait est ambigüe v" f ≠ 9" f Et v" f > 9" f 0" f = ( v" f ) Ö | v" f + 9" f | Probablement Vrai Le fait est probablement vrai avec un score de 0" f v" f ≠ 9" f Et 9" f > v" f 0" f = ( v " f ) Ö | v" f + 9" f | Probablement faux Le fait est probablement faux avec un score de 0" f AND

94 le même sillage, la fiabilité d’une source est en fonction de la véracité de ses faits mais aussi de la taille de son corpus (nombre de faits). Ainsi, plus une source produit des faits confirmés par des sources fiables, plus sa fiabilité est élevée.

4.3.5. Evaluation du modèle

4.3.5.1. Constitution des corpus

4.3.5.1.1. Jeux de données synthétiques

Nous avons utilisé l’API JFact pour générer 10 jeux de données synthétiques pour les algorithmes de fact-checking. Du dataset 1 à 3 nous avons fixé le nombre de sources à 500 puis, nous augmentons progressivement le nombre de sujets de 300 jusqu’à 1000. Le même procédé est répété du dataset 4 au dataset 10 mais inversement. En effet, ici nous fixons le nombre de sujets à 500 et augmentons progressivement le nombre de source de 500 jusqu’à 10 000. Par ce procédé, nous cherchons à identifier laquelle de ces deux variables, influe plus sur la précision des algorithmes.

Voici la commande JFact utilisée pour générer les jeux de données de Jdataset1 à Jdataset10. Ici le ∝ représente le nombre de sources et ò le nombre d’objets. La valeur après le –P indique le nombre de propriété et celle suivant le –M indique le maximum de valeurs possible par objet. Le –D indique naturellement la destination du résultat.

Java -jar D:/JFact.jar -D"D:" -S∝ -Fò -P1 -M20

Pour chaque jeu de données nous avons recueilli le nombre maximum d’affirmations (les faits) et le nombre maximum de source en conflit. Le tableau 23 montre les détails des datasets.

Tableau 23 Datasets synthetiques

Datasets Nombre de

sources Nombre de sujets Nombre de Faits Max de sources en conflits Dataset1 500 300 110 969 300 Dataset2 800 298 401 438 Dataset3 1000 377 270 442 Dataset4 500 500 187 827 430 Dataset5 800 294 643 666 Dataset6 1000 376 144 830 Dataset7 2000 747 187 1604 JDataset8 3000 1 114 692 2377 JDataset9 5000 1 875 888 3987 JDataset10 1000 3 735 138 7709

95 4.3.5.1.2. Jeux de données réelles (SnDataset)

Nous avons utilisé le module FactExtract (à voir dans le chapitre précèdent) pour extraire automatiquement des affirmations à partir de la presse en ligne sénégalaise et constituer un jeu de

Documents relatifs