Sesión 3 ‐ Emparejamiento semántico con RapidFuzz - AnthonyJ7/Documentaci-n-Reto-1---Practicum GitHub Wiki

Fecha: 03 de junio del 2025
Duración: 5 horas
Reto: Homologación de Carreras (UTPL)
Herramientas utilizadas:

Documentos informativos:

Videos informativos:


🎯 Objetivo general de la sesión

Aplicar emparejamiento semántico (fuzzy matching) entre las carreras ofertadas por la Universidad Técnica Particular de Loja (UTPL) y el resto de universidades ecuatorianas. Utilizar la librería RapidFuzz para obtener las coincidencias más similares, con su respectivo porcentaje de similitud textual, y generar una tabla enriquecida lista para análisis en Power BI.


📂 Dataset base

  • df_utpl_limpio: carreras ofertadas por la UTPL, con limpieza previa (6 columnas clave).
  • df_otros_limpio: carreras de otras universidades, también limpias.
  • Ambos generados y verificados en la Sesión 2.

🔄 Flujo de trabajo

Paso Acción Detalles
1 Importación de librerías Se utilizó rapidfuzz.process y fuzz.token_sort_ratio para medir similitud.
2 Conversión a Series indexada La lista de carreras (NOMBRE_CARRERA) del resto de universidades se convirtió en un pandas.Series indexado para poder recuperar el índice real del DataFrame durante el matching.
3 Iteración por cada carrera UTPL Para cada carrera de la UTPL se aplicó process.extract() con limit=3 para obtener las 3 coincidencias más similares.
4 Obtención de datos del match Se extrajeron los valores del DataFrame original df_otros_limpio usando loc[index_match], lo cual permite acceder a todos los campos adicionales de la carrera emparejada.
5 Generación del resultado Por cada combinación (UTPL - Match), se generó un diccionario con los campos relevantes, que luego se convirtió en un DataFrame llamado df_matches.
6 Columnas adicionales agregadas Se incluyeron: CAMPO_ORIGEN, NIVEL_ORIGEN, MODALIDAD_ORIGEN, PROVINCIA_ORIGEN, y los equivalentes de UTPL (CAMPO_UTPL, etc.) para enriquecer el análisis posterior en Power BI.
7 Exportación a Excel Se exportó el DataFrame a emparejamientos_utpl.xlsx y se descargó desde el entorno Colab.

📦 Columnas finales del archivo exportado

  • ID_CARRERA_ORIGEN
  • UNIVERSIDAD_ORIGEN
  • CARRERA_ORIGEN
  • CAMPO_ORIGEN
  • NIVEL_ORIGEN
  • MODALIDAD_ORIGEN
  • PROVINCIA_ORIGEN
  • ID_CARRERA_UTPL
  • CARRERA_SIMILAR_UTPL
  • CAMPO_UTPL
  • NIVEL_UTPL
  • MODALIDAD_UTPL
  • PROVINCIA_UTPL
  • SCORE_DE_SIMILITUD

🧠 Observaciones

  1. El argumento return_index=True no fue necesario, ya que RapidFuzz devuelve automáticamente el índice real cuando se usa un pandas.Series como choices.
  2. Se confirmó que las filas emparejadas se identifican correctamente y se evita la pérdida de información por duplicados.
  3. Se omitieron temporalmente las columnas lógicas (DIFERENTE_CAMPO, DIFERENTE_NIVEL) para enfocarse en una versión estable del archivo para Power BI.
  4. Se recomienda conservar el ID_CARRERA_* como claves para uso en visualizaciones relacionales en Power BI.

📌 Próximos pasos (Sesión 4)

  • Cargar emparejamientos_utpl.xlsx en Power BI.
  • Diseñar visualizaciones clave:
    • Mapa de calor por similitud.
    • Tabla jerárquica por nivel, campo, provincia.
    • Indicadores de empates totales y promedio de similitud.
  • Explorar filtros interactivos por modalidad, provincia, nivel de formación.