Oráculo de Frases — Cómo funciona el algoritmo de selección

Cuando respondes a las tres preguntas, ¿qué ocurre entre bastidores para elegir tu «frase, las palabras de hoy y el ritual sereno»?
Explicamos, de forma fiel a la implementación, cómo funciona el análisis del egograma y cómo está diseñada la «fluctuación» de cada día.

Contenido

El flujo general (tres pasos)

Cuando pulsas «Comenzar» y respondes a las tres preguntas, los siguientes procesos se ejecutan internamente, en este orden.

PASO 1
Actualizar el mapa de tu mente
Ajusta ligeramente las puntuaciones de los cinco factores a partir de tus tres respuestas (media móvil exponencial).
PASO 2
Elegir una frase
Extrae de forma probabilística una frase cercana a tu estado de ánimo ya actualizado.
PASO 3
Añadir palabras
A partir del tema de la frase × tus factores, elige las palabras y un pequeño ritual.

El análisis del egograma construye el «mapa de tu mente» en el PASO 1, y ese mapa guía después tanto el PASO 2 como el PASO 3.
Dicho de otro modo, el egograma es el cimiento de todo el proceso.

Qué son los cinco factores del egograma

Esta aplicación utiliza sus propios cinco factores, inspirados en el análisis transaccional, para expresar «la inclinación actual de tu mente». Cada factor va de 0〜100 y todos parten del punto medio equilibrado de 50.

SímboloNombreSignificado
CPPrincipioRigor, ideales, sentido de la responsabilidad (cómo quiero ser)
NPAcogidaAmabilidad, compasión, la capacidad de abrazar
AAnálisisLógica, observación, contraste con la realidad
FCCuriosidadLibertad, diversión, inspiración
ACArmoníaAdaptación, consideración, paciencia

A cada una de las dos opciones de cada pregunta se le asignan cambios (deltas) sobre los cinco factores. «Cuál eliges» va dibujando poco a poco el mapa de tu mente.

① Respuestas → actualizar el mapa de tu mente (EMA)

Combinamos tus tres respuestas en una sola y actualizamos el perfil con una media móvil exponencial (EMA). En lugar de cambiar de golpe, este método refleja con suavidad tu «tendencia reciente» mientras arrastra el pasado hacia adelante.

delta de hoy  todayDelta[f] = suma de los cambios al factor f en las 3 preguntas (en teoría −6〜+6)
puntuación de hoy  todayScore[f] = clamp( 50 + (50/6) × todayDelta[f] , 0, 100 )
actualización       profile[f] = clamp( α × todayScore[f] + (1−α) × profile[f] anterior , 0, 100 )
            α (coeficiente de suavizado) = 0.15

Qué significa esta fórmula

Ejemplo concreto: cuando la Curiosidad (FC) se mueve el máximo +6 en las tres preguntas de hoy
todayScore_FC = 50 + (50/6)×6 = 100
nuevo FC = 0.15×100 + 0.85×50 = 57.5 (avanzando con suavidad apenas 7.5, de 50 → 57.5)
Si al día siguiente no se toca FC: nuevo FC = 0.15×50 + 0.85×57.5 = 56.4 … regresando poco a poco hacia 50.

Este «mapa de tu mente (el perfil)» es la única entrada que impulsa el siguiente PASO 2 y el PASO 3. Este es el núcleo del análisis del egograma.

② Elegir una frase (similitud coseno × muestreo)

Cada frase lleva una afinidad con los cinco factores (por ejemplo, una frase podría ser {CP:0.7, A:0.5, FC:0.3}). La contrastamos con la «dirección de la inclinación» del mapa de tu mente.

1. Concordancia de dirección (similitud coseno)

Restamos 50 al perfil para convertirlo en un vector de «hacia qué lado se inclina respecto al centro» y medimos la similitud coseno (cercanía de dirección, −1〜+1) con el vector de afinidad de la frase. La clave está en que miramos la dirección, no la magnitud, de modo que las frases que resuenan con «la dirección hacia la que apunta ahora tu mente» obtienen una puntuación alta.

2. Enfriamiento (evitar repeticiones)

3. Una frase extraída por probabilidad entre las 8 mejores (muestreo softmax)

Tomamos las 8 frases con mejor puntuación y extraemos una con pesos de softmax (temperatura 0.15). En lugar de fijarnos en la única frase más cercana, las más próximas tienen más probabilidad de aparecer, pero nunca está garantizado: una extracción probabilística que conserva la «sensación de destino». Cuando el mapa de tu mente es perfectamente uniforme, se recurre a una extracción uniforme.

En resumen: cuanto más cerca está la dirección de una frase de tu inclinación mental actual, más probable es que aparezca. Pero se evitan las vistas recientemente, y la extracción se hace entre las candidatas de cabeza.

4. Fluctuación de la frase — la carta sombra (unos dos días por semana)

Cuando el hash determinado por la fecha cumple hash("quote-shadow|date") % 7 < 2 (unos 2/7, aproximadamente dos días por semana), elegimos la frase usando un «perfil sombra». El perfil sombra refleja cada factor en torno al punto medio de 50 (mirror[f] = 100 − profile[f]), de modo que los elementos que ahora están bajos —los que normalmente quedan fuera de la vista— se tratan como si fueran los altos.

Como resultado, una frase que resuena hondamente desde un ángulo inusual llega como tu «carta del destino». Por ejemplo, cierto día una frase que habla de la Armonía (AC) o el Análisis (A) puede aparecer en silencio para alguien con la Curiosidad (FC) alta, ofreciendo una revelación, una advertencia delicada o algo que completa las partes que faltan. El enfriamiento y el muestreo softmax entre las 8 mejores siguen aplicándose, de modo que continúa siendo una única frase elegida con cuidado y no ruido. Las palabras pronunciadas (las palabras de hoy) permanecen en tu voz de siempre, para que puedas recibir con suavidad la frase fluctuante.

