def main(): utils = utilities.Utilities() hmm = hiddenMarkovFactory.HiddenMarkovFactory() hmmInputFile = sys.argv[1] input_t = open(hmmInputFile) t = input_t.readline() while t: hmm.readInput(t) t = input_t.readline() strBuilder = '' firstLine = hmm.reportLineNumberDifference().strip() secondLine = hmm.reportInitialProbabilities().strip() thirdLine = hmm.reportTransProbabilities().strip() fourthLine = hmm.reportEmissProbabilities().strip() if firstLine != '': print firstLine if secondLine != '': print secondLine if thirdLine != '': print thirdLine if fourthLine != '': print fourthLine
def test_movesToTrans(self): # arrange hmmInput = """state_num=6 sym_num=11 init_line_num=2 trans_line_num=13 emiss_line_num=11 \init BOS 1.0 \\transition""".split("\n") hmmFactory = hiddenMarkovFactory.HiddenMarkovFactory() # act hmmFactory.readInput(hmmInput[0]) hmmFactory.readInput(hmmInput[1]) hmmFactory.readInput(hmmInput[2]) hmmFactory.readInput(hmmInput[3]) hmmFactory.readInput(hmmInput[4]) hmmFactory.readInput(hmmInput[5]) hmmFactory.readInput(hmmInput[6]) hmmFactory.readInput(hmmInput[7]) hmmFactory.readInput(hmmInput[8]) hmmFactory.readInput(hmmInput[9]) # assert self.assertTrue(hmmFactory.currentState == hmmFactory.trans_state, hmmFactory.currentState)
def test_addInitToDictionary(self): # arrange hmmInput = """state_num=6 sym_num=11 init_line_num=2 trans_line_num=13 emiss_line_num=11 \init BOS 1.0 """.split("\n") hmmFactory = hiddenMarkovFactory.HiddenMarkovFactory() # act hmmFactory.readInput(hmmInput[0]) hmmFactory.readInput(hmmInput[1]) hmmFactory.readInput(hmmInput[2]) hmmFactory.readInput(hmmInput[3]) hmmFactory.readInput(hmmInput[4]) hmmFactory.readInput(hmmInput[5]) hmmFactory.readInput(hmmInput[6]) hmmFactory.readInput(hmmInput[7]) # assert self.assertTrue(hmmFactory.current_init_dict["BOS"] == 1.0)
def test_movesToEmissVals1(self): # arrange hmmInput = """state_num=6 sym_num=11 init_line_num=2 trans_line_num=13 emiss_line_num=11 \init BOS 0.9 \\transition N V 0.4 N D 0.5 \emission DT the 0.7 DT a 0.1 N a 1.0""".split("\n") hmmFactory = hiddenMarkovFactory.HiddenMarkovFactory() # act hmmFactory.readInput(hmmInput[0]) hmmFactory.readInput(hmmInput[1]) hmmFactory.readInput(hmmInput[2]) hmmFactory.readInput(hmmInput[3]) hmmFactory.readInput(hmmInput[4]) hmmFactory.readInput(hmmInput[5]) hmmFactory.readInput(hmmInput[6]) hmmFactory.readInput(hmmInput[7]) hmmFactory.readInput(hmmInput[8]) hmmFactory.readInput(hmmInput[9]) hmmFactory.readInput(hmmInput[10]) hmmFactory.readInput(hmmInput[11]) hmmFactory.readInput(hmmInput[12]) hmmFactory.readInput(hmmInput[13]) hmmFactory.readInput(hmmInput[14]) hmmFactory.readInput(hmmInput[15]) hmmFactory.readInput(hmmInput[16]) # assert self.assertTrue(hmmFactory.currentState == hmmFactory.emiss_state, hmmFactory.currentState) self.assertTrue(hmmFactory.current_emiss_dict["DT"]["the"] == 0.7) self.assertTrue(hmmFactory.current_emiss_dict["DT"]["a"] == 0.1) self.assertTrue(hmmFactory.getActualInitLineNum() == 1) self.assertTrue(hmmFactory.getActualTransLineNum() == 2) self.assertTrue(hmmFactory.getActualEmissLineNum() == 3, str(hmmFactory.getActualEmissLineNum())) self.assertTrue(hmmFactory.getActualStateNum() == 1) self.assertTrue(hmmFactory.getActualSymNum() == 2)
def test_addFirstSixLinesToDictionary(self): # arrange hmmInput = """state_num=6 sym_num=11 init_line_num=2 trans_line_num=13 emiss_line_num=11""".split("\n") hmmFactory = hiddenMarkovFactory.HiddenMarkovFactory() # act hmmFactory.readInput(hmmInput[0]) hmmFactory.readInput(hmmInput[1]) hmmFactory.readInput(hmmInput[2]) hmmFactory.readInput(hmmInput[3]) hmmFactory.readInput(hmmInput[4]) # assert self.assertTrue(hmmFactory.current_state_num == 6, str(hmmFactory.current_state_num)) self.assertTrue(hmmFactory.current_sym_num == 11) self.assertTrue(hmmFactory.current_init_line == 2) self.assertTrue(hmmFactory.current_trans_line_num == 13) self.assertTrue(hmmFactory.current_emiss_line_num == 11)