PRESENTATION GENERALE




Andria RAJAONARIVELO et Princesse TCHAPDA vous présentent son projet pour le cours de Programmation et Projet Encadré.

Il s'agit dans notre projet de faire un parcours d'arborescence dans notre corpus pour extraire des patrons syntaxiques.  Ce parcours va se faire à l'aide un script perl qui va nous donner en sortie deux formats de fichiers: un format txt et un format xml. Pour mener à bien notre projet, nous allons passés par pluieurs étapes que nous nommerons "boîte à outil". De ce fait nous aurons quatre boîtes à outils qui pour chacune symbolise une étape de notre projet. Nous avons au départ un script perl fournit par notre professeur qui nous permettra de débuter les extractions et qui sera amélioré au fur et à mesure qu'on avance et en foncton de nos besoins.

Le projet se compose de 4 parties que nous appelons des BAO 1 à 4:

  1. BAO1 - Extraction du contenu textuel
  2. Filtrer et nettoyer le contenu des fichiers XML afin d'obtenir deux deux sorties au format: XML et TXT.

  3. Boîte à outils 2 - Etiquetage des données
  4. Récupérer le contenu "titre et description" de chaque rubrique séparément.Le but est de faire des étiquetages morpho-syntaxiques à l'aide de l'outil Cordial ou du programme TreeTagger.

  5. Boîte à outils 3 - Extraction des patrons Nom Adjectif et Nom Preposition Nom
  6. Nous utilisons les sorties TXT de BAO2 avec le script de cordial et les sorties XML avec celui de treetagger.

  7. Boîte à outils 4 - Production des graphes
  8. Nous produisons des patrons syntaxiques extraits des graphes pour mettre en valeur et visionner les relations entretenues par les différents tokens que nous pouvons paramétrer en motif.


Ci-après notre script de départ qui traitait un seul fichier RSS


#!usr/bin/perl
#programme d'extraction et de filtrage d'un fil RSS pour ne garder que le contenu
#textuel des balises title et description
#---------------------------------------------------------------------------------------------------
#ouvrir le fichier de travail en utilisant l'encodage UTF-8
open(FILE,$ARGV[0]);
open(OUT,">sortie.txt");
$i = 0;
#tant que je peux lire des lignes dans le fichier, tant que tu trouves tu traites et tu passes au suivant
while($ligne=<FILE>) {
$i++;
#on lit le fichier ligne à ligne
#je recupere tout où nous avons pas de chevrons ouvrant, mettre ( ) pour mémoriser la zone reconue, la 1ere parenthese dans $1 ...
#est-ce que la ligne contient title nommée title
if ($ligne=~/<title>([^<]*)<\/title>/) {
$chainetrouve=$1;
#& définit une procédure qui sera définit plus bas, on a une valeur qu'on a trouvé et on renvoie en bas qui sera nettoyé on recuperera la valeur ap nettoyage
$chainetrouve=&nettoyage($chainetrouve);
print OUT "$chainetrouve\n";
}
#c'est fini on passe à la ligne suivante
if ($ligne=~/<description>([^<]*)<\/description>/) {
$chainetrouve=$1;
$chainetrouve=&nettoyage($chainetrouve);
print OUT "$chainetrouve\n";
}


}
close(OUT);
close(FILE);


#remplacer #38 #39 par ' faire du rechercher remplacer toutes "g"
sub nettoyage {


#creer une variable qui n'existe que dans ce bloc, on supprime les elts et on renvoie la valeur recuperer en haut
#une fois que nettoyage est executé on obtient une valeur qui sera recupérer en haut
my $chainetrouve2=shift @_;
$chainetrouve2=~s/&#38;#39;/'/g;
$chainetrouve2=~s/&#38;#34;/"/g;
$chainetrouve2=~s/&#233;/é/g;
$chainetrouve2=~s/&#234;/ê/g;
return $chainetrouve2;
}



Bonne visite!!

Corpus
    Notre corpus est constitué de fils RSS du journal "Le Monde". Nous avons démarré notre projet avec le fichier 2008 constitué de fils RSS des journaux de 15 jours car le fichier 2014 étant lourd prenait un temps considérable pour tester les traitements.


BLOG BAO 1 et 2