Esta serie se determina mediante un hash de fecha independiente de la «fluctuación de voz», de modo que ambas no caen necesariamente el mismo día.

Sobre el comentario de la frase

El comentario de una frase (el texto de «Leer comentario») es un texto fijo ligado a esa frase. No lo elige un algoritmo; va unido a la frase elegida desde el principio. Por eso, siempre que aparece una frase dada se muestra siempre el mismo comentario (un comentario por frase).

③ Elegir las palabras de hoy y el ritual sereno

Estos dos se eligen a partir de una cuadrícula de «el tema de la frase» × «tus factores». Los textos viven en conjuntos (cubos) preparados para cada factor.

Temas (10 tipos): Continuidad / Reto / Aceptación / Confianza en uno mismo / Descanso / Aprendizaje / Gratitud / Valor / Ahora / Sueños
Palabras de hoy: 6 líneas por cubo (360 en total)
Ritual sereno: 5 líneas por cubo (300 en total)

1. Cómo se decide el tema

De entre los temas (de uno a varios) que lleva la frase elegida, escogemos uno.

2. La «voz» de qué factor te habla

Ordenamos los factores por puntuación (los empates se estabilizan con el delta de hoy → un orden fijo) y, por norma, hablamos con la voz del factor de cabeza (el factor dominante). Aquí es donde entra la «fluctuación» que se describe más abajo.

3. Una línea del cubo (evitando repeticiones recientes)

Dentro del cubo correspondiente, elegimos una línea al azar, excluyendo las líneas mostradas recientemente (se recuerdan hasta 10). Solo cuando al excluirlas no quedan candidatas permitimos una repetición. Un cubo vacío recurre al texto compartido (_default).

El diseño y la frecuencia de la «fluctuación»

Para evitar el «es aburrido porque siempre es lo mismo», mantenemos intacto el eje (tu tendencia) mientras superponemos varios niveles de fluctuación.

Fluctuación 0Carta sombra de la frase — unos dos días de cada siete

Unos 2/7 (aproximadamente dos días por semana), elegimos una frase que resuena con tus factores actualmente bajos usando el «perfil sombra». A partir de elementos distintos a los de siempre, la carta del destino ofrece una sugerencia poderosa (para más detalles, véase «4. Fluctuación de la frase» en el PASO 2). El hash de fecha es independiente de la fluctuación de voz.

Fluctuación 1Fluctuación del factor de voz — unos dos días de cada siete

Cuando el hash determinado por la fecha cumple hash("voice|date") % 7 < 2, hablamos con la voz del factor en segundo lugar en vez del primero. La probabilidad es de 2/7 (alrededor del 28,6 %, aproximadamente dos días por semana). Las palabras para «tu yo de siempre» y las palabras para «otro yo» llegan por turnos. Los cinco días restantes, más o menos, usan la voz del factor dominante.

Fluctuación 2Evitar repeticiones recientes — impedir que la misma línea vuelva pronto

Las palabras de hoy y el ritual sereno recuerdan cada uno las últimas 10 y las excluyen de las candidatas. Las frases excluyen los últimos 14 días. Como no volverás a toparte enseguida con las mismas palabras, cada mañana se mantiene fresco (solo se permite una repetición cuando se agotan las candidatas).

Fluctuación 3Extracción probabilística — sin fijarse en un único resultado ni bajo las mismas condiciones

Las frases usan una extracción softmax entre las 8 mejores; las palabras de hoy y el ritual sereno usan una extracción al azar dentro del cubo. Como los resultados varían incluso bajo condiciones idénticas, nunca se vuelve una repetición mecánica.

Por encima de todo esto, el propio perfil se desplaza un poco cada día en el PASO 1, de modo que el factor dominante, el tema y las frases con las que resuenas se mueven con suavidad a lo largo del tiempo. La fluctuación existe para «que las cosas no se vuelvan rancias», y su frecuencia está pensada para ser modesta y que no pierdas de vista tu tendencia (el eje).

El mismo día, el mismo destino — sobre el determinismo

Las cifras clave de un vistazo

ElementoValorSignificado
Rango del factor / valor inicial0〜100 / 50La desviación respecto al punto medio expresa la «inclinación»
Coeficiente de suavizado EMA α0.15La proporción en que las respuestas de un solo día afectan al resultado (el 85 % restante es el pasado)
Escala del delta50 / 6Un delta de hoy de ±6 satura 0〜100
Enfriamiento de la frase14 díasLa ventana para evitar las frases mostradas recientemente
Grupo de cabeza N de frases8 frasesEl número de frases de cabeza que quedan elegibles para la extracción
Temperatura del softmax0.15Cuanto menor es, más se concentra en las puntuaciones altas (intensidad de la sensación de destino)
Frecuencia de la carta sombra de la frase2 / 7 (alrededor del 29 %)La proporción de días que eligen una frase que resuena con los factores actualmente bajos
Frecuencia de la fluctuación de voz2 / 7 (alrededor del 29 %)La proporción de días en que se habla con la voz del factor en segundo lugar (independiente de la carta sombra)
Evitar repeticiones recientes de las palabras de hoy / el ritual sereno10 cada unoEl número que se recuerda para impedir que la misma línea vuelva a salir
Tamaño de la bibliotecafrases 351 / palabras de hoy 360 / ritual sereno 300Varias líneas por cubo, rotando cada día

Este documento se basa en la implementación de la aplicación (ProfileEngine, QuoteSelector y AdviceSelector de OracleEngine, junto con DailyDrawService). Las cifras y las reglas pueden cambiar con ajustes futuros.