--- 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"}