私は次のコードを持っています
chdir("c:/perl/normalized");
$docid=0;
my %hash = ();
@files = <*>;
foreach $file (@files)
{
$docid++;
open (input, $file);
while (<input>)
{
open (output,'>>c:/perl/tokens/total');
chomp;
(@words) = split(" ");
foreach $word (@words)
{
push @{ $hash{$word} }, $docid;
}
}
}
foreach $key (sort keys %hash) {
print output"$key : @{ $hash{$key} }\n";
}
close (input);
close (output);
これはファイルのサンプル出力です
of : 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 4 4 4 4 5 6 6 7 7 7 7 7 7 7 7 7
たとえば、最初のドキュメントには「of」という用語が10回(10回)存在していたので、それは真実ですが、繰り返される値を削除する方法があります。つまり、10個の代わりに1個だけ欲しいですあなたの助けに感謝します