from janome.tokenizer import Tokenizer
import random
from janome.tokenizer import Tokenizer
# テキストデータを単語に分割する
def wakati(text):
text = text.replace('\r','') #スペースを削除
t = Tokenizer()
result =t.tokenize(text, wakati=True)
return result
def generate_text(num_sentence=200):
src = open("txtファイルのパス", "r").read()
wordlist = wakati(src)
markov = {}
w1 = ""
w2 = ""
for word in wordlist:
if w1 and w2:
if (w1, w2) not in markov:
markov[(w1, w2)] = []
markov[(w1, w2)].append(word)
w1, w2 = w2, word
#タイトルの自動生成
count_kuten = 0
num_sentence= num_sentence
sentence = ""
w1, w2 = random.choice(list(markov.keys()))
while count_kuten < num_sentence:
tmp = random.choice(markov[(w1, w2)])
sentence += tmp
if(tmp=='\n'):
count_kuten += 1
sentence += '\n'
w1, w2 = w2, tmp
print(sentence)
if __name__ == "__main__":
generate_text()