La Méthode


Présentation du projet

Le projet a pour but de mettre en œuvre une chaîne de traitement textuel semi-automatique depuis la récupération des données jusqu'à leur présentation. En travaillant principalement en Bash, la démarche de travail consiste à récupérer de manière automatique le contenu d'un certain nombre d'URLs en langues différentes. A partir de ce contenu, tout en traitant les éventuels problèmes d'encodage, nous procédons avec l'extraction des contextes textuels autour de notre thème « Paradis Fiscaux vue par la presse internationale » en vue d'une analyse linguistique. Notre projet consiste à examiner les usages des termes associés à "paradis fiscaux" et leurs contextes, tels qu'ils sont présentés dans la presse française, anglaise et espagnole.

Recherche de URLS

Dans notre recherche d'URLs , nous avons du nous poser la question de quels URLs nous allions prendre pour constituer notre corpus. Comme notre sujet porte sur la presse internationale, il parait plutôt judicieux de prendre uniquement des articles de presse. Comme nous avons choisi de travailler sur trois langues (anglais,français et espagnol) nous devons trouver 150 URLs.

PHASE 1 : Construction progressive de la chaîne de traitement

Arborescence de travail

Dans le but de préparer notre environnement de travail, une arborescence de fichiers constituant le projet devait être créée ressemblant à la figure ci-dessous :

Chaque répertoire sert à contenir un type de fichier produit à chaque étape du projet :

  • Le répertoire PROGRAMMES regroupe l'ensemble des scripts

  • Le répertoire URLS contient un fichier texte par langue. Chaque fichier texte contient cinquante URLs.

  • Le répertoire PAGES-ASPIREES contient les pages aspirées par la commande « curl » à partir de chaque URL.

  • Le répertoire DUMP-TEXT regroupe des fichiers textes contenant le texte brut extrait à partir des pages aspirées par la commande « lynx -dump ».

  • Le répertoire CONTEXTES contient deux sortes de fichiers . Les fichiers texte contenant les contextes du motif, extraits par « egrep ». Les fichiers html contenant les contextes du motif, grâce au programme « minigrep ».

  • Le répertoire TABLEAUX contient les fichiers résultats. Ces fichiers contiennent un tableau regroupant les données à chaque étape du traitement.

  • Le répertoire FICHIERGLOBAUX contient les fichiers de concaténation des fichiers contextes, index et Dump.

  • Le répertoire INDEX contient l'index de chque page aspirée.

  • Commandes

    Voici un bref commentaire des principales commandes utilisées dans notre script bash :

  • CURL : Cette commande est l'équivalente à wget.Elle nous permet la navigation en ligne et aspirer des pages web.

    Voici un exemple:

    curl -o ./PAGES-ASPIREES/$j/$i.html "$nom";

    -o (--output): permet d'indiquer le fichier qui servira a recueillir l'output de la commande.

  • LYNX : Cette commande est un navigateur en ligne de commande, elle permet de naviguer avec l'URL donné.

    Options:

    -dump: permet la suppresion des balises de manière automatique.

    -nolist : permet de supprimer les liste de liens dans le dump.

    -display_charset=$encodage: permet de prendre en compte l'encodage de la page aspirée pour garder le même dans le dump.

    Voici un exemple:

    lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$j/$i.html > ./DUMP-TEXT/$j/$i-utf8.txt ;

  • ICONV : reconnait l'encodage qui n'est pas en utf-8.

    else

    VERIFENCODAGEDANSICONV=$(iconv -l | egrep -io $encodage | sort -u);

    if [[ $VERIFENCODAGEDANSICONV != "" ]]

    then

    #-------------------------------------------

    # le charset extrait est connu de iconv : on lynxe et on dump !!!

    #-------------------------------------------

    echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> connu par inconv, c'est parti ==> lynx, iconv..."

    #Dump dans l'encodage initial reconnu par iconv

    lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$j/$i.html > ./DUMP-TEXT/$j/$i.txt ;

    echo "ENCODAGE final : $encodage (avant conversion vers utf-8)";

    #Conversion en utf-8 de l'encodage reconnu par iconv

    iconv -f $encodage -t utf-8 ./DUMP-TEXT/$j/$i.txt > ./DUMP-TEXT/$j/$i-utf8.txt

  • EGREP : Elle affiche à l'écran toutes les lignes du '$fichier' qui contiennent une chaine désignée par patron '$motif'

    Options :

    -n : permet de faire affichier le numero de la ligne qui est retenue

    -i : (ignore case) : en majuscules, minuscules, où le mix des deux

    -o : (occurence) : permet d'afficher les occurences

    Elle est utilisée dans les cas suivants:

    #----------------Erreur dans les pages aspirées

    contenupageaspiree=$(egrep -i -o "(400 )?Bad request|Moved Permanently|s interdit|Not Acceptable" ./PAGES-ASPIREES/$j/$i.html | sort -u);

    #------------------Identification de l'encodage

    encodage=$(file -i ./PAGES-ASPIREES/$j/$i.html | cut -d= -f2);

    echo "ENCODAGE initial : $encodage";

    #------------------Extraction du contexte contenant le motif

    egrep -i "\b$motif\b" ./DUMP-TEXT/$j/$i-utf8.txt > ./CONTEXTES/$j/$i-utf8.txt

    cat ./CONTEXTES/$j/$i-utf8.txt >> ./FICHIERGLOBAUX/CONTEXTES-GLOBAUX_$j.txt;

    #------------------Création de l'index

    egrep -o "\w+" ./DUMP-TEXT/$j/$i-utf8.txt | sort | uniq -c | sort -r > ./INDEX/$j/$i.txt ;

    cat ./INDEX/$j/$i.txt >> ./FICHIERGLOBAUX/INDEX-GLOBAUX_$j.txt;

    PHASE 2 : Des nuages et des arbres de mots

    Les nuages

    La première étape de la phase 2 du projet consistait à faire des nuages de mots en utilisant des logiciels en ligne comme Wordle, Tagclouder ou WordItOut. Ces logiciels reposent sur la fréquence des mots dans le corpus. Les nuages servent ainsi à donner une représentation visuelle de la fréquence des mots qui apparaissent dans les contextes récupérés.

    Le Trameur

    La seconde étape consistait à générer des nuages de mots contextualisés avec le Trameur. Le Trameur est un programme qui sert à l'analyse lexicométrique d'un texte. Il compte les unités d’un texte en tenant compte des éventuelles parties, afin d’évaluer par exemple l’évolution du vocabulaire dans une chronologie ou de comparer le vocabulaire des parties.


    Bilan

    Les problèmes principaux :

    • L'aspiration : Des problèmes rencontrés avec « curl ».

    • L'aspiration des pages car certains sites de presse ne permettent pas l'aspiration des pages.

    • Les limitations : Il existe néanmois quelques URLs pour lesquelles le nombre d'occurrences est 0, sans qu'il y ait de problèmes d'encodage.


                                                                                                                            Retour Haut de page