web-dev-qa-db-fra.com

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

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

J'ai installé NLTK et essayé de télécharger NLTK Data. Ce que j'ai fait était de suivre les instructions sur ce site: http://www.nltk.org/data.html

J'ai téléchargé NLTK, je l'ai installé, puis j'ai essayé d'exécuter le code suivant:

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

Cela 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:\Python32\Lib\site-packages

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

Ensuite, j'ai utilisé help(nltk) pour extraire 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:\python32\lib\site-packages\nltk

Je vois Downloader là-bas, je ne sais pas pourquoi cela ne fonctionne pas. Python 3.2.2, système Windows Vista.

38
Q-ximi

TL; DR

Pour télécharger un ensemble de données/modèles particulier, utilisez la fonction nltk.download(), par exemple. Si vous souhaitez télécharger le tokenizer de phrase punkt, utilisez:

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

Si vous ne savez pas de quel type de données/modèle vous avez besoin, vous pouvez commencer avec la liste de base de données + modèles avec:

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

Il téléchargera une liste de ressources "populaires", notamment:

<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>

ÉDITÉ

Si vous évitez des erreurs lors du téléchargement de jeux de données plus volumineux à partir de nltk, à partir 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')

Mis à jour

À partir de la version 3.2.5, NLTK affiche un message d'erreur plus informatif lorsque la ressource nltk_data est introuvable, 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'
    - ''
**********************************************************************

En relation

64
alvas

Ne nommez pas votre fichier nltk.py. J'ai utilisé le même code et nommez-le nltk.

9
Touya D. Serdan

Installer Pip: exécuté dans le terminal: Sudo easy_install pip

Installer Numpy (facultatif): exécuter: Sudo pip install -U numpy

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

Installation de test: exécuter: python 

puis tapez: import nltk

Télécharger le corpus 

lancer: python -m nltk.downloader all

7
Nursnaaz

Cela a fonctionné pour moi:

nltk.set_proxy('http://user:[email protected]:8080')
nltk.download()
3
M. Mashaye

C'est très simple....

  1. PyScripter ouvert ou n'importe quel éditeur
  2. Créez un fichier python, par exemple: install.py
  3. écrivez le code ci-dessous dedans.
import nltk
nltk.download()
  1. Une fenêtre pop-up apparaîtra et cliquera sur le téléchargement.

The download window]

3
Arun Das

Si vous utilisez une version vraiment ancienne de nltk, il n’ya en effet aucun module de téléchargement disponible ( référence )

Essaye ça:

import nltk
print(nltk.__version__)

Selon la référence, tout ce qui suit 0.9.5 devrait convenir

3
Miquel

S'il vous plaît essayez

import nltk

nltk.download()

Après avoir exécuté ceci, vous obtenez quelque chose comme ça

NLTK Downloader
---------------------------------------------------------------------------
   d) Download   l) List    u) Update   c) Config   h) Help   q) Quit
---------------------------------------------------------------------------

Alors, Press d

Faites comme suit:

Downloader> d all

Vous obtiendrez le message suivant à la fin, puis cliquez sur Invite, puis sur Press q

3
bala

vous ne pouvez pas avoir un fichier python enregistré appelé nltk.py car l'interprète lit à partir de cela et non du fichier réel. 

Changez le nom de votre fichier lu par le shell Python et essayez de faire ce que vous faisiez à l’origine: 

import nltk puis nltk.download()

3
user3682157

J'ai eu le même problème. Probablement vérifier si vous utilisez un proxy. 

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

nltk.set_proxy('http://proxy.example.com:3128', ('USERNAME', 'PASSWORD'))
2
victor_gu

vous devriez ajouter python à votre PATH pendant l'installation de python ... après l'installation .. ouvrez cmd Tapez le type d'invite de commande -pip install nltk puis allez à IDLE et ouvrez un nouveau fichier ... .py tapez ce qui suit: import nltk

nltk.download()
2
ADITYA AISHWARY

si vous avez déjà enregistré un nom de fichier nltk.py et renommé à nouveau sous le nom my_nltk_script.py. vérifiez si le fichier nltk.py existe toujours. Si oui, supprimez-les et exécutez le fichier my_nltk.scripts.py, cela devrait fonctionner!

0
Manasa

Essayez de télécharger les fichiers Zip depuis http://www.nltk.org/nltk_data/ puis décompressez-les et enregistrez-les dans votre dossier Python, tels que C:\ProgramData\Anaconda3\nltk_data

0
Jenny

Je pense que vous devez avoir nommé le fichier nltk.py (ou le dossier consiste en un fichier portant ce nom), changez-le en un autre nom et essayez de l'exécuter.

0
GOKUL JAGANNATH