1. El Problema Algorítmico

La positividad tóxica no es solo un fenómeno cultural: es un patrón de datos. Cada frase del tipo «¡tú puedes!», «las vibras negativas atraen cosas negativas» o «elige ser feliz» deja una huella semántica, emocional y conductual medible en las plataformas digitales que la distribuyen. Held (2002) describió la tiranía de la actitud positiva como un mandato cultural; dos décadas después, ese mandato tiene estructura algorítmica, se entrena con clics, se optimiza con engagement y se distribuye a escala masiva.

La pregunta técnica central de esta propuesta es: ¿cómo diseñar sistemas de Machine Learning capaces de distinguir entre psicología positiva legítima —que valida el dolor como parte del proceso— y positividad tóxica —que lo invalida y culpabiliza al sujeto que lo siente? Berrío Chavarría y Betancur Hincapié (2024) documentan que las métricas de aprobación refuerzan la represión emocional como norma de interacción. Esta propuesta convierte ese hallazgo en una agenda de ingeniería.

Premisa técnica: Un modelo de detección de positividad tóxica no puede limitarse al análisis de palabras positivas (feliz, éxito, vibras). Debe capturar la función pragmática del mensaje: ¿invalida una emoción legítima? ¿culpabiliza al receptor? ¿niega la realidad material del sufrimiento? Esto requiere modelos multimodales de comprensión contextual, no simples clasificadores de sentimiento.

2. Arquitectura del Pipeline de Detección

Se propone un pipeline de cinco etapas que procesa contenido en tiempo real y en diferido, combinando análisis de texto, imagen, audio y comportamiento de red social. La arquitectura es modular: cada plataforma puede adoptar los módulos compatibles con su infraestructura sin necesidad de implementar el sistema completo.

01

INGESTA Y PREPROCESAMIENTO MULTIMODAL

Extracción de texto (captions, comentarios, transcripciones de audio/video), metadatos (hashtags, geolocalización, tipo de cuenta), señales visuales (paleta de color, presencia de emojis, tipografía aspiracional) y métricas de red (velocidad de difusión, perfil del difusor). Normalización lingüística multiidioma vía spaCy + langdetect.

02

EXTRACCIÓN DE CARACTERÍSTICAS SEMÁNTICAS

Embeddings contextuales con RoBERTa o XLM-RoBERTa (multilingüe) para capturar semántica pragmática. Análisis de función discursiva: ¿el mensaje valida o invalida una emoción? Detección de patrones de culpabilización (blame-shifting) con modelos de argumentación entrenados sobre corpus de counseling.

03

CLASIFICACIÓN: DETECTOR DE POSITIVIDAD TÓXICA

Modelo de clasificación binaria fine-tuneado sobre un corpus anotado de mensajes de positividad tóxica vs. psicología positiva legítima. Arquitectura: Transformer + cabeza de clasificación. Score de toxicidad positiva (0–1) con umbral ajustable. Complementado con Perspective API (Google/Jigsaw) para detección de invalidación emocional y lenguaje de culpabilización.

04

ANÁLISIS DE IMPACTO EN RED

Grafos de difusión con NetworkX + Neo4j para identificar nodos de alta influencia (cuentas que amplifican positividad tóxica a audiencias vulnerables). Segmentación por edad del receptor usando metadatos demográficos. Cálculo del Emotional Harm Propagation Score (EHPS): métrica propietaria que pondera el score de toxicidad por el alcance estimado y la vulnerabilidad del público objetivo.

05

CAPA DE INTERVENCIÓN GRADUADA

Cuatro niveles de respuesta según EHPS: (1) etiquetado informativo, (2) reducción de amplificación algorítmica, (3) adjunción de recurso de salud mental, (4) revisión humana para cuentas de alto impacto sostenido. El sistema nunca elimina contenido unilateralmente: prioriza la transparencia y el acceso a contexto.


3. APIs de Machine Learning por Plataforma

Cada plataforma presenta infraestructuras, capacidades de acceso a datos y bases de usuarios distintas. La siguiente tabla sistematiza las APIs y modelos recomendados para cada caso, priorizando herramientas disponibles y auditables:

