玩点好玩的Python:使用马尔可夫模型自动生成文章

sulindong0 2019-03-20

前言

你会因为写文章而苦恼吗?想不想利用Python的马尔可夫模型帮助你自动生成文章,接下来看代码吧

首先导入库

import nltk
import 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 pairs
def 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)

嗯,就这样,各位看懂了吗?

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者有兴趣学习python的伙伴可以私信回复小编“学习” 领取全套免费python学习资料、视频()装包

玩点好玩的Python:使用马尔可夫模型自动生成文章

相关推荐