Cours 7 - Rajouter 4 colonnes dans la table d'URLs

N.B. Les explications de chaque commande ou de chaque bloc de codes sont données dans les commentaires.

Arguments

Désormais, au moment du lancement de notre programme, 3 arguments sont requis. Le premier et le deuxième sont le répertoire de l’input URL et celui de l’output tableau. Le troisième est nos mots ciblés dans notre projet qui est donc ‘guerre commerciale|trade war|贸易战’. Ce troisième argument sert à compter sa fréquence dans le texte.

Colonnes rajoutées

Les 4 colonnes rajoutées sont :

  • le contexte de mot-clé
  • sa fréquence dans chaque fichier dump
  • l’index des mots présents dans chaque fichier dump
  • les bigrammes

Minigrep ou egrep

Après avoir intallé Perl, nous avons deux façons de trouver le contexte des mots ciblés, soit deux lignes autour de la ligne concernant les mots-clés, une avec egrep et une autre avec minigrep

# ----06/11
# METHODE 1 : trouver la ligne avant et la ligne après de la ligne contenant notre mot-clé avec egrep
# egrep -i -C 2 $motif '../DUMP-TEXT/$numerotableau-$compteur.txt' > '../CONTEXTES/$numerotableau-$compteur.txt';
# METHODE 2 : en utilisant minigrep
# mettre les motifs dans le fichier parametre-motif.txt
minigrep/minigrepmultilingue.pl "UTF-8" '../DUMP-TEXT/$numerotableau-$compteur.txt' minigrep/parametre-motif.txt;
# renommer le fichier obtenu
mv resultat-extraction.html ../CONTEXTES/$numerotableau-$compteur.html

Afin d’obtenir des bigrammes, nous avons concaténé tous les mots d’un fichier avec tous les mots du même fichier excepté le premier en utilisant paste. Cependant, cette manière de récupérer des mots ne s’applique pas au chinois à cause du fait que le chinois n’utilise pas des délimiteurs pour distinguer des mots. Il nous faut donc trouver un autre outil pour la segmentation du corpus chinois.

# \w+ ne marche que dans UTF-8
# INDEX DES MOTS
egrep -o '\w+' '../DUMP-TEXT/$numerotableau-$compteur.txt' | sort | uniq -c|sort -gr > '../DUMP-TEXT/index-$numerotableau-$compteur.txt';
## BIGRAMS
egrep -o '\w+' '../DUMP-TEXT/$numerotableau-$compteur.txt' >fic1;
tail -n +2 fich1 >fic2;
paste fic1 fic2 | sort | uniq -c | sort -gr > '../DUMP-TEXT/bigrams-$numerotableau-$compteur.txt'
## COMPTER LE MOTIF
frqMotif=$(egrep -oc $motif '../DUMP-TEXT/$numerotableau-$compteur.txt');

Solution pour la segmentation du corpus chinois

Grâce aux blogs de nos anciens camarades, nous avons pris connaissance d’un outil de segmentation du chinois appelé Stanford Chinese Segmenter. Le site officiel offre des explications très détaillées sur l’usage de cet outil.

sh ./stanford-segmenter/segment.sh -k ctb ./DUMP-TEXT/*.txt utf-8 0
article précédent
article suivant