def main3(): trainer = loadTrainer(False, 5) probSeq = Probability(-1,'', 1.0) probCon = Probability(-1,'', 1.0) io = IOHandler() b = Builder() inputStr = "3#843" text = "e the" tmp = '' i = 0 for letter in inputStr: b.charSequenceProbablility(probSeq, letter, trainer) b.conditionalProbablility(probCon, letter, trainer) tmp += text[i] print("DEBUG Probability of word", tmp , "is ", probCon.getChild(tmp).getProbability(), probSeq.getChild(tmp).getProbability()) #Check if input word is stil within range. If not we can not calculate #probabilites i += 1 if(i >= trainer.depth): print("DEBUG: Input word is bigger then depth of training corpus. Exiting now!") break print("DEBUG Probability of word", text , "is ", probCon.getChild(text).getProbability(), probSeq.getChild(text).getProbability()) return True #main3()
def main2(): """ Read in a sentence and calculates its probability""" depth = 5 trainer = loadTrainer(False, depth) b = Builder() sentence = "Did it ever rain in Steinfurt" probability = 1.0 for i in range(0, len(sentence) - depth): word = '' probCon = Probability(-1, '', 1.0) for j in range(0, depth): word += sentence[i + j] b.conditionalProbablility(probCon, IOHandler().mapCharacter(sentence[i + j]), trainer) probability = probability * probCon.getChild(word).getProbability() print("DEBUG: Probablility of \"", sentence, "\" is ", str(probability)) return True
def main(): trainer = loadTrainer(False, 5) probSeq = Probability(-1,'', 1.0) probCon = Probability(-1,'', 1.0) io = IOHandler() b = Builder() inputStr = io.getInput() i = 0 while(inputStr != False): b.charSequenceProbablility(probSeq, inputStr, trainer) b.conditionalProbablility(probCon, inputStr, trainer) #Check if input word is stil within range. If not we can not calculate #probabilites i += 1 if(i >= trainer.depth): print("DEBUG: Input word is bigger then depth of training corpus. Exiting now!") break inputStr = io.getInput() return True