Я пытаюсь настроить значение по умолчанию averaged_perceptron_tagger
от NLTK, чтобы лучше адаптировать к техническому корпусу, с которым я работаю. Я делаю это, добавляя тегер Unigram, чтобы справиться с несколькими крайними случаями, как предложено в пользовательских тегов с nltk . Проблема в том, что nltk.data.load () в averaged_perceptron_tagger.pickle
выводит файл Tuple, а не ожидаемый файл POSTagger.
До сих пор я пытался удалить и повторно загрузить averaged_perceptron_tagger.pickle
. Однако та же проблема сохраняется. Возможно, также полезно отметить, что в моем случае nltk.data.load () для english.pickle
из maxent_treebank_pos_tagger
выводит правильный файл POSTagger.
Фрагмент кода ошибки приведен ниже:
import nltk
tagger_path = 'C:/path/to/nltk_data/taggers/averaged_perceptron_tagger/averaged_perceptron_tagger.pickle'
tagger_path_2 = 'C:/path/to/nltk_data/taggers/maxent_treebank_pos_tagger/english.pickle'
default_tagger = nltk.data.load('file://'+tagger_path)
default_tagger_2 = nltk.data.load('file://'+tagger_path_2)
type(default_tagger)
type(default_tagger_2)
model = {'bogie': 'NN', 'Bogie': 'NN'}
uni_tagger = nltk.tag.UnigramTagger(model=model, backoff=default_tagger_2)
В настоящее время type(default_tagger)
равен Tuple , который нельзя использовать в качестве тега отката;тогда как type(default_tagger_2)
является ожидаемым nltk.tag.sequential.ClassifierBasedPOSTagger . Любая помощь очень ценится!