#!/usr/bin/perl -w use strict; my %conf = (); my %lab = (); my $numT = 0; my $numC = 0; while (<>) { chomp; my ($gold, $hyp) = split /\t/; my @g = split /[\s]+/, $gold; my @h = split /[\s]+/, $hyp; if (scalar @g != scalar @h) { die; } my $err = 0; for (my $i=0; $i<@g; $i++) { my $gl = $g[$i]; $g[$i] =~ m/^.+_([^_]+)$/; $gl = $1; my $hl = $h[$i]; $h[$i] =~ m/^.+_([^_]+)$/; $hl = $1; $conf{$gl}{$hl}++; $numT++; if ($gl eq $hl) { $numC++; } else { $err = 1; } } if ($err) { print $_ . "\n"; } } print "Accuracy = $numC / $numT = " . (100*$numC/$numT) . "%\n";