неверная ошибка zip-файла в тегах POS в NLTK в python

Я новичок в python и NLTK. Я хочу сделать токенизацию слов и POS-тегов в этом. Я установил Nltk 3.0 в свой Ubuntu 14.04 с питоном 2.7.6 по умолчанию. Сначала я попытался сделать токенизацию простого предложения. Но я получаю сообщение об ошибке "BadZipfile: File is not a zip file". Как это решить????

..Еще одно сомнение..т.е. я указал путь как «/usr/share/nltk_data», когда я установил данные Nltk (используя командную строку). Некоторые пакеты не удалось установить из-за некоторых ошибок. Но он показывает другие пути, когда я проверял с помощью команды «nltk.data. путь", а другие пути на самом деле недействительны.. почему???

У меня есть 1000 текстовых файлов. Как закодировать программу для токенизации и POS-тегов для такого большого количества файлов вместе в качестве ввода в python.. я не знаю.. Пожалуйста, помогите мне...

То, как я использовал команды в интерпретаторе Python, приведено ниже в том же порядке, что и ниже.

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "copyright", "credits" or "license()" for more information.
>>> import nltk
>>> nltk.data.path
['/home/ubuntu/nltk_data', '/usr/share/nltk_data',       '/usr/local/share/nltk_data', '/usr/lib/nltk_data', '/usr/local/lib/nltk_data']
>>> from nltk import pos_tag, word_tokenize
>>> sentence = "Hello my name is Derek. I live in Salt Lake city."
>>> sentence
'Hello my name is Derek. I live in Salt Lake city.'
>>> word_tokenize(sentence)

Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
word_tokenize(sentence)
File "/usr/local/lib/python2.7/dist-packages/nltk/tokenize/__init__.py",      line 93, in word_tokenize
return [token for sent in sent_tokenize(text)
File "/usr/local/lib/python2.7/dist-packages/nltk/tokenize/__init__.py",   line 81, in sent_tokenize
tokenizer = load('tokenizers/punkt/english.pickle')
File "/usr/local/lib/python2.7/dist-packages/nltk/data.py", line 774, in   load
opened_resource = _open(resource_url)
File "/usr/local/lib/python2.7/dist-packages/nltk/data.py", line 888, in _open
return find(path_, path + ['']).open()
File "/usr/local/lib/python2.7/dist-packages/nltk/data.py", line 605, in find
return find(modified_name, paths)
File "/usr/local/lib/python2.7/dist-packages/nltk/data.py", line 592, in find
return ZipFilePathPointer(p, zipentry)
File "/usr/local/lib/python2.7/dist-packages/nltk/compat.py", line 380, in _decorator
return init_func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/nltk/data.py", line 449, in __init__
zipfile = OpenOnDemandZipFile(os.path.abspath(zipfile))
File "/usr/local/lib/python2.7/dist-packages/nltk/compat.py", line 380, in _decorator
return init_func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/nltk/data.py", line 946, in __init__
zipfile.ZipFile.__init__(self, filename)
File "/usr/lib/python2.7/zipfile.py", line 770, in __init__
self._RealGetContents()
File "/usr/lib/python2.7/zipfile.py", line 811, in _RealGetContents
raise BadZipfile, "File is not a zip file"
BadZipfile: File is not a zip file
>>>

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


person PRINCY    schedule 24.01.2015    source источник


Ответы (2)


Вы видимо еще не запустили download_corpora.py (успешно).

person tripleee    schedule 24.01.2015
comment
где будет находиться этот файл? как запустить этот файл? в терминале? до этого, должен ли я удалить уже загруженную папку corpora? - person PRINCY; 26.01.2015

Я решил ту же проблему, что и после этого вопроса в stackoverflow.

вопрос

В общем, проверьте свою версию NLTK. Если это выше, чем v3.2, используйте эту командную строку:

nltk.download('averaged_perceptron_tagger')

Это сработало для меня.

person eemrah    schedule 09.08.2020