class TextGrid(object): def __init__(self, path): # pp = pprint.PrettyPrinter(indent=4) self.generator = MarkovGenerator(n=1, max=3) self.path = path + '/textGrids/' #let's get the text from the textGrids, save the annotations in a dict, key=filename self.annotations = dict() for tgFile in os.listdir(self.path): if tgFile[-9:] == '.TextGrid': #print tgFile tg = tgt.read_textgrid(self.path + tgFile) file_annotations = [i for t in tg.tiers for i in t] for i in range(len(file_annotations)): a1 = file_annotations[i] filename = tgFile[:-9] self.annotations[a1.text] = (filename, a1) if i == len(file_annotations)-1: continue else: a2 = file_annotations[i+1] self.feedMarkov(a1,a2) # pp.pprint(self.annotations) def generateText(self, numLines): output = list() for i in range(numLines): output.append(self.generator.generate()) return output def feedMarkov(self, a1, a2): a1.text = a1.text.strip() a2.text = a2.text.strip() endFirst = a1.text[-1] startSecond = a2.text[0] first = (endFirst, a1) second = (startSecond, a2) self.generator.feed(first, second)
import random from markov import MarkovGenerator from markov_by_char import CharacterMarkovGenerator # word MarkovGenerator generator = MarkovGenerator(n=2, max=500) # character MarkovGenerator #generator = CharacterMarkovGenerator(n=3, max=100) for line in open('white-album.txt'): line = line.strip() generator.feed(line) generator.feed(line) for line in open('black-album.txt'): line = line.strip() generator.feed(line) for i in range(3): print generator.generate()
import sys reload(sys) sys.setdefaultencoding('utf8') from markov import MarkovGenerator file = open("input/" + sys.argv[1]) lines = file.readlines() generator = MarkovGenerator(n=2, max=3000) for line in lines: generator.feed(line) text = generator.generate() print text
lines = file.readlines() nountypes = ["NN", "NNP", "NNS", "NNPS"] punc = [".",",",";","?","-",] newlines = "" for line in lines: tokens = nltk.word_tokenize(line) tagged = nltk.pos_tag(tokens) newline = line for idx, tag in enumerate(tagged): if any(tag[1] in n for n in nountypes): newword = random.choice(prefixes).rstrip().lower() + tag[0] newline = newline.replace(tag[0], newword) newlines += newline newlines += "\n" generator = MarkovGenerator(n=1, max=1000) generator.feed(newlines) genpoem = generator.generate() print newlines f = open(text+"-pref.txt", "w") f.write(newlines) f.close() p = open(text+"-markov.txt", "w") p.write(genpoem) p.close()
print '' print opening_line print '' print preposition(nOne) print preposition(nTwo) print preposition(nThree) print '' print generate_opening_line() print '' print preposition(nOne) print random.choice(sailornouns + postnouns) print random.choice(sailornouns + postnouns) print random.choice(sailornouns + postnouns) print preposition(nThree) print '' print underground.generate(nOne.split()[0]) print underground.generate(nOne.split()[1]) q = generate_question() print q + '?' print ' ' print preposition(nOne) print preposition(nTwo) print preposition(nThree) print '' print generate_question() print random.choice(postnouns).strip() print '' print generate_question() print random.choice(postnouns).strip() print ''