900 likes | 1.2k Views
Fouille de Texte (Text Mining). Objectifs, Applications Exemple des CRH Construction du Lexique Vectorisation des Textes Classification des vecteurs Retour sur l'exemple des CRH. Objectifs. Documents électroniques Structurés (10%) et non-structurés (90%)
E N D
Fouille de Texte (Text Mining) Objectifs, Applications Exemple des CRH Construction du Lexique Vectorisation des Textes Classification des vecteurs Retour sur l'exemple des CRH
Objectifs • Documents électroniques • Structurés (10%) et non-structurés (90%) • Beaucoup d'outils limités au structuré (BDR) • Grand volume, croissance exponentielle • Problèmes • Recherche plein texte (IR) • Extraction de connaissances (catégorie, mots-clés, …) • Structuration (XML, Tables)
Qu’est-ce que le Text Mining ? • Le Text Mining est l’ensemble des : • Technologies et méthodes • … destinées au traitement automatique • … de données textuelles • … disponibles sous forme informatique, • … en assez grande quantité • … en vue d’en dégager et structurer le contenu, les thèmes dans une perspective d’analyse rapide de découverte d’informations cachées ou de prise automatique de décision
Définition • Text Mining • Procédé consistant à synthétiser (classer, structurer, résumer, …) les textes en analysant les relations, les patterns, et les règles entre unités textuelles (mots, groupes, phrases, documents) • Techniques • Classification • Apprentissage • Recherche d’information • Statistiques • Extraction de patterns et d’entités • Raisonnement basé cas • TALN = Techniques d’analyse du langage naturel
Processus de Text Mining: Vue simplifiée Morphologique, linguistique, produit des vecteurs de frequence des mots importants
Analyse et Préparation • Corriger l'orthographe • Eliminer les mots vides • Découper les textes en unités • Associer des termes à une catégorie grammaticale ou sémantique • Réduire le nombre de termes à traiter
Réduire les dimensions de la table de fréquences en déterminant les termes les plus significatifs en groupant les termes par affinité (profile) Approximation de la matrice d'origine par le produit de 2 sous matrices de petite dimension Procédure itérative jusqu'à convergence Réduction des dimensions
Classification des documents • Application de méthodes classiques aux vecteurs • Segmentation des documents • Evaluation
Domaines d’application (1) • Exploration du contenu des documents • Questions ouvertes dans une enquête • Commentaires et plaintes des clients • Analyse des réclamations de garantie • Composition de résumés de textes • Méthodes descriptives
Domaines d’application (2) • Affectation de documents à des thèmes prédéfinis • Traitement des e-mails (redirection, filtrage) • Organisation des documents par catégories • Classement des contacts au centre d’appel • Méthodes souvent supervisées
Domaines d’application (3) • Augmenter les performances des modèles prédictifs • en combinant les données textuelles et les données structurées • Communiqués de l’entreprise + données de la bourse • prédire l’évlution de la valeur des actions • Commentaires des patients + données médicales • prédire l’efficacité d’un médicament
Domaines d'application (4) • Recherche d’information (Information retrieval) • Interrogation de textes par concepts, mots-clés, sujets, phrases visant à obtenir des résultats triés par ordre de pertineance, à la Google • Construction de résumé (Summarization) • Abstraction et condensation d’un texte pour élaborer une version réduite conservant au maximum la sémantique • Extraction d’information (Information extraction) • Identification d’éléments sémantiques dans un texte (entitées, • propiétés, relations, patterns …) • Catégorisation de texte (Text catégorisation) • Processus consistant à déterminer des sujets dans un corpus et à classer les documents du corpus selon ces sujets • Interrogation en langage naturel (Question answering) • Interrogation de bases de données en langage naturel
Problèmes classiques • Moteur de recherche Web (e.g., Google) • Annotation d'information • Classification (supervisée) et clustering (non supervisée) de documents • Reconnaissance d'entités • Reconnaissance de scénarios • Extraction d'information • Construction de résumés
Etat du sujet • On est capable de: • Rechercher des documents pertinents sur un sujet avec bonne précision mais faible rappel • Identifier des entités avec une très bonne précision • Identifier des relations entre entités avec une bonne précision • Résumer des documents en compressant à 20% tout en gardant l’essentiel • Classer des document dans des classes prédéfinies avec précision et rappel supérieurs à 70%
Etapes de la fouille de textes • 1. Sélection du corpus de documents • Documents pré-classés • Documents à classer • 2. Extraction des termes • Analyse grammaticale et/ou lemmatisation • Filtrage des termes extraits • 3. Transformation • Passage à un espace vectoriel • Réduction des dimensions • 4. Classification • Automatique supervisée ou non • Élaboration de taxonomie (classement) • 5. Visualisation des résultats • 6. Interprétation des résultats
Architecture type: Classification Termes uniques présents dans les documents Documents d’apprentissage Sélection des termes pré-traitement Termes uniques Lexique document Représentation Vecteurs des documents Vecteur des documents Calcul des similarités Apprentissage Calcul des scores des catégories catégories affectées k proches voisins Catégorisation
Exemple: Classification Google 16 classes divisées en catégories
2. Problème: Classification de CRH • Comptes Rendus Hospitaliers • Divisés en sections: • "MOTIF" • "ANTECEDENTS" • "HISTOIRE" • "CLINIQUE" • "EVOLUTION" • "CONCLUSIONS" • "LIBELLESACTES • …
Exemple CRH • MOTIF D'HOSPITALISATION : • Décompensation respiratoire chez un patient insuffisant respiratoire chronique et insuffisant cardiaque. • ANTÉCÉDENTS MÉDICAUX ET CHIRURGICAUX : • · Notion de diabète • · Insuffisance respiratoire chronique obstructive post-tabagique depuis 1985 sous oxygène à domicile • · Tuberculose pulmonaire avec séquelles pleurales • · Cardiopathie dilatée avec hypokinésie sévère (échographie cardiaque en juillet 2002 montrant une fraction d’éjection ventriculaire gauche à 35%) • · Endoprothèse aortique sur anévrysme abdominal en juin 2002 • · Appendicectomie • Tabagisme sevré depuis 25 ans • Traitement habituel : TRIATEC, KARDEGIC, LASILIX, VADILEX, DITROPAN, SYMBICORT, FORLAX et O2 1,5/mn
Exemple CRH (suite) • HISTOIRE DE LA MALADIE ACTUELLE : • Le 21/07/2003, le patient est adressé au Centre Hospitalier Spécialisé en Pneumologie de Chevilly Larue par le SAMU pour asthénie, somnolence, altération de l’état général et selles noires depuis une semaine. • Le premier bilan montre une anémie aiguë à 4 g/dl compliquée d’une insuffisance rénale aiguë avec une créatinine à 386 micromol/l (créatinine habituelle 200 micromol/l). • Le KARDEGIC est alors arrêté, le patient est mis sous MOPRAL IV 40 mg/jour, il est transfusé de 3 CG et rempli par 200 ml de solutés cristalloïdes. • Le 24/07/2003, le patient est transféré à l’Hôpital Antoine Béclère pour une consultation d’anesthésie avant coloscopie sous anesthésie générale. • A l’arrivée à la consultation, le patient est très dyspnéique, il est alors transféré en réanimation médicale. • A l’arrivée, la pression artérielle est à 133/53 mmHg, la fréquence cardiaque à 109/mn, la fréquence respiratoire à 16/mn avec une saturation en oxygène à 100% sous 3 l/mn d’oxygène. Le patient n’est pas marbré, n’est pas cyanosé. L’abdomen est souple, indolore. • …
Exemple CRH (fin) • ÉVOLUTION DANS LE SERVICE : • … • AU TOTAL : • Patient de 79 ans, aux antécédents d’insuffisance respiratoire chronique obstructive post-tabagique et d’insuffisance cardiaque sévère, hospitalisé pour détresse respiratoire, insuffisance ventriculaire gauche et insuffisance rénale, survenant au décours d’un bilan pour anémie aiguë. • Insuffisance rénale oligoanurique nécessitant une hémodiafiltration. • Insuffisance cardiaque sévère (FE estimée à 10%). • Pneumopathie et septicémie nosocomiale à E. coli. • Choc septique. • Décès. • TRANSFUSIONS : oui : 4 CG en Réanimation Chirurgicale. • PRESENCE DE BMR : non
Les classes: La CIM • Classification hiérarchique à 3 niveaux
Résultats attendus • "LIBELLESCIM" et "CODESCIM" • à déduire • Caractérisée par: • Mots-clés • Phrases clés • Présence ou absence de symptômes • Indicateurs techniques (température, tension, …) • …
3. Construction du Lexique • Elément clé dans la compréhension d'un domaine • Aussi appelé dictionnaire, thésaurus, catalogue … • Il existe des standards ISO • Permet d'obtenir une forme canonique du document • Peut contenir des entités nommées • Ex: Puy de Dôme, Mont Blanc • Construction manuelle difficile • Différent mais voisin du concept d'ontologie
Qu'est-ce-qu'un lexique ? • Définition du vocabulaire d'un domaine particulier • Plus qu'une liste de mots simples ou composés • Des informations linguistiques additionnelles • Morphologie (chant- e/es/ant/é → chante) • Patterns syntaxique (transitivité, conjugaison) • Conversions en formes normales (chiffres, dates, …) • Des informations sémantiques additionnelles • Héritage (Is-a) • Synonyme • Mots préférés
Architecture: Construction du lexique Etiqueteur de Brill (tagger) Documents Dictionnaires Mais pour des personnes très spontanées ... Analyse Morphologique Mais/COO pour/PREP des/DTN:pl personnes/SBC:pl très/ADV spontanées/ADJ ... Analyse Linguistique Lexique
Stop Words (de liaison) • Liste de mots (ex. ceux listés par Oracle text) sont les 200 suivants : a , beaucoup, comment, encore, lequel, moyennant, près, ses, toujours, afin, ça, concernant, entre, les, ne, puis, sien, tous, ailleurs, ce, dans, et, lesquelles, ni, puisque, sienne, toute, ainsi, ceci, de, étaient, lesquels, non, quand, siennes, toutes, alors, cela, dedans, était, leur, nos, quant, siens, très, après, celle, dehors, étant, leurs, notamment, que, soi, trop, attendant, celles, déjà, etc, lors, notre, quel, soi-même, tu, au, celui, delà, eux, lorsque, notres, quelle, soit, un, aucun, cependant, depuis, furent, lui, nôtre, quelqu’un, sont, une, aucune, certain, des, grâce, ma, nôtres, quelqu’une, suis, vos, au-dessous, certaine, desquelles, hormis, mais, nous, quelque, sur, votre, au-dessus, certaines, desquels, hors, malgré, nulle, quelques-unes, ta, vôtre, auprès, certains, dessus, ici, me, nulles, quelques-uns, tandis, vôtres, auquel, ces, dès, il, même, on, quels, tant, vous, aussi, cet, donc, ils, mêmes, ou, qui, te, vu, aussitôt, cette, donné, jadis, mes, où, quiconque, telle, y, autant, ceux, dont, je, mien, par, quoi, telles, autour, chacun, du, jusqu, mienne, parce, quoique, tes, aux, chacune, duquel, jusque, miennes, parmi, sa, tienne, auxquelles, chaque, durant, la, miens, plus, sans, tiennes, auxquels, chez, elle, laquelle, moins, plusieurs, sauf, tiens, avec, combien, elles, là, moment, pour, se, toi, à, comme, en, le, mon, pourquoi, selon, ton.
Lemme et Stem • Lemmatisation ~ forme canonique • book, books [book] • mange, mangera, mangeaient, mangeant, [manger] • Nécessite une grammaire • Généralement entrée de référence en dictionnaire • Stemming ~ racine + dérivation [préfixe/suffixe] • produire, production, productivité [produc] • Calculer par un algorithme (Stemmer)
L’étiquetage (tagger) adv Adverbe subc substantif commun detp Déterminant-pronom det Déterminant subp Substantif propre adjq Adjectif qualificatif infi Infinitif ppt Participe présent ppas Participe passé verb Verbe xet Auxiliaire être xav Auxiliaire avoir pnt Point • Exemple d’étiquetage • Jeux de tags
Analyse morphologique Lemme Forme CAT. Variables bonjour bonjour subc sin mas monsieur madame subc sin fem la la detp sin fem tre cod marquis marquise subc sin fem . .pnt voulez-vous voulez-vous cls danser danser infi ? ? pnt Voir http://www-clips.imag.fr/cgi-bin/pilaf/morpho.py
Synonymie et Polysémie • Synonyme • Même concept qualifié par différents terms • Ex: bandit, brigand, voleur • Dégrade le rappel • Polysémie • Termes identiques utilisés dans des contextes sémantiques différents • Ex: base • De données • Immeuble • Vectorielle • Dégrade la précision
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Corpus brut Corpus nettoyé Corpus étiqueté - - - - - - - - - - - - - - - Corpus composé de Termes Extraction d’information: Les étapes [Roche 2004] Etiqueteur Grammatical Nettoyeur Extraction des termes Extraction d’informations Détection des concepts
4. Vectorisation d'un texte • Présence de mots ou de phrases clés • Pondération positive • Négation de mots ou de phrases clés • Pondération négative (rarement pris en compte) • Indicateurs techniques • Valuation par plage [x0,x1] • Difficile à mixer à la fouille de texte
Basé sur le lexique Présence (+) ou absence (-) Vectorisation des documents docs Lexique Vecteur Réduction Vecteur Réduit
Chaque document est vu comme une séquence de mots Le nombre de mots du lexique présents dans les documents du corpus détermine la dimension de l’espace L’espace des vecteurs
Représentation des documents Vecteurs de document Matrice Terme/Document ou Document/terme Nécessité de pondérer Pondération (importance relative) Nécessité de réduire l’espace Réduction de dimension d1 d2 dd w11 w12 w1d w21 w22 w2d wt1 wt2 wtd t1 t2 tt Freq = Représentation des documents
Term frequency (TF) • Un terme qui apparait plusieurs fois dans un document est plus important qu’un terme qui apparaît une seule fois • wij = Nombre d’occurrences du terme ti dans le document dj • TFij = Fréquence du terme ti dans le document dj
Inverse document frequency (IDF) • Un terme qui apparaît dans peu de documents est un meilleur discriminant qu’un terme qui apparaît dans tous les documents • dfi = nombre de documents contenant le terme ti • d = nombre de documents du corpus • Inverse document frequency
Pondération TF-IDF • TF-IDF signifie Term Frequency x Inverse Document Frequency : • Proposée par [Salton 1989], mesure l'importance d’un terme dans un document relativement à l’ensemble des documents. • tf i,j = fréquence du terme i dans le document j df i = nombre de documents contenant le terme i N = d = nombre de documents du corpus
d3 d2 d1 Similarité entre documents • > cos()<cos() • d2 est plus proche de d1 que de d3 • Permet de ranger les documents par pertinence • Le cosinus de l’angle est souvent utilisé
Réduction de dimension • Seuillage de fréquence • Document Frequency Thresholding • Test du Ki-2 • Détermine les termes les plus caractéristiques de chaque catégorie • LSI • Latent Semantic Indexing • Réduction par changement de base
Training documents D Terms Calculates DocFreq(w) Sets threshold Removes all words: DocFreq < Seuillage de fréquence Feature Terms
Category set C={c1,c2,..cm} Terms Term categorical score Sets threshold Removes all words: X2max(w)< Test du Ki-2 Estimation d’indépendence entre termes et catégories A:=|{d| dcj wd}| B:=|{d| dcj wd}| C:=|{d| dcj wd}| D:=|{d| dcj wd}| N:=|{d| dD}| FEATURE TERMS Ref:[11][20][21][27]
Latent Semantic Indexing (LSI) • Une technique de l’algèbre linéaire • Décomposition en valeurs propres (SVD) • Essaie d’estimer les relations cachés • Découvre les patterns d’association entre mots et concepts conceptes • Permet de réduire l’espace à K dimensions • Ex: de 10**6 à 100 ou 200
documents * * = F T * D S terms * * (t,d) (t,m) (m,d) (m,m) Principe de LSI (1) m<=min(t,d) T: t m matrice orthogonale TT*T=I D: m N matrice orthogonale DT*D=I S: S matrice diagonale singulière non croissante
Principes de LSI (2) • Soit X une matrice terme-document • F = [d1 . . . dd] • Latent Semantic Indexing • Calcule les valeurs propres SVD de F: • Matrice singulière S non croissante • Met à 0 toutes les valeurs sauf les K plus grandes • Obtient appr(F) par : appr(F) = Tappr(S) D
L'indexation en résumé • Les étapes • Eliminer les mots de liaison (stop words) • Remplacer chaque mot par sa racine+ (stems) • Pondérer les termes (ex: TFIDF) • Sélectionner les meilleurs termes • Détecter des patterns (terme composé, groupe…) • Convertir les documents en vecteurs
5. Classification de documents • Trois algorithmes de classification supervisée souvent considérés • KNN (K Nearest Neighbor) • Un document est classé dans la catégorie dominante parmi ses k plus proches voisins • Centroid • Sélection de la catégorie de plus proche centroïde • Naïve Bayes • Sélectionner la catégorie la plus probable