在python中求三元函数的条件概率

2024-05-15 00:35:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经开始学习NLTK,我正在跟随here的一个教程,在那里,他们使用这样的双元组来找到条件概率。在

import nltk
from nltk.corpus import brown
cfreq_brown_2gram = nltk.ConditionalFreqDist(nltk.bigrams(brown.words()))

不过,我想用三元曲线求条件概率。当我试图将nltk.bigrams更改为nltk.trigrams时,我得到了以下错误。在

^{pr2}$

我怎样用三元曲线计算条件概率?在


Tags: fromimporthere教程corpus概率条件曲线
2条回答

您可以使用描述的n-gram模型here。在

用法示例:

from nltk.util import ngrams

input= '...'
N = 3
trigrams = ngrams(input.split(), N)
for grams in trigrams:
  print grams

我强烈建议您阅读上述文件,希望能有所帮助。在

nltk.ConditionalFreqDist期望其数据为(condition, item)元组的序列。nltk.trigrams返回长度为3的元组,这将导致您发布的错误。在

从你的帖子来看,你不太清楚你想用什么作为条件,但是做语言建模时的惯例是把最后一个词放在它的前辈身上。 下面的代码演示如何实现它。在

brown_trigrams = nltk.trigrams(brown.words())
condition_pairs = (((w0, w1), w2) for w0, w1, w2 in brown_trigrams)
cfd_brown = nltk.ConditionalFreqDist(condition_pairs)

相关问题 更多 >

    热门问题