Nuages de mots

Nuages de mots réalisés à l’aide de:
Word Cloud Generator – https://www.jasondavies.com/wordcloud/
à partir des grands corpus de chaque langue.

  • Français
  • memoire.png
    Celui-ci est plus pertinent car les mots vides de sens ont été supprimés. Nuage de mots fait sur tagul.com.
    memoire1.png
  • Anglais
  • memory
  • Coréengieokryeok
  • Chinois
  • ch

Continue reading “Nuages de mots”

Trameur

Manipulation sur iTrameur – CooCs-JS en ligne. Il permet de construire un graphe de cooccurrents spécifiques sur un pôle donné, ici le mot coréen “mémoire”: “기억력” gieokryeok.
Sous le graphe est placé le tableau des contextes qui nous donne notamment les mots les plus fréquents autour du pôle. Nous pouvons observer ici que les mots les plus fréquents sont “트레이닝” teuraeining “entraînement” et “좋아지는choahajineun “améliorer”.coocjs_kr

Ici, nous pouvons observer la carte des sections. La carte des sections nous montre où le pôle “기억력” gieokryeok a été repéré. Le corpus a été préalablement segmentée par ligne. Le corpus utilisé est le corpus de dump, ce qui explique que le motif ne soit pas présent à chaque ligne.coocjs_kr_carte2

 

iTrameur – Réseau de CooCs-JS: Réseau de cooccurrences généralisées
Ci-dessous les graphes des réseaux de cooccurrences généralisées des différentes langues:

  • Français

    coocgen_fr_gn
    Nous pouvons remarquer que tout ce qui tourne du mot “mémoire” en français est “troubles”, “perte”, “améliorer”, inquiéter”, “entourage” etc…

  • Coréen
    coocgen_kr.png
    Nous pouvons remarquer que ce qui tourne autour de “기억력” est, comme vu précédemment, “entraînement”, “améliorer”, “test”, “méthode”etc…
    Certains points sont en communs avec le français mais la notion d’inquiétude est dominante en français, alors que l’entraînement et l’amélioration de la mémoire sont dominants en coréen.

 

Création de corpus

Pour chaque langue, nous avons concaténé les dumps ensemble et les contextes ensemble, afin de créer un grand corpus. Pour cela, nous avons utilisé la commande cat:

  • pour le chinois cat 1-* > global_ch.txt
  • pour l’anglais cat 2-* > global_en.txt
  • pour le français cat 3-* > global_fr.txt
  • pour le coréen cat 4-* > global_kr.txt

Exemple du corpus coréen:
corpus_kr.png

Tableau du script

Après exécution du script, ce tableau est constitué. Le lien de la page est gardé. Le statut et le code curl nous indiquent si le téléchargement s’est bien passé. Le lien vers les pages aspirées dans le répertoire /PAGES_ASPIREES est présent. L’encodage initial nous est donné, sachant que l’encodage final sera forcément utf-8. Nous pouvons observer dans “DUMP initial” que la page aspirée n°6 n’était pas initialement en utf-8, et que celle-ci a été convertie, et son DUMP utf-8 créé. Les contextes utf-8 et html utf-8 ont bien été construits. La fréquence du motif est exprimée, le motif recherché étant “memory” pour ce tableau d’URLS anglaises.tableau

Description script (séance 5, 6, 7)

Le reste des séances a été consacré à la réalisation du script nous permettant d’étudier le mot choisi dans nos langues. Ce script nous permet d’aspirer des pages web préalablement sélectionnées selon notre mot, puis d’en faire des dumps en utf-8, entre autres. Ceci nous permet à la fin de constituer un corpus par langue.

Le début du script permet d’aller chercher les fichiers contenant les URLS, et de sélectionner les motifs à rechercher dans les dump_text créés. Un tableau est créé par fichier d’URLS.
script_preambule.png

La première grande partie du script est constituée ainsi. Pour chaque fichiers d’URLS contenus dans le répertoire /URLS, un tableau est créé. <tr> </tr> permet de créer une nouvelle ligne, <td> </td> une nouvelle colonne.
script_creation_tableau

Après avoir créer le tableau, les pages URLS sont aspirées vers le répertoire /PAGES_ASPIREES à l’aide de la commande curl. Le bon déroulement du téléchargement est ensuite vérifié.script_aspiration

Une fois la page aspirée, l’encodage est recherché, ici à l’aide de la commande egrep. Sa valeur est attribué à la variable $encodage.
Si l’encodage est trouvé dans la page:

