diff options
-rwxr-xr-x[-rw-r--r--] | word-aligner/support/generate_per_sentence_grammars.pl (renamed from word-aligner/support/generate-per-sentence-grammars.pl) | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/word-aligner/support/generate-per-sentence-grammars.pl b/word-aligner/support/generate_per_sentence_grammars.pl index d621213e..c644ec6d 100644..100755 --- a/word-aligner/support/generate-per-sentence-grammars.pl +++ b/word-aligner/support/generate_per_sentence_grammars.pl @@ -38,11 +38,27 @@ while(<G>) { $memrc++; } else { $loadrc++; - $grammar{$f}="$e ||| $feats"; + my $r = $grammar{$f}; + if (!defined $r) { + $r = []; + $grammar{$f} = $r; + } + push @$r, "$e ||| $feats"; } } - +close G; print STDERR " mem rc: $memrc\n"; print STDERR " load rc: $loadrc\n"; - +while(<C>) { + my ($f,$e) = split / \|\|\| /; + my @fwords = split /\s+/, $f; + my $tot = 0; + for my $f (@fwords) { + my $r = $grammar{$f}; + die "No translations for: $f" unless $r; + my $num = scalar @$r; + $tot += $num; + } + print "RULES: $tot\n"; +} |