1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
#Original Lesk Algorithm
use strict;
use warnings;
use utf8;
use Data::Dumper;
my @tab_sans_SW;
my $FichierResulat = '/home/lenovo/Bureau/MesTravaux/LeskAlgo/OriginalLeskResult';
open( my $FhResultat, '>:utf8', $FichierResulat );
open(my $fh1, "<:utf8", '/home/lenovo/Bureau/MesTravaux/LeskAlgo/DemoLesk/StopWordsList.txt') or die "Failed to open file: $!\n";
#Parser la liste des mots vides
my $n=3; #taille de la fenetre contextuelle cad on va prendre juste n mot avant et après le mot ambigu
#pour un mot ambigu se trouvant dans un contexte donné
open(my $fh2, "<:utf8", '/home/lenovo/Bureau/MesTravaux/LeskAlgo/text1.txt') or die "Failed to open file: $!\n";
my @tabStopWords = <$fh1>;
my @tab_contexte ;
my @words;
while(<$fh2>){
chomp;
next if m/^$/;
#next if /^$/;
my $context= $_;
@words = split(/ /, $_);
}
my %temp;
@temp{@tabStopWords} = 0..$#tabStopWords;
for my $val (@words) {
if( exists $temp{$val} ) {
print "$val est présent dans tab1 à la position $temp{$val}.\n";
} else {
print "$val n'est pas dans tab1.\n"; push @tab_sans_SW, $val;
}
}
foreach my $value(@tab_sans_SW) {print $FhResultat "$value\n";} |
Partager