jeudi 26 décembre 2013

Le Trameur

       A part de nuages on peut aussi analyser nos données a travers le programme qui s’appelle Le Trameur. A la base de ce logiciel il y a une textométrie permettant de compter des éléments textuels dans les fichiers. Nous devons charger la base (l'onglet 'Cadre'--Contextes globaux) pour le programme puisse distinguer des unités élémentaires, afin de relever des séquences de caractères organisées et de comparer le vocabulaire des parties. Ensuite il faut bien vérifier la langue de travail dans l'onglet 'Param' et regarder si le texte est en UTF-8(sinon, on change l'encodage). 
       Chaque ligne dans le fichier global correspond à une ligne avec le motif indiqué. Ajouter un délimiteur permet bloquer l'analyse de contexte comme un texte entier et aussi de empêcher de trouver des cooccurrents non pertinents. Nous avons choisi $ comme délimiteur à la fin de chaque phrase pour bloquer les contextes.

       Voici un exemple qui montre le vocabulaire existant et son fréquence. Il y a aussi la liste des mots formes contenant le motif ('identité' en français). 




Sur Trameur nous pouvons aussi créer une arbre de dépendance c'est-a-dire on peut choisir des items du patron d'annotations (par exemple, NOM et ADJ) et regarder ensuite tous les phrases dans le fichier donnée contenant le motif (NOM) et adjectif relationnel. Cela se fait à l’aide de l’onglet 'patron' ou on peut indiquer le motif dans 'patron 2 graphe' pour afficher le graphe-arbre. Nous avon


On sait bien déjà que Le Trameur permet aussi d’extraire les cooccurrents(les mots liés au motif choisi). Pour cela dans l’onglet 'cooc' il faut taper le mot pole (pour nous c'est 'identité') et préciser un nombre pour la co-freq et le seuil (indique le poids du pole dans le texte) et puis cliquer sur 'calcul'. Le premier résultat avec beaucoup de mots pertinents:

Si on change le nombre de co-freq (2) et de seuil (6) on obtient que les cooccurents les plus pertinents.

Le deuxième résultat  est le plus intéressant(même si c'est pas très large) parce que le graphe montre les pronoms 'son' et 'notre' --ce qu'est  actuel aujourd'hui. Identité de soi, n'est-ce pas?

S.

lundi 23 décembre 2013

Nuage russe

Voilà voilà j'ai un peu tardé avec le nuage en russe. Après avoir joué avec differents layouts de nuages sur www.wordle.net j'ai enfin trouvé mon préféré :)



Un petit commentaire: Cet image nous permet voir les mots-clés(les plus grands apparaissent plus) présenté dans le contexte relative à la thématique proposée.  En vert c'est un mot 'identité'='Идентичность' puis cela donne le mot 'nationale'='национальная' (le terminaison -`ая` pour identifier le cas féminin); ensuite il y a un moment intéressant au niveau des idées: nous voyons le mot 'identité de soi'='самоидентичность' à coté du mot 'identité'. On sait bien que tout se commence avec l'identité de soi, n'est-ce pas? Le plus important est  une idée que l'on se fait de soi.

S.

...là-bas... là-bas... les merveilleux nuages !

Deuxième phase du projet : la création de nuages de mots-clés ou tag clouds. Nous utilisons pour cela les contextes globaux crées précédemment. Nous considérons donc le texte dans son ensemble afin d'avoir une représentation des mots qui se répètent le plus. Plus le mot est fréquent dans notre contexte et plus il sera écrit en grand dans le nuage.

 D'emblée nous pouvons dire que le résultat aura besoin de quelques ajustement car des mots fréquents tels que les articles définis ou indéfinis ou certains mots de liaison, bien que très fréquents, ne représentent aucun intérêt pour notre travail. Il en est de même pour certaines variantes autour d'un même mot, si la variation singulier Vs pluriel peut présenter un réel intérêt, la variation avec un l'article défini élidé n'en a aucune. En arabe l'article défini et certaines prépositions qui s'écrivent collés au mot font que certains mots peuvent apparaître en double ou triple ou en quadruple, s'il est intéressant de garder la variation pluriel/singulier pour les autres nous choisirons de les supprimer.

Concernant la création du nuage à proprement parler nous disposons de différents outils qui présentent chacun quelques avantages et quelques inconvénients. Nous comparerons ici les deux sites www.wordle.net et www.worditout.com. Les deux outils permettent un choix intéressant au niveau du visuel (qui est tout de même un critère important pour la création d'un nuage de mots clés) avec une légère préférence pour Wordle. Mais Worditout est plus intéressant au niveau des possibilités de paramétrages car il nous permet de créer toute une liste des mots que nous ne souhaitons pas voir apparaître dans le nuage ce qui présente un gain de temps par rapport à wordle où il faut supprimer les mots un à un avec un clic droit. Worditout permet aussi d'inclure ou d'exclure des mots directement depuis note liste "contextes globaux" via l'onglet "word list" ce qui facilite beaucoup l'exclusion des mots inutiles et qui permet de vérifier que des mots importants ont bien été pris en compte. Dans les deux cas il m'a fallu beaucoup de temps pour ajuster les mots en arabe car à chaque suppression d'un mots d'autres mots tout aussi inutiles faisaient leur apparition. Pour le français, sur wordle, nous avons obtenu une liste assez nette même s'il a fallu la nettoyer un peu. Sur worditout nous avons d'abord entré une liste des mots à éliminer du nuage ce qui a nécessité plusieurs essais pour obtenir un résultat pertinent. Les mots en russes arriveront ultérieurement à cause d'un petit soucis au niveau de l'encodage.










S. & A.

vendredi 20 décembre 2013

Extraction de contextes


Dernière étape pour la création du tableau : la huitième colonne qui sert pour voir  les nombres de cooccurrences des mots. Pour réaliser cet étape il a fallu enrichir notre script avec quelques commandes nouvelles. 
Nous avons déjà vu la commande -egrep qui permet trouver une chaîne de caractères. Et maintenant nous allons le traiter pour rechercher un motif des textes en général (un ou plusieurs mots dont nous intéressent--nous écrivons une phrase particulière dans le fichier).

 Pour faire marche -egrep nous avons du télécharger utiliser un outil de Perl. A l'aide de ce langage et sa 'bibliothèque' riche nous pouvons extraire les motifs souhaités dans notre corpus. Nous enrichons notre script avec la ligne de perl (pour l'info: j'ai utilise la version de Perl5.16.3) et nous faisons une concaténation de fichiers (les lignes de code doivent être ajoutées à chaque phase de la reconnaissance de l’encodage).

Apres l'enrichissement de notre script et téléchargement les outils manqués j’étais sur que tout allait bien et que script allait marcher tout de suite. Mais Cygwin m'a dit le contraire. :-/ Selon lui Unicode n’était pas reconnu et il ne pouvait pas continuer le traitement des liens. Oh là c’était vraiment bizarre, parce que il n'y avait pas aucun message d'explication et j'avais Unicode installé sur mon PC... Mais heureusement après quelques consultations, j'ai appris que c’était un problème au niveau de 'l’absence d’un module Unicode de Perl.

J'ai lancé le script encore une fois et ça a marché! :) Le comptage de cooccurrences ont été effectuées (j'ai rencontré quelques soucis avec le comptage à cause de la connexion internet--mais tout était réglé). Voilà les resultats(le nombre des occurrences du motif affiché. Pour chaque fichier d’URL, le résultat de l’extraction se retrouve dans un seul fichier HTML):

français

arabe



russe

les motifs trouvés (russe)


mardi 3 décembre 2013

Le DUMP

L’étape suivante, c’est d’extraire du texte brut à partir des pages aspirées (ce que nous avions fait à l’étape précédente). Cette opération est possible grâce à Lynx, un navigateur web utilisé en ligne de commande, qui affiche le texte sur les pages web. Pour cela nous devons lancer Lynx, lire le contenu textuel des pages aspirées à l’aide de « wget » et stocker ce contenu dans des fichiers .txt.

Cette dernière opération est réalisée grâce à la commande « dump ». Pour cela il faut créer un répertoire ou nous allons stocker les pages DUMP :



L’option -nolist permet à Lynx d’ignorer tous les liens superflus qui pourraient apparaître sur les pages web à dumper.

On lance le script dans Cygwin :


Et nous obtenons un beau tableau :)


S. & A.

Tableaux des pages aspirées

Voilà le deuxième tableau avec les pages aspirées, suivi du script que nous avons vu pendant le cours. Nous avons donc créé notre script qui nous permet de ranger les urls dans le tableau. Cette étape est assez simple et permet d’ajouter juste une deuxième colonne au tableau précédent. Pour compter les urls nous avons donné une variable comme « j=1 ». Pour cela, la chose la plus difficile était de faire marcher la commande -wget. En fait, pour écrire un script on pouvait utiliser soit la commande –curl, soit la commande –wget (quand Svetlana a installé Cygwin sur son ordinateur elle n’avait pas choisi tous les éléments nécessaires du coup il a fallu réinstaller Cygwin en installant –wget cette fois-ci).

Il y a des éléments nouveaux dans le script qui permettent de bien le faire tourner :

  • la déclaration de l’encodage de la page html en UTF-8 ; 
  • une variable « j » pour compter les pages aspirées ; 
  • une deuxième boucle ‘for’ pour la récupération des pages internet.



S. & A.

mardi 5 novembre 2013

Script pour créer des tableaux des URLS

Ce billet est consacré à la création du tableau HTML à deux colonnes, une colonne inclut les URLs trouvées et l’autre contient le numéro de l'URL lue. Pour compter les URLS nous avons utilisé une variable numligne=1 et, pour la lecture du fichier d’URL, une boucle WHILE.




Nous avons exécuté le script dans cygwin (pour chaque langue). Il y avait une erreur du type: 'ambiguous redirect' dans le Cygwin mais puis elle a disparu mystérieusement :-/


Et en voici le résultat :



S.

mardi 29 octobre 2013

Arborescence de travail

Afin de pouvoir nous repérer facilement dans les dossiers et fichiers, nous devons tous créer la même arborescence de travail, nous utiliserons pour cela quelques commandes vues précédemment. D'abord se positionner dans le répertoire dans lequel nous souhaitons créer notre arborescence avec la commande cd puis pwd pour vérifier que nous sommes bien au bon endroit. Utiliser ensuite la commande mkdir pour créer chaque dossier.


Enfin, la commande ls nous permet de vérifier que tous les dossiers dont nous avons besoin sont bien là.


A.

samedi 26 octobre 2013

Commandes bash

Durant les deux premières séances nous nous sommes familiarisés avec quelques commandes de bash (Bourne again shell) qui est un interpréteur de commandes (shell) pour linux. Voici les principales commandes vues regroupées ici selon leur usage.

Pour se repérer et se déplacer

cd (choose directory) pour se déplacer dans le répertoire indiqué
cd . pour désigner directement le répertoire courant
cd ~ pour accéder directement au répertoire utilisateur
cd .. pour se déplacer dans le répertoire parent du répertoire courant
cd / pour se placer dans la racine de l'arborescence
pwd (print working directory) pour afficher le nom du répertoire courant

Pour explorer le contenu des dossiers et fichiers

ls (list) pour afficher le contenu du répertoire indiqué sinon, par défaut, le contenu du répertoire courant
ls -l pour affiche les détails du contenu du répertoire comme la date de création d'un fichier
ls -a pour affichier également les fichiers cachés
ls -lrt pour effectuer un tri inverse sur la dernière date de modification des fichiers
ls ../.. pour afficher le contenu de la racine
file pour donner le type du fichier indiqué

Pour manipuler des dossiers et des fichiers

mkdir (make directory) + nom de dossier
pour créer un répertoire
touch + nom de fichier
pour créer un fichier vide
cp (copy) + /nom du répertoire source/nom du fichier copié/nom du répertoire de destination
pour copier un ou plusieurs fichiers
mv (move) + ancien_nom.txt nouveau_nom.txt
+ /home/nom_de_dossier/ancien_n.txt /home/nom_de_dossier/répertoire/nouveau_n.txt
pour renommer un fichier ou le déplacer
grep pour rechercher une chaîne de caractères dans un fichier
-v pour afficher les lignes ne contenant pas la chaîne
-c pour compter le nombre de lignes contenant la chaîne
-n pour numéroter chaque ligne contenant la chaîne
-x pour trouver la ligne correspondant exactement à la chaîne
-l pour afficher le nom des fichiers qui contiennent la chaîne
cat pour afficher le contenu d’un fichier dans le terminal
cut pour afficher des zones spécifiques d'un fichier
read pour lire les informations sur l'entrée standard et affecter les valeurs saisies dans la ou les variables passées en argument.
echo pour afficher une chaîne de caractères entrée par l'utilisateur
+ "chaîne de caractères" >> nom_de_fichier pour écrire à la fin d'un fichier sans en écraser le contenu
+ "chaîne de caractères" > nom_de_fichier pour écrire dans un fichier en en écrasant le contenu
Ce ne sont là que quelques exemples des commandes les plus basiques et quelques unes de leurs options. Pour accéder à la liste complète des commandes Unix ainsi que leur description et leurs options, il existe la commande bien pratique, man (pour manuel des commandes Unix)
A.

jeudi 24 octobre 2013

Etapes du travail

Il y a deux étapes préparatoires que nous devons effectuer afin de réussir notre projet. 

Tout d'abord, nous récupérons des URLS pour la thématique choisie - cela nous permettra de faire l'analyse linguistique selon le corpus donné (et la recherche des URLs est un travail fastidieux même si ça semblait assez facile au premier abord). Finalement, nous avons environ 150 URLs (RU, FR, AR), sauvegardées en format .txt.



Ensuite nous organisons l’environnement de travail en utilisant l‘interface en ligne de commande sous Unix. Nous créons le dossier pour transmettre les différents fichiers afin d'automatiser notre travail.



Stay tuned,

S.

mardi 22 octobre 2013

Premières difficultés : la recherche de liens

Première difficulté, c’est de trouver une grande diversité de sources en arabe pour le discours politique tunisien et aussi une grande quantité de liens. Peut-être est-ce un problème au niveau du référencement ? Mais pour des requêtes telles que «الهوية الوطنية تونس» ou «هوية عربية إسلامية تونس», (et autres combinaisons), il y a à chaque fois entre une dizaine et une trentaine de pages de résultats Google. Beaucoup de liens sont évidemment inutilisables car ils ne correspondent au contenu recherché (expression utilisée dans les commentaires des articles, sur des pages facebook, etc.). La difficulté vient aussi du fait que la politique tunisienne se raconte et se commente autant en arabe qu’en français. Les liens en français sont peut-être même mieux référencés que ceux en arabe ? Quoi qu’il en soit, la stratégie adoptée pour réunir un grand nombre de liens en arabe c’est de spécifier pour chacune de ces requêtes le nom d’un parti politique tunisien ou d’un(e) politique ainsi que de faire des recherches directement sur des sites spécifiques (sites d’information, radio, etc. et sites de partis politiques).

Deuxième difficulté, pour les liens en français cette fois, de nombreux discours politiques sont accessibles en PDF. Or pour ce projet nous devons choisir des liens en html. La solution que nous proposons est de convertir les PDF en html grâce à l'un des nombreux outils disponibles en ligne (pdf.investintech.com).

A.

samedi 19 octobre 2013

Page HTML : quelques améliorations

Quelques petites modifications apportées au code HTML de Svetlana. Je sauvegarde dans un fichier au format .html et je l'ouvre dans un navigateur.


Voici le résultat :

A.

vendredi 18 octobre 2013

page HTML

En cours la semaine dernière nous avons essayé de faire une petite page HTML simple qui affiche un tableau avec nos noms et le thème du projet :) J'ai tapé donc un texte:


J'ai sauvegardé ce fichier texte comme .html et une fois ouvert par un navigateur sera interprété comme ceci:


Voilà le résultat :)

