2016-04-29 19 views
7

Sto tentando di utilizzare NLTK, il toolkit del linguaggio naturale stanford. Dopo installare i file necessari, inizio a eseguire il codice demo: http://www.nltk.org/index.htmlNLTK non è stato in grado di trovare il file gs

>>> 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', 'fatto', "non", 'sentire', 'molto', 'buono', ' ']

>>> tagged = nltk.pos_tag(tokens) 

>>> tagged[0:6] 

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

(' Giovedi', 'NNP'), ('mattina', 'NN')]

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

>>> entities 

Allora ottengo un messaggio:

LookupError: 

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

Ho provato google, ma non c'è nessuno che dica quale sia il file gs mancante.

risposta

6

Mi sono imbattuto anche in questo errore.

gs sta per ghostscript. Si ottiene l'errore perché il tuo chunker sta cercando di utilizzare Ghostscript per disegnare un albero sintattico della frase, qualcosa di simile:

enter image description here

stavo usando IPython; per eseguire il debug del problema ho impostato la verbosità di traceback su verbose con il comando %xmode verbose, che stampa le variabili locali di ogni frame dello stack. (Vedere il pieno traceback sotto) I nomi dei file sono:

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

Un po 'di ricerca su Google per gswin32c.exe mi disse che era ghostscript.

/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

Per utenti Mac, è possibile installare ghostscript tramite brew '' 'brew install ghostscript'''. Per altri sistemi operativi, le istruzioni possono essere trovate qui: https://wiki.scribus.net/canvas/Installation_and_Configuration_of_Ghostscript – naoko

+0

Ho installato ghostscript e sto ancora ricevendo lo stesso errore, anche se una ricerca di Windows mostra un file "gswin64c.exe" . –

2

Un po 'oltre alla risposta di Jason Wirth. Sotto Windows, questa riga di codice cercherà "gswin64c.exe" nella variabile d'ambiente PATH, tuttavia, il programma di installazione di ghostscript non aggiunge il binario a PATH, quindi per farlo funzionare, dovrai trovare dove è installato ghostscript e aggiungere la sottocartella/bin a PATH.

Ad esempio, nel mio caso ho aggiunto C: \ Programmi \ gs \ gs9.19 \ bin a PATH.

Problemi correlati