Sesión 3.2: Análisis computacional de texto
Primera parte
Segunda parte
El desafío central
Las computadoras trabajan con números.
El texto son palabras.
¿Cómo convertir palabras en números de forma que preserve el significado?
"La democracia es
importante para el
desarrollo"
↓ ???
[0.23, 0.87, 0.12,
0.45, 0.91, 0.33]
Esta es la pregunta central del análisis de texto.
┌─────────┐ ┌──────────────┐ ┌────────────┐ ┌───────────┐ ┌──────────┐
│ 1. Texto │──▶│ 2. Preprocesar│──▶│ 3. Represen-│──▶│ 4. Analizar│──▶│ 5. Inter- │
│ crudo │ │ (limpiar) │ │ tar (números)│ │ (modelo) │ │ pretar │
└─────────┘ └──────────────┘ └────────────┘ └───────────┘ └──────────┘
unnest_tokens()Ejemplo con tidytext
Noten que tidytext automáticamente convierte a minúsculas.
Antes y después
Texto original:
"El gobierno anunció un nuevo
plan de estímulo fiscal para
reactivar la economía."
Después de limpiar:
["gobierno", "anunció", "nuevo",
"plan", "estímulo", "fiscal",
"reactivar", "economía"]
Palabras eliminadas:
"el", "un", "de", "para", "la"
Estas palabras son muy frecuentes
en todos los textos; no distinguen
un texto de otro.
Ejemplo
Doc 1: "la economía crece"
Doc 2: "la economía no crece"
Doc 3: "la salud mejora"
Matriz término-documento:
crece economía la mejora no salud
Doc 1: 1 1 1 0 0 0
Doc 2: 1 1 1 0 1 0
Doc 3: 0 0 1 1 0 1
Cada fila es un "vector" que
representa el documento.
Los documentos se comparan
por la similitud de sus vectores.
\[\text{TF-IDF}(t, d) = \text{TF}(t, d) \times \log\left(\frac{N}{\text{DF}(t)}\right)\]
Intuición
“gobierno” aparece en muchos textos → IDF bajo → poco distintiva
“deforestación” aparece solo en textos de medio ambiente → IDF alto → muy distintiva
TF-IDF responde: ¿qué palabras caracterizan ESTE documento en particular?
En tidytext:
Diccionarios disponibles en español
Ejemplo
"El crecimiento económico ha sido
sólido gracias a las exportaciones"
Palabras positivas: crecimiento, sólido
Palabras negativas: (ninguna)
Sentimiento: POSITIVO (+2)
Para mayor precisión, los LLMs (Día 4) superan ampliamente a los diccionarios.
El proceso generativo de LDA
Para cada documento:
1. Elegir una mezcla de temas
(ej: 70% economía, 30% salud)
2. Para cada palabra:
a. Elegir un tema según la mezcla
b. Elegir una palabra del tema
Resultado:
"El crecimiento [economía]
del sector [economía]
salud [salud]
ha mejorado [economía]
los hospitales [salud]
públicos" [salud]
LDA hace el proceso INVERSO:
dado el texto, recupera los temas.
Lo que LDA nos da
Ejemplo de resultado
| Tema | Palabras principales |
|---|---|
| 1 | economía, crecimiento, empleo, inversión |
| 2 | educación, escuelas, docentes, estudiantes |
| 3 | violencia, seguridad, crimen, policía |
→ Etiquetamos: tema 1 = “economía”, tema 2 = “educación”, tema 3 = “seguridad”
Limitaciones de LDA
Disperso vs. Denso
Bag-of-words (disperso):
"perro" = [0,0,0,1,0,0,0,0,0,0...]
(10,000 dimensiones,
casi todas cero)
Embedding (denso):
"perro" = [0.23, -0.45, 0.12, ...]
(300 dimensiones,
todas con valores)
Los embeddings codifican
SIGNIFICADO en cada dimensión.
Usando embeddings en R:
# Con text2vec
library(text2vec)
# Cargar embeddings preentrenados
embeddings <- readRDS("embeddings_es.rds")
# Obtener vector de una palabra
vec_democracia <- embeddings["democracia", ]
# Encontrar palabras similares
sim <- sim2(
embeddings,
matrix(vec_democracia, nrow = 1)
)
head(sort(sim[,1], decreasing = TRUE))Ejemplos de investigación:
Datos disponibles:
El desafío principal es el acceso a datos estructurados y digitalizados.
Aplicaciones:
Consideraciones:
Los LLMs (Día 4) están transformando este campo: pueden clasificar, resumir y extraer información mucho mejor que los métodos clásicos.
Aplicaciones:
Métodos:
Proyectos relevantes:
Ejemplo de pregunta:
¿La cobertura de la economía en medios argentinos es más negativa que en medios uruguayos?
→ TF-IDF + sentimiento + comparación
El problema:
Solución con NLP:
Ejemplo:
Respuestas abiertas:
"La economía está muy mal"
"No hay trabajo"
"La inflación nos mata"
"Mucha inseguridad"
"Los políticos son corruptos"
Clustering identifica:
- Cluster 1: Economía (3)
- Cluster 2: Seguridad (1)
- Cluster 3: Política (1)
Mucho más rápido que
codificación manual.
Bag-of-words / TF-IDF:
LDA:
Los LLMs (transformers) superan estas limitaciones.
Mañana veremos cómo BERT, GPT y otros modelos revolucionan el análisis de texto.
Métodos clásicos:
Representaciones:
Estos métodos son el fundamento. Los LLMs los mejoran en casi todo, pero entender los conceptos básicos es clave.
Nos vemos en el laboratorio.