Vectorización¶
- class vectorizacion.VectorizadorDoc2Vec(n_elementos=100, minima_cuenta=5, epocas=20, semilla=1, archivo_modelo='')¶
Bases:
object
Constructor de la clase VectorizadorDoc2Vec. Permite hacer vectorizaciones usando Doc2Vec.
- Parámetros
n_elementos – (int) Valor por defecto: 100. Número de elementos que tendrán los vectores generados por el vectorizador.
minima_cuenta – (int) Valor por defecto: 5. Frecuencia mínima que debe tener cada término para ser tenido en cuenta en el modelo.
epocas – (int) Valor por defecto: 20. Número de iteraciones que realiza la red neuronal al entrenar el modelo.
semilla – (int) Valor por defecto: 1. El modelo tiene un componente aleatorio. Se establece una semilla para poder replicar los resultados.
archivo_modelo – (str) Valor por defecto: “”. Ruta de archivo de un vectorizador en formato pickle (pk). 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.
- entrenar_modelo(corpus_entrenamiento, actualizar=False, archivo_salida='')¶
Permite entrenar un modelo a partir de un corpus de entrenamiento.
- Parámetros
corpus_entrenamiento – (list) Lista de textos de interes para entrenar el modelo.
actualizar – (bool) {True, False} Valor por defecto: False. Si True, las nuevas palabras en los documentos se agregarán al vocabulario del modelo.
archivo_salida – (str) Valor por defecto: “”. Ruta donde desea exportar el vectorizador ajustado. Usar formato pickle (pk)
- vectorizar(textos, alpha=0.025, num_pasos=50, semilla=13)¶
Vectoriza los textos utilizando el vectorizador. Transformando los textos en una matriz documentos-términos. Llama la función vectorizar_texto.
- Parámetros
textos – (str o list) Texto o lista con textos de interés para ser vectorizados.
alpha – (float) Valor por defecto: 0.025. Tasa de aprendizaje del modelo.
num_pasos – (int) Valor por defecto: 50. 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.
semilla – (int) Valor por defecto: 13. El vectorizador tiene un componente aleatorio. Se establece una semilla para poder replicar los resultados.
- 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. Transformando el texto en un vector documento-términos.
- Parámetros
texto – (str) Texto de interés para ser vectorizado.
alpha – (float) Valor por defecto: 0.025. Tasa de aprendizaje del modelo.
num_pasos – (int) Valor por defecto: 50. 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.
semilla – (int) Valor por defecto: 13. El vectorizador tiene un componente aleatorio. Se establece una semilla para poder replicar los resultados.
- 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='', **kwargs)¶
Bases:
object
Constructor de la clase VectorizadorFrecuencias. Permite hacer vectorizaciones usando Bag of Words (BOW) o TF-IDF.
- Parámetros
tipo – (str) {“bow”, “tfidf”} Valor por defecto: “bow”. Determina el tipo de vectorizador a inicializar.
rango_ngramas – (tupla) (int, int) Valor por defecto: (1, 1). 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.
max_elementos – (int) Valor por defecto: None. Número máximo de términos a ser tenidos en cuenta, se escogen los max_elementos términos más frecuentes.
idf – (bool) {True, False} Valor por defecto: True. Habilita la reponderación de pesos de los términos usando IDF.
archivo_modelo – (str) Valor por defecto: “”. Ruta de archivo de un vectorizador en formato pickle (pk). 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.
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 elementos adicionales que se pueden configurar, se puede consultar su documentacion: https://scikit-learn.org/stable/modules/classes.html#module-sklearn.feature_extraction.text.
- ajustar(x, archivo_salida='')¶
Permite al vectorizador aprender el vocabulario de acuerdo con los textos de entrada.
- Parámetros
x – Objeto iterable con textos (str), unicode u archivos de texto de interés para ser procesados por el vectorizador.
archivo_salida – (str) Valor por defecto: “”. Ruta donde desea exportar el vectorizador ajustado. Usar formato pickle (pk)
- fit(x, archivo_salida='')¶
Permite al vectorizador aprender el vocabulario de acuerdo con los textos de entrada. Llama la función ajustar.
- Parámetros
x – Objeto iterable con textos (str), unicode u archivos de texto de interés para ser procesados por el vectorizador.
archivo_salida – (str) Valor por defecto: “”. Ruta donde desea exportar el vectorizador ajustado. Usar formato pickle (pk)
- 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 – 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
x – (str o list) Texto o lista con textos de interés para ser vectorizados.
disperso – (bool) {True, False} Valor por defecto: False. Si es True retorna los resultados como una matriz dispersa (csr_matrix). Si es False retorna los resultados como un numpy array
- Devuelve
(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 – (str o list) Texto o lista con textos de interés para ser vectorizados.
disperso – (bool) {True, False} Valor por defecto: False. Si es True retorna los resultados como una matriz dispersa (csr_matrix). Si es False retorna los resultados como un numpy array.
- Devuelve
(csr_matrix o numpy.ndarray) Vectores documentos-términos de la vectorización de los textos.
- vocabulario()¶
Retorna el vocabulario del vectorizador entrenado.
- Devuelve
(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) Hace referencia al número de elementos o características (columnas) en las matrices de salida.
rango_ngramas – (tupla) (int, int) Valor por defecto: (1, 1). 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.
kwargs – Parámetros adicionales que acepta la clase HashingVectorizer de la librería scikit-learn. Para mayor información sobre esta clase, y los elementos adicionales que se pueden configurar, se puede consultar su documentacion: https://scikit-learn.org/stable/modules/classes.html#module-sklearn.feature_extraction.text.
- 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
x – (str o list) Texto o lista con textos de interés para ser vectorizados.
disperso – (bool) {True, False} Valor por defecto: False. Si es True retorna los resultados como una matriz dispersa (csr_matrix).Si es False retorna los resultados como un numpy array.
- Devuelve
(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 – (str o list) Texto o lista con textos de interés para ser vectorizados.
disperso – (bool) {True, False} Valor por defecto: False. Si es True retorna los resultados como una matriz dispersa (csr_matrix). Si es False retorna los resultados como un numpy array
- Devuelve
(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 – (str) Define el lenguaje del corpus utilizado al pre entrenar el vectorizador, el lenguaje debe corresponder al idioma del texto a ser analizado. Para mayor información, consultar la sección de Lenguajes soportados.
dim_modelo – (str) {“sm”, “md”, “lg”} Valor por defecto: “md”. Define el tamaño del corpus utilizado al pre entrenar el vectorizador. Siendo sm - pequeño, md - mediano, lg - grande.
maxima_longitud – (int) Valor por defecto: None. Parámetro opcional que permite establecer la máxima longitud (número de caracteres) que acepta el vectorizador en un texto de entrada. Si este valor se deja en None, se utilizará la máxima longitud que trae Spacy por defecto (1 millón de caracteres).
- establecer_lenguaje(lenguaje)¶
Permite establecer el lenguaje a ser utilizado por el vectorizador.
- Parámetros
lenguaje – (str) Define el lenguaje del corpus utilizado al pre entrenar el vectorizador, el lenguaje debe corresponder al idioma del texto a ser analizado. 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 – (str) {“sm”, “md”, “lg”} Valor por defecto: “md”. Define el tamaño del corpus utilizado al pre entrenar el vectorizador. Siendo sm - pequeño, md - mediano, lg - grande.
maxima_longitud – (int). Parámetro opcional que permite establecer la máxima longitud (número de caracteres) que acepta el vectorizador en un texto de entrada. Si este valor se deja en 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 – (str) {“diccionario”, “dataframe”} Valor por defecto: “diccionario”. Si es “diccionario” retorna los resultados como un objeto tipo diccionario, si es “dataframe”, retorna los resultados como un objeto tipo dataframe.
- 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 – (str o list) Texto o lista con textos de interés para ser vectorizados.
quitar_desconocidas – (bool) {True, False} Valor por defecto: False. 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.
- Devuelve
(numpy.ndarray) Vectores documentos-términos de la vectorización de los textos.
- vectorizar_texto(texto, quitar_desconocidas: bool = False)¶
Vectoriza el texto utilizando el vectorizador. Transformando el texto en un vector documento-términos.
- Parámetros
texto – (str) Texto de interés para ser vectorizado.
quitar_desconocidas – (bool) {True, False} Valor por defecto: False. 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.
- Devuelve
(numpy.ndarray) Vector documento-términos de la vectorización del texto.