Classification Automatique des Terminologies en Radiothérapie : Un Outil de NLP pour l'Amélioration des Données Clinique
Titre du projet:
Classification Automatique des Terminologies en Radiothérapie : Un Outil de NLP pour l'Amélioration des Données Clinique
Porteurs et encadrants (Prénom, Nom, Institution, Adresse email)
Dimitri Reynard, Institut Daniel Hollard, dimitri.reynard@avec.fr
Entreprise/laboratoire/organisme (nom, adresse)
Service de radiothérapie de l’Institut Daniel Hollard (Groupe AVEC), 21 rue du Dr Hermite, 38000 Grenoble
Description du contexte (10 lignes minimun)
Dans le domaine de la radiothérapie, une grande quantité de données est générée et associée aux patients, incluant des informations telles que le diagnostic, la prescription, et diverses caractéristiques cliniques. Cependant, ces caractéristiques ne sont pas toujours décrites de manière normée, ce qui entraîne l'utilisation de différentes terminologies pour exprimer des concepts équivalents. Une même prescription de traitement de sein gauche et ganglions peut être définie par: SeinG + GG, Sein gauche ganglions, Sein G susClav, Sein G complet
L'intelligence artificielle (IA) en radiothérapie est un domaine émergent, promettant d'améliorer la précision et l'efficacité des traitements. Toutefois, pour que les modèles d'IA soient véritablement performants, il est essentiel de disposer de jeux de données propres et bien étiquetés. Des données de qualité permettent non seulement d'entraîner les algorithmes de manière efficace, mais aussi d'assurer leur fiabilité lors de l'analyse des informations cliniques. Dans ce contexte, l'étiquetage minutieux des données devient crucial pour garantir que les terminologies équivalentes soient correctement identifiées et regroupées.
Objectif(s) du projet
L'objectif de ce projet est de développer un outil basé sur le traitement automatique du langage naturel (NLP) capable de reconnaître et de regrouper automatiquement les terminologies équivalentes. Cet outil permettra d'identifier les différentes catégories de caractéristiques décrites par plusieurs termes, facilitant ainsi le traitement et l’analyse des données en grande quantité, là où un travail humain serait trop long et fastidieux.
Travail attendu (5 lignes minimun)
Le projet consiste à développer une classe capable de traiter des données contenues dans un DataFrame. Cette classe doit être capable de recevoir en paramètre une colonne contenant plusieurs terminologies qui doivent être regroupées en catégories distinctes. En outre, l'utilisateur peut fournir d'autres colonnes de données pour enrichir le contexte de la colonne principale à catégoriser. La classe doit comporter une méthode principale qui renvoie une nouvelle colonne contenant les catégories correctement associées à chaque élément de la colonne initiale. Cette méthode doit être conçue de manière à effectuer une analyse approfondie des terminologies afin de déterminer à quelle catégorie chaque terme appartient.
De plus, la classe doit inclure une fonctionnalité permettant à l'utilisateur d'interagir avec le système. Après que le modèle ait proposé une classification initiale des terminologies, l'utilisateur doit avoir la possibilité de fournir des retours ou des corrections. Ces informations doivent être intégrées dans le processus d'apprentissage de l'algorithme, permettant ainsi une amélioration continue et une adaptation aux spécificités des données.
Enfin, l'objet entraîné doit pouvoir être sauvegardé, permettant ainsi de le réutiliser ultérieurement dans un autre code. Le travail attendu est donc de créer une solution efficace, intuitive et persistante qui facilite la catégorisation des terminologies, tout en permettant à l'utilisateur de contribuer activement à l'apprentissage du système. Techniques, outils, technologies, langages et canevas à mettre en oeuvre : Pour ce projet, nous utiliserons Python comme langage de programmation, car il est particulièrement adapté pour le développement de classes et de méthodes nécessaires à la manipulation des données. La gestion et la manipulation des DataFrames seront facilitées par l'utilisation de la bibliothèque Pandas, qui permettra de charger, manipuler et sauvegarder les données aisément. Pour les opérations mathématiques et la gestion des tableaux, nous intégrerons également NumPy.
Le traitement automatique du langage naturel (NLP) pourra être réalisé à l'aide de bibliothèques telles que NLTK ou SpaCy, qui faciliteront des tâches essentielles comme le tokenization, le stemming et la lemmatisation, contribuant ainsi à l'analyse et à la classification des terminologies. Scikit-learn pourra être utilisé pour la mise en oeuvre de modèles d'apprentissage automatique, permettant de classifier les terminologies en fonction des catégories définies.
Concernant l'apprentissage automatique, nous proposons d'utiliser des algorithmes de classification supervisée tels que Random Forest, SVM (Support Vector Machines) ou des modèles basés sur le deep learning, comme les réseaux de neurones, afin d'améliorer la performance de la classification.
Pour l'interface utilisateur, une interface simple, possiblement dans un environnement de notebook Jupyter pourra être développée, permettant aux utilisateurs de visualiser les résultats de la classification et de fournir des retours sur les propositions de catégories. Enfin, une documentation claire et complète sera essentielle, pour décrire le fonctionnement de la classe, ses méthodes et la manière de l'utiliser. Cette approche permettra d'assurer une bonne compréhension et un bon accès aux fonctionnalités développées. Il est à noter que ce genre d’outil pourra servir aux étudiants toute leur carrière si toutefois ils se destinent à la data science.
Déplacement à prévoir (en dehors de l’école) : oui / non
Nous proposons de présenter le service de radiothérapie (IDH) aux étudiants afin qu’ils voient dans quel contexte les données sont collectées et pour leur culture.