Conocer palabras no basta para conocer contexto
Un modelo especializado clasifica solicitudes técnicas, domina vocabulario y supera prueba histórica. Tras cambiar servicio, prioridades pierden fiabilidad. ¿Cambió mezcla de solicitudes o significado de urgencia? Explicaciones exigen intervenciones distintas. Antes de añadir documentos o reentrenar, identificar relación que cambió.
Resumen. Dos categorías sintéticas explican ponderación por importancia: cambiar peso de ejemplos antiguos para representar población nueva. Funciona si cambian frecuencias de entradas manteniendo relación entrada-respuesta. Otro mundo conserva entradas pero cambia regla: mismos pesos, evaluación y clasificación de modelos erróneas. Son enumeraciones exactas, no rendimiento medido de modelo lingüístico.
Dos distribuciones, dos preguntas
x es tipo A o B, y etiqueta 1 urgente, 0 no urgente. p(x) expresa frecuencia; p(y=1|x), urgencia dentro del tipo. Barra significa dado ese tipo. Más B no implica B más urgentes. Distribución conjunta combina ambas: p(x,y)=p(x)p(y|x).
En origen s hay 80% A y 20% B; urgentes 90% de A y 60% de B. En destino t A baja a 20%, B sube a 80%, conservando inicialmente tasas 90% y 60%. Es covariate shift: cambia p(x), no p(y|x). s y t identifican origen y destino, no mediciones del mismo conjunto.
Un error histórico del 16% pasa a 34%
Clasificador U siempre dice urgente; simplicidad aísla evaluación, no propone sistema útil. Pérdida cero-uno cuenta discrepancia con etiqueta. Error en A 10%, en B 40%. Riesgo de origen, error medio poblacional, es 0,8×0,1+0,2×0,4=0,16; destino 0,2×0,1+0,8×0,4=0,34. Modelo igual, aumentan casos difíciles.
¿Etiquetas antiguas reconstruyen riesgo nuevo? Multiplicar contribución por frecuencia destino/origen: w(A)=0,25 y w(B)=4. A cuenta un cuarto, B cuatro veces. No inventamos etiquetas; cambiamos cuánto representa cada caso a población actual.
f es clasificador, L uno por error y cero si acierta; sumas recorren tipos y etiquetas. Segunda línea contiene hipótesis decisiva. Sustituir condicional destino por origen permite media ponderada. Si sustitución es falsa, última línea no es riesgo destino. Probabilidad origen debe ser positiva donde destino lo sea: ponderar no crea categorías nunca observadas.
| Tipo | Etiqueta y | Conteo por 1000 | Peso |
|---|---|---|---|
| A | 0 | 80 | 0.25 |
| A | 1 | 720 | 0.25 |
| B | 0 | 80 | 4 |
| B | 1 | 120 | 4 |
Tabla es conjunto sintético exacto, no muestra aleatoria. U falla en 80 A y 80 B no urgentes: 160/1000. Errores ponderados 80×0,25+80×4=340; peso total sigue 1000. Riesgo 0,34 coincide exactamente con destino si solo cambian frecuencias. Código usa fracciones y guarda conteos; sin semilla ni entrenamiento.
Mismas entradas, otra regla: donde fallan pesos
Mantenemos destino 20% A, 80% B, pero nueva regla hace urgente solo 10% de A; B sigue 60%. Cambio condicional sintético aísla problema sin atribuir causa operativa real. Error U en A sube de 10% a 90%; riesgo 0,2×0,9+0,8×0,4=0,50. Ponderar datos antiguos sigue dando 0,34: no contiene información nueva de etiquetas.
V responde no urgente para A y urgente para B. En primer destino falla 90% A y 40% B: riesgo 0,50, peor que U. Tras cambio falla solo 10% A: riesgo 0,34, mejor que U. Datos históricos ponderados mantienen ranking antiguo. Puede invertir elección del modelo, no solo descalibrar puntuación. Son reglas fijas, no entrenadas con test.

Vigilar solo p(x) no distingue destinos: ambos 20% A y 80% B. Es límite informativo, no defecto corregible con detector más sofisticado sobre iguales entradas. Hacen falta etiquetas nuevas, resultados verificables o información fiable del cambio. Etiquetas tardías retrasan evaluación; recoger solo casos disputados introduce selección, no representa automáticamente todos los tickets.
Incluso en caso favorable, pocos ejemplos pueden pesar demasiado
Pesos exactos porque construimos distribuciones. En práctica se estiman; categorías raras pueden recibir pesos enormes, amplificando errores de etiqueta. Medida descriptiva n_eff=(Σ_i w_i)²/Σ_i w_i². Con 800 pesos 0,25 y 200 de 4 da 1000²/3250≈307,69. No borramos tickets ni obtenemos intervalo de confianza; señala influencia desigual.
Limitar pesos reduce quizá inestabilidad, pero rompe identidad exacta: compromiso que evaluar, no mejora gratis. Mejor representación léxica distingue categorías confundidas, pero no demuestra reglas estables. Actualizar documentos, revisar etiquetas y corregir población afecta componentes distintos. Confundirlos dificulta explicar éxito o fracaso.
Qué llevar a un proyecto vertical
Antes de afirmar adaptación, declarar cambios y verificaciones. Pesos corrigen exactamente 16% a 34% solo con estabilidad condicional; cambiada regla, error real 50% y hace falta información nueva. Vocabulario no sustituye diagnóstico. Evaluación informa población, período, etiquetas e hipótesis junto a puntuación. No medimos modelo EL-AI; hicimos verificable una condición de especialización.
Fuentes y alcance experimental
Artículo de 2007 estudia validación cruzada ponderada con condicional estable y ratios de densidad conocidos en teoría. Sección 4.1 ajusta modelo lineal a sinc con 150 ejemplos, diez particiones y 1000 repeticiones. Autores reportan mejor estimación de riesgo en ese protocolo. No lo reproducimos: ejemplo discreto verifica identidad para reglas fijas y viola hipótesis en otro caso. No es investigación nueva ni prueba general de redes lingüísticas.
Fragmento calcula tres errores U; archivo añade V, tabla conjunta, peso total, concentración y aserciones. Coste crece con celdas tipo-etiqueta sin optimización numérica. Una prueba real futura debería definir etiquetas, separar selección y evaluación y comprobar cobertura de casos nuevos. No realizada aquí.
from fractions import Fraction as F
source = [F(4,5), F(1,5)]
target = [F(1,5), F(4,5)]
old_error = [F(1,10), F(2,5)]
new_error = [F(9,10), F(2,5)]
weights = [t/s for t,s in zip(target,source)]
print('source', float(sum(s*e for s,e in zip(source,old_error))))
print('weighted', float(sum(s*w*e for s,w,e in zip(source,weights,old_error))))
print('changed rule', float(sum(t*e for t,e in zip(target,new_error))))
Código, datos e instrucciones · JSON. Cálculos didácticos ejecutados con Python 3.14.0; figuras con Matplotlib 3.11.2. Análisis asistido por IA, sin afirmar revisión por pares ni humana. Portada original ImageGen ilustrativa: no documenta personas, sedes ni instalaciones de EL-AI. Fuentes consultadas el 29 de septiembre de 2026.

