Cómo es un estado de creencias en una conversación sintética
La mayoría de los datasets de diálogo te dan las palabras. Este artículo explica las cuatro dimensiones de creencias que StrataSynth registra en cada turno (confianza, hostilidad, autoestima, resolución), cómo se actualizan de forma determinista y cómo usarlas como señal de entrenamiento.
Cuando dos personas discuten, las palabras que intercambian son la parte menos interesante.
Lo que de verdad está ocurriendo es una actualización rápida de estados internos: ¿esta persona confía en mí? ¿Intenta hacerme daño? ¿Esto tiene arreglo? Cada nueva información alimenta un modelo de la otra persona y de la relación. Ese modelo es el que dirige la siguiente respuesta.
La mayoría de los datasets de diálogo te dan las palabras. StrataSynth registra el modelo.
Este artículo explica exactamente qué es un estado de creencias en una conversación de StrataSynth, cómo evoluciona turno a turno y qué significa eso para los sistemas que entrenes con estos datos.
Las cuatro dimensiones de creencias
Cada turno incluye cuatro valores de creencias del hablante activo, cada uno en una escala de 0 a 1:
| Campo | Significado | Valor bajo | Valor alto |
|---|---|---|---|
belief_trust_other | Cuánto confía el hablante en la otra persona en este momento | ”Me está ocultando algo" | "Puedo contar con él” |
belief_hostility | Hasta qué punto el hablante percibe a la otra persona como una amenaza | ”Está de mi parte" | "Quiere hacerme daño” |
belief_self_worth | Cómo se valora el hablante a sí mismo en este intercambio | ”El problema soy yo" | "Merezco que me traten mejor” |
belief_resolution | Si el hablante cree que esto tiene solución | ”Esto no tiene remedio" | "Podemos superarlo juntos” |
No son rasgos de personalidad: son el estado actual. Cambian turno a turno, impulsados por el acto comunicativo del propio turno del hablante.
Un ejemplo ilustrativo: colapso de creencias bajo un conflicto sostenido
La secuencia siguiente ilustra el patrón, en el formato del dataset stratasynth-belief-dynamics, escenario VIT-01 (duelo, agotamiento del cuidador):
Turn 3 - persona_a (grieving_son):
text: "I just need you to acknowledge what I'm going through."
intent: reveal
goal: seek_validation
belief_trust_other: 0.61
belief_hostility: 0.28
belief_self_worth: 0.52
belief_resolution: 0.67
rel_trust: 0.71
rel_tension: 0.44
El hablante sigue abierto. La confianza es de moderada a alta, cree que es posible resolverlo (0,67) y está haciendo un intento directo de conectar: intención reveal, objetivo seek_validation.
Turn 8 - persona_a (grieving_son):
text: "Fine. I'll stop bringing it up."
intent: withdraw
goal: protect_self
belief_trust_other: 0.31 ← dropped 0.30 points
belief_hostility: 0.58 ← rose 0.30 points
belief_self_worth: 0.38 ← fell
belief_resolution: 0.34 ← collapsed
rel_trust: 0.49
rel_tension: 0.72
Cinco turnos después, el mismo hablante ha pasado de reveal a withdraw. belief_resolution ha bajado de 0,67 a 0,34. La confianza ha caído 0,30 puntos. No es una variación aleatoria: sale de las reglas de actualización, aplicadas a los actos de los propios turnos del hablante.
El texto te dice lo que pasó. El estado de creencias te dice lo que el motor había calculado cuando se escribió el turno.
Cómo se actualizan las creencias
El Belief Engine actualiza las creencias del hablante en cada turno a partir del acto comunicativo de ese turno, no del texto en sí. No hace análisis de sentimiento sobre las palabras: aplica una actualización basada en reglas sobre los tipos de acto.
Una versión simplificada:
# When the speaker's turn is labelled 'accusation':
belief_hostility += 0.08 × (1 - belief_hostility)
belief_trust_other -= 0.06 × belief_trust_other
# When the speaker's turn is labelled 'comfort':
belief_hostility -= 0.05 × belief_hostility
belief_trust_other += 0.04 × (1 - belief_trust_other)
# When the speaker's turn is labelled 'deflection':
belief_resolution -= 0.04 × belief_resolution
belief_trust_other -= 0.03 × belief_trust_other
La estructura multiplicativa hace que las creencias se acerquen a sus límites de forma asintótica: nunca se puede llegar a 0 o a 1 en un solo turno, y el movimiento es proporcional a lo lejos que ya estás del límite. Así se obtienen trayectorias suaves pero reactivas.
Los valores iniciales de las creencias salen de la definición de la persona en PsycheGraph. Un anxious_partner empieza con un belief_trust_other más bajo y un belief_hostility más alto que un secure_professional. Las reglas de actualización son las mismas; el punto de partida, no.
Por qué importa para el entrenamiento
Si entrenas un modelo de diálogo con datos que solo contienen texto, el modelo aprende: “dado este contexto, suele venir este tipo de respuesta”. Aprende patrones superficiales.
Si entrenas con datos que incluyen estados de creencias, puedes enseñarle al modelo algo más específico: dado este estado de creencias, esta respuesta es la que causalmente cabe esperar. El modelo puede aprender que withdraw + protect_self se sigue de un belief_hostility alto + un belief_resolution bajo, y no solo de ciertos tipos de turnos anteriores.
Esa es la diferencia entre un modelo que responde de forma plausible y un modelo que responde de forma coherente.
Un modelo plausible podría generar palabras tranquilizadoras en un contexto de mucha hostilidad porque tranquilizar sigue a ciertos patrones superficiales. Un modelo coherente no lo hará, porque conoce el estado interno que hace que tranquilizar sea causalmente incorrecto en ese momento.
El estado de creencias como señal de entrenamiento
Los campos de creencias abren varias vías de entrenamiento concretas:
Pérdida auxiliar sobre la predicción de creencias Entrena un modelo de diálogo con una cabeza auxiliar que prediga el estado de creencias del hablante a partir del contexto de la conversación. Esto obliga al codificador a representar el estado psicológico, no solo los patrones lingüísticos.
Generación condicionada por creencias Haz fine-tuning anteponiendo el estado de creencias como un prompt estructurado. El modelo aprende a generar texto coherente con un contexto psicológico especificado, algo útil para la generación de diálogo controlable.
La coherencia de creencias como señal de recompensa En RLHF, usa el estado de creencias de cada turno como contexto para un modelo de recompensa: compara cada respuesta con el estado de creencias registrado para ese turno y penaliza las respuestas que lo contradigan.
Modelado de trayectorias de creencias Trata cada conversación como una serie temporal de vectores de creencias. Entrena modelos secuenciales para predecir cómo evolucionarán las creencias y usa esas predicciones para guiar la generación de respuestas.
Cómo son los datos en la práctica
import pandas as pd
df = pd.read_parquet(
'hf://datasets/StrataSynth/stratasynth-belief-dynamics/data/train-00000-of-00001.parquet'
)
# Filter for high-hostility, low-resolution moments
pressure_turns = df[
(df['belief_hostility'] > 0.7) &
(df['belief_resolution'] < 0.3)
]
print(f'{len(pressure_turns)} turns under maximum psychological pressure')
print(pressure_turns[['archetype', 'intent', 'goal', 'communication_act', 'text']].head(10))
47 turns under maximum psychological pressure
archetype intent goal communication_act text
estranged_daughter observe assert_control deflection The leak's fine. It's just a drip. I'll handle it.
estranged_daughter deflect protect_self reassurance I mean, technically I said I'd be there at 2...
estranged_daughter reveal protect_self deflection I'll let you know if I see anything...
47 turnos en los que el hablante casi ha renunciado a una solución y percibe mucha hostilidad. El estado de creencias lo calculó el motor y se le dio al modelo como contexto; cada acto comunicativo lo declaró el generador junto con el texto, así que puedes comparar ambos turno a turno.
Limitaciones
Las cuatro dimensiones de creencias son una simplificación. El estado psicológico real tiene más dimensiones, y las reglas de actualización son aproximaciones. El modelo no tiene en cuenta la historia de la relación más allá de la conversación actual, las diferencias culturales en la expresión de las creencias ni las señales no verbales.
El objetivo no es modelar a la perfección la psicología humana: es generar datos de entrenamiento que sean internamente coherentes en el plano cognitivo. Si esa coherencia se traduce en mejores modelos posteriores es una cuestión empírica abierta.
Los datasets
Los campos belief_* están disponibles en los cuatro datasets de StrataSynth en HuggingFace:
- stratasynth-social-reasoning
- stratasynth-agent-stress-test
- stratasynth-belief-dynamics
- stratasynth-life-transitions
El dataset belief-dynamics tiene las trayectorias de creencias más volátiles (a propósito: los escenarios se eligieron por su máxima presión psicológica). El dataset life-transitions tiene las medias de belief_resolution más altas: son historias de personas que construyen algo, no que lo derriban.
Del modelado de creencias a la interacción
El estado de creencias que se describe aquí vive en nuestro motor de datasets. La demo de stratasynth.com/demo/try?lang=es ejecuta nuestro motor de sesiones conversacionales y te permite hablar con una persona muestreada a partir de datos de población: crea a alguien con una tensión previa alta, presiónala y observa cómo responde.
No se trata solo de generar diálogo. Se trata de simular cómo cambian las personas.
StrataSynth es una plataforma de datos sintéticos para IA conversacional. stratasynth.com | HuggingFace | pip install stratasynth-client