Le premier petit pas est fait !

S.

jeudi 17 octobre 2013

Identité nationale: c'est quoi?

En cherchant les URLS, nous rencontrons des difficultés pour la definition d'identité nationale. Tout d'abord, la question d'identité nationale est discutable et problèmatique, surtout dans le sens moderne du terme. Le concept d''identité est aussi une notion très actuelle en ce moment si on prend des journaux ou on regarde les actus. On doit faire quand meme un petit rappel historique pour mieux comprendre.

L'expression 'identité nationale' est apparue dans les années 1980. Par définition, il s'agit d'un 'sentiment qui habite des individus qui appartiennent à une même et unique nation'. Par extension, l'identité nationale peut aussi 'bien être ressentie par une personne qui n'est pas originaire d'un pays donné mais qui y a vécu une grande partie de sa vie'.

Il y a quelques années que l'identité nationale' a envahi l'espace politique et la scène médiatique. L'identité nationale est également l'objet des recherches scientifiques dans le domaine de sciences de l'homme, notamment de l'histoire politique, de l'anthropologie, de la sociologie politique dans l'étude de la psychologie de masse. Certains ouvrages et certains auteurs se sont tout particulièrement distingués par la qualité et la finesse de la réflexion sur la mythologie du nationalisme.

S.

mardi 15 octobre 2013

Pourquoi « identité nationale » ?

Cette idée m’est venue assez spontanément lorsque l'on a abordé la question du choix des thématiques en cours. Lors des dernières campagnes électorales qui ont eu lieu en Tunisie et en France et qui étaient assez proches dans le temps, j’avais remarqué la place centrale de cette thématique et donc l’usage répétitif (excessif ?) de cette expression. Et bien que les contextes respectifs fussent très différents la construction des discours politiques autour de cette thématique était terriblement identique. Est-ce la même chose dans d’autres pays ? Nous prendrons comme troisième exemple les discours politiques russes.

A.

C'est parti !

Bonjour à tous, Ce blog a été crée dans le cadre "Projet encadre" d'un M1 Ingeniérie linguistique. Le thème choisi pour ce projet est "La notion d'identité nationale dans le discours politique". L’objectif sera de faire une analyse des contextes lexicaux et sémantiques du corpus. Le corpus sera composé de pages internet de différents journaux et de discours politiques en français, en russe et en arabe. Stay tuned,
S&A.