2016-06-23 21 views
1

Ich renne Opennlp Satz Erkennung und Tokenizer aus einem Shell-Skript, aber ich bekomme immer Fehler: Kann nicht finden oder laden en-sent.bin/oder konnte nicht finden oder laden Hauptklasse opennlp.tools.lang.english.SencentDetector. Hier ist mein Code:Wie führen Sie opennlp SentenceDetector und Tokenizer aus einem Shell-Skript?

OPENNLP_HOME=/usr/local/Cellar/apache-opennlp/1.5.3 
export OPENNLP_HOME 

CLASSPATH=.:\ 
$OPENNLP_HOME/libexec/lib/opennlp-tools-1.5.3.jar:\ 
$OPENNLP_HOME/libexec/lib/opennlp-maxent-3.0.3.jar:\ 
$OPENNLP_HOME/libexec/lib/jwnl-1.3.3.jar 
export CLASSPATH 

java -cp opennlp.tools.lang.english.SentenceDetector \ 
$OPENNLP_HOME/models/en-sent.bin 

ERROR MESSAGE in der Befehlszeile: nicht Hauptklasse Keller gefunden oder geladen werden .... en-sent.bin

  1. Wenn ich den Befehl ausführen opennlp auf die Befehlszeile, es wirft keinen Fehler, also weiß ich, dass opennlp ordnungsgemäß installiert ist.
  2. es funktioniert gut in Eclipse.

Vielen Dank für Ihre Hilfe

+0

fügen Sie ein 'cd/Pfad/zu/dir/mit/opennlp/classes' (oder was auch immer, um die' sentenceDetector' Datei im aktuellen Verzeichnis zu erhalten). Hmm, CLASSPATH sieht gut aus, aber ich erinnere mich nicht, ob Sie es in die 'java'-Befehlszeile aufnehmen müssen. Viel Glück. – shellter

+0

@shellter, wenn Sie CD zu opennlp/Klassen sagen, meinst du das Verzeichnis, in dem die JAR-Dateien sind? Zum Beispiel die Opennlp-Tools-1.5.2.jar? Danke noch einmal. – omar

Antwort

2

Dies liegt daran, en-sent.bin im Ordner fehlt, wo Sie Ihre Eingabeaufforderung geöffnet haben.

Sie sollten alle erforderlichen opennlp Modelle hinzufügen (.bin-Dateien) zu dem Ordner, in dem Sie die Eingabeaufforderung oder

eine Eingabeaufforderung geöffnet haben, wo alle das Modell alle Anwesenden Dateien, die von shift + Right click getan werden kann, und open a new command window here (oder Sie können einfach dorthin, wo Ihre Dateien sind)

hoffe das hilft!

+0

@Alaye Vielen Dank. es funktioniert jetzt! – omar

+0

@omar froh, dass es geholfen hat. ein upvote wäre großartig! Vielen Dank. – Nuwanda

+1

@Alaye Definitiv! Entschuldigung, ich bin neu in SO. Ich habe auf die Stimmen geklickt. Wie stimme ich das? – omar