Exploración

exploracion.frecuencia_ngramas(texto, n_grama=1, n_max=None)

Genera un diccionario con los n-gramas y sus respectivas frecuencias de ocurrencia en el texto.

Parámetros
  • texto (str) – Texto sobre el que se calculará la frecuencia de n-gramas.

  • n_grama (int, opcional) – Cantidad de elementos a tener en cuenta en la generación de n-gramas. Por ejemplo, si n_grama = 1 se retornará frecuencia de palabras, si n_grama = 2 se retornará frecuencia de bigramas, si n_grama = 3 se retornará frecuencia de trigramas y así sucesivamente. Valor por defecto 2.

  • n_max (int, opcional) – Cantidad máxima de n-gramas a generar. Valor por defecto None.

Devuelve

(dict) diccionario de n-gramas más frecuentes.

exploracion.grafica_barchart_frecuencias(texto, n_grama=1, dim_figura=(8, 5), titulo='Términos más frecuentes', ascendente=True, ubicacion_archivo=None, graficar=True, n_terminos=15, devolver_grafica=False)

Permite graficar o exportar un gráfico de barras horizontales de la frecuencia de palabras o n-gramas a partir de un texto.

Parámetros
  • texto (str) – Corresponde al texto que se desea analizar.

  • n_grama (int, opcional) – Cantidad de elementos a tener en cuenta en la generación de n-gramas. Valor por defecto 1.

  • dim_figura ((float, float), opcional) – Corresponden al ancho y alto de la figura en pulgadas. Valor por defecto (8, 5).

  • titulo (str, opcional) – Título de la nube de palabras. Valor por defecto “Términos más frecuentes”.

  • ascendente (bool, opcional) – Determina si las barras de términos se muestran de menos (abajo) a más (arriba) frecuentes en la gráfica. Valor por defecto True.

  • ubicacion_archivo (str, opcional) – Ruta donde desea exportar la gráfica como archivo tipo imagen. Al nombrar el archivo se recomienda utilizar la extensión jpg. Si ubicacion_archivo = None la gráfica no se exporta. Valor por defecto None.

  • graficar (bool, opcional) – Permite visualizar la gráfica. Valor por defecto True.

  • n_terminos (int, opcional) – Cantidad de n-gramas que se incluyen en la gráfica. Se graficarán los n_terminos más frecuentes en el texto. Valor por defecto 15.

  • devolver_grafica (bool, opcional) – Indica si se desea obtener el gráfico de barras como un objeto de Matplotlib. Valor por defecto False.

Devuelve

(Matplotlib.Figure) Figura con el gráfico de barras, solo si devolver_grafica = True.

exploracion.graficar_coocurrencias(mat, vmin=10, vmax=None, escala=700, n_nodos=0, titulo='Gráfico de co-ocurrencias', dim_figura=(10, 6), node_cmap='RdPu', edge_cmap='Blues', offset_y=0.09, font_color='white', node_font_size=12, label_font_size=10, graficar=True, ubicacion_archivo=None, devolver_grafica=False, seed=12)

Grafica una matriz de coocurrencia como un grafo no dirigido de términos.

