#!/usr/local/bin/perl -w # conll2evalb: convert the NP bracketing format to a format usable by evalb # usage: conll2evalb < file # related url: http://lcg-www.uia.ac.be/conll99/npb/ # 990408-12 Erik Tjong Kim Sang, University of Antwerp, erikt@uia.ua.ac.be $true = 1; $false = 0; $word = 0; $POStag = 1; $bracketTag = 2; $newSentence = $true; while (<>) { $line = $_; chop($line); if ( $line =~ /^ *$/ ) { if (! $newSentence) { print "\n"; $newSentence = $true; } } else { @words = split(/ /,$line); @brackets = split(/([*()])/,$words[$bracketTag]); if ($newSentence) { $newSentence = $false; } $i = 0; while ( $brackets[$i] ne "*" ) { if ( $brackets[$i] eq "(" ) { print "(NP "; } $i++; } $words[$POStag] =~ s/\(/-LCB-/g; $words[$POStag] =~ s/\)/-RCB-/g; print "($words[$POStag] $words[$word]) "; while ( defined($brackets[$i]) ) { if ( $brackets[$i] eq ")" ) { print ") "; } $i++; } } } exit(0)