【发布时间】:2017-03-04 13:19:57
【问题描述】:
当我运行此代码时,它会抛出一个错误,我认为这是由于 NLTK 3.0 中不存在 batch_classify 方法。我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题。
def accuracy(classifier, gold):
results = classifier.batch_classify([fs for (fs,l) in gold])
correct = [l==r for ((fs,l), r) in zip(gold, results)]
if correct:
return float(sum(correct))/len(correct)
else:
return 0
def apr (classifier, gold):
results = classifier.batch_classify([fs for (fs,l) in gold])
#gold_class_dict = defaultdict(list)
#classifier_class_dict = {}
sys_correct_dict = Counter()
num_guessed = Counter()
gold_num = Counter()
num_right = 0
total = 0
【问题讨论】:
-
您为什么使用旧版本的
nltk?在终端/powershell 上尝试pip install -U nltk。 -
@alvas 我认为问题在于将代码从 NLTK 2.0 移植到 NLTK 3.0。