Package evaluation :: Module rankeval
[hide private]
[frames] | no frames]

Source Code for Module evaluation.rankeval

 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   
14 -def _display(dic):
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 #get all ranks in a list 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