Besoin d'aide pour script PERL

Fermé
Mitoxine - 11 mai 2011 à 00:43
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 14 mai 2011 à 04:44
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

A voir également:

3 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mai 2011 à 23:28
Salut,

Peux tu donner un exemple concret?
Ce que ton fichier contient et ce que tu veux obtenir.
0
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
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
14 mai 2011 à 04:44
Salut,

Ok, pour le fichier d'entrée, mais je ne comprends pas ce que tu veux dire par séquences NOM PRE NOM

Peux-tu donner un exemple de ce que tu veux obtenir comme résultat? Merci.
0