0
テキストを見て、以前の文字のペアに関する文字の頻度を返すカウンタを取得しようとしています。 例えば、出力の一部は次のようになります。後続の文字のトリプル用のカウンタを作成
'th' : Counter ({'e':119, 'a':145 etc... })
私はそれが小文字のすべての可能なペアを反復処理します。
def pairwise(iterable):
it = iter(iterable)
last = next(it)
for curr in it:
yield last, curr
last = curr
valid = set('abcdefghijklmnopqrstuvwxyz ')
def valid_pair((last, curr)):
return last in valid and curr in valid
def make_markov(text):
markov = defaultdict(Counter)
lowercased = (c.lower() for c in text)
for p, q in ifilter(valid_pair, pairwise(lowercased)):
markov[p][q] += 1
return markov
は、あなたがそのコードにインデントを修正することができます
今まで、私は唯一のアカウントに前の手紙を受け取り、出力を取得するには、次のコードを使用しています? – DaedalusFall
@DaedalusFall yepごめんなさい – Julia