def addEmptyInitiator(self, successorObjects): print("Adding empty initiator phoneme...") # Create empty-phoneme object emptySymbol = "" emptyType = "initiator" emptyExample = "not applicable" baseProbability = 0 positionalProbability = 1 emptyGraphemes = [("", utils.determinePopularityProbability())] emptyInitiator = Phoneme.Phoneme(emptySymbol, emptyType, emptyExample, baseProbability, positionalProbability, emptyGraphemes) # Provide all phonemes as successors of the initiator with equal probability baseProbability = 1.0 # Probability that for each successor stored in dict, keyed on successor phonemeSymbol successorProbabilities = dict() for successorKey in successorObjects: successorProbabilities[successorKey] = successorObjects[successorKey].getNoiseAlteredBaseProb() # Place empty initiator as single phoneme in list, # Corresponding list with recently created dict of successor probabilities also placed in list self.addSequenceOfSuccessors([emptyInitiator], [successorProbabilities], successorObjects) # Add the empty initiator to dictionary self.phonemeObjects[""] = emptyInitiator
def grantPhonemesRandomBaseProbabilities(self): for phonemeKey in self.phonemeObjects: self.phonemeObjects[phonemeKey].baseProbability = utils.determinePopularityProbability()