Partie 3 : exercices sur le corpus "Prématurés 96"
Pour télécharger l'archive contenant les fichiers de travail p96.tab, p96.bal et l'index des mots contenus dans le corpus : c'est içi.
On lira pour commencer la présentation du corpus disponible sur le site de l'ilpga : cliquez içi.
Emacs
- Rechercher les fiches contenant une interrogation
- Rechercher les fiches correspondant au bébé 12
- Rechercher les fiches correspondant au bébé 1
- Rechercher les fiches pour lesquelles le score médical est de 12
- Faire de même pour un score de 10. Pouvez-vous expliquer le résultat ? Quand on tape " 10$ " en argument de " occur ", le programme ne trouve aucune correspondance, alors que si on analyse le texte à vue d'oeil, les occurrences existent. En revanche, la commande : trouve des fiches avec un score de 10.
- Rechercher les fiches concernant les bébés 10 à 12
- Rechercher les fiches concernant les bébés 10 et 12, c'est-à-dire sans 11 et 13
- Rechercher le nombre de bébés de 23, ..., 30 semaines
- Rechercher les fiches du jour 0 pour lesquels le bébé est né à 28 semaines
- Rechercher les fiches des bébés nés entre 23 et 29 semaines
- Rechercher les fiches pour lesquels le bébé à la naissance faisait au moins 1000 grammes
- Rechercher les fiches pour lesquels le bébé à la naissance faisait moins de 1000 grammes
- Extraire les fiches contenant une interrogation Pour cette question et pour toutes les autres à venir, il faut créer une nouvelle fenêtre dans laquelle on viendra coller les fiches qui nous intéressent. Pour ce faire, on divise notre unique fenêtre en deux (c-x shift-2), on place le curseur dans la fenêtre du bas (c-x o), on créer un fichier vide à l'endroit de cette fenêtre et en même temps on l'enregistre (c-x c-f). Enfin on a plus qu'a revenir à la 1ère fenêtre (c-x o) pour commencer la macro. On tape c-x ( pour commencer la macro
- Extraire les fiches correspondant au bébé 12
- Extraire les fiches correspondant au bébé 1
- Extraire les fiches pour lesquelles le score médical est de 12
- Faire de même pour un score de 10. Pouvez-vous expliquer le résultat ?
- Quelles fiches vont être extraites si l'on demande les fiches commençant par 13 ? Expliquer
- Extraire les fiches correspondant aux bébés faisant au moins 1000 grammes. On peut d'abord essayer de tester la commande sans enregistrer l'ensemble des manip dans une macro : ceci nous permet de visualiser les résultats séléctionnés dans la fenêtre texte et de revenir en cas d'erreur sur la forme de l'expression régulière et ce, à n'importe quel moment de son écriture (par la touche effacer) :
- Extraire les fiches concernant les bébés 10 à 12
- Extraire les fiches concernant les bébés 10 et 12, c'est-à-dire sans 11 et 13
- Trouver le nombre de bébés de 23, ..., 30 semaines
- Extraire les fiches du jour 0 pour lesquels le bébé est né à 28 semaines
- Extraire les fiches des bébés nés entre 23 et 29 semaines
- Extraire les fiches pour lesquelles le bébé à la naissance faisait au moins 1000 grammes
- Extraire les fiches pour lesquelles le bébé à la naissance faisait moins de 1000 grammes
- Extraire les fiches rédigées par les infirmières 12 et 22
- Extraire les fiches concernant le bébé 10 et ne correspondant pas au jour 0
Fichier de travail : p96.tab
Tout d'abord, voyons comment ouvrir un fichier avec emacs en passant par les raccourcis clavier :L'interface d'emacs se présente comme suit à l'ouverture :
NB : "c" représente la touche control (en bas à gauche du clavier)
Dans ce fichier, le nombre débutant la ligne concatène le numéro de bébé, celui du jour de l'observation et celui de l'observation dans la journée. Dans cette partie, on utilisera le menu de recherche de chaînes de caractères pour réaliser les opérations suivantes :
La commande "occur" prend le même type d'argument que la commande unix "egrep" : des expressions régulières.
Fiches contenant une interrogation : cliquez içi.
Cliquez sur l'image ci-dessus pour voir les fiches correspondant au bébé 12
Problème avec l'argument ^1 : cela selectionne les bébés associés aux numéros de fiche à deux chiffres comme 10, 11, 12 etc...
Comme on sait que toutes les fiches correspondant au bébé 1 concatènent au maximum 3 chiffres en début de ligne, on peut restreindre la recherche à 3 chiffres sans risquer de passer à côté de certaines fiches de ce bébé.
Ceci est dû à la présence de tabulations à la suite des scores.
On met " nimporte quel caractère sauf un chiffre " parce que toutes les colonnes qui précèdent sont remplies de chiffres et que la colonne qui nous interesse est la dernière colonne.
Fichier de travail : p96.bal
Pour cet exercice, on utilise toujours la commande occur, sauf pour le décompte où il faut utiliser la commande "count-matches"Il y en a 104.
On peut utiliser le point sans craindre que la commande selectionne une zone textuelle allant d'une première fiche correspondant au jour 0 d'observation jusqu'à une autre fiche correspondant elle, à un deuxième bébé né à 28 semaines. En effet, le point signifie " n'importe quel caractère sauf le retour à la ligne " et -très important - le fichier contient une fiche par ligne.
fichier de travail : p96.tab
Dans cette partie, construire des macros sous EMACS pour réaliser les extractions d'informations demandées. On doit obtenir en sortie un fichier pour chaque requête demandée.A ce stade, nous n'avons dans notre fichier résultat que la première fiche contenant une interrogation. Pour effectuer le même traitement sur tout le fichier automatiquement, on fait : M-shift-0 (le chiffre. NB : "M" = "Alt") immédiatement suivi de c-x-e. C'est seulement après qu'on peut signaler la fin de la macro en tapant : c-x )
" ^13 " extrait les fiches du bébé 1 faite au 3ème jour d'observation. Or on a vu qu'aucune des fiches du bébé 1 ne contenait plus de 3 chiffres. On peut donc préciser ds la commande 13+ 1 chiffre entre 0 et 9 + 1 chiffre entre 0 et 9.
Fichier de travail : p96.bal
Il y en a 104.
Egrep
- Extraire les fiches contenant une interrogation
- Extraire les fiches correspondant au bébé 12
- Extraire les fiches correspondant au bébé 1
- Extraire les fiches pour lesquelles le score médical est de 12
- Faire de même pour un score de 10.
- Quelles sont les fiches qui vont être extraites si l'on recherche les fiches commençant par 13 ? Expliquer
- Extraire les fiches correspondant aux bébés faisant au moins 1000 grammes.
Fichier de travail : p96.bal
Dans cette partie, on doit obtenir en sortie un fichier pour chaque requête demandée. - Extraire les fiches concernant les bébés 10 à 12
- Extraire les fiches concernant les bébés 10 et 12, c'est-à-dire sans 11 et 13
- Trouver le nombre de bébés de 23, ..., 30 semaines
- Extraire les fiches du jour 0 pour lesquels le bébé est né à 28 semaines
- Extraire les fiches des bébés nés entre 23 et 29 semaines
- Extraire les fiches pour lesquels le bébé à la naissance faisait au moins 1000 grammes
- Extraire les fiches pour lesquels le bébé à la naissance faisait moins de 1000 grammes
- Extraire les fiches rédigées par les infirmières 12 et 22
- 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 '
(2|12|22)' p96.bal " ?
Cette commande selectionne en plus des infirmières recherchées toutes celles dont le nombre commence par 2, à savoir 23, 24, 25... etc : voir içi. - Extraire les fiches concernant le bébé 10 et ne correspondant pas au jour 0
fichier de travail :p96.tab
Dans cette partie, on doit obtenir en sortie un fichier pour chaque requête demandée.Il faut donc restreindre la recherche comme suit :
Textutils niveau 0
- Déterminer les différentes catégories présentes dans le corpus (leur nombre et leur fréquence)
- Pour chaque catégorie déterminer tous les mots associés.
- "ne"/"n'"
- "pas"
- adjectifs féminin pluriel
- adjectifs féminin singulier
- adjectifs masculin pluriel
- adjectifs masculin singulier
- conjonctions de coordination
- conjonctions de subordination
- determinants masculin singulier
- noms fem. sg.
- noms masc. plur.
- noms masc. sg.
- pronoms démonstratif sg.
- pronoms indéfinis masc. sg
- pronoms de 3ème pers. féminin singulier
- pronoms de 3ème pers. masculin singulier
- pronoms réfléchi
- pronoms réfléchi
- prépositions
- "des"
- verbes à la 3ème pers. du sg.
- verbe "être" à la troisième pers. du sg.
- participes passés fém. sg.
Texte de travail : liste-mots.txt
Le fichier regroupe l'ensemble des mots du corpus (un par ligne).Chaque ligne est construite de la manière suivante :
bébé_NMS
un mot est suivi de sa catégorie : la forme bébé Nom Masculin Singulier
On fait la même chose avec les autres catégories en communtant le "ADV" qui est entre guillemets par le nom des autres catégories (cf. plus haut)
- Liste des :
Textutils niveau 1
Outils : commandes TextUtils etc.
Fichier de travail : p96.tag
Essayer de construire un index de tous les adjectifs présents dans le corpus.Précaution à prendre : convertir le fichier p96.tag en utf8 pour être sûr de récupérer les adjectifs dans lesquels il y a un accent. (word pour cygwin/ commande unix iconv sur ubunto)
étape 1 : on extrait avec egrep les lignes contenant les étiquettes "AMS", "AMP", "AFS", "AFP" correspondant aux différents types de flexions
des morphèmes adjectivaux et on crée un fichier sortie (opérateur de rédirection ">"):
Résultat : l'index avec le détail des flexions
étape 2 : on crée un nouveau fichier sortie dans lequel, comme dans l'étape 1, on filtre les lignes contenant l'étiquette, mais on fait en plus
un pipe sur cette commande pour ne garder que la partie des lignes contenant les adjectifs avec la commande cut :