diff --git a/docs/00_resumen.md b/docs/00_resumen.md
index b2edf34..9ba0f09 100644
--- a/docs/00_resumen.md
+++ b/docs/00_resumen.md
@@ -1,7 +1,5 @@
# Resumen
-## Resumen
-
El presente Trabajo Fin de Máster aborda la optimización de sistemas de Reconocimiento Óptico de Caracteres (OCR) basados en inteligencia artificial para documentos en español, específicamente en un entorno con recursos computacionales limitados donde el fine-tuning de modelos no es viable. El objetivo principal es identificar la configuración óptima de hiperparámetros que maximice la precisión del reconocimiento de texto sin requerir entrenamiento adicional de los modelos.
Se realizó un estudio comparativo de tres soluciones OCR de código abierto: EasyOCR, PaddleOCR (PP-OCRv5) y DocTR, evaluando su rendimiento mediante las métricas estándar CER (Character Error Rate) y WER (Word Error Rate) sobre un corpus de documentos académicos en español. Tras identificar PaddleOCR como la solución más prometedora, se procedió a una optimización sistemática de hiperparámetros utilizando Ray Tune con el algoritmo de búsqueda Optuna, ejecutando 64 configuraciones diferentes.
@@ -14,7 +12,7 @@ Este trabajo demuestra que es posible obtener mejoras sustanciales en sistemas O
---
-## Abstract
+# Abstract
This Master's Thesis addresses the optimization of Artificial Intelligence-based Optical Character Recognition (OCR) systems for Spanish documents, specifically in a resource-constrained environment where model fine-tuning is not feasible. The main objective is to identify the optimal hyperparameter configuration that maximizes text recognition accuracy without requiring additional model training.
diff --git a/docs/01_introduccion.md b/docs/01_introduccion.md
index c3dbe87..3eaf9f5 100644
--- a/docs/01_introduccion.md
+++ b/docs/01_introduccion.md
@@ -1,6 +1,8 @@
-# Capítulo 1: Introducción
+# Introducción
-## 1.1 Motivación
+Este capítulo presenta la motivación del trabajo, identificando el problema a resolver y justificando su relevancia. Se plantea la pregunta de investigación central y se describe la estructura del documento.
+
+## Motivación
El Reconocimiento Óptico de Caracteres (OCR) es una tecnología fundamental en la era de la digitalización documental. Su capacidad para convertir imágenes de texto en datos editables y procesables ha transformado sectores como la administración pública, el ámbito legal, la banca y la educación. Sin embargo, a pesar de los avances significativos impulsados por el aprendizaje profundo, la implementación práctica de sistemas OCR de alta precisión sigue presentando desafíos considerables.
@@ -10,7 +12,7 @@ Los modelos OCR basados en redes neuronales profundas, como los empleados en Pad
La presente investigación surge de una necesidad práctica: optimizar un sistema OCR para documentos académicos en español sin disponer de recursos GPU para realizar fine-tuning. Esta restricción, lejos de ser una limitación excepcional, representa la realidad de muchos entornos académicos y empresariales donde el acceso a infraestructura de cómputo avanzada es limitado.
-## 1.2 Planteamiento del Problema
+## Planteamiento del trabajo
El problema central que aborda este trabajo puede formularse de la siguiente manera:
@@ -33,7 +35,7 @@ La relevancia de este problema radica en su aplicabilidad inmediata. Una metodol
- Pequeñas y medianas empresas que automatizan flujos documentales
- Desarrolladores que integran OCR en aplicaciones con restricciones de recursos
-## 1.3 Estructura del Trabajo
+## Estructura del trabajo
El presente documento se organiza en los siguientes capítulos:
diff --git a/docs/02_contexto_estado_arte.md b/docs/02_contexto_estado_arte.md
index 9393d00..113e7cd 100644
--- a/docs/02_contexto_estado_arte.md
+++ b/docs/02_contexto_estado_arte.md
@@ -1,12 +1,10 @@
-# Capítulo 2: Contexto y Estado del Arte
-
-## 2.1 Introducción
+# Contexto y estado del arte
Este capítulo presenta el marco teórico y tecnológico en el que se desarrolla el presente trabajo. Se revisan los fundamentos del Reconocimiento Óptico de Caracteres (OCR), la evolución de las técnicas basadas en aprendizaje profundo, las principales soluciones de código abierto disponibles y los trabajos previos relacionados con la optimización de sistemas OCR.
-## 2.2 Fundamentos del OCR
+## Contexto del problema
-### 2.2.1 Definición y Evolución Histórica
+### Definición y Evolución Histórica del OCR
El Reconocimiento Óptico de Caracteres (OCR) es el proceso de conversión de imágenes de texto manuscrito, mecanografiado o impreso en texto codificado digitalmente. La tecnología OCR ha evolucionado significativamente desde sus orígenes en la década de 1950:
@@ -15,7 +13,7 @@ El Reconocimiento Óptico de Caracteres (OCR) es el proceso de conversión de im
- **Tercera generación (1990-2010)**: Modelos basados en Redes Neuronales Artificiales y Modelos Ocultos de Markov (HMM).
- **Cuarta generación (2010-presente)**: Arquitecturas de aprendizaje profundo que dominan el estado del arte.
-### 2.2.2 Pipeline Moderno de OCR
+### Pipeline Moderno de OCR
Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas:
@@ -29,61 +27,69 @@ Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas:
- Arquitecturas encoder-decoder con atención
- Transformers (ViTSTR, TrOCR)
-### 2.2.3 Métricas de Evaluación
+### Métricas de Evaluación
Las métricas estándar para evaluar sistemas OCR son:
-**Character Error Rate (CER)**:
-```
-CER = (S + D + I) / N
-```
-Donde S = sustituciones, D = eliminaciones, I = inserciones, N = caracteres de referencia.
+**Character Error Rate (CER)**: Se calcula como CER = (S + D + I) / N, donde S = sustituciones, D = eliminaciones, I = inserciones, N = caracteres de referencia.
-**Word Error Rate (WER)**:
-```
-WER = (S + D + I) / N
-```
-Calculado a nivel de palabras en lugar de caracteres.
+**Word Error Rate (WER)**: Se calcula de forma análoga pero a nivel de palabras en lugar de caracteres.
Un CER del 1% significa que 1 de cada 100 caracteres es erróneo. Para aplicaciones críticas como extracción de datos financieros o médicos, se requieren CER inferiores al 1%.
-## 2.3 Soluciones OCR de Código Abierto
+### Particularidades del OCR para el Idioma Español
-### 2.3.1 EasyOCR
+El español presenta características específicas que impactan el OCR:
-EasyOCR es una biblioteca de OCR desarrollada por Jaided AI que soporta más de 80 idiomas. Sus características principales incluyen:
+- **Caracteres especiales**: ñ, á, é, í, ó, ú, ü, ¿, ¡
+- **Diacríticos**: Los acentos pueden confundirse con ruido o artefactos
+- **Longitud de palabras**: Palabras generalmente más largas que en inglés
+- **Puntuación**: Signos de interrogación y exclamación invertidos
+
+## Estado del arte
+
+### Soluciones OCR de Código Abierto
+
+#### EasyOCR
+
+EasyOCR es una biblioteca de OCR desarrollada por Jaided AI (2020) que soporta más de 80 idiomas. Sus características principales incluyen:
- **Arquitectura**: Detector CRAFT + Reconocedor CRNN/Transformer
- **Fortalezas**: Facilidad de uso, soporte multilingüe amplio, bajo consumo de memoria
- **Limitaciones**: Menor precisión en documentos complejos, opciones de configuración limitadas
- **Caso de uso ideal**: Prototipado rápido y aplicaciones con restricciones de memoria
-### 2.3.2 PaddleOCR
+#### PaddleOCR
-PaddleOCR es el sistema OCR desarrollado por Baidu como parte del ecosistema PaddlePaddle. La versión PP-OCRv5, utilizada en este trabajo, representa el estado del arte en OCR industrial:
+PaddleOCR es el sistema OCR desarrollado por Baidu como parte del ecosistema PaddlePaddle (2024). La versión PP-OCRv5, utilizada en este trabajo, representa el estado del arte en OCR industrial:
- **Arquitectura**:
- - Detector: DB (Differentiable Binarization) con backbone ResNet
+ - Detector: DB (Differentiable Binarization) con backbone ResNet (Liao et al., 2020)
- Reconocedor: SVTR (Scene-Text Visual Transformer Recognition)
- Clasificador de orientación opcional
- **Hiperparámetros configurables**:
- | Parámetro | Descripción | Valor por defecto |
- |-----------|-------------|-------------------|
- | `text_det_thresh` | Umbral de detección de píxeles | 0.3 |
- | `text_det_box_thresh` | Umbral de caja de detección | 0.6 |
- | `text_det_unclip_ratio` | Coeficiente de expansión | 1.5 |
- | `text_rec_score_thresh` | Umbral de confianza de reconocimiento | 0.5 |
- | `use_textline_orientation` | Clasificación de orientación | False |
- | `use_doc_orientation_classify` | Clasificación de orientación de documento | False |
- | `use_doc_unwarping` | Corrección de deformación | False |
+
+**Tabla 1.** *Hiperparámetros configurables de PaddleOCR.*
+
+| Parámetro | Descripción | Valor por defecto |
+|-----------|-------------|-------------------|
+| `text_det_thresh` | Umbral de detección de píxeles | 0.3 |
+| `text_det_box_thresh` | Umbral de caja de detección | 0.6 |
+| `text_det_unclip_ratio` | Coeficiente de expansión | 1.5 |
+| `text_rec_score_thresh` | Umbral de confianza de reconocimiento | 0.5 |
+| `use_textline_orientation` | Clasificación de orientación | False |
+| `use_doc_orientation_classify` | Clasificación de orientación de documento | False |
+| `use_doc_unwarping` | Corrección de deformación | False |
+
+*Fuente: Documentación oficial de PaddleOCR (PaddlePaddle, 2024).*
- **Fortalezas**: Alta precisión, pipeline altamente configurable, modelos específicos para servidor
- **Limitaciones**: Mayor complejidad de configuración, dependencia del framework PaddlePaddle
-### 2.3.3 DocTR
+#### DocTR
-DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee orientada a la investigación:
+DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee (2021) orientada a la investigación:
- **Arquitectura**:
- Detectores: DB, LinkNet
@@ -92,41 +98,45 @@ DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee orie
- **Fortalezas**: API limpia, orientación académica, salida estructurada de alto nivel
- **Limitaciones**: Menor rendimiento en español comparado con PaddleOCR
-### 2.3.4 Comparativa de Arquitecturas
+#### Comparativa de Arquitecturas
+
+**Tabla 2.** *Comparativa de soluciones OCR de código abierto.*
| Modelo | Tipo | Componentes | Fortalezas Clave |
|--------|------|-------------|------------------|
-| **EasyOCR** | End-to-end (det + rec) | DB + CRNN/Transformer | Ligero, fácil de usar, multilingüe |
+| **EasyOCR** | End-to-end (det + rec) | CRAFT + CRNN/Transformer | Ligero, fácil de usar, multilingüe |
| **PaddleOCR** | End-to-end (det + rec + cls) | DB + SVTR/CRNN | Soporte multilingüe robusto, configurable |
| **DocTR** | End-to-end (det + rec) | DB/LinkNet + CRNN/SAR/ViTSTR | Orientado a investigación, API limpia |
-## 2.4 Optimización de Hiperparámetros
+*Fuente: Documentación oficial de cada herramienta (JaidedAI, 2020; PaddlePaddle, 2024; Mindee, 2021).*
-### 2.4.1 Fundamentos
+### Optimización de Hiperparámetros
-La optimización de hiperparámetros (HPO) busca encontrar la configuración de parámetros que maximiza (o minimiza) una métrica objetivo. A diferencia de los parámetros del modelo (pesos), los hiperparámetros no se aprenden durante el entrenamiento.
+#### Fundamentos
+
+La optimización de hiperparámetros (HPO) busca encontrar la configuración de parámetros que maximiza (o minimiza) una métrica objetivo (Feurer & Hutter, 2019). A diferencia de los parámetros del modelo (pesos), los hiperparámetros no se aprenden durante el entrenamiento.
Los métodos de HPO incluyen:
- **Grid Search**: Búsqueda exhaustiva en una rejilla predefinida
-- **Random Search**: Muestreo aleatorio del espacio de búsqueda
-- **Bayesian Optimization**: Modelado probabilístico de la función objetivo
+- **Random Search**: Muestreo aleatorio del espacio de búsqueda (Bergstra & Bengio, 2012)
+- **Bayesian Optimization**: Modelado probabilístico de la función objetivo (Bergstra et al., 2011)
- **Algoritmos evolutivos**: Optimización inspirada en evolución biológica
-### 2.4.2 Ray Tune y Optuna
+#### Ray Tune y Optuna
-**Ray Tune** es un framework de optimización de hiperparámetros escalable que permite:
+**Ray Tune** es un framework de optimización de hiperparámetros escalable (Liaw et al., 2018) que permite:
- Ejecución paralela de experimentos
- Early stopping de configuraciones poco prometedoras
- Integración con múltiples algoritmos de búsqueda
-**Optuna** es una biblioteca de optimización bayesiana que implementa:
+**Optuna** es una biblioteca de optimización bayesiana (Akiba et al., 2019) que implementa:
- Tree-structured Parzen Estimator (TPE)
- Pruning de trials no prometedores
- Visualización de resultados
La combinación Ray Tune + Optuna permite búsquedas eficientes en espacios de alta dimensionalidad.
-### 2.4.3 HPO en Sistemas OCR
+#### HPO en Sistemas OCR
La aplicación de HPO a sistemas OCR ha sido explorada principalmente en el contexto de:
@@ -138,18 +148,7 @@ La aplicación de HPO a sistemas OCR ha sido explorada principalmente en el cont
Sin embargo, existe un vacío en la literatura respecto a la optimización sistemática de los hiperparámetros de inferencia en pipelines OCR modernos como PaddleOCR, especialmente para idiomas diferentes del inglés y chino.
-## 2.5 OCR para el Idioma Español
-
-### 2.5.1 Particularidades del Español
-
-El español presenta características específicas que impactan el OCR:
-
-- **Caracteres especiales**: ñ, á, é, í, ó, ú, ü, ¿, ¡
-- **Diacríticos**: Los acentos pueden confundirse con ruido o artefactos
-- **Longitud de palabras**: Palabras generalmente más largas que en inglés
-- **Puntuación**: Signos de interrogación y exclamación invertidos
-
-### 2.5.2 Datasets y Benchmarks
+### Datasets y Benchmarks para Español
Los principales recursos para evaluación de OCR en español incluyen:
@@ -157,8 +156,6 @@ Los principales recursos para evaluación de OCR en español incluyen:
- **MLT (ICDAR)**: Multi-Language Text dataset con muestras en español
- **Documentos académicos**: Utilizados en este trabajo (instrucciones TFE de UNIR)
-### 2.5.3 Trabajos Previos
-
Los trabajos previos en OCR para español se han centrado principalmente en:
1. Digitalización de archivos históricos (manuscritos coloniales)
@@ -167,7 +164,7 @@ Los trabajos previos en OCR para español se han centrado principalmente en:
La optimización de hiperparámetros para documentos académicos en español representa una contribución original de este trabajo.
-## 2.6 Resumen del Capítulo
+## Conclusiones
Este capítulo ha presentado:
@@ -177,4 +174,3 @@ Este capítulo ha presentado:
4. Las particularidades del OCR para el idioma español
El estado del arte revela que, si bien existen soluciones OCR de alta calidad, su optimización para dominios específicos mediante ajuste de hiperparámetros (sin fine-tuning) ha recibido poca atención. Este trabajo contribuye a llenar ese vacío proponiendo una metodología reproducible para la optimización de PaddleOCR en documentos académicos en español.
-
diff --git a/docs/03_objetivos_metodologia.md b/docs/03_objetivos_metodologia.md
index dd9afe9..12d85eb 100644
--- a/docs/03_objetivos_metodologia.md
+++ b/docs/03_objetivos_metodologia.md
@@ -1,10 +1,8 @@
-# Capítulo 3: Objetivos y Metodología de Trabajo
+# Objetivos concretos y metodología de trabajo
-## 3.1 Introducción
+Este capítulo establece los objetivos del trabajo siguiendo la metodología SMART (Doran, 1981) y describe la metodología experimental empleada para alcanzarlos. Se define un objetivo general y cinco objetivos específicos, todos ellos medibles y verificables.
-Este capítulo establece los objetivos del trabajo siguiendo la metodología SMART (Específico, Medible, Alcanzable, Relevante, Temporal) y describe la metodología experimental empleada para alcanzarlos.
-
-## 3.2 Objetivo General
+## Objetivo general
> **Optimizar el rendimiento de PaddleOCR para documentos académicos en español mediante ajuste de hiperparámetros, alcanzando un CER inferior al 2% sin requerir fine-tuning del modelo ni recursos GPU dedicados.**
@@ -18,7 +16,7 @@ Este capítulo establece los objetivos del trabajo siguiendo la metodología SMA
| **Relevante (R)** | El impacto es demostrable: mejora la extracción de texto en documentos académicos sin costes adicionales de infraestructura |
| **Temporal (T)** | El plazo es un cuatrimestre, correspondiente al TFM |
-## 3.3 Objetivos Específicos
+## Objetivos específicos
### OE1: Comparar soluciones OCR de código abierto
> **Evaluar el rendimiento base de EasyOCR, PaddleOCR y DocTR en documentos académicos en español, utilizando CER y WER como métricas, para seleccionar el modelo más prometedor.**
@@ -35,50 +33,45 @@ Este capítulo establece los objetivos del trabajo siguiendo la metodología SMA
### OE5: Validar la configuración optimizada
> **Comparar el rendimiento de la configuración baseline versus la configuración optimizada sobre el dataset completo, documentando la mejora obtenida.**
-## 3.4 Metodología de Trabajo
+## Metodología del trabajo
-### 3.4.1 Visión General
+### 3.3.1 Visión General
-La metodología sigue un enfoque experimental estructurado en cinco fases:
-```
-┌─────────────────────────────────────────────────────────────────┐
-│ Fase 1: Preparación del Dataset │
-│ - Conversión PDF → Imágenes (300 DPI) │
-│ - Extracción de texto de referencia (PyMuPDF) │
-│ - Estructura: carpetas img/ y txt/ pareadas │
-└─────────────────────────────────────────────────────────────────┘
- ↓
-┌─────────────────────────────────────────────────────────────────┐
-│ Fase 2: Benchmark Comparativo │
-│ - Evaluación de EasyOCR, PaddleOCR, DocTR │
-│ - Métricas: CER, WER │
-│ - Selección del modelo base │
-└─────────────────────────────────────────────────────────────────┘
- ↓
-┌─────────────────────────────────────────────────────────────────┐
-│ Fase 3: Definición del Espacio de Búsqueda │
-│ - Identificación de hiperparámetros configurables │
-│ - Definición de rangos y distribuciones │
-│ - Configuración de Ray Tune + Optuna │
-└─────────────────────────────────────────────────────────────────┘
- ↓
-┌─────────────────────────────────────────────────────────────────┐
-│ Fase 4: Optimización de Hiperparámetros │
-│ - Ejecución de 64 trials con Ray Tune │
-│ - Paralelización (2 trials concurrentes) │
-│ - Registro de métricas y configuraciones │
-└─────────────────────────────────────────────────────────────────┘
- ↓
-┌─────────────────────────────────────────────────────────────────┐
-│ Fase 5: Validación y Análisis │
-│ - Comparación baseline vs optimizado │
-│ - Análisis de correlaciones │
-│ - Documentación de resultados │
-└─────────────────────────────────────────────────────────────────┘
+
+```mermaid
+
+flowchart TD
+ A["Fase 1: Preparación del Dataset
+ • Conversión PDF → Imágenes (300 DPI)
+ • Extracción de texto de referencia (PyMuPDF)
+ • Estructura: carpetas img/ y txt/ pareadas"]
+
+ B["Fase 2: Benchmark Comparativo
+ • Evaluación de EasyOCR, PaddleOCR, DocTR
+ • Métricas: CER, WER
+ • Selección del modelo base"]
+
+ C["Fase 3: Definición del Espacio de Búsqueda
+ • Identificación de hiperparámetros configurables
+ • Definición de rangos y distribuciones
+ • Configuración de Ray Tune + Optuna"]
+
+ D["Fase 4: Optimización de Hiperparámetros
+ • Ejecución de 64 trials con Ray Tune
+ • Paralelización (2 trials concurrentes)
+ • Registro de métricas y configuraciones"]
+
+ E["Fase 5: Validación y Análisis
+ • Comparación baseline vs optimizado
+ • Análisis de correlaciones
+ • Documentación de resultados"]
+
+ A --> B --> C --> D --> E
+
```
-### 3.4.2 Fase 1: Preparación del Dataset
+### 3.3.2 Fase 1: Preparación del Dataset
#### Fuente de Datos
Se utilizaron documentos PDF académicos de UNIR (Universidad Internacional de La Rioja), específicamente las instrucciones para la elaboración del TFE del Máster en Inteligencia Artificial.
@@ -99,19 +92,23 @@ El script `prepare_dataset.ipynb` implementa:
#### Estructura del Dataset
-```
-dataset/
-├── 0/
-│ ├── instrucciones.pdf
-│ ├── img/
-│ │ ├── page_0001.png
-│ │ ├── page_0002.png
-│ │ └── ...
-│ └── txt/
-│ ├── page_0001.txt
-│ ├── page_0002.txt
-│ └── ...
-└── ...
+```mermaid
+flowchart LR
+ dataset["dataset/"] --> d0["0/"]
+
+ d0 --> pdf["instrucciones.pdf"]
+
+ d0 --> img["img/"]
+ img --> img1["page_0001.png"]
+ img --> img2["page_0002.png"]
+ img --> imgN["..."]
+
+ d0 --> txt["txt/"]
+ txt --> txt1["page_0001.txt"]
+ txt --> txt2["page_0002.txt"]
+ txt --> txtN["..."]
+
+ dataset --> dots["..."]
```
#### Clase ImageTextDataset
@@ -127,7 +124,7 @@ class ImageTextDataset:
# Retorna (PIL.Image, str)
```
-### 3.4.3 Fase 2: Benchmark Comparativo
+### 3.3.3 Fase 2: Benchmark Comparativo
#### Modelos Evaluados
@@ -151,7 +148,7 @@ def evaluate_text(reference, prediction):
}
```
-### 3.4.4 Fase 3: Espacio de Búsqueda
+### 3.3.4 Fase 3: Espacio de Búsqueda
#### Hiperparámetros Seleccionados
@@ -193,20 +190,21 @@ tuner = tune.Tuner(
)
```
-### 3.4.5 Fase 4: Ejecución de Optimización
+### 3.3.5 Fase 4: Ejecución de Optimización
#### Arquitectura de Ejecución
Debido a incompatibilidades entre Ray y PaddleOCR en el mismo proceso, se implementó una arquitectura basada en subprocesos:
-```
-Ray Tune (proceso principal)
- │
- ├──► Subprocess 1: paddle_ocr_tuning.py --config {...}
- │ └──► Retorna JSON con métricas
- │
- └──► Subprocess 2: paddle_ocr_tuning.py --config {...}
- └──► Retorna JSON con métricas
+```mermaid
+flowchart LR
+ A["Ray Tune (proceso principal)"]
+
+ A --> B["Subprocess 1: paddle_ocr_tuning.py --config"]
+ B --> B_out["Retorna JSON con métricas"]
+
+ A --> C["Subprocess 2: paddle_ocr_tuning.py --config"]
+ C --> C_out["Retorna JSON con métricas"]
```
#### Script de Evaluación (paddle_ocr_tuning.py)
@@ -234,7 +232,7 @@ Y retorna métricas en formato JSON:
}
```
-### 3.4.6 Fase 5: Validación
+### 3.3.6 Fase 5: Validación
#### Protocolo de Validación
@@ -243,7 +241,7 @@ Y retorna métricas en formato JSON:
3. **Comparación**: Evaluación sobre las 24 páginas del dataset completo
4. **Métricas reportadas**: CER, WER, tiempo de procesamiento
-### 3.5 Entorno de Ejecución
+### 3.3.7 Entorno de Ejecución
#### Hardware
@@ -265,7 +263,7 @@ Y retorna métricas en formato JSON:
| Ray | 2.52.1 |
| Optuna | 4.6.0 |
-### 3.6 Limitaciones Metodológicas
+### 3.3.8 Limitaciones Metodológicas
1. **Tamaño del dataset**: El dataset contiene 24 páginas de un único tipo de documento. Resultados pueden no generalizar a otros formatos.
@@ -275,7 +273,7 @@ Y retorna métricas en formato JSON:
4. **Parámetro fijo**: `text_det_unclip_ratio` quedó fijado en 0.0 durante todo el experimento por decisión de diseño inicial.
-## 3.7 Resumen del Capítulo
+## Resumen del capítulo
Este capítulo ha establecido:
diff --git a/docs/04_desarrollo_especifico.md b/docs/04_desarrollo_especifico.md
index e44430b..bdbc92f 100644
--- a/docs/04_desarrollo_especifico.md
+++ b/docs/04_desarrollo_especifico.md
@@ -1,8 +1,8 @@
-# Capítulo 4: Desarrollo Específico de la Contribución
+# Desarrollo específico de la contribución
-Este capítulo presenta el desarrollo completo del estudio comparativo y la optimización de hiperparámetros de sistemas OCR. Se estructura según el tipo de trabajo "Comparativa de soluciones" establecido por las instrucciones de UNIR: planteamiento de la comparativa (4.1), desarrollo de la comparativa (4.2), y discusión y análisis de resultados (4.3).
+Este capítulo presenta el desarrollo completo del estudio comparativo y la optimización de hiperparámetros de sistemas OCR. Se estructura según el tipo de trabajo "Comparativa de soluciones" establecido por las instrucciones de UNIR: planteamiento de la comparativa, desarrollo de la comparativa, y discusión y análisis de resultados.
-## 4.1 Planteamiento de la Comparativa: Soluciones OCR
+## Planteamiento de la comparativa
### 4.1.1 Introducción
@@ -14,6 +14,8 @@ Esta sección presenta los resultados del estudio comparativo realizado entre tr
Se utilizó el documento "Instrucciones para la redacción y elaboración del TFE" del Máster Universitario en Inteligencia Artificial de UNIR, ubicado en la carpeta `instructions/`.
+**Tabla 3.** *Características del dataset de evaluación.*
+
| Característica | Valor |
|----------------|-------|
| Número de páginas evaluadas | 5 (páginas 1-5 en benchmark inicial) |
@@ -21,6 +23,8 @@ Se utilizó el documento "Instrucciones para la redacción y elaboración del TF
| Idioma | Español |
| Resolución de conversión | 300 DPI |
+*Fuente: Elaboración propia.*
+
#### Configuración de los Modelos
Según el código en `ocr_benchmark_notebook.ipynb`:
@@ -63,6 +67,8 @@ def evaluate_text(reference, prediction):
Del archivo `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`, se obtienen los siguientes resultados de PaddleOCR para las páginas 5-9 del documento:
+**Tabla 4.** *Resultados de PaddleOCR por página (benchmark inicial).*
+
| Página | WER | CER |
|--------|-----|-----|
| 5 | 12.16% | 6.33% |
@@ -71,6 +77,8 @@ Del archivo `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`, se
| 8 | 8.13% | 1.54% |
| 9 | 10.61% | 5.58% |
+*Fuente: `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`.*
+
**Promedio PaddleOCR (páginas 5-9):**
- CER medio: ~5.22%
- WER medio: ~10.95%
@@ -79,12 +87,16 @@ Del archivo `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`, se
Según la documentación del notebook `ocr_benchmark_notebook.ipynb`, los tres modelos evaluados representan diferentes paradigmas de OCR:
+**Tabla 5.** *Comparativa de arquitecturas OCR evaluadas.*
+
| Modelo | Tipo | Componentes | Fortalezas Clave |
|--------|------|-------------|------------------|
| **EasyOCR** | End-to-end (det + rec) | DB + CRNN/Transformer | Ligero, fácil de usar, multilingüe |
| **PaddleOCR (PP-OCR)** | End-to-end (det + rec + cls) | DB + SRN/CRNN | Soporte multilingüe robusto, pipeline configurable |
| **DocTR** | End-to-end (det + rec) | DB/LinkNet + CRNN/SAR/VitSTR | Orientado a investigación, API limpia |
+*Fuente: Documentación oficial de cada herramienta (JaidedAI, 2020; PaddlePaddle, 2024; Mindee, 2021).*
+
#### Ejemplo de Salida OCR
Del archivo CSV, un ejemplo de predicción de PaddleOCR para la página 8:
@@ -135,7 +147,7 @@ Esta sección ha presentado:
- `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`: Resultados numéricos
- Documentación oficial de PaddleOCR
-## 4.2 Desarrollo de la Comparativa: Optimización de Hiperparámetros
+## Desarrollo de la comparativa: Optimización de hiperparámetros
### 4.2.1 Introducción
@@ -147,6 +159,8 @@ Esta sección describe el proceso de optimización de hiperparámetros de Paddle
Según los outputs del notebook:
+**Tabla 6.** *Entorno de ejecución del experimento.*
+
| Componente | Versión/Especificación |
|------------|------------------------|
| Python | 3.11.9 |
@@ -155,6 +169,8 @@ Según los outputs del notebook:
| Ray | 2.52.1 |
| GPU | No disponible (CPU only) |
+*Fuente: Outputs del notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`.*
+
#### Dataset
Se utilizó un dataset estructurado en `src/dataset/` creado mediante el notebook `src/prepare_dataset.ipynb`:
@@ -219,6 +235,8 @@ tuner = tune.Tuner(
Del archivo CSV de resultados (`raytune_paddle_subproc_results_20251207_192320.csv`):
+**Tabla 7.** *Estadísticas descriptivas de los 64 trials de Ray Tune.*
+
| Estadística | CER | WER | Tiempo (s) | Tiempo/Página (s) |
|-------------|-----|-----|------------|-------------------|
| **count** | 64 | 64 | 64 | 64 |
@@ -230,6 +248,8 @@ Del archivo CSV de resultados (`raytune_paddle_subproc_results_20251207_192320.c
| **75%** | 4.03% | 13.20% | 350.14 | 69.93 |
| **max** | 51.61% | 59.45% | 368.57 | 73.63 |
+*Fuente: `src/raytune_paddle_subproc_results_20251207_192320.csv`.*
+
#### Mejor Configuración Encontrada
Según el análisis del notebook:
@@ -276,13 +296,17 @@ Correlación de Pearson entre parámetros y métricas de error (del notebook):
Según el análisis del notebook, este parámetro booleano tiene el mayor impacto:
+**Tabla 8.** *Impacto del parámetro textline_orientation en las métricas de error.*
+
| textline_orientation | CER Medio | WER Medio |
|---------------------|-----------|-----------|
| True | ~3.76% | ~12.73% |
| False | ~12.40% | ~21.71% |
-**Interpretación del notebook**:
-> "7x better CER with textline_orientation=True. And the variance is much tighter — more reliable results. For Spanish business documents with mixed layouts (tables, headers, addresses), orientation classification helps PaddleOCR correctly order text lines."
+*Fuente: Análisis del notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`.*
+
+**Interpretación**:
+El CER medio es ~3.3x menor con `textline_orientation=True` (3.76% vs 12.40%). Además, la varianza es mucho menor, lo que indica resultados más consistentes. Para documentos en español con layouts mixtos (tablas, encabezados, direcciones), la clasificación de orientación ayuda a PaddleOCR a ordenar correctamente las líneas de texto.
#### Análisis de Fallos
@@ -301,18 +325,26 @@ Ejemplo de trial con fallo catastrófico:
Del análisis final del notebook ejecutando sobre las 24 páginas:
+**Tabla 9.** *Comparación baseline vs configuración optimizada (24 páginas).*
+
| Modelo | CER | WER |
|--------|-----|-----|
| PaddleOCR (Baseline) | 7.78% | 14.94% |
| PaddleOCR-HyperAdjust | 1.49% | 7.62% |
+*Fuente: Ejecución final en notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`.*
+
#### Métricas de Mejora
+**Tabla 10.** *Análisis de la mejora obtenida.*
+
| Métrica | Baseline | Optimizado | Mejora Absoluta | Reducción Error |
|---------|----------|------------|-----------------|-----------------|
| CER | 7.78% | 1.49% | -6.29 pp | 80.9% |
| WER | 14.94% | 7.62% | -7.32 pp | 49.0% |
+*Fuente: Elaboración propia a partir de los resultados experimentales.*
+
#### Interpretación (del notebook)
> "La optimización de hiperparámetros mejoró la precisión de caracteres de 92.2% a 98.5%, una ganancia de 6.3 puntos porcentuales. Aunque el baseline ya ofrecía resultados aceptables, la configuración optimizada reduce los errores residuales en un 80.9%."
@@ -348,7 +380,7 @@ Esta sección ha presentado:
- `src/raytune_paddle_subproc_results_20251207_192320.csv`: Resultados de 64 trials
- `src/paddle_ocr_tuning.py`: Script de evaluación
-## 4.3 Discusión y Análisis de Resultados
+## Discusión y análisis de resultados
### 4.3.1 Introducción
diff --git a/docs/05_conclusiones_trabajo_futuro.md b/docs/05_conclusiones_trabajo_futuro.md
index 2dc3944..baffbaa 100644
--- a/docs/05_conclusiones_trabajo_futuro.md
+++ b/docs/05_conclusiones_trabajo_futuro.md
@@ -1,6 +1,8 @@
-# Capítulo 5: Conclusiones y Trabajo Futuro
+# Conclusiones y trabajo futuro
-## 5.1 Conclusiones
+Este capítulo resume las principales conclusiones del trabajo, evalúa el grado de cumplimiento de los objetivos planteados y propone líneas de trabajo futuro que permitirían ampliar y profundizar los resultados obtenidos.
+
+## Conclusiones
### 5.1.1 Conclusiones Generales
@@ -71,7 +73,7 @@ El objetivo principal del trabajo era alcanzar un CER inferior al 2% en document
5. **Parámetro no explorado**: `text_det_unclip_ratio` permaneció fijo en 0.0 durante todo el experimento.
-## 5.2 Líneas de Trabajo Futuro
+## Líneas de trabajo futuro
### 5.2.1 Extensiones Inmediatas
diff --git a/docs/06_referencias_bibliograficas.md b/docs/06_referencias_bibliograficas.md
index 6596bd4..953fff0 100644
--- a/docs/06_referencias_bibliograficas.md
+++ b/docs/06_referencias_bibliograficas.md
@@ -1,6 +1,4 @@
-# Referencias Bibliográficas
-
-## Referencias
+# Referencias bibliográficas {.unnumbered}
Akiba, T., Sano, S., Yanase, T., Ohta, T., & Koyama, M. (2019). Optuna: A next-generation hyperparameter optimization framework. *Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining*, 2623-2631. https://doi.org/10.1145/3292500.3330701
@@ -50,18 +48,3 @@ Zhou, X., Yao, C., Wen, H., Wang, Y., Zhou, S., He, W., & Liang, J. (2017). EAST
Zoph, B., & Le, Q. V. (2017). Neural architecture search with reinforcement learning. *International Conference on Learning Representations (ICLR)*. https://arxiv.org/abs/1611.01578
----
-
-## Herramientas y Bibliotecas Utilizadas
-
-- **PaddleOCR**: https://github.com/PaddlePaddle/PaddleOCR
-- **Ray Tune**: https://docs.ray.io/en/latest/tune/index.html
-- **Optuna**: https://optuna.org/
-- **PyMuPDF**: https://pymupdf.readthedocs.io/
-- **jiwer**: https://github.com/jitsi/jiwer
-
----
-
-## Repositorio del Proyecto
-
-- **GitHub**: https://seryus.ddns.net/unir/MastersThesis
diff --git a/docs/07_anexo_a.md b/docs/07_anexo_a.md
new file mode 100644
index 0000000..cb99fde
--- /dev/null
+++ b/docs/07_anexo_a.md
@@ -0,0 +1,54 @@
+# Anexo A. Código fuente y datos analizados {.unnumbered}
+
+## A.1 Repositorio del Proyecto
+
+El código fuente completo y los datos utilizados en este trabajo están disponibles en el siguiente repositorio:
+
+**URL del repositorio:** https://github.com/seryus/MastersThesis
+
+El repositorio incluye:
+
+- **Notebooks de experimentación**: Código completo de los experimentos realizados
+- **Scripts de evaluación**: Herramientas para evaluar modelos OCR
+- **Dataset**: Imágenes y textos de referencia utilizados
+- **Resultados**: Archivos CSV con los resultados de los 64 trials de Ray Tune
+
+## A.2 Estructura del Repositorio
+
+```
+MastersThesis/
+├── docs/ # Capítulos de la tesis en Markdown
+├── src/
+│ ├── paddle_ocr_fine_tune_unir_raytune.ipynb # Experimento principal
+│ ├── paddle_ocr_tuning.py # Script de evaluación CLI
+│ ├── dataset_manager.py # Clase ImageTextDataset
+│ ├── prepare_dataset.ipynb # Preparación del dataset
+│ └── raytune_paddle_subproc_results_*.csv # Resultados de 64 trials
+├── results/ # Resultados de benchmarks
+├── instructions/ # Instrucciones y plantilla UNIR
+└── README.md
+```
+
+## A.3 Requisitos de Software
+
+Para reproducir los experimentos se requieren las siguientes dependencias:
+
+| Componente | Versión |
+|------------|---------|
+| Python | 3.11.9 |
+| PaddlePaddle | 3.2.2 |
+| PaddleOCR | 3.3.2 |
+| Ray | 2.52.1 |
+| Optuna | 4.6.0 |
+| jiwer | (última versión) |
+| PyMuPDF | (última versión) |
+
+## A.4 Instrucciones de Ejecución
+
+1. Clonar el repositorio
+2. Instalar dependencias: `pip install -r requirements.txt`
+3. Ejecutar el notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`
+
+## A.5 Licencia
+
+El código se distribuye bajo licencia MIT.
diff --git a/instructions/plantilla_individual.docx b/instructions/plantilla_individual.docx
index a943efa..f5c2ef8 100644
Binary files a/instructions/plantilla_individual.docx and b/instructions/plantilla_individual.docx differ
diff --git a/instructions/plantilla_individual.htm b/instructions/plantilla_individual.htm
new file mode 100644
index 0000000..138698c
--- /dev/null
+++ b/instructions/plantilla_individual.htm
@@ -0,0 +1,6075 @@
+
+
+
En este
+apartado se introducir un breve resumen en espaol del trabajo realizado
+(extensin entre 150 y 300 palabras). Este resumen debe incluir el objetivo o
+propsito de la investigacin, la metodologa, los resultados y las
+conclusiones.
+
+
El resumen
+debe contener lo qu se ha pretendido realizar (objetivo o propsito de la
+investigacin), cmo se ha realizado (mtodo o proceso desarrollado) y para qu
+se ha realizado (resultados y conclusiones).
+
+
+
+
+
+
Importante: La extensin mnima en un TFE individual es de 50 pginas, sin contar
+portada, resumen, abstract, ndices y anexos.
En
+este apartado se introducir un breve resumen en ingls del trabajo
+realizado (extensin entre 150 y 300 palabras). Este resumen debe incluir el
+objetivo o propsito de la investigacin, la metodologa, los resultados y las
+conclusiones.
El primer captulo es siempre
+una introduccin. En ella debes resumir de forma esquemtica pero
+suficientemente clara lo esencial de cada una de las partes del trabajo. La
+lectura de este primer captulo ha de dar una primera idea clara de lo que se
+pretenda, las conclusiones a las que se ha llegado y del procedimiento
+seguido.
+
+
Como tal, es uno de los
+captulos ms importantes de la memoria. Las ideas
+principales a transmitir son la identificacin del problema a tratar, la
+justificacin de su importancia, los objetivos generales (a grandes rasgos) y
+un adelanto de la contribucin que esperas hacer.
+
+
Tpicamente una introduccin
+tiene tres apartados: Motivacin, Planteamiento del trabajo, Estructura del
+trabajo. (Texto Normal del men de estilos.)
En este apartado se deber
+presentar el problema de estudio al que se quiere dar solucin y justificar su
+importancia para la comunidad educativa y cientfica.
+
+
La lectura de este apartado
+debe dar una idea clara de las razones, motivos e intereses que han llevado a
+la eleccin de este tema. Recuerda que para poder justificar este trabajo debe
+haber referencias a la investigacin previa sobre el tema objeto de estudio,
+independientemente de que luego se profundice en otros apartados.
+
+
Las siguientes preguntas
+puedan ayudar a la redaccin de este apartado:
+
+
Cul es el problema que quieres tratar?
+
+
Cules crees que son las causas?
+
+
Por qu es relevante el problema?
+
+
+
+
A continuacin, se indica con
+un ejemplo cmo deben introducirse los ttulos y las fuentes en Tablas y Figuras.
+
+
+
+
Tabla 1. Ejemplo de tabla con sus principales
+elementos.
+
+
+
+
+
+
+
+
Fuente: American Psychological Association,
+2020a.
+
+
+
+
+
+
Figura 1. Ejemplo de figura realizada para nuestro
+trabajo.
Se debe plantear, de forma
+breve, el problema / necesidad detectada de la que se parte para proponer la
+propuesta y la finalidad del TFE. Los objetivos se van a plantear
+posteriormente, pero en este apartado debe quedar claro qu te planteas con la
+intervencin.
+
+
Es necesario que los temas
+escogidos tengan una vinculacin directa con la ingeniera de software, el
+desarrollo web y/o la ciberseguridad y, por tanto, el tema trabajado debe estar
+en consonancia con la titulacin.
+
+
Las siguientes preguntas
+puedan ayudar a la redaccin de este apartado:
+
+
Cmo se podra solucionar el problema?
+
+
+Qu es lo que se propone? Aqu
+describes tus objetivos en trminos generales.
Despus de la introduccin, se suele describir el contexto de
+aplicacin. Suele ser un captulo (o dos en ciertos casos) en el que se estudia
+a fondo el dominio de aplicacin, citando numerosas referencias. Debe aportar
+un buen resumen del conocimiento que ya existe en el campo de los problemas
+habituales identificados.
+
+
Es conveniente que revises los estudios actuales publicados en la lnea
+elegida, y debers consultar diferentes fuentes. No es suficiente con la
+consulta on-line, es necesario acudir a la biblioteca y consultar manuales
+tcnicos.
+
+
Hay que tener presente los autores de referencia en la temtica del
+trabajo de investigacin. Si se ha excluido a alguno de los relevantes hay que
+justificar adecuadamente su exclusin. Si por la extensin del trabajo no se
+puede sealar a todos los autores, habr que justificar por qu se han elegido
+unos y se ha prescindido de otros.
+
+
La organizacin especfica en
+secciones depender estrechamente el trabajo concreto que vayas a realizar. En
+este punto ser fundamental la colaboracin con tu DIRECTOR, l podr
+asesorarte y guiarte, aunque siempre debes tener claro que el trabajo fundamental
+es tuyo.
+
+
El captulo debera concluir
+con una ltima seccin de resumen de conclusiones, resumiendo las principales
+averiguaciones del estudio del dominio y cmo van a afectar al desarrollo
+especfico del trabajo.
+
+
Recuerda que para citar trabajos de diferentes autores es fundamental e
+imprescindible seguir el formato APA, segn se describe en
+el documento Normativa_APA.pdf disponible en el apartado de Documentacin del
+Aula de informacin general del Mster Universitario en Inteligencia Artificial
+(MIA). No se debe mencionar, ni utilizar ninguna fuente, sin citarla apropiadamente.
Este tercer captulo es el
+puente entre el estudio del dominio y la contribucin a realizar. Segn el
+trabajo concreto, el bloque se puede organizar de distintas formas, pero hay
+tres elementos que deben estar presentes con mayor o menor detalle: (1) objetivo
+general, (2) objetivos especficos y (3) metodologa de trabajo.
+
+
Es muy importante, por no
+decir imprescindible, que los objetivos (general y especficos) sean SMART
+(Doran, 1981) segn la idea de George T. Doran que utiliz la palabra smart (inteligente en ingls) para definir las
+caractersticas de un objetivo:
+
+
S: Specific / Especfico: que
+exprese claramente qu es exactamente
+lo que se quiere conseguir.
+
+
M: Measurable / Medible: que se
+puedan establecer medidas que determinen el xito o fracaso y tambin el
+progreso en la consecucin del objetivo.
+
+
A: Attainable / Alcanzable: que
+sea viable su consecucin en base al esfuerzo, tiempo y recursos disponibles
+para conseguirlo.
+
+
R: Relevant / Relevante: que
+tenga un impacto demostrable, es decir que sea til para un propsito concreto.
+
+
T: Time-Related / Con un tiempo
+determinado: que se pueda llevar a cabo en una fecha determinada.
Los trabajos aplicados se
+centran en conseguir un impacto concreto, demostrando la efectividad de una
+tecnologa, proponiendo una nueva metodologa o aportando nuevas herramientas
+tecnolgicas. El objetivo por tanto no debe ser sin ms crear una herramienta
+o proponer una metodologa, sino que debe centrarse en conseguir un efecto
+observable. Adems, como se ha dicho antes el objetivo general debe ser SMART
+
+
Ejemplo de objetivo general
+SMART: Mejorar el servicio de audio gua de un museo convirtindolo en una gua
+interactiva controlada por voz y valorada positivamente, un mnimo 4 sobre 5,
+por los visitantes del museo.
+
+
Este objetivo descrito
+anteriormente podra dar lugar a un trabajo de tipo 2 (desarrollo de software)
+que plantease el desarrollo de un bot conversacional
+que procesara la seal de voz recogida a travs del micrfono y a travs de
+tcnicas de procesamiento del lenguaje natural fuera capaz de mantener una
+conversacin con el visitante para determinar el contenido en el que est
+interesado o resolver las posibles dudas o preguntas que pudiera tener a lo
+largo de su visita.
Independientemente del tipo de
+trabajo, la hiptesis o el objetivo general tpicamente se dividirn en un
+conjunto de objetivos ms especficos analizables por separado. Estos objetivos
+especficos suelen ser explicaciones de los diferentes pasos o tareas a seguir
+en la consecucin del objetivo general.
+
+
Con los objetivos especficos
+has de concretar qu pretendes conseguir. Estos objetivos que deben ser SMART
+se formulan con un verbo en infinitivo ms el contenido del objeto de estudio.
+Se suelen usar vietas para cada uno de los objetivos. Se pueden utilizar
+frmulas verbales, como las siguientes:
+
+
+
Analizar
+
Calcular
+
Clasificar
+
Comparar
+
Conocer
+
Cuantificar
+
Desarrollar
+
Describir
+
Descubrir
+
Determinar
+
Establecer
+
Explorar
+
Identificar
+
Indagar
+
Medir
+
Sintetizar
+
Verificar
+
+
+
Los objetivos especficos
+suelen ser alrededor de 5. Normalmente uno o dos sobre el marco terico o
+estado del arte y dos o tres sobre el desarrollo especfico de la contribucin.
+
+
En un trabajo como el anterior
+se incluiran objetivos especficos tales como:
+
+
+
Identificar
+ las tecnologas disponibles para crear un chatbot
+
+
+
+
Explorar
+ recursos lingsticos online que describan el dominio de los muesos en
+ espaol
+
Disear
+ e implementar el mdulo de gestin del dialogo
+
Evaluar
+ el agente conversacional con 10 visitantes del museo.
De cara a alcanzar los objetivos especficos (y con ellos el objetivo
+general o la validacin/refutacin de la hiptesis), ser necesario realizar
+una serie de pasos. La metodologa del trabajo debe describir qu pasos se van
+a dar, el porqu de cada paso, qu instrumentos se van a utilizar, cmo se van
+a analizar los resultados, etc.
En el captulo de Objetivos y Metodologa del Trabajo ya habrs
+descrito a grandes rasgos la metodologa experimental que vas a seguir. Pero si
+tu trabajo se centra en describir un piloto, debers dedicar un captulo a
+describir con todo detalle las caractersticas del piloto. Como mnimo querrs
+mencionar:
+
+
+Qu tecnologas se utilizaron
+(incluyendo justificacin de por qu se emplearon y descripciones detalladas de
+las mismas).
+
+
+Cmo se organiz el piloto
+
+
+Qu personas participaron (con
+datos demogrficos)
+
+
+Qu tcnicas de evaluacin
+automtica se emplearon.
+
+
+Cmo transcurri el experimento.
+
+
+Qu instrumentos de seguimiento y
+evaluacin se utilizaron.
+
+
+Qu tipo de anlisis estadsticos
+se ha empleado (si procede).
+
+
+
+
Captulo 5 - Descripcin de
+los resultados
+
+
En el siguiente captulo debers detallar los resultados obtenidos, con
+tablas de resumen, grficas de resultados, identificacin de datos relevantes,
+etc. Es una exposicin objetiva, sin valorar los resultados ni justificarlos.
+
+
+
+
Captulo 6 - Discusin
+
+
Tras la presentacin objetiva de los resultados, querrs aportar una
+discusin de los mismos. En este captulo puedes
+discutir la relevancia de los resultados, presentar posibles explicaciones para
+los datos anmalos y resaltar aquellos datos que sean particularmente
+relevantes para el anlisis del experimento.
+
+
+
+
Tipo 2. Desarrollo de
+software
+
+
+
+
En un trabajo de desarrollo de software es importante justificar los
+criterios de diseo seguidos para desarrollar el programa, seguido de la
+descripcin detallada del producto resultante y finalmente una evaluacin de la
+calidad y aplicabilidad del producto. Esto suele verse reflejado en la
+siguiente estructura de captulos:
+
+
+
+
Captulo 4 - Identificacin
+de requisitos
+
+
En este captulo se debe indicar el trabajo previo realizado para guiar
+el desarrollo del software. Esto debera incluir la identificacin adecuada del
+problema a tratar, as como del contexto habitual de uso o funcionamiento de la
+aplicacin. Idealmente, la identificacin de requisitos se debera hacer
+contando con expertos en la materia a tratar.
+
+
+
+
Captulo 5 - Descripcin de
+la herramienta software desarrollada
+
+
En el caso de desarrollos de
+software, deberan aportarse detalles del proceso de desarrollo, incluyendo
+las fases e hitos del proceso. Tambin deben presentarse diagramas explicativos
+de la arquitectura o funcionamiento, as como capturas de pantalla que permitan
+al lector entender el funcionamiento del programa.
+
+
+
+
Captulo 6 - Evaluacin
+
+
La evaluacin debera cubrir por lo menos una mnima evaluacin de la
+usabilidad de la herramienta, as como de su aplicabilidad para resolver el
+problema propuesto. Estas evaluaciones suelen realizarse con usuarios expertos.
+
+
+
+
Tipo 3. Comparativa de
+soluciones
+
+
+
+
+
+
Este tipo de trabajos suelen
+seguir la estructura tpica de un estudio comparativo, parten de plantear la
+comparativa a realizar, describen el desarrollo de la misma
+y analizan los resultados.
+
+
+
+
Captulo 4 - Planteamiento de la comparativa
+
+
En este captulo se debe
+indicar el trabajo previo realizado para identificar el problema concreto a
+tratar, as como las posibles soluciones alternativas que se van a evaluar.
+Tambin se deben identificar los criterios de xito para la comparativa, las medidas
+que se van a tomar, etc.
+
+
+
+
Captulo 5 - Desarrollo de la comparativa
+
+
En este captulo se debera
+desarrollar con todo detalle la comparativa realizada, con todos los resultados
+y mediciones obtenidos. Puede ser til acompaar las descripciones con
+grficas, tablas y otros instrumentos para plasmar los datos obtenidos.
+
+
+
+
Captulo 6 - Discusin y anlisis de resultados
+
+
Mientras que el captulo
+anterior se centrara en informar de los resultados y comparaciones obtenidos,
+en este captulo se abordar la discusin sobre su posible significado, as
+como el anlisis de las ventajas y desventajas de las distintas soluciones
+evaluadas.
+
+
+
+
En
+el captulo de Objetivos y Metodologa del Trabajo ya habrs descrito a grandes
+rasgos la metodologa experimental que vas a seguir. Pero si tu trabajo se
+centra en describir un piloto, debers dedicar un captulo a describir con todo
+detalle las caractersticas del piloto. Como mnimo querrs mencionar:
+
+
Qué tecnologas se utilizaron
+(incluyendo justificacin de por qué se emplearon y descripciones
+detalladas de las mismas).
+
+
Cmo se organiz el piloto
+
+
Qué personas participaron (con
+datos demogrficos)
+
+
Qué tcnicas de evaluacin
+automtica se emplearon.
+
+
Cmo transcurrí el experimento.
+
+
Qué instrumentos de seguimiento y
+evaluacin se utilizaron.
+
+
+Qué
+tipo de anlisis estadsticos se ha empleado (si procede).
Este ltimo captulo (en ocasiones,
+dos captulos complementarios) es habitual en todos los tipos de trabajos y presenta
+el resumen final de tu trabajo y debe servir para informar del alcance y
+relevancia de tu aportacin.
+
+
Suele estructurarse empezando con un
+resumen del problema tratado, de cmo se ha abordado y de por qu la solucin
+sera vlida.
+
+
Es
+recomendable que incluya tambin un resumen de las contribuciones del trabajo,
+en el que relaciones las contribuciones y los resultados obtenidos con los
+objetivos que habas planteado para el trabajo, discutiendo hasta qu punto has
+conseguido resolver los objetivos planteados.
Finalmente, se suele dedicar una ltima seccin a hablar de lneas de
+trabajo futuro que podran aportar valor aadido al TFE realizado. La seccin
+debera sealar las perspectivas de futuro que abre el trabajo desarrollado
+para el campo de estudio definido. En el fondo, debes justificar de qu modo
+puede emplearse la aportacin que has desarrollado y en qu campos.
Segn la normativa APA debe ponerse
+con sangra francesa y debe estar ordenado por orden alfabtico segn el
+apellido del primer autor.
+
+
Toda la bibliografa que aparezca en
+este apartado debe estar citada en el trabajo. La mayor parte de las citas
+deben aparecer en el captulo 2, que es donde se realiza el estudio del estado
+del arte. Adems, se recomienda evitar citas que hagan referencia a Wikipedia y
+que no todas las referencias sean solo enlaces de internet, es decir, que se
+vea alguna variabilidad entre libros, congresos, artculos y enlaces puntuales
+de internet.
+
+
Se recomienda encarecidamente
+utilizar el gestor de bibliografa de Word para gestionar la bibliografa.
+
+
Ejemplo:
+
+
Doran, G. T.
+(1981). There's a S.M.A.R.T. way to write management's goals and objectives. Management Review (AMA FORUM), 70, 35-36.
Es recomendable que el estudiante incluya en
+su memoria la URL del repositorio donde tiene alojado el cdigo fuente
+desarrollado durante el TFE. El estudiante debe ser el nico autor del cdigo y
+nico propietario del repositorio. En el repositorio no debe haber commit de ningn otro usuario del repositorio.
+
+
De igual forma, los datos que hayan utilizado
+para el anlisis, siempre que as se considere oportuno, tambin deberan estn
+alojamos en el mismo repositorio.
+
+
Si el TFE est asociado a una actividad o
+proyecto de Empresa, se debe justificar en la memoria que, por temas de
+confidencialidad, no se deja disponible ni el cdigo fuente ni los datos
+utilizados.
+
+
+
+
diff --git a/instructions/plantilla_individual.xml b/instructions/plantilla_individual.xml
new file mode 100644
index 0000000..b3d19a5
--- /dev/null
+++ b/instructions/plantilla_individual.xml
@@ -0,0 +1,1100 @@
+
+
+Universidad Internacional de La RiojaEscuela Superior de Ingeniería yTecnologíaMáster Universitario en Inteligencia artificialOptimización de Hiperparámetros OCR con Ray Tune para Documentos Académicos en EspañolTrabajo fin de estudio presentado por:Sergio Jiménez JiménezTipo de trabajo:Desarrollo SoftwareDirector/a:Javier Rodrigo Villazón TerrazasFecha:06.10.2025Resumen En este apartado se introducirá un breve resumen en español del trabajo realizado (extensión entre 150 y 300 palabras). Este resumen debe incluir el objetivo o propósito de la investigación, la metodología, los resultados y las conclusiones.El resumen debe contener lo qué se ha pretendido realizar (objetivo o propósito de la investigación), cómo se ha realizado (método o proceso desarrollado) y para qué se ha realizado (resultados y conclusiones).Importante: La extensión mínima en un TFE individual es de 50 páginas, sin contar portada, resumen, abstract, índices y anexos.Palabras clave: (De 3 a 5 palabras)Descriptores del trabajo que lo enmarcan en unas temáticas determinadas. Serán los utilizados para localizar tu trabajo si llega a ser publicado.AbstractEn este apartado se introducirá un breve resumen en inglés del trabajo realizado (extensión entre 150 y 300 palabras). Este resumen debe incluir el objetivo o propósito de la investigación, la metodología, los resultados y las conclusiones.Keywords: (De 3 a 5 palabras en inglés)Índice de contenidos TOC \o "1-3" \h \z \u 1.Introducción PAGEREF _Toc160619805 \h 11.1.Motivación PAGEREF _Toc160619806 \h 11.2.Planteamiento del trabajo PAGEREF _Toc160619807 \h 31.3.Estructura del trabajo PAGEREF _Toc160619808 \h 32.Contexto y estado del arte PAGEREF _Toc160619809 \h 42.1.Contexto del problema PAGEREF _Toc160619810 \h 42.2.Estado del arte PAGEREF _Toc160619811 \h 42.3.Conclusiones PAGEREF _Toc160619812 \h 53.Objetivos concretos y metodología de trabajo PAGEREF _Toc160619813 \h 63.1.Objetivo general PAGEREF _Toc160619814 \h 63.2.Objetivos específicos PAGEREF _Toc160619815 \h 73.3.Metodología del trabajo PAGEREF _Toc160619816 \h 84.Desarrollo específico de la contribución PAGEREF _Toc160619817 \h 95.Conclusiones y trabajo futuro PAGEREF _Toc160619818 \h 135.1.Conclusiones PAGEREF _Toc160619819 \h 135.2.Líneas de trabajo futuro PAGEREF _Toc160619820 \h 13Referencias bibliográficas PAGEREF _Toc160619821 \h 14Anexo A.Código fuente y datos analizados PAGEREF _Toc160619822 \h 15Índice de figuras TOC \f c \h \z \t "Título 9;1;Figuras;1" \c "Figura" Figura 1. Ejemplo de figura realizada para nuestro trabajo. PAGEREF _Toc155946760 \h 2Índice de tablas TOC \h \z \t "Tablas;1" \c "Tabla" Tabla 1. Ejemplo de tabla con sus principales elementos. PAGEREF _Toc158282432 \h 2IntroducciónEl primer capítulo es siempre una introducción. En ella debes resumir de forma esquemática pero suficientemente clara lo esencial de cada una de las partes del trabajo. La lectura de este primer capítulo ha de dar una primera idea clara de lo que se pretendía, las conclusiones a las que se ha llegado y del procedimiento seguido.Como tal, es uno de los capítulos más importantes de la memoria. Las ideas principales a transmitir son la identificación del problema a tratar, la justificación de su importancia, los objetivos generales (a grandes rasgos) y un adelanto de la contribución que esperas hacer.Típicamente una introducción tiene tres apartados: Motivación, Planteamiento del trabajo, Estructura del trabajo. (Texto Normal del menú de estilos.)Ejemplo de nota al pie.MotivaciónEn este apartado se deberá presentar el problema de estudio al que se quiere dar solución y justificar su importancia para la comunidad educativa y científica. La lectura de este apartado debe dar una idea clara de las razones, motivos e intereses que han llevado a la elección de este tema. Recuerda que para poder justificar este trabajo debe haber referencias a la investigación previa sobre el tema objeto de estudio, independientemente de que luego se profundice en otros apartados.Las siguientes preguntas puedan ayudar a la redacción de este apartado:¿Cuál es el problema que quieres tratar?¿Cuáles crees que son las causas?¿Por qué es relevante el problema?A continuación, se indica con un ejemplo cómo deben introducirse los títulos y las fuentes en Tablas y Figuras.Tabla SEQ Tabla \* ARABIC 1. Ejemplo de tabla con sus principales elementos.Fuente: American Psychological Association, 2020a. Figura SEQ Figura \* ARABIC 1. Ejemplo de figura realizada para nuestro trabajo.Fuente: American Psychological Association, 2020b.Planteamiento del trabajoSe debe plantear, de forma breve, el problema / necesidad detectada de la que se parte para proponer la propuesta y la finalidad del TFE. Los objetivos se van a plantear posteriormente, pero en este apartado debe quedar claro qué te planteas con la intervención.Es necesario que los temas escogidos tengan una vinculación directa con la ingeniería de software, el desarrollo web y/o la ciberseguridad y, por tanto, el tema trabajado debe estar en consonancia con la titulación.Las siguientes preguntas puedan ayudar a la redacción de este apartado:¿Cómo se podría solucionar el problema?¿Qué es lo que se propone? Aquí describes tus objetivos en términos generales.Estructura del trabajoAquí describes brevemente lo que vas a contar en cada uno de los capítulos siguientes.Contexto y estado del arteDespués de la introducción, se suele describir el contexto de aplicación. Suele ser un capítulo (o dos en ciertos casos) en el que se estudia a fondo el dominio de aplicación, citando numerosas referencias. Debe aportar un buen resumen del conocimiento que ya existe en el campo de los problemas habituales identificados.Es conveniente que revises los estudios actuales publicados en la línea elegida, y deberás consultar diferentes fuentes. No es suficiente con la consulta on-line, esnecesario acudir a la biblioteca y consultar manuales técnicos.Hay que tener presente los autores de referencia en la temática del trabajo de investigación. Si se ha excluido a alguno de los relevantes hay que justificar adecuadamente su exclusión. Si por la extensión del trabajo no se puede señalar a todos los autores, habrá que justificar por qué se han elegido unos y se ha prescindido de otros. La organización específica en secciones dependerá estrechamente el trabajo concreto que vayas a realizar. En este punto será fundamental la colaboración con tu DIRECTOR, él podrá asesorarte y guiarte, aunque siempre debes tener claro que el trabajo fundamental es tuyo.El capítulo debería concluir con una última sección de resumen de conclusiones, resumiendo las principales averiguaciones del estudio del dominio y cómo van a afectar al desarrollo específico del trabajo.Recuerda que para citar trabajos de diferentes autores es fundamental e imprescindible seguir el formato APA, según se describe en el documento Normativa_APA.pdf disponible en el apartado de Documentación del Aula de información general del Máster Universitario en Inteligencia Artificial (MIA). No se debe mencionar, ni utilizar ninguna fuente, sin citarla apropiadamente.Contexto del problemaEstado del arteEstado del arte (base teórica): antecedentes, estudios actuales, comparativa de herramientas existentes, etc.ConclusionesConclusiones (nexo de unión de lo investigado con el trabajo a realizar).Objetivos concretos y metodología de trabajoEste tercer capítulo es el puente entre el estudio del dominio y la contribución a realizar. Según el trabajo concreto, el bloque se puede organizar de distintas formas, pero hay tres elementos que deben estar presentes con mayor o menor detalle: (1) objetivo general, (2) objetivos específicos y (3) metodología de trabajo.Es muy importante, por no decir imprescindible, que los objetivos (general y específicos) sean SMART (Doran, 1981) según la idea de George T. Doran que utilizó la palabra smart (inteligente en inglés) para definir las características de un objetivo: •S: Specific / Específico: que exprese claramente qué es exactamente lo que se quiere conseguir.•M: Measurable / Medible: que se puedan establecer medidas que determinen el éxito o fracaso y también el progreso en la consecución del objetivo. •A: Attainable / Alcanzable: que sea viable su consecución en base al esfuerzo, tiempo y recursos disponibles para conseguirlo. •R: Relevant / Relevante: que tenga un impacto demostrable, es decir que sea útil para un propósito concreto.•T: Time-Related / Con un tiempo determinado: que se pueda llevar a cabo en una fecha determinada.Objetivo generalLos trabajos aplicados se centran en conseguir un impacto concreto, demostrando la efectividad de una tecnología, proponiendo una nueva metodología o aportando nuevas herramientas tecnológicas. El objetivo por tanto no debe ser sin más “crear una herramienta” o “proponer una metodología”, sino que debe centrarse en conseguir un efecto observable. Además, como se ha dicho antes el objetivo general debe ser SMARTEjemplo de objetivo general SMART: Mejorar el servicio de audio guía de un museo convirtiéndolo en una guía interactiva controlada por voz y valorada positivamente, un mínimo 4 sobre 5, por los visitantes del museo.Este objetivo descrito anteriormente podría dar lugar a un trabajo de tipo 2 (desarrollo de software) que plantease el desarrollo de un bot conversacional que procesara la señal de voz recogida a través del micrófono y a través de técnicas de procesamiento del lenguaje natural fuera capaz de mantener una conversación con el visitante para determinar el contenido en el que está interesado o resolver las posibles dudas o preguntas que pudiera tener a lo largo de su visita.Objetivos específicosIndependientemente del tipo de trabajo, la hipótesis o el objetivo general típicamente se dividirán en un conjunto de objetivos más específicos analizables por separado. Estos objetivos específicos suelen ser explicaciones de los diferentes pasos o tareas a seguir en la consecución del objetivo general.Con los objetivos específicos has de concretar qué pretendes conseguir. Estos objetivos que deben ser SMART se formulan con un verbo en infinitivo más el contenido del objeto de estudio. Se suelen usar viñetas para cada uno de los objetivos. Se pueden utilizar fórmulas verbales, como las siguientes:AnalizarCalcularClasificarCompararConocerCuantificarDesarrollarDescribirDescubrirDeterminarEstablecerExplorarIdentificarIndagarMedirSintetizarVerificarLos objetivos específicos suelen ser alrededor de 5. Normalmente uno o dos sobre el marco teórico o estado del arte y dos o tres sobre el desarrollo específico de la contribución.En un trabajo como el anterior se incluirían objetivos específicos tales como: Identificar las tecnologías disponibles para crear un chatbotExplorar recursos lingüísticos online que describan el dominio de los muesos en españolDiseñar e implementar el módulo de gestión del dialogoEvaluar el agente conversacional con 10 visitantes del museo.Metodología del trabajoDe cara a alcanzar los objetivos específicos (y con ellos el objetivo general o lavalidación/refutación de la hipótesis), será necesario realizar una serie de pasos. Lametodología del trabajo debe describir qué pasos se van a dar, el porqué de cada paso,qué instrumentos se van a utilizar, cómo se van a analizar los resultados, etc.Desarrollo específico de la contribuciónEn este apartado debes desarrollar la descripción de tu contribución. Es muy dependiente del tipo de trabajo concreto, y puedes contar con la ayuda de tu director para estudiar cómo comunicar los detalles de tu contribución. A continuación, te presentamos la estructura habitual para cada uno de los tipos de trabajo, aunque suele ser común desarrollar los apartados en función de las fases o actividades que se hayan establecido en la metodología de trabajo.Tipo 1. Piloto experimentalEste tipo de trabajos suelen seguir la estructura típica al describir experimentos científicos, dividida en descripción del experimento, presentación de los resultados y discusión de los resultados. Capítulo 4 - Descripción detallada del experimentoEn el capítulo de Objetivos y Metodología del Trabajo ya habrás descrito a grandes rasgos la metodología experimental que vas a seguir. Pero si tu trabajo se centra en describir un piloto, deberás dedicar un capítulo a describir con todo detalle las características del piloto. Como mínimo querrás mencionar:Qué tecnologías se utilizaron (incluyendo justificación de por qué se emplearon y descripciones detalladas de las mismas).Cómo se organizó el pilotoQué personas participaron (con datos demográficos) Qué técnicas de evaluación automática se emplearon.Cómo transcurrió el experimento.Qué instrumentos de seguimiento y evaluación se utilizaron.Qué tipo de análisis estadísticos se ha empleado (si procede).Capítulo 5 - Descripción de los resultadosEn el siguiente capítulo deberás detallar los resultados obtenidos, con tablas de resumen, gráficas de resultados, identificación de datos relevantes, etc. Es una exposición objetiva, sin valorar los resultados ni justificarlos.Capítulo 6 - DiscusiónTras la presentación objetiva de los resultados, querrás aportar una discusión de los mismos. En este capítulo puedes discutir la relevancia de los resultados, presentar posibles explicaciones para los datos anómalos y resaltar aquellos datos que sean particularmente relevantes para el análisis del experimento.Tipo 2. Desarrollo de softwareEn un trabajo de desarrollo de software es importante justificar los criterios de diseño seguidos para desarrollar el programa, seguido de la descripción detallada del producto resultante y finalmente una evaluación de la calidad y aplicabilidad del producto. Esto suele verse reflejado en la siguiente estructura de capítulos:Capítulo 4 - Identificación de requisitosEn este capítulo se debe indicar el trabajo previo realizado para guiar el desarrollo del software. Esto debería incluir la identificación adecuada del problema a tratar, así como del contexto habitual de uso o funcionamiento de la aplicación. Idealmente, la identificación de requisitos se debería hacer contando con expertos en la materia a tratar.Capítulo 5 - Descripción de la herramienta software desarrolladaEn el caso de desarrollos de software, deberían aportarse detalles del proceso de desarrollo, incluyendo las fases e hitos del proceso. También deben presentarse diagramas explicativos de la arquitectura o funcionamiento, así como capturas de pantalla que permitan al lector entender el funcionamiento del programa.Capítulo 6 - EvaluaciónLa evaluación debería cubrir por lo menos una mínima evaluación de la usabilidad de la herramienta, así como de su aplicabilidad para resolver el problema propuesto. Estas evaluaciones suelen realizarse con usuarios expertos.Tipo 3. Comparativa de solucionesEste tipo de trabajos suelen seguir la estructura típica de un estudio comparativo, parten de plantear la comparativa a realizar, describen el desarrollo de la misma y analizan los resultados. Capítulo 4 - Planteamiento de la comparativaEn este capítulo se debe indicar el trabajo previo realizado para identificar el problema concreto a tratar, así como las posibles soluciones alternativas que se van a evaluar. También se deben identificar los criterios de éxito para la comparativa, las medidas que se van a tomar, etc. Capítulo 5 - Desarrollo de la comparativaEn este capítulo se debería desarrollar con todo detalle la comparativa realizada, con todos los resultados y mediciones obtenidos. Puede ser útil acompañar las descripciones con gráficas, tablas y otros instrumentos para plasmar los datos obtenidos.Capítulo 6 - Discusión y análisis de resultadosMientras que el capítulo anterior se centraría en informar de los resultados y comparaciones obtenidos, en este capítulo se abordará la discusión sobre su posible significado, así como el análisis de las ventajas y desventajas de las distintas soluciones evaluadas.En el capítulo de Objetivos y Metodología del Trabajo ya habrás descrito a grandes rasgos la metodología experimental que vas a seguir. Pero si tu trabajo se centra en describir un piloto, deberás dedicar un capítulo a describir con todo detalle las características del piloto. Como mínimo querrás mencionar:Qué tecnologías se utilizaron (incluyendo justificación de por qué se emplearon y descripciones detalladas de las mismas).Cómo se organizó el pilotoQué personas participaron (con datos demográficos)Qué técnicas de evaluación automática se emplearon.Cómo transcurrió́ el experimento.Qué instrumentos de seguimiento y evaluación se utilizaron. Qué tipo de análisis estadísticos se ha empleado (si procede).. Conclusiones y trabajo futuroConclusionesEste último capítulo (en ocasiones, dos capítulos complementarios) es habitual entodos los tipos de trabajos y presenta el resumen final de tu trabajo y debe servir para informar del alcance y relevancia de tu aportación.Suele estructurarse empezando con un resumen del problema tratado, de cómo se ha abordado y de por qué la solución sería válida. Es recomendable que incluya también un resumen de las contribuciones del trabajo, en el que relaciones las contribuciones y los resultados obtenidos con los objetivos que habías planteado para el trabajo, discutiendo hasta qué punto has conseguido resolver los objetivos planteados.Líneas de trabajo futuroFinalmente, se suele dedicar una última sección a hablar de líneas de trabajo futuro que podrían aportar valor añadido al TFE realizado. La sección debería señalar las perspectivas de futuro que abre el trabajo desarrollado para el campo de estudio definido. En el fondo, debes justificar de qué modo puede emplearse la aportación que has desarrollado y en qué campos.Referencias bibliográficasSegún la normativa APAdebe ponerse con sangría francesa y debe estar ordenado por orden alfabético según el apellido del primer autor.Toda la bibliografía que aparezca en este apartado debe estar citada en el trabajo. La mayor parte de las citas deben aparecer en el capítulo 2, que es donde se realiza el estudio del estado del arte. Además, se recomienda evitar citas que hagan referencia a Wikipedia y que no todas las referencias sean solo enlaces de internet, es decir, que se vea alguna variabilidad entre libros, congresos, artículos y enlaces puntuales de internet.Se recomienda encarecidamente utilizar el gestor de bibliografía de Word para gestionar la bibliografía.Ejemplo: BIBLIOGRAPHY \l 3082 Doran, G. T. (1981). There's a S.M.A.R.T. way to write management's goals and objectives. Management Review (AMA FORUM), 70, 35-36.Código fuente y datos analizadosEs recomendable que el estudiante incluya en su memoria la URL del repositorio donde tiene alojado el código fuente desarrollado durante el TFE. El estudiante debe ser el único autor del código y único propietario del repositorio. En el repositorio no debe haber commit de ningún otro usuario del repositorio.De igual forma, los datos que hayan utilizado para el análisis, siempre que así se considere oportuno, también deberían están alojamos en el mismo repositorio.Si el TFE está asociado a una actividad o proyecto de Empresa, se debe justificar en la memoria que, por temas de confidencialidad, no se deja disponible ni el código fuente ni los datos utilizados. Ejemplo de nota al pie. PAGE \* MERGEFORMAT13Sergio Jiménez JiménezOptimización de Hiperparámetros OCR con Ray Tune para Documentos Académicos en Españ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
+BRreft1YTfH6oXBZ6Vx5j5QfnZKmNb/6j4IZSIh2iwfC5a/rbk3TykeBsKh+UjvxGuEGrc3Yp/3a
+3AgE2ahr2w613w3bLzTtrZ+6vU9uBj/5L9vc0bXnrYH/UIbL6DuqOD7+SF64bPbDrYT2j1DedU/r
+mlbq/PAfBvaA2387/Twe91olVMW5Cn/8y7bYsY0v/u8DO3bO6wAAgCcl83ApI9Ek/M0gcmQw9IzZ
+nRfj7mm3L55ROY7E1FFCt7j3wOf1Jvt/tUS49Npcx+2UgmrLHDfBnht6Qmuc/LSxT5gq+O5Jn9x7
+F9345j0IbciY2vxxdo9uTqLQNob+ZPBeZfdwNk2XumOXfB0AAPCYPVjLZXK6EhHm3Tj9hFPR2J8L
+l3K06MZ0hKXckMkoTPU65fpBqxX6z6htpSfpm6H5tqzGIWr6s6pxavfnhkv1eaqfvKckhku1Cbrh
+tW4mhkvna6s6Xv6p/Loz+J4aLn/dWMaWeKa+/t9G+7g3+BlqbXQvzcZL/+Ov/9foXfVTd+zM1wEA
+AE/Kg425TE5XIv08YLgMtJtGpvKo1ykUX5RK8f8Ox/3YIaPujq6t1drntiNcDboHVTlx5w+HS/eb
+UdT00rvucCTeVY6VFAFRvG1yuFScy7552PCm4xR2u37D7c9uVRcP29aV/Pj2Rbf1X/nx03askPw6
+AADgick8XC46W1ylt5RucS873ne3uDSe1hOayiOoTvxlJqmoV56MUPRMc3NauPztbnH5kxfTjy1d
+hbYx/idTavqU947q40WuEKzmzHA5FXgdAADw1PyBcDlZ5/I0Fi/UOpe1I7WGt5rQo0cmgqgJPeP2
+Qqf3WteeN0MTepx+bEJPluHSn9bzpi4z5njejKQ+bWgmu+SORuEfTIy6VU2rn84Ol+GpSMkTekLT
+dRIm9ISTohz++CK8Rnp6uHQvB3ZgYSP5Af7SNj7I9x99kh+/F9zz6eFyxusAAICn5k+ESyHxDj2y
+X1h/1RqMI4uISuJJ4aWI9NL7mUsRvaxWX9w9XA4+bGh61bwcDc/VjSjj4dLv1hfqk/v6eLxP6y8M
+JD7MqWlsF7St1mR1njCVjPWycSI3377omXtl+brhcFndLc9eiqi0Uy3PXoooHC69ZuPJLrVO2rVN
+uTFJ4dI2t3W1WJL8ALLj/r14+aKf7K97dfllGf6SRqdm85X8+Ek7dubrAACAJ+YPhUspem/x7Xr7
+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
+fnJycpycnO7u7sDAwG5ubq6ursPDw4qKioiIiOjo6Hx8fNjY2PPz86ioqI6Ojvj4+Ovr6+Xl5fT0
+9P39/ff398LCwouLi3h4eMvLy/b29ufn57u7u3BwcEJCQlZWVpeXl+Hh4e3t7bCwsExMTBwcHK2t
+raenpzc3NxAQED4+Puzs7PLy8mNjY1RUVBsbGwMDAxcXFzg4OFFRUWBgYHFxcZWVlb29vdXV1YaG
+hri4uDExMTY2NpGRkYyMjHV1dVdXV4WFhaOjo9nZ2fHx8ePj49/f36GhoVhYWFpaWp6entbW1uLi
+4tDQ0G1tbV5eXpSUlNra2sfHx/r6+vz8/L+/v29vb8HBwZqamnd3d7q6umJiYtPT0/v7+9zc3EhI
+SIODg+Dg4GhoaEpKSk1NTXR0dKurq0VFRXt7e9fX16KiosjIyI+Pj1xcXNTU1KqqqkNDQ3Nzc2lp
+adHR0eTk5Gpqak9PT2VlZZiYmMnJyQYGBg0NDUdHR+np6WZmZpaWlmRkZGtra39/f1JSUlVVVdLS
+0rOzs7S0tIeHh05OTl1dXRISEh4eHs7Oztvb21lZWa+vr5mZmc3Nzebm5h0dHampqcrKyn19fcbG
+xltbW6ysrJKSkktLSzw8PFNTU52dnS0tLYCAgI2NjSMjI/X19TAwMEBAQO/v75CQkKampp+fnzo6
+OjQ0NL6+vicnJ7m5uZubm7Gxsba2tj8/P8TExImJiXZ2djMzM6WlpWxsbD09PSEhIUZGRmdnZ6Sk
+pMXFxerq6pOTk2FhYd3d3aCgoFBQUCIiIkFBQSsrKzU1Nbe3t4SEhDs7OxQUFBkZGS8vLy4uLiYm
+JgcHB19fX0RERDIyMiQkJAAAAAICAjk5OQQEBBMTEw8PDwEBASkpKSgoKAgICBYWFh8fH0lJSSoq
+KiUlJQsLCxgYGBoaGiwsLCAgIAwMDBUVFQUFBQoKCgkJCQAAAD25/CoAAAD/dFJOU///////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+////////////////////////AGb8ilkAAAAJcEhZcwAAFxEAABcRAcom8z8AADAzSURBVHhe7V3Z
+kesgEHQVEfBFDiTgkIiCDPgiAaJRAFQpAlVtHq97QD5lWT72WfLS67V1n80wMwzDrqGhoaGhoaGh
+oaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhYYPQ
+yttP/+V6LQ0N74Nyznz4zyVdL6ah4W2wzqsPw5jG7Ia3w7pP6wLaj8zWuVG84V1Qa2A2L0Fra5wq
+ixoaXsZKZDZ4HbqYmi3Z8C58ntk7yGxth/3gmy7S8D6sQWYH1/2A17oxu+F9WIOeHWL/s++GEIxV
+ufG74S1YhZ5tXdeZZFyI0Zlkm4uk4XXYj/sj6BvRPsaktLLJhBBD8o3cDU8i1zbttfhGrBPPiNbZ
+JhdB7ia5G56Cj84rcOfzevautNRkMxwuRaUwDKEJ7oYnoEwcKBgfl9nvppvIbPkNJ4qRMmEoZa+h
+4TGAScPgwimdrpHzpbdC29MdslLYoM48B+rZdar8VPD6UPaar6ThIUCf9WnY/+yHOWbnFII7bxlU
+wdQpQGO1S3XmSYqPMvsaVL6j+bSFuw4ovxK8Leb4/RKreCDiMAwxdPt9nGW2i+B/iTKtV6LiKbN7
+56ky8G83RqOefstPnbyFm8wGVIrDKNL/Mkqw8Qo+Lry1qfj1Y8kRskrGDUPXFbexUq4PZlbPzhDQ
+OjgN6RkoPBVuDVIUFM4Jszr3Ui4g2lNOPUxAbEgZr71zXmvvDXRlTsrRpnFbZgNaKzPUovWXYZ3P
+68Bbouk1KKLeIv2hergISg8DlAsP1ZiKg3a9gwV5R2bbFP3ORudDzFA+TOiMGiyWeKynzLZZp2h9
+tkNMWQ3JB5N9TB4bxMGZLhoz2JmncdSzp6GV6+JfjylZQXhPhXn1VcA0y96p7J5uSdEADECfHFWP
+CFIabwunZbUKA6Tr/CPLoUOJ8NoFSONOgdLaY69ouITr98EZlU1UOFk0OZshQ65DP1YqOg0hbmPQ
+apaYszJbgIIS/3iAq1rN/ZsXZDb4qKX6ScHq5B8vrGR0VrAQoRVFkALqADgN8tX1AtCR13iP2UFZ
+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Dor81JournalArticle{D7C468B5-5E32-4254-9330-6DB2DDB01037}There's a S.M.A.R.T. way to write management's goals and objectives1981DoranG.T.Management Review (AMA FORUM)35-36701
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm<_Flow_SignoffStatus xmlns="27c1adeb-3674-457c-b08c-8a73f31b6e23" xsi:nil="true"/>Conchi de MiguelSergio Jimenez22019-08-05T13:11:00Z2025-12-15T20:35:00Z2025-12-15T20:35:00ZNormal.dotm121303717313Microsoft Office Word014440falseTítulo1Universidad Internacional de La Rioja Facultad de Educaciónfalse20310false14418423805_Toc43752334914418422905_Toc43752334313107702005_Toc43752336213107701405_Toc4375233611310770805_Toc4375233601507378205_Toc437523359false16.00000x010100DF3D7C797EA12745A270EF30E38719B9true2025-12-15T20:34:56ZStandarddefa4170-0d19-0005-0004-bc88714345d2d9ff98f8-1670-401f-bf78-0b33bbd90cfe7e5380b3-cad0-4ca2-b0ac-f3b167232e81010, 3, 0, 1
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/colorschememapping.xml b/instructions/plantilla_individual_files/colorschememapping.xml
new file mode 100644
index 0000000..b200daa
--- /dev/null
+++ b/instructions/plantilla_individual_files/colorschememapping.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/filelist.xml b/instructions/plantilla_individual_files/filelist.xml
new file mode 100644
index 0000000..66d2f53
--- /dev/null
+++ b/instructions/plantilla_individual_files/filelist.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/header.htm b/instructions/plantilla_individual_files/header.htm
new file mode 100644
index 0000000..e7ef847
--- /dev/null
+++ b/instructions/plantilla_individual_files/header.htm
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Sergio
+Jimnez Jimnez
+
+
Optimizacin
+de Hiperparmetros OCR con Ray Tune para Documentos Acadmicos en Espaol
+
+
+
+
+
+
+
+
+
+
+
+
13
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/instructions/plantilla_individual_files/image001.png b/instructions/plantilla_individual_files/image001.png
new file mode 100644
index 0000000..8d8942b
Binary files /dev/null and b/instructions/plantilla_individual_files/image001.png differ
diff --git a/instructions/plantilla_individual_files/image002.gif b/instructions/plantilla_individual_files/image002.gif
new file mode 100644
index 0000000..ab5c01f
Binary files /dev/null and b/instructions/plantilla_individual_files/image002.gif differ
diff --git a/instructions/plantilla_individual_files/image003.png b/instructions/plantilla_individual_files/image003.png
new file mode 100644
index 0000000..da81321
Binary files /dev/null and b/instructions/plantilla_individual_files/image003.png differ
diff --git a/instructions/plantilla_individual_files/image004.jpg b/instructions/plantilla_individual_files/image004.jpg
new file mode 100644
index 0000000..611d78b
Binary files /dev/null and b/instructions/plantilla_individual_files/image004.jpg differ
diff --git a/instructions/plantilla_individual_files/image005.png b/instructions/plantilla_individual_files/image005.png
new file mode 100644
index 0000000..6a3daf4
Binary files /dev/null and b/instructions/plantilla_individual_files/image005.png differ
diff --git a/instructions/plantilla_individual_files/image006.gif b/instructions/plantilla_individual_files/image006.gif
new file mode 100644
index 0000000..eba1d96
Binary files /dev/null and b/instructions/plantilla_individual_files/image006.gif differ
diff --git a/instructions/plantilla_individual_files/item0001.xml b/instructions/plantilla_individual_files/item0001.xml
new file mode 100644
index 0000000..26bed88
--- /dev/null
+++ b/instructions/plantilla_individual_files/item0001.xml
@@ -0,0 +1,258 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/item0003.xml b/instructions/plantilla_individual_files/item0003.xml
new file mode 100644
index 0000000..17bc8dd
--- /dev/null
+++ b/instructions/plantilla_individual_files/item0003.xml
@@ -0,0 +1 @@
+Dor81JournalArticle{D7C468B5-5E32-4254-9330-6DB2DDB01037}There's a S.M.A.R.T. way to write management's goals and objectives1981DoranG.T.Management Review (AMA FORUM)35-36701
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/item0005.xml b/instructions/plantilla_individual_files/item0005.xml
new file mode 100644
index 0000000..ce42a91
--- /dev/null
+++ b/instructions/plantilla_individual_files/item0005.xml
@@ -0,0 +1 @@
+<_Flow_SignoffStatus xmlns="27c1adeb-3674-457c-b08c-8a73f31b6e23" xsi:nil="true"/>
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/item0007.xml b/instructions/plantilla_individual_files/item0007.xml
new file mode 100644
index 0000000..607faca
--- /dev/null
+++ b/instructions/plantilla_individual_files/item0007.xml
@@ -0,0 +1 @@
+DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/props002.xml b/instructions/plantilla_individual_files/props002.xml
new file mode 100644
index 0000000..86b71d3
--- /dev/null
+++ b/instructions/plantilla_individual_files/props002.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/props004.xml b/instructions/plantilla_individual_files/props004.xml
new file mode 100644
index 0000000..29b878f
--- /dev/null
+++ b/instructions/plantilla_individual_files/props004.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/props006.xml b/instructions/plantilla_individual_files/props006.xml
new file mode 100644
index 0000000..1ade933
--- /dev/null
+++ b/instructions/plantilla_individual_files/props006.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/props008.xml b/instructions/plantilla_individual_files/props008.xml
new file mode 100644
index 0000000..18d4345
--- /dev/null
+++ b/instructions/plantilla_individual_files/props008.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/instructions/plantilla_individual_files/themedata.thmx b/instructions/plantilla_individual_files/themedata.thmx
new file mode 100644
index 0000000..69725bf
Binary files /dev/null and b/instructions/plantilla_individual_files/themedata.thmx differ