Языковая модель 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? Кто-нибудь знает, что я делаю неправильно?

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


person Am1rr3zA    schedule 28.01.2016    source источник
comment
вы пытались обновить версию nltk?   -  person Tomer Levinboim    schedule 28.01.2016
comment
Ах, печально известный NgramModel в NLTK! Каков результат python -c "import nltk;print nltk.__version__"? В последней версии NLTK этот модуль должен быть объявлен устаревшим до дальнейшего уведомления.   -  person alvas    schedule 28.01.2016


Ответы (2)


Поскольку этот ответ не обновлялся более 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
person Adam_G    schedule 12.08.2020

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

Если вам нужен этот модуль и вам удобно переходить на более ранние версии, то я нашел релиз с рабочей версией. NLTK 2.0.4

person goCards    schedule 28.01.2016
comment
Он запускается, но работает неправильно, используйте с осторожностью =) - person alvas; 28.01.2016