Vous êtes sur la page 1sur 37

Classification & Clustering de

Documents Texte

Pr. T.RACHAD 1
Classification de Documents
Texte

Pr. T.RACHAD 2
Classification?
• La classification (catégorisation) est le processus qui permet d’attribuer à
chaque document dans un corpus la classe (les classes) le plus adéquat,
sachant que la liste des classes possibles est prédéfinie.

• Formellement, la tâche de la classification est une approximation d’une


fonction inconnue F : D × C → {0, 1}, qui pour chaque couple (d, c) ∈ D x C
retournera 1 si le document d appartient à la classe c, sinon elle retournera
0.

• La fonction M : D × C → {0, 1} qui est une fonction approchée de la fonction


F est appelée un classificateur ou modèle de classification qui va apprendre
la classification des nouveaux documents à partir de ceux qui sont déjà
classifiés.

Pr. T.RACHAD 3
Approches de Classification
• Deux approches de classification:

• Mono-label :chaque document appartient exactement à une seule classe. En


plus, si le nombre de classes possibles est exactement 2 alors on parlera de la
classification binaire.

• Multi-label: Un document peut être attribué à plusieurs classes


simultanément. Ce genre de classification peut être réalisé en se basant sur n
classificateurs binaires (un classificateur binaire par classe) tel que chaque
classificateur décide sur l’affectation d’un document à une classe
indépendamment des autres.

Pr. T.RACHAD 4
Applications de la Classification
• Indexation de texte

• Tri et filtrage de documents texte.


• Analyse de topics
• Analyse de sentiments
• Analyse d’intentions
• Analyse d’opinions
• Recommandation

Pr. T.RACHAD 5
Applications de la Classification (Indexation)
• L’indexation de texte est l’opération qui permet d’extraire à partir d’un
document texte les termes clés qui décrivent mieux son contenu et qui
appartiennent à un vocabulaire contrôlé.

• L’indexation de texte est utilisée principalement dans la recherche


d'information (information retrival) pour extraire à partir d’un corpus de
documents texte ceux qui répondent mieux à la requête de l’utilisateur qui
est même fondée sur la base des termes du vocabulaire.

• Les termes clés peuvent être vus comme des classes à attribuer aux
différents documents d’un corpus.

Pr. T.RACHAD 6
Applications de la Classification (Tri)
• Classifier une collection de documents en fonction de plusieurs
topics. chaque document appartient à exactement un topic.

• Exemples:
• Classification des articles de presse (Sport, Economie, Politique,
Social…)
• Classification des emails (Professionnel, Publicité, Evènement… )

Pr. T.RACHAD 7
Applications de la Classification (Filtrage)
• Il s’agit d’un tri de documents de texte selon un critère pour le quel
chaque document est considéré comme pertinent ou non pertinent.

• Exemples :
• Détection des emails spam
• Système de recommandation (publicité, e-Commerce,… )
• Traitement des feedbacks des clients.

Pr. T.RACHAD 8
Processus Général de Classification

Modèle de
Features extraction Features Selection Evaluation
classification

Pr. T.RACHAD 9
Feature extraction
• Un document texte ne peut pas être traité dans son format brute.

• Nécessité d’avoir un format plus structuré et plus représentatif du contenu d’un


document.

• Les représentations les plus courantes sont:


