Код в nltk book предполагает, что корпус имеет название brown.pos, что не соответствует действительности, и делает помощь (TaggedCorpusReader), и, глядя на его функцию init, объясняет мне, что мне нужно дать два аргумента - путь и имя файлаили регулярное выражение, которое может быть использовано для вычисления имени файла.
Я попробовал следующее в моей системе Linux, и это работает.Надеюсь, код не требует пояснений:
>>> import nltk
>>> nltk.corpus.brown.fileids()
[u'ca01', u'ca02', u'ca03' ..]
>>> nltk.corpus.brown.abspath('ca01')
FileSystemPathPointer(u'/home/<username>/nltk_data/corpora/brown/ca01')
>>> reader = TaggedCorpusReader('/home/<username>/nltk_data/corpora/brown/', 'ca01')
>>> reader.words()
[u'The', u'Fulton', u'County', u'Grand', u'Jury', ...]
После этого вместо использования явного имени файла вы можете заменить свое собственное регулярное выражение.