1 '''
2 Created on 7 Jul 2014
3
4 @author: Eleftherios Avramidis
5 '''
6
7 from ml.lib.orange import OrangeRuntimeRanker
8 from dataprocessor.ce.cejcml import CEJcmlReader
9 from collections import OrderedDict
10 import sys
11
12 if __name__ == '__main__':
13 classifiername = sys.argv[1]
14 ranker = OrangeRuntimeRanker(classifiername)
15
16 jcmlfilename = sys.argv[2]
17 outputfile = open(sys.argv[3], 'w')
18 counts = dict()
19 text = dict()
20 for parallelsentence in CEJcmlReader(jcmlfilename, all_target=True).get_parallelsentences(False):
21
22
23 ranking, description = ranker.rank_sentence(parallelsentence)
24
25
26 for rank, sentence in ranking:
27 if rank=="1":
28 selected_sentence = sentence
29 system_name = sentence.get_attribute("system")
30
31 selected_text = selected_sentence.get_string().replace("\r", "").replace("\n", "")
32 counts[system_name] = counts.setdefault(system_name, 0) + 1
33 outputfile.write("{}\n".format(selected_text))
34 break
35
36 outputfile.close()
37 logfile = open(sys.argv[3]+".log", 'w')
38 for system_name in counts.keys():
39 logfile.write("{}:{}\n".format(system_name, counts[system_name]))
40 logfile.close()
41