Instalación de NLTK en Linux
Para instalar NLTK en Ubuntu, ejecute el comando a continuación:
$ sudo apt install python3-nltk
Los paquetes NLTK están disponibles en todas las principales distribuciones de Linux. Busque la palabra clave "NLTK" en el Administrador de paquetes para instalar los paquetes. Si por alguna razón, NLTK no está disponible en los repositorios de su distribución, puede instalarlo desde el Administrador de paquetes PIP ejecutando el comando a continuación:
$ PIP Install -User -U NLTK
Tenga en cuenta que primero tendrá que instalar PIP desde su Administrador de paquetes para que el comando anterior funcione. En algunas distribuciones, se puede llamar PIP3. También puede seguir instrucciones de instalación detalladas disponibles en el sitio web oficial de NLTK.
Extraer oraciones de un párrafo usando NLTK
Para párrafos sin puntuaciones y espacios complejos, puede usar el tokenizador de oración NLTK incorporado, llamado "Tokenizer punkt", que viene con un modelo previamente capacitado. También puede usar sus propios modelos de datos capacitados para tokenizar el texto en oraciones. Los modelos de datos capacitados a medida están fuera del alcance de este artículo, por lo que el código a continuación utilizará el tokenizador de inglés punkt incorporado. Para descargar el archivo de recursos Punkt, ejecute los siguientes tres comandos en sucesión y espere a que finalice la descarga:
$ python3
$ import nltk
$ nltk.Descargar ('Punkt')
Un párrafo de "Alice's Adventures in Wonderland" se utilizará en la muestra de código a continuación:
importar nltkEjecutar el código anterior le dará la siguiente salida:
El tokenizador de oración punkt incorporado funciona bien si desea tokenizar párrafos simples. Después de importar el módulo NLTK, todo lo que necesita hacer es usar el método "Sent_tokenize ()" en un corpus de texto grande. Sin embargo, el tokenizador de oraciones punkt puede no detectar correctamente las oraciones cuando hay un párrafo complejo que contiene muchos signos de puntuación, marcos de exclamación, abreviaturas o símbolos repetitivos. No es posible definir una forma estándar de superar estos problemas. Tendrá que escribir un código personalizado para abordar estos problemas utilizando regex, manipulación de cadenas o capacitando su propio modelo de datos en lugar de usar el modelo de datos Punkt incorporado.
También puede intentar ajustar el modelo PUNKT existente para corregir la tokenización incorrecta utilizando algunos parámetros adicionales. Para hacerlo, siga la documentación oficial de Tokenización Punkt disponible aquí. Para usar sus propios ajustes personalizados, se requiere un ligero cambio en el código:
de nltk.tokenizar.Punkt Importación PunktsentenceTokenizer, PunktParametersEl código anterior hace el mismo trabajo que el método "Sent_tokenize ()". Sin embargo, ahora puede definir sus propias reglas utilizando métodos incorporados y pasarlos como argumentos, como se describe en la documentación. Por ejemplo, se han agregado algunas abreviaturas al código anterior. Si estas abreviaturas son seguidas por puntuación, no se dividirán en una nueva oración. El comportamiento normal es usar un punto o período como una indicación del final de una oración.
Conclusión
NLTK y sus métodos de tokenización son bastante eficientes para tokenizar y procesar datos de texto. Sin embargo, los modelos previamente capacitados pueden no funcionar al 100% con diferentes tipos de textos. Es posible que deba mejorar los modelos existentes, entrenar y suministrar el suyo, o escribir su propio código para solucionar anomalías.