la vie trilingue de l'identité nationale sur le web

Quelques lignes de code


De la toile aux nuages il n'y a que quelques lignes de codes. Toutes les étapes lors des deux phases du projet sont résumées ici.

Première phase du projet

Création d'une arborescence de travail


Le premier pas du projet consiste à créer une arborescence de travail afin que chacun puisse se repérer facilement dans ses dossiers et fichiers.


Chaque dossier sera rempli au fur et à mesure de notre avancement dans le projet :


  • PROGRAMMES : contient les scripts
  • URLS : contient pour chaque langue un fichier texte qui réunit l’ensemble des URLs sélectionnées avec une URL par ligne.
  • PAGES-ASPIREES : contient le résultat de la commande « curl » qui , pour chaque URL, permet d’aspirer la page et de la stocker localement au format HTML.
  • DUMP-TEXT : il s’agit du texte brut extrait de nos pages aspirées et stocké dans des fichiers textes.
  • CONTEXTES : contient les résultats de l’extraction du contexte de notre motif avec « egrep » et « minigrep ».
  • TABLEAUX : regroupe les tableaux générés par notre script.
  • IMAGES: contient les captures d'écran et autres images que nous pourrions utiliser lors de la rédaction des billets du blog.

Choix de la thématique, des langues et sélection des URLs


Il faut ensuite constituer le matériau de base sur lequel nous allons travailler : le corpus. Nous définissons donc un thème avec un motif à étudier et choisissons les langues dans lesquelles nous allons travailler. Une fois les groupes de travail constitués, nous pouvons démarrer. Il faut alors choisir, pour chaque langue, 50 URLs au moins qui dirigent vers des pages traitant de la thématique et contenant le motif étudié.


Tableau de liens


Nous écrivons un premier script afin de créer un tableau qui contient sur chacune de ses lignes l'une des URLs sélectionnées précédemment.


Traitement des liens


Cela consiste en une série d'opérations qui ont pour objectif de nous permettre de constituer un corpus à partir des contenus de chaque page web. Nous avons d'abord stocké les contenus de chaque page web localement sous forme d'un fichier HTML. Nous avions pour cela le choix entre la commande "-wget" ou "-curl".


Le Dump


Après avoir enregistré localement le contenu de chaque page web, nous nous sommes intéressés au texte brut qui s'y trouve. Cette opération est possible grâce à Lynx, un navigateur web utilisé en ligne de commande. Lors de cette étape il fallait prêter particulièrement attention à l'encodage au risque de se retrouver avec des textes illisibles. Il fallait donc d'abord détecter l'encodage de chaque page web. Si cet encodage correspondait à utf-8 on pouvait continuer vers les opérations suivantes en extrayant directement le texte brut. Autrement, il fallait d'abord convertir l'encodage en utf-8 au moyen de la commande "iconv". Pour cela nous ajoutons l’option "display_charset " qui nous permet de spécifier l’encodage dans lequel nous souhaitons sauvegarder notre texte.

Le Contexte


Dernière étape pour la création du tableau : la huitième colonne qui affiche le nombre d'occurrences de notre motif. Avec la commande "egrep" on peut rechercher le motif qui nous intéresse afin d'extraire les lignes qui le contiennent.


Deuxième phase du projet

Les nuages de mots


Après avoir traité notre coprus, il fallait obtenir une représentation visuelle des résultat. Pour cela, nous avons utilisé des outils en ligne afin de réaliser des nuages de mots. Ces outils permettent d'affichier un nuage des co-occurrents de notre motif basé sur la fréquence. Plus un mot se répète dans notre contexte et plus il est mis en valeur dans le nuage.


Le trameur


A la différence des outils pour les nuages de mots, le trameur lui est un outil téléchargeable qui permet d'effectuer une analyse lexicométrique. Il s'agit de compter les unités d'un texte en prenant en compte les parties.


Quelques remarques

Le chemin vers les nuages était évidemment semé d'embuches.


Collecter un très grand nombre d’URLs relevait du casse-tête pour certaines langues comme l’arabe à cause d’un référencement quasi inexistant sur Google (et autres moteurs de recherche). Il a donc fallu faire d’abord un listing de sites d’actualités ou de sites de partis politiques puis trier le contenu de chaque site.

La collecte d’un très grand nombre d’URLs nous a permis de pouvoir abandonner les URLs qui n’étaient pas utilisables sans appauvrir notre liste.

Parfois le motif recherché n’est pas repéré que cela soit en raison de problèmes d’encodage non-résolus ou pour des raisons que nous n’avons pas réussi à déterminer.

Même si elle donne des résultats assez pertinents, l’extraction et le traitement visuel du contexte ne permettent pas toujours de comprendre la portée de certains termes. Ainsi quelques mots peuvent être trompeurs comme "sang" dans le cas du contexte Russe qui n'est pas employé dans un sens violent ou meurtrier mais pour évoquer l'hérédité.

Lors de la recherche de liens nous avons parfois rencontré des textes intéressants pour notre thématique mais qui ne contenaient pas explicitement notre motif. Il étaient donc inutilisables.

.