2012-11-20 23 views
6

這是我的代碼和錯誤消息:錯誤使用Python斯坦福惡搞時

>>> from nltk.tag.stanford import StanfordTagger 
>>> st = StanfordTagger('bidirection-distsim-wsj-0-18.tagger') 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nltk/tag/stanford.py", line 42, in __init__ 
    verbose=verbose) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nltk/internals.py", line 597, in find_jar 
    raise LookupError('\n\n%s\n%s\n%s' % (div, msg, div)) 
LookupError: 

=========================================================================== 
    NLTK was unable to find ! Set the CLASSPATH environment variable. 

    For more information, on , see: 
    <http://nlp.stanford.edu/software> 
=========================================================================== 

我該如何解決呢?我真的想在Python中使用stanford tagger 謝謝!

回答

1
from nltk.tag.stanford import POSTagger 

st = POSTagger(< path to tagger >, < path to stanford NLP package/stanford-postagger.jar >) 

包含兩個參數的完整路徑。

如果這樣的作品,然後再嘗試一個例句

st.tag('What is the airspeed of an unladen swallow ?'.split()) 

檢查,如果你已經添加了斯坦福分析器路徑CLASSPATH環境變量

export CLASSPATH = {CLASSPATH}: < path to stanford NLP package > 

這應該工作。