前提
google colabにてマルコフ連鎖ツールを作ろうとしていた
実現したいこと
- Key Errを解決したい
発生している問題・エラーメッセージ
Traceback (most recent call last) 15 parsed_text = MeCab.Tagger('-Owakati').parse(text) 16 ---> 17 text_model = markovify.Text(parsed_text, state_size=3) 18 19 # Output
該当のソースコード
python
1!pip install mecab-python3 2!pip install markovify 3!pip install unidic-lite 4import markovify 5import MeCab 6from google.colab import drive 7drive.mount('/content/drive') 8 9text_file = open("/content/drive/MyDrive/ColabNotebooks/input.txt", "r") 10text = text_file.read() 11 12parsed_text = MeCab.Tagger('-Owakati').parse(text) 13 14text_model = markovify.Text(parsed_text, state_size=3) 15 16# Output 17for _ in range(10): 18 sentence = text_model.make_short_sentence(100, 20, tries=20).replace(' ', '') 19 print(sentence)
補足
2 frames /usr/local/lib/python3.7/dist-packages/markovify/text.py in __init__(self, input_text, state_size, chain, parsed_sentences, retain_original, well_formed, reject_reg) 63 map(self.word_join, self.parsed_sentences) 64 ) ---> 65 self.chain = chain or Chain(self.parsed_sentences, state_size) 66 else: 67 if not chain: /usr/local/lib/python3.7/dist-packages/markovify/chain.py in __init__(self, corpus, state_size, model) 51 ) 52 if not self.compiled: ---> 53 self.precompute_begin_state() 54 55 def compile(self, inplace=False): /usr/local/lib/python3.7/dist-packages/markovify/chain.py in precompute_begin_state(self) 100 """ 101 begin_state = tuple([BEGIN] * self.state_size) --> 102 choices, cumdist = compile_next(self.model[begin_state]) 103 self.begin_cumdist = cumdist 104 self.begin_choices = choices KeyError: ('___BEGIN__', '___BEGIN__', '___BEGIN__')