Title: Fouille de Texte (Text Mining)
1Fouille de Texte (Text Mining)
- Objectifs, Applications
- Exemple des CRH
- Construction du Lexique
- Vectorisation des Textes
- Classification des vecteurs
- Retour sur l'exemple des CRH
2Objectifs
- 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)
3Quest-ce que le Text Mining ?
- Le Text Mining est lensemble des
- Technologies et méthodes
- destinées au traitement automatique
- de données textuelles
- disponibles sous forme informatique,
- en assez grande quantité
- en vue den dégager et structurer le contenu,
les thèmes dans une perspective danalyse rapide
de découverte dinformations cachées ou de prise
automatique de décision
4Dé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 dinformation
- Statistiques
- Extraction de patterns et dentités
- Raisonnement basé cas
- TALN Techniques danalyse du langage naturel
5Processus de Text Mining Vue simplifiée
Morphologique, linguistique, produit des vecteurs
de frequence des mots importants
6Analyse 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
7Calculs de fréquence des termes
8Réduction des dimensions
- 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
9Classification des documents
- Application de méthodes classiques aux vecteurs
- Segmentation des documents
- Evaluation
10Domaines dapplication (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
11Domaines dapplication (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 dappel
- Méthodes souvent supervisées
12Domaines dapplication (3)
- Augmenter les performances des modèles prédictifs
- en combinant les données textuelles et les
données structurées - Communiqués de lentreprise données de la
bourse - prédire lévlution de la valeur des actions
- Commentaires des patients données médicales
- prédire lefficacité dun médicament
13Domaines d'application (4)
- Recherche dinformation (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 dun texte pour
élaborer une version réduite conservant au
maximum la sémantique - Extraction dinformation (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
14Problè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
15Etat 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 lessentiel - Classer des document dans des classes prédéfinies
avec précision et rappel supérieurs à 70
16Etapes 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
17Architecture type Classification
Termes uniques présents dans les documents
Documents dapprentissage
Sélection des termes
pré-traitement
Lexique
Termes uniques
Représentation
document
Vecteurs des documents
Vecteur des documents
Calcul des similarités
Apprentissage
Calcul des scores des catégories
k proches voisins
catégories affectées
Catégorisation
18Exemple Classification Google
16 classes divisées en catégories
19Text Mining versus Data Mining
Data Mining Text Mining
Objet numérique catégorique textuel
Structure structuré non-structuré
Représentation simple complexe
Dimension milliers milliers
Maturité Implémentation vaste dès 1994 Implémentation vaste dès 2000
202. Problème Classification de CRH
- Comptes Rendus Hospitaliers
- Divisés en sections
- "MOTIF"
- "ANTECEDENTS"
- "HISTOIRE"
- "CLINIQUE"
- "EVOLUTION"
- "CONCLUSIONS"
- "LIBELLESACTES
21Exemple 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
22Exemple 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 dune 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é à
lHôpital Antoine Béclère pour une consultation
danesthésie avant coloscopie sous anesthésie
générale. - A larrivée à la consultation, le patient est
très dyspnéique, il est alors transféré en
réanimation médicale. - A larrivé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
doxygène. Le patient nest pas marbré, nest pas
cyanosé. Labdomen est souple, indolore.
23Exemple CRH (fin)
- ÉVOLUTION DANS LE SERVICE
-
- AU TOTAL
- Patient de 79 ans, aux antécédents dinsuffisance
respiratoire chronique obstructive post-tabagique
et dinsuffisance cardiaque sévère, hospitalisé
pour détresse respiratoire, insuffisance
ventriculaire gauche et insuffisance rénale,
survenant au décours dun 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
24Les classes La CIM
- Classification hiérarchique à 3 niveaux
25Ré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, )
263. 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
27Qu'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
28Architecture Construction du lexique
Etiqueteur de Brill (tagger)
Documents
Dictionnaires
Mais pour des personnes très spontanées ...
Analyse Morphologique
Mais/COO pour/PREP des/DTNpl personnes/SBCpl
très/ADV spontanées/ADJ ...
Analyse Linguistique
Lexique
29Stop 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,
quelquun, sont, une, aucune, certain, des,
grâce, ma, nôtres, quelquune, 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.
30Lemme 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)
31Lé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
Fruit flies like a banana
noun verb prep det noun
Fruit flies like a banana
noun noun verb det noun
Word Class Label Brown Tag Word Class
Det at Article
N nn Noun
V vb Verb
Adj jj Adjective
P in Preposition
Card cd Number
end Sentence-ending punctuation
32Analyse 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
33Synonymie 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
34Extraction dinformation Les étapes Roche 2004
Etiqueteur Grammatical
Nettoyeur
Extraction des termes
Extraction dinformations
Détection des concepts
354. 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
36Vectorisation des documents
docs
- Basé sur le lexique
- Présence () ou absence (-)
Lexique
Vecteur
Réduction
Vecteur Réduit
37Lespace des vecteurs
- 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
lespace
38Représentation des documents
- 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 lespace
- Réduction de dimension
39Term frequency (TF)
- Un terme qui apparait plusieurs fois dans un
document est plus important quun terme qui
apparaît une seule fois - wij Nombre doccurrences du terme ti dans le
document dj - TFij Fréquence du terme ti dans le document dj
40Inverse document frequency (IDF)
- Un terme qui apparaît dans peu de documents est
un meilleur discriminant quun 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
41Pondération TF-IDF
- TF-IDF signifie Term Frequency x Inverse Document
Frequency - Proposée par Salton 1989, mesure l'importance
dun terme dans un document relativement à
lensemble 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
42Similarité entre documents
- ? gt ? ?cos(?)ltcos(?)
- d2 est plus proche de d1 que de d3
- Permet de ranger les documents par pertinence
- Le cosinus de langle est souvent utilisé
43Ré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
44Seuillage de fréquence
Feature Terms
45Test du Ki-2
Estimation dindépendence entre termes et
catégories
Ad d ?cj ? w ?d Bd d ?cj ? w
?d Cd d ?cj ? w ? d Dd d ? cj ? w ?
d Nd d ?D
FEATURE TERMS
Ref11202127
46Latent Semantic Indexing (LSI)
- Une technique de lalgèbre linéaire
- Décomposition en valeurs propres (SVD)
- Essaie destimer les relations cachés
- Découvre les patterns dassociation entre mots et
concepts conceptes - Permet de réduire lespace à K dimensions
- Ex de 106 à 100 ou 200
47Principe de LSI (1)
mltmin(t,d)
T t ?m matrice orthogonale TTTI D m ? N
matrice orthogonale DTDI S S matrice diagonale
singulière non croissante
48Principes 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) T?appr(S) ?D
49L'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
505. 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
51Principe
doc classés Vectorisés
Classificateur
doc Non classé
Vectorisation
doc classé
52Classificateur Centroïde
- Calculer le centroïde pour chaque catégorie en
utilisant les exemples (training documents) - Moyenner les vecteurs document pour chaque
catégorie - Le vecteur centroïde est utilisé comme modèle de
la catégorie - Sélectionner les catégories
- Celles de plus haut score
- Avec un score plus grand qu'un seuil
53Classificateur KNN
- Calcul de similarité
- Entre le nouveau doc. et les exemples pré-classés
- Similarité(d1,d2) cos(d1,d2)
- Trouve les k exemples les plus proches
- Recherche des catégories candidates
- Vote majoritaire des k exemples
- Somme des similarités gt seuil
- Sélection d'une ou plusieurs catégories
- Plus grand nombre de votes
- Score supérieur à un seuil
54Naïve Bayes
- Modèle probabiliste
- Basé sur l'observation de la présence des termes
- Etant donné un document d, on calcule
- probabilité(cat Ci/doc d) P(Ci) ?j P(tj/Ci) où
tj est le terme j - Suppose l'indépendance entre les termes
- La catégorie de plus grande probabilité est
sélectionnée - On peut utiliser un seuil pour en sélectionner
plusieurs
55Autres classificateurs
- SVM
- déterminer un hyperplan qui sépare au mieux les
données et dont la séparation (ou marge
distance séparant la frontière du plus proche
exemple) est aussi grande que possible - Arbres de décisions
- Construire le meilleur arbre qui classe les
données en fonctions de prédicats sur attributs
successifs - Règles associatives
- Trouver les produits (ici les mots) souvent
employés ensemble pour caractériser une catégorie
56Évaluation des résultats
- Mesures basés sur la table de contingences
- Rappel mesure la largeur de la catégorisation
- ratio des documents bien classés par rapport à
lensemble des documents appartenant réellement à
la catégorie. ra/(ac) - Précision mesure la qualité de la
catégorisation - fraction des documents bien classés sur tous les
documents affectés à la catégorie. pa/(ab)
bruit 1-precision - F-mesure mesure le compromis entre r et p
F12rp/(rp)
pré-étiqueté C1 pré-étiqueté C2
Affecté à C1 a b ab
Affecté à C2 c d cd
ac bd abcd
57Précision et rappel Exemple
Daprès maybury_at_mitre.org
586. Retour à lexemple des CRH
- Corpus
- Documents d'apprentissage (CRHCIM)
- Documents de tests (CRH)
- Détermination des meilleurs mots
Filtrage
Determination
Pondération
59Rappel des objectifs
- Aider le praticien à renseigner la rubrique code
CIM pour un compte rendu hospitalier (CRH) - Prédire les codes CIM dun CRH
- Apprentissage automatique
- Phase préparation
- Construction dun lexique
- Data mining textuel
- Construction de modèle (apprentissage)
- Exploitation du modèle (classification)
60Processus de classification Apprentissage
ensemble de documents dexemple pré-affectés
pré-traiement sélection des termes
représentation des documents
estimation des paramètres du classifieur
Classifieur
61Processus de classification Classement
nouveau document d
représenter d
Utiliser le classifieur score(Ci, d) affecter d à
Ci
document d avec la ou les catégories affectées
62Application aux CRH
Z489
CRH
Moteur de catégorisation
K720
C182
E834
R042
Ontologie des cas
- Catégorisation
- Proposition dune liste de codes CIM dans lordre
des scores. - Le praticien décide lesquels affecter au CRH.
63Spécificités
- Catégories nombreuses
- théoriquement 30000 (en pratique 2000).
- Les corpus dapprentissage connus ont au maximum
200 catégories - Catégories non exclusives
- De 1 à 36 CIM par CRH (moyenne 5).
- Lalgo. doit proposer des dizaines
- La plupart des travaux considère 1 ou 2
catégories. - Catégories hiérarchiques
- Ontologie des maladies connue (Arbre CIM-10)
64Nombre de catégories par document
65Phase de préparation
- Construction du lexique
- On utilise un dictionnaire médical intégré
(Dicomed) - Les concepts les termes médicaux
- On retient la liste des concepts associés à
chaque CRH - Vectorisation
- Basée sur TF-IDF
66Méthode proposée Régression matricielle (1)
- Basée sur la régression
- C V W B
- B le biais est pris 0
- W est la matrice de transition des termes (V) aux
catégories (C) - C donne une probabilité pour chaque catégorie
67Régression matricielle (2)
- A limage de la régression linéaire, on cherche
les paramètres dune fonction liant les termes ti
aux catégories cj à prédire. - Construit une matrice de poids (termes/CIMs)
- Où
- Wij ?dk in cj(tf-idfi,k)
Termes
68Algorithme d'apprentissage
- Entrée collection dapprentissage D
d1,.dn - Obtenir lensemble des termes de la collection
dapprentissage T t1, tm - Obtenir lensemble des codes CIM de la collection
dapprentissage Cc1, ck - Attacher la matrice W à ces deux
ensemblesInitialiser la matrice à zèro - Pour chaque document de la collection
dapprentissage Pour chaque terme i du document
courant Pour chaque code CIM j du document
courant wij TF-IDF
69Classement d'un document
- En phase de classement
- On fait le produit du vecteur du document et de
la matrice W pour obtenir un score par catégorie - On retient les scores au-delà dun seuil donné
par lutilisateur - Mesure de la qualité
- Le seuil permet de jouer sur le rappel et la
précision. - On choisit généralement un compromis entre rappel
et précision en maximisant la F-mesure.
70Résultats comparatifs
- MR est meilleure que centroide, k-NN et SVM