1 / 97

Extraction automatique des diagnostics à partir des comptes rendus médicaux textuels

Extraction automatique des diagnostics à partir des comptes rendus médicaux textuels. Didier Nakache 26 Septembre 2007. Laboratoire CEDRIC – équipe ISID – CNAM de Paris. Plan. Présentation du projet Etat de l’art des classifications de données textuelles Algorithmes EDA et CLO3

rusty
Download Presentation

Extraction automatique des diagnostics à partir des comptes rendus médicaux textuels

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extraction automatique des diagnostics à partir des comptes rendus médicaux textuels Didier Nakache 26 Septembre 2007 Laboratoire CEDRIC – équipe ISID – CNAM de Paris

  2. Plan • Présentation du projet • Etat de l’art des classifications de données textuelles • Algorithmes EDA et CLO3 • L’évaluation • Le projet Rhéa • Conclusions Didier Nakache - Soutenance de thèse

  3. 1. Présentation du projet Didier Nakache - Soutenance de thèse

  4. Présentation générale • Rhea est un outil décisionnel destiné aux services de réanimation, structuré autour de 2 axes : • Rhea : Entrepôt de données (datawarehouse), • Cirea : Fouille de textes pour l’aide au codage. • Rhéa est orienté autour de la thématique des infections nosocomiales. • Le sous projet CIREA ne représente qu’une charge faible du projet Rhéa. Didier Nakache - Soutenance de thèse

  5. Le sous projet CIREA • L’objectif de CIREA est de permettre de retrouver les codes diagnostics ayant motivé le séjour parmi les 52 000 de la CIM10 (Classification Internationale des Maladies), à partir des comptes rendus hospitaliers rédigés en langage naturel. Didier Nakache - Soutenance de thèse

  6. Classification CIM10 Le code CIM10 est un code hiérarchique sur 5 niveaux possibles. Il existe 52000 codes. Exemple : Didier Nakache - Soutenance de thèse

  7. 2. Etat de l’art :classification de documents textuels Didier Nakache - Soutenance de thèse

  8. Vue Générale Statistiques Mots clés Règles et systèmes experts Induction par apprentissage (machine learning) Traitement du langage naturel … 1970 1980 1990 2000 Aujourd’hui Didier Nakache - Soutenance de thèse

  9. Tableaux lexicaux Le modèle vectoriel introduit par Salton (1975) représente chaque document, ainsi que le document à classifier, par un vecteur (sac de mots). On utilise souvent une notation binaire (absence / présence) en classification automatique de documents plutôt que l’effectif. Didier Nakache - Soutenance de thèse

  10. Algorithmes majeurs • Naïve Bayes, • Les arbres de décision, • TF/IDF, • SVM (Support Vector Machine) (Vapnik 95). Didier Nakache - Soutenance de thèse

  11. Autres méthodes De nombreuses autres méthodes ont été utilisées pour la classification automatique de documents : • les réseaux de neurones, LLFS (Linear Least Squares Fit), KNN, Chaines de Markov, … etc. Didier Nakache - Soutenance de thèse

  12. Les mesures Didier Nakache - Soutenance de thèse

  13. Mesures de distances • Il existe de nombreuses formules pour mesurer la distance entre deux vecteurs. La plus utilisée est la fonction Cosine : Didier Nakache - Soutenance de thèse

  14. Autres mesures • Il existe de nombreuses autres mesures (distance de Kullback-Leibler, mesure de Jacquard, …) • D’autres approches fonctionnent sur le calcul des dissimilarités (distance de SMART) • L’information mutuelle (concepts proches): • Le coefficient de Dice : • Le gain d’information : • La mesure de Salton : Didier Nakache - Soutenance de thèse

  15. Evaluation : quels corpus et quelles mesures ? Didier Nakache - Soutenance de thèse

  16. Les corpus • On trouve principalement des comparaisons sur la base Reuters, qui est une classification de dépêches de presse. • Dans le domaine médical, on se réfère également à la base OHSUMED. Didier Nakache - Soutenance de thèse

  17. Evaluation des algorithmes Les algorithmes sont généralement évalués par la F-mesure, basée sur la précision et le rappel précision=a/(a+b), rappel=a/(a+c) F-Mesure = ((1+ß²)*Précision*Rappel) / ((ß²*Précision)+Rappel), avec ß²=1 Didier Nakache - Soutenance de thèse

  18. Exemple de F mesure • Considérons que les diagnostics corrects à trouver soient : a,b,c,d • Le programme propose a,b,e • La précision est de 2/3=0.67 • Le rappel est de 2/4=0.5 • La F mesure vaut 2*p*r/(p+r)=0.57 Didier Nakache - Soutenance de thèse

  19. Micro et macro moyenne Didier Nakache - Soutenance de thèse

  20. Comparaison des algorithmes Didier Nakache - Soutenance de thèse

  21. [Dumais et al. 1998] proposent également une série de comparaisons en mettant en compétition une variante de l'algorithme de Rocchio (appelée find similar), des arbres de décision, des réseaux bayésiens et des machines à vecteurs supports : Didier Nakache - Soutenance de thèse

  22. Comparaison des méthodes [Yang et Liu 1999] comparent ainsi les machines à vecteurs supports, les plus proches voisins, les réseaux de neurones, une combinaison linéaire, et des réseaux Bayesiens. Le résultat de leur comparaison est le suivant : Didier Nakache - Soutenance de thèse

  23. Comparer les méthodes ? Indicateurs utilisés : BEP, macro F mesure, micro F mesure, … Didier Nakache - Soutenance de thèse

  24. REUTERS Didier Nakache - Soutenance de thèse

  25. Résultats sur OHSUMED Didier Nakache - Soutenance de thèse

  26. 3. Le travail réalisé Didier Nakache - Soutenance de thèse

  27. Analyse du problème : données générales Didier Nakache - Soutenance de thèse

  28. Constitution du corpus et des bases de données • Nous avons recueilli environ 33 000 comptes rendus médicaux exploitables provenant de nombreux établissements hospitaliers en France. • Nous avons constitué une base de données de 543 418 mots, 100 882 concepts médicaux, 957 acronymes médicaux fréquents, 224 mots stop (antidictionnaire), 1445 préfixes et suffixes médicaux. Didier Nakache - Soutenance de thèse

  29. Nombre de diagnostics par CRH • Chaque compte rendu compte en moyenne 4.34 codes diagnostics par patient et par séjour. La variabilité est très importante puisque l'on dénombre de 1 à 32 diagnostics par patient avec une forte concentration entre 1 et 6 : Didier Nakache - Soutenance de thèse

  30. Spécificité du problème La distribution des codes CIM montre une forte concentration sur quelques codes usuels. Ainsi, un algorithme qui présenterait une liste fixe basée uniquement sur les codes les plus fréquents obtiendrait de bons résultats, mais pour quelle utilité ? 10% des diagnostics rencontrés sont présents dans 80% des comptes rendus Didier Nakache - Soutenance de thèse

  31. EDA : un algorithme de désuffixation Didier Nakache - Soutenance de thèse

  32. Contexte EDA est né d’une double observation : • Il existe de nombreuses formes orthographiques, fléchies,… qui rendent différent (pour l’ordinateur) ce qui est identique, • le langage médical repose sur une structure sémantique très forte, Nous avons voulu optimiser nos algorithmes en exploitant ces deux constats. EDA fonctionne en deux phases successives et indépendantes Didier Nakache - Soutenance de thèse

  33. EDA : étape 1 • transformation en minuscules, • séparation des caractères ligaturés ('cœur' devient 'coeur') et des traits d'unions, • suppression des signes diacritiques (exemple : accents 'dégénéré' devient 'degenere'), • suppression des doubles lettres, • remplacer 'ck', 'cqu', 'qu', et 'c' par 'k', et 'y' par 'i'. Didier Nakache - Soutenance de thèse

  34. EDA : étape 1 bis • Enfin, nous appliquons, le cas échéant, un ensemble de 37 règles séquentielles, sauf si le concept restant devait avoir moins de 5 caractères. Didier Nakache - Soutenance de thèse

  35. Exemple EDA étape 1 bis Didier Nakache - Soutenance de thèse

  36. EDA : étape 2 • Constatant la structure sémantique très forte du langage naturel et la structure hiérarchique de la CIM10 par organes, nous avons choisi d’enrichir le compte rendu en fonction des préfixes, suffixes et affixes. Didier Nakache - Soutenance de thèse

  37. EDA Etape 2 : exemples Didier Nakache - Soutenance de thèse

  38. Résultats Didier Nakache - Soutenance de thèse

  39. Algorithme CLO3 Didier Nakache - Soutenance de thèse

  40. CLO3 est un algorithme de classification multilabels avec ajout d’une dimension en environnement incertain Didier Nakache - Soutenance de thèse

  41. Approche textmining CIREA Concept 1 Concept 2 … Concept i Document 1 Document 2 …. Document j Classe 1 Classe 2 …. Classe k Modèle Cirea : Un document = plusieurs classes et plusieurs concepts. L’enjeu devient de trouver un lien direct entre concepts et classes Didier Nakache - Soutenance de thèse

  42. Un environnement incertain Didier Nakache - Soutenance de thèse

  43. Origine de CLO3 • CLO3 s’inspire à la fois de TF/IDF et de Naïve Bayes • Il se base sur le principe que les termes ou concepts utilisés sont en rapport direct avec les codes diagnostics. Didier Nakache - Soutenance de thèse

  44. Calcul du poids brut • Nous allons donc calculer pour chaque terme une première variable appelée 'Poids Brut', définie comme suit : • Poids brut = Variance de la fréquence du concept / moyenne de fréquence du concept • Il s'agit donc d'un coefficient de variation qui va nous permettre de quantifier la concentration de chaque terme. Didier Nakache - Soutenance de thèse

  45. Calcul du poids net • Mais étant donné le nombre de diagnostics associés, il fallait trouver une méthode qui permette de supprimer les mots trop rares (pour ne pas leur donner un poids injustement trop fort). La seconde étape de l'algorithme consiste à calculer un second poids, appelé poids net qui permette de quantifier la relation entre un terme et un diagnostic (que nous appelons couple) : • Poids net = Poids brut * fréquence(couple)*effectif(couple) • Nous multiplions par la fréquence et l'effectif pour faire apparaître en priorité les occurrences fréquemment rencontrées. Ainsi, les diagnostics associés seront supprimés automatiquement. Didier Nakache - Soutenance de thèse

  46. Supposons en effet qu'un patient souffre d'un diabète et d'une crise cardiaque. Dans le compte rendu, nous trouverons par exemple le mot diabète et le mot cardiaque. Nous allons donc avoir les quatre relations suivantes : Mais sur l'ensemble des comptes rendus, la fréquence d'apparition des couples 'terme cardiaque – diagnostic diabète' et 'terme diabète – diagnostic crise cardiaque' sera faible. Donc en multipliant par cette fréquence, on supprime ces relations non désirées. En multipliant par l'effectif, on amplifie la même fonctionnalité. Didier Nakache - Soutenance de thèse

  47. Troisième étape : Poids A • La troisième étape consiste à standardiser les valeurs calculées pour les poids nets, en calculant le poids final, appelé 'PoidsA'. Pour cela, nous divisons le poids de chaque couple par la moyenne du poids de chaque classe de diagnostic. Ce poids sera élevé à la puissance n pour amplifier le résultat. Didier Nakache - Soutenance de thèse

  48. Calcul du poids B • La quatrième étape consiste à créer un second indicateur baptisé 'PoidsB' inspiré des probabilités simples et Naive Bayes mais en extrapolant ce raisonnement. Pour chaque couple 'terme - diagnostic', nous calculons : • PoidsB = Nombre de fois ou le concept est présent dans la classe / Effectif total du concept Didier Nakache - Soutenance de thèse

  49. Calcul du poids CLO3 • A partir de ces deux termes, nous obtenons une fonction qui optimise le résultat de la classification en se basant sur la fonction suivante : • Poids CLO3 = PoidsA2 * PoidsB5 Didier Nakache - Soutenance de thèse

  50. Utilisation du poids CLO3 • Pour classifier un nouveau document, nous additions les poids CLO3 des concepts extrait. Les meilleurs scores sont proposés. Nous filtrons en ne retenant que ceux dont le seuil est supérieur à 5E-4 Didier Nakache - Soutenance de thèse

More Related