def unigram(train_sentences, test_sentences): # processing of the sentences to tagged samples, since there's no importance to sentences structure train = sentences_to_samples(train_sentences) test = sentences_to_samples(test_sentences) unigram_HMM = Unigram(train) unigram_HMM.train() # initialisation of lists of samples containing known and unknown words test_known_words, test_unknown_words = divide_test_to_known_and_unknown_samples( train_sentences, test_sentences) # evaluation of the accuracy for each case print("Accuracy rate for unknown words: ", unigram_HMM.get_accuracy_rate(np.array(test_unknown_words))) print("Accuracy rate for known words: ", unigram_HMM.get_accuracy_rate(np.array(test_known_words))) print("Total accuracy rate: ", unigram_HMM.get_accuracy_rate(np.array(test)))