Spaces:
Running
Running
| import sys | |
| import markov | |
| import random | |
| import pickle | |
| "make the markov model" | |
| file_name = sys.argv[1] | |
| # n-gram length for markov model | |
| n = 1 | |
| # build model | |
| model = {} | |
| lines = [] | |
| for line in open(file_name, 'r'): | |
| line = line.strip() | |
| words = line.split(' ') | |
| upper_words = [] | |
| for word in words: | |
| upper_word = word.upper() | |
| # filter out non alpha but leave apostrophes | |
| for char in upper_word: | |
| if not char.isalpha() and char is not "'": | |
| upper_word = upper_word.replace(char, "") | |
| upper_words.append(upper_word) | |
| lines.append(upper_words) | |
| model = markov.generate_model_from_token_lists(lines, n) | |
| # save pickle | |
| with open('abc_markov.pickle', 'wb') as handle: | |
| pickle.dump(model, handle) | |
| print(random.choice(list(model.keys()))) | |
| # print model | |
| print(markov.generate(model, n, max_iterations=3)) | |
| def nextword(word): | |
| return markov.generate(model, n, seed=word, max_iterations=1) |