def test_fill_from_sentence_none(self):
     ngram = NGramTrie(2)
     sentence = None
     res = ngram.fill_from_sentence(sentence)
     print(res)
     expected_res = {}
     self.assertEqual(ngram.gram_frequencies, expected_res)
 def test_predict_next_sentence_more_words_ideal(self):
     ngram = NGramTrie(2)
     ngram.gram_log_probabilities = {(1, 2): -0.18, (1, 3): -1.79, (2, 3): -1, (2, 4): -2, (3, 4): -0.1,
                                     (3, 5): -1.8}
     actual_res = ngram.predict_next_sentence((1,))
     expected_res = [1, 2, 3, 4]
     self.assertEqual(actual_res, expected_res)
 def test_calculate_log_probabilities_ideal(self):
     ngram = NGramTrie(2)
     ngram.gram_frequencies = {(1, 2): 10, (1, 3): 2, (2, 5): 5}
     first_prob = math.log(10 / 12)
     second_prob = math.log(2 / 12)
     ngram.calculate_log_probabilities()
     self.assertEqual(ngram.gram_log_probabilities[(1, 2)], first_prob)
     self.assertEqual(ngram.gram_log_probabilities[(1, 3)], second_prob)
 def test_predict_next_sentence_wrong_size(self):
     ngram = NGramTrie(2)
     actual_res = ngram.predict_next_sentence((1, 2))
     expected_res = []
     self.assertEqual(actual_res, expected_res)
 def test_predict_next_sentence_simple_ideal(self):
     ngram = NGramTrie(2)
     ngram.gram_log_probabilities = {(1, 2): -0.18, (1, 3): -1.79}
     actual_res = ngram.predict_next_sentence((1,))
     expected_res = [1, 2]
     self.assertEqual(actual_res, expected_res)
 def test_calculate_log_probabilities_empty(self):
     ngram = NGramTrie(2)
     ngram.gram_frequencies = {}
     ngram.calculate_log_probabilities()
     self.assertEqual(ngram.gram_log_probabilities, {})
 def test_calculate_log_probabilities_one_bi_gram(self):
     ngram = NGramTrie(2)
     ngram.gram_frequencies = {(1, 2): 10}
     ngram.calculate_log_probabilities()
     self.assertEqual(ngram.gram_log_probabilities[(1, 2)], 0.0)
 def test_fill_from_sentence_not_tuple(self):
     ngram = NGramTrie(2)
     sentence = [1, 2, 3, 4, 5]
     ngram.fill_from_sentence(sentence)
     expected_res = {}
     self.assertEqual(ngram.gram_frequencies, expected_res)
 def test_fill_from_sentence_empty(self):
     ngram = NGramTrie(2)
     sentence = ()
     ngram.fill_from_sentence(sentence)
     expected_res = {}
     self.assertEqual(ngram.gram_frequencies, expected_res)
Exemple #10
0
 def test_fill_from_sentence_duplcicates_ideal(self):
     ngram = NGramTrie(2)
     sentence = (1, 2, 1, 2, 1, 2)
     ngram.fill_from_sentence(sentence)
     expected_res = {(1, 2): 3, (2, 1): 2}
     self.assertEqual(ngram.gram_frequencies, expected_res)
Exemple #11
0
 def test_fill_from_sentence_ideal(self):
     ngram = NGramTrie(2)
     sentence = (1, 2, 3, 4, 5)
     ngram.fill_from_sentence(sentence)
     expected_res = {(1, 2): 1, (2, 3): 1, (3, 4): 1, (4, 5): 1}
     self.assertEqual(ngram.gram_frequencies, expected_res)
Exemple #12
0
 def test_ngram_trie_check_creation(self):
     ngram = NGramTrie(2)
     self.assertEqual(ngram.size, 2)
     self.assertEqual(ngram.gram_frequencies, {})
     self.assertEqual(ngram.gram_log_probabilities, {})
Exemple #13
0
 def test_predict_next_sentence_no_match(self):
     ngram = NGramTrie(2)
     ngram.gram_log_probabilities = {(4, 2): -0.18, (4, 3): -1.79}
     actual_res = ngram.predict_next_sentence((1,))
     expected_res = [1]
     self.assertEqual(actual_res, expected_res)
Exemple #14
0
 def test_predict_next_sentence_not_a_tuple(self):
     ngram = NGramTrie(2)
     actual_res = ngram.predict_next_sentence([1])
     expected_res = []
     self.assertEqual(actual_res, expected_res)