PROJET n° 58

Edu-ECG

Raisonner avant l’IA

Les réponses libres sont plus proches du raisonnement clinique que les QCM, mais restent difficiles à corriger automatiquement. Les solutions actuelles reposent souvent sur des modèles propriétaires, payants et peu adaptés à un déploiement hospitalier ou universitaire. Notre défi : créer un moteur open source, local et contraint par une ontologie médicale pour analyser et accompagner l’interprétation des ECG.

Quel problème souhaitons-nous résoudre ?

L’apprentissage de l’ECG repose encore largement sur des cours, des livres et des questionnaires à choix multiples. Ces formats sont utiles, mais ils évaluent imparfaitement la capacité d’un étudiant à produire une interprétation clinique complète et autonome.

Demander une réponse libre est pédagogiquement plus pertinent, mais pose une difficulté majeure : comment analyser automatiquement des formulations variées, des synonymes, des abréviations, des négations ou des diagnostics incertains ?

Les grands modèles de langage peuvent répondre à ce besoin, mais leur utilisation soulève plusieurs limites :

  • dépendance à des services externes ;
  • coût des API ;
  • faible maîtrise de l’hébergement et des données ;
  • difficulté à garantir une réponse reproductible ;
  • risque d’inventer des éléments médicaux ;
  • dépendance à un fournisseur ou à un modèle particulier.

Nous disposons déjà d’un démonstrateur fonctionnel comprenant une banque de 75 ECG, des interprétations expertes, une ontologie ECG et cinq parcours pédagogiques. L’objectif du hackathon n’est donc pas de créer une nouvelle banque de cas, mais de résoudre le verrou technique de la compréhension locale et robuste des réponses médicales libres.

Quelle solution envisageons-nous ?

Nous souhaitons développer un moteur open source capable d’analyser localement une interprétation d’ECG formulée à l’écrit, et éventuellement à l’oral.

Le système devra :

  • identifier les concepts médicaux exprimés par l’utilisateur ;
  • reconnaître les synonymes et les abréviations ;
  • distinguer un concept affirmé, nié ou incertain ;
  • comparer les éléments identifiés au référentiel expert du cas ;
  • détecter les erreurs ou omissions cliniquement importantes ;
  • produire une sortie structurée et exploitable par la plateforme ;
  • s’abstenir lorsque la confiance est insuffisante ;
  • fonctionner sans appel obligatoire à une API propriétaire.

L’architecture envisagée associe plusieurs niveaux :

  1. un moteur déterministe fondé sur des règles, des synonymes et l’ontologie ;
  2. une recherche sémantique locale par embeddings ;
  3. un petit modèle de langage open source, local et contraint, utilisé uniquement lorsque les formulations sont complexes ;
  4. un moteur de validation ontologique qui conserve la maîtrise du score et de la vérité médicale.

Le modèle de langage ne décidera donc ni du diagnostic de référence ni du barème. Il sera utilisé comme outil d’extraction et de compréhension du langage, tandis que l’ontologie médicale restera la source de vérité.

Pendant le hackathon, nous souhaitons comparer plusieurs approches sur un corpus de réponses ECG annotées :

  • règles et dictionnaires ;
  • embeddings locaux ;
  • petit modèle de langage local ;
  • architecture hybride combinant ces méthodes.

Les résultats pourront être comparés selon :

  • la précision et le rappel de détection des concepts ;
  • la gestion des négations et de l’incertitude ;
  • la détection des erreurs critiques ;
  • le taux d’informations inventées ;
  • le taux d’abstention ;
  • la latence ;
  • les ressources informatiques nécessaires ;
  • le coût d’API externe, qui devra pouvoir rester nul.

Le prototype final devra pouvoir être intégré à l’interface existante et continuer à fonctionner sans connexion à un service d’IA externe.

Démonstrateur actuel :

https://ecg-online.osc-fr1.scalingo.io/

Code source :

https://github.com/EPCASE/ecg-online/

Quelles compétences recherchons-nous ?

Nous recherchons des participants intéressés par :

  • le traitement automatique du langage médical ;
  • les petits modèles de langage open source ;
  • les embeddings et la recherche sémantique ;
  • la reconnaissance des négations et de l’incertitude ;
  • le développement Python et les API backend ;
  • le développement frontend et l’expérience utilisateur ;
  • le déploiement local avec Ollama, llama.cpp, vLLM ou des outils similaires ;
  • la quantification et l’optimisation de modèles ;
  • la constitution de benchmarks et l’évaluation de systèmes d’IA ;
  • la conteneurisation et le déploiement reproductible ;
  • la pédagogie médicale et l’apprentissage adaptatif.

Le contenu clinique, l’ontologie ECG, les cas et les références expertes seront apportés par l’équipe médicale. Le défi du hackathon sera de transformer ces connaissances en un moteur local, robuste, mesurable et réutilisable.

À plus long terme, cette architecture pourrait être transposée à d’autres domaines de la formation médicale : correction de raisonnements cliniques, interrogatoires simulés, patients virtuels ou analyse de comptes rendus.

Notre ambition est de démontrer qu’il est possible de bénéficier de la souplesse des modèles de langage sans leur confier la vérité médicale et sans dépendre d’une solution propriétaire.


Porteur de projet