NLTK Tokenize: Tokenizador de palabras y oraciones con ejemplo

โšก Resumen inteligente

NLTK Tokenize divide textos extensos en unidades mรกs pequeรฑas llamadas tokens, un paso fundamental en el procesamiento del lenguaje natural. El conjunto de herramientas proporciona word_tokenize para dividir oraciones en palabras y sent_tokenize para dividir texto en oraciones individuales.

  • โœ‚๏ธ Tokenizaciรณn: Divide textos extensos en unidades mรกs pequeรฑas llamadas tokens para su anรกlisis.
  • ๐Ÿง  PNL Foundation: Sirve como paso base para la derivaciรณn, la lematizaciรณn y la conversiรณn de texto a nรบmeros.
  • ๐Ÿ”ค tokenizar_palabra(): Divide una oraciรณn en palabras individuales, separando la puntuaciรณn.
  • ๐Ÿ“ sent_tokenize(): Divide un pasaje en oraciones separadas.
  • ๐Ÿ“Š Caso de uso: La combinaciรณn de ambos mรฉtodos permite calcular caracterรญsticas como el promedio de palabras por oraciรณn para el aprendizaje automรกtico.

Tokenizaciรณn NLTK

ยฟQuรฉ es la tokenizaciรณn?

Tokenization 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 la 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. Se vuelve vital comprender el patrรณn en el texto para lograr el propรณsito mencionado anteriormente.

Por el momento, no te preocupes por la lematizaciรณn y la derivaciรณn, sino que trรกtalas como pasos para la limpieza de datos textuales mediante NLP (procesamiento del lenguaje natural). Hablaremos de la lematizaciรณn y la derivaciรณn mรกs adelante en el tutorial. Tareas como Clasificaciรณn de texto o filtrado de spam hace uso de PNL junto con bibliotecas de aprendizaje profundo como Keras y Flujo tensor.

El kit de herramientas de lenguaje natural tiene un mรณdulo muy importante NLTK tokenize oraciones que ademรกs se componen de submรณdulos

  1. palabra tokenizar
  2. tokenizar oraciรณn

Tokenizaciรณn de palabras

Usamos el mรฉtodo palabra_tokenize() dividir una oraciรณn en palabras. El resultado 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 pasos adicionales de limpieza de texto, como eliminaciรณn de puntuaciรณn, eliminaciรณn de caracteres numรฉricos o derivaciรณn. 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 de la conversiรณn de texto (cadena) a datos numรฉricos. Por favor lea sobre Bolsa de Palabras o CountVectorizer. Consulte el ejemplo de NLTK de tokenizaciรณn de palabras a continuaciรณn para comprender mejor la teorรญa.

from nltk.tokenize import word_tokenize
text = "God is Great! I won a lottery."
print(word_tokenize(text))

Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']

Tokenizaciรณn de palabras

Code Explicaciรณn

  1. El mรณdulo word_tokenize se importa de la biblioteca NLTK.
  2. Un โ€œtextoโ€ variable se inicializa con dos oraciones.
  3. La variable de texto se pasa al mรณdulo word_tokenize y se imprime el resultado. Este mรณdulo divide cada palabra con puntuaciรณn que puede ver en el resultado.

Tokenizaciรณn de oraciones

El submรณdulo disponible para lo anterior es sent_tokenize. Una pregunta obvia en tu 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 calcularรกs? Para realizar tal tarea, necesita tanto el tokenizador de oraciones NLTK como el tokenizador de palabras NLTK para calcular la proporciรณn. Este resultado sirve como una caracterรญstica importante para el entrenamiento de mรกquinas, ya que la respuesta serรญa numรฉrica.

Consulte el siguiente ejemplo de tokenizador NLTK para saber en quรฉ se diferencia la tokenizaciรณn de oraciones de la tokenizaciรณn de palabras.

from nltk.tokenize import sent_tokenize
text = "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.

Tokenizaciรณn de oraciones

Explicaciรณn del programa.

  1. En una lรญnea como el programa anterior, importe el mรณdulo sent_tokenize.
  2. Hemos tomado la misma frase. Un tokenizador de oraciones adicional en el mรณdulo NLTK analiza esas oraciones y muestra el resultado. Estรก claro que esta funciรณn rompe cada frase.

Tokenizador de palabras encima Python Algunos ejemplos son buenos escenarios para comprender la mecรกnica de la tokenizaciรณn de palabras y oraciones.

Preguntas Frecuentes

La tokenizaciรณn de palabras divide el texto en palabras individuales y signos de puntuaciรณn mediante la funciรณn word_tokenize(), mientras que la tokenizaciรณn de oraciones divide el texto en oraciones separadas mediante la funciรณn sent_tokenize(). Ambas se suelen combinar para obtener caracterรญsticas como el nรบmero de palabras por oraciรณn.

La tokenizaciรณn es el primer paso que convierte el texto sin formato en unidades manejables, lo que permite la detecciรณn de patrones, la derivaciรณn, la lematizaciรณn y la conversiรณn a caracterรญsticas numรฉricas que los modelos de aprendizaje automรกtico requieren para tareas como la clasificaciรณn y la traducciรณn.

Sรญ. NLTK admite varios idiomas cargando el modelo Punkt correspondiente, por ejemplo, sent_tokenize(text, language='french'). La compatibilidad varรญa segรบn el idioma, y โ€‹โ€‹algunos sistemas de escritura pueden requerir tokenizadores especializados.

Los modelos de lenguaje complejos convierten el texto en tokens, a menudo fragmentos de subpalabras, antes de procesarlo. El modelo predice el siguiente token basรกndose en los anteriores, por lo que la tokenizaciรณn afecta directamente a la longitud del contexto, el coste y la calidad de la salida.

Sรญ. Los analizadores de palabras mediante IA modernos utilizan mรฉtodos de subpalabras como la codificaciรณn de pares de bytes o WordPiece, dividiendo las palabras poco frecuentes en fragmentos mรกs pequeรฑos. Esto mantiene los vocabularios compactos a la vez que permite representar palabras desconocidas o compuestas.

Resumir este post con: