Skip to content

juanba05/arginfluence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArgInfluence

GitHub Pages License: MIT Data: CC BY 4.0

Plataforma de análisis de influencia política argentina en redes sociales. Mapea quién influye a quién en Twitter/X, detecta sincronización temática entre actores y sitúa cada voz en un eje ideológico-institucional. Cubre el espectro completo de la política argentina: oficialismo (La Libertad Avanza), oposición (peronismo, kirchnerismo, Unión por la Patria, JxC), periodistas, medios y nuevos influencers digitales.


¿Qué problema resuelve?

El ecosistema político-mediático argentino es difícil de leer. ¿Quién fija la agenda? ¿Qué actores amplifican a otros? ¿Hay coordinación entre cuentas de distintos espacios? ¿Cómo se distribuye la influencia real vs. la notoriedad percibida?

ArgInfluence responde esas preguntas de forma sistemática y reproducible, a partir de datos reales de Twitter/X.


Preguntas que puede responder

Pregunta Técnica aplicada
¿Quién es más influyente en el ecosistema político? PageRank sobre grafo de menciones
¿Qué actores tienen mayor engagement real? Métrica compuesta (replies × 4 + likes × 3 + RT × 2 + views × 1)
¿Hay coordinación temática entre actores? Detección de sincronía con embeddings semánticos
¿De qué habla cada actor? Clasificación zero-shot con BART
¿Qué voces nuevas están emergiendo? Detección de handles no mapeados con alta frecuencia de mención
¿Cuál es el posicionamiento ideológico relativo de cada actor? Etiquetado manual curado + eje institucional continuo

Cómo funciona

Twitter/X (69 actores)
        │
        ▼
  Scraping con twscrape          ← hasta 200 tweets por actor, 30 días
  + fallback automático a RSS    ← si twscrape falla
        │
        ▼
  Base de datos Supabase         ← PostgreSQL en la nube, RLS activo
        │
        ▼
  Pipeline de análisis (7 etapas)
  ├── Actores emergentes         ← handles no mapeados mencionados frecuentemente
  ├── Detección de temas         ← BART zero-shot (HuggingFace API)
  ├── PageRank                   ← NetworkX sobre grafo de menciones + RT + replies
  ├── Influencia social          ← engagement ponderado + PageRank compuesto
  ├── Sincronización temática    ← embeddings E5-large, ventanas de 6h, ratio Poisson
  ├── Construcción del grafo     ← spring_layout, X=espectro, Y=(1−institucional)
  └── Exportación HTML           ← Pyvis interactivo
        │
        ▼
  Dashboard Streamlit            ← grafo, rankings, tendencias, clusters, sincronía

Arquitectura del grafo

Cada nodo es un actor político. Las aristas representan interacciones reales:

  • Grises sólidas: menciones en texto (@handle, apellido)
  • Azules punteadas: retweets y replies directos

Ejes del grafo:

  • Eje X: espectro ideológico (EDEI)
  • Eje Y: grado de institucionalidad (anti-sistema → institucional)
  • Tamaño del nodo: engagement bruto normalizado (log-scale)

Detección de sincronización temática

Basada en la metodología de Maier et al. (2021) y adaptaciones del paper "Unveiling political influence through social media" (Frontiers in Political Science, 2025).

El algoritmo compara la frecuencia observada de publicaciones simultáneas sobre el mismo tema (usando similitud coseno sobre embeddings semánticos) contra la frecuencia esperada bajo un modelo de Poisson. Si el ratio observado/esperado supera un umbral dinámico, el par se considera sincronizado.

Cuatro filtros de ruido para reducir falsos positivos:

  1. Skip si ambos actores son medios (correlación estructural esperable)
  2. Umbral más alto si más del 30% de ventanas son compartidas (alta base-rate)
  3. Umbral diferenciado por distancia ideológica
  4. Mínimo de 20 posts por actor en el período

Stack técnico

Capa Tecnología Detalle
Lenguaje Python 3.13
Base de datos Supabase PostgreSQL cloud, RLS por tabla
Scraping Twitter twscrape 0.16 Autenticado via cookies browser
NLP — Temas BART (facebook/bart-large-mnli) Zero-shot classification, HuggingFace API
NLP — Embeddings intfloat/multilingual-e5-large dim=1024, batches de 20
Grafos NetworkX + Pyvis PageRank, spring_layout, export HTML
Dashboard Streamlit 7 secciones, actualización on-demand
Testing pytest 134 tests (sin red) + 9 tests @network
Seguridad Sanitización custom 12 regex anti-injection, SSRF, XSS

Actores mapeados

69 actores en cuatro categorías, cubriendo todo el espectro ideológico:

Categoría Cantidad Ejemplos
Políticos 19 Milei, Villarruel, Caputo, Adorni, Kirchner CFK, Kicillof, Massa, Bullrich, Macri
Periodistas 16 Feinmann, Majul, Leuco, Bonelli, Verbitsky, Lijalad, Tenembaum, O'Donnell
Medios 10 La Nación, Clarín, Infobae, TN, Perfil, Página 12, El Destape, C5N, A24, Radio Mitre
Influencers digitales 22 Laje, Lemoine, Rosemblat, Mengolini, Bercovich, Grabois, Rebord, Agarrar la Pala

Espectro cubierto: ED — CD — C — CI — EI (5 posiciones)

Cada actor tiene etiquetas de:

  • espectro: posición ideológica (ED/CD/C/CI/EI)
  • institucional: valor continuo 0.0–1.0 (anti-sistema → institucional)
  • soft_tags: hasta 5 etiquetas de contenido (ej: libertario, kirchnerista, economista, digital_nativo)

Preguntas de investigación que habilita

  • ¿La agenda de los medios sigue a los políticos o al revés?
  • ¿Qué tan coordinada es la comunicación entre actores del mismo espacio?
  • ¿Los influencers digitales amplifican a los medios mainstream o los desplazan?
  • ¿Hay diferencias de engagement entre el oficialismo y la oposición?
  • ¿Qué actores del espectro anti-sistema tienen mayor alcance real?

Referencias académicas

  • PageRank en análisis de influencia política: Brin & Page (1998) aplicado a grafos de interacción en redes sociales.
  • Detección de coordinación temática: Maier, D. et al. (2021). Applying LDA Topic Modeling in Communication Research. Communication Methods and Measures.
  • Embeddings multilingues para análisis político: Wang, L. et al. (2024). Multilingual E5 Text Embeddings. arXiv:2402.05672.
  • Clasificación zero-shot: Yin, W. et al. (2019). Benchmarking Zero-shot Text Classification. EMNLP 2019.

Estructura del repositorio

actors/
├── seed_actors.json       ← 69 actores con handles, categorías y metadata
└── ideology_labels.json   ← etiquetas ideológicas curadas (espectro + institucional + soft_tags)

El código fuente no se publica en este repositorio. Los datos de actores son de acceso libre.


Autor

Juan Bautista@juanba05

Proyecto de análisis político con aplicaciones en consultoría, investigación académica y comunicación institucional.


Sitio web

https://juanba05.github.io/arginfluence/

Palabras clave: influencia política argentina · mapa político digital · análisis redes sociales política · Twitter política argentina · Milei redes sociales · Kirchner Twitter · ecosistema mediático argentino · actores políticos digitales · PageRank política · polarización política argentina · influencers políticos argentina

About

Análisis de influencia política argentina en Twitter/X. PageRank, sincronización temática, espectro ideológico. 69 actores: políticos, periodistas, medios e influencers.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors