PNL | Cómo funciona la tokenización de texto, oración, palabras

El procesamiento del lenguaje natural (NLP) es un subcampo de la informática, la inteligencia artificial, la ingeniería de la información y la interacción humano-computadora. Este campo se enfoca en cómo programar computadoras para procesar y analizar grandes cantidades de datos de lenguaje natural. Es difícil de realizar ya que el proceso de lectura y comprensión de idiomas es mucho más complejo de lo que parece a primera vista.

La tokenización es el proceso de tokenizar o dividir una string, texto en una lista de tokens. Uno puede pensar en token como partes como una palabra es un token en una oración y una oración es un token en un párrafo.

Puntos clave del artículo –

  • Texto en tokenización de oraciones
  • Frases en palabras tokenización
  • Oraciones que usan tokenización de expresiones regulares

Código n.º 1: tokenización de oraciones: división de oraciones en el párrafo

from nltk.tokenize import sent_tokenize
  
text = "Hello everyone. Welcome to GeeksforGeeks. You are studying NLP article"
sent_tokenize(text)

Producción :

['Hello everyone.',
 'Welcome to GeeksforGeeks.',
 'You are studying NLP article']

¿Cómo sent_tokenize funciona?
La sent_tokenize función usa una instancia de PunktSentenceTokenizerfrom the nltk.tokenize.punkt module, que ya ha sido entrenada y, por lo tanto, sabe muy bien marcar el final y el comienzo de la oración en qué caracteres y puntuación.
 
Código #2: PunktSentenceTokenizer Cuando tenemos grandes cantidades de datos, entonces es eficiente usarlos.

import nltk.data
  
# Loading PunktSentenceTokenizer using English pickle file
tokenizer = nltk.data.load('tokenizers/punkt/PY3/english.pickle')
  
tokenizer.tokenize(text)

Producción :

['Hello everyone.',
 'Welcome to GeeksforGeeks.',
 'You are studying NLP article']

 
Código n.º 3: tokenizar oraciones de diferentes idiomas: también se pueden tokenizar oraciones de diferentes idiomas utilizando un archivo pickle diferente al inglés.

import nltk.data
  
spanish_tokenizer = nltk.data.load('tokenizers/punkt/PY3/spanish.pickle')
  
text = 'Hola amigo. Estoy bien.'
spanish_tokenizer.tokenize(text)

Producción :

['Hola amigo.', 
 'Estoy bien.']

 
Código n.° 4: tokenización de palabras: división de palabras en una oración.

from nltk.tokenize import word_tokenize
  
text = "Hello everyone. Welcome to GeeksforGeeks."
word_tokenize(text)

Producción :

['Hello', 'everyone', '.', 'Welcome', 'to', 'GeeksforGeeks', '.']

¿Cómo funciona word_tokenize ?
word_tokenize()La función es una función contenedora que llama a tokenize() en una instancia de TreebankWordTokenizer class.
 
Código #5: UsoTreebankWordTokenizer

from nltk.tokenize import TreebankWordTokenizer
  
tokenizer = TreebankWordTokenizer()
tokenizer.tokenize(text)

Producción :

['Hello', 'everyone.', 'Welcome', 'to', 'GeeksforGeeks', '.']

Estos tokenizadores funcionan separando las palabras mediante puntuación y espacios. Y como se mencionó en los resultados del código anteriores, no descarta la puntuación, lo que permite al usuario decidir qué hacer con la puntuación en el momento del preprocesamiento.
 
Código #6: PunktWordTokenizer No separa la puntuación de las palabras.

from nltk.tokenize import PunktWordTokenizer
  
tokenizer = PunktWordTokenizer()
tokenizer.tokenize("Let's see how it's working.")

Producción :

['Let', "'s", 'see', 'how', 'it', "'s", 'working', '.']

 
Código #6: WordPunctTokenizer Separa la puntuación de las palabras.

from nltk.tokenize import WordPunctTokenizer
  
tokenizer = WordPunctTokenizer()
tokenizer.tokenize("Let's see how it's working.")

Producción :

['Let', "'", 's', 'see', 'how', 'it', "'", 's', 'working', '.']

 
Código #7: Uso de expresiones regulares

from nltk.tokenize import RegexpTokenizer
  
tokenizer = RegexpTokenizer("[\w']+")
text = "Let's see how it's working."
tokenizer.tokenize(text)

Producción :

["Let's", 'see', 'how', "it's", 'working']

 
Código #7: Uso de expresiones regulares

from nltk.tokenize import regexp_tokenize
  
text = "Let's see how it's working."
regexp_tokenize(text, "[\w']+")

Producción :

["Let's", 'see', 'how', "it's", 'working']

Publicación traducida automáticamente

Artículo escrito por Mohit Gupta_OMG 🙂 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *