Skip to main content

Command Palette

Search for a command to run...

Radiografía del Crimen: El Poder del Machine Learning ante la Falta de Transparencia

Transformando la narrativa de la nota roja en datos estructurados para la inteligencia territorial.

Updated
13 min read
Radiografía del Crimen: El Poder del Machine Learning ante la Falta de Transparencia

En el papel y en muchos tutoriales, el análisis de datos parece comenzar siempre con un archivo .csv perfectamente estructurado y listo para procesar. Sin embargo, en los proyectos del mundo real rara vez se tiene tanta suerte. Los datasets específicos para una tarea de análisis no siempre están disponibles e incluso plataformas como Kaggle rara vez ofrecen datos alineados con el problema exacto a resolver. En muchos casos, el dataset simplemente no existe.

Desde un punto de vista práctico, el flujo de trabajo se divide en dos grandes etapas: la adquisición y el análisis. Aunque el análisis suele llevarse el crédito, la recolección es la verdadera base del proceso; sin datos íntegros y representativos, cualquier modelo o técnica posterior pierde su propósito.

Recientemente me encontré con esta limitante al tratar de analizar algunos casos de la incidencia delictiva de mi ciudad. Tras una recolección inicial de datos, identifiqué un déficit crítico de información: los registros disponibles no cuentan con la resolución temporal ni espacial requerida para identificar patrones de comportamiento reales.

Esta carencia de datos me motivó a desarrollar un sistema enfocado en la adquisición y Procesamiento de información delictiva. El objetivo central es generar un dataset propio que resuelva la opacidad de las fuentes tradicionales mediante la clasificación de notas de alto impacto. Este proceso permite indexar información útil y estructurada, estableciendo la base necesaria para su posterior análisis.

Para preservar la integridad del análisis y sus matices locales, el procesamiento se realizó sobre las fuentes originales en español; no obstante, para facilitar la comprensión internacional, los titulares clave presentados aquí han sido traducidos priorizando la equivalencia semántica.

El Contexto y la Estrategia

Para captar los detalles de la dinámica delictiva con mayor precisión, la estrategia de recolección se centró en el aprovechamiento de fuentes de noticias digitales. Partí de la idea de que los sucesos de seguridad generan una huella pública en la prensa que, al ser contrastada entre distintos medios, permite validar la información. Así, logré consolidar un dataset robusto donde la veracidad del dato se apoya en la coincidencia de múltiples reportes.

La imagen de arriba: muestra la huella digital generada por un evento de alto impacto. La coincidencia de datos (entidades, horarios y locaciones) entre diversos medios digitales permite validar la integridad del registro antes de su integración al dataset.

Para ello, desarrolle un pipeline de tres etapas:

  1. Descubrimiento: Identificación de fuentes y extracción de URLs. Es el filtro de entrada que define la amplitud de la base de datos.

  2. Clasificación: El sistema determina si el contenido pertenece efectivamente a la categoría de "nota roja" para eliminar el ruido mediático.

  3. Procesamiento: Transformación de la narrativa informal en datos consistentes listos para Machine Learning.

El Desafío de la Clasificación Semántica

El enfoque de este apartado es la etapa de clasificación, donde la ausencia de datos previos me obligó a realizar un etiquetado manual para construir un conjunto de entrenamiento.

ID: 15510

Título: "Presunto “levantado” es localizado ejecutado en cultivo de chiles, en Los Ramírez"

Etiqueta: 0 (Nota Roja)

Párrafo: "El cuerpo de un hombre que fue ejecutado a balazos fue localizado en un terreno donde están cultivando chiles."

ID: 11371

Título: "Cierra programa de becas con 7 mil beneficiarios"

Etiqueta: 1 (Irrelevante)

Párrafo: "la directora general de Educación Municipal, estableció que se cumplió e inclusive se rebasó la meta."

La diferencia entre notas es fundamental: mientras que un ataque armado, un asalto y cualquier evento de alto impacto, es un dato relevante, eventos como el reporte del clima, el mercado de valores o el estado del tráfico son ruido irrelevante.

Con el fin de automatizar la distinción entre notas, entrené un modelo diseñado para esta tarea. El proceso depende totalmente de la vectorización: la transformación de los titulares en valores numéricos.

