Besoin d'aide pour script PERL
Mitoxine
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonsoir,
J'ai écrit un script PERL pour extraire des syntagmes nominaux, et je n'arrive pas à voir ce qui ne va pas. Lorsque je l'éxecute, il m'affiche le texte, mais pas les syntagmes.
Voici mon programme :
use strict;
my $ligne;
my $forme;
my $cat;
my $lemme;
my $i;
my @tab;
my @cate;
my $elt;
my $recherche;
open (G, 'C:\Users\Wimi\Desktop\Récursivité\Perl\7 avril\fichiertagge3.txt')||die " erreur ouverture du fichier F";
$i=0;
while ($ligne=<G>)
{ warn " \n";# affiche l'etat du traitement au fur et a mesure qu'il traite les lignes
chomp ($ligne);
($forme, $cat, $lemme) = split (/\t/, $ligne);
@tab[$i]=$forme;
@cate[$i]=$cat;
$i= $i+1;
# print "$tab[$i] $cate[$i] $lemme \n";
}
foreach $elt(@cate)
{
if ($cate[$i] eq 'NOM' && $cate[$i+1]eq'PRE' && $cate[$i+2]eq'NOM')
{
$i= $i+1;
print " $tab[$i] $tab[$i+1] $tab[$i+2]\n";
}
}
close (G); # FERMER LE FICHIER TRDRE.TAG
J'ai écrit un script PERL pour extraire des syntagmes nominaux, et je n'arrive pas à voir ce qui ne va pas. Lorsque je l'éxecute, il m'affiche le texte, mais pas les syntagmes.
Voici mon programme :
use strict;
my $ligne;
my $forme;
my $cat;
my $lemme;
my $i;
my @tab;
my @cate;
my $elt;
my $recherche;
open (G, 'C:\Users\Wimi\Desktop\Récursivité\Perl\7 avril\fichiertagge3.txt')||die " erreur ouverture du fichier F";
$i=0;
while ($ligne=<G>)
{ warn " \n";# affiche l'etat du traitement au fur et a mesure qu'il traite les lignes
chomp ($ligne);
($forme, $cat, $lemme) = split (/\t/, $ligne);
@tab[$i]=$forme;
@cate[$i]=$cat;
$i= $i+1;
# print "$tab[$i] $cate[$i] $lemme \n";
}
foreach $elt(@cate)
{
if ($cate[$i] eq 'NOM' && $cate[$i+1]eq'PRE' && $cate[$i+2]eq'NOM')
{
$i= $i+1;
print " $tab[$i] $tab[$i+1] $tab[$i+2]\n";
}
}
close (G); # FERMER LE FICHIER TRDRE.TAG
A voir également:
- Besoin d'aide pour script PERL
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation
3 réponses
Merci !
Mon fichier d'entrée est de ce type :
L DET le
angine NOM angine
est VER être
une DET un
infection NOM infection
aiguë ADJ aigu
des PRE des
amygdales NOM amygdale
et COJ et
du PRE du
pharynx NOM pharynx
. PONC-point .
En PRE en
France NOM France
, PONC-virgule ,
le DET le
traitement NOM traitement
antibiotique ADJ antibiotique
est VER être
pratiquement ADV pratiquement
systématique ADJ systématique
afin d' COJ afin de
éviter VER éviter
les DET le
complications NOM complication
des PRE des
angines NOM angine
à PRE à PrepO
streptocoque NOM streptocoque
béta-hémolytique ADJ béta-hémolytique
. PONC-point .
Les DET le
formes NOM forme
cliniques ADJ clinique
n' ADV ne
ont VER avoir
rien ADV rien
de PRE de
spécifique ADJ spécifique
. PONC-point .
Les DET le
plus ADV plus
fréquentes ADJ fréquent
sont VER être
les DET le
angines NOM angine
erythémateuses ADJ erythémateuses
ou COJ ou
érythémato-pultacées ADJ érythémato-pultacées
. PONC-point .
Il PRO il
existe VER exister
d'autresDET d'autres
formes NOM forme
qu' PRO que
il PRO il
faut VER faillir
savoir VER savoir
reconnaître VER reconnaître
comme PRE comme
la DET le
mononucléose NOM mononucléose
infectieuse ADJ infectieux
, PONC-virgule ,
la DET le
dyphtérie NOM dyphtérie
Il est donc censé détecter toutes les séquences NOM PRE NOM, mais ça ne m'affiche pas les bonnes infos :s
Mon fichier d'entrée est de ce type :
L DET le
angine NOM angine
est VER être
une DET un
infection NOM infection
aiguë ADJ aigu
des PRE des
amygdales NOM amygdale
et COJ et
du PRE du
pharynx NOM pharynx
. PONC-point .
En PRE en
France NOM France
, PONC-virgule ,
le DET le
traitement NOM traitement
antibiotique ADJ antibiotique
est VER être
pratiquement ADV pratiquement
systématique ADJ systématique
afin d' COJ afin de
éviter VER éviter
les DET le
complications NOM complication
des PRE des
angines NOM angine
à PRE à PrepO
streptocoque NOM streptocoque
béta-hémolytique ADJ béta-hémolytique
. PONC-point .
Les DET le
formes NOM forme
cliniques ADJ clinique
n' ADV ne
ont VER avoir
rien ADV rien
de PRE de
spécifique ADJ spécifique
. PONC-point .
Les DET le
plus ADV plus
fréquentes ADJ fréquent
sont VER être
les DET le
angines NOM angine
erythémateuses ADJ erythémateuses
ou COJ ou
érythémato-pultacées ADJ érythémato-pultacées
. PONC-point .
Il PRO il
existe VER exister
d'autresDET d'autres
formes NOM forme
qu' PRO que
il PRO il
faut VER faillir
savoir VER savoir
reconnaître VER reconnaître
comme PRE comme
la DET le
mononucléose NOM mononucléose
infectieuse ADJ infectieux
, PONC-virgule ,
la DET le
dyphtérie NOM dyphtérie
Il est donc censé détecter toutes les séquences NOM PRE NOM, mais ça ne m'affiche pas les bonnes infos :s