simtree-pt.pl

#!/usr/bin/perl
use locale; #caracteres accentues
#On lance: perl simtree-pt.pl
#Fichiers utilisés: potentiel-pt-liste.txt et potentiel-fr-liste.txt obtenus après mozillatable2txt.pl, il s'agit d'une liste de mots-composés à nettoyer.
print "Bienvenu(e) à l'étiqueteur syntaxique simtree \n qui permet de simuler treetagger, \n dont les entrées sont éditables, \n dont le choix du vocabulaire est limité\n, et qui n'utilise pas la probabilité -- vraiment rustique!\n";
print "Ce fichier prend en entrée des segments répétés, des phrases courtes ou des phrases longues mais sans balises.\n";
print "En tout cas choississez un texte qui ne contient que les phrases que vous allez analyser linguistiquement.\n";
print "Nom du fichier de travail, de preference un .txt au format UNIX: \n";
my $file01=<STDIN>;
chomp($file01);
my $file02=$file01."-token.txt";
#Première étape la tokenisation et le remplacement des retours charriot par le point-virgule
open(FILEIN01, $file01);
open(FILEOUT01, ">$file02");
my $DUMPFULL01="";
while(my $recup01=<FILEIN01>)
{
#1.Transformation
$recup01=~s/^\n//g;#supprime tous les sauts de ligne
$recup01=~s/ \n/\n/g;#supprime l'espace qui précède le retour à la de ligne
$recup01=~s/\n/\n;\n/g;#remplace toutes les fins de ligne par un point-virgule
$recup01=~s/\s/\n/g;#remplace chaque espace par un saut de ligne
$recup01=~s/^\n/\n/g;#supprime tous les sauts de ligne répétés
#2. Memorisation dans DUMPFULL
$DUMPFULL01.=$recup01;
}
#3.Sortie
print FILEOUT01 $DUMPFULL01;
print "Attendez s'il vous plaît !";
#Deuxième étape: la proposition du vocabulaire que vous allez étiqueter correspondant au texte qui ne contient que les phrases qui vous intéressent.
$file04=$file02."-lexique-simtree.txt";
open(FILEIN02, $file02);
open(FILEOUT02, ">$file04");
system "#!/bin/bash
sort -u $file02 > $file04";
close(FILEIN02);
close(FILEOUT02);
#Troisième étape: l'étiquetage du fichier
my $file05=$file01."-3.txt";
open(FILEIN03, $file02);
open(FILEOUT03, ">$file05");
my $DUMPFULL03="";
while(my $recup03=<FILEIN03>)
{
#1.Vocable catégorie lemme /^**Vocable**\n/**Vocable**\tN\t**Lemme**\n/
#La catégorie à défaut est celle du morceau de mot dans laquelle simtree-pt.pl reconnaît un mot d'où un ordre alphabétique s'impose
#Xpath cherche les sous mots, et donc c'est une lettre de l'alphabet par catégorie
#Si vous voulez ignorer la casse (accepter les majuscules) utilisez gi plutôt que g.
#Catégories proposées: T=PUNCT D N A P V R=ADV J=CONJ G=SIGLE M=PRON...inventez
#Langue = Portugais
#
$recup03=~s/^;\n/;\tT\t;\n/g;
#
$recup03=~s/^a\n/a\tD\to\n/g;
$recup03=~s/^acção\n/acção\tN\tação\n/g;
$recup03=~s/^além\n/além\tR\talém\n/g;
$recup03=~s/^ao\n/a\tP\ta\no\tD\to\n/g;
$recup03=~s/^as\n/as\tD\ta\n/g;
$recup03=~s/^através\n/através\tP\tatravés\n/g;
$recup03=~s/^ação\n/ação\tN\tação\n/g;
#
$recup03=~s/^bombas\n/bombas\tN\tbomba\n/g;
#
$recup03=~s/^canais\n/canais\tN\tcanal\n/g;
$recup03=~s/^cardíaco\n/cardíaco\tA\tcardíaco\n/g;
$recup03=~s/^cargas\n/cargas\tN\tcarga\n/g;
$recup03=~s/^celular\n/celular\tA\tcelular\n/g;
$recup03=~s/^citoplasmática\n/citoplasmática\tA\tc