Para representar texto de forma numérica existen diversas técnicas, desde la tradicional Bolsa de Palabras (BoW) hasta TF-IDF. Sin embargo, para un análisis de alta precisión, los embeddings ofrecen una representación densa y contextual

A diferencia de los métodos clásicos, que tratan las palabras como entidades aisladas, los embeddings las proyectan en un espacio vectorial de alta dimensionalidad donde la proximidad geométrica refleja la afinidad semántica.

Esta distinción es crítica al enfrentar la ambigüedad. Tomemos como ejemplo: 'Explota red social tras anuncio' frente a 'Explota artefacto en vía pública'. En un modelo de Bolsa de Palabras (BoW), la presencia de 'explota' generaría una falsa equivalencia entre ambos textos, ya que estos métodos ignoran el orden y la relación entre términos.

Los embeddings resuelven esto mediante la codificación de contexto. El sistema no solo identifica caracteres; sitúa cada titular en una región específica de un espacio multidimensional. Mientras que el primer titular se agrupa con noticias de tecnología y cultura, el segundo es atraído hacia vectores relacionados con sucesos violentos. Esta capacidad de diferenciar el sentido figurado del literal es lo que dota al modelo de una sensibilidad contextual muy grande.

Implementación: BETO y Regresión Logística

Para la ejecución técnica, integré BETO —un modelo basado en la arquitectura Transformer optimizado específicamente para el español— disponible a través de la comunidad de Hugging Face. Tras transformar el texto en vectores de alta densidad (embeddings), Opté por la Regresión Logística como algoritmo de clasificación.

Mientras BETO captura la complejidad semántica del lenguaje, la Regresión Logística aporta eficiencia computacional y una transparencia crucial. Al entregar probabilidades directas, el modelo no solo categoriza, sino que indica el grado de confianza con el que una noticia pertenece a la 'clase 0' (nota roja) o a la 'clase 1' (Irrelevante), permitiendo un control más fino sobre los umbrales de clasificación.

Análisis de Desempeño: Resultados y Métricas del Campo

Los resultados obtenidos validan la robustez de la arquitectura propuesta. Tras un entrenamiento exhaustivo con 11,028 registros y una evaluación sobre un conjunto de prueba independiente de 7,352 datos, el modelo alcanzó un Accuracy de 0.96.

Para garantizar que estos resultados no fueran producto del azar o de un sobreajuste (overfitting), implemente una validación cruzada (5-fold), obteniendo un Accuracy CV de 0.9576 +/- 0.0025. La mínima desviación estándar confirma la estabilidad del modelo ante diferentes subconjuntos de datos.

La Matriz de Confusión permite identificar la naturaleza de los errores residuales:

  • Real Nota Roja (Clase 0): El modelo identificó correctamente al 95.84% de los eventos violentos. Solo un marginal 4.16% fue desplazado hacia la clase negativa, generalmente debido a ambigüedades en titulares extremadamente breves.

  • Real Temática Irrelevante (Clase 1): Se logró filtrar con éxito el 95.35% del contenido fuera de dominio. El error de falsos positivos (4.65%) se mantiene controlado, garantizando que el dataset final esté libre de ruido informativo.

Este nivel de precisión demuestra que la combinación de BETO y Regresión Logística no solo clasifica palabras, sino que decodifica correctamente el contexto de seguridad en el lenguaje cotidiano.

Datos de entrenamiento==========: 11028
Datos de prueba==========: 7352
Entrenando Regresión Logística sobre embeddings de BETO...
Accuracy CV (5-fold): 0.9576 +/- 0.0025

============================================================
ANÁLISIS DE DESEMPEÑO DETALLADO
============================================================
               precision    recall  f1-score   support

Nota Roja (0)       0.95      0.96      0.96      3676
    Otros (1)       0.96      0.95      0.96      3676

     accuracy                           0.96      7352
    macro avg       0.96      0.96      0.96      7352
 weighted avg       0.96      0.96      0.96      7352


--- MATRIZ DE CONFUSIÓN (Absolutos | Porcentajes) ---
Real Nota Roja (0)   |  3523 (95.84%) |   153 ( 4.16%) | 
Real Otros (1)       |   171 ( 4.65%) |  3505 (95.35%) | 

Sensibilidad Contextual y Análisis de Fronteras

