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.