---
title: "IA para Científicos Sociales"
subtitle: "Sesión 5.4: Mini-propuestas de investigación y cierre"
author:
- name: Danilo Freire
orcid: 0000-0002-4712-6810
email: danilofreire@gmail.com
affiliations: "Departament of Data and Decision Sciences
Emory University"
format:
clean-revealjs:
self-contained: true
footer: "[Sesión 5.4](https://danilofreire.github.io/introduccion-ia-ucu/clases/dia-05/20-propuestas-cierre.html)"
transition: slide
transition-speed: default
scrollable: true
revealjs-plugins:
- multimodal
engine: knitr
editor:
render-on-save: true
lang: es
---
```{r setup, include=FALSE}
options(htmltools.dir.version = FALSE)
library(knitr)
opts_chunk$set(
prompt = T,
fig.align = "center",
dpi = 300,
cache = T,
engine.opts = list(bash = "-l")
)
knit_hooks$set(
prompt = function(before, options, envir) {
options(
prompt = if (options$engine %in% c("sh", "bash", "zsh")) "$ " else "R> ",
continue = if (options$engine %in% c("sh", "bash", "zsh")) "$ " else "+ "
)
}
)
options(repos = c(CRAN = "https://cran.rstudio.com/"))
if (!require("fontawesome", character.only = TRUE)) {
install.packages("fontawesome", dependencies = TRUE)
library(fontawesome, character.only = TRUE)
}
```
# Mini-propuestas de investigación {background-color="#2d4563"}
## Agenda de la sesión
:::{style="margin-top: 40px; font-size: 32px;"}
- Repaso de técnicas del curso
- Cómo integrar la IA en investigación
- Estructura de la mini-propuesta
- Tiempo para preparar
- Preguntas y comentarios
- Discusión
- Cierre del curso
:::
# Repaso: las herramientas del curso {background-color="#2d4563"}
## Lo que aprendimos esta semana
:::{style="margin-top: 30px; font-size: 24px;"}
| Día | Técnicas | Paquetes de R |
|-----|----------|---------------|
| [1]{.alert} | Flujo de ML, train/test, métricas (accuracy, precision, recall) | `tidymodels` |
| [2]{.alert} | Regresión logística, árboles de decisión, Random Forest, LASSO/Ridge/Elastic Net | `tidymodels`, `ranger`, `glmnet` |
| [3]{.alert} | K-means, PCA, tokenización, TF-IDF, análisis de sentimiento, LDA | `tidytext`, `topicmodels` |
| [4]{.alert} | LLMs, embeddings, prompt engineering, RAG, anotación automática, APIs | `ellmer`, `quallmer` |
| [5]{.alert} | Modelos locales (Ollama, cuantización), sesgo algorítmico, equidad y auditoría, regulación | `ellmer`, `quallmer`, `fairmodels`, `DALEX` |
:::{style="text-align: center; margin-top: 20px;"}
[Cada una de estas técnicas puede aplicarse a una pregunta de investigación en ciencias sociales.]{.alert}
:::
:::
## Preguntas de investigación + técnicas de IA
:::{style="margin-top: 30px; font-size: 22px;"}
**Ejemplos de preguntas que podrían abordar:**
:::{.columns}
:::{.column width=50%}
**Clasificación / predicción**
- ¿Qué factores predicen la [satisfacción con la democracia]{.alert} en América Latina?
- → Reg. logística + Random Forest con datos de Latinobarómetro
- ¿Se puede predecir el [resultado electoral]{.alert} de un municipio a partir de indicadores socioeconómicos?
- → LASSO + validación cruzada
- ¿Qué características de un tweet predicen si será [compartido]{.alert} masivamente?
- → Clasificación binaria + ingeniería de variables
:::
:::{.column width=50%}
**Texto / LLMs**
- ¿Cómo ha cambiado el [discurso sobre inmigración]{.alert} en la prensa uruguaya en los últimos 10 años?
- → TF-IDF + LDA + sentimiento
- ¿Pueden los LLMs [anotar]{.alert} el tono de respuestas abiertas de encuestas con precisión comparable a humanos?
- → Anotación con `ellmer` + comparación
- ¿Existen [sesgos de género]{.alert} en las recomendaciones de ChatGPT sobre carreras profesionales?
- → Auditoría de sesgo con prompts controlados
:::
:::
:::
# Estructura de la mini-propuesta {background-color="#2d4563"}
## ¿Qué debe incluir su propuesta?
:::{style="margin-top: 30px; font-size: 23px;"}
1. **Pregunta de investigación**
- ¿Qué quieren saber? ¿Por qué importa?
- Debe ser [específica]{.alert} y [acotada]{.alert}
2. **Datos**
- ¿Qué datos usarían? ¿De dónde vienen?
- ¿Están disponibles o habría que recogerlos?
3. **Técnica de IA/ML**
- ¿Qué método del curso aplicarían?
- ¿Por qué ese método y no otro?
4. **Evaluación**
- ¿Cómo sabrían si su modelo funciona bien?
- ¿Qué métricas usarían?
5. **Consideraciones éticas**
- ¿Qué sesgos podrían surgir?
- ¿Cómo los mitigarían?
:::
## Ejemplo de mini-propuesta
:::{style="margin-top: 30px; font-size: 23px;"}
:::{.columns}
:::{.column width=50%}
**Pregunta**: ¿los LLMs clasifican el sentimiento de tweets políticos en español con la misma precisión que anotadores humanos?
**Datos**: 500 tweets sobre elecciones en Uruguay (2024), ya anotados por 3 investigadores
**Técnica**: Clasificación con `ellmer` (GPT-4o-mini y Claude Haiku), comparando con etiquetas humanas
**Evaluación**: accuracy, precision, recall; comparar con acuerdo inter-anotador (Cohen's kappa)
:::
:::{.column width=50%}
**Consideraciones éticas**:
- Los tweets son públicos pero las personas no consintieron ser analizadas
- Los LLMs pueden tener sesgos con el español rioplatense
- El sentimiento político es subjetivo; ¿quién tiene la "respuesta correcta"?
- Costo de la API vs. costo de anotadores humanos
**Por qué importa**: si los LLMs funcionan bien, democratizan el acceso al análisis de texto a gran escala para investigadores con pocos recursos
:::
:::
:::
# Tiempo de preparación {background-color="#2d4563"}
## Instrucciones
:::{style="margin-top: 40px; font-size: 28px;"}
- Tienen [hasta el final de la sesión]{.alert} para preparar su mini-propuesta
- Pueden trabajar [individualmente o en parejas]{.alert}
- Pueden usar cualquier recurso: notas del curso, internet, ChatGPT/Claude
- Si no tienen una idea propia, elijan una de las preguntas de ejemplo y adáptenla a un contexto que les interese
- Estoy disponible para preguntas y orientación 😊
:::
# Cierre del curso {background-color="#2d4563"}
## Lo que cubrimos en 5 días
:::{style="margin-top: 30px; font-size: 23px;"}
:::{.columns}
:::{.column width=50%}
**Día 1: Fundamentos**
- ¿Qué es la IA? Historia, tipos de aprendizaje
- Flujo de trabajo de ML, métricas
- Primer modelo con tidymodels
**Día 2: Aprendizaje supervisado**
- Regresión logística, árboles, Random Forest
- Predicción vs. explicación
- Regularización (LASSO, Ridge, Elastic Net)
**Día 3: Texto y no supervisado**
- K-means, PCA
- Tokenización, TF-IDF, sentimiento, LDA
:::
:::{.column width=50%}
**Día 4: LLMs y aplicaciones**
- Transformers, embeddings, atención
- Prompt engineering (PTCF, CoT, few-shot)
- Alucinaciones, RAG
- APIs desde R con ellmer
**Día 5: Modelos locales, ética y cierre**
- Modelos locales con Ollama (cuantización, Modelfile)
- Sesgo algorítmico y teorema de imposibilidad
- Auditoría de equidad con fairmodels y DALEX
- Regulación (EU AI Act, Uruguay, región)
- Mini-propuestas de investigación
:::
:::
:::
## Consejos para seguir aprendiendo
:::{style="margin-top: 30px; font-size: 22px;"}
:::{.columns}
:::{.column width=50%}
**Recursos gratuitos**
- [Tidy Modeling with R](https://www.tmwr.org/) (Kuhn y Silge): el libro de referencia para tidymodels
- [Text Mining with R](https://www.tidytextmining.com/) (Silge y Robinson): análisis de texto con tidytext
- [Fairness and Machine Learning](https://fairmlbook.org/) (Barocas, Hardt, Narayanan): ética y sesgo
- [Introduction to Statistical Learning](https://www.statlearning.com/) (ISLR): fundamentos de ML
- [Hugging Face NLP Course](https://huggingface.co/learn/nlp-course): transformers y NLP
- [3Blue1Brown Neural Networks](https://www.3blue1brown.com/topics/neural-networks): visualizaciones de redes neuronales
:::
:::{.column width=50%}
**Herramientas para explorar**
- [ellmer](https://ellmer.tidyverse.org/): LLMs desde R
- [quallmer](https://quallmer.tidyverse.org/): evaluación de modelos de lenguaje
- [Ollama](https://ollama.com/): modelos locales sin costo de API
- [NotebookLM](https://notebooklm.google.com/): RAG gratuito de Google
- [Transformer Explainer](https://poloclub.github.io/transformer-explainer/): visualización interactiva
- [Projector TensorFlow](https://projector.tensorflow.org/): explorar embeddings
- [LM Arena](https://lmarena.ai/): comparar modelos de lenguaje
**Comunidades**
- [RStudio Community](https://forum.posit.co/): preguntas sobre R
- [Hugging Face](https://huggingface.co/): modelos y datasets
- [r/MachineLearning](https://www.reddit.com/r/MachineLearning/): noticias y discusión
:::
:::
:::
## Materiales del curso
:::{style="margin-top: 40px; font-size: 28px;"}
Todos los materiales seguirán disponibles:
- `r fa('globe')` **Sitio web**:
- `r fa('github')` **Repositorio**:
- `r fa('envelope')` **Contacto**: [danilofreire@gmail.com](mailto:danilofreire@gmail.com)
Las diapositivas, datasets, scripts de R y lecturas recomendadas están en el repositorio.
Si tienen preguntas en el futuro, no duden en escribirme. Siempre estoy disponible para ayudar 😉
:::
## Agradecimientos
:::{style="margin-top: 40px; font-size: 28px;"}
- Gracias a la [Universidad Católica del Uruguay]{.alert} y a la [Escuela en Métodos]{.alert} por la invitación
- Más importante, gracias a [todos ustedes por su participación y sus preguntas]{.alert} 😉
- Si algo de esta semana les resultó útil, el siguiente paso concreto es aplicarlo: elijan un dataset que les interese y prueben una técnica del curso
- Siempre pueden escribirme con preguntas: [danilofreire@gmail.com](mailto:danilofreire@gmail.com)
:::
# Muchas gracias 🥳 {background-color="#2d4563"}