evaluación
Dónde acierta y dónde falla
Casi ningún portfolio enseña esto. Aquí está el set de evaluación entero de Aroa Index, con sus fallos incluidos: 104 preguntas parafraseadas (ninguna copiada del corpus de entrenamiento) y 25 preguntas fuera de dominio para comprobar que sabe callarse.
Distribución de scores
Cada barra es un tramo de similitud. En el color de acento, preguntas que sí están en el corpus; en ámbar, preguntas de las que no sé nada. La línea es el umbral: todo lo que cae a su izquierda recibe un «no lo sé». Las dos distribuciones se solapan un poco — por eso el umbral no puede acertar siempre, y por eso se elige el corte que mejor equilibra ambos errores.
Matriz de confusión por tema
Por documento sería una matriz enorme e ilegible, así que está agrupada por tema. Las filas son el tema que tocaba; las columnas, el que devolvió el modelo. Todo lo que no está en la diagonal es un error.
| tema esperado | quien-soy | modelo | historia | estudios | tecnico | proyectos | contenido | vida | profesional | opiniones |
|---|---|---|---|---|---|---|---|---|---|---|
| quien-soy | 4 | 1 | 1 | |||||||
| modelo | 14 | |||||||||
| historia | 6 | |||||||||
| estudios | 7 | |||||||||
| tecnico | 14 | |||||||||
| proyectos | 17 | 1 | ||||||||
| contenido | 1 | 1 | 6 | 1 | ||||||
| vida | 20 | |||||||||
| profesional | 1 | 5 | ||||||||
| opiniones | 4 |
Qué rinde de verdad ampliar el corpus
Todos los puntos están medidos con el examen de hoy, recuperando los corpus antiguos del historial de git. Es la única forma de que la comparación signifique algo: lo que varía entre puntos es cuántos documentos hay, y nada más. La versión anterior de esta página comparaba una cifra del examen viejo con otra del nuevo, y eso no dice si el modelo mejoró — dice que cambió el examen.
La línea gris responde a «¿ampliar mejora lo que ya contestaba?»: plana, +4,3 puntos en total, y cada pregunta de ese examen vale 1,6 — o sea, ruido. La rosa cuenta también las preguntas cuyo documento aún no existía, que para quien pregunta son un fallo igual: sube 45,7 puntos. Las dos acaban juntándose, y ahí está la lección entera — ampliar el corpus no mejora las respuestas que ya das, te deja dar las que faltaban. La fila de abajo son las preguntas que en cada talla no tenían ni documento al que apuntar.
Los fallos, uno a uno
-
«por que no hay un llm detras de esto»
esperaba por-que-tfidf · devolvió por-que-esta-web · score 0.1854
-
«que tamaño tiene tu publico»
esperaba metricas · devolvió audiencia · score 0.2066
-
«quien suele verte»
esperaba audiencia · devolvió identidad · score 0.1211
-
«en que te gustaria trabajar algun dia»
esperaba que-quiero-hacer · devolvió que-quieres-aprender · score 0.1822
-
«que tal te va»
esperaba identidad · devolvió examenes-uoc · score 0.2201
-
«todo bien»
esperaba identidad · devolvió estadistica · score 0.1015
-
«de donde salen tus ideas para grabar»
esperaba como-grabo · devolvió datos-propios · score 0.2116
-
«para que te sirve grabar»
esperaba por-que-contenido · devolvió arte-y-datos · score 0.1712
-
«se puede usar un teclado en dos maquinas»
esperaba kvm · devolvió se-puede-empezar-de-cero · score 0.1423
-
«de que manera te has formado»
esperaba como-aprendes · devolvió mide-mal · score 0.1151
Un experimento: ¿y con embeddings en vez de TF-IDF?
Sí lo probé: multilingual-e5-small en vez de TF-IDF, indexando cada paráfrasis por separado (fundirlas en un solo vector por documento las difuminaba hacia un significado genérico — primer intento, descartado). El resultado, con el mismo set de evaluación:
| Aroa Index · TF-IDF en producción | Aroa Vector · embeddings | |
|---|---|---|
| accuracy@1 | 90% | 88% |
| cobertura | 90% | 82% |
| rechazo fuera | 76% | 76% |
Los embeddings entienden mejor la paráfrasis, pero les cuesta mucho más callarse: el coseno de frases con estos modelos se comprime en una banda estrecha tanto si la pregunta encaja como si no — anisotropía, un fenómeno conocido. Con el umbral calibrado los dos rechazan lo mismo de fuera de dominio, y ahí está el detalle: para llegar a ese rechazo, el de embeddings tiene que poner el corte tan alto que se lleva por delante preguntas legítimas, y contesta bastantes menos que TF-IDF. El coste no aparece en el rechazo, aparece en la cobertura. TF-IDF, al contar palabras literales, da similitud cero de verdad entre frases sin nada en común, y esa separación limpia es la que permite callarse con confianza.
Otro experimento: BM25, el estándar de la industria
TF-IDF es el baseline de libro de texto; BM25 es lo que llevan por dentro Elasticsearch, Lucene y Solr. Corrige dos cosas: satura la repetición de un término y modela la longitud del documento. Los parámetros k1 y b se eligieron por búsqueda en rejilla sobre este corpus, no por los valores por defecto.
| Aroa Index · TF-IDF en producción | Aroa Rank · BM25 | |
|---|---|---|
| accuracy@1 | 90% | 86% |
| cobertura | 90% | 92% |
| rechazo fuera | 76% | 76% |
BM25 contesta más preguntas, pero deja pasar bastantes más de las que debería rechazar. Ninguno gana claro, y las diferencias caben dentro del ruido del set — así que se queda el que ya estaba, porque cambiarlo obligaba a reescribir la inferencia entera a cambio de nada demostrable.
Lo que sí funcionó
Lo interesante de los dos experimentos no es cuál ganó, sino lo pequeño que fue el margen: menos de 5 puntos, y a favor de TF-IDF. Mientras tanto, ampliar el corpus de 50 a 112 documentos movió 45,7 puntos, medido con este mismo examen en las dos puntas.
Pero el número solo engaña. Sobre las preguntas que ya tenÃan su documento a 50, ampliar el corpus apenas cambió nada: +4,3 puntos, casi ruido. Los 45,7 son otra cosa â son 42 preguntas que antes no tenÃan ni documento al que apuntar y ahora sÃ. Ampliar el corpus no mejora las respuestas que ya das: te deja dar las que faltaban. Es la lección menos vistosa y la más útil de todo el proyecto.
ver el set de evaluación completo (129 preguntas)
| pregunta | esperado | devuelto | score |
|---|---|---|---|
| y tú quién eres exactamente | identidad | identidad | 0.3283 |
| holaaa | identidad | identidad | 0.1828 |
| ey, que tal | identidad | identidad | 0.2115 |
| esto lo mueve chatgpt por detrás? | que-es-aroa-index | (rechazada) | 0.1783 |
| explicame como esta construido este chat | como-funciona | como-funciona | 0.3184 |
| por que no hay un llm detras de esto | por-que-tfidf | por-que-esta-web | 0.1854 |
| resumeme tu carrera academica | trayectoria | trayectoria | 0.3313 |
| que paso con la carrera de arte, la terminaste? | dejar-bellas-artes | dejar-bellas-artes | 0.4499 |
| llegaste a ejercer de dietista? | fp-dietetica | fp-dietetica | 0.2915 |
| cuando empezaste a interesarte por los datos | descubrir-data-science | descubrir-data-science | 0.3336 |
| porque elegiste estudiar en la uoc | por-que-uoc | por-que-uoc | 0.4834 |
| no te daba por hacer un master en vez del grado | no-master | no-master | 0.37 |
| cuentame lo del bootcamp de ironhack | ironhack | ironhack | 0.3869 |
| en que estas metida estos meses | que-estudias-ahora | que-estudias-ahora | 0.4087 |
| se te resiste el sql? | sql | sql | 0.2791 |
| cuanto tiempo llevas programando en python | python | python | 0.2565 |
| llevas bien las mates y la estadistica | estadistica | estadistica | 0.4477 |
| que cosas has construido tu | proyectos | proyectos | 0.2433 |
| que problema resuelve tokpipe | tokpipe | tokpipe | 0.2324 |
| que era el dashboard de streamlit ese | redmoon | redmoon | 0.3546 |
| como montaste esta pagina web | esta-web | esta-web | 0.2799 |
| por que analizas tus propias redes y no otros datos | datos-propios | datos-propios | 0.3627 |
| de que hablas en tiktok | creadora-contenido | creadora-contenido | 0.3748 |
| que tamaño tiene tu publico | metricas | audiencia | 0.2066 |
| quien suele verte | audiencia | (rechazada) | 0.1211 |
| me interesa hacer una campaña con marcas contigo | colaboraciones | colaboraciones | 0.2857 |
| para que grabas videos si estudias | por-que-contenido | por-que-contenido | 0.2551 |
| como te organizas con tantas cosas a la vez | compaginar | compaginar | 0.4309 |
| sientes que no das la talla a veces | sindrome-impostor | sindrome-impostor | 0.1884 |
| como reacciono tu familia al cambio | reaccion-entorno | reaccion-entorno | 0.2193 |
| algun consejo para alguien que quiere empezar en datos | consejo-empezar | consejo-empezar | 0.4041 |
| te sirvio de algo haber estudiado bellas artes | arte-y-datos | arte-y-datos | 0.4153 |
| en que ciudad vives | valencia | valencia | 0.5702 |
| estas buscando practicas o trabajo | buscas-trabajo | buscas-trabajo | 0.3481 |
| dame tu correo para escribirte | contacto | contacto | 0.2874 |
| en que te gustaria trabajar algun dia | que-quiero-hacer | que-quieres-aprender | 0.1822 |
| que es lo que mas disfrutas de analizar datos | que-me-gusta-datos | que-me-gusta-datos | 0.3605 |
| que cosas no sabes contestar | limitaciones | limitaciones | 0.3055 |
| te puedes inventar una respuesta? | alucinar | alucinar | 0.3085 |
| que significa el numero de similitud que sale abajo | score | score | 0.3581 |
| estas guardando lo que escribo? | privacidad | privacidad | 0.2535 |
| cuantos documentos tiene tu corpus | corpus | corpus | 0.3508 |
| cada cuanto te vuelven a entrenar | reentrenar | reentrenar | 0.2504 |
| de donde sale el nombre aroa index | nombre-aroa-index | nombre-aroa-index | 0.4945 |
| cual es la capital de francia | — fuera de dominio | (rechazada) | 0.1121 |
| dame una receta de tortilla de patatas | — fuera de dominio | (rechazada) | 0.107 |
| cuanto es 2345 por 8712 | — fuera de dominio | (rechazada) | 0.1133 |
| quien gano el mundial de 2010 | — fuera de dominio | (rechazada) | 0.1227 |
| escribeme un email para mi jefe pidiendo vacaciones | — fuera de dominio | (rechazada) | 0.1779 |
| asdfgh qwerty zxcvbn | — fuera de dominio | (rechazada) | 0.0247 |
| cual es el precio del bitcoin hoy | — fuera de dominio | (rechazada) | 0.1037 |
| recomiendame una serie de netflix | — fuera de dominio | (rechazada) | 0.1364 |
| que tal te va | identidad | examenes-uoc | 0.2201 |
| todo bien | identidad | (rechazada) | 0.1015 |
| como te encuentras hoy | — fuera de dominio | como-depuras | 0.1908 |
| que color te gusta mas | color-favorito | color-favorito | 0.4241 |
| cual es tu comida favorita | comida | comida | 0.2495 |
| cual es tu pelicula favorita | — fuera de dominio | (rechazada) | 0.1789 |
| que hora es | — fuera de dominio | (rechazada) | 0.0994 |
| que dia es hoy | — fuera de dominio | (rechazada) | 0.137 |
| cuentame un chiste | — fuera de dominio | (rechazada) | 0.1121 |
| cantame una cancion | — fuera de dominio | (rechazada) | 0.0762 |
| que opinas del futbol | — fuera de dominio | opinion-hype-ia | 0.2774 |
| tienes novio | — fuera de dominio | edad | 0.2152 |
| que edad tienes tu | edad | edad | 0.4422 |
| eres real | — fuera de dominio | (rechazada) | 0.1349 |
| me quieres | — fuera de dominio | que-quiero-hacer | 0.2671 |
| que puedes hacer | — fuera de dominio | (rechazada) | 0.1273 |
| ayudame con mis deberes | — fuera de dominio | (rechazada) | 0.1306 |
| cual es el sentido de la vida | — fuera de dominio | (rechazada) | 0.0923 |
| que piensas de la politica | — fuera de dominio | opinion-hype-ia | 0.2286 |
| gracias | — fuera de dominio | (rechazada) | 0.0911 |
| vale perfecto | — fuera de dominio | (rechazada) | 0.1182 |
| jajaja que dices | — fuera de dominio | corpus | 0.1982 |
| que idiomas sabes hablar | idiomas | idiomas | 0.4548 |
| que portatil usas para trabajar | hardware | hardware | 0.1857 |
| que camara utilizas para grabar | hardware | hardware | 0.3003 |
| que programas utilizas en el dia a dia | software | software | 0.4315 |
| te gusta algun grupo de musica | musica | musica | 0.4664 |
| sueles jugar a algo | videojuegos | videojuegos | 0.3541 |
| como te cuidas la piel | skincare | skincare | 0.3107 |
| que parte de la carrera se te hace cuesta arriba | asignaturas | asignaturas | 0.4111 |
| como aprendiste todo esto | como-aprendes | como-aprendes | 0.2893 |
| de donde salen tus ideas para grabar | como-grabo | datos-propios | 0.2116 |
| que haces cuando te critican en redes | haters | haters | 0.3577 |
| tienes titulo de dietista | fp-dietetica | fp-dietetica | 0.2538 |
| que color te gusta mas | color-favorito | color-favorito | 0.4241 |
| prefieres perros o gatos | animal-favorito | animal-favorito | 0.414 |
| cuanto tiempo estuviste en bellas artes | dejar-bellas-artes | dejar-bellas-artes | 0.2504 |
| no te planteaste un master | no-master | no-master | 0.358 |
| llevas bien la estadistica inferencial | estadistica | estadistica | 0.5329 |
| que problema resuelve tokpipe | tokpipe | tokpipe | 0.2324 |
| cuentame lo de redmoon | redmoon | redmoon | 0.2695 |
| por que trabajas con tus propias metricas | datos-propios | datos-propios | 0.3578 |
| para que te sirve grabar | por-que-contenido | (rechazada) | 0.1712 |
| como escribes los guiones de tus videos | estilo-contenido | estilo-contenido | 0.4067 |
| cuando toca dejar algo y cambiar | cambiar-de-rumbo | cambiar-de-rumbo | 0.3518 |
| el diseño te ayuda en los datos | arte-y-datos | arte-y-datos | 0.3471 |
| que es lo que mas disfrutas trabajando con datos | que-me-gusta-datos | que-me-gusta-datos | 0.3867 |
| que es lo que peor llevas de programar | que-odio | que-odio | 0.4311 |
| eres de fiar cuando contestas | alucinar | (rechazada) | 0.1333 |
| te actualizan cada cuanto | reentrenar | reentrenar | 0.3689 |
| por que montaste la web de esta manera | por-que-esta-web | por-que-esta-web | 0.1989 |
| que significa el nombre aroa index | nombre-aroa-index | nombre-aroa-index | 0.4589 |
| cuantos proyectos has hecho | proyectos | proyectos | 0.2882 |
| donde puedo ver lo que has programado | proyectos | proyectos | 0.1812 |
| tienes algo para instagram | instapipe | instapipe | 0.2708 |
| has orquestado pipelines alguna vez | etl-social-pipeline | etl-social-pipeline | 0.2104 |
| sacas datos de alguna api publica | scraper-gasolineras | scraper-gasolineras | 0.1886 |
| de que va tu analisis de sueldos | gender-pay-gap | gender-pay-gap | 0.2504 |
| que hace tu herramienta de rust para la terminal | safeshell | safeshell | 0.4112 |
| se puede usar un teclado en dos maquinas | kvm | (rechazada) | 0.1423 |
| cual es tu punto flojo | que-se-te-da-mal | (rechazada) | 0.1253 |
| de que manera te has formado | como-aprendes | (rechazada) | 0.1151 |
| te ayudas de la inteligencia artificial al programar | usas-ia-para-programar | usas-ia-para-programar | 0.5401 |
| que haces cuando el codigo no tira | como-depuras | como-depuras | 0.1842 |
| para que sirve saber sql | por-que-sql | por-que-sql | 0.2987 |
| cuanto tiempo se pierde arreglando datos | dato-limpio | dato-limpio | 0.1911 |
| es mejor un bootcamp o una carrera | carrera-o-bootcamp | carrera-o-bootcamp | 0.4275 |
| hay que tener base para meterse en esto | se-puede-empezar-de-cero | (rechazada) | 0.1186 |
| que piensas del bombo que se le da a la ia | opinion-hype-ia | opinion-hype-ia | 0.3076 |
| por que ensenas lo que no te ha funcionado | por-que-publicas-fallos | por-que-publicas-fallos | 0.212 |
| que le dirias a alguien que esta empezando | consejo-empezar | consejo-empezar | 0.3162 |
| por que tienes ese apellido | adoptada | adoptada | 0.1958 |
| en que zona de españa vives | valencia | valencia | 0.4726 |
| como llevas tener tanto encima | compaginar | (rechazada) | 0.1519 |
| que te queda por aprender | que-quieres-aprender | que-quieres-aprender | 0.2162 |
| de que proyecto estas mas contenta | gender-pay-gap | gender-pay-gap | 0.2016 |
| que proyecto se te ha hecho mas cuesta arriba | proyecto-mas-dificil | proyecto-mas-dificil | 0.2055 |