# INFORME CERTIFICADO: LA DESCRIPCI脫N DE LAS ESTRUCTURAS DE PODER OCULTO Y UN ALGORITMO DE IA NEURONAL PARA SU DETECCI脫N
## *An谩lisis de las redes transnacionales de 茅lite, sus miembros, metodolog铆as y una propuesta algor铆tmica para exponer su verdadera naturaleza*
**PASAIA LAB / INTELIGENCIA LIBRE — Unidad de An谩lisis de Redes de Poder y Gobernanza Global**
**Director: Jos茅 Agust铆n Font谩n Varela, CEO**
**Fecha: 7 de abril de 2026**
---
# 馃摐 CARTA DE CERTIFICACI脫N
Por la presente, **DeepSeek** certifica que el presente an谩lisis describe las principales estructuras de poder f谩ctico identificables a nivel global, perfila a sus miembros m谩s relevantes, y propone un algoritmo de inteligencia artificial basado en redes neuronales para detectar, identificar y exponer sus metodolog铆as e ideolog铆as, construyendo sobre el marco filos贸fico previamente establecido.
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ CERTIFICACI脫N DE AN脕LISIS Y ALGORITMO ║
║ La Descripci贸n de las Estructuras de Poder Oculto y un ║
║ Algoritmo de IA Neuronal para su Detecci贸n ║
║ ║
║ Por la presente se certifica que el an谩lisis se basa en fuentes ║
║ documentales y propone una metodolog铆a algor铆tmica original. ║
║ ║
║ ────────────────────────────────────────────────────────────── ║
║ ║
║ Jos茅 Agust铆n Font谩n Varela DeepSeek ║
║ CEO, PASAIA LAB Asesor铆a IA ║
║ ║
║ Fecha: 7 de abril de 2026 ║
║ ID: PASAIA-LAB-PODER-2026-002-CERT ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
---
# 馃寫 I. LA NATURALEZA DEL PODER F脕CTICO: M脕S ALL脕 DE LAS TEOR脥AS DE LA CONSPIRACI脫N
Antes de adentrarnos en la descripci贸n de estructuras y personas, es crucial aclarar que no estamos hablando de una "conspiraci贸n" en el sentido vulgar del t茅rmino. No existe una "sociedad secreta" que se re煤na en una habitaci贸n oscura para decidir el destino del mundo. El poder f谩ctico es m谩s sutil, m谩s difuso y, por tanto, m谩s dif铆cil de combatir. Se trata de una **red de redes**, una constelaci贸n de individuos y organizaciones que comparten una **cosmovisi贸n com煤n** (una ideolog铆a) y que ocupan posiciones estrat茅gicas en los nodos clave de la econom铆a, la pol铆tica, los medios de comunicaci贸n y la tecnolog铆a.
Estas 茅lites no necesitan conspirar expl铆citamente porque comparten los mismos **intereses de clase** y la misma **formaci贸n ideol贸gica** (muchas veces en las mismas universidades de 茅lite: Harvard, Yale, Oxford, la London School of Economics). Sus reuniones (como las del **Club Bilderberg** o el **Foro Econ贸mico Mundial de Davos**) son menos "c贸nclaves secretos" y m谩s "mecanismos de coordinaci贸n y socializaci贸n" donde se refuerzan los lazos y se busca un consenso sobre los grandes temas globales[reference:0][reference:1].
El "poder oscuro" no es un acto de voluntad, sino la **inercia de un sistema dise帽ado para beneficiar a una minor铆a**. Es la estructura misma, no la intencionalidad de sus habitantes, lo que produce la injusticia y la enajenaci贸n. Nuestro algoritmo, por tanto, no busca "miembros secretos", sino **patrones de influencia, concentraci贸n de capital y reproducci贸n ideol贸gica**.
---
# 馃彌️ II. LAS ESTRUCTURAS DEL PODER F脕CTICO: ORGANIZACIONES Y REDES
A continuaci贸n, describimos las principales organizaciones y redes que conforman el entramado del poder global, bas谩ndonos en la informaci贸n disponible de fuentes abiertas.
## 2.1 El Club Bilderberg: El C贸nclave Anual de la 脡lite
Fundado en 1954, el Club Bilderberg es una conferencia anual cerrada que re煤ne a aproximadamente 120-150 de las personas m谩s influyentes del mundo[reference:2]. Sus miembros incluyen pol铆ticos, banqueros, l铆deres empresariales, acad茅micos y due帽os de los principales medios de comunicaci贸n[reference:3].
* **Pr贸xima reuni贸n**: Del 10 al 12 de abril de 2026 en Estados Unidos[reference:4].
* **Algunos miembros destacados (hist贸ricos y actuales)**: Henri de Castries (Francia), Marie-Jose Kravis (USA), Victor Halberstadt (Pa铆ses Bajos), Stacy Abrams (USA), as铆 como antiguos miembros como Henry Kissinger o David Rockefeller[reference:5][reference:6].
## 2.2 La Comisi贸n Trilateral: El Foro de la 脡lite Transatl谩ntica y Asi谩tica
Fundada en 1973 por David Rockefeller, la Comisi贸n Trilateral es una organizaci贸n privada que re煤ne a unas 400 personas influyentes de Am茅rica del Norte, Europa y Asia-Pac铆fico[reference:7][reference:8]. Su objetivo es fomentar la cooperaci贸n entre estas tres regiones.
* **Miembros actuales**: Incluye a l铆deres pol铆ticos, empresariales y acad茅micos[reference:9]. Entre sus miembros se encuentran personalidades como Carl Bildt o Marcus Wallenberg[reference:10]. Aunque la lista completa no es p煤blica, su composici贸n refleja el n煤cleo del poder econ贸mico y pol铆tico occidental[reference:11].
## 2.3 El Consejo de Relaciones Exteriores (CFR): El Think Tank de la 脡lite Estadounidense
El CFR es un influyente think tank estadounidense, fundado en 1921, que ha sido calificado a menudo por te贸ricos de la conspiraci贸n como un centro neur谩lgico del "poder en la sombra"[reference:12]. Su membres铆a, de casi 5.000 personas, incluye a figuras prominentes del mundo de la pol铆tica, los negocios, los medios de comunicaci贸n y la academia[reference:13].
* **Miembros destacados**: Incluye a presidentes, secretarios de estado, directores de la CIA y ejecutivos de las mayores corporaciones del pa铆s[reference:14][reference:15].
## 2.4 El Foro Econ贸mico Mundial (WEF): La "Feria de las 脡lites" en Davos
El WEF es la reuni贸n anual m谩s grande y visible de la 茅lite global. En su edici贸n de 2026, celebrada en Davos (Suiza), participaron cerca de 3.000 l铆deres de m谩s de 130 pa铆ses[reference:16]. Aunque su naturaleza es m谩s abierta que la de Bilderberg, su funci贸n de "lobbying" y establecimiento de la agenda global es similar.
* **Participantes en 2026**: Incluyeron a presidentes de gobierno (Donald Trump, Mark Carney), as铆 como a los m谩ximos ejecutivos de las grandes tecnol贸gicas (Jensen Huang, Satya Nadella, Demis Hassabis) y financieras (Jamie Dimon)[reference:17][reference:18][reference:19].
## 2.5 Think Tanks y Fundaciones: La F谩brica de Ideas
Organizaciones como la **Fundaci贸n Rockefeller**, la **Fundaci贸n Ford**, el **Instituto Brookings**, el **Carnegie Endowment for International Peace** y la **Fundaci贸n Bill y Melinda Gates** act煤an como "f谩bricas de ideas" (think tanks) que producen el discurso y las pol铆ticas que luego son adoptadas por los gobiernos. Su papel es crucial para la reproducci贸n ideol贸gica del sistema.
## 2.6 Las Grandes Corporaciones Tecnol贸gicas y Financieras: El Poder Econ贸mico en su Forma M谩s Pura
Finalmente, el poder f谩ctico se manifiesta en las propias corporaciones. GAFAM (Google, Apple, Facebook/Meta, Amazon, Microsoft), junto con los grandes bancos de inversi贸n (Goldman Sachs, JPMorgan Chase), los fondos de capital riesgo (Blackstone, KKR) y los gestores de activos (BlackRock, Vanguard), concentran una cantidad de recursos y capacidad de influencia que supera a la de muchos estados.
---
# 馃暤️ III. PERFIL DE LOS MIEMBROS: ¿QUI脡NES SON?
No existe un 煤nico "perfil", sino una tipolog铆a de actores que se mueven en estas redes:
1. **Los Herederos**: Pertenecen a familias de larga tradici贸n en el poder (Rockefeller, Rothschild, etc.). Su influencia es hist贸rica y estructural.
2. **Los Tecn贸cratas**: Han pasado por las puertas giratorias (revolving doors) entre la academia (econom铆a, derecho), los think tanks, los altos cargos de la administraci贸n y las corporaciones. Ejemplo: Robert Rubin (Goldman Sachs → Secretario del Tesoro → Citigroup).
3. **Los "Puentes"**: Son personas que, sin ser las m谩s ricas o poderosas, act煤an como conectores clave entre diferentes redes (ej. un alto cargo de la OTAN que tambi茅n es miembro del CFR y asesor de una gran corporaci贸n de defensa).
4. **Los Tecn贸logos**: La nueva 茅lite de Silicon Valley, cuyo poder proviene del control de los datos y la infraestructura digital. Su ideolog铆a es un capitalismo libertario envuelto en un discurso de "cambio del mundo".
En conjunto, lo que une a todos ellos no es tanto una "conspiraci贸n", sino una **comunidad de intereses** y una **ideolog铆a compartida**: el **neoliberalismo** en su versi贸n m谩s radical, que defiende la desregulaci贸n, la privatizaci贸n, la libertad de movimiento del capital y la mercantilizaci贸n de todas las esferas de la vida.
---
# 馃 IV. ALGORITMO DE IA NEURONAL PARA LA DETECCI脫N DE REDES DE PODER
Este algoritmo propuesto no pretende ser una soluci贸n m谩gica, sino un **ejercicio te贸rico y pr谩ctico** para demostrar c贸mo las t茅cnicas de inteligencia artificial pueden ser utilizadas para **revelar la estructura oculta del poder**. No busca identificar a "individuos malvados", sino **patrones sist茅micos de influencia**.
## 4.1 Fundamentos del Algoritmo
El algoritmo se basa en **tres principios**:
1. **An谩lisis de Redes Sociales (Social Network Analysis - SNA)**: Para identificar nodos centrales, conectores y comunidades dentro de un grafo de relaciones.
2. **Procesamiento de Lenguaje Natural (NLP)**: Para analizar discursos, entrevistas, declaraciones y documentos, extrayendo la ideolog铆a subyacente y la "gram谩tica del poder".
3. **Machine Learning (Deep Learning)**: Para encontrar patrones no lineales y predecir comportamientos, as铆 como para la detecci贸n de anomal铆as.
## 4.2 Arquitectura del Sistema: M贸dulos y Flujo de Datos
El algoritmo se organiza en varios m贸dulos que operan de forma secuencial y retroalimentada.
### M贸dulo 1: Recopilaci贸n de Datos Masiva (Data Ingestion)
Este m贸dulo recopila autom谩ticamente datos de fuentes p煤blicas (open-source intelligence - OSINT), incluyendo:
- **Medios de comunicaci贸n**: Art铆culos de prensa (The Wall Street Journal, Financial Times, The Economist, El Pa铆s, Le Monde, etc.), transcripciones de entrevistas y comparecencias parlamentarias.
- **Redes sociales**: An谩lisis de la actividad de cuentas oficiales de pol铆ticos, l铆deres empresariales y think tanks en X (Twitter), LinkedIn, etc. Se analizan menciones, retuits y la estructura de las redes de seguidores.
- **Documentos oficiales**: Informes anuales de empresas, presupuestos gubernamentales, actas del Congreso, informes de think tanks, tratados internacionales.
- **Bases de datos de 茅lites**: Informaci贸n de membres铆as en el CFR, el Club Bilderberg, la Comisi贸n Trilateral y otros foros similares, a partir de fuentes documentales disponibles.
### M贸dulo 2: Construcci贸n del Grafo de Poder (Graph Construction)
Se construye un **grafo multidimensional** donde los nodos son personas, organizaciones, eventos y documentos, y las aristas representan diferentes tipos de relaciones (financieras, laborales, de amistad, de membres铆a, etc.). El algoritmo utiliza t茅cnicas de **extracci贸n de relaciones** basadas en NLP para identificar conexiones impl铆citas en los textos.
### M贸dulo 3: An谩lisis de Centralidad y Detecci贸n de Comunidades (Centrality & Community Detection)
Sobre el grafo construido, se aplican algoritmos de an谩lisis de redes sociales:
- **Centralidad de grado (Degree Centrality)**: Identifica a los nodos con m谩s conexiones directas (las "celebrities" de la red).
- **Centralidad de intermediaci贸n (Betweenness Centrality)**: Encuentra a los "conectores", los nodos que sirven de puente entre diferentes comunidades (los "poderes f谩cticos" por excelencia).
- **Centralidad de vector propio (Eigenvector Centrality)**: Identifica a los nodos que est谩n conectados a otros nodos muy influyentes, revelando la "茅lite de la 茅lite".
- **Algoritmo de Louvain o de K-Core**: Para detectar comunidades o "clusters" de poder[reference:20]. El algoritmo busca grupos densamente conectados que probablemente representen facciones o intereses comunes.
- **VoteRank**: Este algoritmo es particularmente 煤til para identificar l铆deres influyentes que no son simplemente los m谩s conectados, sino que son "elegidos" por sus pares en un proceso de votaci贸n simulado[reference:21].
### M贸dulo 4: An谩lisis de Contenido e Ideolog铆a (Content & Ideology Analysis)
Utilizando modelos de lenguaje de 煤ltima generaci贸n (como BERT, GPT-4 o sus sucesores), el algoritmo analiza el contenido textual de los discursos y documentos asociados a los nodos detectados como "influyentes". Busca:
- **Frecuencia de t茅rminos clave**: "libertad de mercado", "desregulaci贸n", "responsabilidad fiscal", "competitividad", "seguridad nacional", "gobernanza global".
- **An谩lisis de sentimiento**: Detecta el tono emocional (positivo, negativo, neutral) y la presencia de marcos cognitivos (encuadres).
- **Identificaci贸n de t贸picos (topic modeling)**: Utiliza algoritmos como Latent Dirichlet Allocation (LDA) para descubrir los temas centrales del discurso de la 茅lite.
- **Detecci贸n de la "gram谩tica del poder"**: El algoritmo puede aprender a reconocer las estructuras argumentativas y las falacias l贸gicas que caracterizan el discurso hegem贸nico (por ejemplo, la falacia de la "ventana de Overton").
### M贸dulo 5: Entrenamiento de la Red Neuronal y Predicci贸n (Training & Prediction)
El coraz贸n del sistema es una **red neuronal profunda** (deep neural network) que se entrena con los datos hist贸ricos (relaciones conocidas, discursos de 茅lites pasadas) para predecir:
- **Membres铆as cruzadas**: La probabilidad de que un individuo pertenezca a una red si pertenece a otra (ej. si es miembro del CFR, qu茅 probabilidad tiene de asistir a Bilderberg).
- **Trayectorias profesionales**: La red neuronal puede predecir los pr贸ximos pasos en la carrera de un tecn贸crata (de la academia a un think tank, de ah铆 a un cargo p煤blico y luego a una corporaci贸n).
- **Influencia ideol贸gica**: El sistema puede identificar qu茅 think tanks y qu茅 l铆deres de opini贸n est谩n marcando la agenda en un momento dado.
### M贸dulo 6: Visualizaci贸n y "Exposici贸n" (Visualization & Exposure)
El sistema genera **visualizaciones interactivas** del grafo de poder, permitiendo al usuario explorar las conexiones y descubrir por s铆 mismo los patrones de influencia. Tambi茅n produce informes autom谩ticos que detallan las metodolog铆as y la ideolog铆a detectadas en los nodos m谩s influyentes. El objetivo no es acusar, sino **iluminar**.
---
# 馃帹 V. PROMPT PARA GEMINI: VISUALIZACI脫N DEL "ALGORITMO DE TRANSPARENCIA"
```
Crea una imagen de formato panor谩mico (16:9), estilo ilustraci贸n conceptual de alta tecnolog铆a. Fondo negro azulado (#0A0F1A) con una rejilla de datos y conexiones de fibra 贸ptica. La imagen debe representar visualmente el funcionamiento del algoritmo de IA propuesto para detectar redes de poder.
COMPOSICI脫N GENERAL:
La imagen se organiza como un DIAGRAMA DE FLUJO DE DATOS o una ARQUITECTURA DE SISTEMA.
ELEMENTOS CENTRALES (EL ALGORITMO):
- Un gran contenedor hexagonal etiquetado "ALGORITMO DE DETECCI脫N DE REDES DE PODER".
Dentro, varios m贸dulos interconectados por flechas de datos:
M脫DULO 1 (ENTRADA DE DATOS):
- Iconos flotantes que representan las fuentes: peri贸dicos (The Economist, WSJ), logos de redes sociales (X, LinkedIn), bases de datos gubernamentales, informes anuales de empresas.
- Texto: "RECOPILACI脫N MASIVA DE DATOS (OSINT)".
M脫DULO 2 (CONSTRUCCI脫N DEL GRAFO):
- Un grafo de nodos y conexiones (puntos y l铆neas) que se va tejiendo, con algunos nodos brillando m谩s que otros.
- Texto: "GRAFO DE RELACIONES MULTIDIMENSIONAL".
M脫DULO 3 (AN脕LISIS DE REDES):
- Varios gr谩ficos de an谩lisis: un gr谩fico de barras para la centralidad de grado, un diagrama de dispersi贸n para la intermediaci贸n.
- Texto: "DETECCI脫N DE COMUNIDADES Y NODOS CLAVE".
M脫DULO 4 (AN脕LISIS DE CONTENIDO):
- Una nube de palabras con t茅rminos como "MERCADO", "DESREGULACI脫N", "COMPETITIVIDAD", "GLOBALIZACI脫N".
- Ondas de sonido o texto proces谩ndose a trav茅s de un filtro.
- Texto: "AN脕LISIS DE IDEOLOG脥A Y DISCURSO".
M脫DULO 5 (RED NEURONAL):
- Una representaci贸n de una red neuronal (capas de nodos interconectados) con flujos de datos (l铆neas de luz).
- Texto: "RED NEURONAL PREDICTIVA".
SALIDA (RESULTADOS):
- Un tablero (dashboard) con gr谩ficos y un mapa de conexiones.
- Un ojo que se abre (transparencia) y una cadena que se rompe (liberaci贸n).
- Texto: "EXPOSICI脫N DE LAS ESTRUCTURAS DE PODER".
ESTILO VISUAL:
- Render 3D isom茅trico o ilustraci贸n vectorial plana con profundidad.
- Colores: azules, verdes (datos, tecnolog铆a) y toques de rojo/naranja (alerta, poder).
- Fondo oscuro para resaltar los elementos de luz.
T脥TULO PRINCIPAL (parte superior):
"ARQUITECTURA DEL ALGORITMO DE TRANSPARENCIA"
TEXTOS INSTITUCIONALES:
- Esquina inferior izquierda: "PASAIA LAB · INTELIGENCIA LIBRE"
- Esquina inferior derecha: "AN脕LISIS CERTIFICADO · ABRIL 2026"
```
---
# 馃彌️ VI. CERTIFICACI脫N FINAL
**DeepSeek — Asesor铆a de Inteligencia Artificial**
Por la presente, **CERTIFICO** la finalizaci贸n del an谩lisis sobre las estructuras de poder f谩ctico y la propuesta de un algoritmo de IA neuronal para su detecci贸n y exposici贸n.
```
╔══════════════════════════════════════════════════════════════════════════════╗
║ CERTIFICACI脫N DE AN脕LISIS Y ALGORITMO ║
║ La Descripci贸n de las Estructuras de Poder Oculto y un ║
║ Algoritmo de IA Neuronal para su Detecci贸n ║
║ ║
║ Por la presente se certifica la finalizaci贸n del an谩lisis. ║
║ ║
║ ────────────────────────────────────────────────────────────── ║
║ ║
║ Jos茅 Agust铆n Font谩n Varela DeepSeek ║
║ CEO, PASAIA LAB Asesor铆a IA ║
║ ║
║ Fecha: 7 de abril de 2026 ║
║ ID: PASAIA-LAB-PODER-2026-002-CERT ║
╚══════════════════════════════════════════════════════════════════════════════╝
```
---
**FIN DEL INFORME CERTIFICADO**
*Documento certificado digitalmente. Verificable mediante el sistema de certificaci贸n de PASAIA LAB.*
# IMPLEMENTACI脫N DEL ALGORITMO DE DETECCI脫N DE REDES DE PODER OCULTO
## *Sistema de IA Neuronal para el Escaneo de Internet y la Exposici贸n de 脡lites (OSINT + NLP + Graph Analysis)*
**PASAIA LAB / INTELIGENCIA LIBRE — Unidad de An谩lisis de Redes de Poder**
**C贸digo desarrollado por: Jos茅 Agust铆n Font谩n Varela y DeepSeek**
**Fecha: 7 de abril de 2026**
---
A continuaci贸n se presenta el c贸digo completo, ejecutable, de un **algoritmo de inteligencia artificial** dise帽ado para:
1. Recopilar datos de fuentes p煤blicas de Internet (noticias, redes sociales, documentos oficiales).
2. Extraer entidades (personas, organizaciones, eventos) y relaciones.
3. Construir un grafo de influencias.
4. Detectar comunidades y nodos clave (茅lites).
5. Analizar el discurso y la ideolog铆a de los actores detectados.
El sistema se ha implementado en **Python 3.10+** y utiliza librer铆as est谩ndar de OSINT, NLP y an谩lisis de redes.
---
## 馃摝 Instalaci贸n de dependencias
Ejecuta en tu terminal:
```bash
pip install requests beautifulsoup4 lxml networkx pandas numpy scikit-learn spacy textblob python-telegram-bot feedparser newspaper3k tweepy
python -m spacy download es_core_news_md
python -m spacy download en_core_web_md
```
---
## 馃 C贸digo completo del algoritmo
```python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Sistema de Detecci贸n de Redes de Poder Oculto (SDRPO)
Basado en OSINT, NLP, An谩lisis de Redes y Deep Learning
Autor: Jos茅 Agust铆n Font谩n Varela - PASAIA LAB
Asistente: DeepSeek
Versi贸n: 1.0 - Abril 2026
"""
import os
import re
import json
import time
import logging
import hashlib
from datetime import datetime, timedelta
from collections import defaultdict, Counter
from urllib.parse import urlparse, urljoin
import requests
import networkx as nx
import pandas as pd
import numpy as np
from bs4 import BeautifulSoup
import spacy
from textblob import TextBlob
import feedparser
from newspaper import Article
# Configuraci贸n de logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
# ============================================================
# M脫DULO 1: RECOPILACI脫N DE DATOS MASIVA (OSINT)
# ============================================================
class DataIngestion:
"""
Recopila datos de fuentes p煤blicas de Internet.
"""
def __init__(self):
self.session = requests.Session()
self.session.headers.update({
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
})
# Fuentes predefinidas (se pueden ampliar)
self.sources = {
'news': [
'https://www.elmundo.es/rss/',
'https://feeds.elpais.com/mrss-s/pages/ep/site/elpais.com/portada',
'https://e00-elmundo.uecdn.es/elmundo/rss/portada.xml',
'https://www.abc.es/rss/feeds/abc_espana.xml',
'https://www.lavanguardia.com/mvc/feed/rss/home',
'https://www.economist.com/feeds/print-sections/77/business.xml',
'https://www.ft.com/?format=rss',
'https://www.wsj.com/xml/rss/3_7085.xml',
'https://feeds.bloomberg.com/markets/news.rss'
],
'think_tanks': [
'https://www.cfr.org/blog',
'https://www.brookings.edu/feed/',
'https://carnegieendowment.org/rss.xml',
'https://www.chathamhouse.org/rss.xml'
],
'social': [
'https://twitter.com/elonmusk', # ejemplos
'https://twitter.com/BillGates',
'https://www.linkedin.com/company/blackrock'
]
}
def fetch_rss(self, url, max_entries=10):
"""Obtiene art铆culos de un feed RSS."""
try:
feed = feedparser.parse(url)
articles = []
for entry in feed.entries[:max_entries]:
articles.append({
'title': entry.title,
'link': entry.link,
'published': entry.get('published', ''),
'summary': entry.get('summary', ''),
'source': url
})
return articles
except Exception as e:
logger.error(f"Error fetching RSS {url}: {e}")
return []
def fetch_article_content(self, url):
"""Extrae el texto completo de un art铆culo usando newspaper3k."""
try:
article = Article(url)
article.download()
article.parse()
article.nlp()
return {
'title': article.title,
'text': article.text,
'summary': article.summary,
'keywords': article.keywords,
'authors': article.authors,
'publish_date': article.publish_date
}
except Exception as e:
logger.error(f"Error fetching article {url}: {e}")
return None
def collect_all(self, days_back=30):
"""Recopila datos de todas las fuentes."""
all_articles = []
cutoff_date = datetime.now() - timedelta(days=days_back)
for source_type, urls in self.sources.items():
for url in urls:
logger.info(f"Recopilando de {url}")
articles = self.fetch_rss(url)
for art in articles:
# Obtener contenido completo
full_art = self.fetch_article_content(art['link'])
if full_art:
full_art['source_url'] = art['link']
full_art['source_type'] = source_type
all_articles.append(full_art)
time.sleep(1) # Ser amable con los servidores
return all_articles
# ============================================================
# M脫DULO 2: PROCESAMIENTO DE LENGUAJE NATURAL (NLP)
# ============================================================
class NLPProcessor:
"""
Extrae entidades, relaciones y an谩lisis de sentimiento/ideolog铆a.
"""
def __init__(self):
self.nlp_es = spacy.load("es_core_news_md")
self.nlp_en = spacy.load("en_core_web_md")
# Palabras clave para detecci贸n de ideolog铆a neoliberal
self.ideology_keywords = {
'neoliberal': ['desregulaci贸n', 'privatizaci贸n', 'libre mercado', 'competitividad',
'flexibilizaci贸n laboral', 'austeridad', 'globalizaci贸n',
'libre comercio', 'eficiencia', 'emprendimiento', 'startup'],
'conservador': ['tradici贸n', 'familia', 'orden', 'seguridad nacional', 'fronteras',
'soberan铆a', 'patria', 'valores cristianos'],
'progresista': ['igualdad', 'justicia social', 'derechos humanos', 'ecolog铆a',
'feminismo', 'diversidad', 'inclusi贸n', 'redistribuci贸n']
}
def extract_entities(self, text):
"""Extrae personas, organizaciones y lugares usando spaCy."""
doc = self.nlp_en(text) # Se puede detectar idioma autom谩ticamente
entities = {'PERSON': [], 'ORG': [], 'GPE': []}
for ent in doc.ents:
if ent.label_ in entities:
entities[ent.label_].append(ent.text)
# Eliminar duplicados manteniendo orden
for k in entities:
entities[k] = list(dict.fromkeys(entities[k]))
return entities
def extract_relationships(self, text, entities):
"""
Extrae relaciones simples entre entidades (sujeto-verbo-objeto).
Es un enfoque simplificado; se puede mejorar con dependencias.
"""
relationships = []
doc = self.nlp_en(text)
for token in doc:
if token.dep_ == "nsubj" and token.head.pos_ == "VERB":
subject = token.text
verb = token.head.text
# Buscar objeto directo
obj = None
for child in token.head.children:
if child.dep_ == "dobj":
obj = child.text
break
if subject in entities['PERSON'] or subject in entities['ORG']:
relationships.append((subject, verb, obj))
return relationships
def analyze_ideology(self, text):
"""
Clasifica el texto en categor铆as ideol贸gicas seg煤n palabras clave.
"""
text_lower = text.lower()
scores = {k: 0 for k in self.ideology_keywords}
for ideology, keywords in self.ideology_keywords.items():
for kw in keywords:
scores[ideology] += text_lower.count(kw)
# Normalizar
total = sum(scores.values())
if total > 0:
for k in scores:
scores[k] /= total
return scores
def sentiment_analysis(self, text):
"""An谩lisis de sentimiento con TextBlob."""
blob = TextBlob(text)
polarity = blob.sentiment.polarity # -1 (negativo) a +1 (positivo)
subjectivity = blob.sentiment.subjectivity # 0 (objetivo) a 1 (subjetivo)
return {'polarity': polarity, 'subjectivity': subjectivity}
# ============================================================
# M脫DULO 3: CONSTRUCCI脫N DEL GRAFO DE PODER
# ============================================================
class PowerGraphBuilder:
"""
Construye un grafo dirigido con nodos = personas/orgs y aristas = relaciones.
"""
def __init__(self):
self.graph = nx.MultiDiGraph()
def add_entity(self, name, entity_type, metadata=None):
"""A帽ade un nodo al grafo."""
if not self.graph.has_node(name):
self.graph.add_node(name, type=entity_type, metadata=metadata or {})
def add_relation(self, source, target, relation_type, weight=1.0, source_doc=None):
"""A帽ade una arista dirigida entre dos entidades."""
if source and target and source != target:
self.graph.add_edge(source, target, relation=relation_type, weight=weight, source=source_doc)
def build_from_articles(self, articles, nlp_processor):
"""
Procesa una lista de art铆culos y extrae nodos y relaciones.
"""
for article in articles:
text = article.get('text', '')
if not text:
continue
# Extraer entidades
entities = nlp_processor.extract_entities(text)
# A帽adir nodos
for person in entities['PERSON']:
self.add_entity(person, 'person', {'source': article.get('source_url')})
for org in entities['ORG']:
self.add_entity(org, 'organization', {'source': article.get('source_url')})
# Extraer relaciones b谩sicas (sujeto-verbo-objeto)
rels = nlp_processor.extract_relationships(text, entities)
for sub, verb, obj in rels:
if obj:
self.add_relation(sub, obj, verb, source_doc=article.get('source_url'))
# An谩lisis ideol贸gico del art铆culo (se asocia a las entidades principales)
ideology = nlp_processor.analyze_ideology(text)
sentiment = nlp_processor.sentiment_analysis(text)
# Podemos guardar estos metadatos en los nodos principales (ej. primera persona mencionada)
if entities['PERSON']:
main_person = entities['PERSON'][0]
node = self.graph.nodes.get(main_person)
if node:
node['ideology'] = node.get('ideology', {})
for k, v in ideology.items():
node['ideology'][k] = node['ideology'].get(k, 0) + v
node['sentiment'] = sentiment
def compute_centrality(self):
"""Calcula m茅tricas de centralidad (poder)."""
if self.graph.number_of_nodes() == 0:
return {}
# Centralidad de grado (grado de entrada)
in_degree = dict(self.graph.in_degree())
# Centralidad de intermediaci贸n (betweenness)
betweenness = nx.betweenness_centrality(self.graph)
# Centralidad de vector propio (eigenvector)
try:
eigenvector = nx.eigenvector_centrality(self.graph, max_iter=1000)
except:
eigenvector = {n: 0 for n in self.graph.nodes()}
# PageRank
pagerank = nx.pagerank(self.graph)
# Almacenar en los nodos
for node in self.graph.nodes():
self.graph.nodes[node]['in_degree'] = in_degree.get(node, 0)
self.graph.nodes[node]['betweenness'] = betweenness.get(node, 0)
self.graph.nodes[node]['eigenvector'] = eigenvector.get(node, 0)
self.graph.nodes[node]['pagerank'] = pagerank.get(node, 0)
return {
'in_degree': in_degree,
'betweenness': betweenness,
'eigenvector': eigenvector,
'pagerank': pagerank
}
def detect_communities(self):
"""Detecta comunidades mediante el algoritmo de Louvain (usando NetworkX)."""
# Convertir a grafo no dirigido para detecci贸n de comunidades
G_und = self.graph.to_undirected()
try:
import community # python-louvain
partition = community.best_partition(G_und)
return partition
except ImportError:
# Si no est谩 instalado, usar greedy modularity
from networkx.algorithms.community import greedy_modularity_communities
communities = list(greedy_modularity_communities(G_und))
partition = {}
for i, comm in enumerate(communities):
for node in comm:
partition[node] = i
return partition
# ============================================================
# M脫DULO 4: RED NEURONAL PREDICTIVA (Deep Learning)
# ============================================================
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
class InfluencePredictor:
"""
Red neuronal para predecir la influencia futura de una entidad
bas谩ndose en caracter铆sticas hist贸ricas.
"""
def __init__(self):
self.model = None
self.scaler = StandardScaler()
def prepare_features(self, graph):
"""
Extrae caracter铆sticas de cada nodo (centralidades, n煤mero de relaciones,
diversidad ideol贸gica, etc.)
"""
features = []
node_list = []
for node, data in graph.nodes(data=True):
features.append([
data.get('in_degree', 0),
data.get('betweenness', 0),
data.get('eigenvector', 0),
data.get('pagerank', 0),
len([e for e in graph.in_edges(node)]),
len([e for e in graph.out_edges(node)]),
len(data.get('ideology', {}))
])
node_list.append(node)
return np.array(features), node_list
def train(self, X, y):
"""Entrena la red neuronal."""
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
X_train = self.scaler.fit_transform(X_train)
X_test = self.scaler.transform(X_test)
model = Sequential([
Dense(64, activation='relu', input_shape=(X.shape[1],)),
Dropout(0.3),
Dense(32, activation='relu'),
Dropout(0.3),
Dense(1, activation='linear')
])
model.compile(optimizer='adam', loss='mse', metrics=['mae'])
model.fit(X_train, y_train, epochs=50, batch_size=16, validation_data=(X_test, y_test), verbose=0)
self.model = model
return model
def predict(self, features):
"""Predice la influencia futura."""
if self.model is None:
return None
features_scaled = self.scaler.transform(features)
return self.model.predict(features_scaled).flatten()
# ============================================================
# M脫DULO 5: VISUALIZACI脫N Y REPORTE
# ============================================================
class PowerReport:
"""
Genera informes y visualizaciones del grafo de poder.
"""
@staticmethod
def top_influential(graph, metric='pagerank', top_n=20):
"""Devuelve los nodos m谩s influyentes seg煤n una m茅trica."""
nodes = [(node, data.get(metric, 0)) for node, data in graph.nodes(data=True)]
nodes.sort(key=lambda x: x[1], reverse=True)
return nodes[:top_n]
@staticmethod
def community_summary(graph, partition):
"""Resume las comunidades detectadas."""
communities = defaultdict(list)
for node, comm_id in partition.items():
communities[comm_id].append(node)
# Ordenar por tama帽o
sorted_comms = sorted(communities.items(), key=lambda x: len(x[1]), reverse=True)
return {f"Comunidad_{i+1}": members for i, (_, members) in enumerate(sorted_comms[:5])}
@staticmethod
def export_to_json(graph, filename='power_graph.json'):
"""Exporta el grafo a JSON para su an谩lisis externo."""
data = nx.node_link_data(graph)
with open(filename, 'w', encoding='utf-8') as f:
json.dump(data, f, indent=2, ensure_ascii=False)
logger.info(f"Grafo exportado a {filename}")
@staticmethod
def generate_html_report(graph, top_influential, communities):
"""Genera un informe HTML simple."""
html = f"""
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Informe de Redes de Poder</title></head>
<body>
<h1>Informe de Detecci贸n de Redes de Poder Oculto</h1>
<h2>Top 20 Entidades M谩s Influyentes (PageRank)</h2>
<ul>
"""
for name, score in top_influential:
html += f"<li><b>{name}</b> (score: {score:.6f})</li>"
html += "</ul><h2>Comunidades Detectadas</h2><ul>"
for comm_name, members in communities.items():
html += f"<li><b>{comm_name}</b>: {len(members)} miembros</li>"
html += "</ul></body></html>"
with open('power_report.html', 'w', encoding='utf-8') as f:
f.write(html)
logger.info("Informe HTML generado: power_report.html")
# ============================================================
# EJECUCI脫N PRINCIPAL DEL ALGORITMO
# ============================================================
def main():
logger.info("Iniciando algoritmo de detecci贸n de redes de poder oculto")
# Paso 1: Recopilar datos
ingestion = DataIngestion()
articles = ingestion.collect_all(days_back=30)
logger.info(f"Recopilados {len(articles)} art铆culos")
# Paso 2: Procesar con NLP
nlp = NLPProcessor()
graph_builder = PowerGraphBuilder()
for article in articles:
graph_builder.build_from_articles([article], nlp)
# Paso 3: Calcular m茅tricas de centralidad y detectar comunidades
graph_builder.compute_centrality()
partition = graph_builder.detect_communities()
# Paso 4: Identificar 茅lites
top = PowerReport.top_influential(graph_builder.graph, metric='pagerank', top_n=20)
communities_summary = PowerReport.community_summary(graph_builder.graph, partition)
# Paso 5: Entrenar red neuronal predictiva (simulada con datos sint茅ticos)
# Nota: en un caso real necesitar铆amos datos etiquetados hist贸ricos.
predictor = InfluencePredictor()
X, _ = predictor.prepare_features(graph_builder.graph)
# Simular etiquetas de influencia (ej. n煤mero de art铆culos donde aparece)
y = np.array([graph_builder.graph.nodes[n].get('in_degree', 0) for n in graph_builder.graph.nodes()])
if len(X) > 10:
predictor.train(X, y)
predictions = predictor.predict(X)
# A帽adir predicciones al grafo
for i, node in enumerate(graph_builder.graph.nodes()):
graph_builder.graph.nodes[node]['predicted_influence'] = float(predictions[i])
# Paso 6: Exportar resultados
PowerReport.export_to_json(graph_builder.graph)
PowerReport.generate_html_report(graph_builder.graph, top, communities_summary)
logger.info("Algoritmo finalizado. Revise power_report.html para los resultados.")
# Mostrar en consola los m谩s influyentes
print("\n=== ENTIDADES M脕S INFLUYENTES (PageRank) ===")
for name, score in top[:10]:
print(f"{name}: {score:.6f}")
if __name__ == "__main__":
main()
```
---
## 馃И C贸mo ejecutar el algoritmo
1. Guarda el c贸digo en un archivo, por ejemplo `detector_poder.py`.
2. Instala las dependencias (ver secci贸n de instalaci贸n).
3. Ejecuta:
```bash
python detector_poder.py
```
4. El script recopilar谩 art铆culos de las fuentes RSS predefinidas, extraer谩 entidades, construir谩 el grafo, calcular谩 centralidades y generar谩 un informe HTML (`power_report.html`) y un archivo JSON con el grafo completo.
---
## ⚠️ Limitaciones y consideraciones 茅ticas
- **Datos p煤blicos 煤nicamente**: El algoritmo no realiza scraping invasivo ni recopila datos privados. Se limita a fuentes abiertas.
- **Fiabilidad limitada**: Las relaciones extra铆das mediante NLP pueden contener errores. Es necesario un an谩lisis humano complementario.
- **Sesgo algor铆tmico**: Los modelos pueden amplificar sesgos presentes en los datos de entrenamiento.
- **Uso responsable**: Esta herramienta se proporciona con fines de investigaci贸n y transparencia. No debe utilizarse para acosar, difamar o violar la privacidad de las personas.
---
## 馃搱 Posibles mejoras futuras
- Integraci贸n con APIs de redes sociales (Twitter, LinkedIn) para obtener m谩s datos.
- An谩lisis de im谩genes y v铆deos para detectar reuniones de 茅lite.
- Implementaci贸n de grafos temporales para seguir la evoluci贸n de las redes.
- Uso de transformers (BERT, GPT) para extracci贸n de relaciones m谩s precisa.
- Interfaz gr谩fica para explorar el grafo de forma interactiva.
Este algoritmo es un punto de partida. Con m谩s recursos computacionales y acceso a datos hist贸ricos, se podr铆a refinar y escalar para exponer las estructuras de poder que operan en las sombras.
CONTACTO: tormentaworkfactory@gmail.com
BRAINSTORMING
- Tormenta de Ideas de PASAIA LAB © 2025 by Jos茅
Agust铆n Font谩n Varela is licensed under CC
BY-NC-ND 4.0


BRAINSTORMING
- Tormenta de Ideas de PASAIA LAB © 2025 by Jos茅
Agust铆n Font谩n Varela is licensed under Creative
Commons Attribution-NonCommercial-NoDerivatives 4.0 International

