Lorsque vous essayez de charger le punkt
tokenizer ...
import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')
... un a LookupError
été soulevé:
> LookupError:
> *********************************************************************
> Resource 'tokenizers/punkt/english.pickle' not found. Please use the NLTK Downloader to obtain the resource: nltk.download(). Searched in:
> - 'C:\\Users\\Martinos/nltk_data'
> - 'C:\\nltk_data'
> - 'D:\\nltk_data'
> - 'E:\\nltk_data'
> - 'E:\\Python26\\nltk_data'
> - 'E:\\Python26\\lib\\nltk_data'
> - 'C:\\Users\\Martinos\\AppData\\Roaming\\nltk_data'
> **********************************************************************
>>> nltk.download()
Réponses:
J'ai eu le même problème. Allez dans un shell python et tapez:
Ensuite, une fenêtre d'installation apparaît. Allez dans l'onglet «Modèles» et sélectionnez «punkt» dans la colonne «Identifiant». Cliquez ensuite sur Télécharger et il installera les fichiers nécessaires. Alors ça devrait marcher!
la source
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')
devraient alors travailler et vous pouvez utiliser tokenizer comme ceci:tokenizer.tokenize('The cat. The mat. It Sat.')
. Ici, nltk essaie de résoudre le chemin relatif par rapporttokenizers/punkt/english.pickle
à plusieurs emplacements. Par exemple, sous Windows, il regarde dans%APPDATA%\nltk_data\tokenizers\punkt\english.pickle
ouC:\nltk_data\tokenizers\punkt\english.pickle
(idem pour D: et E :). Donc, si vous vous assurez que le fichier punkt.zip est décompressé de manière à ce que l'un de ces emplacements existe, il devrait pouvoir le trouver.NLTK_DATA
variable d'environnement pour qu'elle pointe vers le dossier nltk_data afin qu'il%NLTK_DATA%\tokenizers\punkt\english.pickle
existe.ssh
connexion), il n'y aura pas de fenêtre GUI et donc pas d'onglet «Modèles».Vous pouvez faire ça comme ça.
Vous pouvez télécharger les tokenizers en les passant
punkt
comme argument à ladownload
fonction. Les jetons de mots et de phrases sont alors disponibles surnltk
.Si vous voulez télécharger tout -à- dire
chunkers
,grammars
,misc
,sentiment
,taggers
,corpora
,help
,models
,stemmers
,tokenizers
, ne passent pas d'arguments comme celui - ci.Voir ceci pour plus d'informations. https://www.nltk.org/data.html
la source
python -c "import nltk; nltk.download('punkt')" [nltk_data] Downloading package punkt to /home/my_user/nltk_data... [nltk_data] Error downloading 'punkt' from [nltk_data] <https://raw.githubusercontent.com/nltk/nltk_data/gh- [nltk_data] pages/packages/tokenizers/punkt.zip>: HTTP Error [nltk_data] 503: first byte timeout
C'est ce qui a fonctionné pour moi en ce moment:
phrases_tokenized est une liste d'une liste de jetons:
Les phrases sont tirées de l'exemple de cahier ipython accompagnant le livre "Mining the Social Web, 2nd Edition"
la source
À partir de la ligne de commande bash, exécutez:
la source
nltk_data
dans mon répertoire personnel et y enregistre du punkt. J'ai Fedora 27, Py3.6.Cela fonctionne pour moi:
Dans Windows, vous obtiendrez également le téléchargeur nltk
la source
Simple
nltk.download()
ne résoudra pas ce problème. J'ai essayé ce qui suit et cela a fonctionné pour moi:dans le
nltk
dossier, créez untokenizers
dossier et copiez votrepunkt
dossier dans letokenizers
dossier.Cela fonctionnera.! la structure du dossier doit être comme indiqué sur l'image! 1
la source
nltk a ses modèles de jetons pré-entraînés. Le modèle est téléchargé à partir de sources Web prédéfinies en interne et stocké sur le chemin du package nltk installé lors de l'exécution des appels de fonction possibles.
Par exemple, 1 tokenizer = nltk.data.load ('nltk: tokenizers / punkt / english.pickle')
Par exemple, 2 nltk.download ('punkt')
Si vous appelez la phrase ci-dessus dans votre code, assurez-vous d'avoir une connexion Internet sans aucune protection pare-feu.
Je voudrais partager une meilleure façon alternative de résoudre le problème ci-dessus avec une meilleure compréhension approfondie.
Veuillez suivre les étapes suivantes et profiter de la tokenisation du mot anglais en utilisant nltk.
Étape 1: Téléchargez d'abord le modèle "english.pickle" en suivant le chemin Web.
Allez sur le lien " http://www.nltk.org/nltk_data/ " et cliquez sur "télécharger" à l'option "107. Punkt Tokenizer Models"
Étape 2: Extrayez le fichier "punkt.zip" téléchargé et trouvez le fichier "english.pickle" à partir de celui-ci et placez-le dans le lecteur C.
Étape 3: copiez, collez le code suivant et exécutez.
Faites-moi savoir si vous rencontrez un problème
la source
Sur Jenkins, cela peut être corrigé en ajoutant le code suivant à Virtualenv Builder sous l' onglet Build :
python -m nltk.downloader punkt
la source
Je suis tombé sur ce problème lorsque j'essayais de faire du marquage pos dans nltk. la façon dont je l'ai obtenu correctement est de créer un nouveau répertoire avec le répertoire corpora nommé "taggers" et de copier max_pos_tagger dans les taggers de répertoire.
J'espère que ça marchera pour toi aussi. Bonne chance avec ça!!!.
la source
Dans Spyder, accédez à votre shell actif et téléchargez nltk en utilisant les 2 commandes ci-dessous. import nltk nltk.download () Ensuite, vous devriez voir la fenêtre de téléchargement de NLTK ouverte comme ci-dessous, allez dans l'onglet 'Modèles' dans cette fenêtre et cliquez sur 'punkt' et téléchargez 'punkt'
la source
Vérifiez si vous disposez de toutes les bibliothèques NLTK.
la source
Les données des tokenizers punkt sont assez volumineuses à plus de 35 Mo , cela peut être un gros problème si comme moi vous exécutez nltk dans un environnement tel que lambda qui a des ressources limitées.
Si vous n'avez besoin que d'un ou peut-être de quelques jetons de langue, vous pouvez réduire considérablement la taille des données en n'incluant que ces langues.
.pickle
fichiers de .Si vous n'avez besoin que de prendre en charge l'anglais, la taille de vos données nltk peut être réduite à 407 Ko (pour la version python 3).
Pas
nltk_data/tokenizers/punkt
si vous utilisez python 3, ajoutez un autre dossierPY3
pour que votre nouvelle structure de répertoires ressemble ànltk_data/tokenizers/punkt/PY3
. Dans mon cas, j'ai créé ces dossiers à la racine de mon projet..pickle
fichiers des langues que vous souhaitez prendre en charge dans lepunkt
dossier que vous venez de créer. Remarque: les utilisateurs de Python 3 doivent utiliser les cornichons duPY3
dossier. Avec vos fichiers de langue chargés, cela devrait ressembler à quelque chose comme: exemple-dossier-structurenltk_data
dossier aux chemins de recherche, en supposant que vos données ne se trouvent pas dans l'un des chemins de recherche prédéfinis . Vous pouvez ajouter vos données à l'aide de la variable d'environnementNLTK_DATA='path/to/your/nltk_data'
. Vous pouvez également ajouter un chemin personnalisé au moment de l'exécution en python en faisant:REMARQUE: si vous n'avez pas besoin de charger les données lors de l'exécution ou de regrouper les données avec votre code, il serait préférable de créer vos
nltk_data
dossiers aux emplacements intégrés recherchés par nltk .la source
nltk.download()
ne résoudra pas ce problème. J'ai essayé ce qui suit et cela a fonctionné pour moi:dans le
'...AppData\Roaming\nltk_data\tokenizers'
dossier, extrayez lepunkt.zip
dossier téléchargé au même emplacement.la source
Dans
Python-3.6
je peux voir la suggestion dans le retraçage. C'est très utile. Par conséquent, je dirai que vous devez faire attention à l'erreur que vous avez, la plupart du temps, les réponses sont dans ce problème;).Et puis, comme suggéré par d'autres personnes ici, soit en utilisant le terminal python, soit en utilisant une commande comme
python -c "import nltk; nltk.download('wordnet')"
nous pouvons les installer à la volée. Il vous suffit d'exécuter cette commande une fois, puis elle enregistrera les données localement dans votre répertoire personnel.la source
J'ai eu un problème similaire lors de l'utilisation d'un dossier attribué pour plusieurs téléchargements, et j'ai dû ajouter le chemin des données manuellement:
téléchargement unique, peut être réalisé comme suit (travaux)
Ce code fonctionne, ce qui signifie que nltk se souvient du chemin de téléchargement passé dans la fonction de téléchargement. Sur les autres nads, si je télécharge un package ultérieur, j'obtiens une erreur similaire à celle décrite par l'utilisateur:
Plusieurs téléchargements génèrent une erreur:
Erreur:
Punkt de ressource introuvable. Veuillez utiliser le téléchargeur NLTK pour obtenir la ressource:
import nltk nltk.download ('punkt')
Maintenant, si j'ajoute le chemin de données ntlk avec mon chemin de téléchargement, cela fonctionne:
Cela fonctionne ... Je ne sais pas pourquoi cela fonctionne dans un cas mais pas dans l'autre, mais le message d'erreur semble impliquer qu'il ne s'enregistre pas dans le dossier de téléchargement la deuxième fois. NB: en utilisant windows8.1 / python3.7 / nltk3.5
la source