présentation - (CUI)

publicité
Algorithme pour le web
Géraldine Schneider
Application d’algorithmes de classification
automatique pour la détection des contenus
racistes sur l’Internet
Romain Vinot, Natalia Grabar, Mathieu Valette
École Nationale Supérieure des Télécommunications
Centre de Recherche en Ingénierie Multilingue - INALCO
Sommaire





Introduction
Constitution du corpus
Description des algorithmes
Résultats & Discussions
Conclusion
Introduction

Définition du problème

Internet



Grande quantité d’informations
Manque de maîtrise des contenus
Plusieurs méthodes développées pour pallier ce
problème
Introduction

2 approches développées

Filtrage des informations

par liste noire



liste d’URLs constituée au préalable
simple blocage des URL des sites indésirables
par mots clef


liste de mots clef constituée au préalable
simple blocage des pages contenant les mots clef
indésirables
Introduction

Filtrage par liste noire

simple blocage des URL des sites considérés
comme racistes
LIMITES:


méthode statique, pas intelligente
pour une validité de la méthode, besoin de mettre à jour
très régulièrement la liste car le web est en constante
évolution
Introduction

Filtrage par liste de mots clef

simple blocage des sites contenant au moins un des mots
clef de la liste
LIMITES:




méthode statique
pour une validité de la méthode, besoin de mettre à jour très
régulièrement la liste car la langue évolue
blocage sans connaître le contexte du mot, possibilité de traiter
du racisme dans un texte sans avoir de propos raciste
variabilité du contenu: utilisation de mots neutres avec sousentendus
Introduction

2 approches peu pertinentes si elles ne sont pas
accompagnées d’une analyse linguistique du
document

Combinaison d’indices venant de plusieurs niveaux
d’unités linguistiques
 Caractères
 Morphèmes
 Catégories syntaxiques
 Expressions complexes
 Isotopies sémantiques
 Code HTML
 …
Introduction

Méthode proposée dans l’article

Apprentissage automatique pour classifier de
manière automatique des textes selon 2
catégories


Raciste
Non raciste
CONSTITUTION DU CORPUS

Classification automatique sur des pages du
web



corpus différents des corpus habituels
web utilisé comme corpus: en particulier, corpus
basé sur les moteurs de recherche combinés à
des mots clefs dits sensibles
Expériences présentées

739 documents


286 pages racistes, 444 611 occurrences, 43 sites
453 pages antiracistes, 941 007 occ., 81 sites
CONSTITUTION DU CORPUS

2 étapes pour la constitution du corpus

Collecte massive de documents en interrogeant
manuellement ou automatiquement les sites

Classification manuelle des pages selon 6 catégories
 raciste
 antiraciste
 révisionniste
 antirévisionniste
 non pertinent
 indécidable
DESCRIPTION DES ALGORITHMES

Intervention des algorithmes au niveau lexical
avec manipulation des tokens des documents
comme unités descriptives

3 étapes:



Choix du type de document
Représentation vectorielle des documents
Choix de l’algorithme de classification
DESCRIPTION DES ALGORITHMES

Choix du type de document

Classification basée sur



du texte brut: suppression de tous les caractères non
alphabétique (chiffres, ponctuation)
du texte avec considération des nombres
du texte avec considération du code HTML
Influence des nombres et source HTML dans la
performance de la classification des documents?
DESCRIPTION DES ALGORITHMES

Représentation vectorielle des documents appelée
sac à mots
 Pour classifier ou comparer des documents, on peut
utiliser une représentation vectorielle de documents, puis
des mesures de distances et de similarité
 Un document est une suite de mots (ou d'étiquettes, de
lettres,etc…)
 Un vecteur est une suite de chiffres

Valeurs traitées dans un dernier temps par l’algorithme de
classification
DESCRIPTION DES ALGORITHMES

Exemple (représentation vectorielle)

4 documents à 2 dimensions (lexique constitué de 2 mots)


Doc1 = je je vais ; Doc2 = je je je je vais vais ;
Doc3 = je vais vais ; Doc4 = vais vais
4 vecteurs tirés des documents

