Auteurs : Livio Dadone, Gabriel Bragança De Oliveira
Ce projet met en œuvre un pipeline complet de préparation d’une collection de test (CACM), d’analyse statistique, d’indexation (fichier inverse) et d’interrogation (moteur de recherche) conformément au sujet du TP.
5_Processus_en_python/: décodage CACM → nettoyage → suppression des mots vides + versions HTML (V2)6_Calcul_des_valeurs_classiques/: vocabulaire & df7_Analyse_de_la_collection/: comptage, fréquences, Zipf, vecteurs (binaire / TF / TF-IDF)8_Construction_de_fichier_inverse/: index inversé9_Moteur_de_recherche/: moteurs (TF-IDF cosinus + proximité)10_Informations_MAIL/: scraping HTML & lemmatisation (Porter)
Important : la collection CACM et les fichiers intermédiaires peuvent être volumineux. Pour l’archive de rendu, suivre la consigne et ne pas inclure le répertoire
Collection/ni les multiples versions de fichiers nettoyés, sauf demande explicite.
- Python 3.10+
- Perl (pour
DecodeCACMXX.pl,clean.pl,remove.pl) - Librairies Python (selon scripts) :
matplotlib(graphe Zipf)beautifulsoup4(scraping HTML)nltk(PorterStemmer) + ressources NLTK si nécessaire
Exemple d’installation :
pip install matplotlib beautifulsoup4 nltkcacm.all(source CACM)- Répertoire
Collection/(un fichier par doc + fichier listeCollection) - Répertoire
outputs/(fichiers produits : vocabulaire, df, vecteurs, index, résultats HTML, etc.)
- Construire les documents (Perl) :
DecodeCACMXX.pl - Nettoyer (Perl ou Python V2) :
clean.plouclean_v2.py - Retirer les mots vides (Perl ou Python V2) :
remove.plouremove_v2.py - Vocabulaire :
vocabulary.py - DF :
df.py - Analyse / Zipf / Vecteurs : scripts de
7_Analyse_de_la_collection/ - Index inversé :
indexInverse.py - Moteur de recherche :
moteur_tfidf.pypuismoteur_proximite.py
Chaque dossier contient un README local avec les détails (paramètres, fichiers produits).
outputs/Collection1.html: version nettoyée (sans caractères spéciaux / blancs superflus)outputs/Collection2.html: version sans mots videsoutputs/vocabulaire.txt,outputs/df.txtoutputs/vecteurBinaire.txt,outputs/vecteurTF.txt,outputs/vecteurTFIDF.txtoutputs/indexInverse.txtoutputs/resultats_tfidf.html,outputs/resultats_proximite.htmloutputs/zipf_plot.png
- Si un script ne trouve pas
Collection/ououtputs/, vérifier :- que vous lancez les commandes depuis la racine du projet, ou
- adapter les chemins dans les scripts (utiliser
Path(__file__).resolve()pour rendre les chemins robustes).