summaryrefslogtreecommitdiff
path: root/word-aligner/classify.pl
diff options
context:
space:
mode:
authorChris Dyer <redpony@gmail.com>2010-01-29 15:56:59 +0000
committerChris Dyer <redpony@gmail.com>2010-01-29 15:56:59 +0000
commitda222df300e4f87ad185a7decbf119ad56aa34e0 (patch)
tree1137deefefd28b1a89f6b2b339883801cc12cb29 /word-aligner/classify.pl
parentee4383b3bc67e2d8ce113fce716050dc2e1b8572 (diff)
word aligner checkin
Diffstat (limited to 'word-aligner/classify.pl')
-rwxr-xr-xword-aligner/classify.pl27
1 files changed, 27 insertions, 0 deletions
diff --git a/word-aligner/classify.pl b/word-aligner/classify.pl
new file mode 100755
index 00000000..893c7b22
--- /dev/null
+++ b/word-aligner/classify.pl
@@ -0,0 +1,27 @@
+#!/usr/bin/perl -w
+use strict;
+
+die "Usage: $0 classes.txt corpus.txt" unless scalar @ARGV == 2;
+
+my ($class, $text) = @ARGV;
+open C, "<$class" or die "Can't read $class: $!";
+open T, "<$text" or die "Can't read $text: $!";
+
+my %dict = ();
+my $cc = 0;
+while(<C>) {
+ chomp;
+ my ($word, $cat) = split /\s+/;
+ die "'$word' '$cat'" unless (defined $word && defined $cat);
+ $dict{$word} = $cat;
+ $cc++;
+}
+close C;
+print STDERR "Loaded classes for $cc words\n";
+
+while(<T>) {
+ chomp;
+ my @cats = map { $dict{$_} or die "Undefined class for $_"; } split /\s+/;
+ print "@cats\n";
+}
+