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.