Tokenize NLTK: Tokenizer de palabras y oraciones con ejemplo

¿Qué es la tokenización?

La tokenización es el proceso mediante el cual una gran cantidad de texto se divide en partes más pequeñas llamadas tokens. Estos tokens son muy útiles para encontrar patrones y se consideran un paso base para la derivación y lematización. La tokenización también ayuda a sustituir elementos de datos confidenciales por elementos de datos no confidenciales.

El procesamiento del lenguaje natural se utiliza para crear aplicaciones como clasificación de texto, chatbot inteligente, análisis sentimental, traducción de idiomas, etc. Es vital comprender el patrón en el texto para lograr el propósito mencionado anteriormente.

Por el momento, no se preocupe por la derivación y la lematización, trátelos como pasos para la limpieza de datos textuales utilizando NLP (procesamiento de lenguaje natural). Discutiremos la derivación y la lematización más adelante en el tutorial. Tareas como la clasificación de texto o el filtrado de spam utilizan NLP junto con bibliotecas de aprendizaje profundo como Keras y Tensorflow.

El kit de herramientas de lenguaje natural tiene un módulo muy importante NLTK tokenize oraciones que además se compone de submódulos

  1. tokenizar palabra
  2. tokenizar la oración

Tokenización de palabras

Usamos el método word_tokenize () para dividir una oración en palabras. La salida de la tokenización de palabras se puede convertir a Data Frame para una mejor comprensión del texto en aplicaciones de aprendizaje automático. También se puede proporcionar como entrada para otros pasos de limpieza de texto, como la eliminación de puntuación, la eliminación de caracteres numéricos o la raíz. Los modelos de aprendizaje automático necesitan datos numéricos para entrenarse y hacer una predicción. La tokenización de palabras se convierte en una parte crucial del texto (cadena) para la conversión de datos numéricos. Lea sobre Bag of Words o CountVectorizer. Consulte el siguiente ejemplo de tokenización de palabras NLTK para comprender mejor la teoría.

from nltk.tokenize import word_tokenizetext = "God is Great! I won a lottery."print(word_tokenize(text))Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']

Explicación del código

  1. El módulo word_tokenize se importa de la biblioteca NLTK.
  2. Un "texto" variable se inicializa con dos frases.
  3. La variable de texto se pasa en el módulo word_tokenize y se imprime el resultado. Este módulo divide cada palabra con puntuación que puede ver en la salida.

Tokenización de sentencias

El submódulo disponible para lo anterior es sent_tokenize. Una pregunta obvia en su mente sería por qué es necesaria la tokenización de oraciones cuando tenemos la opción de tokenización de palabras . Imagina que necesitas contar el promedio de palabras por oración, ¿cómo lo harás? Para lograr tal tarea, necesita tanto el tokenizador de oraciones NLTK como el tokenizador de palabras NLTK para calcular la proporción. Tal salida sirve como una característica importante para el entrenamiento de la máquina, ya que la respuesta sería numérica.

Consulte el siguiente ejemplo de tokenizador NLTK para aprender en qué se diferencia la tokenización de oraciones de la tokenización de palabras.

from nltk.tokenize import sent_tokenizetext = "God is Great! I won a lottery."print(sent_tokenize(text))Output: ['God is Great!', 'I won a lottery ']

Tenemos 12 palabras y dos oraciones para la misma entrada.

Explicación del programa:

  1. En una línea como el programa anterior, importó el módulo sent_tokenize.
  2. Hemos tomado la misma sentencia. El tokenizador de oraciones adicional en el módulo NLTK analizó esas oraciones y mostró la salida. Está claro que esta función rompe cada frase.

Los ejemplos de Python de tokenizador de palabras anteriores son buenas piedras de configuración para comprender la mecánica de la tokenización de palabras y oraciones.

Resumen

  • La tokenización en PNL es el proceso mediante el cual una gran cantidad de texto se divide en partes más pequeñas llamadas tokens.
  • El procesamiento del lenguaje natural se utiliza para crear aplicaciones como clasificación de texto, chatbot inteligente, análisis sentimental, traducción de idiomas, etc.
  • El kit de herramientas de lenguaje natural tiene un módulo muy importante NLTK tokenize oración que además se compone de submódulos
  • Usamos el método word_tokenize () para dividir una oración en palabras. La salida del tokenizador de palabras en NLTK se puede convertir a Data Frame para una mejor comprensión del texto en aplicaciones de aprendizaje automático.
  • El submódulo disponible para lo anterior es sent_tokenize. El tokenizador de frases en Python NLTK es una característica importante para el entrenamiento de máquinas.

Articulos interesantes...