Límites
Esta página reúne los huecos del trabajo; declararlos forma parte del rigor del TFM. Cada cifra de esta página procede de los artefactos del proyecto y es reproducible ejecutando sus scripts.
1Una pila RDF resuelta con librerías
El trabajo es RDF-céntrico por decisión de diseño: la pila semántica se resuelve por código y no depende de
interfaces gráficas externas. El razonamiento lo resuelvo con owlrl (perfil OWL 2 RL), la validación
con pyshacl y las consultas con SPARQL sobre rdflib.
Protégé, Neo4j y arrows.app son herramientas complementarias
del ecosistema. El grafo de propiedades equivalente se entrega como guion Cypher listo para cargar en
Neo4j o arrows.app, y la carga en GraphDB está escrita y lista para ejecutarse. Centrar el TFM en RDF es una
elección deliberada, coherente con sus objetivos.
El detalle recurso por recurso está en la página de Recursos y herramientas.
2El solape humano↔juez (33 de 50)
La validez de criterio del juez automático la calculé comparando el consenso de los anotadores humanos con las
puntuaciones del juez qwen2.5:32b. Los dos conjuntos de casos no coinciden del todo, solo solapan en una parte.
Por eso la validez de criterio se mide sobre esos 33 casos, no sobre los 50. Cerrar el solape a 50 de 50 es el paso que falta para una validez plena. El desarrollo completo de la anotación humana vive en Anotación humana.
3El juez no queda validado como instrumento absoluto
El juez qwen2.5:32b no queda validado como instrumento de puntuación absoluta frente al consenso
humano. La correlación es muy débil y conviene mirarla de frente.
| Medida | GLOBAL | Divulgativa | Técnica | Sugerencia |
|---|---|---|---|---|
| Pearson r (humano↔juez) | 0,203 | −0,203 | 0,363 | 0,041 |
| Spearman ρ (global) | 0,189 | — | — | — |
| Fleiss κ inter-anotador humano | 0,096 | 0,071 | 0,143 | 0,032 |
| ICC(2,k) acuerdo absoluto del panel | 0,831 | 0,736 | 0,910 | 0,605 |
La correlación global de Pearson es 0,203 y en la dimensión divulgativa es negativa (−0,203), es decir, ahí el juez ordena los casos casi al revés que los humanos. Solo la dimensión técnica alcanza una correlación moderada (0,363), justo donde los propios humanos concuerdan más (ICC técnica 0,910). El Bland-Altman humano menos juez da un sesgo medio de +0,139, el juez puntúa sistemáticamente algo alto, con límites de acuerdo de [−2,19, +2,47], inservibles a nivel de celda.
analisis_humano.json.El ICC(2,k) global de 0,831 indica que el promedio de los diez anotadores es fiable aunque cada uno concuerde poco por lo fino de la escala, y el panel humano separa los sistemas con claridad. Las puntuaciones cualitativas del juez dependen del juez, así que el veredicto del TFM se ancla en las métricas objetivas (categoría, concepto) y en el grounding, inmunes al juez. Esto confirma con datos humanos la cautela que el trabajo ya sostenía.
4El matiz del alt-test
El alt-test de sustitución (Calderon et al., ACL 2025) concluye "sustitución justificada", con un winning rate global de 1,0. Tomado aislado, ese resultado parece desmentir todo lo anterior, pero no lo hace, por las razones siguientes.
| Medida | Valor | Lectura |
|---|---|---|
| Winning rate global del juez | 1,0 | el juez iguala o supera a cada anotador típico |
| Probabilidad de ventaja media | 0,696 | ventaja moderada, no abrumadora |
| Fleiss κ inter-humano | 0,096 | el listón "anotador típico" es muy bajo |
| Pearson r humano↔juez | 0,203 | no rastrea el orden del consenso |
| Bland-Altman (sesgo) | +0,139 | el juez puntúa sistemáticamente alto |
El alt-test es una medida relativa, enfrenta al juez con humanos que entre sí concuerdan muy poco (Fleiss 0,096). Cuando el acuerdo inter-humano es tan bajo, "igualar a un anotador típico" es un listón bajo que un juez internamente consistente supera con facilidad, mientras que "igualar al consenso", que es la validez de criterio, sigue siendo difícil. Por eso un winning rate de 1,0 convive sin contradicción con un Pearson de 0,203, miden cosas distintas. El juez es más consistente que cualquier humano aislado pero no rastrea el orden del consenso y puntúa sistemáticamente alto, de modo que el alt-test no rescata al juez como instrumento absoluto.
5La reconstrucción v2/v4: el RAG por pasajes no bate a la base, el semántico sí
Las cifras anteriores y las del resto del sitio pertenecen al experimento canónico (held-out
sintético de n=50 con los sistemas A/B/C/D y la generalización a código real de Dublin). Aparte de ese benchmark,
reconstruí un experimento aislado de ablación de la recuperación sobre Python con un juez
qwen2.5:32b y un retenido propio de n=10, que compara el modelo base sin recuperación
con tres variantes ORPO. Se declara por separado porque corrige una lectura ingenua frecuente, la de que "más contexto siempre ayuda".
| Dimensión (1–5) | Base | ORPO-v2 (pasajes WS) | ORPO-v3 (pasajes Python) | ORPO-v4 (ontológico/SPARQL) |
|---|---|---|---|---|
| Divulgativa | 4,2 | 4,0 | 4,0 | 4,1 |
| Técnica | 4,2 | 3,9 | 4,0 | 4,8 |
| Sugerencia | 2,8 | 2,5 | 2,7 | 3,8 |
| GLOBAL | 3,733 | 3,467 | 3,567 | 4,233 |
| Fidelidad de formato (0–1) | 0,88 | 0,88 | 0,90 | 0,94 |
El RAG por pasajes (ORPO-v2 con grafos de Web Semántica, ORPO-v3 con libros de Python) no supera al modelo base sin recuperación (3,467 y 3,567 frente a 3,733): inyectar muchos pasajes tangenciales diluye el contexto y degrada la respuesta. En cambio, el RAG semántico/ontológico (ORPO-v4), que recupera por SPARQL una única regla pedagógica quirúrgica, sí supera a la base (4,233 frente a 3,733): concentra la mejora en técnica (+0,6) y sugerencia (+1,0), y cierra ~78 % del trayecto base→techo humano (4,463) en ese eje de mejora (≈68,5 % en media global plana). Por casos, v4 vence a la base en 6, empata en 2 y pierde en 2.
Este resultado no es una victoria limpia. v4 tiene dos derrotas reales frente a la
base, sub_00803 (4,333→4,0) y sub_01444 (4,333→3,667), ambas del patrón "modificar una
lista mientras se itera". Toda la mejora es de recuperación, no de fine tuning:
v4 reutiliza el mismo adaptador ORPO que v3 y solo cambia lo que se recupera, así que la diferencia mide el efecto
de recuperar una regla ontológica, no un mejor entrenamiento. A eso se suma que solo 3 de los 10 casos
activaron una misconception específica del grafo; n=10 es pequeño y el juez no es determinista; y
la ontología comparte la taxonomía del propio dataset, de modo que la regla recuperada no es del todo independiente de los datos que evalúa La augmentación por pasajes no gana por sí sola; lo que aporta valor es la recuperación
semántica y quirúrgica, con un efecto modesto y medido. En el experimento canónico, además, la
ventaja del híbrido en distribución no transfiere a código real (inversión Dublin).
6Datos por plantillas, no IA generativa
El dataset de feedback con el que entrené y evalué no lo generó un modelo generativo, lo construí por plantillas deterministas. Esto importa porque marca el límite real de la diversidad y, con ella, de la generalización.
El "53 % de targets únicos" sobreestima la variedad real. Medida la diversidad semántica por coseno, el valor intra-esqueleto de 0,962 frente al global de 0,604 cuantifica la causa raíz del sobreajuste, las respuestas "únicas" difieren casi solo en nombres de variable dentro de cada una de las 35 plantillas. El modelo afinó la plantilla, no el razonamiento.
Sobre código real de estudiantes (Dublin DCU CS1) el orden de la métrica objetiva se invierte, el base A (0,802) y el GraphRAG C (0,733) citan mucho más del arreglo real que el afinado B (0,433) y el híbrido D (0,323). Es evidencia directa del sobreajuste a las plantillas sintéticas, ahora con test formal (Friedman p=8,1×10⁻¹⁵). Cerrar este hueco exige datos de entrenamiento más diversos, redacción variada o destilación de un maestro, no solo más código. El recorrido completo está en Resultados.
7Declaración de uso de IA
Esta es la declaración sobre el uso de herramientas de inteligencia artificial que acompaña a la memoria del TFM, conforme a la normativa de integridad académica de la UNED.
En la elaboración de este Trabajo de Fin de Máster he utilizado herramientas de inteligencia artificial generativa como apoyo a las siguientes tareas: depuración del código propuesto, verificación de errores, subsanación de los mismos, y naturalmente para ejecutar los modelos de lenguaje, ya que los mismos constituyen bloques de inteligencia artificial generativa. Para la redacción, la organización del texto, y todos los demás desarrollos, he empleado herramientas propias, algunas propias de la asignatura Web Semántica y Enlazado de Datos, siempre partiendo de borradores que he revisado, reescrito con mi propia voz y verificado en su totalidad.
El diseño de la investigación, la construcción y la validación del grafo de conocimiento, el desarrollo de la arquitectura RAG y del fine tuning, la ejecución de los experimentos y el análisis estadístico, y todas las cifras, tablas y conclusiones que aquí se presentan son obra propia, reales y reproducibles a partir del código y de los artefactos del proyecto.
8Ver también
Anotación humana
Los diez anotadores reales, el acuerdo del panel (ICC 0,831) y la validez de criterio frente al juez, con el solape de 33 de 50 declarado.
Resultados
El benchmark con n=50, la inversión del orden sobre código real de Dublin y la evidencia del sobreajuste a las plantillas.
Recursos y herramientas
El mapa recurso por recurso, con las GUI externas marcadas como parcial o hueco declarado sin inflar.
Si este trabajo te resulta útil y quieres referenciarlo, esta es la cita recomendada.
Bueno Junquero, A. (2026). Integración de grafos de conocimiento educativos con modelos de lenguaje masivos mediante arquitecturas RAG para evaluación personalizada en la enseñanza de programación. Trabajo Fin de Máster, Máster Universitario en Investigación en Inteligencia Artificial, UNED. Director, José Luis Fernández Vindel.