python交流学习

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

2019-03-19  本文已影响0人  78c40b03ee4e

前言

不想说啥了...看代码

首先导入库

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的学习qun 945,8790,25
无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

上一篇下一篇

猜你喜欢

热点阅读