Parámetros
  • mat (pandas.DataFrame) – Matriz de coocurrencia de términos

  • dim_figura ((float, float), opcional) – Corresponden al ancho y alto de la figura en pulgadas. Valor por defecto (10, 6).

  • vmin (int, opcional) – Tamaño mínimo de un nodo. Valor por defecto 10.

  • vmax (int, opcional) – Tamaño máximo de un nodo. Si vmax = None, se escoge el número máximo de grados de un nodo. Valor por defecto None.

  • n_nodos (float,int, opcional) – Indica el número o porcentaje de nodos que se quieren mostrar en el gráfico. Si n_nodos = 0, todos los nodos son selecionados. Si n_nodos está entre 0 y 1, representa el porcentaje de nodos que se desean graficar. Si n_nodos > 1, reresenta el número de nodos que se desean graficar. Valor por defecto 0.

  • escala (int, opcional) – Valor de escala para aumentar o disminuir el tamaño del gráfico en general. Valor por defecto 700.

  • node_cmap (str, opcional) – Mapa de color para generar colores de los nodos dado su número de conexiones. Se aceptan todos los mapas de color continuos de Matplotlib: (https://matplotlib.org/stable/tutorials/colors/colormaps.html). Valor por defecto: «RdPu».

  • edge_cmap (str, opcional) – Mapa de color para generar colores de las conexiones dado su peso. Se aceptan todos los mapas de color continuos de Matplotlib: (https://matplotlib.org/stable/tutorials/colors/colormaps.html). Valor por defecto: «Blues».

  • offset_y (float, opcional) – Desplazamiento hacia abajo (eje y) de los textos de los nodos, para evitar el traslape con los nodos. Valor por defecto 0.09.

  • font_color (str, array of colors, opcional) – Color de la letra dentro de los nodos. El color puede ser un string o una tupla (rgb) de floats de 0-1. Valor por defecto “white”.

  • node_font_size (int, opcional) – Tamaño de letra dentro del nodo. Valor por defecto 12.

  • label_font_size (int, opcional) – Tamaño de letra de las etiquetas de los nodos. Valor por defecto 10.

  • titulo (str, opcional) – Título del gráfico de coocurrencias. Valor por defecto “Gráfico de co-ocurencias”.

  • graficar (bool, opcional) – Permite visualizar la gráfica después de ejecutar la función. Valor por defecto True.

  • ubicacion_archivo (str, opcional) – Ruta donde desea exportar la gráfica como archivo tipo imagen {png, jpeg, jpg, gif}. Si ubicacion_archivo = None, la gráfica no se exporta. Valor por defecto None.

  • devolver_grafica (bool, opcional) – Indica si se desea obtener el gráfico de coocurrencias como un objeto de Matplotlib. Valor por defecto False.

  • seed (int, opcional) – Semilla para la generación del grafo. Sirve para cambiar la distribución aleatoria de aparición de los nodos. Valor por defecto 12.

Devuelve

(Matplotlib.Figure) Figura con el gráfico de coocurrencias, solo si devolver_grafica = True.

exploracion.graficar_dispersion(documentos, palabras_clave, ignorar_mayus=True, titulo='Gráfico de dispersión de términos', eje_x='Distribución de términos', eje_y='Palabras clave', etiquetas=None, auto_etiquetas=True, leyenda=True, rotacion=30, dim_figura=(12, 7), ubicacion_archivo=None, graficar=True, marcador='|', tam_marcador=20, ancho_marcador=3, colores=None, mapa_color='nipy_spectral', devolver_grafica=False)

Permite generar un gráfico de dispersión de términos de interés a lo largo de uno o varios documentos.

Parámetros
  • documentos (str, list) – Texto del documento o lista de textos de documentos sobre los cuales se quiere analizar la dispersión de términos. Si desea generar la dispersión con n-gramas, cada texto debe ser representado como lista de n-gramas.

  • palabras_clave (list) – Lista de palabras clave, n-gramas claves o término de interés que se quieren encontrar en los textos de los documentos.

  • ignorar_mayus (bool, opcional) – Si ignorar_mayus = True, no hace diferencia si las palabras tienen mayúsculas, es decir, ConTexto es igual a contexto. Valor por defecto True.

  • titulo (str, opcional) – Título de la figura de dispersión de términos. Valor por defecto “Gráfico de dispersión de términos”.

  • eje_x (str, opcional) – Leyenda del eje x de la figura. Valor por defecto “Distribución de términos”.

  • eje_y (str, opcional) – Leyenda del eje y de la figura. Valor por defecto “Palabras clave”.

  • etiquetas (str, opcional) – Lista de identificadores de los documentos analizados. Esta debe ser de la misma longitud de la lista de documentos de entrada. Si etiquetas = None y auto_etiquetas = True, se generan etiquetas automáticas. Valor por defecto None.

  • auto_etiquetas (bool, opcional) – Si etiquetas = None, Genera etiquetas automáticas para los documentos de entrada de tipo {doc1, doc2, …, docn}. Valor por defecto True.

  • leyenda (bool, opcional) – Permite mostrar los identificadores de los documentos al lado derecho de la gráfica. Valor por defecto True.

  • rotacion (int, opcional) – Permite rotar las etiquetas de los documentos sobre el eje x de la gráfica de dispersión. Valor por defecto 30.

  • dim_figura ((float, float), opcional) – Corresponden al ancho y alto de la figura en pulgadas. Valor por defecto (12, 7).

  • ubicacion_archivo (str, opcional) – Ruta donde desea exportar la gráfica como archivo tipo imagen {png, jpeg, jpg, gif}. Si ubicacion_archivo = None, la gráfica no se exporta. Valor por defecto None.

  • graficar (bool, opcional) – Permite visualizar la gráfica después de ejecutar la función. Valor por defecto True.

  • marcador (str, opcional) – Tipo de marcador utilizado por el gráfico de dispersión. Se acepta los marcadores disponibles para Matplotlib (https://matplotlib.org/stable/api/markers_api.html). Valor por defecto “|”.

  • tam_marcador (float, opcional) – Tamaño del marcador en el gráfico de dispersión. Para un gráfico con muchas palabras clave, se recomienda poner un valor menor. Valor por defecto 20.

  • ancho_marcador (float, opcional) – Ancho del marcador en el gráfico de dispersión. Para un gráfico con muchos documentos, se recomienda utilizar un número menor. Valor por defecto 3.

  • colores (list, opcional) – Lista de colores para identificar cada documento de entrada. Si colores = None, se generan colores automáticos para cada documento dependiendo del “mapa_color” seleccionado. Valor por defecto None.

  • mapa_color (str, opcional) – Mapa de color para generar colores automáticos para los documentos. Se aceptan todos los mapas de color continuos de Matplotlib: (https://matplotlib.org/stable/tutorials/colors/colormaps.html). Valor por defecto: “nipy_spectral”.

  • devolver_grafica – Si devolver_grafica = True, devuelve el gráfico de dispersión como objeto de Matplotlib. Valor por defecto False.

Devuelve

(Matplotlib.Figure) Objeto de Matplotlib, solo si devolver_grafica = True.

exploracion.matriz_coocurrencias(texto, min_frec=1, max_num=200, modo='documento', ventana=3, tri_sup=True, limpiar=False, tokenizador=None)

Calcula la matriz de coocurrencias de un texto.

Parámetros
  • texto (str, list) – Corresponde al texto (o lista de textos/documentos) que se desea analizar.

  • min_frec (int, opcional) – Frecuencia mínima de aparición de palabras, si la frecuencia de una palabra es menor a min_frec, será excluida de la matriz. Valor por defecto 1.

  • max_num (int, opcional) – Número máximo de palabras que se incluyen en la matriz (se eligen las más frecuentes). Valor por defecto 200.

  • modo ({'documento', 'ventana'}, opcional) – Corresponde al modo de análisis, con “documento” se calcula la coocurrencia de términos sin importar la distancia entre estos, con “ventana” se calcula la coocurrencia de términos teniendo en cuenta una distancia máxima entre estos. Valor por defecto “documento”.

  • ventana (int, opcional) – Tamaño de la ventana (solo cuando modo = “ventana”). Número de palabras anteriores o posteriores a tener en cuenta con respecto al término de análisis, equivalente a calcular la coocurrencia con n-gramas, siendo n = ventana + 1. Valor por defecto 3.

  • tri_sup (bool, opcional) – Si es True devuelve la versión diagonal superior de la matriz de coocurrencias, si es False devuelve la matriz completa. Valor por defecto True.

  • limpiar (bool, opcional) – Define si se desea hacer una limpieza básica (aplicando la función limpieza_basica del módulo limpieza) al texto, antes de calcular las coocurrencias. Valor por defecto False.

  • tokenizador (Tokenizador, opcional) – Objeto encargado de la tokenización y detokenización de textos. Si el valor es “None”, se utilizará por defecto una instancia de la clase TokenizadorNLTK. Valor por defecto None.

Devuelve

(pandas.DataFrame) Matriz de coocurrencias de los textos de entrada.

exploracion.nube_palabras(texto, n_grama=1, n_terminos=100, graficar=True, dim_figura=(10, 10), hor=0.6, titulo='Términos más frecuentes', ubicacion_archivo=None, forma=None, color_fondo='white', color_contorno='blue', grosor_contorno=0, colores_forma=False, semilla=1234, devolver_nube=False, mask=None)

Permite graficar o exportar una nube de palabras (o n-gramas) a partir de un texto de entrada.

Parámetros
  • texto (str) – Texto de entrada que se desea analizar.

  • n – Cantidad de elementos a tener en cuenta en la generación de n-gramas. Por ejemplo, si n = 1 se retornarán palabras, si n = 2 se retornarán bigramas, si n = 3 se retornarán trigramas y así sucesivamente. Valor por defecto 2.

  • n_terminos (int, opcional) – Cantidad de n-gramas que se incluyen en la nube. Se graficarán los n_terminos más frecuentes en el texto. Valor por defecto 100.

  • graficar (bool, opcional) – Permite visualizar la gráfica en el IDE que esté utilizando. Valor por defecto True.

  • dim_figura ((float, float)) – Corresponden al tamaño (ancho y alto) de la figura. Valor por defecto (10, 10).

  • hor (float, opcional) – Valor entre 0 y 1 Proporción de los términos que se mostrarán de manera horizontal en la nube. Para hor = 0 todos los términos se mostrarán verticalmente; para hor = 1 todos los términos se mostrarán horizontalmente, y para valores intermedios habrá una combinación de términos en ambas representaciones. Valor por defecto 0.6

  • titulo (str, opcional) – Corresponde al título de la nube de palabras. Valor por defecto «Términos más frecuentes».

  • ubicacion_archivo (str, opcional) – Ruta donde desea exportar la gráfica como archivo tipo imagen. Al nombrar el archivo se recomienda utilizar la extensión jpg. Si ubicacion_archivo = None, gráfica no será exportada. Valor por defecto None.

  • forma (numpy.array, str, opcional) – Arreglo de Numpy o ubicación de archivo de imagen que contenga la forma que se le desea dar a la nube de palabras. Si forma = None, se ordenarán los términos de la nube en forma de círculo. Valor por defecto None.

  • color_fondo (str, tuple, opcional) – Color de fondo de la nube de palabras. Se puede ingresar como el nombre del color (si Python lo reconoce), código hexadecimal o como una tupla con sus valores (R, G, B). Valor por defecto «white».

  • color_contorno (str, tuple, opcional) – Color del contorno de la forma de la nube de palabras. Se puede ingresar como el nombre del color (si Python lo reconoce), código hexadecimal o como una tupla con sus valores (R, G, B). Valor por defecto «blue».

  • grosor_contorno (int, opcional) – Grosor de la línea (contorno) que define la forma de la nube de palabras. Si grosor_contorno = 0, no se graficará el contorno. Valor por defecto 0.

  • colores_forma (bool, opcional) – Indica si se quieren utilizar en la nube de palabras los colores extraídos de la imagen o numpy array utilizada para definir la forma de la nube. Valor por defecto False.

  • semilla (int, opcional) – Corresponde al estado inicial del generador. Este parámetro incide en la posición y color de las palabras. En caso de querer replicar la nube de palabras, se recomienda utilizar un mismo valor de semilla. Valor por defecto 1234.

  • devolver_nube (bool, opcional) – Indica si se desea obtener la nube de palabras como un objeto tipo WordCloud. Valor por defecto False.

Devuelve

(WordCloud) objeto de tipo WordCloud, solo si devolver_nube = True.

exploracion.obtener_ngramas(texto, n=1, devolver_lista=True, limpiar=False, tokenizador=None)

Permite generar n-gramas a partir de un texto.

Parámetros
  • texto (str) – Texto sobre el que se calculará los n-gramas.

  • n (int) – Cantidad de elementos a tener en cuenta en la generación de n-gramas. Por ejemplo, si n = 1 se retornarán palabras, si n = 2 se retornarán bigramas, si n = 3 se retornarán trigramas y así sucesivamente. Valor por defecto 2.

  • devolver_lista (bool, opcional) – Si devolver_lista es True se retorna un objeto tipo lista; si el valor es False se retorna un objeto tipo generador. Valor por defecto True

  • limpiar (bool, opcional) – Define si se desea hacer una limpieza básica (aplicando la función limpieza_basica del módulo limpieza) al texto de entrada, antes de encontrar los n-gramas. Valor por defecto False.

  • tokenizador (object, opcional) – Objeto encargado de la tokenización y detokenización de textos. Si el valor es None, se cargará por defecto una instancia de la clase TokenizadorNLTK. Valor por defecto None.

Devuelve

(list, generator) n-gramas generados con las características especificadas.

exploracion.par_nubes(texto, n1=1, n2=2, dim_figura=(20, 11), ubicacion_archivo=None, graficar=True, devolver_grafica=False)

Permite graficar o exportar un par de nubes de palabras (una junto a otra) a partir de un texto.

Parámetros
  • texto (str) – Corresponde al texto que se desea analizar.

  • n1 (int, opcional) – Cantidad de elementos a tener en cuenta en la generación de n-gramas de la nube de palabras izquierda. Valor por defecto 1.

  • n2 (int, opcional) – Cantidad de elementos a tener en cuenta en la generación de n-gramas de la nube de palabras derecha. Valor por defecto 2.

  • dim_figura ((float, float), opcional) – Corresponden al ancho y alto de la figura en pulgadas. Valor por defecto (20, 10).

  • ubicacion_archivo (str, opcional) – Ruta donde se desea exportar la gráfica como archivo tipo imagen. Al nombrar el archivo se recomienda utilizar la extensión jpg. Si no se especifica una ruta, la gráfica no se exporta. Valor por defecto: None.

  • graficar (bool, opcional) – Permite visualizar la gráfica en el IDE que esté utilizando. Valor por defecto True.

  • devolver_grafica (bool, opcional) – Indica si se desea obtener el gráfico con el par de nubes de palabras como un objeto de Matplotlib. Valor por defecto False.

Devuelve

(objeto Figure de Matplotlib) Figura con el par de nubes de palabras, solo si devolver_grafica = True.