• Tokenized Document (segmentation, racinisation, lemmatisation)
• bag-of-words (bow)
• TF-IDF (Term Frequency–Inverse Document Frequency)
• Word2vec (https://arxiv.org/pdf/1301.3781.pdf)
• Doc2Vec (https://cs.stanford.edu/~quocle/paragraph_vector.pdf)
• GloVe (https://nlp.stanford.edu/projects/glove/)
• BERT (https://github.com/google-research/bert)

Pr. T.RACHAD 10
Feature Selection
• Les dimensions des vecteurs obtenus à l’issues de l’opération du « features
extraction » sont énormes. Il est nécessaire de réduire la taille de ces vecteurs en
sélectionnant juste les features qui sont les plus significatifs ou en combinant les
features similaires ou appartenant à la même famille .

• Ça peut commencer par supprimer les stop words, connecteurs grammaticaux,


mots courants.

• Calculer la pertinence (fréquence) de chaque feature et garder les 10% les plus
pertinent(naïf).

• Appliquer une LSA, PCA.


• Prendre en compte les relations entre les features et les classes (avancé):
information gain, Chi-square, latent semantic indexing
Pr. T.RACHAD 11
Algorithmes de classification
• Avant de décider la technique à adopter pour la decouverte d’un modèle de
classification de texte:
1. Déterminer la liste des classes.
2. Fournir un dataset d’apprentissage pour chaque classe (30 exemples au minimum pour
chaque classe).
3. Features slelection / features extraction.
4. Choisir un algorithme de classification:
• Naıve Bayes (NB)
• Bayesian Logistic Regression
• Decision Tree
• Regression
• Neural Networks
• KNN
• SVM
• …

Pr. T.RACHAD 12
Naıve Bayes
• Calcul la probabilité qu’un document d appartient à une classe c en
appliquant le Théorème de Bayes:
P(c|d)= P(d|c)*P(c)/ P(d)

• P(d): la probabilité marginale de d.


• P(c): la probabilité marginale de c.
• P(d | c)= )= ∏ P(wi |c). avec d = (w1 , w2 , . . .).

Pr. T.RACHAD 13
Bayesian Logistic Regression
• Pour une classification binaire, l’application d’une régression
logistique bayésienne est souhaitable:

P(c|d)=!(", $)= !(∑ "! &!)

• c = ±1 pour remplacer {0, 1}


• d = (w1 , w2 , . . .) modèle représentatif du document d.
• β = (β1 , β2 , . . .) est le vecteur des coefficient de régression.
• φ la fonction logistique.

Pr. T.RACHAD 14
Decision Tree
• Un arbre de décision est une structure arborescente dans la quelle les nœuds
internes sont étiquetés par les éléments clés du modèle représentatif des
documents, les arcs sont étiquetés par des instruction conditionnelles sur les
éléments clés et les feuilles sont étiquetées par les classes.

• La classification d’un nouveau document se fait par le parcours de l’arbre de


décision depuis la racine et en passant par les branches qui vérifient les
conditions jusqu’à qu’on arrive à une feuille dont l’étiquette représentera la classe
du document.

• Techniques d’implémentation: ID3, C4.5,CART.

Pr. T.RACHAD 15
Decision Rule
• Permet d’induire les règles qui permettent de classifier correctement les
documents à partir d’un dataset d’apprentissage et de l’ensemble de toutes
le règles possibles.

• On démarre par la construction d’un classificateur admettant toutes les


règles pour tous les documents du dataset d’apprentissage w1 ∧ w2 ∧ . . . ∧
wn → c, avec d =(w1, w2, . . . wn ) est un document du dataset
d’apprentissage et c sa classe.

• L’algorithme d’apprentissage applique ensuite une série de généralisations


(par exemple, en supprimant des termes et en fusionnant des règles)
maximisant la compacité des règles tout en conservant la propriété de
couverture.

Pr. T.RACHAD 16
KNN
• L’algorithme d’apprentissage kNN (k-nearest neighbor) se base sur les similarités
entre les documents pour les classifier.

• Il permet de décider si un document appartient ou non à une classe c en vérifiant


si les k documents les plus similaires appartiennent également a la classe c.

• Si la réponse est positive pour une proportion suffisamment importante des k


documents, une décision positive est prise; dans le cas contraire, la décision est
négative.

• La performance de l’algorithme d’apprentissage dépend étroitement de la valeur


k.

Pr. T.RACHAD 17
SVM
• Dans le cas d’une classification binaire, le classificateur svm peut être
vue comme un hyperplan dans l’espace des features qui sépare les
points appartenant à la classe de ceux qui n’y appartient pas.

• l'algorithme SVM semble être très efficace pour la classification de


texte en la comparant avec les autres algorithmes:
• Besoin d’un dataset d’apprentissage d’une petite taille.
• Algorithme très rapide en la comparant avec les autres
algorithmes.

Pr. T.RACHAD 18
Bagging and Boosting
• Deux techniques d’apprentissage ensembliste: le bagging et le boosting

• le bagging démarre en parallèle k processus d’apprentissage avec k algorithmes. Par


la suite, une classe est retenue pour un document si au minimum (k+1)/2
algorithmes décident d’attribuer au document la classe C .

• Le boosting exécute les algorithmes d’apprentissage séquentiellement l’un après


l’autre. Avant de passer à l’algorithme d’apprentissage suivant les poids des différents
documents du dataset d’apprentissage seront ajustés de telle sorte que les
documents qui été bien classifiés vont perdre du poids et les autres documents vont
gagner du poids. L’algorithme AdaBoost la plus utilisé pour le boosting.

Pr. T.RACHAD 19
Autres Algorithmes de Classification
• Regression lineaire
• Neural Networks
• The Rocchio Methods
•…

Pr. T.RACHAD 20
Performances des Algorithmes
• Les plus performants : SVM, AdaBoost, kNN, et Regression.

• Peu performants: Neural networks et arbre de decision.

• Les moins performants: Rocchio, Naïve Bayes ( de préférence les


utilisé comme baseline ou dans un apprentissage ensembliste).

Pr. T.RACHAD 21
Evaluation d’un modèle de classification
• Le dataset qui comporte des documents qui sont déjà affectés à des
classes doit être subdivisé en deux parties: le dataset d’apprentissage
(le plus important en terme de taille) et le dataset de test (le plus
petit en terme de taille).

• Le dataset d’apprentissage peut être également divisé en deux parties


(dataset d’apprentissage propre et un dataset de validation) dans les
cas du besoins d’optimisation des paramètres de classification.
• La technique la plus utilisée est la validation croisée à n blocks(n-fold cross-
validation).

Pr. T.RACHAD 22
Evaluation d’un modèle de classification
• Pour mesurer les performances de la classification le rappel(recall) et la précision
sont les plus courantes.

• Le rappel d’une classe est défini comme étant le pourcentage des documents qui sont
classifiés correctement par rapport à tous les documents qui appartiennent à cette classe.

• La précision d’une classe est défini comme étant le pourcentage des documents qui sont
classifiés correctement parmi l’ensemble des documents attribués à cette classe.

• Pour avoir un équilibre entre le rappel et la précision on peut se baser sur le seuil
de rentabilité qui correspond au point de la courbe rappel/précision pour lequel
la précision et le rappel sont égaux. On peut utiliser egalement le F_mesure qui
représentent les deux mesures; F_Mesure=2x(rappel x précision)/((rappel +
précision) Pr. T.RACHAD 23
Clustering de Documents Texte

Pr. T.RACHAD 24
Clustering ?
• Le Clustering, partitionnement ou regroupement de données est une
méthode d’analyse de données non supervisée qui permet de
catégoriser des objets en plusieurs groupes intitulés clusters.

• Les données d’entrée ne sont pas labélisées et doivent être


subdivisées en plusieurs sous ensembles significatifs qui regroupent
des objets similaires.

• Un bon regroupement devrait regrouper des objets similaires et


séparer les objets différents.
Applications du Clustering
• Le Clustering est très utile pour plusieurs applications:
• Extraction de documents,
• Segmentation d’images
• Classification
• …

• En text mining le clustering sert à explorer une collection massive de


documents texte pour regrouper ceux qui sont similaires.
Processus du Clustering
• Le clustering peut contenir les étapes suivantes:
1. Représentation de documents,
• feature extraction
• feature selection
2. Définition des métriques adéquats permettant de mesurer les
similarités entre les documents (fonction de similarité)
3. Appliquer un algorithme de clustering
4. Description =Data abstraction
5. Evaluation.
Représentation de documents
• Le clustering de documents texte en considérant tout le texte contenu
dans chaque document est une tâches très complexe .

• Les documents doivent être convertis en une structure plus simple à


traiter par des machines. À savoir une structure vectorielle en
fonction d’un vocabulaire fixe :
• One hot vector
• Bag of words
• TF-IDF
• Word2Vec
• Doc2Vec
Fonction de similarité
• Avant de décider sur un algorithme de clustering, il faut choisir le
métrique adéquat qui permettra de mesurer les similarités entre les
documents.

• Les métriques le plus utilisés sont:


• la distance Euclidienne
• La distance de Minkowski
• La similarité de cosine
• Indice de jaccard
• …
Algorithmes de Clustering
• Deux catégories d’algorithmes:

• Le clustering plat (flat clustering) produit une partition unique d'un ensemble
d'objets en groupes disjoints. Le nombre de clusters est prédéfini
manuellement.

• le clustering hiérarchique produit une série imbriquée de partitions. C’est


l’algorithme qui décide sur le nombre de clusters.
Algorithmes de Clustering
• Une deuxième catégorisation des algorithmes de clustering

• Le clustering dur (Hard clustering ) dans lequel chaque document est membre
exactement d’un seul cluster.

• clustering souple (soft clustering ) dans lequel l'affectation d'un document est
une distribution sur tous les clusters.
Algorithmes de Clustering
• Une troisième catégorisation des algorithmes de clustering

• Les algorithmes agglomeratifs commençant avec chaque objet dans un cluster


séparé et fusionnent successivement les clusters jusqu'à ce qu'un critère
d'arrêt soit satisfait.

• Les algorithmes divisifs commençant par un seul cluster contenant tous les
objets et effectuent le fractionnement jusqu'à ce qu'un critère d'arrêt soit
satisfait.
Algorithmes de Clustering
• Les algorithme de clutering courants sont:
• K-means (dur, plat)
• the EM-based mixture resolving (souple, plat, probabiliste)
• HAC (hiérarchique, agglomératif).
Description du Clustering
• Une description significative et concise du cluster est sollicité pour
permettre par la suite un traitement automatique ultérieur ou pour aider
les utilisateurs à interpréter les regroupement générés.

• Il existe de nombreuses possibilités pour générer automatiquement des


étiquettes de cluster:
• Le titre du document central ou plusieurs titres de document typiques peuvent être
utilisés.
• Plusieurs mots communs aux documents du cluster peuvent être affichés.
• Une phrase nominale distinctive, si elle peut être trouvée, est probablement la
meilleure étiquette.
• Topic mining
Evaluation du Clustering
• La mesure la plus utilisée est la Pureté
• Supposons {L1, L2,. . . , Ln} sont les classes de documents étiquetées
manuellement, et {C1, C2,. . . , Cm} sont les clusters renvoyés par le processus
de clustering. Pureté (Ci) = maxj (| Lj ∩Ci | / | Ci |),

• D’autre mesures: entropie, informations mutuelles…


Pr. T.RACHAD 36
https://medium.com/@aravanshad/how-to-choose-machine-learning-algorithms-9a92a448e0df
Pr. T.RACHAD 37
https://twitter.com/kirkdborne/status/1249725146509848579

Vous aimerez peut-être aussi