V1 = {2,1} ; V2 = {4,2} ; V3 = {1,2} ; V4 = {0,2}
DESCRIPTION DES ALGORITHMES

Choix de l’algorithme de classification

3 algorithmes proposés et traités

Rocchio

K plus proches voisins (k-PPV)

Support Vector Machine (SVM)
DESCRIPTION DES ALGORITHMES

Algorithme ROCCHIO




un des plus vieux algorithme de classification
(1971)
méthode probabiliste, simple
permet de construire un vecteur représentatif
d'une catégorie à partir des documents pertinents
pour cette catégorie
traitement des données

construction d’un vecteur de classe
DESCRIPTION DES ALGORITHMES

Construction des vecteurs



normalisation des vecteurs
même méthode que pour la représentation
vectorielle
barycentre des exemples: coefficient positif pour
les exemples de la classe et négatif pour les
autres
DESCRIPTION DES ALGORITHMES

Construction du vecteur de la classe à partir des vecteurs des
documents jugés pertinents pour cette classe.
Classement des documents: calcul de la distance
euclidienne entre la représentation vectorielle du document
et celle de chacune des classes.
 document classé dans classe la plus proche
DESCRIPTION DES ALGORITHMES

Algorithme k-PPV



algorithme de reconnaissance des formes
apprentissage: stockage d’exemples étiquettés
classement: calcul de la distance euclidienne
entre la représentation vectorielle du document et
celle des exemples du corpus
Les k-éléments les plus proches sont
sélectionnés et le document est assigné à la
classe majoritaire
DESCRIPTION DES ALGORITHMES

Algorithme SVM

grande performance pour la classification
textuelle (1995)

pour 2 classes d’exemples donnés, but: trouver
un classificateur pour séparer les données et
maximiser la distance entre les 2 classes.

classificateur linéaire: hyperplan
DESCRIPTION DES ALGORITHMES

Plusieurs notions



Hyperplan: sépare les 2 ensembles de points (de documents)
Vecteurs de support: points les plus proches qui déterminent
l’hyperplan
Marge: hyperplan dont la distance minimale aux exemples est
maximale
RESULTATS & DISCUSSION

Performances des algorithmes



Rocchio: 0.89
10-PPV: 0.94
SVM: 0.95
Performance SVM > 10-PPV > Rocchio
Très bonnes performances pour les 3
algorithmes: supérieure à 0.9
RESULTATS & DISCUSSION

Erreurs de classification:

textes antiracistes mal classés
 textes littéraires: pas le style argumentatif de l’antiracisme
 textes à fin réthorique avec antiphrases et citations en
abondance

textes racistes mal classés
 textes idéologiques et politiques
 euphémismes en abondance
RESULTATS & DISCUSSION

Remarques


discours antiraciste: homogène
discours raciste: varié, exprimé dans des styles
variés
+ facile de classer un texte antiraciste
textes racistes jamais exprimés de manière explicite,
recours aux euphémismes et termes neutres
RESULTATS & DISCUSSION

Influence des nombres et code HTML


Légère amélioration de la performance des algorithmes
avec considération des nombres et code HTML
Texte brut
Avec nombres
Avec HTML
Rocchio
0.89
0.89
0.94
10-PPV
0.94
0.94
0.95
SVM
0.95
0.95
0.96
Amélioration de la performance plus pertinente sur les 30PPV
 0.92 sur texte brut
 0.96 avec code HTML
RESULTATS & DISCUSSION

Explications de ces influences

[Nombres]

caractéristiques racistes


dates récentes: référence à de nombreux faits divers, lien
avec la réalité actuelle
peu de référence historique
RESULTATS & DISCUSSION

Explications de ces influences

[HTML]

caractéristiques racistes




balise pics: affichage images, dessins, bannières, …
balise meta: notation de liste de mots clef
police arial et verdana
caractéristiques antiracistes

balise class: utilisation de Javascript
CONCLUSION

Algorithme de classification automatique



Fonctionne sur le même principe que le filtrage
des mots clef
Actualisation plus facile: réapprentissage
automatique
Difficultés


trouver la partie caractéristique du racisme: partie
infime d’un document
propos racistes implicites, euphémisation trop
forte
Téléchargement