diff options
author | Chris Dyer <cdyer@allegro.clab.cs.cmu.edu> | 2014-10-24 15:31:16 -0400 |
---|---|---|
committer | Chris Dyer <cdyer@allegro.clab.cs.cmu.edu> | 2014-10-24 15:31:16 -0400 |
commit | ea83bf53c1fa99231d68f53ff7e2b3d0645c8dd9 (patch) | |
tree | 8b3afbae3a5b1283eb347edff73f4c01fb9a923c /corpus/conll2cdec.pl | |
parent | 55700b774fe8130b8b9f6dce69d36cb2a0b671f7 (diff) |
conll2cdec conversion
Diffstat (limited to 'corpus/conll2cdec.pl')
-rwxr-xr-x | corpus/conll2cdec.pl | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/corpus/conll2cdec.pl b/corpus/conll2cdec.pl new file mode 100755 index 00000000..f65b86f8 --- /dev/null +++ b/corpus/conll2cdec.pl @@ -0,0 +1,39 @@ +#!/usr/bin/perl -w +use strict; + +my @xx; +my @yy; +my @os; +my $sec = undef; +my $i = 0; +while(<>) { + chomp; + if (/^\s*$/) { + print "<seg id=\"$i\""; + $i++; + for (my $j = 0; $j < $sec; $j++) { + my @oo = (); + for (my $k = 0; $k < scalar @xx; $k++) { + my $sym = $os[$k]->[$j]; + $sym =~ s/"/'/g; + push @oo, $sym; + } + my $zz = $j + 1; + print " feat$zz=\"@oo\""; + } + + print "> @xx ||| @yy </seg>\n"; + @xx = (); + @yy = (); + @os = (); + } else { + my ($x, @fs) = split /\s+/; + my $y = pop @fs; + if (!defined $sec) { $sec = scalar @fs; } + die unless $sec == scalar @fs; + push @xx, $x; + push @yy, $y; + push @os, \@fs; + } +} + |