def train(cls, train_file, model_file): sents_dic = (json.loads(jsonl) for jsonl in SoftSkills.load(train_file)) model = KNN() for sent in sents_dic: text = sent['text'] v = count([word for word, pos in tag(text)]) # {'sweet': 1} if v: model.train(v, type=sent['soft skill']) model.save(model_file) return model