PyCon Colombia 2026
NLP en la práctica
De la lingüística de corpus a RAG con Python
Taller de procesamiento de lenguaje natural en español, con un caso aplicado en salud.
Biviana SuárezUniversidad EAFIT
Dora AlzateUniversidad EAFIT
Karen GómezUniversidad EAFIT
Andrés PuertaUniversidad EAFIT
Taller · Medellín, 26 julio 2026

01
Introducción participativa
Biviana

Objetivo del workshop

Convertir texto en datos analizables usando Python y mostrar cómo una metodología de NLP puede adaptarse a distintos dominios:

📰

Columnas de opinión en medios colombianos.

🇪🇸

Corpus en español con desafíos lingüísticos propios.

🩺

Aplicaciones en salud y análisis de publicaciones tipo Twitter/X.

La idea central

No venimos a mostrar un notebook: venimos a mostrar cómo se construye una metodología interdisciplinaria.

Ruta de dos horas

Introducción participativaBiviana
¿Qué debe saber un científico de datos sobre lenguaje?Dora
Pipeline NLP: del lenguaje a los datosKaren
Caso de uso: tweets y aplicación en saludAndrés
Práctica guiada en PythonEquipo
Cierre y conversación finalBiviana

Antes de programar: leer el problema

Si les entregáramos 100.000 textos sobre política, ciencia, salud o cultura, ¿qué preguntas podrían responder con Python?

Preguntas posibles

  • ¿De qué se habla?
  • ¿Quiénes aparecen?
  • ¿Cómo cambia el discurso en el tiempo?
  • ¿Qué emociones o posturas circulan?

El desafío

El lenguaje humano es información no estructurada. Python nos ayuda a convertirlo en datos, pero necesitamos saber qué estamos transformando.

Tres textos, un mismo tema

📱Tuit político ficticio

“Necesitamos una reforma tributaria justa que reduzca la desigualdad y fortalezca la inversión social. El país no puede seguir cargando el peso sobre las mismas familias. #Colombia”

📰Titular periodístico ficticio

“Gobierno presenta nuevo proyecto de reforma tributaria ante el Congreso.”

💬Comentario ciudadano ficticio

“Otra reforma más. Siempre prometen cambios y al final nada mejora.”

Como humanos notamos: tema común, actores políticos, tono emocional, posición o valoración, palabras clave. Para un computador solo hay cadenas de texto: el reto es construir una representación útil.

Idea fuerza · Biviana

Python no solo permite analizar números.

También permite estudiar cómo una sociedad argumenta, discute, nombra problemas y construye sentido a través del lenguaje.

02
¿Qué debe saber un científico de datos sobre lenguaje?
Dora

El origen del procesamiento del lenguaje natural (PNL)

¿Por qué existe el procesamiento del lenguaje natural?

El origen del PNL

1941–1946
Los inicios
• 1941: Z3
• 1944: Colossus Mark I
• 1946: ENIAC
1950–1965
La teoría lingüística y PLN
• Chomsky y los formalistas
1980–1990
Modelos lingüísticos
• 1980: teorías lingüísticas para el PLN
• Computadores personales (IBM)
1949–1950
La década de 1950 y la TA
• 1949: Busa – Index Thomisticus
• Traducción automática
1966
ELIZA
1990s · WWW
Sociedad de la información

La Era de los datos masivos

En los años 2000, la potencia de la computación, la cantidad de datos masivos y el aprendizaje profundo cambiaron las reglas de juego.

¿Qué es una palabra?

Banco
Gato
Correr
Corrí
Corriendo

¿Cuántas palabras diferentes ven aquí?

¿Qué es una palabra?

La perspectiva del algoritmo

La perspectiva de la lingüística

Tokens vs. lemas

Un token: forma de cada palabra o carácter como aparecen en el texto plano.

Un lema:

correr

Ambigüedad y homografía

Banco
Gato

Sin contexto lingüístico la ambigüedad es total.

Stopwords y entidades nombradas

Stopwords

Términos de alta frecuencia como “de”, “que”, “la”, “en”, “por”, etc.

Entidades nombradas (NER)

Personas, lugares, organizaciones, fechas, cantidades.

Variación dialectal

¿Qué hacemos para analizar lenguaje desde la ciencia de datos?

1
Pregunta
3
Preprocesado
5
Estadística descriptiva
2
Recolección
4
Anotación
6
Validación y análisis

Dora

Las decisiones críticas de PLN ocurren siempre antes del entrenamiento del modelo.

03
Pipeline NLP: del lenguaje a los datos
Karen

Herramientas NLP

Tokenizar
Filtrar Stopwords
Lematizar
Representación vectorial
Texto de entrada

