Vectorización

class vectorizacion.VectorizadorDoc2Vec(n_elementos=100, minima_cuenta=5, epocas=20, semilla=1, archivo_modelo=None)

Bases: object

Constructor de la clase VectorizadorDoc2Vec. Permite hacer vectorizaciones usando Doc2Vec.

Parámetros
  • n_elementos (int, opcional) – Hace referencia al número de elementos o características (columnas) en las matrices de salida. Valor por defecto 100.

  • minima_cuenta (int, opcional) – Frecuencia mínima que debe tener cada término para ser tenido en cuenta en el modelo. Valor por defecto 5.

  • epocas (int, opcional) – Número de iteraciones que realiza la red neuronal al entrenar el modelo. Valor por defecto 20.

  • semilla (int, opcional) – El modelo tiene un componente aleatorio. Se establece una semilla para poder replicar los resultados. Valor por defecto 1.

  • archivo_modelo (str, opcional) – Ruta de archivo de vectorizador en formato pickle. Permite cargar un vectorizador generado previamente, los demás parámetros de inicialización no serán tenidos en cuenta, pues se tomarán del vectorizador cargado. Valor por defecto None.

entrenar_modelo(corpus_entrenamiento, actualizar=False, archivo_salida=None)

Permite entrenar un modelo a partir de un corpus de entrenamiento.

Parámetros
  • corpus_entrenamiento (list, array-like) – Lista de textos de interes para entrenar el modelo.

  • actualizar (bool, opcional) – Si actualizar = True, las nuevas palabras en los documentos se agregarán al vocabulario del modelo. Valor por defecto False.

  • archivo_salida (str, opcional) – Ruta donde desea exportar el vectorizador ajustado en formato pickle. Si archivo_salida = None no se guarda el vectorizador ajustado. Valor por defecto None.

vectorizar(textos, alpha=0.025, num_pasos=50, semilla=13)

Vectoriza los textos utilizando el vectorizador entrenado. Transformando los textos en una matriz documentos-términos. Llama la función vectorizar_texto.

Parámetros
  • texto (str, list, array-like) – Texto o textos de interés para ser vectorizado(s).

  • alpha (float, opcional) – Tasa de aprendizaje del modelo. Valor por defecto 0.025.

  • num_pasos (int, opcional) – Número de iteraciones usadas para entrenar el nuevo documento. Los valores más grandes toman más tiempo, pero pueden mejorar la calidad y la estabilidad de ejecución a ejecución de los vectores inferidos. Si no se especifica, se reutilizará el valor de épocas de la inicialización del modelo. Valor por defecto 50.

  • semilla (int, opcional) – El modelo tiene un componente aleatorio. Se establece una semilla para poder replicar los resultados. Valor por defecto 13.

Devuelve

(numpy.ndarray) Vectores documentos-términos de la vectorización de los textos.

vectorizar_texto(texto, alpha=0.025, num_pasos=50, semilla=13)

Vectoriza el texto utilizando el vectorizador entrenado. Transformando el texto en un vector documento-términos.

Parámetros
  • texto (str, list, array-like) – Texto o textos de interés para ser vectorizado(s).

  • alpha (float, opcional) – Tasa de aprendizaje del modelo. Valor por defecto 0.025.

  • num_pasos (int, opcional) – Número de iteraciones usadas para entrenar el nuevo documento. Los valores más grandes toman más tiempo, pero pueden mejorar la calidad y la estabilidad de ejecución a ejecución de los vectores inferidos. Si no se especifica, se reutilizará el valor de épocas de la inicialización del modelo. Valor por defecto 50.

  • semilla (int, opcional) – El modelo tiene un componente aleatorio. Se establece una semilla para poder replicar los resultados. Valor por defecto 13.

Devuelve

(numpy.ndarray) Vectores documentos-términos de la vectorización de los textos.

class vectorizacion.VectorizadorFrecuencias(tipo='bow', rango_ngramas=(1, 1), max_elementos=None, idf=True, archivo_modelo=None, **kwargs)

Bases: object

Constructor de la clase VectorizadorFrecuencias. Permite hacer vectorizaciones usando Bag of Words (BOW) o TF-IDF.

Parámetros
  • tipo ({'bow', 'tfidf'}, opcional) – Determina el tipo de vectorizador a inicializar. Valor por defecto “bow”.

  • rango_ngramas (tuple (int, int), opcional) – Límite inferior y superior del rango de valores n para los diferentes n-gramas que se van a extraer. Por ejemplo, un rango_ngramas de (1, 1) significa solo unigramas, (1, 2) significa unigramas y bigramas, y (2, 2) significa solo bigramas. Valor por defecto (1, 1).

  • max_elementos (int, opcional) – Número máximo de términos a ser tenidos en cuenta, se escogen los términos más frecuentes. Si max_elementos = None, se escogen todos los terminos. Valor por defecto None.

  • idf (bool, opcional) – Habilita la reponderación de pesos de los términos usando IDF. Si idf = False, se calcula solo la parte TF del vectorizador. Valor por defecto True.

  • archivo_modelo (str, opcional) – Ruta de ubicación del archivo vectorizador en formato pickle. Permite cargar un vectorizador generado previamente, los demás parámetros de inicialización no serán tenidos en cuenta, pues se tomarán del vectorizador cargado. Valor por defecto None.

  • kwargs – Parámetros adicionales que aceptan las clases CountVectorizer y TfidfVectorizer de la librería scikit-learn. Para mayor información sobre estas clases, y los párametros adicionales que se pueden configurar, consultar su documentacion en: https://scikit-learn.org/stable/modules/classes.html#module-sklearn.feature_extraction.text.

