BAO1

Cette étape consiste à parcourir le corpus "fils rss du journal Le Monde 2011" pour extraire, filtrer et nettoyer les contenus textuels des balises des rubriques RSS proposées par le site LeMonde.fr. J'ai choisi les rubriques CULTURE et EUROPE. Le but de cette étape est de réaliser un traitement permettant d’extraire le titre et le résumé de chaque article, contenus dans les balises < title > et < description > de chaque balise < item > des fils RSS, de remplacer les entités HTML et les caractères spéciaux, de nettoyer les doublons, et de créer plusieurs sorties : le texte brut des fils RSS, une version structurée en XML de ce contenu textuel, des versions destinées à être étiquetées par TreeTagger et Cordial.. J'ai mis en place un script Perl qui réalise :

1. Le filtrage du contenu des fichiers grâce au module XML::RSS afin de récupérer le contenu textuel des balises title et description.

2. Le nettoyage et la normalisation du texte filtré de ses entités HTML grâce au module HTML::Entities, des doublons et des balises d'images, de liens..

Suppression des contenus vides

La structure d'un document XML est marquée, comme par des balises ouvrantes et des balises fermantes, par des balises auto fermantes qui se terminent par « /> », avertissant l’utilisateur qu’il n’y a pas de résumé pour le titre du fil en question.

Nettoyage des doublons

Les doublons d’articles, qui apparaissent parfois d’une journée à l’autre, doivent être supprimés afin d'obtenir des résultats raffinés et non biaisés. Pour cela, j'ai placé chaque titre des résumés récupérés en sortie dans une table de hachage de façon à tester, avant l’écriture en sortie, avec les fonctions unless et exists, si le traitement de l’article a déjà été effectué. Le script formule avec la fonction unless ladite condition, de façon que chaque article soit sélectionné une seule fois, en l’ajoutant au dump final si jamais il n’a pas encore été traité.

Suppression des balises images

Le contenu des balises < description > des fils RSS contient des liens, permettant d'insérer des images dans la page HTML. Ces liens sont supprimés grâce à une simple expression régulière.

Décodage des caractères codés sous la forme d'entités HTML

Le langage HTML utilise un jeu d'entités pour incorporer des caractères spéciaux dans le document. Donc, naturellement, certains caractères dans les fils RSS ont été codés sous la forme d'entités HTML (& # 3 9 ; pour l'apostrophe, & n b s p ; pour l'espace insécable, & a m p ; pour le et commercial..). Il a fallu alors les décoder grâce au module HTML::Entities, qui convertit tous les caractères éligibles en entités HTML et permet en particulier l'affichage des caractères accentués.

Ajout de la ponctuation

Un point a été automatiquement ajouté à la fin des titres et des résumés qui n’en possèdent pas, afin d’éviter des erreurs d’étiquetage que peut engendrer l’absence de ponctuation.

Script




Affichez Script_BAO1

Téléchargez Script_BAO1

Création des sorties

Le script a produit 2 sorties : une version TXT brut et une version XML

Résultats

Résultat_Culture_bao1.txt

Résultat_Culture_bao1.xml

Résultat_Europe_bao1.txt

Résultat_Europe_bao1.xml