From 2d867d003a6bce635b894edd69a4510098b22574 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Aug 2012 13:46:46 -0500 Subject: [PATCH] Added dynamic chain length --- mc-d.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 mc-d.py diff --git a/mc-d.py b/mc-d.py new file mode 100644 index 0000000..263e07a --- /dev/null +++ b/mc-d.py @@ -0,0 +1,46 @@ +import os +import sys +import random +import string + + +trainingData = open('./Data.txt').readlines() + +table = {} #lol will get massive + +data = [] +words = [] + +ChainLength = 2 +Size = int(sys.argv[1]) +if(len(sys.argv) >= 3): ChainLength = int(sys.argv[2]) + + +for line in trainingData: + for word in line.split(): + word = word.translate(string.maketrans("",""), string.punctuation) + words.append(word) + +for idx in xrange(0,len(words)-ChainLength): + ws = words[idx:idx+ChainLength+1] + + key = tuple(ws[:ChainLength]) + val = ws[ChainLength] + if key in table: + table[key].append(val) + else: + table[key] = [val] + + +seed = random.randint(0, len(words)-ChainLength+1) +ws = words[seed:seed+ChainLength] +gen = [] + +for i in xrange(0,int(sys.argv[1])): + gen.append(ws[0]) + val = random.choice(table[tuple(ws)]) + ws.append(val) + ws.pop(0) + +print ' '.join(gen) +