¿Aporta el texto libre en castellano a un modelo de tablas?
4 tareas públicas en castellano, 6 maneras de usar el texto libre que trae cada fila —desde ignorarlo hasta preguntarle a un servicio externo—, medidas frente a una regla sellada antes de que entrara un solo número.
Formato del artefacto: 107-C30.v1
| Tarea | Métrica | Sin texto | Mejor forma de usar el texto | Veredicto frente a sin texto |
|---|---|---|---|---|
| A · Noticias falsas | AUROC (mayor es mejor) | 0,724 | Jev, preguntado directamente (sin entrenar): 0,885 | Mejora |
| B · Casos clínicos | AUROC (mayor es mejor) | 0,5 | TF-IDF + lineal: 0,819 | Mejora |
| C · Contratación pública | RMSE (menor es mejor) | 0,653 | Embedding multilingüe (MiniLM): 0,635 | Equivalencia práctica |
| D · BOE — legislación consolidada | AUROC (mayor es mejor) | 0,855 | Embedding multilingüe (MiniLM): 0,875 | Equivalencia práctica |
- El texto aporta cuando es el dato principal: por sí solo (TF-IDF), mejora al modelo sin texto en noticias falsas (AUROC 0,795 frente a 0,724) y en casos clínicos (AUROC 0,819 frente a 0,5).
- Preguntado directamente y sin entrenar, Jev es la mejor forma medida de usar el texto en noticias falsas (AUROC 0,885 frente a 0,724 sin texto y 0,795 del TF-IDF) — con una cautela: el corpus es público desde hace años, así que esto no separa que Jev lea el texto de que lo recuerde de su entrenamiento.
- Como fabricante de columnas, ni Jev ni el modelo local mejoran de forma práctica al modelo sin texto en ninguna tarea.
- En contratación pública (RMSE) y en el BOE, nada cruza el margen de equivalencia de forma práctica.
La pregunta y las seis condiciones
Muchos de los modelos de MatrixAI Studio entrenan sobre tablas, y algunas de esas tablas traen una columna de texto libre —una descripción, una nota, un informe— que hoy se ignora. Esto mide si ese texto merece leerse siquiera, y si es así, cuál de seis formas de leerlo compensa el esfuerzo, en cuatro tareas públicas escritas en castellano.
- Sin texto (referencia) — Solo el modelo de tablas, con la columna de texto libre eliminada — la referencia frente a la que se mide todo lo demás.
- Embedding multilingüe (MiniLM) — El texto convertido en un único embedding de frase multilingüe (MiniLM), añadido al modelo de tablas como columnas extra.
- TF-IDF + lineal — Solo el texto: una bolsa de palabras TF-IDF (palabras y parejas de palabras) con su propio modelo lineal —regresión logística, o ridge en regresión—, sin las otras columnas de la tarea y sin el modelo de tablas.
- Respondedor local (Qwen2.5-0.5B) — Un modelo pequeño que corre en esta máquina (Qwen2.5-0.5B) al que se le hacen 5 preguntas fijas de sí/no sobre el texto; las respuestas entran al mismo modelo de tablas como 5 columnas más.
- Jev (fabricando columnas) — Las mismas 5 preguntas de sí/no, respondidas por Jev —un servicio externo— en vez de por el modelo local.
- Jev, preguntado directamente (sin entrenar) — Sin fabricar columnas: se le hace a Jev directamente la pregunta de la tarea, sin haber entrenado con ninguno de nuestros datos, y su respuesta cruda (0-1) se usa tal cual como la puntuación.
Cada condición se compara con la condición (0) —sin texto— en una comparación emparejada, fila a fila: las mismas filas, con y sin la señal del texto. El intervalo sale de un bootstrap por fila con 1000 remuestreos, y una condición solo cuenta como equivalente en la práctica a «sin texto» cuando su intervalo entero cabe dentro de un margen de equivalencia de 0,05 fijado antes de que existiera ninguna de estas cifras, no elegido después de verlas.
Cuatro tareas públicas, todas en castellano
Cada tarea es un conjunto de datos real y públicamente disponible en castellano — nada construido para esta medición.
| Fuente | Qué predice | Filas | |
|---|---|---|---|
| A · Noticias falsas | FakeNewsCorpusSpanish · CC BY 4.0 | Distinguir una noticia en castellano falsa de una verdadera. | Train 676 · Dev 295 · Test 572 · 1543 filas en total |
| B · Casos clínicos | CodiEsp · CC BY 4.0 | Predecir, a partir de un caso clínico en castellano, si aplica el código CIE-10 R52 (dolor). No trae otras columnas: «sin texto» no tiene nada con qué aprender. | Train 500 · Dev 250 · Test 250 · 1000 filas en total |
| C · Contratación pública | PLACSP · fichero de licitaciones de agosto de 2025 | Regresión del log10 del importe sin IVA de cada licitación, a partir del objeto del contrato y de sus otras columnas. | Train 21.323 · Dev 4569 · Test 4570 · 30.462 filas en total |
| D · BOE — legislación consolidada | Boletín Oficial del Estado · legislación consolidada · reutilizable (Ley 37/2007) | Predecir si una norma española sigue vigente. | Train 3500 · Dev 750 · Test 750 · 5000 filas en total |
Cada condición, por tarea
En el móvil cada tabla lleva su propio scroll horizontal.
A — Noticias falsas · FakeNewsCorpusSpanish
AUROC (mayor es mejor)
| Condición | Resultado | Diferencia frente a (0), con intervalo | Veredicto |
|---|---|---|---|
| Sin texto (referencia) | 0,724 | referencia | |
| Embedding multilingüe (MiniLM) | 0,645 | -0,079 [-0,123; -0,033] | Inferioridad |
| TF-IDF + lineal | 0,795 | 0,071 [0,021; 0,115] | Mejora |
| Respondedor local (Qwen2.5-0.5B) | 0,728 | 0,004 [-0,008; 0,018] | Equivalencia práctica |
| Jev (fabricando columnas) | 0,715 | -0,009 [-0,029; 0,012] | Equivalencia práctica |
| Jev, preguntado directamente (sin entrenar) | 0,885 | 0,161 [0,122; 0,200] | Mejora |
Otras diferencias que el artefacto describe, sin veredicto (fuera del pre-registro):
- Respondedor local (Qwen2.5-0.5B) − TF-IDF + lineal: -0,067 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
- Jev (fabricando columnas) − TF-IDF + lineal: -0,08 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
- Jev (fabricando columnas) − Respondedor local (Qwen2.5-0.5B): -0,013 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
- Jev, preguntado directamente (sin entrenar) − Embedding multilingüe (MiniLM): 0,24 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
- Jev, preguntado directamente (sin entrenar) − TF-IDF + lineal: 0,09 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
- Jev, preguntado directamente (sin entrenar) − Jev (fabricando columnas): 0,17 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
B — Casos clínicos · CodiEsp
AUROC (mayor es mejor)
| Condición | Resultado | Diferencia frente a (0), con intervalo | Veredicto |
|---|---|---|---|
| Sin texto (referencia) | 0,5 | referencia | |
| Embedding multilingüe (MiniLM) | 0,711 | 0,211 [0,134; 0,287] | Mejora |
| TF-IDF + lineal | 0,819 | 0,319 [0,261; 0,374] | Mejora |
| Respondedor local (Qwen2.5-0.5B) | 0,5 | 0 [0,000; 0,000] | Equivalencia práctica |
| Jev (fabricando columnas) | — | Nunca a Jev — datos clínicos | |
| Jev, preguntado directamente (sin entrenar) | — | Nunca a Jev — datos clínicos | |
Otras diferencias que el artefacto describe, sin veredicto (fuera del pre-registro):
- Respondedor local (Qwen2.5-0.5B) − TF-IDF + lineal: -0,319 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
C — Contratación pública · PLACSP (agosto 2025)
RMSE (menor es mejor)
| Condición | Resultado | Diferencia frente a (0), con intervalo | Veredicto |
|---|---|---|---|
| Sin texto (referencia) | 0,653 | referencia | |
| Embedding multilingüe (MiniLM) | 0,635 | -0,019 [-0,024; -0,013] | Equivalencia práctica |
| TF-IDF + lineal | 0,669 | 0,016 [-0,001; 0,032] | Equivalencia práctica |
| Respondedor local (Qwen2.5-0.5B) | — | No medida — coste | |
| Jev (fabricando columnas) | 0,648 | -0,005 [-0,008; -0,002] | Equivalencia práctica |
| Jev, preguntado directamente (sin entrenar) | — | Regresión — Jev no da un número continuo | |
Otras diferencias que el artefacto describe, sin veredicto (fuera del pre-registro):
- Jev (fabricando columnas) − TF-IDF + lineal: -0,021 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
D — BOE — legislación consolidada · BOE - Legislación consolidada (muestra 5000)
AUROC (mayor es mejor)
| Condición | Resultado | Diferencia frente a (0), con intervalo | Veredicto |
|---|---|---|---|
| Sin texto (referencia) | 0,855 | referencia | |
| Embedding multilingüe (MiniLM) | 0,875 | 0,02 [-0,004; 0,045] | Equivalencia práctica |
| TF-IDF + lineal | 0,836 | -0,019 [-0,052; 0,013] | Inconcluso |
| Respondedor local (Qwen2.5-0.5B) | — | No medida — coste | |
| Jev (fabricando columnas) | — | Fuera del pre-registro | |
| Jev, preguntado directamente (sin entrenar) | 0,828 | -0,028 [-0,065; 0,011] | Inconcluso |
Otras diferencias que el artefacto describe, sin veredicto (fuera del pre-registro):
- Jev, preguntado directamente (sin entrenar) − Embedding multilingüe (MiniLM): -0,048 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
- Jev, preguntado directamente (sin entrenar) − TF-IDF + lineal: -0,008 — Descrita, sin veredicto — no formaba parte del plan de comparación sellado.
Qué contestó Jev
Jev es un servicio externo de TypeSafe, al que se llega por OpenRouter, que contesta preguntas tipadas de sí/no sobre un texto. El modelo que hay detrás está fijado y se lee del artefacto: typesafe/jev-1.13-20260917.
Como fabricante de columnas (condición 4), Jev solo corre en las tareas A y C —las dos públicas—; preguntado directamente, sin entrenar (condición 5, más abajo), corre en A y D —C es una regresión y la respuesta de Jev no es un número continuo—. La tarea B son casos clínicos, y el texto clínico nunca sale de esta máquina, así que nunca se manda a Jev por ninguna de las dos vías; por eso las tablas de arriba enseñan B como omitida, con su motivo.
Por qué Jev no está en la tabla de los 40 conjuntos de «Cómo medimos»: esos conjuntos son tablas sin texto libre, Jev no aprende de filas etiquetadas y no hace regresión. Su sitio es este: sacar columnas del texto para el modelo que sí aprende. Cómo medimos: los 40 conjuntos →
Gasto total de la clave de la API de Jev en esta medición: 0,5963 US$, y cubre las tareas A y C, y las llamadas de prueba.
Tarea A — Noticias falsas
Jev y el respondedor local coincidieron en el 76,1 % de las respuestas comparables (5872 de 7715).
Tiempo total de reloj de pared: 485 s (8,1 min)
| Pasada | Desenlace | Duración |
|---|---|---|
107c30-jev-a | completada | 485 s (8,1 min) |
Tarea C — Contratación pública
Tiempo total de reloj de pared: 15.208 s (4,2 h)
La medida tuvo que reanudarse desde su caché de filas ya respondidas, así que necesitó varias pasadas: el total de arriba es la suma de todas, que van debajo — no solo la última.
| Pasada | Desenlace | Duración |
|---|---|---|
107c30-jev-c | error (corte de red) | 212 s (3,5 min) |
107c30-jev-c2 | error (sin saldo en la cuenta) | 3053 s (50,9 min) |
107c30-jev-c3 | agotó el tope de tiempo | 10.801 s (3 h) |
resto-a-mano | completada | 1142 s (19 min) |
La condición (5): preguntarle a Jev directamente, sin entrenar
Otra forma de usar a Jev: en vez de fabricar columnas para nuestro propio modelo, aquí se le hace a Jev la pregunta de la tarea tal cual está escrita, sin haber entrenado con ninguno de nuestros datos — su respuesta cruda (0 a 1) se usa directamente como la puntuación, sobre las mismas filas de prueba que todas las demás condiciones.
A — Noticias falsas
¿Es falsa esta noticia? Responde solo sí o no.Respuestas faltantes: 0 (0 %)
D — BOE — legislación consolidada
¿Esta norma ha dejado de estar vigente? Responde solo sí o no.Respuestas faltantes: 0 (0 %)
Los dos corpus son públicos desde hace años, así que esta medida no puede separar que Jev lea el texto de que lo recuerde de su entrenamiento. Y su puntuación es AUROC —ordena—, que no dice nada de si ese número entre 0 y 1 está calibrado.
El marcador «NUMBER»
FakeNewsCorpusSpanish sustituye los dígitos por el marcador literal NUMBER en algunas de sus versiones. Contado directamente en la copia del conjunto que usó esta medición: 749 de 1543 filas lo llevan — y cuánto depende de la versión y de la partición, no de si la noticia es falsa o verdadera.
Patrón de detección: \bNUMBER\b (sensible a mayúsculas)
| Versión | Partición | Filas con NUMBER | Filas | Proporción |
|---|---|---|---|---|
| v1 | dev | 234 | 295 | 79,3 % |
| v1 | train | 515 | 676 | 76,2 % |
| v2 | test | 0 | 572 | 0 % |
| Etiqueta | Filas con NUMBER | Filas | Proporción |
|---|---|---|---|
Fake | 221 | 338 | 65,4 % |
True | 294 | 338 | 87 % |
| Término (χ²) | χ² |
|---|---|
number de | 1,55 |
mil number | 1,329 |
el number | 1,27 |
mil | 1,254 |
de number | 1,152 |
La versión que se usó para elegir las preguntas de sí/no de la tarea A está empapada de este marcador; la versión que de verdad se calificó, no. Que un respondedor acierte una pregunta construida alrededor de NUMBER dice de qué versión del corpus venía la fila, no si sabe leer una noticia en castellano — así que las cifras de la tarea A describen ese desajuste, y no sirven para calificar a Jev ni al respondedor local como lectores de este texto.
Colocado al lado de las tablas a propósito, con el mismo peso — no una nota al pie al final de la página.
- Cuatro tareas y un margen de equivalencia: un resultado de aquí no se generaliza más allá de ellos.
- Solo se ha medido castellano — nada de esto dice nada de ningún otro idioma.
- Las preguntas de sí/no las eligió una regla automática (χ²), no una persona: con otras preguntas los mismos respondedores podrían dar otra puntuación.
- El tiempo de respuesta de Jev no es comparable al del respondedor local — son cosas distintas (un servicio remoto por HTTP frente a un modelo que corre en esta máquina), y esta página nunca los pone uno al lado del otro.
Qué produjo este JSON, con sus huellas
Cada artefacto del que lee esta página, con su SHA-256 para que quien tenga el fichero pueda comprobar que es el mismo, y la huella del script que lo escribió donde el artefacto la registra.
18c922c9df6c6bee13ac2953b394296fd8ac67306a71ec9873bf8ab84e694b49
| Fichero | Generado | SHA-256 del script | SHA-256 del fichero |
|---|---|---|---|
marcador_number_A.json | 29 de septiembre de 2026 | 41858b30bc492d4b32d0fc34429c70e59b4e43a36d67f7514d80ff1fcde6182c | 072ed3dfc2f498ff1201ab1c3fb32dd18807ec12649569133b10ec98ff81a95e |
pasadas_c30_jev.json | — | 97baf79a97dc17240267a49e6cd38ceca323b91f8cb9d15976acfcf6b07aeebe | 2d5b0963b43b1f1e9da95f60646521ff69c44aad2dc328958205d38c55c04190 |
respuestas_c30_jev_A.json | — | — | 5edfd489f48a25aec7499a0739f31b5c9097c3bd91b9891d9f109e6de76aece8 |
respuestas_c30_respondedor_a.json | — | — | c3873430d4382bf75018705dd11eaeff19d97f6b684da59deff34e0f9eeee12c |
resultado_c30.json | 25 de septiembre de 2026 | d2bf7c07a10de2e1b67e09178a0fc92b9be7c211248764b45bdb96b8862e9581 | 0a85571c8db563adb6d07cb3725a60129a399dffa0ec2889f08e10faf3b7e0f9 |
resultado_c30_jev_A.json | 29 de septiembre de 2026 | 0abc5e112747929b5256a41b0e7447534ce470eb61b251b142d2c0ca64067777 | 8a9a42171ed83bc0711a68597c5c06097b675f74e55ca2ef69aeff621aa8029d |
resultado_c30_jev_C.json | 29 de septiembre de 2026 | 0abc5e112747929b5256a41b0e7447534ce470eb61b251b142d2c0ca64067777 | 5051fa8649944e379c10da1e98efa219a89241cf0841eb13e5d4450eda79eed3 |
resultado_c30_jev_directo.json | 29 de septiembre de 2026 | f55f492ad008faac9c6a341c8ab1a4546c1f27d1c60471f1ad259ab33b5206bd | 5140f7b79926505a29ff5b5ba6bd801a6b887543584a6fb4b6f5bc4984c3ba8a |
resultado_c30_respondedor_a.json | 27 de septiembre de 2026 | 77d23914451e3946fe219533915cc00d1f3e1d2da6e68b388b082e66a683f95a | 403074a1876c8437ffaf22e785b035eedbddb5485f1d9c0377204885d18240c7 |
resultado_c30_respondedor_b.json | 27 de septiembre de 2026 | 77d23914451e3946fe219533915cc00d1f3e1d2da6e68b388b082e66a683f95a | f32115499363e1785242914a125bce6587a14456c82336d8f1a374c76a176ec3 |
resumen_tareas.json | — | — | 158f31b29a89c9ccc7d78850ac8367a81ed272e35f507829e90d690e58fc4661 |
Cada cifra de esta página se lee en vivo de src/datos/texto_107_publico.json, copiado byte a byte del artefacto que MatrixAI genera desde la pasada sellada del corte 107-C30 — nada aquí está escrito a mano.