ajustar(textos, archivo_salida=None)

Permite ajustar el vocabulario del vectorizador de acuerdo con los textos de entrada.

Parámetros
  • textos (like-Array, iterable) – Objeto iterable con textos, unicode u archivos de texto de interés para ser procesados por el vectorizador.

  • archivo_salida (str, opcional) – Ruta donde desea exportar el vectorizador ajustado en formato pickle. Si archivo_salida = None no se guarda el vectorizador ajustado. Valor por defecto None.

fit(textos, archivo_salida=None)

Permite al vectorizador aprender el vocabulario de acuerdo con los textos de entrada. Llama la función ajustar.

Parámetros
  • textos (like-Array, iterable) – Objeto iterable con textos, unicode u archivos de texto de interés para ser procesados por el vectorizador.

  • archivo_salida (str, opcional) – Ruta donde desea exportar el vectorizador ajustado en formato pickle. Si archivo_salida = None no se guarda el vectorizador ajustado. Valor por defecto None.

inversa(x)

A partir de un vector o grupo de vectores, devuelve los términos con frecuencia mayor a 0 en el documento.

Parámetros

x (array-like) – Vector o grupo de vectores correspondientes a la vectorización de textos generada por un vectorizador.

Devuelve

(list) Lista de arrays con los términos más frecuentes correspondientes a los vectores de cada texto/documento.

transform(x, disperso=False)

Vectoriza los textos utilizando el vectorizador. Transformando los textos en una matriz documento-términos. Llama la función vectorizar.

Parámetros
  • textos (like-Array, iterable) – Objeto iterable con textos, unicode u archivos de texto de interés para ser vectorizados.

  • disperso (bool, opcional) – Si es True retorna los resultados como una matriz dispersa (csr_matrix). Si es False retorna los resultados como un numpy.array. Valor por defecto False.

Devuelve

(scipy.csr_matrix o numpy.ndarray) Vectores documentos-términos de la vectorización de los textos.

vectorizar(textos, disperso=False)

Vectoriza los textos utilizando el vectorizador. Transformando los textos en una matriz documentos-términos.

Parámetros
  • textos (array-like, iterable) – Objeto iterable con textos, unicode u archivos de texto de interés para ser vectorizados.

  • disperso (bool, opcional) – Si es True retorna los resultados como una matriz dispersa (csr_matrix). Si es False retorna los resultados como un numpy.array. Valor por defecto False.

Devuelve

(scipy.csr_matrix o numpy.ndarray) Vectores documentos-términos de la vectorización de los textos.

vocabulario()

Retorna el vocabulario del vectorizador entrenado.

Devuelve

(pandas.DataFrame) Vocabulario del vectorizador.

class vectorizacion.VectorizadorHash(n_elementos=100, rango_ngramas=(1, 1), **kwargs)

Bases: object

Constructor de la clase VectorizadorHash. Permite hacer vectorizaciones usando hashing.

Parámetros
  • n_elementos (int, opcional) – Hace referencia al número de elementos o características (columnas) en las matrices de salida. Valor por defecto 100.

  • rango_ngramas (tuple (int, int), opcional) – Límite inferior y superior del rango de valores n para los diferentes n-gramas que se van a extraer. Por ejemplo, un rango_ngramas de (1, 1) significa solo unigramas, (1, 2) significa unigramas y bigramas, y (2, 2) significa solo bigramas. Valor por defecto (1, 1).

  • kwargs – Parámetros adicionales que acepta la clase HashingVectorizer de la librería scikit-learn. Para mayor información sobre esta clase, y los párametros adicionales que se pueden configurar, consultar su documentacion: https://scikit-learn.org/stable/modules/classes.html#module-sklearn.feature_extraction.text.

transform(textos, disperso=False)

Vectoriza los textos utilizando el vectorizador. Transformando los textos en una matriz documento-términos. Llama la función `vectorizar`.

Parámetros
  • textos (array-like, iterable) – Objeto iterable con textos, unicode u archivos de texto de interés para ser vectorizados.

  • disperso (bool, opcional) – Si es True retorna los resultados como una matriz dispersa (csr_matrix). Si es False retorna los resultados como un numpy.array. Valor por defecto False.

Devuelve

(scipy.csr_matrix o numpy.ndarray) Vectores documentos-términos de la vectorización de los textos.

vectorizar(textos, disperso=False)

Vectoriza los textos utilizando el vectorizador. Transformando los textos en una matriz documentos-términos.

