python 根据给定语料的二元条件概率分布,自动生成文字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 根据给定语料的二元条件概率分布,自动生成文字相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import nltk

def generate_model(cfd, word, num=15):
    '''
    给定条件概率分布和一个随机的词,生成一段文字
    '''
    for i in range(num):
        print word,
        word = cfd[word].max()

# 导入《创世纪》文本
text = nltk.corpus.genesis.words()

# 生成bigram
bigrams = nltk.bigrams(text)

# 计算给定第1个词,第2个词出现的条件概率
cfd = nltk.ConditionalFreqDist(bigrams)

# 给定一个词,根据条件概率生成一段文字
generate_model(cfd, 'living')

以上是关于python 根据给定语料的二元条件概率分布,自动生成文字的主要内容,如果未能解决你的问题,请参考以下文章

朴素贝叶斯知识点概括

根据给定的概率分布从集合中提取值

HMM及CRF

如何计算给定均值和标准差的正态分布中的概率?

朴素贝叶斯

朴素贝叶斯分类器及Python实现