Análisis narrativo: framing, fact-checking y cobertura comparada

admin · 2 min

El módulo de análisis narrativo aplica LLM a cada documento para detectar encuadre, verificar afirmaciones y comparar cómo distintas fuentes cubren el mismo evento. Las tres funciones son independientes y se pueden invocar por separado o como parte del pipeline automático.

detect_framing — encuadre y sesgo

Analiza el encuadre narrativo, la dirección del sesgo y el tono de un artículo. El resultado incluye:

  • framing_type — tipo de encuadre (conflicto, consecuencias económicas, interés humano…)
  • bias_directionleft / center-left / center / center-right / right / unclear
  • tone_score — puntuación de tono (−1 negativo a +1 positivo)
  • objectivity_score — estimación de objetividad (0–1)

fact_check_claims — extracción y verificabilidad

Extrae las afirmaciones verificables del texto y evalúa su plausibilidad:

  • claims[] — lista de afirmaciones con text, verifiable (bool) y plausibility (alta/media/baja)
  • red_flags[] — afirmaciones que requieren verificación urgente
  • overall_credibility — puntuación global del documento

compare_coverage — comparación entre fuentes del mismo cluster

Dado un cluster_id, compara cómo distintas fuentes cubren el mismo evento: qué elementos enfatiza cada una, qué omiten y cómo difiere el tono entre ellas.

Arquitectura: LiteLLM + DSPy como fallback

Las llamadas LLM van siempre a través del proxy LiteLLM en http://litellm:4000. Si DSPy está activado (DSPY_ENABLED=true), el análisis de framing intenta primero el módulo DSPy compilado FramingDetector; si falla o no está disponible, cae al prompt directo. Esto permite mejorar la calidad del análisis de forma incremental sin cambiar la interfaz.

LITELLM_PROXY_URL=http://litellm:4000
LITELLM_MODEL_ANALYSIS=gpt-4o-mini   # modelo específico para análisis

Todas las llamadas usan response_format: json_object y temperatura 0.2 para maximizar la consistencia del JSON devuelto.

admin

Editor en D4R.