2016-06-25 12 views
5

Siamo in grado di scaricare tutti i dati NLTK utilizzando:NLTK - Scarica tutti i dati NLTK eccezione corpara dalla riga di comando senza Downloader UI

> import nltk 
> nltk.download('all') 

o dati specifici utilizzando:

> nltk.download('punkt') 
> nltk.download('maxent_treebank_pos_tagger') 

Ma voglio scaricare tutto dati ad eccezione dei file "corpara", per esempio: tutti i chunkers, grammaticali, modelli, stemmer, tagger, tokenizer, ecc.

c'è un modo per farlo senza Downl interfaccia utente oader? qualcosa di simile,

> nltk.download('all-taggers') 
+0

penso di averlo esaminato a un certo punto e non ho trovato il modo di farlo. il codice sorgente è [qui] (http://www.nltk.org/_modules/nltk/downloader.html), per quello che vale. – patrick

risposta

2

elenco di tutti gli ID corpora e impostare _status_cache[pkg.id] = 'installed'.

Sarà impostare il valore di stato per tutti i corpi come 'installati' e corpora pacchetti devono essere saltati quando usiamo nltk.download().

Invece di scaricare tutti i corpora e i modelli, se non si è sicuri dei corpora/pacchetto necessari, utilizzare nltk.download('popular').

import nltk 

dwlr = nltk.downloader.Downloader() 

for pkg in dwlr.corpora(): 
    dwlr._status_cache[pkg.id] = 'installed' 

dwlr.download('popular') 

Per scaricare tutti i pacchetti della cartella specifica.

import nltk 

dwlr = nltk.downloader.Downloader() 

# chunkers, corpora, grammars, help, misc, 
# models, sentiment, stemmers, taggers, tokenizers 
for pkg in dwlr.packages(): 
    if pkg.subdir== 'taggers': 
     dwlr.download(pkg.id)