Besoin d'aide pour script PERL

Mitoxine -  
lami20j Messages postés 21506 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

3 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Peux tu donner un exemple concret?
    Ce que ton fichier contient et ce que tu veux obtenir.
    0
  2. Mitoxine
     
    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
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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