nltk.NaiveBayesClassifier.classify()参数报错,求正确输入格式
NLTK NaiveBayesClassifier classify()方法参数格式错误解决
你遇到的AttributeError是因为传给classify()方法的参数类型不对——你传了一个包含特征字典和空字符串的元组,但该方法要求直接传入特征字典(dict类型)。
错误原因
从报错栈能看到,nltk.classify.naivebayes.NaiveBayesClassifier.prob_classify()方法会尝试调用参数的copy()方法,而元组(tuple)没有这个方法,因此触发错误。
正确参数格式
直接传入元组里的特征字典即可,也就是你传入元组的第一个元素:
# 正确的输入参数 feature = {'mean_compound': 1.0, 'mean_positive': 0.0, 'positives': 0} result = classifier.classify(feature)
补充说明
训练分类器时,你用的features[:train_count]应该是**(特征字典, 标签)**的元组列表(这是NLTK训练分类器的标准输入格式),但预测阶段不需要带标签,只需要单独的特征字典作为classify()的参数。
内容的提问来源于stack exchange,提问作者khteh
相关产品推荐
相关产品推荐

