Ressources u'tokenizers/punkt/anglais.pickle " introuvable

Mon Code:

import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

message d'erreur:

[ec2-user@ip-172-31-31-31 sentiment]$ python mapper_local_v1.0.py
Traceback (most recent call last):
File "mapper_local_v1.0.py", line 16, in <module>

    tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 774, in load

    opened_resource = _open(resource_url)

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 888, in _open

    return find(path_, path + ['']).open()

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 618, in find

    raise LookupError(resource_not_found)

LookupError:

Resource u'tokenizers/punkt/english.pickle' not found.  Please
use the NLTK Downloader to obtain the resource:

    >>>nltk.download()

Searched in:
- '/home/ec2-user/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''

j'essaie D'exécuter ce programme sur Unix machine:

selon le message d'erreur, je me suis connecté à Python shell depuis ma machine unix, puis j'ai utilisé les commandes suivantes:

import nltk
nltk.download()

et puis j'ai téléchargé toutes les choses disponibles en utilisant D - down loader et l - list options, mais le problème persiste.

I j'ai essayé de mon mieux de trouver la solution sur internet mais j'ai obtenu la même solution que ce que j'ai fait comme je l'ai mentionné dans mes étapes ci-dessus.

75
demandé sur yprez 2014-10-26 10:52:51

13 réponses

pour ajouter à réponse de alvas , vous pouvez télécharger seulement le punkt corpus:

nltk.download('punkt')

télécharger all ça me paraît exagéré. À moins que vous le souhaitez.

154
répondu yprez 2017-05-23 12:18:20

si vous cherchez à télécharger uniquement le modèle punkt :

import nltk
nltk.download('punkt')

si vous n'êtes pas certain des données/modèles dont vous avez besoin, vous pouvez installer le populaire ensembles de données, modèles et marqueurs de NLTK:

import nltk
nltk.download('popular')

Avec la commande ci-dessus, il n'est pas nécessaire d'utiliser l'interface graphique pour télécharger les ensembles de données.

48
répondu alvas 2017-07-28 03:40:37

j'ai la solution:

import nltk
nltk.download()

une fois que le téléchargement NLTK commence

d) Télécharger l) de la Liste u) mise à Jour c) Config h) Aider à q) Quitter

Downloader> d

télécharger quel paquet (l=Liste; x=annuler)? Identificateur > punkt

28
répondu Supreeth Meka 2014-10-26 17:20:49

depuis le shell vous pouvez exécuter:

sudo python -m nltk.downloader punkt 

si vous voulez installer les populaires NLTK corpora / models:

sudo python -m nltk.downloader popular

Si vous voulez installer tous NLTK corpus/modèles:

sudo python -m nltk.downloader all

pour lister les ressources que vous avez téléchargées:

python -c 'import os; import nltk; print os.listdir(nltk.data.find("corpora"))'
python -c 'import os; import nltk; print os.listdir(nltk.data.find("tokenizers"))'
22
répondu Franck Dernoncourt 2017-07-29 15:06:32

la même chose m'est arrivée récemment, vous avez juste besoin de télécharger le paquet" punkt " et ça devrait marcher.

quand vous exécutez " list "(l) après avoir" téléchargé toutes les choses disponibles", est-ce que tout est marqué comme la ligne suivante?:

[*] punkt............... Punkt Tokenizer Models

si vous voyez cette ligne avec l'étoile, cela signifie que vous l'avez, et nltk devrait pouvoir la charger.

9
répondu eeelnico 2014-10-26 08:18:41

aller à la console python en tapant

$ python

dans votre terminal. Ensuite, tapez les 2 commandes suivantes dans votre shell python pour installer les paquets respectifs:

> > nltk.télécharger('point') > > nltk.download ('averaged_perceptron_tagger')

Cela a résolu le problème pour moi.

5
répondu Dharani Manne 2016-06-11 06:09:35

mon problème était que j'ai appelé nltk.download('all') en tant qu'utilisateur root, mais le processus qui a finalement utilisé nltk était un autre utilisateur qui n'avait pas accès à /root/nltk_data où le contenu a été téléchargé.

donc j'ai simplement recursivement copié tout du lieu de téléchargement à l'un des chemins où NLTK cherchait à le trouver comme ceci:

cp -R /root/nltk_data/ /home/ubuntu/nltk_data
2
répondu Raj 2015-02-28 21:57:24
  1. exécutez le code suivant:

    import nltk
    nltk.download()
    
  2. après cela, NLTK downloader sortira.

  3. sélectionnez Tous les paquets.
  4. Télécharger punkt.
2
répondu Mayank Kumar 2017-04-03 22:39:27
import nltk
nltk.download('punkt')

ouvrez L'invite Python et lancez les instructions ci-dessus.

la fonction sent_tokenize utilise une instance de PunktSentenceTokenizer de la nltk.marquer.punkt module. Cette instance a déjà été formée et fonctionne bien pour de nombreuses langues Européennes. Il sait donc quelle ponctuation et quels caractères marque la fin d'une phrase et le début d'une nouvelle phrase.

2
répondu Ramineni Ravi Teja 2017-12-13 08:46:15

Simple nltk.télécharger() ne permettra pas de résoudre ce problème. J'ai essayé ci-dessous et cela a fonctionné pour moi:

dans le dossier nltk créez un dossier tokenizers et copiez votre dossier punkt dans le dossier tokenizers.

ça va marcher.! la structure du dossier doit être telle que montrée sur l'image

1
répondu Deepthi Karnam 2015-04-01 11:48:45

vous devez réorganiser vos dossiers Déplacez votre dossier tokenizers dans le dossier nltk_data . Cela ne fonctionne pas si vous avez nltk_data dossier contenant corpora dossier contenant tokenizers dossier

1
répondu alily 2015-09-21 11:04:19

pour moi rien de ce qui précède n'a fonctionné, donc je viens de télécharger tous les fichiers à la main à partir du site web http://www.nltk.org/nltk_data / et je les ai mis aussi à la main dans un fichier" tokenizers "à l'intérieur du dossier" nltk_data". Pas une jolie solution, mais une solution.

1
répondu Camille 2016-08-09 19:44:59

j'ai fait face à la même question. Après avoir tout Téléchargé, l'erreur 'punkt' était toujours là. J'ai cherché Paquet sur ma machine windows à C:\Users\vaibhav\AppData\Roaming\nltk_data\tokenizers et je vois 'punkt.zip'. J'ai réalisé que la fermeture éclair n'a pas été extraite C:\Users\vaibhav\AppData\Roaming\nltk_data\tokenizers\punk. Une fois que j'ai extrait la fermeture éclair, ça a marché comme de la musique.

0
répondu vaibhav singh 2018-02-06 21:40:28