Package ml :: Package var :: Module ranker
[hide private]
[frames] | no frames]

Source Code for Module ml.var.ranker

 1  ''' 
 2  @author: Eleftherios Avramidis 
 3  ''' 
 4   
 5  from sentence.rankhandler import RankHandler  
 6  from featuregenerator.featuregenerator import FeatureGenerator 
 7  from featuregenerator.diff_generator import DiffGenerator 
 8  from sentence.dataset import DataSet 
 9  from dataprocessor.input.orangereader import OrangeData 
10    
11 -class Ranker(FeatureGenerator):
12 ''' 13 classdocs 14 ''' 15 16
17 - def __init__(self, classifier, desired_attributes, meta_attributes):
18 ''' 19 Constructor 20 ''' 21 self.classifier = classifier 22 self.desired_attributes = desired_attributes 23 self.meta_attributes = meta_attributes
24 25 26
27 - def add_features_parallelsentence(self, parallelsentence, apply_diff = True):
28 rankhandler = RankHandler() 29 allow_ties = False 30 parallelsentences = rankhandler.get_pairwise_from_multiclass_set([parallelsentence], allow_ties) 31 32 try: 33 print parallelsentence.get_attribute("id") 34 except: 35 pass 36 37 if apply_diff: 38 dg = DiffGenerator() 39 40 parallelsentences = [dg.add_features_parallelsentence(parallelsentence) for parallelsentence in parallelsentences] 41 42 dataset = DataSet(parallelsentences) 43 44 class_name = "rank" 45 test_data = OrangeData(dataset, class_name, self.desired_attributes, self.meta_attributes) 46 47 classified_data = test_data.classify_with(self.classifier) 48 parallelsentences = classified_data.get_dataset().get_parallelsentences() 49 parallelsentences = rankhandler.get_multiclass_from_pairwise_set(parallelsentences, allow_ties) 50 51 52 print "got %d multiclass after classification" % len(parallelsentences) 53 54 return parallelsentences[0]
55