Parámetros
  • textos (array-like, iterable) – Objeto iterable con textos, unicode u archivos de texto de interés para ser vectorizados.

  • disperso (bool, opcional) – Si es True retorna los resultados como una matriz dispersa (csr_matrix). Si es False retorna los resultados como un numpy.array. Valor por defecto False.

Devuelve

(scipy.csr_matrix o numpy.ndarray) Vectores documentos-términos de la vectorización de los textos.

class vectorizacion.VectorizadorWord2Vec(lenguaje='es', dim_modelo='md', maxima_longitud=None)

Bases: object

Constructor de la clase VectorizadorWord2Vec. Permite hacer vectorizaciones utilizando Word2Vec. Utiliza un modelo pre-entrenado.

Parámetros
  • lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del corpus utilizado al pre-entrenar el vectorizador, el lenguaje debe corresponder al idioma del texto de entrada. Para mayor información, consultar la sección de Lenguajes soportados. Valor por defecto “es”.

  • dim_modelo ({'lg', 'md', 'sm'}, opcional) – Tamaño del modelo para pre-entrenar el vectorizador. “lg” es grande (large), “md” es mediano (medium) y “sm” es pequeño (small). Los modelos más grandes usualmente obtienen mejores resultados, pero requieren mayor tiempo de carga. Valor por defecto “md”.

  • maxima_longitud (int, opcional) – Establecer la máxima longitud (número de caracteres) que acepta el vectorizador en un texto de entrada. Si maxima_longitud = None, se utilizará la máxima longitud que trae Spacy por defecto (1 millón de caracteres). Valor por defecto None.

establecer_lenguaje(lenguaje)

Permite establecer el lenguaje a ser utilizado por el vectorizador.

Parámetros

lenguaje ({'es', 'en', 'fr', 'ge'}) – Define el lenguaje del corpus utilizado al pre-entrenar el vectorizador, el lenguaje debe corresponder al idioma del texto de entrada. Para mayor información, consultar la sección de Lenguajes soportados.

iniciar_vectorizador(dim_modelo, maxima_longitud)

Permite cargar el modelo de vectorizador a utilizar.

Parámetros
  • dim_modelo ({'lg', 'md', 'sm'}) – Tamaño del modelo para pre-entrenar el vectorizador. “lg” es grande (large), “md” es mediano (medium) y “sm” es pequeño (small). Los modelos más grandes usualmente obtienen mejores resultados, pero requieren mayor tiempo de carga.

  • maxima_longitud (int) – Establecer la máxima longitud (número de caracteres) que acepta el vectorizador en un texto de entrada. Si maxima_longitud = None, se utilizará la máxima longitud que trae Spacy por defecto (1 millón de caracteres).

similitud_textos(t1, t2)

Calcula la similitud coseno entre 2 palabras o textos.

Parámetros
  • t1 (str) – Primer texto de interés para el cálculo de similitud.

  • t2 (str) – Segundo texto de interés para el cálculo de similitud.

Devuelve

(float) Valor entre 0 y 1, donde 1 representa que los textos son iguales.

vectores_palabras(texto, tipo='diccionario')

Retorna las palabras y vectores que pertenecen a un texto.

Parámetros
  • texto (str) – Texto de interés a ser procesado.

  • tipo ({'diccionario', 'dataframe'}, opcional) – Si tipo = “diccionario” retorna los resultados como un objeto tipo diccionario, si es tipo = “dataframe”, retorna los resultados como un objeto tipo pandas.DataFrame. Valor por defecto “diccionario”.

Devuelve

(dict o dataframe) Palabras y vectores del texto.

vectorizar(textos, quitar_desconocidas: bool = False)

Vectoriza los textos utilizando el vectorizador. Transformando los textos en una matriz documentos-términos. Llama la función `vectorizar_texto`.

Parámetros
  • textos (array-like, iterable) – Objeto iterable con textos, unicode u archivos de texto de interés para ser vectorizados.

  • quitar_desconocidas (bool, opcional) – Cuando este argumento es False, para cada palabra desconocida se incluirá un vector de solo ceros, lo que afectará el vector promedio resultante. Si es True hará que la función sea ligeramente más demorada, pero quizás más precisa, al no tener en cuenta palabras que no están incluídas en el modelo. Valor por defecto False.

Devuelve

(numpy.ndarray) Vector documento-términos de la vectorización del texto.

vectorizar_texto(texto, quitar_desconocidas=False)

Vectoriza el texto utilizando el vectorizador. Transformando el texto en un vector documento-términos.

Parámetros
  • textos (array-like, iterable) – Objeto iterable con textos, unicode u archivos de texto de interés para ser vectorizados.

  • quitar_desconocidas (bool, opcional) – Cuando este argumento es False, para cada palabra desconocida se incluirá un vector de solo ceros, lo que afectará el vector promedio resultante. Si es True hará que la función sea ligeramente más demorada, pero quizás más precisa, al no tener en cuenta palabras que no están incluídas en el modelo. Valor por defecto False.

Devuelve

(numpy.ndarray) Vector documento-términos de la vectorización del texto.