def load_model(self, lmid): type_, class_, name = lmid.split(":") filename = self.get_filename(lmid) if type_ == "lm": if class_ == "system": if pypredict.read_order(filename) == 1: model = pypredict.UnigramModel() else: model = pypredict.DynamicModel() elif class_ == "user": model = pypredict.CachedDynamicModel() elif class_ == "mem": model = pypredict.DynamicModel() else: _logger.error( "Unknown class component '{}' in lmid '{}'".format( class_, lmid)) return None else: _logger.error("Unknown type component '{}' in lmid '{}'".format( type_, lmid)) return None if filename: self.do_load_model(model, filename, class_) return model
def setUp(self): self._tmp_dir = tempfile.TemporaryDirectory(prefix="test_onboard_") self._dir = self._tmp_dir.name text = "word1 word2 word3 word4 word5 word6" tokens, _spans = pypredict.tokenize_text(text) # prepare contents of error-free models self._model_contents = [] self._models = [] for i in range(0, self.MAX_ORDER): order = i + 1 fn = os.path.join(self._dir, "order{}.lm".format(order)) if order == 1: model = pypredict.UnigramModel() else: model = pypredict.DynamicModel(order) model.learn_tokens(tokens) model.save(fn) with open(fn, encoding="UTF-8") as f: lines = f.readlines() self._models.append(model) self._model_contents.append([fn, lines])