Ошибка использования Stanford POS Tagger в NLTK Python
Я пытаюсь использовать Stanford POS Tagger в NLTK, но я не могу запустить приведенный здесь пример кода http://www.nltk.org/api/nltk.tag.html#module-nltk.tag.stanford
import nltk
from nltk.tag.stanford import POSTagger
st = POSTagger(r'english-bidirectional-distim.tagger',r'D:/stanford-postagger/stanford-postagger.jar')
st.tag('What is the airspeed of an unladen swallow?'.split())
Я уже добавил переменные среды как
CLASSPATH = D:/stanford-postagger/stanford-postagger.jar
STANFORD_MODELS = D:/stanford-postagger/models/
Вот ошибка, которую я продолжаю получать
Traceback (последний последний вызов):
File "D:\pos_stanford.py", line 4, in <module>
st = POSTagger(r'english-bidirectional-distim.tagger',
r'D:/stanford-postagger/stanford-postagger.jar')
... LookupError: NLTK was unable to find the english-bidirectional-distim.tagger file! Use software specific configuration paramaters or set the STANFORD_MODELS environment variable.
Некоторые форумы предполагают, что
File "C:\Python27\lib\site-packages\nltk\tag\stanford.py", line 45, in __init__
env_vars=('STANFORD_MODELS'), verbose=verbose)
следует изменить так, чтобы в
была запятая.
env_vars=('STANFORD_MODELS',), verbose=verbose)
но это также не решает проблему.
Помогите мне в решении этой проблемы.
Другая информация:
я использую
Windows 7 64 бит
Python 2.7 32 бит
NLTK 2.0
Ответы
Ответ 1
Примечание. Просто опубликуйте его как ответ, чтобы помочь в случае, если другие будут сталкиваться с этой проблемой в будущем.
Наконец-то я узнал, что я сделал не так. Это оказалось ошибкой.
Имя файла Tagger не является "английским-двунаправленным-distim.tagger"
но "английский-двунаправленный-distsim.tagger".