1 '''
2 Created on 22 May 2013
3
4 @author: Eleftherios Avramidis
5 '''
6
7 import sys
8 from collections import OrderedDict
9 from dataprocessor.input.jcmlreader import JcmlReader
10 from ranking.set import allmetrics
11 from sentence.ranking import Ranking
12
13
15 dic = OrderedDict(sorted(dic.items(), key=lambda t: t[0]))
16 for key, value in dic.iteritems():
17 print "{}\t{}".format(key,value)
18
19
20
21 if __name__ == '__main__':
22
23 if len(sys.argv)<4:
24 sys.stderr.write("Commandline options: \npython rankeval.py <filename> <predicted_rank_name> <gold_rank_name>\n")
25
26
27 filename = sys.argv[1]
28 predicted_rank_name = sys.argv[2]
29 gold_rank_name = sys.argv[3]
30
31 gold_ranklist = []
32 predicted_ranklist = []
33
34
35 for parallelsentence in JcmlReader(filename).get_parallelsentences():
36
37 gold_ranks = Ranking(parallelsentence.get_target_attribute_values(gold_rank_name))
38 gold_ranklist.append(gold_ranks)
39
40 predicted_ranks = Ranking(parallelsentence.get_target_attribute_values(predicted_rank_name, 1))
41 predicted_ranklist.append(predicted_ranks)
42
43 _display(allmetrics (predicted_ranklist, gold_ranklist))
44