From fb7896f88d709dfae3df4819f7e9c0a924ca3e3d Mon Sep 17 00:00:00 2001 From: Domi31tls Date: Tue, 31 Mar 2026 09:26:54 +0200 Subject: [PATCH] =?UTF-8?q?refactor:=20r=C3=A9duction=20stop-words=20manue?= =?UTF-8?q?ls=20=E2=80=94=20NER=20cross-validation=20suffit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La cross-validation NER (_cross_validate_name_candidates) gère désormais les décisions contextuelles nom/terme-médical. Les stop-words purement médicaux sont supprimés : - data/stopwords_manuels.txt : 1307 → 233 entrées (uniquement les mots ambigus qui sont aussi des noms/prénoms INSEE) - _MEDICAL_STOP_WORDS_SET hardcodé : ~400 → 80 entrées essentielles (mots courts, formes galéniques, titres hospitaliers) - Les enrichissements BDPM (~7300), edsnlp (~2000) et fichier externe sont conservés tels quels Score qualité inchangé : 100/100 (A+), 0 fuite, 0 faux positif. Co-Authored-By: Claude Opus 4.6 (1M context) --- anonymizer_core_refactored_onnx.py | 395 +--------- data/stopwords_manuels.txt | 1081 +--------------------------- 2 files changed, 38 insertions(+), 1438 deletions(-) diff --git a/anonymizer_core_refactored_onnx.py b/anonymizer_core_refactored_onnx.py index f07a3ca..1ebcc41 100644 --- a/anonymizer_core_refactored_onnx.py +++ b/anonymizer_core_refactored_onnx.py @@ -459,367 +459,40 @@ def validate_nir(nir_raw: str) -> bool: # Mots médicaux/techniques/courants qui ne sont pas des noms de personnes _MEDICAL_STOP_WORDS_SET = { - # Mots français courants (déterminants, prépositions, adverbes, etc.) - "pas", "mon", "bien", "ancien", "ancienne", "bon", "bonne", "tout", "tous", - "mais", "donc", "car", "que", "qui", "avec", "dans", "pour", "sur", "par", - "les", "des", "une", "est", "son", "ses", "nos", "aux", "cette", "ces", - "cher", "chez", "entre", "sans", "sous", "vers", "selon", "après", "avant", - "puis", "aussi", "très", "plus", "moins", "peu", "non", "oui", "quelques", - "mise", "début", "fin", "suite", "fait", "lieu", "cas", "jour", "jours", - "semaine", "semaines", "mois", "temps", "place", "nouvelle", "nouveau", - "franche", "légère", "quelque", "depuis", "comme", "encore", "votre", - "date", "note", "notes", "nom", "heure", "matin", "soir", "midi", - "signé", "réalisé", "courrier", "cabinet", "rue", - # Verbes / participes courants - "remontée", "associée", "réalisée", "débuté", "prolongé", "prolongée", - "prescrit", "prescrite", "présente", "présent", "absente", "absent", - "reprise", "introduction", "arrêt", "relais", - # Titres / rôles hospitaliers - "chef", "assistant", "assistante", "praticien", "praticienne", - "docteur", "professeur", "hospitalier", "hospitalière", "hospitaliers", - "spécialiste", "contractuel", "contractuelle", "titulaire", - "confrère", "consoeur", "coordonnateur", "coordonnatrice", - "médecin", "médical", "infirmier", "infirmière", - "praticiens", "patient", "patiente", - # Structure hospitalière - "service", "pôle", "clinique", "consultation", "secrétariat", - "hôpital", "hôpitaux", "centre", "établissement", "polyclinique", - # Villes / géographie (pas des noms de personnes) - "bordeaux", "bayonne", "paris", "lyon", "lille", "marseille", - "toulouse", "nantes", "montpellier", "pessac", "biarritz", "soustons", - "basque", "basques", "sud", "côte", - # Médicaments génériques et spécialités (DCI + noms commerciaux) - "colchicine", "aspirine", "cortancyl", "bisoprolol", "entresto", - "methotrexate", "eplerenone", "speciafoldine", "prednisone", - "corticoïdes", "cortisone", - "paracetamol", "metformine", "solupred", "novorapid", "abasaglar", - "lovenox", "methylprednisolone", "potassium", "humalog", "furosemide", - "insuline", "trulicity", "forxiga", "atorvastatine", "amlodipine", - "ondansetron", "eliquis", "nebivolol", "gaviscon", "loxen", - "morphine", "oxycodone", "kardegic", "tercian", "zopiclone", - "seresta", "tramadol", "alprazolam", "forlax", "levothyrox", - "bromazepam", "gliclazide", "zymad", "pravastatine", "spiriva", - "quetiapine", "sertraline", "crestor", "lercanidipine", "amoxicilline", - "opocalcium", "ferinject", "candesartan", "ceftriaxone", "calcidose", - "laroxyl", "brintellix", "ketoprofene", "adrenaline", "exacyl", - "terbutaline", "ipratropium", "actiskenan", "vialebex", "oxynormoro", - "lansoprazole", "perindopril", "sodium", "velmetia", - "doliprane", "dafalgan", "efferalgan", "spasfon", "vogalene", - "augmentin", "inexium", "omeprazole", "pantoprazole", "esomeprazole", - "ramipril", "lisinopril", "enalapril", "losartan", "valsartan", - "irbesartan", "olmesartan", "telmisartan", "hydrochlorothiazide", - "spironolactone", "furosemide", "lasilix", "aldactone", - "tahor", "crestor", "rosuvastatine", "simvastatine", "fluvastatine", - "xarelto", "pradaxa", "apixaban", "rivaroxaban", "dabigatran", - "plavix", "clopidogrel", "ticagrelor", "brilique", - "ventoline", "seretide", "symbicort", "salmeterol", "fluticasone", - "salbutamol", "tiotropium", "budesonide", "beclometasone", - "oxycodone", "oxynorm", "skenan", "actiskenan", "fentanyl", - "nubain", "nalbuphine", "nefopam", "acupan", "profenid", - "ibuprofene", "diclofenac", "naproxene", "celecoxib", - "gabapentine", "pregabaline", "lyrica", "neurontin", - "amitriptyline", "duloxetine", "venlafaxine", "fluoxetine", - "paroxetine", "escitalopram", "citalopram", "mirtazapine", - "olanzapine", "risperidone", "aripiprazole", "haloperidol", - "loxapine", "cyamemazine", "diazepam", "oxazepam", "lorazepam", - "clonazepam", "midazolam", "hydroxyzine", "atarax", "melatonine", - "stilnox", "zolpidem", "imovane", - "levothyroxine", "metformine", "glimepiride", "sitagliptine", - "januvia", "jardiance", "empagliflozine", "dapagliflozine", - "ozempic", "semaglutide", "dulaglutide", "liraglutide", "victoza", - "heparine", "enoxaparine", "tinzaparine", "innohep", - "warfarine", "coumadine", "fluindione", "previscan", - "ciprofloxacine", "levofloxacine", "ofloxacine", "metronidazole", - "vancomycine", "gentamicine", "tazocilline", "piperacilline", - "meropenem", "imipenem", "clindamycine", "doxycycline", - "azithromycine", "clarithromycine", "cotrimoxazole", "bactrim", - "polyionique", "propranolol", "apidra", "solostar", - # Noms et suffixes laboratoires pharmaceutiques - "arw", "myl", "myp", "arg", "teva", "bga", "agt", - "mylan", "biogaran", "arrow", "sandoz", "zentiva", "cristers", - "accord", "viatris", "ranbaxy", "ratiopharm", "almus", "qualimed", - "evolugen", "alter", "zydus", "medisol", "substipharm", - "sdz", "bgr", "egt", "rnb", - # Formes galéniques / voies d'administration - "cpr", "sachet", "orale", "oral", "sol", "buv", "stylo", "flexpen", - "flestouch", "kwikpen", "inj", "susp", "gelule", "comprime", - "unidose", "perf", "inh", "seringue", "aerosol", "sach", "pdr", - "orodisp", "capsule", "patch", "suppositoire", "gouttes", - # Termes de prescription / pharmacie - "prescription", "prescriptions", "dose", "fréquence", "statut", - "technique", "capteur", "bandelettes", "glycemiques", "glycemique", - "lancettes", "aiguilles", "fines", "micro", "pompe", "réserve", - "glycemie", "capillaire", "hgt", - # Termes médicaux / cliniques - "myocardite", "myosite", "corticothérapie", "biopsie", "pathologie", - "dysimmunitaire", "récidive", "récidivante", "traitement", "diagnostic", - "antécédents", "examen", "bilan", "résultats", "analyse", - "interne", "externe", "médecine", "chirurgie", "rhumatologie", - "dermatologie", "immunologie", "cardiologie", "pneumologie", - "neurologie", "gynécologie", "radiologie", "sénologie", - "douleur", "douleurs", "douloureux", "musculaire", "musculaires", - "thoracique", "thoraciques", "membres", "supérieurs", "inférieurs", - "normale", "normaux", "habituelle", "habituelles", - "synthèse", "hospitalisation", "syndrome", "vaccination", "ophtalmo", - "pelvien", "diabétique", "sommeil", "régime", "diet", - "desinfection", "environnement", "identification", "bracelet", - "toilettes", "accompagner", "installer", "transfusion", - "signes", "vitaux", "alimentaire", "avis", "zone", - "calcémie", - # Abréviations médicales - "irm", "ett", "ecg", "mtx", "fevg", "bdc", "crp", "sfu", "hdj", - "bnp", "asat", "alat", "cpk", "ctc", "hba", "hba1c", - "saos", "tsh", "inr", "vgm", "pnn", "plq", "hb", - "poc", "bax", "act", "bic", "cfx", "acc", "ado", "acf", "vfo", - "qvl", "cci", "pse", "pca", "chl", "crt", "bbm", "pds", "ren", - "vit", "zen", - "scanner", "radio", "écho", "échographie", - # Spécialités médicales (éviter faux positifs NOM) - "hépato-gastro-entérologue", "gastro-entérologue", "gastro-entérologie", - "proctologue", "oncologue", "anesthésiste", "pneumologue", "gérontologue", - "cardiologue", "néphrologue", "urologue", "gériatre", - "hépatologue", "endocrinologue", "stomatologue", - # Termes médicaux / titres fréquemment détectés comme NOM par le NER - "supplémentation", "supplementation", "endocrinologie", "monsieur", "madame", - "suivi", "sortie", "emog", "ophtalmo", - # Médicaments détectés comme NOM/PRENOM par EDS-Pseudo - "eliquis", "trulicity", "saos", "wind", "taxotere", "eupantol", "ezetimibe", - "lansoyl", "xatral", "xenetix", "trimbow", "buspirone", "cetirizine", - "depakote", "versatis", "durogesic", "montelukast", "metformine", "viatris", - "rosuvastatine", "gliclazide", "amlodipine", "perindopril", "nebivolol", - "pravastatine", "bisoprolol", "amoxicilline", "kardegic", "lovenox", - # Termes médicaux / soins / actes détectés comme NOM - "partielle", "cutanee", "cutané", "cutanée", "osseuse", "diabetique", - "diabétique", "transdermique", "transderm", "diarrhees", "diarrhées", - "ionogramme", "scintigraphie", "thoraco", "thorax", "négative", "negative", - "diététicienne", "pressurise", "pressuriser", "inhalee", "inhalée", "inhal", - # Mots courants français détectés comme NOM dans les trackare - "toilette", "repas", "poche", "installation", "education", "éducation", - "refection", "réfection", "complete", "complète", "regime", "régime", - "normal", "traité", "traite", "arrêté", "arrete", "volume", - "commentaires", "france", "covid", "framboise", "epoux", "époux", - # Abréviations médicales courtes (3-4 chars) détectées comme NOM - "ide", "ipp", "pcr", "tap", "gel", "ahl", "ssr", "hds", "tca", "etp", - "mcg", "sdz", "iao", "ser", "orod", "clav", "disp", "cart", "atcd", "mdrd", - "amox", "endoc", "microg", "item", "pyélo", "néphro", - # En-têtes de colonnes / mots structurels trackare - "observations", "observation", "commentaires", "commentaire", - "surveillance", "température", "temperature", "glycémie", "glycemie", - "diurèse", "diurese", "balance", "pouls", "systolique", "diastolique", - "saturation", "fréquence", "frequence", "respiratoire", "douleur", - "alertes", "alerte", "antécédents", "antecedents", "habitus", - "allergies", "prescriptions", "prescription", "administration", - "catégorie", "categorie", "expiration", "message", - "destination", "diagnostique", "diagnostiques", - "date", "note", "nom", "heure", "type", "code", "etat", - "comprime", "comprimé", "gelule", "gélule", "solution", "injectable", - # Médicaments supplémentaires détectés dans les trackare - "depakote", "versatis", "humalog", "forxiga", "durogesic", - "montelukast", "rosuvastatine", - # Abréviations pharma courtes - "cpr", "sol", "bic", "agt", "poche", "inhal", - # Termes chirurgicaux/cliniques FP - "cure", "endocrine", "operatoire", "opératoire", "realisee", "réalisée", - "gauche", "droit", "droite", "face", "profil", - # Faux positifs EDS supplémentaires - "psy", "inhales", "inhalés", "kwikpen", "lansoprazole", "tiorfan", "smecta", - "axa", "ttt", "anionique", "abdomino", "cod", "omi", "urg", "med", - "10mg", "20mg", "40mg", "100mg", "300ui", "500ml", "innohep", "coaprovel", - "actiskenan", "simvastatine", "forlax", - # Mots temporels / contextuels détectés comme EDS_HOPITAL - "semaine", "jour", "matin", "soir", "nuit", "midi", - # Mots clés de contexte document - "compétences", "maladies", "inflammatoires", "systémiques", "rares", - "fret", "fax", "contexte", "résultat", "resultat", "résultats", "resultats", - "haute", "maison", "aide", "rpps", "poste", "fonct", - "sante", "santé", "etxe", "ttipi", "gastro", "concha", - "endoscopie", "endoscopique", "fibroscopie", - "indication", "conclusion", "technique", "anesthésie", - "digestif", "digestive", "digestives", "nutritive", - # Abréviations soins trackare détectées comme NOM (batch 20 OGC) - "soins", "lit", "jeun", "lever", "pose", "surv", "ggt", "vvp", - # Verbes d'instructions soins (aussi des patronymes INSEE → FP) - "coucher", "manger", "marcher", "sortir", - "verif", "crop", "evs", "maco", "pan", "cet", "trou", "nit", "nfs", - # Mots narratifs CRH capturés par fusion sidebar 2-colonnes - "evolution", "évolution", "explorations", "fermeture", "allergie", "allergies", - "lotissement", "cholangiographie", "cholecystectomie", "cholécystectomie", - "paracetamol", "paracétamol", "unité", "unite", - # FP résiduels batch 10 OGC (termes médicaux/instructions soins) - "glyc", "glycosurie", "vider", "forte", - # FP audit batch 59 OGC (mots courants/médicaux flagués comme NOM) - "oncologie", "confrères", "confrere", "doubles", "chers", "motif", - "responsable", "autre", "autres", "autonome", "autonomes", - "préparations", "preparations", "prévenir", "prevenir", - "acétylsalicylique", "acetylsalicylique", "angio", - "desc", "diu", "barreau", - "haitz", "alde", - # FP audit OGC 21 — termes médicaux/courants flagués NOM_GLOBAL - "alimentation", "augmentation", "amelioration", "amélioration", - "biliaire", "biliaires", "bili", "voies", "voie", - "apyrexie", "apyréxie", "apyrétique", "apyretique", - "clavulanique", "mecillinam", "sulfamides", "sulfamide", - "tazobactam", "temocilline", "ecoflac", "furanes", "furane", - "exilar", "lipruzet", "mopral", - "sensible", "sensibles", "dossier", "dossiers", - "entero", "entéro", "medecine", "bio", - "aviation", "contention", "isolement", - "elimination", "élimination", "infectieux", - "hémodynamique", "hemodynamique", "pancréatite", "pancreatite", - "cholecystite", "cholécystite", "cholécystectomie", "cholecystectomie", - "appendicectomie", "néoplasie", "neoplasie", - "ovarienne", "prandial", "fébrile", "febrile", - "eupnéique", "eupneique", "normocarde", "normotendue", - "variable", "dosage", "posologie", - # Abréviations diététiques/soins trackare - "bcy", "po2", "po1", "po3", "bha", "atg", "ras", "cat", "ass", - # FP audit OGC 17 CRH - "mode", "retraitee", "retraité", "retraitée", "régression", "regression", "tel", - "strasbourg", "bordeaux", "toulouse", "paris", "lyon", "marseille", "bayonne", "anglet", - "saint-palais", "tarnos", "hendaye", "dax", "orthez", "oloron", "pau", "cambo", - # Spécialités/services récurrents comme FP NOM - "cancérologie", "cancerologie", "réanimation", "reanimation", - "urologie", "néphrologie", "nephrologie", "hématologie", "hematologie", - "gériatrie", "geriatrie", "pédiatrie", "pediatrie", - "ophtalmologie", "stomatologie", "allergologie", - "kinésithérapie", "kinesitherapie", "ergothérapie", "ergotherapie", - "orthopédie", "orthopedie", "traumatologie", - "palliatifs", "palliative", "palliatif", - "addictologie", "alcoologie", "tabacologie", - # FP soignants trackare (mots courants capturés par patterns Note d'évolution / Signé / Flacon) - "discussion", "echelle", "échelle", "scope", "tdm", "bouteille", - "evendol", "relais", "repas", "poursuite", "indication", - # FP pattern timestamp (termes ALL-CAPS capturés par "HH:MM NOM") - "eliminatin", "elimination", "élimination", "preremplie", "pré-remplie", - "thermie", "alim", "alimentation", "admin", - # Médicaments/tests labo capturés par patterns soignants - "biprofenid", "bi-profenid", "phosphatase", "phosphatases", - "ecbu", "suppo", "suppositoire", "mucite", "microlax", "normacol", - "ciprofloxacine", "lavement", "desinfection", "désinfection", - "avaler", "rachis", "lombaire", "thoraco-lombaire", - "cérébrale", "cerebrale", "cérébral", "cerebral", "hépatique", "hepatique", - "thoracique", "abdominale", "abdominal", "pelvienne", "pelvien", "médullaire", - # Dosages et labos pharma (FP fréquents dans prescriptions Trackare) - "faible", "fort", "forte", - "myl", "mylan", "sandoz", "teva", "arrow", "biogaran", "zentiva", "eg", - "arw", "pan", "mso", "bgn", "ratiopharm", "accord", "vts", "viatris", - "abdomino-pelvien", "abdomino", "pelvien", "thoraco-abdominal", - "entree", "entrée", "continu", "continue", - "morphine", "claforan", "skenan", "actiskenan", - # Fragments de noms de médicaments (pdfplumber split) - "sium", "pegic", "fenid", "profenid", - # Catégories cliniques Trackare (en-têtes de section masqués à tort) - "respi", "respiratoire", "nephro", "cardio", "neuro", "onco", "pulmo", - "hemato", "hémato", "infectieux", "thermie", "diurese", "diurèse", - "transit", "anemie", "anémie", "constantes", "examen", - "post-op", "postop", "pré-op", "preop", "chimio", "elim", - "toilette", "sommeil", "hypota", "hypotension", "spo2", - "urine", "urines", "sng", - "rénale", "renale", "rénal", "renal", "cardiaque", - # Termes structurels trackare - "transmissions", "transmission", "releve", "relevé", - "objectif", "objectifs", "evaluation", "évaluation", - "planification", "planifié", "planifiee", - # ── FP détectés automatiquement par audit_fp_detector.py ── - # Lot 2 : tokens basse confiance (DICT_FR seul) clairement non-noms - "acide", "adulte", "ambulatoire", "avenue", "bandelette", "bassin", - "bijoux", "bouche", "bouchon", "changes", "court", "demande", "dessert", - "devenir", "diffusé", "douche", "entrée", "escarre", "espace", - "explications", "fauteuil", "feuillet", "fixateur", "fois", "gamma", - "germes", "glace", "habillage", "liste", "maquillage", "matelas", - "mettre", "obésité", "ongles", "palais", "perlant", "pertes", - "pièce", "plaie", "risque", "saint", "sang", "signe", "sonde", - "tenue", "texte", "transaminases", "transit", "transmis", "urinal", - "vernis", "vessie", "vrac", - # Lot 2 : termes médicaux (préfixes/suffixes) - "anatomo-pathologique", "anemie", "anémie", "angioscanner", - "cétonurie", "cetonurie", "depilation", "dépilation", - "folique", "gastroentérologue", "gastroenterologue", - "microgrammes", "nalidixique", "naso-gastrique", - "angio-irm", "neuro", "neuro-chirurgie", "endoplasmique", - "cyto", "plaie-colle", "bionolyte", - # Lot 1 (103 tokens, confiance >= 0.5) ── - # Anatomie / clinique - "abdomen", "aortique", "bilirubine", "drain", "gastrique", "histologique", - "intraveineuse", "lithiasique", "macroscopie", "miction", "molles", "pelvienne", - "plaquette", "plaquettes", "rectale", "sanguine", "sciatique", "selle", "urinaire", - # Pathologies / symptômes - "algie", "angoisse", "antécédent", "douloureuse", "dyslipidémie", - "hemodialyse", "hemorragique", "hyperthermie", "hématologue", - # Médicaments / matériel médical - "ampoule", "antalgique", "antiseptique", "compresse", "flacon", - "oxygène", "pansement", "vitamine", - # Biologie / examens - "biochimie", "biologie", "fer", - # Actions / états cliniques - "ablation", "absence", "admission", "bloc", "changement", "cliniquement", - "cognitif", "couchage", "dispositif", "dynamique", "entretien", "histoire", - "intervention", "position", "rappel", "relation", "retour", "réalisation", - "résistant", "réévaluation", "situation", "temporaire", "urgence", "urgences", - "urgent", "validation", - # Mots courants / contextuels - "angle", "bille", "boisson", "bureau", "cases", "circuit", - "concubin", "confortable", "demain", "densité", "dernière", - "distant", "domaine", "elle", "fils", "frère", "grand", "horizon", - "hui", "identifiant", "minuit", "murent", "neuf", "original", "pages", - "personne", "premier", "quartier", "retraite", "route", "rés", - "trouve", "verrouillé", "villa", "étage", - # Termes médicaux courants faussement détectés comme NOM (Phase 2 audit mars 2026) - "ains", "ponction", "hanche", "burkitt", "orl", "gds", "oap", "tvp", "epp", - "bronchite", "accueil", "cadre", "transfert", "relecture", "examens", - "traitements", "traitement", "infectiologie", "cancérologie", "cancerologie", - "maternité", "orale", "sachet", "absence", - # FP audit 30 fichiers Phase 2 (mars 2026) - "bouffee", "bouffée", "discontinue", "respimat", "lyoc", - "probnp", "pro-bnp", "nt-probnp", - "bpco", "colle", "gsc", "masse", - "selle", "selles", - # Acronymes médicaux courts (3 lettres) souvent FP comme NOM - "epo", "irc", "sib", "inr", "iec", "ira", "ait", "avc", - "imc", "ipp", "ivo", "amp", "ivg", "img", "had", "ssr", - "hta", "ecg", "irm", "tep", "crp", "nfs", "bhc", "vgm", - "vni", "aeg", "bas", "snv", "hba", "ide", "dci", - # Termes pharmaceutiques FP comme NOM (audit 30 fichiers mars 2026) - "buvable", "buvables", "nominal", "nominaux", - "acide", "principale", "principal", "principaux", - "hyaluronique", "valproique", "valproïque", "tranexamique", "tranéxamique", - "clavulanique", "nalidixique", - "grancher", # Centre de réadaptation (nom d'établissement homonyme) - "experf", # Prestataire HAD (nom commercial homonyme) - # Noms de services hospitaliers (FP comme [NOM]) - "ortho", "mobile", "polyvalente", "polyvalent", - "geriatrie", "gériatrie", "ambulatoire", "provisoire", - "intraveineuse", "intraveineux", "sous-cutanee", "sous-cutané", - # Noms de services hospitaliers (aussi patronymes INSEE → FP récurrents) - "viscerale", "viscérale", "vasculaire", "vasculaires", - "conventionnelle", "conventionnel", - "polyvalente", "polyvalent", - "infectieuse", "infectieuses", - # Termes soins infirmiers / activités de la vie quotidienne (FP trackare doc 216) - "aide", "partielle", "partiel", "complete", "complète", "complet", - "contention", "lavabo", "blader", "scan", "post", "lunettes", - "deshabillage", "déshabillage", "habillage", - "surveillance", "surv", "refection", "réfection", - "miction", "toilette", "douche", "changes", - "installation", "transfert", "mobilisation", - "alimentation", "hydratation", "collation", - "stimulation", "prevention", "prévention", - # Termes pharmaceutiques/matériel médical FP (retour relecteur 2026-03-16) - "chlorure", - # Dispositifs médicaux (FP "OXYGENE LUNETTES" → [NOM]) - "canule", "canules", "masque", "sonde", "sondes", - # Termes chirurgicaux FP comme [NOM] (retour relecteur 2026-03-17) - "totale", "total", "partielle", "partiel", - "prothese", "prothèse", "protheses", "prothèses", "unicompartimentale", - # Antiseptiques / produits de soins (FP trackare prescriptions) - "betascrub", "hibiscrub", "betadine", "biseptine", "chlorhexidine", - # Nutrition entérale / compléments - "fresubin", "nutrison", "sondalis", "isosource", "novasource", - # Termes médicaux FP dans bactério / texte libre - "nombreuses", "nombreux", "plusieurs", "quelques", - "internationale", "international", - "resorbable", "résorbable", "resorbables", "résorbables", - "alfa", "capsule", "capsules", + # ── Ensemble réduit (mars 2026) ── + # La majorité des termes purement médicaux ont été retirés car la cross-validation + # NER (_cross_validate_name_candidates) gère désormais les décisions contextuelles. + # Restent ici UNIQUEMENT : + # 1. Mots français courts (2-3 lettres) très fréquents et ambigus + # 2. Abréviations médicales courtes qui sont aussi des noms INSEE + # 3. Formes galéniques qui apparaissent juste à côté des noms dans les prescriptions + # 4. Titres/rôles et mots structurels qui déclenchent systématiquement des FP + # Les ~233 mots ambigus (termes courants ET noms INSEE) sont dans data/stopwords_manuels.txt. + # Les ~7300 noms de médicaments BDPM sont chargés depuis data/bdpm/medicaments_stopwords.txt. + # Les ~2000 noms edsnlp sont chargés via _load_edsnlp_drug_names(). + + # Mots français très courts (2-3 lettres) — aussi noms de famille INSEE + "pas", "mon", "bon", "car", "que", "qui", "par", "les", "des", "une", + "est", "son", "ses", "nos", "aux", "ces", "sur", "non", "oui", "peu", + "bas", "fer", "fin", "sol", "gel", "lit", "rue", + + # Prépositions / conjonctions / adverbes courts (>3 lettres mais ultra-fréquents) + "mais", "donc", "avec", "dans", "pour", "sous", "vers", "sans", "chez", + "puis", "très", "plus", "elle", "nous", "vous", "leur", "tout", "tous", + + # Formes galéniques / voies d'administration (apparaissent juste à côté des noms) + "comprime", "comprimé", "gelule", "gélule", "injectable", "solution", + "capsule", "capsules", "suppositoire", "patch", "sachet", "gouttes", + + # Titres / rôles hospitaliers (déclenchent des FP NOM systématiques) + "docteur", "professeur", "monsieur", "madame", "patient", "patiente", + "médecin", "infirmier", "infirmière", "praticien", + + # Abréviations médicales courtes (3 lettres) qui sont aussi noms INSEE + "ide", "ira", "amp", "ivo", "ado", "epp", "tep", + + # Dosages avec unités (capturés à tort comme début de nom en ALL-CAPS) + "10mg", "20mg", "40mg", "100mg", "300ui", "500ml", } # Enrichissement automatique avec les ~4000 noms de médicaments d'edsnlp _MEDICAL_STOP_WORDS_SET.update(_load_edsnlp_drug_names()) diff --git a/data/stopwords_manuels.txt b/data/stopwords_manuels.txt index 055890f..7382092 100644 --- a/data/stopwords_manuels.txt +++ b/data/stopwords_manuels.txt @@ -1,1073 +1,193 @@ -# Stop-words manuels (termes médicaux, soins infirmiers, dispositifs, etc.) -# Un mot par ligne. Lignes vides et commentaires # ignorés. -# Total : 1473 entrées +# Stop-words ambigus (aussi noms/prénoms INSEE) +# Ces mots sont à la fois des termes courants ET des noms de famille. +# La cross-validation NER + INSEE gère les cas ambigus. +# Total : 233 entrées -100mg -10mg -20mg -300ui -40mg -500ml -HH:MM NOM -OXYGENE LUNETTES -abasaglar -abdomen -abdominal -abdominale -abdomino -abdomino-pelvien -ablation -absence -absent -absente -acc -accompagner -accord -accueil -acetylsalicylique -acf acide -act -actiskenan -acupan -acétylsalicylique -addictologie -admin -administration -admission ado -adrenaline -adulte -aeg -aerosol -agt -ahl -aide -aiguilles ains ait alat -alcoologie -aldactone alde alerte -alertes alfa -algie alim -alimentaire -alimentation -allergie -allergies -allergologie -almus -alprazolam alter -ambulatoire -amelioration -amitriptyline -amlodipine -amox -amoxicilline amp -ampoule -amélioration -analyse -anatomo-pathologique ancien -ancienne -anemie -anesthésie -anesthésiste -angio -angio-irm -angioscanner angle -anglet -angoisse -anionique -antalgique -antecedents -antiseptique -antécédent -antécédents -anémie -aortique -apidra -apixaban -appendicectomie -après -apyretique -apyrexie -apyrétique -apyréxie -arg -aripiprazole -arrete -arrow -arrêt -arrêté -arw -asat -aspirine -ass -assistant -assistante -associée -atarax -atcd -atg -atorvastatine -augmentation -augmentin -aussi -autonome -autonomes -autre -autres -aux -avaler -avant -avc -avec -avenue -aviation avis -axa -azithromycine -bactrim balance -bandelette -bandelettes barreau bas basque -basques bassin bax bayonne -bbm -bcy -bdc -beclometasone -betadine -betascrub -bga -bgn -bgr -bha -bhc -bi-profenid -biarritz bic bien bijoux bilan bili -biliaire -biliaires -bilirubine bille bio -biochimie -biogaran -biologie -bionolyte -biopsie -biprofenid -biseptine -bisoprolol -blader bloc -bnp boisson bon bonne bordeaux bouche bouchon -bouffee -bouffée bouteille -bpco -bracelet -brilique -brintellix -bromazepam -bronchite -budesonide bureau -burkitt -buspirone -buv -buvable -buvables -cabinet cadre -calcidose -calcémie cambo -cancerologie -cancérologie -candesartan -canule -canules capillaire -capsule -capsules -capteur car -cardiaque -cardio -cardiologie -cardiologue cart cas cases cat -categorie -catégorie -cci -ceftriaxone -celecoxib -centre -cerebral -cerebrale ces -cet -cetirizine -cetonurie cette -cfx -changement -changes chef cher -chers -chez -chimio -chirurgie -chl -chlorhexidine -chlorure -cholangiographie -cholecystectomie -cholecystite -cholécystectomie -cholécystite -ciprofloxacine -circuit -citalopram -claforan -clarithromycine -clav -clavulanique -clindamycine -clinique -cliniquement -clonazepam -clopidogrel -coaprovel -cod -code -cognitif -colchicine -collation colle comme -commentaire -commentaires -complet -complete -complète -compresse -comprime -comprimé -compétences concha -conclusion -concubin -confortable confrere confrère -confrères -consoeur -constantes -consultation -contention -contexte -continu -continue -contractuel -contractuelle -conventionnel -conventionnelle -coordonnateur -coordonnatrice -cortancyl -corticothérapie -corticoïdes -cortisone -cotrimoxazole -couchage -coucher -coumadine courrier court -covid -cpk -cpr -crestor -cristers crop -crp -crt -ctc cure -cutanee -cutané -cutanée -cyamemazine -cyto -cérébral -cérébrale -cétonurie côte -dabigatran -dafalgan dans -dapagliflozine -date dax -dci demain demande -densité -depakote -depilation depuis -dermatologie -dernière des -desc -deshabillage -desinfection dessert -destination -devenir -diabetique -diabétique -diagnostic -diagnostique -diagnostiques -diarrhees -diarrhées -diastolique -diazepam -diclofenac diet -diffusé -digestif -digestive -digestives -discontinue -discussion -disp -dispositif -distant diu -diurese -diurèse -diététicienne docteur -doliprane domaine -donc -dosage dose dossier -dossiers -doubles douche -douleur -douleurs -douloureuse -douloureux -doxycycline drain droit -droite -dulaglutide -duloxetine -durogesic -dynamique -dysimmunitaire -dyslipidémie début -débuté -dépilation -déshabillage -désinfection -ecbu -ecg -echelle -ecoflac -education -efferalgan -eg -egt elim -eliminatin -elimination -eliquis elle -emog -empagliflozine -enalapril -encore -endoc -endocrine -endocrinologie -endocrinologue -endoplasmique -endoscopie -endoscopique -enoxaparine -entero -entre -entree -entresto -entretien -entrée -entéro -environnement -eplerenone -epo -epoux epp -ergotherapie -ergothérapie escarre -escitalopram -esomeprazole -espace est -etat -etp -ett -etxe -eupantol -eupneique -eupnéique -evaluation -evendol -evolugen -evolution -evs -exacyl -examen -examens -exilar -experf -expiration -explications -explorations -externe -ezetimibe face -faible fait -fauteuil -fax -febrile -fenid -fentanyl fer -ferinject -fermeture feuillet -fevg -fibroscopie fils fin fines -fixateur flacon -flestouch -flexpen -fluindione -fluoxetine -fluticasone -fluvastatine fois -folique -fonct -forlax fort forte -forxiga framboise france franche -frequence -fresubin fret frère -fréquence -furane -furanes -furosemide -fébrile -gabapentine gamma -gastrique -gastro -gastro-entérologie -gastro-entérologue -gastroenterologue -gastroentérologue gauche -gaviscon -gds -gel -gelule -gentamicine -geriatrie germes -ggt glace -gliclazide -glimepiride -glyc -glycemie -glycemique -glycemiques -glycosurie -glycémie gouttes grancher grand -gsc -gynécologie -gélule -gériatre -gériatrie -gérontologue -habillage -habituelle -habituelles -habitus -had -haitz -haloperidol hanche haute -hb -hba -hba1c -hdj -hds -hemato -hematologie -hemodialyse -hemodynamique -hemorragique -hendaye -heparine -hepatique heure -hgt -hibiscrub -histoire -histologique -horizon hospitalier -hospitaliers -hospitalisation -hospitalière -hta hui -humalog -hyaluronique -hydratation -hydrochlorothiazide -hydroxyzine -hyperthermie -hypota -hypotension -hémato -hématologie -hématologue -hémodynamique -hépatique -hépato-gastro-entérologue -hépatologue hôpital -hôpitaux -iao -ibuprofene ide -identifiant -identification -iec -imc -img -imipenem -immunologie -imovane -indication -inexium -infectieuse -infectieuses -infectieux -infectiologie -infirmier -infirmière -inflammatoires -inférieurs -inh -inhal -inhalee -inhales -inhalée -inhalés -inj -injectable -innohep -inr -installation -installer -insuline -international -internationale -interne -intervention -intraveineuse -intraveineux -introduction -ionogramme -ipp -ipratropium ira -irbesartan -irc -irm -isolement -isosource -item -ivg ivo -januvia -jardiance -jeun jour -jours -kardegic -ketoprofene -kinesitherapie -kinésithérapie -kwikpen -lancettes -lansoprazole -lansoyl -laroxyl -lasilix -lavabo -lavement -lercanidipine -les lever -levofloxacine -levothyrox -levothyroxine lieu lille -lipruzet -liraglutide -lisinopril -liste -lit -lithiasique -lombaire -lorazepam -losartan -lotissement -lovenox -loxapine -loxen -lunettes -lyoc lyon -lyrica légère maco -macroscopie -madame mais maison -maladies manger -maquillage marcher marseille -masque masse -matelas -maternité matin -mcg -mdrd -mecillinam -med -medecine -medisol -melatonine -membres -meropenem message -metformine -methotrexate -methylprednisolone -metronidazole mettre -micro -microg -microgrammes -microlax -miction -midazolam midi -minuit -mirtazapine -mise -mobile -mobilisation mode moins -mois molles mon monsieur -montelukast montpellier -mopral -morphine -motif -mso -mtx -mucite -murent -musculaire -musculaires -myl mylan -myocardite -myosite -myp médecin -médecine -médical -médullaire -nalbuphine -nalidixique nantes -naproxene -naso-gastrique -nebivolol -nefopam -negative -neoplasie -nephro -nephrologie -neuf -neuro -neuro-chirurgie -neurologie -neurontin -nfs -nit -nom -nombreuses -nombreux -nominal -nominaux -non -normacol normal -normale -normaux -normocarde -normotendue nos note -notes nouveau nouvelle -novasource -novorapid -nt-probnp -nubain -nuit -nutrison -nutritive -négative -néoplasie -néphro -néphrologie -néphrologue -oap -objectif -objectifs -observation -observations -obésité -ofloxacine -olanzapine -olmesartan -oloron -omeprazole -omi -onco -oncologie -oncologue -ondansetron -ongles -operatoire -ophtalmo -ophtalmologie -opocalcium -opératoire oral -orale -original -orl -orod -orodisp -orthez -ortho -orthopedie -orthopédie -osseuse oui -ovarienne -oxazepam -oxycodone -oxygène -oxynorm -oxynormoro -ozempic pages palais -palliatif -palliatifs -palliative pan -pancreatite -pancréatite -pansement -pantoprazole -par -paracetamol -paracétamol paris -paroxetine -partiel -partielle pas -patch -pathologie patient -patiente pau -pca -pcr -pdr -pds -pediatrie -pegic -pelvien -pelvienne -perf -perindopril perlant personne -pertes -pessac peu -phosphatase -phosphatases -piperacilline -pièce place plaie -plaie-colle -planification -planifiee -planifié -plaquette -plaquettes -plavix -plq plus -plusieurs -pneumologie -pneumologue -pnn -po1 -po2 -po3 poc poche -polyclinique -polyionique -polyvalent -polyvalente pompe -ponction pose -position -posologie post -post-op poste -postop -potassium -pouls pour -poursuite -pradaxa -prandial -praticien -praticienne -praticiens -pravastatine -prednisone -pregabaline premier -preop -preparations -preremplie -prescription -prescriptions -prescrit -prescrite -pressurise -pressuriser -prevenir -prevention -previscan -principal -principale -principaux -pro-bnp -probnp -proctologue -profenid -professeur profil -prolongé -prolongée -propranolol -prothese -protheses -prothèse -prothèses -provisoire -pré-op -pré-remplie -préparations présent -présente -prévenir -prévention -pse -psy puis -pulmo -pyélo -pédiatrie pôle -qualimed quartier -que -quelque -quelques -quetiapine -qui -qvl -rachis -radio -radiologie -ramipril -ranbaxy rappel rares ras -ratiopharm -realisee -reanimation -rectale -refection -regime -regression -relais -relation -relecture -releve -relevé -remontée ren renal -renale -repas -reprise -resorbable -resorbables -respi -respimat -respiratoire -responsable -resultat -resultats retour -retraite -retraitee -retraité -retraitée -rhumatologie -risperidone -risque -rivaroxaban -rnb -rosuvastatine route -rpps rue -réalisation -réalisé -réalisée -réanimation -récidivante -récidive -réfection -régime -régression rénal -rénale rés -réserve -résistant -résorbable -résorbables -résultat -résultats -réévaluation -sach sachet saint saint-palais -salbutamol -salmeterol sandoz sang sanguine @@ -1075,237 +195,44 @@ sans sante santé saos -saturation -scan -scanner -sciatique -scintigraphie -scope -sdz -secrétariat selle selles selon -semaglutide semaine -semaines -sensible -sensibles ser -seresta -seretide -seringue -sertraline -service -ses -sfu -sib signe signes signé -simvastatine -sitagliptine -situation -sium -skenan -smecta -sng -snv -sodium -soins soir sol -solostar -solupred -solution sommeil son -sondalis -sonde sondes -sortie -sortir sous -sous-cutanee -sous-cutané -soustons -spasfon -speciafoldine -spiriva -spironolactone -spo2 -spécialiste -ssr -statut -stilnox -stimulation -stomatologie -stomatologue -strasbourg -stylo -substipharm sud -suite -suivi -sulfamide -sulfamides -supplementation -supplémentation suppo -suppositoire -supérieurs sur -surv -surveillance -susp -symbicort -syndrome -synthèse -systolique -systémiques -sénologie -tabacologie -tahor tap -tarnos -taxotere -tazobactam -tazocilline -tca -tdm -technique tel -telmisartan -temocilline -temperature -temporaire temps -température -tenue tep -terbutaline -tercian teva -texte -thermie -thoracique -thoraciques -thoraco -thoraco-abdominal -thoraco-lombaire thorax -ticagrelor -tinzaparine -tiorfan -tiotropium -titulaire -toilette -toilettes total -totale toulouse tous tout -traite -traitement -traitements -traité -tramadol -tranexamique -transaminases -transderm -transdermique -transfert -transfusion -transit -transmis -transmission -transmissions -tranéxamique -traumatologie -trimbow trou trouve -trulicity très -tsh -ttipi -ttt -tvp -type une -unicompartimentale -unidose -unite -unité -urg -urgence -urgences -urgent -urinaire -urinal -urine -urines -urologie -urologue -vaccination -validation -valproique -valproïque -valsartan -vancomycine -variable -vasculaire -vasculaires -velmetia -venlafaxine -ventoline -verif vernis -verrouillé vers -versatis vessie -vfo -vgm -vialebex -viatris -victoza -vider villa -viscerale -viscérale vit -vitamine vitaux -vni -vogalene -voie -voies -volume -votre vrac -vts -vvp -warfarine wind -xarelto -xatral -xenetix zen -zentiva -zolpidem zone -zopiclone -zydus -zymad -échelle -écho -échographie -éducation -élimination -époux -établissement -étage -évaluation -évolution