codoc conçoit et opère la plateforme d’entrepôt de données de santé (EDS) de plusieurs hôpitaux français. Tous les documents cliniques qui entrent dans l’entrepôt (comptes rendus d’hospitalisation, de consultation, courriers) sont pseudonymisés avant d’être accessibles aux utilisateurs. Le RGPD et le référentiel EDS de la CNIL l’imposent.
Notre algorithme de détection des identifiants s’appuie sur des expressions régulières et l’appariement avec les données d’identité disponibles en base. Il traite l’ensemble du flux documentaire, y compris les formats variés (texte brut, HTML balisé) que produisent les éditeurs cliniques.
Cependant, certains cas complexes restent des opportunités d’amélioration : les identités mentionnées dans le texte libre, les variantes d’orthographe, ou les structures HTML particulières (fragments tabulaires isolés, espacements encodés) qui demandent une approche affiner. Nous disposons d’un corpus annoté de référence et d’un protocole d’évaluation établi.
Le stage porte sur les prochaines étapes : affiner la détection sur ces cas limites, déployer l’algorithme optimisé en production sur le flux réel, mettre en place un suivi continu de sa performance, et construire une capacité à identifier et corriger rapidement les défauts spécifiques qui remontent du terrain.
Tes missions :
Tu rejoindras l’équipe R&D / NLP, avec un encadrement rapproché, sur trois axes.
1. Passer la chaîne en production
- Packager la chaîne d’inférence et la brancher sur le pipeline d’ingestion : débit, reprise sur erreur, exécution sur l’infrastructure hospitalière
2. Mesurer ce qui se passe en production
Le corpus de référence donne une photo à un instant donné. Le flux réel, lui, bouge : nouveaux établissements, nouveaux formats de documents, qualité d’OCR qui varie.
- Instrumenter le flux : détection par type d’entité, par type de document et par établissement
- Monter les tableaux de bord et les alertes pour qualifier un défaut rapidement
3. Ajouter une couche apprise et un mécanisme de correction ciblée
- Constituer un jeu d’entraînement à partir de ces appariements, en supervision faible
- Entraîner un modèle de reconnaissance d’entités qui attrape ce que les règles ratent, en tenant compte de ce qu’on peut réellement faire tourner sur l’infrastructure existante
Ce que tu livreras
- Une chaîne d’inférence déployable et documentée, avec ses tests
- De quoi suivre la performance en production : métriques, tableau de bord, alertes
- Un prototype de la boucle de correction, testé sur des défauts réels rejoués
Expérience souhaitée :
- Master 1 ou Master 2 en data science, informatique ou génie logiciel — les profils à dominante développement avec de vraies bases en ML sont les bienvenus, ce stage est davantage un stage d’ingénierie que de modélisation
- Très bonne maîtrise de Python et des bonnes pratiques de développement : git, tests, structuration de projet, environnements
- SQL : manipulation de volumes importants sur base relationnelle (PostgreSQL, Oracle)
- Maîtrise des expressions régulières au-delà de l’usage occasionnel
- Bases solides en machine learning : évaluation de modèles, métriques de classification, compréhension du sur-apprentissage et de la dérive
- Notions de NLP : reconnaissance d’entités nommées, embeddings, transformers
- et compréhension de ce qui distingue une approche par règles d’une approche apprise
- Fort intérêt pour le domaine de la santé
Fortement apprécié :
- Une première mise en production d’un modèle, même modeste : API, conteneurisation, CI, exécution planifiée
- Pratique de Docker, d’un outil de CI, d’un outil de suivi d’expériences ou de versionnement de modèles
- Sensibilité aux approches de supervision faible ou distante, d’apprentissage actif ou semi-supervisé
- Sensibilité au monitoring et à l’observabilité
Savoir-être :
- Rigueur et sens de la confidentialité : tu manipuleras des données de santé réelles
- Autonomie et esprit critique
- Goût du travail bien fait sur des sujets peu spectaculaires mais critiques.