summaryrefslogtreecommitdiff
path: root/word-aligner/support/classify.pl
diff options
context:
space:
mode:
Diffstat (limited to 'word-aligner/support/classify.pl')
-rwxr-xr-xword-aligner/support/classify.pl12
1 files changed, 10 insertions, 2 deletions
diff --git a/word-aligner/support/classify.pl b/word-aligner/support/classify.pl
index 893c7b22..e9e79063 100755
--- a/word-aligner/support/classify.pl
+++ b/word-aligner/support/classify.pl
@@ -1,7 +1,10 @@
#!/usr/bin/perl -w
use strict;
-die "Usage: $0 classes.txt corpus.txt" unless scalar @ARGV == 2;
+die "Usage: $0 [-unk] classes.txt corpus.txt\n Applies a vocabulary map to a corpus\n" unless scalar @ARGV == 2 || (scalar @ARGV == 3 && $ARGV[0] eq '-unk');
+
+my $unk = $ARGV[0] eq '-unk';
+shift @ARGV if $unk;
my ($class, $text) = @ARGV;
open C, "<$class" or die "Can't read $class: $!";
@@ -19,9 +22,14 @@ while(<C>) {
close C;
print STDERR "Loaded classes for $cc words\n";
+my @cats;
while(<T>) {
chomp;
- my @cats = map { $dict{$_} or die "Undefined class for $_"; } split /\s+/;
+ if ($unk) {
+ @cats = map { $dict{$_} or "UNK" } split /\s+/;
+ } else {
+ @cats = map { $dict{$_} or die "Undefined class for $_"; } split /\s+/;
+ }
print "@cats\n";
}