Esempio n. 1
0
    def test_float_result(self):
        """
            Checks that returned result is float
        """
        corpus = ('i', 'have', 'a', 'cat', '<END>', 'his', 'name', 'is',
                  'bruno', '<END>', 'i', 'have', 'a', 'dog', 'too', '<END>',
                  'his', 'name', 'is', 'rex', '<END>', 'her', 'name', 'is',
                  'rex', 'too', '<END>')

        storage = WordStorage()
        storage.update(corpus)

        encoded = encode_text(storage, corpus)
        trie = NGramTrie(2, encoded)
        context = (storage.get_id('i'), )
        word = storage.get_id('have')

        generator = LikelihoodBasedTextGenerator(storage, trie)

        actual = generator._calculate_maximum_likelihood(word, context)
        self.assertEqual(float, type(actual))
Esempio n. 2
0
    def test_calculate_likelihood_no_such_context(self):
        corpus = ('i', 'have', 'a', 'cat', '<END>',
                  'his', 'name', 'is', 'bruno', '<END>',
                  'i', 'have', 'a', 'dog', 'too', '<END>',
                  'his', 'name', 'is', 'rex', '<END>',
                  'her', 'name', 'is', 'rex', 'too', '<END>')

        storage = WordStorage()
        storage.update(corpus)

        encoded = encode_text(storage, corpus)

        trie = NGramTrie(3, encoded)
        word = storage.get_id('dog')
        context = (storage.get_id('<END>'),
                   storage.get_id('<END>'),)

        generator = LikelihoodBasedTextGenerator(storage, trie)

        expected = 0.0
        actual = generator._calculate_maximum_likelihood(word, context)
        self.assertEqual(expected, actual)