2016-04-29 14 views
7

Ich versuche, NLTK, das stanford-Toolset für natürliche Sprache zu verwenden. Nachdem die erforderlichen Dateien installieren, beginne ich den Demo-Code auszuführen: http://www.nltk.org/index.htmlNLTK konnte die GS-Datei nicht finden

>>> import nltk 

>>> sentence = """At eight o'clock on Thursday morning 
... Arthur didn't feel very good.""" 

>>> tokens = nltk.word_tokenize(sentence) 

>>> tokens 

['At', 'eight', "o'clock", 'on', 'Thursday', 'morning', 

'Arthur', 'tat', "nicht", 'fühlen', 'sehr', 'gut', ' ']

>>> tagged = nltk.pos_tag(tokens) 

>>> tagged[0:6] 

[('At', 'IN'), ('eight', 'CD'), ("o'clock", 'JJ'), ('on', 'IN'), 

(' donnerstag', 'NNP'), ('Morgen', 'NN')]

>>> entities = nltk.chunk.ne_chunk(tagged) 

>>> entities 

Dann bekomme ich Nachricht:

LookupError: 

=========================================================================== 
NLTK was unable to find the gs file! 
Use software specific configuration paramaters or set the PATH environment variable. 

Ich habe versucht google, aber es gibt niemand sagen, was die fehlende gs-Datei ist.

Antwort

6

Ich bin auch auf diesen Fehler gestoßen.

gs steht für Ghostscript. Sie erhalten den Fehler, da Ihr chunker versucht ghost zu verwenden, um einen Parsing-Baum des Satzes, um so etwas zu zeichnen:

enter image description here

Ich war mit IPython; Um das Problem zu debuggen, setze ich die Ausführlichkeit der Rückverfolgung auf verbose mit dem Befehl %xmode verbose, der die lokalen Variablen jedes Stapelrahmens druckt. (Siehe die vollständigen Zurückverfolgungs unten) Die Dateinamen sind:

file_names=['gs', 'gswin32c.exe', 'gswin64c.exe']

Eine wenig Google-Suche nach gswin32c.exe mir gesagt, es ist ghost.

/Users/jasonwirth/anaconda/lib/python3.4/site-packages/nltk/__init__.py in find_file_iter(filename='gs', env_vars=['PATH'], searchpath=(), file_names=['gs', 'gswin32c.exe', 'gswin64c.exe'], url=None, verbose=False) 
    517       (filename, url)) 
    518   div = '='*75 
--> 519   raise LookupError('\n\n%s\n%s\n%s' % (div, msg, div)) 
    520 
    521 def find_file(filename, env_vars=(), searchpath=(), 

LookupError: 

=========================================================================== 
NLTK was unable to find the gs file! 
Use software specific configuration paramaters or set the PATH environment variable. 
=========================================================================== 
+5

Für Mac-Benutzer können Sie Ghostscript über brew '' 'brew install ghostscript''' installieren. Für andere OS, Anweisungen können hier gefunden werden: https://wiki.scribus.net/canvas/Installation_and_Configuration_of_Ghostscript – naoko

+0

Ich installiert Ghostscript und ich bekomme immer noch den gleichen Fehler, obwohl eine Windows-Suche zeigt eine "gswin64c.exe" -Datei . –

2

Ein bisschen Ergänzung zu Jason Wirths Antwort. Unter Windows sucht diese Codezeile in der Umgebungsvariable PATH nach "gswin64c.exe". Allerdings fügt das Ghostscript-Installationsprogramm die Binärdatei nicht zu PATH hinzu. Daher müssen Sie herausfinden, wo ghostscript installiert ist und fügen Sie den Unterordner/bin PATH hinzu.

Zum Beispiel habe ich in meinem Fall C: \ Programme \ gs \ gs9.19 \ bin zu PATH hinzugefügt.