CountVectorizer para extraer características de textos en Python, en detalle |  de Rashida Nasrin Sucky |  octubre de 2023
Foto por Towfiqu barbhuiya en desempaquetar

Todo lo que necesitas saber para utilizar CountVectorizer de manera eficiente en Sklearn

El procesamiento de datos más básico que requiere cualquier proyecto de procesamiento del lenguaje natural (PLN) es convertir los datos de texto en datos numéricos. Mientras los datos estén en forma de texto, no podemos realizar ningún tipo de acción de cálculo sobre ellos.

Hay varios métodos disponibles para esta conversión de texto a datos numéricos. Este tutorial explicará uno de los vectorizadores más básicos, el método CountVectorizer en la biblioteca scikit-learn.

Este método es muy sencillo. Toma la frecuencia de aparición de cada palabra como valor numérico. Un ejemplo lo aclarará.

En el siguiente bloque de código:

  • Importaremos el método CountVectorizer.
  • Llame al método.
  • Ajuste los datos de texto al método CountVectorizer y conviértalos en una matriz.
import pandas as pd 
from sklearn.feature_extraction.text import CountVectorizer

#This is the text to be vectorized
text = ["Hello Everyone! This is Lilly. My aunt's name is also Lilly. I love my aunt.\
I am trying to learn how to use count vectorizer."]

cv= CountVectorizer()
count_matrix = cv.fit_transform(text)
cnt_arr = count_matrix.toarray()
cnt_arr

Producción:

array([[1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1]],
dtype=int64)

Aquí tengo los valores numéricos que representan los datos de texto anteriores.

¿Cómo sabemos qué valores representan qué palabras en el texto?

Para dejarlo claro, será útil convertir la matriz en un DataFrame donde los nombres de las columnas serán las palabras mismas.

cnt_df = pd.DataFrame(data = cnt_arr, columns = cv.get_feature_names())
cnt_df

Ahora se nota claramente. El valor de la palabra ‘también’ es 1, lo que significa que ‘también’ apareció solo una vez en la prueba. La palabra “tía” apareció dos veces en el texto. Entonces, el valor de la palabra ‘tía’ es 2.

En el último ejemplo, todas las oraciones estaban en una sola cadena. Entonces, obtuvimos solo una fila de datos para cuatro oraciones. Reorganicemos el texto y…