class TestBaselineEvaluator(unittest.TestCase): def setUp(self): key_files = ['/tmp/agent.key', '/tmp/artificial.key'] self.create_key_files(key_files) self.evaluator = BaselineEvaluator(key_files) @staticmethod def create_key_files(key_files): seed(42) target_words = ['agent', 'artificial'] key_file_line_format = 'BNC {target_word}.{instance_id} {sense}\n' for i, fn in enumerate(key_files): target_word = target_words[i] senses = ["%s.sense1" % target_word, "%s.sense2" % target_word] num_sense = len(senses) with open(fn, 'w') as f: for j in xrange(10): line = key_file_line_format.format(target_word=target_word, instance_id=j, sense=senses[randint(0, num_sense-1)]) f.write(line) def test_mfs_baseline(self): score = self.evaluator.mfs_baseline() self.assertEquals(score, 0.55) def test_random_shuffled_baseline(self): score = self.evaluator.random_shuffled_baseline() self.assertEquals(score, 0.5) def test_random_baseline(self): score = self.evaluator.random_baseline() self.assertEquals(score, 0.45)
import sys from baseline import BaselineEvaluator from utils import find_files dataset_path = sys.argv[1] key_files = list(find_files(dataset_path, "*.test.key")) print len(key_files) evaluator = BaselineEvaluator(key_files) print "MFS\t{:.3}".format(evaluator.mfs_baseline()) print "RandomShuffle\t{:.3}".format(evaluator.random_shuffled_baseline()) print "Random\t{:.3}".format(evaluator.random_baseline())