Exercices sur le « Corpus Prématurés » avec emacs

On lira pour commencer la présentation du corpus disponible à cette adresse : http://www.cavi.univ-paris3.fr/ilpga/ilpga/tal/cours/parcours/corpus/p96etat.htm

Fichier de travail p96.tab : 

http://www.cavi.univ-paris3.fr/ilpga/ilpga/tal/cours/parcours/corpus/p96.tab

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 :

Toutes les expressions régulières seront introduites par la commande suivante :


1. Rechercher les fiches contenant une interrogation



2. Rechercher les fiches correspondant au bébé 12



3. Rechercher les fiches correspondant au bébé 1



4. Rechercher les fiches pour lesquelles le score médical est de 12

Le score médical est en fin de ligne.



5. Faire de même pour un score de 10. Pouvez-vous expliquer le résultat ?



Le nombre de résultats est peu élevé, car plus le score médical est élevé, plus l'état du bébé est jugé critique. Or, il s'agit de bébés nés prématurément, donc nécessitant un suivi médical.


Fichier de travail p96.bal : http://www.cavi.univ-paris3.fr/ilpga/ilpga/tal/cours/parcours/corpus/p96.bal

1. Rechercher les fiches concernant les bébés 10 à 12

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



3. Rechercher le nombre de bébés de 23, ..., 30 semaines



4. Rechercher les fiches du jour 0 pour lesquels le bébé est né à 28 semaines



5. Rechercher les fiches des bébés nés entre 23 et 29 semaines



6. Rechercher les fiches pour lesquels le bébé à la naissance faisait au moins 1000 grammes


7. Rechercher les fiches pour lesquels le bébé à la naissance faisait moins de 1000 grammes


Fichier de travail p96.tab : http://www.cavi.univ-paris3.fr/ilpga/ilpga/tal/cours/parcours/corpus/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.

On suppose que le fichier vide qui servira de résultat est déjà ouvert, et que l'on se trouve au début du fichier p96.tab

Les macros suivantes ont toutes une partie commune :
C-X ( : ouvrir la macro
(zone où est insérée la partie spécifique)
C-A : revenir en début de ligne
C-espace : marquer l'endroit
C-E : aller en fin de ligne
Alt-W : copier ce qui a été sélectionné
C-X o : changer de buffer
C-Y : coller
C-X o : changer de buffer
C-X ) : fermer la macro

On effectue ensuite la commande Alt-0 C-X e pour répéter la macro sur l'ensemble du fichier.

Les macros 2. et suivantes ont aussi comme partie commune la commande Alt-X search-forward-regexp au début de leur partie spécifique.

Cliquez sur l'expression régulière pour accéder au fichier résultat :)

1. Extraire les fiches contenant une interrogation

C-S ?

2. Extraire les fiches correspondant au bébé 12

^12[0-9][0-9]*

3. Extraire les fiches correspondant au bébé 1

^1[0-9][0-9]\b

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

12[^0-9]*$

5. Faire de même pour un score de 10. Pouvez-vous expliquer le résultat ?

10[^0-9]*$

6. Quelles fiches vont être extraites si l'on demande les fiches commençant par 13 ? Expliquer ?

^13

On obtiendra les fiches du bébé 1 dont le deuxième chiffre est un 3, et celles du bébé 13

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

[0-9]+[:blank:][0-9][0-9][0-9][0-9]

Fichier de travail p96.bal : http://www.cavi.univ-paris3.fr/ilpga/ilpga/tal/cours/parcours/corpus/p96.bal

1. Extraire les fiches concernant les bébés 10 à 12

<FICHE>1[0-2][0-9][0-9]

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

<FICHE>1[02][0-9][0-9]

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


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

<JOURS>0.*<TERME>28

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

<TERME>2[3-9]

6. Extraire les fiches pour lesquelles le bébé à la naissance faisait au moins 1000 grammes

<JOURS>0.*<POIDS>1[0-9][0-9][0-9]

7. Extraire les fiches pour lesquelles le bébé à la naissance faisait moins de 1000 grammes

<JOURS>0.*<POIDS>[0-9][0-9][0-9][^0-9]

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

<INFIRMIERE>[12]2

9. Extraire les fiches concernant le bébé 10 et ne correspondant pas au jour 0

<BEBE>10.*<JOURS>[^0]