Partie 3

Exercices sur les fichiers du corpus Prématurés avec Egrep

Dans cette dernière partie, nous avons travaillé dans le terminal en employant principalement la commande "egrep" ainsi que d'autres commandes pour extraire les zones textuelles et les trier (sort, cut ...)

Exercices sur le "Corpus Prématurés" avec Egrep

Ficher de travail p96.tab  • 

Dans cette section nous travaillons avec la commande Egrep dans la fenêtre de commande. C'est une commande qui sert à traiter des données textuelles, et que nous utiliserons pour chercher des occurrences d'une certaine motif dans un fichier donné. Nous allons traiter deux documents dont vous trouverez les liens juste au-dessus. Dans ces textes nous effectuerons des recherches sur chaque document, cherchant des occurrences d'un motif particulier pour extraire des lignes contenant le motif recherché du fichier original et les sauvegarder dans un nouveau fichier.

1.1 Recherches sur p96.tab

Ici sont notées les commandes tapées dans la fenêtre de commande avec, en-dessous, un lien vers le fichier de sortie.

Question 1  •  Extraire les fiches contenant une interrogation

egrep "\?" p96.tab > eg1_tab.txt

Lien vers le fichier des résultats

Question 2  •  Extraire les fiches correspondant au bébé 12

egrep "^12[0-9][0-9]+" p96.tab > eg2_tab.txt

Lien vers le fichier des résultats

Question 3  •  Extraireles fiches correspondant au bébé 1

egrep "^1[0-9][0-9][^0-9]" p96.tab > eg3_tab.txt

Lien vers le fichier des résultats

Question 4  •  Extraire les fiches pour lesquelles le score médical est de 12

egrep "12[^0-9]*$" p96.tab > eg4_tab.txt

Lien vers le fichier des résultats

Question 5  •  Faire de même pour un score de 10.

egrep "10[^0-9]*$" p96.tab > eg5_tab.txt

Lien vers le fichier des résultats

Question 6  •  Quelles sont les fiches qui vont être extraites si l'on recherche les fiches commençant par 13 ? Expliquer ?

egrep "^13$" p96.tab > eg6_tab.txt

Lien vers le fichier des résultats

Question 7  •  Extraire les fiches correspondant aux bébés faisant au moins 1000 grammes.

Nous ne savons pas ...

1.2 Recherches sur p96.bal

Ces recherches afficheront dans la fenêtre basse d'Emacs des occurrences du motif recherché

Question 1  •  Extraire les fiches concernant les bébés 10 à 12

egrep "BEBE>1[0-2]" p96.bal > eg1_bal.txt

Lien vers le fichier des résultats

Question 2  •  Extraire les fiches concernant les bébés 10 et 12, c'est-à-dire sans 11 et 13

egrep "BEBE>1[02]" p96.bal > eg2_bal.txt

Lien vers le fichier des résultats

Question 3  •  Trouver le nombre de bébés de 23, ..., 30 semaines

egrep -c "TERME>\(2[3-9]\|30\)" p96.bal

Question 4  •  Extraire les fiches du jour 0 pour lesquels le bébé est né à 28 semaines

egrep "JOURS>0.+TERME>28" p96.bal > eg4_bal.txt

Lien vers le fichier des résultats

Question 5  •  Extraire les fiches des bébés nés entre 23 et 29 semaines

egrep "TERME>2[3-8][^0-9]" p96.bal > eg5_bal.txt

Lien vers le fichier des résultats

Question 6  •  Extraire les fiches pour lesquels le bébé à la naissance faisait au moins 1000 grammes

egrep "POIDS>1[0-9][0-9][0-9]" p96.bal > eg6_bal.txt

Lien vers le fichier des résultats

Question 7  •  Extraire les fiches pour lesquels le bébé à la naissance faisait moins de 1000 grammes

egrep "POIDS>[0-9][0-9][0-9][^0-9]" p96.bal > eg7_bal.txt

Lien vers le fichier des résultats

Question 8  •  Extraire les fiches rédigées par les infirmières 12 et 22

egrep "INFIRMIERE>[12]2[^0-9]" p96.bal > eg8_bal.txt

Lien vers le fichier des résultats

Question 9  •  Si l'on veut extraire les fiches rédigées par les infirmières 2, 12 et 22, quel est l'inconvénient de la solution suivante ? egrep 'INFIRMIERE>(2|12|22)' p96.bal

Dans ce cas Egrep considère qu'on cherche des fichiers avec un 2 en première position et/ou un 1 ou 2 en deuxième position et/ou un 2 en troisième position. Une meilleure recherche serait egrep "INFIRMIERE>([12]2|2[^0-9])" p96.bal > eg9_bal.txt

Lien vers le fichier des résultats

Question 10  •  Extraire les fiches concernant le bébé 10 et ne correspondant pas au jour 0

egrep "BEBE>1[^1-9].+[^0]" p96.bal > eg10_bal.txt

Lien vers le fichier des résultats

Exercices sur le "Corpus Prématuré" (niveau 0)

Fichier de travail: liste.txt  • 

Dans cet exercice, nous compterons le nombre d'occurrences correspondant à chaque fonction

Question 1  •  Déterminer les différentes catégories présentes dans le corpus (leur nombre et leur fréquence)

On utilisera Emacs avec la fonction "count-matches" et il suffira de changer la catégorie dans la commande

Lien vers le fichier de résultats pour le cas de l'adjectif masculin singulier

Prenons l'exemple des adverbes. Après avoir analysé ce fichier, on trouve 26 catégories différentes.

Question 2  •  Pour chaque catégorie déterminer tous les mots associés.

Pour répondre à cette question, il a fallu faire une macro avec Emacs. Il suffit donc de changer l'expression régulière (search-forward-regexp) pour changer de catégorie en faisant ctrl-x ctrl-k.

Exercices sur le "Corpus Prématuré" (niveau 1)

Fichiers de travail: p96.tag et p96.tag Question 1  •  Construire un index des adjectifs en remplaçant les blancs par un dièse, les slashs par un underscore, en ne gardant uniquement les lignes contenant l'adjectif puis concaténer l'ensemble et trier les adjectifs.  •   • 

Nous avons donc utiliser l'expression régulière avec egrep ansi que les commandes "tr" et "sort."

Question 2  •  Choisir 5 adjectifs puis extraire les zones textuelles contenant les adjectifs choisis et le numéro de l'infirmière associée.

Nous avons donc choisi les adjectifs suivants : "labile, petite, paisible, harmonieux et attentive".

Lien vers le fichier de résultats pour les adjectifs "petite et paisible"

Lien vers le fichier de résultats pour les adjectifs "harmonieux et attentive"

Question 3  •  Extraire le premier mot des zones textuelles précédentes, les classer par infirmière, en faire le tri et les compter

Il faut alors utiliser la commande "cut" pour ne garder que les zones textuelles, la commande "egrep" pour pouvoir changer le numéro de l'infirmière et enfin la commande "egrep -o" suivie de l'expression irrégulière appropriée pour ne garder que les adjectifs choisis.

Lien vers le fichier de résultats pour l'infirmière n°4

Lien vers le fichier de résultats pour l'infirmière n°9

Lien vers le fichier de résultats pour l'infirmière n°11

Lien vers le fichier de résultats pour l'infirmière n°13

Lien vers le fichier de résultats pour l'infirmière n°20

Lien vers le fichier de résultats pour l'infirmière n°21

Lien vers le fichier de résultats pour l'infirmière n°23