Más allá de las métricas globales, el modelo demuestra una sensibilidad contextual impresionante, capaz de discriminar matices donde los métodos tradicionales basados en frecuencias fallarían. Para ilustrar esta capacidad de resolución ante la ambigüedad, las siguientes pruebas muestran el comportamiento del clasificador ante casos de ambiguedad.

1. Contraste de Verbos Dinámicos

El modelo debe decidir si verbos como "caer" o "disparar" tienen una connotación delictiva o económica/civil.

Input (Titular) Clasificación Confianza Latencia
"Caen las ventas de vehículos en el Bajío" Clase 1 (Irrelevante) 88.52% 26.62 ms
"Caen tres con armas largas tras persecución" Clase 0 (Nota Roja) 99.90% 28.79 ms
"Se dispara el precio del dólar esta mañana" Clase 1 (Irrelevante) 99.35% 37.08 ms
"Se dispara contra locatario en riña vecinal" Clase 0 (Nota Roja) 100.00% 28.51 ms

2. Densidad de Información y Contexto Extenso

Al procesar estructuras más complejas, el modelo debe mantener la coherencia semántica a pesar del incremento en el número de entidades.

  • Caso de Éxito en Nota Roja: "Localizan restos humanos al interior de bolsas negras..."

    • Resultado: Clase 0 (97.69% de confianza). El sistema identifica correctamente la gravedad de las entidades (restos humanos, peritos, Guardia Nacional).
  • Caso de Éxito en Temática General (Clase 1): "El gobierno estatal anunció una inversión histórica para la expansión del parque industrial en la zona Bajío..."

    • Resultado: Clase 1 (99.99% de confianza). A pesar de mencionar la "zona Bajío" (término de alta recurrencia en los reportes de seguridad recolectados), el modelo prioriza el contexto de inversión y crecimiento industrial, evitando sesgos territoriales.

3. El Desafío de la Polisemia Extrema

Los términos "ejecutar" y "levantón" representan la frontera más crítica del lenguaje en este dominio.

Contexto Civil: En el caso "Autoridades municipales ejecutan el programa de bacheo y pavimentación en las principales avenidas del Bajío."

  • Resultado: Clase 1 (99.97% de confianza). A pesar del uso del verbo "ejecutan" (término de altísima sensibilidad en el dominio de seguridad), el modelo identifica que la relación con "programa de bacheo" y "pavimentación" sitúa el evento en un contexto de obra pública, descartando cualquier connotación delictiva con una precisión casi total.

  • Contexto Deportivo: En el caso de "Reportan el levantón de pesas. en gimnasio local"

    • Resultado:** Clase 1, los embeddings logran filtrar la jerga delictiva para reconocer una actividad cotidiana con una confianza del 94.24% hacia la interpretación correcta.

Mientras que un algoritmo tradicional (BoW) habría Tendido a marcado todas estas entradas como "Nota Roja" por la sola presencia de palabras clave, el clasificador basado en embeddings identifica el contexto de la frase, así, la cercanía entre los vectores numéricos refleja una verdadera afinidad de significados, y no una simple coincidencia de palabras.

De la Narrativa al Dato: Extracción con LLMs

Una vez filtradas las noticias relevantes mediante el clasificador, los Large Language Models (LLMs) entran en juego como aliados estratégicos. En esta etapa, el desafío ya no es categorizar la noticia, sino "descomponerla".

Al procesar la nota completa mediante un prompt diseñado para la extracción de entidades, se puede lograr normalizar la narrativa informal de la prensa en campos estructurados y listos para ser indexados. Esto permite capturar variables críticas como:

  • Tipología delictiva específica.

  • Georreferenciación (calles, colonias y puntos de referencia).

  • Cronología precisa (fecha y hora de los hechos).

  • Perfiles de víctimas y hechos clave.

Esta transición del texto libre al análisis estadístico es fundamental, pues permite mapear "puntos calientes" de criminalidad e identificar tendencias temporales que, a menudo, no figuran en los datos abiertos de las autoridades. Al capturar detalles sobre el modus operandi y perfiles de víctimas que el gobierno no siempre desglosa, se puede obtener una visión más granular y profunda del fenómeno del crimen en México.

Caso de Uso: Procesamiento de un Hecho Delictivo

Para ilustrar el proceso, el siguiente es un ejemplo de un reporte real que se envía al LLM y el modelo lo traduce a un objeto de datos estructurado:

