Esempio n. 1
0
    def test_cond_prob_2gram(self):
        ngram = NGram(2, self.sents)

        probs = {
            ('pescado', 'come'): 0.5,
            ('salmón', 'come'): 0.5,
            ('salame', 'come'): 0.0,
        }
        for (token, prev), p in probs.items():
            self.assertEqual(ngram.cond_prob(token, [prev]), p)
Esempio n. 2
0
    def test_cond_prob_1gram(self):
        ngram = NGram(1, self.sents)

        probs = {
            'pescado': 1 / 12.0,
            'come': 2 / 12.0,
            'salame': 0.0,
        }
        for token, p in probs.items():
            self.assertEqual(ngram.cond_prob(token), p)
Esempio n. 3
0
    def test_cond_prob_2gram(self):
        ngram = NGram(2, self.sents)

        probs = {
            ('pescado', 'come'): 0.5,
            ('salmón', 'come'): 0.5,
            ('salame', 'come'): 0.0,
        }
        for (token, prev), p in probs.items():
            self.assertAlmostEqual(ngram.cond_prob(token, (prev,)), p)
Esempio n. 4
0
    def test_cond_prob_1gram(self):
        ngram = NGram(1, self.sents)

        probs = {
            'pescado': 1 / 12.0,
            'come': 2 / 12.0,
            'salame': 0.0,
        }
        for token, p in probs.items():
            self.assertAlmostEqual(ngram.cond_prob(token), p)
Esempio n. 5
0
    def test_cond_prob_3gram(self):
        ngram = NGram(3, self.sents)

        probs = {
            ('pescado', ('gato', 'come')): 1,
            ('salmón', ('gata', 'come')): 1,
            ('salame', ('gato', 'come')): 0.0,
            ('gato', ('<s>', 'el')): 1,
            ('gata', ('<s>', 'el')): 0.0,
        }

        for (token, prev), p in probs.items():
            self.assertEqual(ngram.cond_prob(token, list(prev)), p)
Esempio n. 6
0
    def test_cond_prob_3gram(self):
        ngram = NGram(3, self.sents)

        probs = {
            ('pescado', 'gato', 'come'): 1,
            ('salmón', 'gata', 'come'): 1,
            ('salame', 'gato', 'come'): 0.0,
            ('salmón', 'gato', 'come'): 0.0,
            ('el', '<s>', '<s>'): 0.5,
            ('</s>', 'pescado', '.'): 1,
        }
        for (token, prev1, prev2), p in probs.items():
            self.assertEqual(ngram.cond_prob(token, [prev1, prev2]), p)
Esempio n. 7
0
    def test_cond_prob_3gram(self):
        ngram = NGram(3, self.sents)

        probs = {
            ('pescado', 'gato', 'come'): 1,
            ('salmón', 'gata', 'come'): 1,
            ('salame', 'gato', 'come'): 0.0,
            ('salmón', 'gato', 'come'): 0.0,
            ('el', '<s>', '<s>'): 0.5,
            ('</s>', 'pescado', '.'): 1,
        }
        for (token, prev1, prev2), p in probs.items():
            self.assertEqual(ngram.cond_prob(token, [prev1, prev2]), p)
Esempio n. 8
0
    def test_cond_prob_4gram(self):
        ngram = NGram(4, self.sents2)

        probs = {
            ('pescado', ('el', 'gato', 'come')): 1,
            ('salmón', ('la', 'gata', 'come')): 0.0,
            ('salame', ('el', 'gato', 'come')): 0.0,
            ('gato', ('<s>', '<s>', 'el')): 1,
            ('viejo', ('gato', 'come', 'pescado')): 0.5,
            ('fresco', ('gato', 'come', 'pescado')): 0.5,
        }

        for (token, prev), p in probs.items():
            self.assertEqual(ngram.cond_prob(token, list(prev)), p)