summaryrefslogtreecommitdiff
path: root/corpus/conll2cdec.pl
diff options
context:
space:
mode:
authorChris Dyer <cdyer@allegro.clab.cs.cmu.edu>2014-10-24 15:31:16 -0400
committerChris Dyer <cdyer@allegro.clab.cs.cmu.edu>2014-10-24 15:31:16 -0400
commitea83bf53c1fa99231d68f53ff7e2b3d0645c8dd9 (patch)
tree8b3afbae3a5b1283eb347edff73f4c01fb9a923c /corpus/conll2cdec.pl
parent55700b774fe8130b8b9f6dce69d36cb2a0b671f7 (diff)
conll2cdec conversion
Diffstat (limited to 'corpus/conll2cdec.pl')
-rwxr-xr-xcorpus/conll2cdec.pl39
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;
+ }
+}
+