API / Herramienta Función en el pipeline Plataformas objetivo Tipo
Perspective API Detección de invalidación emocional, toxicidad relacional, lenguaje de culpabilización Todas Google / Jigsaw · Pública
OpenAI Moderation API Clasificación de contenido dañino en categorías granulares; complemento para casos límite Todas OpenAI · Pública
HuggingFace Transformers (RoBERTa / XLM-RoBERTa) Fine-tuning del clasificador de positividad tóxica; inferencia multilingüe en tiempo real Todas Open Source
Azure Text Analytics (Emotion Detection) Análisis de emociones en comentarios y respuestas; detección de usuarios en angustia Facebook, Instagram, YouTube Microsoft Azure · API pública
AWS Comprehend Análisis de sentimiento a escala masiva; extracción de frases clave de positividad tóxica TikTok, X, YouTube Amazon Web Services · API pública
Google Cloud Video Intelligence Análisis de contenido visual en reels/videos: paleta aspiracional, texto en pantalla, expresiones faciales TikTok, Instagram, YouTube Google Cloud · API pública
Whisper (OpenAI) Transcripción de audio en videos para análisis de texto de contenido hablado de positividad tóxica TikTok, YouTube, Instagram Reels Open Source
Meta Llama 3 (fine-tuned) Clasificación contextual avanzada; generación de etiquetas explicativas para el usuario Meta / Facebook / Instagram Open Source (Meta)
NetworkX + Neo4j Análisis de grafos de difusión; cálculo del EHPS; identificación de cuentas amplificadoras Todas Open Source

4. Propuestas por Plataforma

📘 META / FACEBOOK

Integración con Graph API para análisis de páginas de «bienestar» y grupos de MLM. El clasificador analiza publicaciones, comentarios y anuncios pagados que usen lenguaje de culpabilización emocional.

  • Etiquetado contextual en grupos de alto riesgo
  • Auditoría semestral de páginas +100k seguidores con contenido de bienestar
  • Reducción algorítmica de alcance para contenido con EHPS alto

🎵 TIKTOK

Pipeline multimodal: texto de caption + transcripción de audio (Whisper) + análisis visual (Cloud Video Intelligence). Detección de trending sounds asociados a narrativas tóxicas.

  • Análisis en tiempo real de videos antes de distribución masiva
  • Etiqueta «Perspectiva adicional disponible» con enlace a recurso validado
  • Frenado algorítmico para videos con EHPS ≥ 0.75 dirigidos a menores

📸 INSTAGRAM

