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
|
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %HoH;
while (<DATA>) {
my ($who, undef, $key, $val) = split /\s/, $_;
push @{$HoH{$who}}, [$key, $val];
}
# print Dumper \%HoH;
foreach my $k (sort keys %HoH){ # sort sur la clef de premier niveau
my $i = 0;
foreach (@{$HoH{$k}}){
my $l = (0.1*$HoH{$k}[$i][2])+ (0.9*$HoH{$k}[$i][2]); # nb: comme il n'y a qu'un hash, renvoie valeur d'origine
print "$k Q0 $_->[0] $i $l TF_IDF \n";
$i++;
}
}
__DATA__
1 Q0 DerOpthalmologe/80950033 0 5.960979448916666 TF_IDF
1 Q0 DerRadiologe/80380710 1 5.836199971080442 TF_IDF
1 Q0 MonatsschriftKinderheilkunde/01480013 2 5.836199971080442 TF_IDF
1 Q0 DerHautarzt/90500127 3 5.601683110384085 TF_IDF
1 Q0 DerAnaesthesist/80470024 4 5.4913531937974644 TF_IDF
2 Q0 ZfuerKardiologie/90880788 0 7.950456651153142 TF_IDF
2 Q0 DerChirurg/90701174 1 7.677017765795651 TF_IDF
2 Q0 DerUnfallchirurg/81010830 2 7.503564829783422 TF_IDF
2 Q0 DerChirurg/80690854 3 7.503564829783422 TF_IDF |