1. L’encodage est utf-8, alors le dump de la page est créé via lynx.script_encodage.png

Ensuite, le motif est recherché dans le dump créé à l’aide de la commande egrep. Les lignes reconnues sont ainsi envoyées dans un fichier dans le répertoire CONTEXTES. Le nombre de fois où est exprimé le motif est également compté. Les résultats sont ensuite écrits dans le tableau.
Le programme perl minigrepmultilingue.pl permet de créer un fichier contexte enrichi. Le motif est mis en avant et est bien structuré.script_encodage_ecriture_tableau.png

2. Si l’encodage n’est pas utf-8, le dump de la page est créé puis l’encodage de la page, s’il est connu de la commande iconv, est convertit en utf-8. Un autre dump de la page mais cette fois en encodage utf-8 est créé. Ensuite, le motif entré avant l’exécution du script est recherché dans les dumps en utf-8. de même que précédemment, les lignes reconnues sont envoyées dans un fichier dans le répertoire CONTEXTES. Le nombre de fois où est exprimé le motif est également compté. Les résultats sont ensuite écrits dans le tableau.
Le programme perl minigrepmultilingue.pl permet de créer un fichier contexte enrichi. Le motif est mis en avant et est bien structuré.script_recherche_encodage.png

Si la recherche d’encodage n’a rien donné, le charset de la page est recherché à l’aide d’une expression régulière que nous pouvons observer ci-dessous.
Une fois l’encodage de la page extrait, les étapes 1. et 2. précédemment expliquées se répètent.script_recherche_encodage2.png

Compte-rendu 4ème séance

Au cours de la quatrième séance, nous avions deux objectifs: détecter les encodages manquants de nos URLS, et convertir les encodages en UTF-8.

Pour cela, voici quelques commandes que nous avons expérimentées:
file nous donne l’encodage du fichier
encodage=$(file -i urls.txt | cut -d= -f2)
cut -d= -f2 permet de couper au délimiteur = et de prendre le deuxième champ

Une fois l’encodage détecté, si celui-ci n’est pas UTF-8, il faut le convertir. Nous avons pour cela la commande iconv qui est utilisée ainsi:
iconv -f encodage1 -t encodage2 file.txt > resultat_conv.txt
désigne l’encodage original
désigne l’encodage cible
sur ce fichier
et le résultat est dirigé dans le fichier resultat_conv.txt

Après ces étapes, il faut afficher les lignes qui contiennent le motif recherché. Pour cela, nous utilisons la commande egrep avec les options -ni qui permettent de sélectionner le mot peu importe sa casse, et en affichant son numéro de ligne. Pour afficher l’environnement du motif, voici la commande utilisée:
egrep -i -A 2 -B 2 motif file.txt
-A représente les lignes après le motif (After, ici 2 lignes)
-B représente les lignes avant le motif (Before, ici 2 lignes)

Compte-rendu 3ème séance

Lors de la troisième séance,  nous avons commencé à regarder et comprendre le script nous permettant de mener à bien notre projet. Après avoir constituer nos fichiers contenant les URLS de chacune de nos langues de travail, nous nous sommes confrontées au problème d’encodage. En effet, le script sur lequel nous travaillons nécessite un encodage en UTF-8. Voici les commandes utilisées:

curl -I http://lemonde.fr
I est une requête http qui interroge le serveur sur lequel est “lemonde.fr”. Cela nous indique si la requête se passe bien ou non.

curl -sI http://lemonde.fr | egrep charset | cut -f2 -d=
Cette commande permet de repérer le type d’encodage de la page. egrep repère le “charset” puis cut coupe le charset jusqu’au = avec les options.

A l’issue de ce cours, nous avons également vu que le | (pipe) était utilisé entre des commandes liées, alors que le ; permet d’exécuter les commandes une à une.

Compte-rendu 2ème séance

Lors de la deuxième séance, nous avons découvert quelques commandes sous Linux. Nous avons également parlé d’arborescence: l’interface graphique est une arborescence physique tandis qu’Unix, la machine, est une arborescence logique. Nous pouvons observer l’arborescence de notre machine en utilisant par exemple la commande ls (montre les dossiers et fichiers présents dans le répertoire courant).
/ représente la racine de l’arborescence d’un point de vue Unix. Le chemin absolu est une manière de décrire l’accès à un fichier/ un répertoire.

