def __init__(self, string_input_words, max_word_length_in_data, initial_hmm=None, alphabet_or_words="words"): if not isinstance(string_input_words, list): raise ValueError("should be list") self.feature_table = get_feature_table() self.max_word_length_in_data = max_word_length_in_data if not initial_hmm: feature_table = get_feature_table() if alphabet_or_words == "alphabet": alphabet = feature_table.get_alphabet() self.hmm = HMM.create_hmm_alphabet(alphabet) elif alphabet_or_words == "words": self.hmm = HMM.create_hmm_from_list(string_input_words) else: self.hmm = initial_hmm self.words = [] self._update_words()