Entrada (Fragmento de noticia): "León, Guanajuato.- El cuerpo de un hombre fue encontrado maniatado, emplayado y con huellas de violencia en el interior de una casa de la colonia Delta de Jerez durante la madrugada de este martes... El hallazgo fue reportado cerca de las 2 de la madrugada, en una vivienda de la calle Escudo..."

Salida Estructurada (JSON):

{
  "noticia": {
    "fecha": "2023-09-05",
    "fuente": "Corte Informativo Local"
  },
  "eventos": [
    {
      "tipo_evento": "homicidio",
      "categoria_general": "violencia",
      "fecha": "2023-09-05",
      "hora": "02:00",
      "ubicacion": {
        "estado": "Guanajuato",
        "ciudad": "León",
        "direccion": "Calle Escudo, cruce con bulevares Épsilon y Delta, col. Delta de Jerez"
      },
      "tipo_lugar": "domicilio",
      "victimas": [
        {
          "cantidad": 1,
          "estado": "muerto",
          "descripcion": "Hombre de 25-30 años, maniatado y emplayado"
        }
      ],
      "autoridades": ["Policía Municipal", "Fiscalía General", "AIC", "SEMEFO"],
      "nivel_confianza": 0.95
    }
  ]
}

Este esquema transforma una historia trágica en un punto de datos analizable. Al repetir este proceso miles de veces, el sistema deja de ser un simple recolector de noticias para convertirse en una herramienta de inteligencia territorial, capaz de revelar patrones que el texto aislado mantendría ocultos.

Consideraciones Éticas y Limitaciones

Aunque este sistema ofrece una alternativa ante la opacidad de los datos oficiales en México, su implementación no está exenta de desafíos críticos que deben ser considerados:

  1. Fiabilidad vs. Oficialidad: A diferencia de las bases de datos gubernamentales, que se nutren de investigaciones judiciales y procesos legales, este proyecto se basa en reportes periodísticos. Si bien la confianza en las cifras oficiales es baja en nuestro país, la "nota roja" —aunque provenga de medios con trayectoria— no posee un 100% de confiabilidad jurídica. Los datos extraídos deben tratarse como una representación mediática de la realidad, ideal para identificar patrones, pero sujeta a las imprecisiones propias del periodismo inmediato.

  2. Manejo Ético de la Información: El procesamiento de nombres, direcciones específicas, datos de víctimas y de presuntos delincuentes exige un compromiso ético ineludible. Es imperativo manejar esta información con protocolos de privacidad que eviten la revictimización o el mal uso de datos sensibles.

  3. El Poder del Contraste: Una estrategia fundamental para mitigar el sesgo o el error de una sola fuente es el contraste de medios. La validación cruzada entre distintas casas editoriales incrementa sustancialmente la fiabilidad de la información extraída.

Conclusión: Soberanía de Datos y Eficiencia Operativa

Construir un dataset desde cero en un entorno de información opaca es, en esencia, un ejercicio de soberanía de datos. Tras recolectar más de 200,000 enlaces, la escala del problema dictó la necesidad de optimizar recursos: si bien los LLMs poseen capacidades asombrosas, utilizarlos para clasificar el volumen total de información habría tenido un costo prohibitivo.

Aquí es donde la arquitectura híbrida demostró su valor: el Machine Learning tradicional (BETO) actuó como un filtro de alta eficiencia, permitiendo que los modelos más costosos y potentes se reservaran exclusivamente para la extracción de información relevante.

Este proyecto es un testimonio del poder de la colaboración abierta y del ecosistema de comunidades como Hugging Face. En un contexto como el de México, transformar el caos de la nota roja en datos estructurados y accionables no es solo un reto de ingeniería; es el primer paso indispensable para entender, y eventualmente transformar, nuestro entorno urbano.

Nota del autor: Este análisis es solo una pieza de un ecosistema mucho más amplio en el que sigo trabajando. Estaré publicando más avances próximamente.

Dataset.

https://www.kaggle.com/datasets/frankzav/mexico-news-classification-dataset

Machine Learning

Part 1 of 1

Artículos sobre técnicas de machine learning

More from this blog

C

Código en Llamas | Programación, Algoritmos y Software explicado paso a paso

24 posts

Espacio dedicado a explorar temas de programación, algoritmos, visión por computadora y desarrollo de software, con explicaciones prácticas y bien fundamentadas.