autogen test

This commit is contained in:
2025-12-16 00:07:00 +01:00
parent 5862a69ac2
commit f22ae02ed5
7 changed files with 149 additions and 147 deletions

View File

@@ -1,14 +1,14 @@
# 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, desarrollo de la comparativa, y discusión y análisis de resultados.
## 4.1. Planteamiento de la comparativa
## Planteamiento de la comparativa
### 4.1.1. Introducción
### Introducción
Esta sección presenta los resultados del estudio comparativo realizado entre tres soluciones OCR de código abierto: EasyOCR, PaddleOCR y DocTR. Los experimentos fueron documentados en el notebook `ocr_benchmark_notebook.ipynb` del repositorio. El objetivo es identificar el modelo base más prometedor para la posterior fase de optimización de hiperparámetros.
### 4.1.2. Configuración del Experimento
### Configuración del Experimento
#### Dataset de Evaluación
@@ -61,7 +61,7 @@ def evaluate_text(reference, prediction):
return {'WER': wer(reference, prediction), 'CER': cer(reference, prediction)}
```
### 4.1.3. Resultados del Benchmark
### Resultados del Benchmark
#### Resultados de PaddleOCR (Datos del CSV)
@@ -107,7 +107,7 @@ Del archivo CSV, un ejemplo de predicción de PaddleOCR para la página 8:
- `titulacióon` en lugar de `titulación` (carácter duplicado)
- `Apa` en lugar de `APA` (capitalización)
### 4.1.4. Justificación de la Selección de PaddleOCR
### Justificación de la Selección de PaddleOCR
#### Criterios de Selección
@@ -128,13 +128,13 @@ Basándose en los resultados obtenidos y la documentación del benchmark:
- Alta configurabilidad de hiperparámetros de inferencia
- Pipeline modular que permite experimentación
### 4.1.5. Limitaciones del Benchmark
### Limitaciones del Benchmark
1. **Tamaño reducido**: Solo 5 páginas evaluadas en el benchmark comparativo inicial
2. **Único tipo de documento**: Documentos académicos de UNIR únicamente
3. **Ground truth**: El texto de referencia se extrajo automáticamente del PDF, lo cual puede introducir errores en layouts complejos
### 4.1.6. Resumen de la Sección
### Resumen de la Sección
Esta sección ha presentado:
@@ -147,13 +147,13 @@ 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
### Introducción
Esta sección describe el proceso de optimización de hiperparámetros de PaddleOCR utilizando Ray Tune con el algoritmo de búsqueda Optuna. Los experimentos fueron implementados en el notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb` y los resultados se almacenaron en `src/raytune_paddle_subproc_results_20251207_192320.csv`.
### 4.2.2. Configuración del Experimento
### Configuración del Experimento
#### Entorno de Ejecución
@@ -229,7 +229,7 @@ tuner = tune.Tuner(
- **Número de trials**: 64
- **Trials concurrentes**: 2
### 4.2.3. Resultados de la Optimización
### Resultados de la Optimización
#### Estadísticas Descriptivas
@@ -330,7 +330,7 @@ Ejemplo de trial con fallo catastrófico:
- WER: 59.45%
- Configuración: `text_det_thresh=0.017`, `textline_orientation=True`
### 4.2.4. Comparación Baseline vs Optimizado
### Comparación Baseline vs Optimizado
#### Resultados sobre Dataset Completo (24 páginas)
@@ -377,7 +377,7 @@ xychart-beta
- Optimizado: ~149 caracteres con error
- Diferencia: ~629 caracteres menos con errores
### 4.2.5. Tiempo de Ejecución
### Tiempo de Ejecución
| Métrica | Valor |
|---------|-------|
@@ -386,7 +386,7 @@ xychart-beta
| Tiempo medio por página | 69.42 segundos |
| Total páginas procesadas | 64 trials × 5 páginas = 320 evaluaciones |
### 4.2.6. Resumen de la Sección
### Resumen de la Sección
Esta sección ha presentado:
@@ -403,13 +403,13 @@ 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
### Introducción
Esta sección presenta un análisis consolidado de los resultados obtenidos en las fases de benchmark comparativo y optimización de hiperparámetros. Se discuten las implicaciones prácticas y se evalúa el cumplimiento de los objetivos planteados.
### 4.3.2. Resumen de Resultados
### Resumen de Resultados
#### Resultados del Benchmark Comparativo
@@ -446,7 +446,7 @@ Resultados del notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`:
| PaddleOCR (Baseline) | 7.78% | 92.22% | 14.94% | 85.06% |
| PaddleOCR-HyperAdjust | 1.49% | 98.51% | 7.62% | 92.38% |
### 4.3.3. Análisis de Resultados
### Análisis de Resultados
#### Mejora Obtenida
@@ -504,7 +504,7 @@ config_optimizada = {
}
```
### 4.3.4. Discusión
### Discusión
#### Hallazgos Principales
@@ -542,7 +542,7 @@ La correlación negativa de `text_det_thresh` (-0.52) con el CER indica que:
| OE5: Validar configuración | Documentar mejora | CER 7.78% → 1.49% | ✓ |
| **Objetivo General** | CER < 2% | CER = 1.49% | ✓ |
### 4.3.5. Implicaciones Prácticas
### Implicaciones Prácticas
#### Recomendaciones de Configuración
@@ -570,7 +570,7 @@ Esta metodología de optimización es aplicable cuando:
- El modelo preentrenado ya tiene soporte para el idioma objetivo
- Se busca mejorar rendimiento sin reentrenar
### 4.3.6. Resumen de la Sección
### Resumen de la Sección
Esta sección ha presentado: