Skip to content

feat(data): el corpus completo, y el techo humano que reencuadra todas las métricas (#121) - #122

Open
g-garciac2022 wants to merge 1 commit into
devfrom
feat/121-techo-humano
Open

feat(data): el corpus completo, y el techo humano que reencuadra todas las métricas (#121)#122
g-garciac2022 wants to merge 1 commit into
devfrom
feat/121-techo-humano

Conversation

@g-garciac2022

Copy link
Copy Markdown
Collaborator

Cierra #121.

Se bajó el Webis-17 completo para desbloquear #75 y poder calibrar engano. El
corpus resultó guardar los cinco juicios individuales de cada titular, no
sólo su media, y con eso se pudo comprobar un supuesto que llevaba meses sin
cuestionarse: que la tarea tiene una respuesta correcta.

La tarea es intrínsecamente ambigua

Sobre 19.484 titulares:

Titulares con los 5 anotadores de acuerdo 34,9 %
Un juicio individual coincide con el consenso 81,5 %
Un anotador contra el consenso de su grupo F1 0,665 (P 0,598 · R 0,749)

Dos de cada tres titulares tienen al menos una persona que ve otra cosa.

Todas las métricas del proyecto se han leído hasta ahora contra un 1,0 implícito.
El listón real es 0,665, así que el 0,50 del léxico no está a medio camino de lo
posible: está a dos tercios.

(Con dos matices declarados en el README: predecir el consenso de un grupo es más
fácil que predecir un juicio suelto, y el 0,665 es generoso con el humano porque
el consenso incluye al anotador evaluado.)

Y explica por qué Chakraborty da números tan altos

Chakraborty etiqueta por fuente, y ese método no puede producir un caso
dudoso
. Restringiendo Webis a sus titulares unánimes:

Subconjunto n %pos F1 señal dedicada
Todo Webis-630 19.484 24,2 % 0,758
Los 5 de acuerdo 6.808 12,9 % 0,906
Al menos uno discrepa 12.676 30,3 % 0,725
Chakraborty 300 50 % 0,946

Quitando la zona gris, 0,758 → 0,906; el resto lo explica el balance de clases.
Chakraborty mide la mitad fácil del problema — segunda objeción al corpus,
independiente del sesgo de fuente de #76 y #109. Aplica también a los números
propios: el 87,0 % del léxico y el 89,3 % del lineal se midieron ahí.

El léxico no falla por difícil, falla por ciego

Sobre clickbait inequívoco caza el 69,4 %. #109 midió por cobertura de
vocabulario un techo de recall del 67,5 %. Está en su techo: lo que se le
escapa no dispara ningún cue. Misma conclusión de #109 por un camino
independiente, y vuelve a señalar a #75.

Dos hallazgos colaterales

Los errores viven en la zona gris: el 92,9 % de los fallos caen en el 65,1 %
dudoso. Si fallara al azar le tocaría el 65 %.

La confianza sigue la duda humana: 0,918 en unánimes contra 0,834 en dudosos,
sin que nadie se lo enseñara — se entrenó con la etiqueta binaria y nunca vio los
juicios individuales. Argumento medido para exponer la confianza en la
interfaz
en vez de un sí/no (R3.8 y pantalla de resultados de H3).

Qué se vendoriza

937 MB de zip, la mayoría imágenes. El extracto se parte por tamaño: titulares
1,10 MB versionados
, cuerpos 29 MB a var/ regenerables con
python -m backend.evaluation.webis_extract <zip>.

Dos campos nuevos frente al extracto de #76: el id —sin él, cruzar splits
obliga a comparar por texto normalizado— y los truthJudgments, sin los
cuales nada de esto se podría haber medido. Se descartan 54 instancias con
postText vacío.

Trampa de nomenclatura, dejada por escrito: el zip se llama
clickbait17-train-170630 pero su carpeta interna dice validation. Los dos
splits etiquetados son disjuntos —comparten un titular de 2.380, medido—, así
que confundirlos llevaría a evaluar un modelo sobre su propio entrenamiento.

Correcciones

La ficha de Stremie deja de afirmar contaminación. Medido en los dos splits
(F1 0,631 y 0,758), ninguno se parece a la puntuación de un modelo evaluado sobre
su entrenamiento, así que se declara split de entrenamiento desconocido en
lugar de asumirlo.

El README corrige, a la vista, la afirmación de #115 de que no existían más
corpus en inglés. Era falsa por método: esa búsqueda sólo miró HuggingFace. En
Zenodo hay más con etiqueta humana y licencia permisiva — Webis-Clickbait-16
entre ellos. Se conserva la frase original con su nota de corrección en vez de
sustituirla en silencio: el README es el diario del TFG y el camino hasta una
conclusión tiene que quedar.

Lo que sí aguanta es la versión acotada: en el Hub no hay más que Chakraborty
reempaquetado
, que es lo que explica el caso de elozano.

Compatibilidad

load_external() acepta ahora split y conserva su defecto (train170331,
el de #76). Cambiarlo habría reescrito en silencio el significado de todos los
números ya publicados en el README.

Verificación

193 tests pasan, ruff y formato limpios. Todas las cifras de esta PR reproducen
desde python -m backend.evaluation.eval_ambiguedad.

…ction process

- Introduced new extraction module for Webis-Clickbait-17, handling disjoint splits.
- Updated README and documentation to clarify metrics and evaluation context.
- Added evaluation script for measuring human ceiling performance against model predictions.
- Enhanced model card details regarding independence and training splits.
- Included additional fields in the dataset for improved analysis.
@g-garciac2022 g-garciac2022 changed the title feat(data): el corpus completo, y el techo humano que reencuadra todas las metricas (#121) feat(data): el corpus completo, y el techo humano que reencuadra todas las métricas (#121) Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant