27 lines
803 B
Python
27 lines
803 B
Python
|
import nltk
|
||
|
import random
|
||
|
from stat_parser import Parser
|
||
|
|
||
|
|
||
|
class PoemGenerator():
|
||
|
def __init__(self, corpus):
|
||
|
self.sents = corpus.sents('austen-emma.txt')
|
||
|
self.bigrams = list(nltk.bigrams(corpus.words('austen-emma.txt')))
|
||
|
self.cfd = nltk.ConditionalFreqDist(self.bigrams)
|
||
|
self.parser = Parser()
|
||
|
self.history = []
|
||
|
|
||
|
def generate_poem(self):
|
||
|
sent = random.choice(self.sents)
|
||
|
parsed = self.parser.parse(' '.join(sent))
|
||
|
word = random.choice(self.bigrams)[0]
|
||
|
for i in range(15):
|
||
|
print word,
|
||
|
for gram in self.cfd[word].items():
|
||
|
import ipdb; ipdb.set_trace() # BREAKPOINT
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
generator = PoemGenerator(nltk.corpus.gutenberg)
|
||
|
print generator.generate_poem()
|