использование nltk pos_tag

Я пытаюсь использовать речевые теги в NLTK и использовал эту команду:

>>> text = nltk.word_tokenize("And now for something completely different")

>>> nltk.pos_tag(text)

Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
nltk.pos_tag(text)
File "C:\Python27\lib\site-packages\nltk\tag\__init__.py", line 99, in pos_tag
tagger = load(_POS_TAGGER)
File "C:\Python27\lib\site-packages\nltk\data.py", line 605, in load
resource_val = pickle.load(_open(resource_url))
File "C:\Python27\lib\site-packages\nltk\data.py", line 686, in _open
return find(path).open()
File "C:\Python27\lib\site-packages\nltk\data.py", line 467, in find
raise LookupError(resource_not_found)
LookupError: 
**********************************************************************
Resource 'taggers/maxent_treebank_pos_tagger/english.pickle' not
found.  Please use the NLTK Downloader to obtain the resource:

Однако я получаю сообщение об ошибке, которое показывает:

engish.pickle not found.

Я загрузил все корпуса, и файл english.pickle находится в maxtent_treebank_pos_tagger.

Что я могу сделать, чтобы заставить это работать?


person Ashish Singh    schedule 30.12.2012    source источник
comment
Добро пожаловать в СО. Старайтесь быть максимально описательными в своих вопросах, чтобы получить наилучшие ответы.   -  person simonmorley    schedule 30.12.2012


Ответы (3)


Ваша установка Python не может получить доступ к maxent или treemap.

Во-первых, проверьте, действительно ли тегер существует: запустите Python из командной строки.

>>> import nltk

Затем вы можете проверить, используя

>>> dir (nltk)

Просмотрите список, чтобы увидеть, есть ли там maxent и treebank.

Легче было бы напечатать

>>> "maxent" in dir(nltk)
>>> True
>>> "treebank" in dir(nltk)
>>> True

Используйте вкладку nltk.download() --> Модели и проверьте, отображается ли тегировщик древовидной карты как установленный. Вам также следует попробовать загрузить теггер еще раз.

Загрузчик NLTK, вкладка

person Ram Narasimhan    schedule 31.12.2012
comment
Спасибо @ram, я нашел решение своей проблемы. Я создал папку taggers и скопировал в нее maxtent_treebank_pos, и она наконец заработала.. :) - person Ashish Singh; 27.01.2013

Если вы не хотите использовать графический интерфейс загрузчика, вы можете просто использовать следующие команды в оболочке python или ipython:

import nltk
nltk.download('punkt')
nltk.download('maxent_treebank_pos_tagger')
person jjinking    schedule 31.07.2015
comment
Это работает идеально для меня, но почему мне нужно запускать его все время, если я закрываю оболочку - person Abhishek Ekaanth; 13.12.2019

Более 50 корпусов и лексических ресурсов, таких как WordNet: http://www.nltk.org/nltk_data/ бесплатно. Используйте http://nltk.github.com/nltk_data/ в качестве индекса сервера вместо googlecode Google code 401 : Требуется Авторизация

person Serg Anuke    schedule 22.10.2014