前言
不想说啥了…看代码
首先导入库
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)
嗯,就这样