Análisis de hashtags sistémicamente asociados a positividad tóxica (#goodvibesonly, #noexcuses, #lawofattraction). Clasificador visual para estética «aspiracional toxica» en imágenes.

  • Restricción de recomendación de cuentas con patrón tóxico sostenido
  • Prompt de validación emocional al usuario que interactúa con contenido EHPS alto
  • Verificación de credenciales para cuentas de «salud mental» con +50k seguidores

▶️ YOUTUBE

Transcripción automática de contenido de self-help, motivacional y wellness con Whisper + análisis NLP. Análisis de comentarios con Azure Text Analytics para detectar angustia en respuestas.

  • Ficha informativa en videos de alta difusión con claims de salud mental no verificados
  • Panel de creadores: reporte de impacto emocional estimado de su contenido
  • Enlace automático a recursos de salud mental cuando el detector identifica angustia en comentarios

✕ X (TWITTER)

Análisis de stream en tiempo real de hilos virales con lenguaje de culpabilización emocional. Monitoreo de cuentas verificadas que difunden positividad tóxica con alto impacto.

  • Etiqueta «Contexto adicional» en hilos virales con EHPS alto
  • Herramienta de reporte específica para «contenido que invalida emociones»
  • Informe mensual público de patrones de positividad tóxica detectados

💼 LINKEDIN

Detección de «hustle culture» tóxico: mensajes que glorifican el agotamiento, culpabilizan el descanso o invisibilizan el sufrimiento laboral. Análisis de posts de CEOs y líderes de opinión con alto alcance.

  • Clasificador específico para narrativas de hiperproductividad dañina
  • Recurso de bienestar laboral integrado en feeds con contenido EHPS alto
  • Reporte anónimo de entornos laborales promovidos como tóxicamente positivos

5. Implementación Técnica: Ejemplos de Código

// MÓDULO 1 — Clasificador de Positividad Tóxica (Python · HuggingFace)

toxic_positivity_classifier.py
# ─── Clasificador de Positividad Tóxica ───────────────────────
# Fine-tuning de RoBERTa para detección de invalidación emocional
# Requiere: transformers, datasets, torch

from transformers import AutoTokenizer, AutoModelForSequenceClassification
from torch.nn.functional import softmax
import torch

# Etiquetas del corpus anotado:
# 0 = psicología positiva legítima (valida emociones)
# 1 = positividad tóxica (invalida / culpabiliza)

MODEL_ID = "xlm-roberta-base"  # Multilingüe (ES, EN, PT, FR...)

tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model     = AutoModelForSequenceClassification.from_pretrained(
    "./checkpoints/toxic_positivity_v2",  # Fine-tuned
    num_labels=2
)
model.eval()

def score_content(text: str) -> dict:
    """
    Retorna:
      toxic_score  (0–1): probabilidad de positividad tóxica
      label        : 'TOXIC_POSITIVE' | 'LEGITIMATE_POSITIVE'
      confidence   : confianza del modelo
    """
    inputs = tokenizer(text, return_tensors="pt",
                       truncation=True, max_length=256)
    with torch.no_grad():
        logits = model(**inputs).logits
    probs      = softmax(logits, dim=-1)[0]
    toxic_prob = probs[1].item()

    return {
        "toxic_score" : round(toxic_prob, 4),
        "label"       : "TOXIC_POSITIVE" if toxic_prob >= 0.65 else "LEGITIMATE_POSITIVE",
        "confidence"  : round(probs[int(toxic_prob >= 0.65)].item(), 4)
    }

# ─── Ejemplos ────────────────────────────────────────────────
print(score_content("Está bien sentirse triste; tus emociones son válidas."))
# → {'toxic_score': 0.08, 'label': 'LEGITIMATE_POSITIVE', 'confidence': 0.92}

print(score_content("¡Deja de quejarte! Las vibras negativas atraen fracaso."))
# → {'toxic_score': 0.94, 'label': 'TOXIC_POSITIVE', 'confidence': 0.94}

// MÓDULO 2 — Emotional Harm Propagation Score (EHPS)

ehps_calculator.py
# ─── Emotional Harm Propagation Score ────────────────────────
# Combina toxicidad del contenido + alcance + vulnerabilidad
# del público para calcular el riesgo real de daño emocional

from dataclasses import dataclass
import math

@dataclass
class ContentMetrics:
    toxic_score      : float   # 0–1  (clasificador anterior)
    reach_estimate   : int     # usuarios únicos alcanzados
    minor_audience_pct: float  # % audiencia <18 años (0–1)
    velocity         : float   # shares/hora (viralidad)
    account_credibility: float # 0–1 (verified, historia, credenciales)

def compute_ehps(m: ContentMetrics) -> float:
    """
    EHPS = toxic_score
           × log10(reach + 1)          # escala logarítmica de alcance
           × (1 + minor_audience_pct)  # amplificación por audiencia vulnerable
           × velocity_factor            # urgencia de intervención
           × (1 - account_credibility) # descuento por credibilidad real
    
    Rango resultante: 0 (sin riesgo) → ∞ (intervención urgente)
    Umbral operativo recomendado: EHPS ≥ 3.5 → intervención automática
    """
    velocity_factor = 1 + math.log1p(m.velocity / 10)

    ehps = (
        m.toxic_score
        * math.log10(m.reach_estimate + 1)
        * (1 + m.minor_audience_pct)
        * velocity_factor
        * (1 - m.account_credibility)
    )
    return round(ehps, 3)

def intervention_level(ehps: float) -> str:
    if   ehps < 1.0: return "NONE       — Sin intervención"
    elif ehps < 2.0: return "LEVEL_1    — Etiqueta informativa"
    elif ehps < 3.5: return "LEVEL_2    — Reducción de alcance algorítmico"
    elif ehps < 5.0: return "LEVEL_3    — Recurso de salud mental adjunto"
    else          : return "LEVEL_4    — Revisión humana urgente"

# ─── Caso simulado: cuenta MLM, 800k seguidores, 40% menores ──
metrics = ContentMetrics(
    toxic_score=0.91,
    reach_estimate=820_000,
    minor_audience_pct=0.40,
    velocity=3400,   # shares/hora
    account_credibility=0.05
)
score = compute_ehps(metrics)
print(f"EHPS: {score} → {intervention_level(score)}")
# → EHPS: 7.842 → LEVEL_4 — Revisión humana urgente

// MÓDULO 3 — Integración con Perspective API (Invalidación Emocional)

perspective_integration.py
# ─── Perspective API (Google/Jigsaw) ─────────────────────────
# Detecta atributos de toxicidad relacional complementarios
# Documentación: https://developers.perspectiveapi.com/

import requests, os

PERSPECTIVE_KEY = os.environ["PERSPECTIVE_API_KEY"]
ENDPOINT = "https://commentanalyzer.googleapis.com/v1alpha1/comments:analyze"

def analyze_with_perspective(text: str, lang: str = "es") -> dict:
    """
    Atributos relevantes para positividad tóxica:
    - TOXICITY             : toxicidad general
    - INSULT               : invalidación/menosprecio emocional
    - IDENTITY_ATTACK      : culpabilización por identidad (ej. "los pobres no trabajan")
    - INFLAMMATORY         : provocación emocional
    """
    payload = {
        "comment": {"text": text},
        "languages": [lang],
        "requestedAttributes": {
            "TOXICITY"        : {},
            "INSULT"          : {},
            "IDENTITY_ATTACK" : {},
            "INFLAMMATORY"    : {}
        }
    }
    r = requests.post(
        ENDPOINT, params={"key": PERSPECTIVE_KEY}, json=payload
    )
    scores = r.json()["attributeScores"]
    return {
        attr: round(data["summaryScore"]["value"], 3)
        for attr, data in scores.items()
    }

# ─── Ejemplo ──────────────────────────────────────────────────
result = analyze_with_perspective(
    "Si no eres exitoso es porque no tienes suficiente mentalidad ganadora."
)
print(result)
# {
#   'TOXICITY': 0.78, 'INSULT': 0.71,
#   'IDENTITY_ATTACK': 0.65, 'INFLAMMATORY': 0.82
# }

// MÓDULO 4 — Pipeline Completo de Intervención

intervention_pipeline.py
# ─── Pipeline Completo de Intervención ───────────────────────
# Orquesta todos los módulos y toma decisiones de intervención

from toxic_positivity_classifier import score_content
from ehps_calculator import compute_ehps, intervention_level, ContentMetrics
from perspective_integration import analyze_with_perspective
from platform_adapters import TikTokAdapter, MetaAdapter, YouTubeAdapter

MENTAL_HEALTH_RESOURCES = {
    "es": "https://www.crisistext.org | Línea de Bienestar: 800-290-0024",
    "en": "https://www.crisistextline.org | Text HOME to 741741",
    "pt": "https://www.cvv.org.br | CVV: 188"
}

class ToxicPositivityPipeline:

    def __init__(self, platform: str):
        self.platform = platform
        self.adapter  = {
            "tiktok"   : TikTokAdapter,
            "meta"     : MetaAdapter,
            "youtube"  : YouTubeAdapter
        }[platform]()

    def process(self, content_id: str) -> dict:
        # 1. Extracción
        raw        = self.adapter.fetch(content_id)
        text       = raw["text"] + " " + raw.get("transcript", "")
        lang       = raw.get("lang", "es")

        # 2. Scoring
        tp_result  = score_content(text)
        pv_result  = analyze_with_perspective(text, lang)

        # 3. Score combinado (promedio ponderado)
        combined_toxic = (
            tp_result["toxic_score"] * 0.5 +
            pv_result["TOXICITY"]     * 0.25 +
            pv_result["INSULT"]        * 0.15 +
            pv_result["INFLAMMATORY"]  * 0.10
        )

        # 4. EHPS
        metrics = ContentMetrics(
            toxic_score=combined_toxic,
            reach_estimate=raw["reach"],
            minor_audience_pct=raw["minor_pct"],
            velocity=raw["shares_per_hour"],
            account_credibility=raw["credibility_score"]
        )
        ehps  = compute_ehps(metrics)
        level = intervention_level(ehps)

        # 5. Intervención
        if   ehps >= 5.0: self.adapter.flag_for_review(content_id, ehps)
        elif ehps >= 3.5: self.adapter.attach_resource(
                             content_id, MENTAL_HEALTH_RESOURCES[lang])
        elif ehps >= 2.0: self.adapter.reduce_reach(content_id, factor=0.4)
        elif ehps >= 1.0: self.adapter.add_label(
                             content_id, "Este contenido puede no reflejar experiencias diversas")

        return {"content_id": content_id, "ehps": ehps,
                "level": level, "platform": self.platform}

6. Métricas de Evaluación del Sistema

La efectividad del sistema debe medirse con métricas tanto técnicas como de impacto en salud mental. Se proponen las siguientes para la evaluación semestral obligatoria de cada plataforma:

F1
Score del clasificador
(objetivo ≥ 0.87)
≤5%
Tasa máxima de
falsos positivos
<200ms
Latencia máxima
de inferencia
EHPS
Índice de daño
emocional propagado
△PHQ
Cambio en bienestar
autoreportado (encuesta)
CTR↓
Reducción de clics en
contenido LEVEL 1–3
Nota metodológica: Campbell-Sills et al. (2006) demuestran que la supresión emocional incrementa el malestar subjetivo medible. El indicador △PHQ (variación en la escala Patient Health Questionnaire) permite vincular las intervenciones algorítmicas con cambios reales en el bienestar reportado de los usuarios, cerrando el ciclo entre ingeniería de software y evidencia clínica.

7. Consideraciones Éticas y Límites del Sistema

Un sistema de este tipo conlleva riesgos que deben gestionarse explícitamente. La primera consideración es la libertad de expresión: el sistema nunca elimina contenido de forma automática, sino que actúa sobre la amplificación algorítmica y añade contexto. La decisión de publicar permanece siempre en el creador. David y Congleton (2013) subrayan que la agilidad emocional requiere autonomía, y un sistema que censure contenido reproduciría la misma invalidación que busca combatir, aunque en sentido inverso.

La segunda consideración es el sesgo del clasificador: los modelos de lenguaje pueden aprender sesgos culturales que penalicen formas legítimas de resiliencia cultural. El corpus de entrenamiento debe incluir diversidad lingüística y cultural, y el sistema debe someterse a auditorías de sesgo racial, económico y lingüístico con periodicidad trimestral.

La tercera consideración es la transparencia: cualquier intervención debe ser visible para el creador de contenido, que debe recibir una explicación comprensible de por qué su publicación fue etiquetada o reducida en alcance, junto con la posibilidad de apelar la decisión ante un panel humano. Arroll (2023) argumenta que la opacidad en sí misma constituye una forma de microtrauma institucional.


8. Conclusión: Código con Responsabilidad Emocional

La positividad tóxica ha encontrado en las plataformas digitales su mayor aliado estructural. Held (2002) la describió como una tiranía cultural; veinte años después, esa tiranía tiene servidores, modelos de negocio y pipelines de recomendación. La propuesta presentada aquí no busca que los algoritmos sean árbitros de la felicidad, sino que dejen de serlo involuntariamente.

Ford et al. (2018) demostraron que aceptar las emociones negativas reduce la psicopatología de manera medible. Si las plataformas aplican ese principio a sus propios sistemas de distribución de contenido, el resultado no es censura: es arquitectura emocional responsable. Un algoritmo que aprende a no amplificar la culpabilización no restringe la expresión humana; la hace más honesta.

El código es política. Y esta propuesta es una política escrita en Python.

Referencias

  1. Arroll, M. (2023). Microtraumas: Cuando no sabes qué está mal, pero nada se siente bien. Aguilar.
  2. Berrío Chavarría, A. y Betancur Hincapié, S. (2024). Relación entre positividad tóxica y salud mental. Universidad de Antioquia.
  3. Byrne, R. (2006). El Secreto. Atria Books.
  4. Campbell-Sills, L., Barlow, D. H., Brown, T. A., y Hofmann, S. G. (2006). Effects of suppression and acceptance on emotional responses. Behaviour Research and Therapy, 44(9), 1251–1263.
  5. David, S., y Congleton, C. (2013). Emotional agility. Harvard Business Review, 91(11), 125–129.
  6. Ford, B. Q., Lam, P., John, O. P., y Mauss, I. B. (2018). The psychological health benefits of accepting negative emotions. Journal of Personality and Social Psychology, 115(6), 1075–1092.
  7. González, F. (2025). La toxicidad del pensamiento positivo según la ACT. Mente y Ciencia.
  8. Gorski, D. (2010). Elizabeth Edwards and Kim Tinkham: A tale of two victims of breast cancer. Respectful Insolence.
  9. Gross, J. J., y John, O. P. (2003). Individual differences in two emotion regulation processes. Journal of Personality and Social Psychology, 85(2), 348–362.
  10. Hayes, S. C., Strosahl, K. D., y Wilson, K. G. (2011). Acceptance and commitment therapy (2.ª ed.). Guilford Press.
  11. Held, B. S. (2002). The tyranny of the positive attitude in America. Journal of Clinical Psychology, 58(9), 965–991.
  12. Jigsaw / Google (2017–2025). Perspective API Documentation. https://developers.perspectiveapi.com/
  13. Lhoest, Q., et al. (2021). Datasets: A community library for natural language processing. arXiv:2109.02846.
  14. Pinazo Maquera, C. Z. y Guzmán Díaz, D. A. (2021). Vaivén: Propuesta comunicacional para discursos alternativos del éxito. XXII Coloquio PUCP.
  15. Ruiz Monterroso, E. M. (2022). Supresión emocional y síntomas somáticos. Colegio de Psicólogos de Guatemala.
  16. Sawhney, V. (2025). Cómo mitigar el impacto negativo de la positividad tóxica. Harvard Business Review. Editorial Reverté.

Deja un comentario

Trending

Descubre más desde Mundo oaxaca

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo