- Cloner le repo git
- Effectuer un
pip install -r requirement.txt - Si nécessaire, lancer
nltk_dowload.pyet installer la collectionstopwordsvia le nltk downloader - Lancer
main.pydans le dossiercacm - Suivre les instructions dans la console python
- Lancer en local
app.pydans le dossierFlaskApp - Ouvrir un navigateur et aller sur
http://127.0.0.1:5000 - Utiliser le moteur de recherche
A noter qu'à chaque nouvelle recherche un fichier html sera généré. Il serait bien sûr préférable d'avoir un fonctionnement moins gourmand en espace mémoire. Etant donné que cela n'était pas le coeur du travail à fournir, nous avons décidé de ne pas nous attarder sur ce point.
Les différents fichiers présents dans le dossier cacm reprennent les consignes du devoir dans l'ordre, à savoir :
- Préparation des documents :
tokenization.py - 2.1 Traitements linguistiques (questions 1 à 5) :
A_traitements_linguistiques.py - 2.2 Indexation :
B_indexation.py - 2.2.1 Modèle de recherche booléen :
C_modele_booleen.py - 2.2.2 Modèle de recherche vectoriel :
D_modele_vectoriel.py - 2.3 Mesure de pertinence :
E_mesure_pertinence.py
Les mesures de performances sont quant à elles effectuées au fil des opérations et affichées dans la console.
Les différents fichiers et dossiers présents dans le dossier FlaskApp ont pour but de gérer tout ce qui est relatif à l'intégration de l'interface, à savoir :
documents: regroupe les json nécessaires aux recherches afin de ne pas avoir à les recalculer à chaque requêtestatic: regroupe les styles css nécessairestemplates: regroupe les templates html nécessaires (index.html,result.html,monkey.htmlainsi que les résultats générés au fil des requêtes)app.py: méthodes de l'API Flask nécessaires aux recherchesjsonToHTMLBoolean.py: crée la page html associée au résultat d'une recherche booléennejsonToHTMLVectorial.py: crée la page html associée au résultat d'une recherche vectorielle
Nous avions commencé à travailler en parrallèle sur les collections cacm et cs276 mais n'avons malheureusement pas eu le temps d'avoir beaucoup de résultats avec cs276. Ce dossier regroupe nos débuts de travaux sur cette collection. Ils reprennent grandement les travaux effectués avec cacm.