加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
python_markov_chain.py 794 Bytes
一键复制 编辑 原始数据 按行查看 历史
xianhu 提交于 2017-02-10 11:02 . add python_markov_chain.py
# _*_ coding: utf-8 _*_
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):
# make an array with the words shown by proper count
arr = []
for j in cfd[word]:
for k in range(cfd[word][j]):
arr.append(j)
print(word, end=' ')
# choose the word randomly from the conditional distribution
word = arr[int((len(arr)) * random.random())]
pairs = makePairs(walden)
cfd = nltk.ConditionalFreqDist(pairs)
generate(cfd)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化