Les commandes Unix sont construites de cette façon: commande [option] [argument(s)]
Les commandes vues en cours:
pwd – print working directory : nous indique le chemin du répertoire dans lequel nous travaillons
ls / – list short : prend en argument un répertoire, par défaut le répertoire courant, ici la racine. Cela affiche le contenu du répertoire. Elle peut avoir plusieurs options :
ls -l (less) – affiche en long les détails des éléments
ls -a (all) – affiche tous les éléments du répertoire
ls -la (less+all) – affiche les détails des éléments et tous les éléments présents dans le répertoire
ls -R – lecture récursive du répertoire passé en argument

3
cd – change directory : prend en compte un seul argument. permet de changer de répertoire
mkdir – make directory : prend en compte un argument. Permet de créer un répertoire.
ex: mkdir /home/jing/20161005– création d’un répertoire “20161005” avec le nom de chemin absolu
man – permet d’appeler le manuel d’une commande.
touch – prend un argument. Crée un fichier vide.
cat – prend un argument. Commande d’édition en lecture. Affiche le contenu du fichier.
ex: cat -v amants-utf8.txt

cat.jpg

affiche le contenu du fichier ainsi que  les caractères non imprimables (sauf tabulation) avec “^” et “M-“.

less – permet de faire défiler le fichier appelé
echo – prend en argument une chaîne de caractères. Résultat: affichage à l’écran de son exécution
Redirection de flux de sortie d’une commande
echo ” “ > 20161005/toto.txt – écrase le fichier s’il existait déjà
echo ” “ >> 20161005/toto.txt – concatène à la fin du fichier

3
rm – prend un argument: le nom du fichier que l’on veut supprimer
rmdir – prend un argument. Supprime un répertoire seulement s’il est vide
rm

dos2unix – supprime les marques de Windows (retour à la ligne – \r\n/^M$) pour Unix

Compte-rendu 1ère séance

Lors de la première séance, nous avons découvert l’intitulé du projet: “La vie multilingue des mots”. Les objectifs sont de constituer un corpus multilingue et d’analyser le corpus construit. Nous avons donc constituer des groupes, réfléchit à une thématique. Les grandes lignes du projet ont été fixées.

Nous avons également eu une introduction sur les expressions régulières, notamment comment elle est construite.

egrep -o “\w+” amants-utf8.txt | sort | uniq -c | sort -r

i

 

| (pipe) fait passer le résultat d’une commande à une autre. Redirection de flux: le résultat de la commande est envoyé à la commande suivante
egrep attrape dans le fichier texte l’expression entre “”-o est une option de commande de egrep qui permet de reconnaître les expression régulières
sort permet de trier par ordre alphabétique les résultats
uniq rassemble les lignes qui sont les mêmes en une et l’option -c permet de compter combien d’occurrences ont été écrasées
sort retrie les résultats et l’option -r permet de trier les résultats dans l’ordre inverse, c’est à dire du plus grand nombre d’occurrences au plus petit nombre d’occurrences

Nous avons aussi vu la commande wc (word count) qui permet de compter les blancs. Plusieurs options sont disponibles:

i

  • wc -w qui compte les mots (en comptant les blancs)
  • wc -l qui compte les lignes
  • wc -c qui compte les caractères
  • wc seul affiche dans l’ordre le nombre de mots, le nombre de lignes et le nombre de caractères

Exercices Scripts

Exercice 1

Ecrire un script (dans le dossier PROGRAMMES) permettant de générer dans le répertoire
DUMP‐TEXT un fichier txt contenant 2 lignes (sur la première, votre nom, sur la seconde, le
mot choisi pour votre projet)

Les répertoires PROGRAMMES et DUMP-TEXT ont été créés à l’aide de la commande mkdir dans l’interpréteur de commandes. Les fichiers bash sont enregistrés avec l’extension .sh.

exercice1html

Dans le script bash ci-dessus, une erreur s’est glissée. Nous ne pouvons utiliser le | (pipe) car les commandes ne sont pas liées entre elles. Il aurait donc fallu écrire:

echo -e “Audrey Jing\nMémoire” > memoire.txt ; cat memoire.txt

Exercice 2

Ecrire un script (dans le dossier PROGRAMMES) permettant de générer dans le répertoire  
TABLEAUX un fichier html contenant 1 tableaux avec 2 lignes (sur la première, votre nom, sur
la seconde, le mot choisi pour votre projet)

Le script est écrit en bash et enregistré dans un fichier avec l’extension .sh. Il génère une page HTML, appelée tableau.html, enregistrée dans le répertoire TABLEAUX.

htmlmodif

Ce qui nous donne ce résultat:

html3