Модель языка nltk TypeError:ngarms() получил неожиданный аргумент ключевого слова 'pad_symbol'

Я выполняю следующий код:

from nltk.corpus import brown
from nltk.model import Ngram
lm = NgramModel(2, brown.words(categories='news'), estimator=None)

Но я получил ошибку:

введите описание изображения здесь

Я действительно не знаю, почему у меня есть эта проблема; это ошибка в коде nltk? У кого-нибудь есть представление о том, что я делаю неправильно?

Заранее спасибо.

1 ответ

Поскольку этот ответ не обновлялся более 3 лет, вот пример кода модели ngram в NLTK v3.5

from nltk.corpus import brown
from nltk.lm import KneserNeyInterpolated
from nltk.lm.preprocessing import padded_everygram_pipeline

# create a bigram model using Kneser-Ney smoothing
lm = KneserNeyInterpolated(2) # could also be MLE(2)
# use the Brown Corpus to train the language model
# padding adds <s> tags before a sentence, and </s> tags after a sentence
train, vocab = padded_everygram_pipeline(order=2, text=brown.sents())
# optionally, choose a category of the Brown Corpus to train a language model
# train, vocab = padded_everygram_pipeline(order=2, text=brown.sents(categories='news'))
lm.fit(train, vocab) # fit the trained model

Из того, что я видел, в nltk.model все еще есть некоторые ошибки, и он не находится в nltk-master по этой причине ошибки NgramModel. Поскольку ветвь модели все еще находится в стадии разработки, я скачал самую последнюю версию и все равно получил ту же ошибку, что и в вашем посте.

Если вам нужен этот модуль и вам удобны более ранние версии, тогда я нашел релиз, имеющий рабочую версию. НЛТК 2.0.4

Другие вопросы по тегам