2015-09-28 3 views
6

Dies ist mein CodeNLTK: Warum erkennt Nltk die Variable CLASSPATH für Stanford-ner nicht?

from nltk.tag import StanfordNERTagger 
st = StanfordNERTagger('english.all.3class.distsim.crf.ser.gz') 

und ich bekomme

NLTK was unable to find stanford-ner.jar! Set the CLASSPATH 
    environment variable. 

Dies ist, was mein .bashrc wie in ubuntu, Ich habe auch versucht

export CLASSPATH=/home/wolfgang/Downloads/stanford-ner-2015-04-20/stanford-ner-3.5.2.jar 
export STANFORD_MODELS=/home/wolfgang/Downloads/stanford-ner-2015-04-20/classifiers 

sieht dieser die Umgebungsvariable in Python Druck Weg

import os 
os.environ.get('CLASSPATH') 

Und ich empfangen

'/home/wolfgang/Downloads/stanford-ner-2015-04-20/stanford-ner-3.5.2.jar' 

Daher sind die Variablen gesetzt werden!

Was ist dann falsch?

Warum erkennen meine Umweltvariablen nicht?

+0

http://stackoverflow.com/a/34112695/610569 – alvas

Antwort

4

Änderung der .jar-Datei und die Umgebungsvariable von stanford-ner-3.5.2.jar zu stanford-ner.jar

offenbar NLTK hat eine name_pattern Variable in nltk_internals.py, die nur die CLASSPATH akzeptiert, wenn sie einen regulären Ausdruck für den Wert entspricht stanford-ner.jar

+2

oder Sie einfach den Classpath auf den übergeordneten Ordner zu wie 'os.environ [ 'CLASSPATH'] =„einstellen könnte/home/wolfgang/Downloads/stanford-ner-2015-04-20 "'. Beide Optionen (Elternordner oder stanford-ner.jar) funktionierten für mich. – psun

+0

Sie haben Recht! Das hat mein Problem gelöst. –

1

Das ist das ist korrekte Methode zum Einstellen von PFAD:

st = StanfordNERTagger('C:\Python26\Lib\stanford-ner\classifiers\english.all.3class.distsim.crf.ser.gz','C:\Python26\Lib\stanford-ner\stanford-ner.jar') 

Geben Sie den korrekten Pfad zum Suchen der beiden Dateien an. Wenn immer noch ein Java-Umgebungsvariablenfehler vorliegt, bedeutet dies, dass Ihre Java-Umgebung nicht konfiguriert ist. Um dies einzustellen, gehen Sie zu 'Arbeitsplatz' -> Eigenschaften -> Erweiterte Einstellungen '. Es gibt Videos, die zeigen, was diese Einstellungen bewirken. Wenn die Umgebung ordnungsgemäß eingerichtet ist, wird ein schwarzes Befehlsfenster bei der Ausführung der Python-Datei etwa zehn Sekunden lang angezeigt, während die Datei verarbeitet wird. Dies sollte Ihr Ergebnis ohne Fehler zurückgeben.

0

Hier ist mein Code:

from nltk.tag import StanfordNERTagger 
import os 

os.getenv('CLASSPATH') 

OUTPUT: '/home/user/Downloads/stanford-ner.jar'

from nltk.tokenize import sent_tokenize, word_tokenize 

st = StanfordNERTagger("english.all.3class.distsim.crf.ser.gz") 

Herunterladen Stanford-ner.jar von here

Set Classpath export CLASSPATH=/home/admin-pc/Downloads/

arbeitete für mich: p