Recurso u'tokenizers / punkt / english.pickle 'no encontrado


96

Mi código:

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

Mensaje de error:

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

Estoy tratando de ejecutar este programa en una máquina Unix:

Según el mensaje de error, inicié sesión en el shell de Python desde mi máquina Unix y luego utilicé los siguientes comandos:

import nltk
nltk.download()

y luego descargué todas las cosas disponibles usando las opciones d-down loader y l- list, pero el problema persiste.

Hice todo lo posible para encontrar la solución en Internet, pero obtuve la misma solución que hice como mencioné en los pasos anteriores.


Respuestas:


171

Para agregar a la respuesta de alvas , puede descargar solo el punktcorpus:

nltk.download('punkt')

Descargar allsuena como una exageración para mí. A menos que eso sea lo que quieras.


Gracias por el nombre del corpus nltk.
Austin A

Tuve que actualizar a la última versión 3.2.5 de nltk para que nltk.download ('punkt') funcione.
charles gomes

Esto es lo que me pasa después de ejecutar el código anterior: [nltk_data] Punkt carga de error: <error urlopen [Errno 111] Conexión [nltk_data] negado>
Paul

Con respecto a mi problema anterior, todo lo que tenía que hacer era apagar mi VPN.
Paul

59

Si solo desea descargar el punktmodelo:

import nltk
nltk.download('punkt')

Si no está seguro de qué datos / modelo necesita, puede instalar los populares conjuntos de datos, modelos y etiquetadores de NLTK:

import nltk
nltk.download('popular')

Con el comando anterior, no es necesario utilizar la GUI para descargar los conjuntos de datos.


34

Tengo la solucion:

import nltk
nltk.download()

una vez que se inicia NLTK Downloader

d) Descargar l) Listar u) Actualizar c) Configurar h) Ayuda q) Salir

Descargador> d

¿Descargar qué paquete (l = lista; x = cancelar)? Identificador> punkt


25

Desde el shell puede ejecutar:

sudo python -m nltk.downloader punkt 

Si desea instalar los populares modelos / corpora NLTK:

sudo python -m nltk.downloader popular

Si desea instalar todos los corpora / modelos NLTK:

sudo python -m nltk.downloader all

Para enumerar los recursos que ha descargado:

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"))'

10
import nltk
nltk.download('punkt')

Abra el indicador de Python y ejecute las declaraciones anteriores.

La función sent_tokenize usa una instancia de PunktSentenceTokenizer del módulo nltk.tokenize.punkt . Esta instancia ya ha sido entrenada y funciona bien para muchos idiomas europeos. Entonces sabe qué puntuación y caracteres marcan el final de una oración y el comienzo de una nueva oración.


9

Lo mismo me pasó a mí recientemente, solo necesitas descargar el paquete "punkt" y debería funcionar.

Cuando ejecuta "list" (l) después de haber "descargado todas las cosas disponibles", ¿está todo marcado como la siguiente línea ?:

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

Si ve esta línea con la estrella, significa que la tiene y nltk debería poder cargarla.


1
Hola @ supreeth-meka, me alegra que hayas encontrado la solución, es lo que te sugerí, ¿puedes marcar mi respuesta como "Aceptada" por favor?
eeelnico

5

Vaya a la consola de Python escribiendo

$ python

en tu terminal. Luego, escriba los siguientes 2 comandos en su shell de Python para instalar los paquetes respectivos:

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

Esto me resolvió el problema.


2

Mi problema fue que llamé nltk.download('all') como usuario root, pero el proceso que finalmente usó nltk fue otro usuario que no tenía acceso a / root / nltk_data donde se descargó el contenido.

Así que simplemente copié de forma recursiva todo, desde la ubicación de descarga a una de las rutas donde NLTK buscaba encontrarlo así:

cp -R /root/nltk_data/ /home/ubuntu/nltk_data

2
  1. Ejecute el siguiente código:

    import nltk
    nltk.download()
  2. Después de esto, aparecerá el descargador NLTK.

  3. Seleccione Todos los paquetes.
  4. Descarga el siguiente punkt.

2

Recibí un error a pesar de importar lo siguiente,

import nltk
nltk.download()

pero para google colab esto resolvió mi problema.

   !python3 -c "import nltk; nltk.download('all')"


1

Necesita reorganizar sus carpetas Mueva su tokenizerscarpeta a la nltk_datacarpeta. Esto no funciona si tiene una nltk_datacarpeta que contiene la corporacarpeta que contiene la tokenizerscarpeta


1

Para mí, nada de lo anterior funcionó, así que descargué todos los archivos a mano desde el sitio web http://www.nltk.org/nltk_data/ y los puse también a mano en un archivo "tokenizadores" dentro de "nltk_data". "carpeta. No es una solución bonita, pero sigue siendo una solución.


1

Después de agregar esta línea de código, se solucionará el problema:

nltk.download('punkt')

0

Me enfrenté al mismo problema. Después de descargar todo, todavía estaba allí el error 'punkt'. Busqué el paquete en mi máquina con Windows en C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers y puedo ver 'punkt.zip' presente allí. Me di cuenta de que de alguna manera el zip no se ha extraído en C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers \ punk. Una vez que extraje el zip, funcionó como música.



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.