A partir des différentes versions du corpus prématurés, construire un programme pour réaliser une extraction de 5 formes graphiques (5 mots avec les différentes marques morphologiques).
L'examen de toutes les occurrences de certains mots doit permettre de dégager leur emploi dans le corpus. On commencera par examiner la forme contact.
Pour chaque forme étudiée, on notera les points suivants :
#!/usr/bin/perl use locale; print "Donnez moi plusieurs formes graphiques (Les separer par un espace) :\n"; my $motifs=<STDIN>; chomp ($motifs); @mots=split(/ /,$motifs); open(FICHIERSORTIE,">resultats.html"); print FICHIERSORTIE "<html>\n<head><style type=\"text/css\">body { font-family: \"arial\" }</style></head>\n<body bgcolor=\"white\">\n"; foreach $mot (@mots) { print FICHIERSORTIE "<p>\n<table border=\"1\" align=\"center\" bgcolor=\"grey73\">\n<tr>\n"; print FICHIERSORTIE "<tr align=\"center\">\n<td><h2>Forme graphique : <font color=\"green\">".$mot."</font></h2></td>\n</tr>\n"; open(FICHIER1,"p96.fic"); %bebe=(); while ($ligne=<FICHIER1>) { if ($ligne=~/$mot/i) { $ligne=~/^<([0-9][0-9][0-9][0-9]*)>/; $tmp=$1; if ($tmp=~/^(1[0-9])[0-9][0-9]/) { $tmp=$1; } else { $tmp=substr($tmp,0,1); } if (length($tmp)==1) { $tmp="0".$tmp; } $bebe{$tmp}=+1; } } close(FICHIER1); $listebebes=""; $i=0; foreach $nbbebes (sort(keys %bebe)) { $listebebes=$listebebes." ".$nbbebes; $i++; } print FICHIERSORTIE "<tr>\n<td>Nombre de bébés concernés : <font color=\"DarkOrange2\"><b>".$i."</b></font><br />"; print FICHIERSORTIE "Numéros des bébés concernés : <font color=\"DarkOrange2\"><b>".$listebebes."</b></font></td>\n</tr>\n"; open(FICHIER2,"p96.bal"); %infirmiere=(); while ($ligne=<FICHIER2>) { if ($ligne=~/$mot/i) { $ligne=~/<INFIRMIERE>([0-9]+)/; $tmp=$1; d'instructions if (length($tmp)==1) { $tmp="0".$tmp; } $infirmiere{$tmp}=+1; } } close(FICHIER2); $listeinfirmieres=""; $i=0; foreach $nbinfirmieres (sort(keys %infirmiere)) { $listeinfirmieres=$listeinfirmieres." ".$nbinfirmieres; $i++; } print FICHIERSORTIE "<tr>\n<td>Nombre d'infirmières employant ce mot : <font color=\"DarkOrange2\"><b>".$i."</b></font><br />"; print FICHIERSORTIE "Numéros des infirmières employant ce mot : <font color=\"DarkOrange2\"><b>".$listeinfirmieres."</b></font></td>\n</tr>\n"; open(FICHIER3,"p96.tag"); $verbe=0; $sansverbe=0; $singulier=0; $pluriel=0; while ($ligne=<FICHIER3>) { if ($ligne=~/$mot/i) { if ($ligne=~/\/V/g) { $verbe++; } else { $sansverbe++; } if ($ligne=~/$mot[a-z]*\/[A-Z]+S\b/i) { $singulier++; } elsif ($ligne=~/$mot[a-z]*\/[A-Z]+P\b/i) { $pluriel++; } } } close(FICHIER3); print FICHIERSORTIE "<tr>\n<td>Le mot est employé <font color=\"DarkOrange2\"><b>".$verbe." fois sans verbe</b></font> et <font color=\"DarkOrange2\"><b>".$sansverbe." fois avec un verbe</b></font>.</td>\n</tr>\n"; print FICHIERSORTIE "<tr>\n<td>Le mot est employé <font color=\"DarkOrange2\"><b>".$singulier." fois en emploi singulier</b></font> et <font color=\"DarkOrange2\"><b>".$pluriel." fois en emploi pluriel</b></font>.</td>\n</tr>\n"; open(FICHIER4,"p96.tab"); $negatif=0; $positif=0; while($ligne=<FICHIER4>) { if ($ligne=~/($mot)/i) { $gauche=$`; $droite=$'; if(($gauche=~/(pas|peu|refuse|impossib|aucun|difficile|sans|sursaute|pleure|agité|non)[^,.;:?!-]+$/i) || ($droite=~/^[^,.;:?!-]+(pas|peu)/i)) { $negatif++; } else { $positif++; } } } close(FICHIER4); print FICHIERSORTIE "<tr>\n<td>Le mot est employé <font color=\"DarkOrange2\"><b>".$positif." fois en contexte positif</b></font> et <font color=\"DarkOrange2\"><b>".$negatif." fois en contexte negatif</b></font>.</td>\n</tr>\n"; print FICHIERSORTIE "</table>\n</p>\n"; print FICHIERSORTIE "</body>\n</html>"; close(FICHIERSORTIE);