Comment télécharger les données NLTK?

réponse mise à jour: NLTK fonctionne bien pour 2.7. J'ai eu 3.2. J'ai désinstallé 3.2 et installé 2.7. Maintenant ça fonctionne!!

j'ai installé NLTK et essayé de télécharger des données NLTK. Ce que j'ai fait, c'est de suivre l'inscription sur ce site: http://www.nltk.org/data.html

j'ai téléchargé NLTK, installé, et a ensuite essayé d'exécuter le code suivant:

>>> import nltk
>>> nltk.download()

Il m'a donné le message d'erreur comme ci-dessous:

Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    nltk.download()
AttributeError: 'module' object has no attribute 'download'
 Directory of C:Python32Libsite-packages

Essayé les deux nltk.download() et nltk.downloader(), tous deux m'ont donné des messages d'erreur.

alors j'ai utilisé help(nltk) pour sortir le paquet, il affiche les informations suivantes:

NAME
    nltk

PACKAGE CONTENTS
    align
    app (package)
    book
    ccg (package)
    chat (package)
    chunk (package)
    classify (package)
    cluster (package)
    collocations
    corpus (package)
    data
    decorators
    downloader
    draw (package)
    examples (package)
    featstruct
    grammar
    help
    inference (package)
    internals
    lazyimport
    metrics (package)
    misc (package)
    model (package)
    parse (package)
    probability
    sem (package)
    sourcedstring
    stem (package)
    tag (package)
    test (package)
    text
    tokenize (package)
    toolbox
    tree
    treetransforms
    util
    yamltags

FILE
    c:python32libsite-packagesnltk

je ne vois Downloader là, je ne sais pas pourquoi il ne fonctionne pas. Python 3.2.2, système Windows vista.

30
demandé sur Q-ximi 2014-03-06 03:19:31

12 réponses

TL;DR

Pour télécharger un jeu particulier de données/modèles, utilisez le nltk.download() fonction, par exemple si vous cherchez à télécharger le punkt tokenizer de phrase, use:

$ python3
>>> import nltk
>>> nltk.download('punkt')

si vous n'êtes pas certain des données / modèles dont vous avez besoin, vous pouvez commencer avec la liste de base des données + modèles avec:

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

Il va télécharger une liste de "populaire", il comprend:

<collection id="popular" name="Popular packages">
      <item ref="cmudict" />
      <item ref="gazetteers" />
      <item ref="genesis" />
      <item ref="gutenberg" />
      <item ref="inaugural" />
      <item ref="movie_reviews" />
      <item ref="names" />
      <item ref="shakespeare" />
      <item ref="stopwords" />
      <item ref="treebank" />
      <item ref="twitter_samples" />
      <item ref="omw" />
      <item ref="wordnet" />
      <item ref="wordnet_ic" />
      <item ref="words" />
      <item ref="maxent_ne_chunker" />
      <item ref="punkt" />
      <item ref="snowball_data" />
      <item ref="averaged_perceptron_tagger" />
    </collection>

EDITED

Dans le cas où quelqu'un est éviter les erreurs en téléchargeant des ensembles de données plus volumineux à partir de nltk, de https://stackoverflow.com/a/38135306/610569

$ rm /Users/<your_username>/nltk_data/corpora/panlex_lite.zip
$ rm -r /Users/<your_username>/nltk_data/corpora/panlex_lite
$ python

>>> import nltk
>>> dler = nltk.downloader.Downloader()
>>> dler._update_index()
>>> dler._status_cache['panlex_lite'] = 'installed' # Trick the index to treat panlex_lite as it's already installed.
>>> dler.download('popular')

mise à Jour

de v3.2.5, NLTK a un message d'erreur plus informatif quand nltk_data ressource n'est pas trouvée, par exemple:

