Método clasificador clasificador por lotes NLTK 2.0

Cuando ejecuto este código, se produce un error que creo que se debe a que el método batch_classify no está presente en NLTK 3.0. Tengo curiosidad sobre cómo resolver este tipo de problema donde algo de una versión anterior desaparece en la versión más reciente.

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 

Se cambió el nombre del método a classify_many() (no pude encontrar la documentación de NLTK 2.0 para comprobarlo, pero estoy bastante seguro de que eso es lo que sucedió).

batch_classify(...) reemplazar todas las ocurrencias de batch_classify(...) con batch_classify(...) classify_many(...) en su código. Al pasar de una versión principal de una biblioteca a otra, debe esperar este tipo de cambios incompatibles con versiones anteriores; idealmente deberían estar documentados en el registro de cambios. Sin embargo, debo admitir que en el pasado NLTK introdujo cambios incompatibles con versiones anteriores, incluso entre versiones menores, lo que creo que es una mala práctica.