« Méthodes de classification en text mining » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 2 : Ligne 2 :
Un exemple concret de catégorisation serait de différencier le emails de spam (pourriels) des emails légitimes.
Un exemple concret de catégorisation serait de différencier le emails de spam (pourriels) des emails légitimes.


Ces méthodes sont basées sur une phase d'apprentissage, où certains documents servent à établir une base contre laquelle les autres documents seront classés.
Ces méthodes sont basées sur une phase d'apprentissage, où certains documents servent à établir une base contre laquelle les autres documents seront classés.
 
== Préparation du corpus ==
Ces méthodes demandent la préparation habituelle du corpus, stop-words, lemmatisation et construction de la matrice terme-document (voir [[Text mining]]).
 
Elles reposent sur plusieurs hypothèses, les plus essentielles étant :
* Les catégories constituent une base ou un corpus d'apprentissage (pour l'algorithme)
* Les documents présentés pour être classés sont représentés par des vecteurs de termes pondérés (ceci est tiré de la matrice terme-documents qui compte le nombre d'occurrences de chaque terme dans chaque document). En clair, '''chaque document est représenté par une liste de mots-clés avec le nombre d'occurrence du mot dans le document).'''
* Pour pondérer les occurrences des mots, on a souvent recours à la méthode [http://fr.wikipedia.org/wiki/TF-IDF TfIdf], qui améliore les contraste entre les documents par un passage au logarithme.
* Notons enfin que ces méthodes reposent sur le choix d'une distance entre document, comme par exemple la [Text mining#Similarité | distance du cosinus] (voir aussi [Clustering et classification hiérarchique en text mining#Définition d'une_distance | Clustering]).


