예제 #1
0
 def __init__(
         self,
         lexicon,
         length_rv,
         ):
     self.lexicon_ = sorted( lexicon.items() )
     self.length_random_variable_ = length_rv
     self.word_index_picker_ = DiscretePicker( [ w for (k,w) in self.lexicon_ ] )
예제 #2
0
class PortmanteauGenerator(object):
    def __init__(
            self,
            lexicon,
            length_rv,
            ):
        self.lexicon_ = sorted( lexicon.items() )
        self.length_random_variable_ = length_rv
        self.word_index_picker_ = DiscretePicker( [ w for (k,w) in self.lexicon_ ] )

    def generateName( self ):
        length = self.length_random_variable_.pick()
        portmanteau = ""
        weight = 0.0
        
        for i in range( length ):
            k = self.word_index_picker_.pick()
            
            ith_word = self.lexicon_[ k ][0]
            ith_weight = self.lexicon_[ k ][1]
            
            portmanteau += "".join( ith_word )
            weight += 1/ith_weight
            
        return (1/weight), portmanteau
            
예제 #3
0
class PortmanteauGenerator(object):
    def __init__(
            self,
            lexicon,
            length_rv,
            ):
        self.lexicon_ = sorted( lexicon.items() )
        self.length_random_variable_ = length_rv
        self.word_index_picker_ = DiscretePicker( [ w for (k,w) in self.lexicon_ ] )

    def generateName( self ):
        length = self.length_random_variable_.pick()
        portmanteau = ""
        weight = 0.0
        
        for i in range( length ):
            k = self.word_index_picker_.pick()
            
            ith_word = self.lexicon_[ k ][0]
            ith_weight = self.lexicon_[ k ][1]
            
            portmanteau += "".join( ith_word )
            weight += 1/ith_weight
            
        return (1/weight), portmanteau