“La pandemia y la pospandemia hacen visible la necesidad del conocimiento. De su gestión dependen las estrategias de detección, atención y contención del coronavirus, el desarrollo del talento humano calificado y de los insumos tecnológicos para la prevención de la enfermedad y su tratamiento; sin duda, la calidad de los sistemas de salud se encuentra relacionada con los niveles de desarrollo científico y tecnológico de los países.”

Herramientas NLP

Tokenizar
Filtrar Stopwords
Lematizar
Representación vectorial
Nivel palabra

[La] [pandemia] [y] [la] [pospandemia] [hacen] [visible] [la]

Nivel bigrama

[La pandemia] [pandemia y] [y la] [la pospandemia] [pospandemia hacen] [hacen visible] [visible la] [la necesidad]

Nivel subpalabra

[pos] [##pan] [##demia] [hacen] [vis] [##ible] [necesi] [##dad]

Herramientas NLP

Tokenizar
Filtrar Stopwords
Lematizar
Representación vectorial
Filtrar stopwords

La pandemia y la pospandemia hacen visible la necesidad del conocimiento. De su gestión dependen las estrategias de detección, atención y contención del coronavirus, el desarrollo del talento humano calificado y de los insumos tecnológicos para la prevención de la enfermedad y su tratamiento; sin duda, la calidad de los sistemas de salud se encuentra relacionada con los niveles de desarrollo científico y tecnológico de los países.

Las palabras en rojo se eliminan por ser muy frecuentes y aportar poca información.

Herramientas NLP

Tokenizar
Filtrar Stopwords
Lematizar
Representación vectorial
Lematizar

el pandemia y el pospandemia hacer visible el necesidad de el conocimiento. de su gestión depender el estrategia de detección, atención y contención de el coronavirus, el desarrollo de el talento humano calificado y de el insumo tecnológico para el prevención de el enfermedad y su tratamiento; sin duda, la calidad de el sistema de salud se encontrar relacionado con el nivel de desarrollo científico y tecnológico de el país.

Herramientas NLP

Tokenizar
Filtrar Stopwords
Lematizar
Representación vectorial
Representación vectorial

conocimiento [ 0.18, -0.42, 0.07, 0.55, -0.31, 0.12, …, 0.09 ]

la calidad de los sistemas de salud [ -0.05, 0.33, 0.61, -0.14, 0.27, -0.48, …, 0.22 ]

Embeddings

Matriz término-documento
Doc 1 Doc 2 Doc 3
pandemia 2 0 1
necesidad 1 1 0
conocimiento 0 2 3
palabra n
Embeddings estáticos

Cada palabra tiene un solo embedding. Ejm: Word2Vec [ 0.21, -0.35, 0.88, -0.04, …, 0.16 ]

Embeddings contextuales

La representación de una palabra puede variar según el contexto. Ejm: BERT

El banco aprobó el crédito para la vivienda. [ 0.42, -0.11, 0.63, …, 0.08 ]

Nos sentamos en el banco del parque. [ -0.19, 0.55, -0.07, …, 0.31 ]

Sentence Transformers

Codificación de fragmentos enteros. “El banco aprobó el crédito para la vivienda.” [ 0.27, -0.14, 0.36, …, 0.19 ]

Propiedades de los embeddings

Cercanía semántica
Elementos importantes

Tamaño ventana de contexto
¿Cuántos tokens máximo recibe el modelo?

Tamaño del vector
¿De qué tamaño queda el embedding? Ej: 1024, 2048, etc.

Idioma de entrenamiento
¿En qué idioma o idiomas fue entrenado el modelo?

Tipo de tarea
¿Para qué tarea fue optimizado el modelo? Ej: STS, Retrieval, Clustering.

BERTopic

“BERTopic is a topic modeling technique that leverages transformers and c-TF-IDF to create dense clusters allowing for easily interpretable topics whilst keeping important words in the topic descriptions.” — (Grootendorst, 2022)

1
Representación vectorial
Representación vectorial de los textos con embeddings (tipo transformers).
2
Reducción de dimensión
Ejm: 1024 a 5 componentes por vector. Algoritmo: UMAP.
3
Clustering
Agrupar los textos por distancia. Algoritmo: HDBSCAN.
4
Representación de tópicos
Selección de palabras para representar el tópico, comunes que diferencian entre grupos. Algoritmo: c-TF-IDF.

LLMs · Large Language Models

¿Qué es un modelo del lenguaje?

Un sistema que, dado un contexto de palabras previas, asigna una distribución de probabilidad sobre la siguiente palabra.

“El agua del lago Walden es tan hermosamente ___“

Probable: azul, verde, transparente    Improbable: refrigerador, esto

¿Qué pueden hacer los LLMs?

Resumir, traducir, responder preguntas, generar código, analizar argumentos.

Prompting · uso de un LLM

Un prompt es el texto que el usuario entrega al modelo para obtener una respuesta útil. El modelo genera tokens de forma iterativa condicionado en ese texto.

“P: ¿Quién escribió El origen de las especies? R:” → “Charles Darwin”

Control de aleatoriedad

Temperatura: reescala las probabilidades (baja = más probable; alta = más diversidad). Top-k: conserva las k más probables. Top-p: conjunto mínimo cuya probabilidad acumulada supera p.

Alucinación: el modelo puede sonar coherente y seguro, pero no corresponder con los hechos reales.

RAG · Retrieval Augmented Generation

Imagen generada con ChatGPT

RAG · Retrieval Augmented Generation

1
Preparar corpus o documentos
Chunking o fragmentación: división del corpus en fragmentos de tamaño manejable; cada fragmento se convierte en un embedding.
2
Representación vectorial: embeddings
3
Vector Store: índice para recuperar fragmentos rápidamente. Ejm: FAISS.
4
Recuperación de fragmentos relevantes dado un query o pregunta.
Similitud semántica: la pregunta del usuario se convierte en embedding; se recuperan los fragmentos más cercanos.
5
LLM
Generación aumentada: el LLM recibe la pregunta junto con los fragmentos recuperados y genera una respuesta fundamentada en ellos.
Prompt LLM: instrucciones para el modelo; incluyen la pregunta y los fragmentos recuperados, indicando que responda con base en ese contexto.

Recuperación semántica de información para análisis de texto

Recolección de datos
Preprocesamiento
Tokenización
Eliminación de stopwords
Lematización
Identificación de referencias a la ciencia
Representación con embeddings
Matriz de similitud
Selección de umbral
Corpus y subcorpus de ciencia
Análisis comparativo
Descriptivo y exploratorio
Reconocimiento de entidades
Modelado de tópicos
Vocabulario · POS-tagging
Interpretación y discusión

La parte de recuperación de la arquitectura RAG inspiró una metodología para identificar menciones a las ciencias naturales de manera no literal en columnas de opinión.

documentos
13 mil columnas de opinión convertidas en 62 mil fragmentos
query
Palabras para representar a las ciencias naturales: Tesauro de la UNESCO — Ciencia

04
Caso de uso: tweets y aplicación en salud
Andrés

La misma metodología, otro dominio

Objetivo
  • Caracterizar cómo se habla de salud en un corpus de tuits en español.
  • Identificar actores, instituciones, enfermedades y medicamentos frecuentes.
  • Describir la evolución temporal y temática del subcorpus.
Pipeline aplicado
1
Selección del subcorpus de salud (similitud semántica).
2
Descriptivos: autores, tipo de cuenta, evolución mensual.
3
13 subcategorías temáticas de salud.
4
NER, POS (Stanza) y BERTopic.
5
Búsqueda dirigida: lugares, instituciones, enfermedades, medicamentos.

Distribución de autores

Distribución de autores según nº de tuits sobre salud

Evolución mensual

Porcentaje mensual de tuits que mencionan salud

Quién habla de salud

Top autores con más tuits de salud

Instituciones más mencionadas

Instituciones de salud más mencionadas

Palabras y categorías gramaticales

Nube de palabras (lematizadas, sin stopwords)

Enfermedades más mencionadas

Con COVID-19 — domina el conteo
Sin COVID-19 — se ven las demás

Medicamentos más mencionados

Medicamentos más mencionados

Entidades asociadas a “salud” en 2020

Cómo leer el grafo

  • Nodo central: la palabra “salud”.
  • Nodos azules: personas (PER).
  • Nodos verdes: organizaciones (ORG).
  • Tamaño y grosor = frecuencia de co-ocurrencia.

Hallazgos del caso

🎯Concentración

La conversación sobre salud se concentra en pocos autores e instituciones.

📈Estacionalidad

La actividad varía en el tiempo, con picos ligados a coyunturas de salud pública.

🧬Diversidad temática

Cubre muchas subcategorías, enfermedades y medicamentos específicos.

Próximos pasos

Profundizar tópicos (BERTopic) por subcategoría · comparar salud con comportamientos protectores · explorar la relación entre cobertura mediática y comportamiento.

05
Práctica guiada en Python
Equipo

Manos a la obra: todo listo en Google Colab

Para llevar

  • El texto puede convertirse en datos, pero sin decisiones.
  • La lingüística ayuda a evitar interpretaciones pobres o erradas.
  • Python permite escalar preguntas humanísticas y sociales.
  • Una metodología de NLP puede adaptarse a columnas, tweets y salud.
  • La interdisciplinariedad no es un adorno: es parte del método.

Cierre y conversación final · Biviana

El lenguaje no es solo una columna de strings.

También es cómo una sociedad argumenta, nombra problemas y construye sentido. Gracias por acompañarnos.

¡Gracias!

BivianaDoraKarenAndrés

Califica el taller

Escanea y déjanos tu feedback: nos ayuda a mejorar PyCon Colombia.