Esempio n. 1
0
 def test_build_markov_model_repetition(self):
     model = markovmodeller.build_markov_model_from_string(
         self.basic_text_repetition)
     self.assertIsInstance(model, MarkovModel)
     self.assertEqual(len(model), 5)
     self.assertEqual(len(model.find_node_by_name("robot").connections), 1)
     self.assertEqual(len(model.find_node_by_name("roBOT").connections), 1)
Esempio n. 2
0
    def test_build_markov_model_cyborg(self):
        model = markovmodeller.build_markov_model_from_string(
            self.basic_text_cyborg)

        walk_string = markovmodeller.get_walk(model)
        self.assertTrue("hello i am a robot ." == walk_string
                        or "hello i am a human ." == walk_string)
Esempio n. 3
0
 def test_build_markov_model_punctuation(self):
     model = markovmodeller.build_markov_model_from_string(
         self.text_punctuation)
     self.assertEqual(len(model), 13)
     start_node = model.get_start_node()
     self.assertEqual(len(start_node.connections), 3)
     self.assertEqual(len(model.find_node_by_name("i").connections), 1)
     self.assertEqual(len(model.find_node_by_name("am").connections), 1)
Esempio n. 4
0
 def test_build_markov_model(self):
     model = markovmodeller.build_markov_model_from_string(self.basic_text)
     self.assertIsInstance(model, MarkovModel)
     self.assertEqual(len(model), 6)
     start_node = model.get_start_node()
     self.assertEqual(len(start_node.connections), 1)
     self.assertEqual(len(model.find_node_by_name("i").connections), 1)
     self.assertEqual(len(model.find_node_by_name("am").connections), 1)
Esempio n. 5
0
    def test_build_markov_model_3_ways(self):
        model = markovmodeller.build_markov_model_from_string(
            self.basic_text_3_ways)

        walk_string = markovmodeller.get_walk(model)
        self.assertTrue("mr anderson ." == walk_string
                        or "madame bovary ." == walk_string
                        or "lord buckethead ." == walk_string)
Esempio n. 6
0
 def test_build_markov_model_multiple_2(self):
     model = markovmodeller.build_markov_model_from_string(
         self.basic_text_multiple_2)
     self.assertIsInstance(model, MarkovModel)
     self.assertEqual(len(model), 4)
     start_node = model.get_start_node()
     self.assertEqual(len(start_node.connections), 1)
     self.assertEqual(len(model.find_node_by_name("you").connections), 3)
     self.assertEqual(len(model.find_node_by_name("eat").connections), 1)
     self.assertIsNone(model.find_node_by_name("definitelyNotAWord"))
Esempio n. 7
0
    def test_build_markov_model_cyborg_max_walk(self):
        model = markovmodeller.build_markov_model_from_string(
            self.basic_text_cyborg)
        self.assertEqual(len(model), 7)
        start_node = model.get_start_node()
        self.assertEqual(len(start_node.connections), 1)

        self.assertEqual(len(start_node.connections), 1)
        self.assertEqual(start_node.connections[0].weight, 3)

        self.assertEqual(len(model.find_node_by_name("i").connections), 1)
        self.assertEqual(len(model.find_node_by_name("am").connections), 1)
        self.assertEqual(len(model.find_node_by_name("a").connections), 2)

        walk_string_max = markovmodeller.get_max_walk(model)
        self.assertTrue("hello i am a robot ." == walk_string_max)
Esempio n. 8
0
from nltk.corpus import gutenberg
from nltk.text import Text

from chatbot.markovgenerator import markovmodeller

if __name__ == "__main__":
    my_essay = True
    if my_essay:
        txt = ""
        with open('res/ans.txt') as text:
            for line in text:
                txt += line

        model = markovmodeller.build_markov_model_from_string(txt)

    else:
        list_sentences = Text(gutenberg.sents('austen-sense.txt'))
        model = markovmodeller.build_markov_model_from_list_of_sentences(
            list_sentences)

    while (True):
        walk_string = markovmodeller.get_walk(model)
        print(walk_string)
        x = input("--- type X to stop")
        if x == "X":
            break
Esempio n. 9
0
 def test_basic_random_walk_2(self):
     model = markovmodeller.build_markov_model_from_string(
         self.basic_text_full_stop)
     self.assertEqual(len(model), 6)
     walk_string = markovmodeller.get_max_walk(model)
     self.assertEqual("hello i am a robot .", walk_string)
Esempio n. 10
0
 def test_build_markov_model_repetition_normalise(self):
     model = markovmodeller.build_markov_model_from_string(
         self.basic_text_repetition_normalise)
     self.assertIsInstance(model, MarkovModel)
     self.assertEqual(len(model), 5)