>>> from nltk import word_tokenize
>>> word_tokenize('x')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/l/alvas/git/nltk/nltk/tokenize/__init__.py", line 128, in word_tokenize
    sentences = [text] if preserve_line else sent_tokenize(text, language)
  File "/Users//alvas/git/nltk/nltk/tokenize/__init__.py", line 94, in sent_tokenize
    tokenizer = load('tokenizers/punkt/{0}.pickle'.format(language))
  File "/Users/alvas/git/nltk/nltk/data.py", line 820, in load
    opened_resource = _open(resource_url)
  File "/Users/alvas/git/nltk/nltk/data.py", line 938, in _open
    return find(path_, path + ['']).open()
  File "/Users/alvas/git/nltk/nltk/data.py", line 659, in find
    raise LookupError(resource_not_found)
LookupError: 
**********************************************************************
  Resource punkt not found.
  Please use the NLTK Downloader to obtain the resource:

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

  Searched in:
    - '/Users/alvas/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'
    - ''
**********************************************************************

connexes

56
répondu alvas 2018-02-06 01:46:51

ne donnez pas de nom à votre fichier nltk.py j'ai utilisé le même code et son nom nltk, et j'ai eu la même erreur que vous, j'ai changé le nom du fichier et ça s'est bien passé.

7
répondu Touya D. Serdan 2016-06-02 06:41:30

nltk.télécharger('all')

cela permettra de télécharger toutes les données, pas besoin de télécharger individuellement

5
répondu B K 2017-11-09 10:00:23

Installer Pip: exécuter dans un terminal : sudo easy_install pip

installer Numpy( optionnel): run: sudo pip install-U numpy

Installer NLTK: exécuter : sudo pip install - U nltk

installation de Test: run: python

puis tapez: import nltk

Pour télécharger le corpus

exécuter : python-m nltk.downloader tous

3
répondu Noor 2018-05-03 14:58:03

si vous utilisez une version très ancienne de nltk, alors il n'y a en effet aucun module de téléchargement disponible (référence)

essaye ceci:

import nltk
print(nltk.__version__)

de référence, après la 0.9.5 devrait être bon

2
répondu Miquel 2018-02-06 01:52:12

vous ne pouvez pas avoir un fichier Python appelé nltk.py parce que l'interprète lit à partir de cela et non à partir du fichier lui-même.

changez le nom de votre fichier que le shell python lit et essayez ce que vous faisiez à l'origine:

import nltk et nltk.download()

2
répondu user3682157 2018-02-06 03:58:09

Cela a fonctionné pour moi:

nltk.set_proxy('http://user:password@proxy.example.com:8080')
nltk.download()
2
répondu M. Mashaye 2018-05-23 13:24:50

j'ai eu le même problème. Vérifiez probablement si vous utilisez proxy.

Si oui, de configurer le proxy avant de faire le télécharger:

nltk.set_proxy('http://proxy.example.com:3128', ('USERNAME', 'PASSWORD'))
1
répondu victor_gu 2016-02-03 15:30:25

vous devriez ajouter python à votre chemin pendant l'installation de python...après l'installation.. ouvrir cmd type d'invite de commandepip install nltk puis allez à IDLE et ouvrez un nouveau fichier..enregistrez-le en tant que Fichier.PY ... alors ouvre file.py tapez le texte suivant: importation nltk

nltk.download()
1
répondu ADITYA AISHWARY 2016-02-05 12:39:22

C'est très simple....

  1. Ouvrir pyScripter ou n'importe quel éditeur
  2. Créer un fichier python par exemple: install.py
  3. écrire le code ci-dessous. importation nltk nltk.télécharger()
  4. une fenêtre pop-up apparaîtra et cliquera sur Télécharger .

The download window]

1
répondu Arun Das 2017-10-10 15:29:58

je pense que vous devez avoir nommé le fichier en tant que nltk.py (ou le dossier se compose d'un fichier avec ce nom), afin de le changer pour un autre nom et d'essayer de l'exécuter....

0
répondu GOKUL JAGANNATH 2017-04-09 06:13:01

Vous pouvez essayer:

>> $ import nltk
>> $ nltk.download_shell()
>> $ d
>> $ *name of the package*

heureux avec la pnl.

-3
répondu Henrique Brandão 2017-09-28 21:00:02