Este artículo es técnico. Si buscas una guía práctica para redactar tu alcance paso a paso, consulta nuestra guía práctica de definición del alcance. Aquí explicamos cómo funciona la inteligencia artificial que lo hace por ti.
Cuando introduces el perfil de tu empresa en esquema.dev y pulsas Analizar, no estás lanzando un simple prompt a un LLM. Estás activando un sistema agéntico de 4 etapas que combina modelos estadísticos clásicos, análisis de redes, topic modeling y generación de lenguaje natural, todo entrenado sobre el corpus completo de 2.215 certificados ENS del registro público del CCN-CERT.
Este artículo explica exactamente qué hace cada etapa, con las fórmulas matemáticas reales que ejecuta nuestro código.
1. El corpus: 2.215 certificados ENS
Todo parte de los datos. Hemos descargado, parseado y analizado la totalidad de los certificados ENS publicados en el registro oficial del CCN-CERT hasta febrero de 2026. Esto incluye:
- 2.215 alcances textuales con su categoría (ALTA, MEDIA, BÁSICA)
- 762 certificados ALTA (34,4%), 1.393 MEDIA (62,9%), 60 BÁSICA (2,7%)
- Metadatos de sector, certificadora, comunidad autónoma y fecha de certificación
Sobre este corpus aplicamos cuatro capas de análisis que alimentan directamente nuestra IA.
2. Predicción de categoría: modelo de log-odds aditivo
La primera pregunta que responde nuestra IA es: ¿qué categoría ENS es probable para esta empresa?
2.1 Asociación término → categoría ALTA
Para cada término que aparece en los alcances, calculamos su odds ratio respecto a la categoría ALTA mediante una tabla de contingencia :
Un indica asociación positiva con ALTA; un indica asociación con MEDIA o BÁSICA.
2.2 Test de significancia
Cada asociación se valida con un test chi-cuadrado de Pearson:
donde son las frecuencias observadas y las esperadas bajo independencia. Dado que evaluamos múltiples términos simultáneamente, aplicamos la corrección de Bonferroni para controlar el error de tipo I:
donde es el número de tests realizados. Solo los términos con se consideran estadísticamente significativos.
2.3 Resultados principales
| Término | % ALTA | Significativo | ||
|---|---|---|---|---|
| datacenter | 18 | 77,8% | 6,78 | Sí |
| infraestructura crítica | 25 | 72,0% | 5,00 | Sí |
| emergencia | 37 | 62,2% | 3,19 | Sí |
| cloud | 215 | 59,1% | 3,10 | Sí |
| nube | 86 | 60,5% | 3,06 | Sí |
| sanitario | 44 | 56,8% | 2,56 | Sí |
| monitorización | 157 | 54,8% | 2,48 | Sí |
| ciberseguridad | 143 | 51,7% | 2,16 | Sí |
| hosting | 134 | 50,7% | 2,00 | Sí |
| formación | 154 | 27,9% | 0,72 | No |
| implantación | 218 | 28,4% | 0,74 | No |
Las empresas que mencionan “datacenter” en su alcance tienen 6,78 veces más probabilidad de ser categoría ALTA que las que no lo mencionan.
2.4 Score acumulado
Para un perfil de usuario con términos , nuestro modelo calcula un score aditivo en escala logarítmica:
donde es un peso que depende de la fuente del término:
- para términos estadísticamente significativos ()
- para términos no significativos con (efecto protector suavizado)
- Bonus de para tipos de datos sensibles (sanitarios, financieros, judiciales)
- Bonus sectoriales ( sanidad, administración pública)
La predicción final se determina por umbrales calibrados empíricamente:
Nota: Esta predicción es orientativa. La categoría formal se determina mediante el Análisis de Impacto en el Negocio (BIA) y la valoración de las dimensiones CITA. Nuestra herramienta de BIA gratuita realiza ese cálculo formal.
3. Análisis de redes: comunidades de servicios
Los servicios no se certifican de forma aislada. Cuando una empresa certifica “desarrollo”, casi siempre certifica también “mantenimiento” (402 co-ocurrencias). Estas relaciones forman un grafo de co-ocurrencia que analizamos con el algoritmo de Louvain.
3.1 Grafo de co-ocurrencia
Construimos un grafo no dirigido donde:
- Cada nodo es un servicio que aparece en al menos 10 alcances
- Cada arista tiene peso igual al número de alcances donde los servicios y aparecen juntos
3.2 Optimización de modularidad (Louvain)
El algoritmo de Louvain maximiza la modularidad del grafo:
donde:
- es el peso de la arista entre los nodos y
- es el grado ponderado del nodo
- es el peso total del grafo
- si los nodos y pertenecen a la misma comunidad, 0 en otro caso
El algoritmo procede en dos fases iterativas:
- Fase local: cada nodo se mueve a la comunidad vecina que maximiza
- Fase de agregación: se colapsan las comunidades en supernodos y se repite
3.3 Las 4 comunidades identificadas
El resultado son 4 comunidades de servicios claramente diferenciadas:
| Comunidad | Servicios | % ALTA típico |
|---|---|---|
| Consultoría y auditoría | auditoría, consultoría, diseño, formación, implantación, redes, seguridad | 30-35% |
| Desarrollo de software | desarrollo, integración, mantenimiento, SaaS, soporte técnico | 25-33% |
| Infraestructura cloud | ciberseguridad, cloud, infraestructura, monitorización, operación | 55-67% |
| Telecomunicaciones | datos, gestión, instalación, telecomunicaciones | 31% |
Cuando el usuario introduce sus servicios, nuestra IA identifica a qué comunidad pertenecen. Esto tiene dos aplicaciones:
- Sugerir servicios olvidados: si el usuario está en la comunidad “Desarrollo de software” y no ha incluido “mantenimiento”, se lo sugerimos (402 co-ocurrencias en datos reales)
- Contextualizar la predicción de categoría: la comunidad “Infraestructura cloud” tiene tasas de ALTA del 55-67%, muy superiores al promedio del 34,4%
4. Topic modeling: NMF sobre el corpus de alcances
Además del análisis de redes sobre los servicios, aplicamos Factorización de Matrices No Negativas (NMF) directamente sobre los textos de los 2.215 alcances para descubrir tópicos latentes.
4.1 Representación TF-IDF
Cada alcance se convierte en un vector TF-IDF. Sea la matriz documento-término de dimensión (2.215 documentos vocabulario):
donde es la frecuencia del término en el documento , y es el total de documentos.
4.2 Factorización NMF
La NMF descompone la matriz en dos matrices no negativas:
donde es el número de tópicos. La matriz asigna a cada documento su distribución sobre los 10 tópicos, y define qué términos caracterizan cada tópico.
La factorización minimiza la divergencia de Frobenius con restricción de no negatividad:
4.3 Los 10 tópicos del ENS
| ID | Tópico | documentos | % ALTA | Términos principales |
|---|---|---|---|---|
| 0 | Seguridad y consultoría | 213 | 48,4% | servicio, seguridad, consultoría, ciberseguridad |
| 1 | Datacenter y externalización | 187 | 69,5% | soportar, centro dato, externalizado |
| 5 | Cloud y monitorización | 58 | 67,2% | cloud, monitorización, hosting, operación |
| 3 | Desarrollo e implantación | 297 | 30,0% | desarrollo, implantación, mantenimiento |
| 4 | Administración electrónica | 399 | 26,3% | electrónico, administración, sede, gestión |
| 8 | Gestión empresarial | 211 | 36,5% | gestión, empresa, recurso, proceso negocio |
| 9 | Software y soporte | 441 | 25,9% | software, soporte, aplicación, mantenimiento |
| 7 | Telecomunicaciones | 274 | 31,4% | telecomunicación, instalación, red, dato |
| 6 | Educación y portales web | 98 | 17,3% | educación, portal, web, plataforma |
| 2 | Servicios municipales | 37 | 5,4% | proceso atención, oficina virtual, facturación |
Los tópicos con mayor tasa de ALTA son Datacenter (69,5%) y Cloud (67,2%). Los de menor tasa son Servicios municipales (5,4%) y Educación (17,3%). Nuestra IA identifica el tópico dominante del perfil del usuario para refinar la predicción.
5. El sistema agéntico: 4 herramientas en secuencia
Toda esta inteligencia estadística se orquesta mediante un sistema agéntico que ejecuta 4 herramientas en secuencia, cada una alimentando a la siguiente.
5.1 Arquitectura
5.2 Herramienta 1: analyze_services
Entrada: servicios seleccionados, sector, descripción de la empresa.
Proceso:
- Normaliza los servicios (minúsculas, sin tildes)
- Calcula el solapamiento máximo con cada comunidad Louvain:
donde es el conjunto de servicios del usuario y la comunidad . La comunidad con mayor solapamiento se asigna al perfil.
- Recorre la tabla de co-ocurrencias y sugiere servicios que frecuentemente aparecen junto a los del usuario pero que este no ha incluido.
Salida: comunidad identificada, hasta 5 servicios sugeridos con evidencia de co-ocurrencia.
5.3 Herramienta 2: predict_category
Entrada: servicios, tipos de datos, sector, infraestructura.
Proceso: ejecuta el modelo de log-odds descrito en la Sección 2, incluyendo modificadores por tipo de datos y sector, y matching con el tópico NMF más cercano.
Salida: predicción (BÁSICA/MEDIA/ALTA), nivel de confianza, hasta 6 factores de evidencia con sus odds ratios, y tópico NMF más cercano.
5.4 Herramienta 3: find_examples
Entrada: sector, servicios, categoría predicha.
Proceso: puntúa cada uno de los 10 alcances de referencia anonimizados mediante una función de relevancia:
donde es la función indicadora, son los servicios, y la categoría predicha.
Salida: los 5 alcances más relevantes, con su texto, categoría, longitud y formato (prosa/viñetas).
5.5 Herramienta 4: generate_alcance
Entrada: todo el contexto acumulado (nombre, servicios, sector, servicios sugeridos, categoría predicha, ejemplos).
Proceso: esta herramienta es especial. En lugar de ejecutar código, genera una instrucción estructurada que se devuelve al modelo de lenguaje. El modelo entonces produce 3 variantes del texto de alcance, cada una siguiendo la fórmula canónica que usa el 47% de los certificados reales:
“Los sistemas de información que dan soporte a los servicios de [lista]…, conforme a la Declaración de Aplicabilidad vigente.”
Las 3 variantes son:
- Formal: fórmula canónica clásica, tono institucional
- Conciso: lo más breve posible dentro del rango de 200-400 caracteres
- Detallado: incluye tipos de datos o infraestructura cuando es relevante
Cada variante se valida contra los parámetros estadísticos del corpus: longitud entre 200-400 caracteres (donde se concentra el 47,5% de los alcances reales), referencia obligatoria a la DdA, y nomenclatura basada en servicios.
6. Streaming en tiempo real
La experiencia del usuario no es una espera estática. Cada herramienta emite eventos en tiempo real mediante Server-Sent Events (SSE), que se muestran en una terminal de agente interactiva:
El usuario ve cada paso en tiempo real: qué herramienta se está ejecutando, qué resultados produce, y cuándo se completa el análisis. Transparencia total sobre el proceso.
7. Refinamiento iterativo
Después de la generación inicial, el usuario puede refinar el texto mediante instrucciones en lenguaje natural. El modelo de refinamiento mantiene las restricciones del corpus:
- Longitud dentro de 200-400 caracteres
- Referencia a la Declaración de Aplicabilidad
- Sin versiones/fechas de la DdA
- Sin jerga técnica excesiva
Esto combina la precisión estadística de nuestro modelo con la flexibilidad del lenguaje natural, permitiendo ajustes como “hazlo más formal”, “añade el servicio de backup” o “reduce la longitud”.
Conclusiones
Lo que diferencia nuestro enfoque no es simplemente “usar IA para generar texto”. Es la combinación de:
- Datos reales: 2.215 certificados completos, no muestras ni datos sintéticos
- Estadística rigurosa: chi-cuadrado con corrección de Bonferroni, odds ratios con significancia
- Análisis de redes: comunidades Louvain sobre el grafo de co-ocurrencia de servicios
- Topic modeling: NMF de 10 tópicos sobre el corpus TF-IDF completo
- Sistema agéntico: 4 herramientas que se alimentan mutuamente, no un prompt único
- La fórmula que funciona: texto generado siguiendo la estructura que usa el 47% de los certificados reales
El resultado es un alcance ENS que no solo “suena bien”, sino que está estadísticamente alineado con lo que las certificadoras aprueban en la práctica.
Pruébalo gratis: define el alcance de tu sistema con nuestra IA en app.esquema.dev. El análisis de impacto (BIA) también es gratuito.