2017-05-15 1 views
1

Ich versuche, den StanfordTokenizer tokenize() in meinem Skript zu verwenden, aber es scheint, wie es das Glas in der CLASSPATH ich bestellt nicht finden kann.Konnte nicht finden stanford-postagger.jar JAR-Datei um

Ich habe versucht, die _JAR = 'stanford-postagger.jar' zu C:\Program Files\JetBrains\PyCharm 2017.1.2\stanford-postagger-2016-10-31\'stanford-postagger.jar' zu ändern, aber es scheint nicht zu funktionieren.

Das ist mein Skript:

from nltk.tokenize.stanford import StanfordTokenizer 
def AnalyzeText(text): 
    t = StanfordTokenizer(path_to_jar='C:\Program Files\JetBrains\PyCharm 2017.1.2\stanford-postagger-2016-10-31\stanford-postagger.jar') 
    return t.tokenize(text) 

This is the error I get

I nltk aktualisiert tun haben. Ich habe auch die stanford-postagger heruntergeladen, wie Sie sehen. Ich kann nicht verstehen, was das Problem ist.

+1

Bitte beachten Sie, dass das Traceback im Bild als Text eingefügt wird. Auf diese Weise ist es einfacher, mögliche Keywords zu finden, und es ist auch einfacher zu lesen. – iled

+0

Von der Traceback sieht es aus wie das Problem mit 'java.exe finden, nicht mit der JAR-Datei. – alexis

Antwort

0

Es scheint, wie die ClassPath in Ordnung war. NLTK benötigt eine JDK 1.8-Version.

import os 
java_path = "C:/Program Files/Java/jdk1.8.0_131/bin/java.exe" 
os.environ['JAVAHOME'] = java_path 
0

In Python3, tun dies einmal:

import urllib.request 
import zipfile 

# Download the file. 
urllib.request.urlretrieve(r'http://nlp.stanford.edu/software/stanford-postagger-full-2015-04-20.zip', r'C:\Program Files\JetBrains\PyCharm 2017.1.2\stanford-postagger-full-2015-04-20.zip') 

# Initialize a zipfile object. 
zfile = zipfile.ZipFile(r'C:\Program Files\JetBrains\PyCharm 2017.1.2\stanford-pos-2015-04-20.zip') 

# Unzip the file. 
zfile.extractall(r'C:\Program Files\JetBrains\PyCharm 2017.1.2\stanford-pos') 

Dann:

from nltk.tokenize.stanford import StanfordTokenizer 

# First we set the direct path to the NER Tagger. 
_path_to_jar = r'C:\Program Files\JetBrains\PyCharm 2017.1.2\stanford-pos\stanford-postagger-full-2015-04-20\stanford-postagger.jar' 

# Then we initialize the NLTK's Stanford Tokenizer. 
st = StanfordTokenizer(path_to_jar= _path_to_jar) 

st.tokenize(text)