Когда я запускаю этот код, он выдает ошибку, которая, по моему мнению, обусловлена тем, что метод batch_classify не присутствует в NLTK 3.0. Мне интересно, как решить этот тип проблемы, когда что-то из более старой версии исчезает в более новой версии.Метод классификатора классов классификатора NLTK 2.0
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'? Попробуйте 'pip install -U nltk' на терминале/powershell. – alvas
@alvas Я думаю, речь идет о переносе кода с NLTK 2.0 на NLTK 3.0. – lenz
Надеемся, это поможет: https://github.com/nltk/nltk/wiki/Porting-your-code-to-NLTK-3.0 – alvas