from math import sqrt
from random import random
from markov_chain import MarkovChain

test_chain = MarkovChain()
# file_name = './bin/new_testament.bin'
# file_name = './bin/quran.bin'
# file_name = './bin/quran_testament.bin'
# file_name = './bin/atheists.bin'
# file_name = './bin/twitter/news.bin'
file_name = './bin/star_trek/PICARD.bin'
# file_name = './bin/star_trek/DATA.bin'
test_chain.load_training(file_name)

print(f'{"_"*16} file_name: "{file_name}" {"_"*16}')
print(f'{"_"*16} len(test_chain.tree): {len(test_chain.tree)} {"_"*16}\n')
for i in range(11):
    # print(test_chain.generate_tweet(start_with='amen', append_verse=True), '\n_\n')
    print(
        test_chain.generate_tweet(start_with=None,
                                  append_tag='#MarkovProcess'), '\n_\n')

# that’s
Beispiel #2
0
from random import randint
from re import split
from time import sleep
from markov_chain import MarkovChain
chain = MarkovChain()
# chain.load_training('bin/twitter/coding.bin')
chain.load_training('bin/programming.bin')

from twitter import OAuth, Twitter
from credentials import ACCESS_TOKEN, ACCESS_SECRET, CONSUMER_KEY, CONSUMER_SECRET

oauth = OAuth(ACCESS_TOKEN, ACCESS_SECRET, CONSUMER_KEY, CONSUMER_SECRET)
twit = Twitter(auth=oauth, retry=1)

replies = 0
# query = '(#MarkovChain)'
query = '(#markovchain OR #developer OR #algorithm OR #datastructures OR #python OR #java OR #golang OR #datascience OR #coding OR #opensource OR #sourcecode OR #machinelearning OR #programming)'
print(f'{"*"*16} _query_: {query} {"*"*16}\n')


def reply(tweet):
    global replies
    t_words = sorted(split(r'[^a-zA-Z]', tweet['full_text']),
                     key=lambda w: len(w),
                     reverse=True)
    begin = None
    for word in t_words:
        if len(word) > 0 and word.lower() in chain.tree:
            begin = word.lower()
            break
        elif len(word) == 0:
Beispiel #3
0
chain = MarkovChain()


def speak(text):
    speech = gTTS(text=text, lang='en', slow=False)
    speech.save('speech.mp3')
    os.system('mpg123 -q speech.mp3')


print('*' * 22, 'tweeting at random intervals', '*' * 22)
num = 28
for i in range(num):
    print('~i:', i)
    if i % 7 == 0:
        category = 'bible'
        chain.load_training('bin/new_testament.bin')
    elif i % 7 == 1:
        # category = 'christians'
        # chain.load_training('bin/twitter/jesusfreak.bin')
        category = 'apologists'
        chain.load_training('bin/twitter/apologists.bin')
    elif i % 7 == 2:
        category = 'atheists'
        # chain.load_training('bin/twitter/atheists.bin')
        chain.load_training('bin/atheists.bin')
    elif i % 7 == 3:
        category = 'quran'
        chain.load_training('bin/quran.bin')
        # category = 'allgods'
        # chain.load_training('bin/twitter/allgods.bin')
    elif i % 7 == 4: