Évaluation de Modules pour la Recherche de Mots-Clés
Contexte du Projet
Ce projet avait pour objectif d'explorer et de comparer des méthodes de recherche de mots-clés dans des corpus textuels, en utilisant les modèles TF-IDF et LDA (Latent Dirichlet Allocation). Nous avons évalué les performances de chaque méthode sur deux ensembles de données : StackOverflow et Wikipedia. Cette étude comparative visait à déterminer dans quels contextes chaque modèle excelle pour identifier les termes les plus représentatifs.
Missions Réalisées
- Préparation des Données et Prétraitement :
- Les corpus StackOverflow (20,000 lignes) et Wikipedia (13,014 lignes) ont été divisés en ensembles d’entraînement, de test, et de développement.
- Prétraitement des données incluant la lemmatisation, la suppression de balises HTML, de caractères spéciaux et de mots vides. Pour TF-IDF, les mots présents dans moins de 20 documents ont été filtrés, tandis que pour LDA, la fréquence minimale était gérée via le paramètre
no_below
. - Extraction de n-grammes (bigrammes et trigrammes) pour enrichir la liste de mots-clés et capturer des termes fréquemment associés.
- Implémentation des Modèles et Extraction de Mots-Clés :
- TF-IDF : Calcul des scores de termes basés sur la fréquence inverse des documents pour identifier les mots-clés spécifiques à chaque document.
- LDA : Modélisation des documents comme des combinaisons de topics, permettant de capturer des thèmes généraux dans le corpus. Le modèle a été configuré pour effectuer 200 itérations d'assignation de topics, avec les mots les plus probables de chaque topic récupérés comme mots-clés.
- Évaluation des Résultats :
- Mesures de précision, rappel et F-mesure, calculées pour chaque méthode sur les deux corpus, afin de comparer leur capacité à extraire des mots-clés pertinents.
- Analyse des ratios total match/total tags de référence, mesurant la proportion de mots-clés extraits par chaque modèle correspondant aux mots-clés de référence dans le corpus.
Compétences Techniques Acquises
- Gensim pour l’implémentation de LDA et la modélisation de topics.
- Scikit-learn pour les calculs TF-IDF et les évaluations de performance.
- NLTK pour le nettoyage et la préparation des textes.
- Pandas pour la gestion et l’analyse des données tabulaires.
- Calcul de n-grammes pour enrichir l'analyse des cooccurrences.
Compétences Humaines Acquises
- Esprit d’Équipe : Collaboration étroite pour définir les critères d’évaluation, harmoniser le prétraitement des données et interpréter les résultats.
- Autonomie : Recherche indépendante sur les meilleures pratiques pour l'extraction de mots-clés avec des modèles non supervisés.
- Capacité d’Analyse : Évaluation critique des résultats et identification des contextes dans lesquels chaque modèle offre les meilleures performances.
Résultats et Éléments de Preuve
- Comparaison des Méthodes :
- Sur le corpus StackOverflow, TF-IDF a montré de meilleures performances globales :
- Précision : TF-IDF 3.1% vs LDA 1.48%
- Rappel : TF-IDF 20.4% vs LDA 16.16%
- F-mesure : TF-IDF 5.16% vs LDA 2.57%
- Sur le corpus Wikipedia, les performances des deux modèles étaient plus comparables, avec LDA légèrement supérieur :
- Précision : LDA 6.11% vs TF-IDF 5.69%
- Rappel : LDA 14.72% vs TF-IDF 13.07%
- F-mesure : LDA 7.82% vs TF-IDF 7.05%
- Sur le corpus StackOverflow, TF-IDF a montré de meilleures performances globales :
- Analyse des Ratios de Correspondance :
- StackOverflow : LDA 14.64% vs TF-IDF 19.76%
- Wikipedia : LDA 13.65% vs TF-IDF 11.48%
Télécharger le rapport final - Rapport détaillé documentant la méthodologie, les résultats et les interprétations.
Lien vers le dépôt GitHub - Code source pour reproduire l’extraction et l’évaluation des mots-clés.
Ce projet a renforcé mes compétences en extraction de mots-clés et en évaluation de modèles, tout en offrant une perspective comparative entre des techniques classiques de recherche de thèmes et de mots-clés. Les résultats ont permis de comprendre les forces et limites de chaque approche, ce qui peut être appliqué dans des projets de NLP plus avancés.