Al intentar cargar el punkttokenizer ...
import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')
... a LookupErrorse planteó:
> 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()Respuestas:
Yo tuve el mísmo problema. Entra en un shell de python y escribe:
Luego aparece una ventana de instalación. Vaya a la pestaña 'Modelos' y seleccione 'punkt' debajo de la columna 'Identificador'. Luego haga clic en Descargar e instalará los archivos necesarios. ¡Entonces debería funcionar!
fuente
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')deben entonces el trabajo y se puede utilizar tokenizer este modo:tokenizer.tokenize('The cat. The mat. It Sat.'). Aquí nltk intenta resolver la ruta relativatokenizers/punkt/english.pickleen varias ubicaciones. Por ejemplo, en Windows se ve%APPDATA%\nltk_data\tokenizers\punkt\english.pickleoC:\nltk_data\tokenizers\punkt\english.pickle(lo mismo para D: y E :). Entonces, si se asegura de que el archivo punkt.zip esté descomprimido de tal manera que exista una de esas ubicaciones, debería poder encontrarlo.NLTK_DATAvariable de entorno para que apunte a la carpeta nltk_data para que%NLTK_DATA%\tokenizers\punkt\english.pickleexista.sshconexión), no habrá una ventana GUI y, por lo tanto, no habrá una pestaña 'Modelos'.Puedes hacer eso así.
Puede descargar los tokenizadores pasando
punktcomo argumento a ladownloadfunción. Los tokenizadores de palabras y oraciones están disponibles ennltk.Si quiere descargar todo lo que es decir
chunkers,grammars,misc,sentiment,taggers,corpora,help,models,stemmers,tokenizers, no pase ningún argumento como éste.Vea esto para obtener más información. https://www.nltk.org/data.html
fuente
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 timeoutEsto es lo que funcionó para mí en este momento:
words_tokenized es una lista de una lista de tokens:
Las oraciones fueron tomadas del ejemplo de cuaderno de notas de ipython que acompaña al libro "Mining the Social Web, 2nd Edition"
fuente
Desde la línea de comando bash, ejecute:
fuente
nltk_dataen mi directorio de inicio y guarda punkt en él. Tengo Fedora 27, Py3.6.Esto funciona para mi:
En Windows también obtendrá el descargador nltk
fuente
Simple
nltk.download()no resolverá este problema. Intenté lo siguiente y funcionó para mí:en la
nltkcarpeta cree unatokenizerscarpeta y copie supunktcarpeta en latokenizerscarpeta.¡Esto funcionará! ¡La estructura de carpetas debe ser como se muestra en la imagen! 1
fuente
nltk tiene sus modelos de tokenizadores pre-entrenados. El modelo se descarga desde fuentes web predefinidas internamente y se almacena en la ruta del paquete nltk instalado mientras se ejecutan las siguientes llamadas de función posibles.
Por ejemplo, 1 tokenizer = nltk.data.load ('nltk: tokenizers / punkt / english.pickle')
Por ejemplo, 2 nltk.download ('punkt')
Si llama a la oración anterior en su código, asegúrese de tener conexión a Internet sin ninguna protección de firewall.
Me gustaría compartir una forma alternativa mejor para resolver el problema anterior con una comprensión más profunda.
Siga los siguientes pasos y disfrute de la tokenización de palabras en inglés usando nltk.
Paso 1: Primero descargue el modelo "english.pickle" siguiendo la ruta web.
Vaya al enlace " http://www.nltk.org/nltk_data/ " y haga clic en "descargar" en la opción "107. Modelos de Tokenizer Punkt"
Paso 2: Extraiga el archivo descargado "punkt.zip" y busque el archivo "english.pickle" y colóquelo en la unidad C.
Paso 3: copie y pegue el siguiente código y ejecútelo.
Avísame si tienes algún problema
fuente
En Jenkins, esto se puede solucionar agregando el siguiente código similar a Virtualenv Builder en la pestaña Build :
python -m nltk.downloader punktfuente
Me encontré con este problema cuando estaba tratando de etiquetar pos en nltk. La forma en que lo hice correcto es creando un nuevo directorio junto con el directorio de corpus llamado "etiquetadoras" y copiando max_pos_tagger en los etiquetadoras de directorio.
Espero que funcione para usted también. ¡¡¡Buena suerte con eso!!!.
fuente
En Spyder, vaya a su shell activo y descargue nltk usando los siguientes 2 comandos. import nltk nltk.download () Entonces debería ver la ventana del descargador NLTK abierta como se muestra a continuación, vaya a la pestaña 'Modelos' en esta ventana y haga clic en 'punkt' y descargue 'punkt'
fuente
Compruebe si tiene todas las bibliotecas NLTK.
fuente
Los datos de los tokenizadores punkt son bastante grandes con más de 35 MB , esto puede ser un gran problema si, como yo, está ejecutando nltk en un entorno como lambda que tiene recursos limitados.
Si solo necesita uno o quizás algunos tokenizadores de idioma, puede reducir drásticamente el tamaño de los datos al incluir solo esos
.picklearchivos de idiomas .Si todo lo que necesita es admitir inglés, su tamaño de datos nltk se puede reducir a 407 KB (para la versión de python 3).
Pasos
nltk_data/tokenizers/punktsi usa Python 3, agregue otra carpetaPY3para que se vea su nueva estructura de directoriosnltk_data/tokenizers/punkt/PY3. En mi caso, creé estas carpetas en la raíz de mi proyecto..picklearchivo zip y mueva los archivos de los idiomas que desea admitir a lapunktcarpeta que acaba de crear. Nota: Los usuarios de Python 3 deben usar los pepinillos de laPY3carpeta. Con sus archivos de idioma cargados, debería verse algo así como: ejemplo-carpeta-estucturanltk_datacarpeta a las rutas de búsqueda, suponiendo que sus datos no estén en una de las rutas de búsqueda predefinidas . Puede agregar sus datos utilizando la variable de entornoNLTK_DATA='path/to/your/nltk_data'. También puede agregar una ruta personalizada en tiempo de ejecución en python haciendo:NOTA: Si no necesita cargar los datos en tiempo de ejecución o agrupar los datos con su código, sería mejor crear sus
nltk_datacarpetas en las ubicaciones integradas que nltk busca .fuente
nltk.download()No resolverá este problema. Intenté lo siguiente y funcionó para mí:en la
'...AppData\Roaming\nltk_data\tokenizers'carpeta, extraiga lapunkt.zipcarpeta descargada en la misma ubicación.fuente
En
Python-3.6puedo ver la sugerencia en el rastreo. Eso es muy útil. Por lo tanto, les diré que presten atención al error que obtuvieron, la mayoría de las veces las respuestas están dentro de ese problema;).Y luego, como lo sugirieron otras personas aquí, ya sea usando la terminal de Python o usando un comando como
python -c "import nltk; nltk.download('wordnet')"podemos instalarlos sobre la marcha. Solo necesita ejecutar ese comando una vez y luego guardará los datos localmente en su directorio de inicio.fuente
Tuve un problema similar al usar una carpeta asignada para múltiples descargas, y tuve que agregar la ruta de datos manualmente:
descarga única, se puede lograr de la siguiente manera (funciona)
Este código funciona, lo que significa que nltk recuerda la ruta de descarga pasada en la función de descarga. Por otro lado, si descargo un paquete posterior obtengo un error similar al descrito por el usuario:
Las descargas múltiples generan un error:
Error:
Punkt de recursos no encontrado. Utilice el descargador NLTK para obtener el recurso:
import nltk nltk.download ('punkt')
Ahora, si agrego la ruta de datos ntlk con mi ruta de descarga, funciona:
Esto funciona ... No estoy seguro de por qué funciona en un caso pero no en el otro, pero el mensaje de error parece implicar que no se registra en la carpeta de descarga la segunda vez. NB: usando windows8.1 / python3.7 / nltk3.5
fuente