2012-06-15 41 views
1

我有一個有線錯誤運行時下面的示例代碼片段在NLTK不JVM工作由於斯坦福標註器參數

st = StanfordTagger('bidirectional-distsim-wsj-0-18.tagger') 
st.tag('What is the airspeed of an unladen swallow ?'.split()) 

第一線工作正常,但第二行是給下面的錯誤。

Could not create the Java virtual machine. 

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/usr/local/lib/python2.6/dist-packages/nltk-2.0.1rc1- py2.6.egg/nltk/tag/stanford.py", line 51, in tag 
return self.batch_tag([tokens])[0] 
File "/usr/local/lib/python2.6/dist-packages/nltk-2.0.1rc1-py2.6.egg/nltk/tag/stanford.py", line 77, in batch_tag 
stdout=PIPE, stderr=PIPE) 
File "/usr/local/lib/python2.6/dist-packages/nltk-2.0.1rc1-py2.6.egg/nltk/internals.py", line 166, in java 
raise OSError('Java command failed!') 
OSError: Java command failed! 

我曾嘗試加入.USR/lib目錄/ JVM爲路徑,但仍然沒有工作

回答

2

這不是爲我工作無論是。所以我嘗試了以下,並且完美地工作。

st = POSTagger('path-to/stanford-postagger-full-2012-07-09/models/wsj-0-18-left3words.tagger','path-to/stanford-postagger-full-2012-07-09/stanford-postagger.jar') 

和使用NLTK的記號化方法,而不是Python的分裂()

taggedSentence= st.tag(nltk.word_tokenize(sentence)) 
相關問題