2006-08-07 21:35:16 +04:00
|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
2007-03-15 01:22:36 +03:00
|
|
|
# $Id$
|
2006-08-07 21:35:16 +04:00
|
|
|
#extract-factors.pl: extract only the desired factors from a factored corpus
|
|
|
|
#usage: extract-factors corpusfile factor-index factor-index ... > outfile
|
|
|
|
#factor indices start at 0
|
|
|
|
#factor indices too large ought to be ignored
|
|
|
|
|
|
|
|
use strict;
|
|
|
|
|
|
|
|
my ($filename, @factors) = @ARGV;
|
|
|
|
my %indices = map {$_ => 1} @factors;
|
|
|
|
|
|
|
|
open(INFILE, "<$filename") or die "couldn't open '$filename' for read: $!\n";
|
|
|
|
while(my $line = <INFILE>)
|
|
|
|
{
|
|
|
|
chop $line;
|
|
|
|
print join(' ', map {my $i = 0; join('|', grep($indices{$i++}, split(/\|/, $_)))} split(/\s+/, $line)) . "\n";
|
|
|
|
}
|
|
|
|
close(INFILE);
|