== Catégorisation linéaire Rocchio ==
== Catégorisation linéaire Rocchio ==
On classe un document dans la catégorie  dont il est le plus proche du barycentre (selon la distance que l'on a choisie, voir plus haut la distance du cosinus).
Cette méthode est la plus simple. Elle classe un document dans la catégorie  dont il est le plus proche du barycentre (selon la distance que l'on a choisie, voir plus haut la distance du cosinus).
 
* On commence par analyser le corpus d'apprentissage pour en déduire des vecteurs "de base" des catégories considérées. En clair il s'agit pour chaque catégorie d'avoir un vecteur pondéré associant à chaque mot clé son poids dans la catégorie (ex: si on a comme catégorie "animaux" et "lieu", alors "chien" aura un poids fort dans "animaux" et faible dans "lieux", "Paris" aur un poids fort dans "lieux", alors que "chenil" pourra avoir un poids moyen dans les deux).
* Pour chaque document à classer, il suffit de calculer la distance avec chacun des vecteurs "de base" et d'associer le document à la catégorie dont il est le plus proche.
 


== Catégorisation par les k plus proches voisins ==
== Catégorisation par les k plus proches voisins ==
Ligne 32 : Ligne 45 :
* Feinerer, I. Hornik, K et Meyer, D. (2008) Text mining infrastructures in R ([http://www.jstatsoft.org/v25/i05/paper pdf])
* Feinerer, I. Hornik, K et Meyer, D. (2008) Text mining infrastructures in R ([http://www.jstatsoft.org/v25/i05/paper pdf])
* Knn tutorial for R : [https://stat.ethz.ch/R-manual/R-devel/library/class/html/knn.html knn.html]
* Knn tutorial for R : [https://stat.ethz.ch/R-manual/R-devel/library/class/html/knn.html knn.html]
== Autres références ==
* Page Wikipedia [http://fr.wikipedia.org/wiki/TF-IDF TfIdf]

Version du 7 décembre 2014 à 17:21

A l'inverse de la classification où les catégories n'étaient pas connues par avance, la classification essaie de classer les documents du corpus dans un certain nombre de catégories prédéfinies. Elle peut se rapprocher d'une analyse de thématique "Topic modelling", mais, à l'inverse de ce dernier, elle ne permet pas l'attribution de plusieurs catégorie à un même document. Un exemple concret de catégorisation serait de différencier le emails de spam (pourriels) des emails légitimes.

Ces méthodes sont basées sur une phase d'apprentissage, où certains documents servent à établir une base contre laquelle les autres documents seront classés.

Préparation du corpus

Ces méthodes demandent la préparation habituelle du corpus, stop-words, lemmatisation et construction de la matrice terme-document (voir Text mining).

Elles reposent sur plusieurs hypothèses, les plus essentielles étant :

  • Les catégories constituent une base ou un corpus d'apprentissage (pour l'algorithme)
  • Les documents présentés pour être classés sont représentés par des vecteurs de termes pondérés (ceci est tiré de la matrice terme-documents qui compte le nombre d'occurrences de chaque terme dans chaque document). En clair, chaque document est représenté par une liste de mots-clés avec le nombre d'occurrence du mot dans le document).
  • Pour pondérer les occurrences des mots, on a souvent recours à la méthode TfIdf, qui améliore les contraste entre les documents par un passage au logarithme.
  • Notons enfin que ces méthodes reposent sur le choix d'une distance entre document, comme par exemple la [Text mining#Similarité | distance du cosinus] (voir aussi [Clustering et classification hiérarchique en text mining#Définition d'une_distance | Clustering]).

Catégorisation linéaire Rocchio

Cette méthode est la plus simple. Elle classe un document dans la catégorie dont il est le plus proche du barycentre (selon la distance que l'on a choisie, voir plus haut la distance du cosinus).

  • On commence par analyser le corpus d'apprentissage pour en déduire des vecteurs "de base" des catégories considérées. En clair il s'agit pour chaque catégorie d'avoir un vecteur pondéré associant à chaque mot clé son poids dans la catégorie (ex: si on a comme catégorie "animaux" et "lieu", alors "chien" aura un poids fort dans "animaux" et faible dans "lieux", "Paris" aur un poids fort dans "lieux", alors que "chenil" pourra avoir un poids moyen dans les deux).
  • Pour chaque document à classer, il suffit de calculer la distance avec chacun des vecteurs "de base" et d'associer le document à la catégorie dont il est le plus proche.


Catégorisation par les k plus proches voisins

On classe un document dans la même catégorie que la majorité (pondérée) de ses k plus proches voisins (selon la distance que l'on a choisie, voir plus haut la distance du cosinus).

Pour plus d'informations, voir la page des Méthodes de classification en text mining


k-nearest neighbors avec R

Il est possible d'implémenter cet algorithme sous R avec la fonction "knn" (voir Feinerer, Hornik et Meyer (2008) et knn.html). La syntaxe générale étant

knn(train, test, cl, k = 1, l = 0, prob = FALSE, use.all = TRUE)

Références

  • Brown, S. (s.d.) K nearest neighbor ([www.cs.uvm.edu/~xwu/kdd/kNN-11.ppt support de cours ppt])
  • Ghosh, S, Roy, S et Bandyopadhyay, S. (2012). A tutorial review on Text Mining Algorithms. International Journal of Advanced Research in Computer and Communication Engineering, 1(4) (pdf)
  • Grivel, L. (s.d.) Outils de classification et de catégorisation pour la fouille de textes (pdf)
  • Gupta, V. et Lehal, G. (2009) A Survey of Text Mining Techniques and Applications. Journal of Emerging Technologies in Web Intelligence, 1(1) (pdf)
  • Grimal, C. et Bisson, G. (s.d.) Amélioration de la co-similarité pour la classification de documents (pdf)
  • Radovanovic, M. et Ivanovic, M. (2008) Text Mining: approaches and applications. Novi Sad Journal of Mathematics, 38(3).
  • Tellier, I. (s.d.) Introduction à la fouille de textes. (pdf)

Références R

  • Feinerer, I. Hornik, K et Meyer, D. (2008) Text mining infrastructures in R (pdf)
  • Knn tutorial for R : knn.html

Autres références