2012-11-20 45 views
0

我得到一个NGramModel错误...请告诉我哪里可能会出错。NgramModel错误。需要计算困惑

Traceback (most recent call last): 
    File "ai7.py", line 87, in <module> 
    tt=NgramModel(1, tText, estimator) 
NameError: name 'NgramModel' is not defined 

我的目标是计算文本的困惑。

f_in = open("science.txt", 'r'); 
ln = f_in.read()  

words = nltk.word_tokenize(ln) 
my_bigrams = nltk.bigrams(words) 
my_trigrams = nltk.trigrams(words) 

s="" 
tText = Text(words) 
tText1 = Text(my_bigrams) 
tText2 = Text(my_trigrams) 
estimator = lambda fdist, bins: LidstoneProbDist(fdist, 0.2) 


tt=NgramModel(1, tText, estimator) 
tt1=NgramModel(2, tText1, estimator) 
tt2=NgramModel(3, tText2, estimator) 


print tt.perplexity(tText) 
print tt1.perplexity(tText1) 
print tt2.perplexity(tText2) 
+0

,您可以包括精确跟踪,回来时,你得到这个错误? –

+0

yup .............. –

+0

其中是函数'NgramModel' – avasal

回答

0

你已经忘记导入NgramModel

你应该这样做:

from nltk.model.ngram import NgramModel