def init_model(self): if self.params is None: return Model() else: exp_counts = Model(SegUtil.count_segments(self.data, self.params)) # globals.most_common(exp_counts.Pseg, k=100) return self.M_step(exp_counts)
def viterbi_decode(self, lines=None): if lines is None: lines = process_lines(self.data.lines_dev, self.params.remove_whitespace, self.params.chop) decodes = [] for i, line in enumerate(lines): decode_i = MonotoneFSTUtil.viterbi(self.model, self.params, line, line_no=i) I = decode_i[0] decodes.append([SegUtil.segment_str(line, I)] + list(decode_i)) return decodes