-
THEODORA PAZAKOU authored395865de
Projet_RI
Ce projet vise à récupérer et annoter des documents à partir de la base de données Europresse, ainsi qu'à construire un core Solr pour effectuer des recherches sur ces documents. Ce fichier README contient une explication de la structure du répertoire, ainsi qu'un bref rapport pour le premier exercice.
Structure
-
Devoir 1 :
-
data_original :
-
europresse_grec_original.HTML
: La sortie HTML originale. Le fichier HTML obtenu de la base Europresse après la recherche d'articles contenant les mots-clés grec|grecs|grecque|grecques, et ajoutés dans les 30 derniers jours en français. -
europresse_grec_original_pretty.HTML
: Le fichier original indenté avec la bibliothèque BeautifulSoup.
-
- data : Dossier qui comprend tous les fichiers contenus dans le fichier original, mais avec un document par article.
- corpus_xml : Les articles transformés en format XML.
- corpus_NER : Les articles en format XML avec une annotation en entités nommées.
- corpus_final : Les articles en XML avec annotations en entités nommées et en keyphrases.
- Prétraitement.ipynb : Le notebook pour indenter les articles.
- splitting.py : Le script pour segmenter les données initiales en un article par document.
- extraction.py : Création des fichiers XML à partir des fichiers HTML et gestion de la date.
- NER.ipynb : Annotation en entités nommées.
- keyphrases.ipynb : Annotation en keyphrases.
-
data_original :
-
Devoir 2
- corpus_final : Les documents indexés
- presse_final : Le core Solr
- Partie II : Les réponses aux questions de la partie II
Rapport
Récupération des données
Dans un premier temps, une recherche a été effectuée sur la base Europresse avec les mots-clés "grec|grecs|grecque|grecques" afin d'obtenir 1000 articles en français écrits au cours des 30 derniers jours. Cette requête m'a paru particulièrement intéressante en raison de mes origines. Il est toutefois à noter que l'accès à la base a été particulièrement difficile, car la page ne se chargeait pas correctement. En conséquence, seuls 949 articles ont pu être récupérés, le chargement ayant empêché la récupération d'autres articles. Les résultats ont été stockés dans le fichier europresse_grec_original.HTML
.
Prétraitement
Les données récupérées ont été prétraitées à l'aide de la bibliothèque BeautifulSoup afin de créer une version indentée du fichier original, facilitant ainsi la lecture (script : Prétraitement.ipynb, fichier : europresse_grec_original_pretty.HTML
). Dans un deuxième temps, les données ont été divisées de manière à ce que chaque article soit son propre document(script : splitting.py, dossier : data).
Transformation en format XML
Après le prétraitement des données, elles sont transofrmées en xml pour qu'elles puissent être exploitables par Solr. Le script extraction.py est une adaptation du script euro2solr.py (@author: ruizfabo). L'encodage lors de la création de l'objet parser posait des problèmes eet c'est pourquoi la specification (utf-8) a été ajoutée. Les regex ont été aussi modifiées pour extraire les dates. Les r;esultats sont stockés dans le dossier corpus_xml.
Annotation
Les données ont été annotées en entités nommées à l'aide de la librairie spaCy. Ayant déjà utilisé spaCy pour les besoins d'autres cours, cette pipeline a été privilégiée au lieu d'un autre outil. Il est à noter que les résultats n'ont pas été nettoyés et comprennent quelques erreurs, comme anticipé avec tout outil de NERC. Les résultats annotés (script : NER.ipynb) sont stockés dans le dossier corpus_NER.
Dans un deuxième temps, les données ont également été annotées en keyphrases à l'aide de la librairie yake. Seules les 10 keyphrases les plus pertinentes ont été conservées et ajoutées dans les fichiers XML. Les documents finaux (script : keyphrases.ipynb), qui constituent le corpus utilisé pour l'indexation de Solr, sont stockés dans le dossier corpus_final.