前言

不想说啥了...看代码

首先导入库

import nltkimport random

主体代码

file = open('Text/Walden.txt', 'r')
walden = file.read()
walden = walden.split()def makePairs(arr):
pairs = [] for i in range(len(arr)): if i < len(arr) - 1:
temp = (arr[i], arr[i + 1])
pairs.append(temp) return pairsdef generate(cfd, word='the', num=500):
for i in range(num): # 用正确计数所示的单词组成一个数组
arr = [] for j in cfd[word]: for k in range(cfd[word][j]):
arr.append(j)
print(word, end=' ') # 从条件分布中随机选择单词
word = arr[int((len(arr)) * random.random())]
pairs = makePairs(walden)
cfd = nltk.ConditionalFreqDist(pairs)
generate(cfd)

嗯,就这样