Documentation review. #5

Merged
Seryusjj merged 16 commits from documentation_review into main 2026-01-20 14:33:47 +00:00
6 changed files with 30 additions and 25 deletions
Showing only changes of commit 9f9fda4cc3 - Show all commits

View File

@@ -10,8 +10,12 @@ Review and validate the documentation for this Master's Thesis project.
- `src/results/*.csv` - Raw data from 64 trials per service - `src/results/*.csv` - Raw data from 64 trials per service
2. **Review UNIR guidelines** for formatting and structure rules: 2. **Review UNIR guidelines** for formatting and structure rules:
- **`instructions/plantilla_individual.htm`** - **PRIMARY REFERENCE** for all styling (CSS classes, Word styles)
- **`instructions/plantilla_individual_files/`** - Support files with additional style definitions
- `instructions/instrucciones.pdf` - TFE writing instructions - `instructions/instrucciones.pdf` - TFE writing instructions
- `instructions/plantilla_individual.pdf` - Official template with required format - `instructions/plantilla_individual.pdf` - Official template preview
**IMPORTANT:** When styling elements (tables, figures, notes, quotes), ALWAYS check `plantilla_individual.htm` for existing Word/CSS classes (e.g., `MsoQuote`, `MsoCaption`, `Piedefoto-tabla`). Use these classes instead of custom inline styles.
3. **Validate each documentation file** checking: 3. **Validate each documentation file** checking:
@@ -49,6 +53,7 @@ Review and validate the documentation for this Master's Thesis project.
``` ```
- Colors: `#0098CD` (UNIR blue for borders/lines), `#E6F4F9` (light blue background) - Colors: `#0098CD` (UNIR blue for borders/lines), `#E6F4F9` (light blue background)
- All diagrams must have a descriptive `title:` in YAML frontmatter - All diagrams must have a descriptive `title:` in YAML frontmatter
- Titles MUST be quoted: `title: "Descriptive Title"` (not `title: Descriptive Title`)
- Titles should describe the diagram content, not generic "Diagrama N" - Titles should describe the diagram content, not generic "Diagrama N"
- Verify theme is applied to all diagrams in `docs/*.md` - Verify theme is applied to all diagrams in `docs/*.md`

View File

@@ -271,7 +271,7 @@ def parse_md_to_html_blocks(md_content):
while i < len(lines) and lines[i].startswith('>'): while i < len(lines) and lines[i].startswith('>'):
quote_text += ' ' + lines[i][1:].strip() quote_text += ' ' + lines[i][1:].strip()
i += 1 i += 1
html_blocks.append(f'<p class=MsoNormal style="margin-left:2cm;margin-right:1cm"><i><span lang=ES>{md_to_html_para(quote_text)}</span></i></p>') html_blocks.append(f'<p class=MsoQuote><i><span lang=ES>{md_to_html_para(quote_text)}</span></i></p>')
continue continue
# Bullet list # Bullet list

View File

@@ -61,7 +61,7 @@ Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas principa
```mermaid ```mermaid
--- ---
title: Pipeline de un sistema OCR moderno title: "Pipeline de un sistema OCR moderno"
config: config:
theme: base theme: base
themeVariables: themeVariables:
@@ -493,7 +493,7 @@ La combinación de Ray Tune con OptunaSearch permite:
```mermaid ```mermaid
--- ---
title: Ciclo de optimización con Ray Tune y Optuna title: "Ciclo de optimización con Ray Tune y Optuna"
config: config:
theme: base theme: base
themeVariables: themeVariables:

View File

@@ -45,7 +45,7 @@ Este capítulo establece los objetivos del trabajo siguiendo la metodología SMA
```mermaid ```mermaid
--- ---
title: Fases de la metodología experimental title: "Fases de la metodología experimental"
config: config:
theme: base theme: base
themeVariables: themeVariables:
@@ -89,7 +89,7 @@ El script `prepare_dataset.ipynb` implementa:
```mermaid ```mermaid
--- ---
title: Estructura del dataset de evaluación title: "Estructura del dataset de evaluación"
config: config:
theme: base theme: base
themeVariables: themeVariables:

View File

@@ -272,7 +272,7 @@ Esta arquitectura containerizada permite ejecutar cada componente en su entorno
```mermaid ```mermaid
--- ---
title: Arquitectura de ejecución con Docker Compose title: "Arquitectura de ejecución con Docker Compose"
config: config:
theme: base theme: base
themeVariables: themeVariables:
@@ -340,7 +340,7 @@ La infraestructura del proyecto se basa en contenedores Docker para garantizar r
```mermaid ```mermaid
--- ---
title: Arquitectura de microservicios para optimización OCR title: "Arquitectura de microservicios para optimización OCR"
config: config:
theme: base theme: base
themeVariables: themeVariables:
@@ -425,7 +425,7 @@ El proyecto incluye múltiples archivos Docker Compose para diferentes escenario
*Fuente: Elaboración propia.* *Fuente: Elaboración propia.*
> **\* Nota:** EasyOCR y PaddleOCR utilizan el mismo puerto (8002). Debido a limitaciones de recursos GPU (VRAM insuficiente para ejecutar múltiples modelos OCR simultáneamente), solo se ejecuta un servicio a la vez durante los experimentos. Por esta razón, EasyOCR tiene su propio archivo Docker Compose separado. > **Nota:** EasyOCR y PaddleOCR utilizan el mismo puerto (8002). Debido a limitaciones de recursos GPU (VRAM insuficiente para ejecutar múltiples modelos OCR simultáneamente), solo se ejecuta un servicio a la vez durante los experimentos. Por esta razón, EasyOCR tiene su propio archivo Docker Compose separado.
##### Gestión de Volúmenes ##### Gestión de Volúmenes

View File

@@ -4566,7 +4566,7 @@ mso-bidi-font-family:"Calibri Light";mso-bidi-theme-font:major-latin'><span styl
<h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">Planteamiento del trabajo</span></h2> <h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">Planteamiento del trabajo</span></h2>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Formulación del problema</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Formulación del problema</span></h3>
<p class="MsoNormal"><span lang="ES">El problema central que aborda este trabajo puede formularse de la siguiente manera:</span></p> <p class="MsoNormal"><span lang="ES">El problema central que aborda este trabajo puede formularse de la siguiente manera:</span></p>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES">¿Es posible mejorar significativamente el rendimiento de modelos OCR preentrenados para documentos en español mediante la optimización sistemática de hiperparámetros, sin requerir fine-tuning ni recursos GPU?</span></i></p> <p class="MsoQuote"><i><span lang="ES">¿Es posible mejorar significativamente el rendimiento de modelos OCR preentrenados para documentos en español mediante la optimización sistemática de hiperparámetros, sin requerir fine-tuning ni recursos GPU?</span></i></p>
<p class="MsoNormal"><span lang="ES">Este planteamiento parte de una observación fundamental: los sistemas OCR modernos exponen múltiples parámetros configurables que afectan su comportamiento durante la inferencia. Estos parámetros incluyen umbrales de detección, opciones de preprocesamiento, y filtros de calidad. En la práctica habitual, estos parámetros se dejan en sus valores por defecto, asumiendo que fueron optimizados por los desarrolladores del modelo. Sin embargo, los valores por defecto representan compromisos generales que pueden no ser óptimos para dominios específicos.</span></p> <p class="MsoNormal"><span lang="ES">Este planteamiento parte de una observación fundamental: los sistemas OCR modernos exponen múltiples parámetros configurables que afectan su comportamiento durante la inferencia. Estos parámetros incluyen umbrales de detección, opciones de preprocesamiento, y filtros de calidad. En la práctica habitual, estos parámetros se dejan en sus valores por defecto, asumiendo que fueron optimizados por los desarrolladores del modelo. Sin embargo, los valores por defecto representan compromisos generales que pueden no ser óptimos para dominios específicos.</span></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Preguntas de investigación</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Preguntas de investigación</span></h3>
<p class="MsoNormal"><span lang="ES">Este planteamiento se descompone en las siguientes cuestiones específicas:</span></p> <p class="MsoNormal"><span lang="ES">Este planteamiento se descompone en las siguientes cuestiones específicas:</span></p>
@@ -4938,7 +4938,7 @@ text-transform:none'><span style="mso-list:Ignore">3.<span style='font:7.0pt "Ti
</span></span></span><?endif?><span lang="ES" style="text-transform:none">Objetivos </span></span></span><?endif?><span lang="ES" style="text-transform:none">Objetivos
concretos y metodología de trabajo</span></span></a></span></span><span style="mso-bookmark:_Toc14106979"><span style="mso-bookmark:_Toc437515557"><span lang="ES" style="text-transform:none"><o:p></o:p></span></span></span></h1><p class="MsoNormal"><span lang="ES">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.</span></p> concretos y metodología de trabajo</span></span></a></span></span><span style="mso-bookmark:_Toc14106979"><span style="mso-bookmark:_Toc437515557"><span lang="ES" style="text-transform:none"><o:p></o:p></span></span></span></h1><p class="MsoNormal"><span lang="ES">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.</span></p>
<h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">Objetivo general</span></h2> <h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">Objetivo general</span></h2>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>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.</b></span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>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.</b></span></i></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Justificación SMART del Objetivo General</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Justificación SMART del Objetivo General</span></h3>
<a name="_Ref_Tab13"></a><p class="MsoCaption"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Tabla <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Tabla \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->13<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Justificación SMART del objetivo general.</span></i></p> <a name="_Ref_Tab13"></a><p class="MsoCaption"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Tabla <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Tabla \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->13<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Justificación SMART del objetivo general.</span></i></p>
<div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Criterio</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Cumplimiento</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Específico (S)</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Se define claramente qué se quiere lograr: optimizar PaddleOCR mediante ajuste de hiperparámetros para documentos en español</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Medible (M)</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Se establece una métrica cuantificable: CER &lt; 2%</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Alcanzable (A)</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Es viable dado que: (1) PaddleOCR permite configuración de hiperparámetros, (2) Ray Tune posibilita búsqueda automatizada, (3) Aceleración GPU disponible para experimentación eficiente</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Relevante (R)</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">El impacto es demostrable: mejora la extracción de texto en documentos académicos sin costes adicionales de infraestructura</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Temporal (T)</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">El plazo es un cuatrimestre, correspondiente al TFM</span></p></td></tr></table></div> <div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Criterio</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Cumplimiento</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Específico (S)</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Se define claramente qué se quiere lograr: optimizar PaddleOCR mediante ajuste de hiperparámetros para documentos en español</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Medible (M)</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Se establece una métrica cuantificable: CER &lt; 2%</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Alcanzable (A)</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Es viable dado que: (1) PaddleOCR permite configuración de hiperparámetros, (2) Ray Tune posibilita búsqueda automatizada, (3) Aceleración GPU disponible para experimentación eficiente</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Relevante (R)</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">El impacto es demostrable: mejora la extracción de texto en documentos académicos sin costes adicionales de infraestructura</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Temporal (T)</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">El plazo es un cuatrimestre, correspondiente al TFM</span></p></td></tr></table></div>
@@ -4946,15 +4946,15 @@ concretos y metodología de trabajo</span></span></a></span></span><span style="
<p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p>
<h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">Objetivos específicos</span></h2> <h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">Objetivos específicos</span></h2>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE1: Comparar soluciones OCR de código abierto</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE1: Comparar soluciones OCR de código abierto</span></h3>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>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.</b></span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>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.</b></span></i></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE2: Preparar un dataset de evaluación</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE2: Preparar un dataset de evaluación</span></h3>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Construir un dataset estructurado de imágenes de documentos académicos en español con su texto de referencia (ground truth) extraído del PDF original.</b></span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Construir un dataset estructurado de imágenes de documentos académicos en español con su texto de referencia (ground truth) extraído del PDF original.</b></span></i></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE3: Identificar hiperparámetros críticos</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE3: Identificar hiperparámetros críticos</span></h3>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Analizar la correlación entre los hiperparámetros de PaddleOCR y las métricas de error para identificar los parámetros con mayor impacto en el rendimiento.</b></span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Analizar la correlación entre los hiperparámetros de PaddleOCR y las métricas de error para identificar los parámetros con mayor impacto en el rendimiento.</b></span></i></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE4: Optimizar hiperparámetros con Ray Tune</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE4: Optimizar hiperparámetros con Ray Tune</span></h3>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Ejecutar una búsqueda automatizada de hiperparámetros utilizando Ray Tune con Optuna, evaluando al menos 50 configuraciones diferentes.</b></span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Ejecutar una búsqueda automatizada de hiperparámetros utilizando Ray Tune con Optuna, evaluando al menos 50 configuraciones diferentes.</b></span></i></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE5: Validar la configuración optimizada</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">OE5: Validar la configuración optimizada</span></h3>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Comparar el rendimiento de la configuración baseline versus la configuración optimizada sobre el dataset completo, documentando la mejora obtenida.</b></span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Comparar el rendimiento de la configuración baseline versus la configuración optimizada sobre el dataset completo, documentando la mejora obtenida.</b></span></i></p>
<h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">Metodología del trabajo</span></h2> <h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">Metodología del trabajo</span></h2>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Visión General</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Visión General</span></h3>
<a name="_Ref_Fig3"></a><p class="MsoCaption" style="text-align:center"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Figura <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Figura \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->3<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Fases de la metodología experimental</span></i></p> <a name="_Ref_Fig3"></a><p class="MsoCaption" style="text-align:center"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Figura <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Figura \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->3<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Fases de la metodología experimental</span></i></p>
@@ -5164,7 +5164,7 @@ color:#0098CD;mso-font-kerning:16.0pt;mso-bidi-font-weight:bold'><o:p></o:p></sp
<p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><span style="font-family:Consolas;font-size:10pt">titulación</span><span style="font-family:Consolas;font-size:10pt">titulacióon</span> (carácter duplicado)</span></p> <p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><span style="font-family:Consolas;font-size:10pt">titulación</span><span style="font-family:Consolas;font-size:10pt">titulacióon</span> (carácter duplicado)</span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><span style="font-family:Consolas;font-size:10pt">documento</span><span style="font-family:Consolas;font-size:10pt">doccumento</span> (consonante duplicada)</span></p> <p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><span style="font-family:Consolas;font-size:10pt">documento</span><span style="font-family:Consolas;font-size:10pt">doccumento</span> (consonante duplicada)</span></p>
<p class="MsoNormal"><span lang="ES"><b>Ejemplo de predicción de PaddleOCR para una página:</b></span></p> <p class="MsoNormal"><span lang="ES"><b>Ejemplo de predicción de PaddleOCR para una página:</b></span></p>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES">"Escribe siempre al menos un párrafo de introducción en cada capítulo o apartado, explicando de qué vas a tratar en esa sección. Evita que aparezcan dos encabezados de nivel consecutivos sin ningún texto entre medias. [...] En esta titulacióon se cita de acuerdo con la normativa Apa."</span></i></p> <p class="MsoQuote"><i><span lang="ES">"Escribe siempre al menos un párrafo de introducción en cada capítulo o apartado, explicando de qué vas a tratar en esa sección. Evita que aparezcan dos encabezados de nivel consecutivos sin ningún texto entre medias. [...] En esta titulacióon se cita de acuerdo con la normativa Apa."</span></i></p>
<p class="MsoNormal"><span lang="ES"><b>Errores identificados en este ejemplo:</b></span></p> <p class="MsoNormal"><span lang="ES"><b>Errores identificados en este ejemplo:</b></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><span style="font-family:Consolas;font-size:10pt">titulacióon</span> en lugar de <span style="font-family:Consolas;font-size:10pt">titulación</span> (carácter duplicado)</span></p> <p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><span style="font-family:Consolas;font-size:10pt">titulacióon</span> en lugar de <span style="font-family:Consolas;font-size:10pt">titulación</span> (carácter duplicado)</span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><span style="font-family:Consolas;font-size:10pt">Apa</span> en lugar de <span style="font-family:Consolas;font-size:10pt">APA</span> (capitalización)</span></p> <p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><span style="font-family:Consolas;font-size:10pt">Apa</span> en lugar de <span style="font-family:Consolas;font-size:10pt">APA</span> (capitalización)</span></p>
@@ -5282,7 +5282,7 @@ docker compose -f docker-compose.tuning.doctr.yml down</pre></span></p>
<div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Archivo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Propósito</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Servicios</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><a href="https://github.com/seryus/MastersThesis/blob/main/src/docker-compose.tuning.yml"><span style="font-family:Consolas;font-size:10pt">docker-compose.tuning.yml</span></a></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimización principal</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RayTune + PaddleOCR + DocTR</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><a href="https://github.com/seryus/MastersThesis/blob/main/src/docker-compose.tuning.easyocr.yml"><span style="font-family:Consolas;font-size:10pt">docker-compose.tuning.easyocr.yml</span></a></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimización EasyOCR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RayTune + EasyOCR</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><a href="https://github.com/seryus/MastersThesis/blob/main/src/docker-compose.tuning.paddle.yml"><span style="font-family:Consolas;font-size:10pt">docker-compose.tuning.paddle.yml</span></a></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimización PaddleOCR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RayTune + PaddleOCR</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><a href="https://github.com/seryus/MastersThesis/blob/main/src/docker-compose.tuning.doctr.yml"><span style="font-family:Consolas;font-size:10pt">docker-compose.tuning.doctr.yml</span></a></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimización DocTR</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RayTune + DocTR</span></p></td></tr></table></div> <div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Archivo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Propósito</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Servicios</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><a href="https://github.com/seryus/MastersThesis/blob/main/src/docker-compose.tuning.yml"><span style="font-family:Consolas;font-size:10pt">docker-compose.tuning.yml</span></a></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimización principal</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RayTune + PaddleOCR + DocTR</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><a href="https://github.com/seryus/MastersThesis/blob/main/src/docker-compose.tuning.easyocr.yml"><span style="font-family:Consolas;font-size:10pt">docker-compose.tuning.easyocr.yml</span></a></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimización EasyOCR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RayTune + EasyOCR</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><a href="https://github.com/seryus/MastersThesis/blob/main/src/docker-compose.tuning.paddle.yml"><span style="font-family:Consolas;font-size:10pt">docker-compose.tuning.paddle.yml</span></a></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimización PaddleOCR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RayTune + PaddleOCR</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><a href="https://github.com/seryus/MastersThesis/blob/main/src/docker-compose.tuning.doctr.yml"><span style="font-family:Consolas;font-size:10pt">docker-compose.tuning.doctr.yml</span></a></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimización DocTR</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RayTune + DocTR</span></p></td></tr></table></div>
<p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p> <p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p>
<p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES">*<i>\</i> Nota:** EasyOCR y PaddleOCR utilizan el mismo puerto (8002). Debido a limitaciones de recursos GPU (VRAM insuficiente para ejecutar múltiples modelos OCR simultáneamente), solo se ejecuta un servicio a la vez durante los experimentos. Por esta razón, EasyOCR tiene su propio archivo Docker Compose separado.</span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Nota:</b> EasyOCR y PaddleOCR utilizan el mismo puerto (8002). Debido a limitaciones de recursos GPU (VRAM insuficiente para ejecutar múltiples modelos OCR simultáneamente), solo se ejecuta un servicio a la vez durante los experimentos. Por esta razón, EasyOCR tiene su propio archivo Docker Compose separado.</span></i></p>
<h4><span lang="ES">Gestión de Volúmenes</span></h4> <h4><span lang="ES">Gestión de Volúmenes</span></h4>
<p class="MsoNormal"><span lang="ES">Se utilizan volúmenes Docker nombrados para persistir los modelos descargados entre ejecuciones:</span></p> <p class="MsoNormal"><span lang="ES">Se utilizan volúmenes Docker nombrados para persistir los modelos descargados entre ejecuciones:</span></p>
<a name="_Ref_Tab28"></a><p class="MsoCaption"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Tabla <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Tabla \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->28<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Volúmenes Docker para caché de modelos.</span></i></p> <a name="_Ref_Tab28"></a><p class="MsoCaption"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Tabla <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Tabla \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->28<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Volúmenes Docker para caché de modelos.</span></i></p>
@@ -5445,7 +5445,7 @@ Configuración óptima:
<div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Modelo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">CER</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Precisión Caracteres</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">WER</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Precisión Palabras</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">PaddleOCR (Baseline)</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8.85%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">91.15%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">13.05%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">86.95%</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">PaddleOCR-HyperAdjust</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>7.72%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>92.28%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>11.40%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>88.60%</b></span></p></td></tr></table></div> <div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Modelo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">CER</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Precisión Caracteres</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">WER</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Precisión Palabras</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">PaddleOCR (Baseline)</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8.85%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">91.15%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">13.05%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">86.95%</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">PaddleOCR-HyperAdjust</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>7.72%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>92.28%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>11.40%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>88.60%</b></span></p></td></tr></table></div>
<p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p> <p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p>
<p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Nota sobre generalización:</b> El mejor trial individual (5 páginas) alcanzó un CER de 0.79%, cumpliendo el objetivo de CER &lt; 2%. Sin embargo, al aplicar la configuración al dataset completo de 45 páginas, el CER aumentó a 7.72%, evidenciando sobreajuste al subconjunto de entrenamiento. Esta diferencia es un hallazgo importante que se discute en la sección de análisis.</span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Nota sobre generalización:</b> El mejor trial individual (5 páginas) alcanzó un CER de 0.79%, cumpliendo el objetivo de CER &lt; 2%. Sin embargo, al aplicar la configuración al dataset completo de 45 páginas, el CER aumentó a 7.72%, evidenciando sobreajuste al subconjunto de entrenamiento. Esta diferencia es un hallazgo importante que se discute en la sección de análisis.</span></i></p>
<h4><span lang="ES">Métricas de Mejora</span></h4> <h4><span lang="ES">Métricas de Mejora</span></h4>
<a name="_Ref_Tab41"></a><p class="MsoCaption"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Tabla <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Tabla \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->41<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Análisis cuantitativo de la mejora.</span></i></p> <a name="_Ref_Tab41"></a><p class="MsoCaption"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Tabla <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Tabla \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->41<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Análisis cuantitativo de la mejora.</span></i></p>
<div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Forma de Medición</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">CER</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">WER</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Valor baseline</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8.85%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">13.05%</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Valor optimizado</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">7.72%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">11.40%</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Mejora absoluta</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">-1.13 pp</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">-1.65 pp</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Reducción relativa del error</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>12.8%</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>12.6%</b></span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Factor de mejora</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">1.15×</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">1.14×</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Mejor trial (5 páginas)</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>0.79%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>7.78%</b></span></p></td></tr></table></div> <div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Forma de Medición</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">CER</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">WER</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Valor baseline</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8.85%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">13.05%</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Valor optimizado</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">7.72%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">11.40%</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Mejora absoluta</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">-1.13 pp</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">-1.65 pp</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Reducción relativa del error</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>12.8%</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>12.6%</b></span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Factor de mejora</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">1.15×</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">1.14×</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>Mejor trial (5 páginas)</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>0.79%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>7.78%</b></span></p></td></tr></table></div>
@@ -5464,7 +5464,7 @@ Configuración óptima:
<p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="ES">*Asumiendo longitud media de palabra = 6.6 caracteres en español.</span></p> <p class="MsoNormal"><span lang="ES">*Asumiendo longitud media de palabra = 6.6 caracteres en español.</span></p>
<p class="MsoNormal"><span lang="ES"><b>Interpretación:</b></span></p> <p class="MsoNormal"><span lang="ES"><b>Interpretación:</b></span></p>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES">"La optimización de hiperparámetros logró una mejora del 12.8% en el CER sobre el dataset completo de 45 páginas. Aunque esta mejora es más modesta que la observada en los trials individuales (donde se alcanzó 0.79% CER), demuestra el valor de la optimización sistemática. La diferencia entre el mejor trial (0.79%) y el resultado en dataset completo (7.72%) revela un fenómeno de sobreajuste al subconjunto de 5 páginas usado para evaluación."</span></i></p> <p class="MsoQuote"><i><span lang="ES">"La optimización de hiperparámetros logró una mejora del 12.8% en el CER sobre el dataset completo de 45 páginas. Aunque esta mejora es más modesta que la observada en los trials individuales (donde se alcanzó 0.79% CER), demuestra el valor de la optimización sistemática. La diferencia entre el mejor trial (0.79%) y el resultado en dataset completo (7.72%) revela un fenómeno de sobreajuste al subconjunto de 5 páginas usado para evaluación."</span></i></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Tiempo de Ejecución</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Tiempo de Ejecución</span></h3>
<a name="_Ref_Tab43"></a><p class="MsoCaption"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Tabla <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Tabla \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->43<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Métricas de tiempo del experimento (GPU).</span></i></p> <a name="_Ref_Tab43"></a><p class="MsoCaption"><b><span lang="ES" style="font-size:12.0pt;line-height:150%">Tabla <!--[if supportFields]><span style='mso-element:field-begin'></span> SEQ Tabla \* ARABIC <span style='mso-element:field-separator'></span><![endif]-->43<!--[if supportFields]><span style='mso-element:field-end'></span><![endif]-->.</span></b><span lang="ES" style="font-size:12.0pt;line-height:150%"> </span><i><span lang="ES" style="font-size:12.0pt;line-height:150%">Métricas de tiempo del experimento (GPU).</span></i></p>
<div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Métrica</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Valor</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Tiempo total del experimento</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">~1.5 horas</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Tiempo medio por trial</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">~4.2 segundos</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Tiempo medio por página</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">0.84 segundos</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Variabilidad (std)</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">0.53 segundos/página</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Páginas procesadas totales</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">320</span></p></td></tr></table></div> <div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Métrica</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Valor</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Tiempo total del experimento</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">~1.5 horas</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Tiempo medio por trial</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">~4.2 segundos</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Tiempo medio por página</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">0.84 segundos</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Variabilidad (std)</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">0.53 segundos/página</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Páginas procesadas totales</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">320</span></p></td></tr></table></div>
@@ -5502,7 +5502,7 @@ Configuración óptima:
<div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Aspecto</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Objetivo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Resultado (trial)</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Resultado (full)</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Cumplimiento</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Métrica</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"></span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Umbral</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">&lt; 2%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>0.79%</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">7.72%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Parcial</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Método</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Sin fine-tuning</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Solo hiperparámetros</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Solo hiperparámetros</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"></span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Hardware</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">GPU</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RTX 3060</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RTX 3060</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"></span></p></td></tr></table></div> <div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Aspecto</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Objetivo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Resultado (trial)</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Resultado (full)</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Cumplimiento</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Métrica</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"></span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Umbral</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">&lt; 2%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>0.79%</b></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">7.72%</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Parcial</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Método</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Sin fine-tuning</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Solo hiperparámetros</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Solo hiperparámetros</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"></span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Hardware</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">GPU</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RTX 3060</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">RTX 3060</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"></span></p></td></tr></table></div>
<p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p> <p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p>
<p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Análisis del cumplimiento:</b> El objetivo de CER &lt; 2% se cumple en el mejor trial individual (0.79%), demostrando que la optimización de hiperparámetros puede alcanzar la precisión objetivo. Sin embargo, la validación sobre el dataset completo (7.72%) muestra que la generalización requiere trabajo adicional, como un subconjunto de optimización más representativo o técnicas de regularización.</span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Análisis del cumplimiento:</b> El objetivo de CER &lt; 2% se cumple en el mejor trial individual (0.79%), demostrando que la optimización de hiperparámetros puede alcanzar la precisión objetivo. Sin embargo, la validación sobre el dataset completo (7.72%) muestra que la generalización requiere trabajo adicional, como un subconjunto de optimización más representativo o técnicas de regularización.</span></i></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Análisis Detallado de Hiperparámetros</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Análisis Detallado de Hiperparámetros</span></h3>
<h4><span lang="ES">Jerarquía de Importancia</span></h4> <h4><span lang="ES">Jerarquía de Importancia</span></h4>
<p class="MsoNormal"><span lang="ES">Basándose en el análisis de los resultados de optimización:</span></p> <p class="MsoNormal"><span lang="ES">Basándose en el análisis de los resultados de optimización:</span></p>
@@ -5554,7 +5554,7 @@ Configuración óptima:
<div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Objetivo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Descripción</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Resultado</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Estado</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE1</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Comparar soluciones OCR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">EasyOCR, PaddleOCR, DocTR evaluados; PaddleOCR seleccionado</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Cumplido</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE2</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Preparar dataset de evaluación</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">45 páginas con ground truth</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Cumplido</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE3</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Identificar hiperparámetros críticos</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><span style="font-family:Consolas;font-size:10pt">textline_orientation</span>, <span style="font-family:Consolas;font-size:10pt">use_doc_orientation_classify</span>, <span style="font-family:Consolas;font-size:10pt">text_det_thresh</span> identificados</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Cumplido</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE4</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimizar con Ray Tune (≥50 trials)</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">64 trials ejecutados con GPU</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Cumplido</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE5</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Validar configuración optimizada</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER: 8.85% → 7.72% (dataset), 0.79% (mejor trial)</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Parcial</span></p></td></tr></table></div> <div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Objetivo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Descripción</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Resultado</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Estado</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE1</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Comparar soluciones OCR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">EasyOCR, PaddleOCR, DocTR evaluados; PaddleOCR seleccionado</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Cumplido</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE2</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Preparar dataset de evaluación</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">45 páginas con ground truth</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Cumplido</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE3</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Identificar hiperparámetros críticos</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><span style="font-family:Consolas;font-size:10pt">textline_orientation</span>, <span style="font-family:Consolas;font-size:10pt">use_doc_orientation_classify</span>, <span style="font-family:Consolas;font-size:10pt">text_det_thresh</span> identificados</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Cumplido</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE4</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Optimizar con Ray Tune (≥50 trials)</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">64 trials ejecutados con GPU</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Cumplido</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">OE5</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Validar configuración optimizada</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER: 8.85% → 7.72% (dataset), 0.79% (mejor trial)</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Parcial</span></p></td></tr></table></div>
<p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p> <p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p>
<p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Nota sobre OE5:</b> El objetivo de CER &lt; 2% se cumple en el mejor trial individual (0.79%). La validación sobre el dataset completo (7.72%) muestra que la generalización requiere mayor trabajo, identificándose como línea de trabajo futuro.</span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Nota sobre OE5:</b> El objetivo de CER &lt; 2% se cumple en el mejor trial individual (0.79%). La validación sobre el dataset completo (7.72%) muestra que la generalización requiere mayor trabajo, identificándose como línea de trabajo futuro.</span></i></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Limitaciones del Estudio</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Limitaciones del Estudio</span></h3>
<h4><span lang="ES">Limitaciones de Generalización</span></h4> <h4><span lang="ES">Limitaciones de Generalización</span></h4>
<p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES">1.<span style="font-size:7pt">   </span><b>Tipo de documento único</b>: Solo se evaluaron documentos académicos de UNIR. La configuración óptima puede no ser transferible a otros tipos de documentos (facturas, formularios, contratos).</span></p> <p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES">1.<span style="font-size:7pt">   </span><b>Tipo de documento único</b>: Solo se evaluaron documentos académicos de UNIR. La configuración óptima puede no ser transferible a otros tipos de documentos (facturas, formularios, contratos).</span></p>
@@ -5657,7 +5657,7 @@ y trabajo futuro</span></a></h1><p class="MsoNormal"><span lang="ES">Este capít
<div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Métrica</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Objetivo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Mejor Trial</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Dataset Completo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Cumplimiento</span></b></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">&lt; 2%</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>0.79%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>7.72%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Parcial</span></p></td></tr></table></div> <div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Métrica</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Objetivo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Mejor Trial</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Dataset Completo</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Cumplimiento</span></b></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">CER</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">&lt; 2%</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>0.79%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><b>7.72%</b></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">✓ Parcial</span></p></td></tr></table></div>
<p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p> <p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p>
<p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Nota:</b> El objetivo de CER &lt; 2% se cumple en el mejor trial individual (0.79%, 5 páginas). La validación sobre el conjunto de datos completo (45 páginas) muestra un CER de 7.72%, evidenciando sobreajuste al subconjunto de optimización. Esta diferencia se analiza en detalle en el Capítulo 4.</span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Nota:</b> El objetivo de CER &lt; 2% se cumple en el mejor trial individual (0.79%, 5 páginas). La validación sobre el conjunto de datos completo (45 páginas) muestra un CER de 7.72%, evidenciando sobreajuste al subconjunto de optimización. Esta diferencia se analiza en detalle en el Capítulo 4.</span></i></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Conclusiones Específicas</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">Conclusiones Específicas</span></h3>
<p class="MsoNormal"><span lang="ES"><b>Respecto a OE1 (Comparativa de soluciones OCR)</b>:</span></p> <p class="MsoNormal"><span lang="ES"><b>Respecto a OE1 (Comparativa de soluciones OCR)</b>:</span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES">Se evaluaron tres soluciones OCR de código abierto: EasyOCR, PaddleOCR (PP-OCRv5) y DocTR</span></p> <p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES">Se evaluaron tres soluciones OCR de código abierto: EasyOCR, PaddleOCR (PP-OCRv5) y DocTR</span></p>
@@ -5792,7 +5792,7 @@ docker compose -f docker-compose.cpu-registry.yml up -d</pre></span></p>
# GPU # GPU
docker compose up -d</pre></span></p> docker compose up -d</pre></span></p>
<h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">EasyOCR (Puerto 8002)</span></h3> <h3 style="mso-list:l22 level3 lfo18"><span lang="ES" style="text-transform:none">EasyOCR (Puerto 8002)</span></h3>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Nota:</b> EasyOCR utiliza el mismo puerto (8002) que PaddleOCR. No se pueden ejecutar simultáneamente. Por esta razón, existe un archivo docker-compose separado para EasyOCR.</span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Nota:</b> EasyOCR utiliza el mismo puerto (8002) que PaddleOCR. No se pueden ejecutar simultáneamente. Por esta razón, existe un archivo docker-compose separado para EasyOCR.</span></i></p>
<p class="MsoNormal"><span lang="ES"><b>Imagen Docker:</b> <a href="https://seryus.ddns.net/unir/-/packages/container/easyocr-gpu/latest"><span style="font-family:Consolas;font-size:10pt">seryus.ddns.net/unir/easyocr-gpu</span></a></span></p> <p class="MsoNormal"><span lang="ES"><b>Imagen Docker:</b> <a href="https://seryus.ddns.net/unir/-/packages/container/easyocr-gpu/latest"><span style="font-family:Consolas;font-size:10pt">seryus.ddns.net/unir/easyocr-gpu</span></a></span></p>
<p class="MsoNormal" style="margin-left:1cm"><span style="font-family:Consolas;font-size:9pt"><pre>cd src/easyocr_service <p class="MsoNormal" style="margin-left:1cm"><span style="font-family:Consolas;font-size:9pt"><pre>cd src/easyocr_service
@@ -5850,7 +5850,7 @@ analyze_results(results, prefix='raytune_paddle', config_keys=PADDLE_OCR_CONFIG_
<div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Servicio</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Puerto</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Script de Ajuste</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Nota</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">PaddleOCR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8002</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><span style="font-family:Consolas;font-size:10pt">paddle_ocr_payload</span></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">-</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">DocTR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8003</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><span style="font-family:Consolas;font-size:10pt">doctr_payload</span></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">-</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">EasyOCR</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8002</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><span style="font-family:Consolas;font-size:10pt">easyocr_payload</span></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Conflicto con PaddleOCR</span></p></td></tr></table></div> <div align="center"><table align="center" border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse:collapse;margin-left:auto;margin-right:auto;mso-table-style-name:'Plain Table 1'"><tr><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Servicio</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Puerto</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Script de Ajuste</span></b></p></td><td style="border-top:solid windowtext 1.0pt;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><b><span lang="ES">Nota</span></b></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">PaddleOCR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8002</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><span style="font-family:Consolas;font-size:10pt">paddle_ocr_payload</span></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">-</span></p></td></tr><tr><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">DocTR</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8003</span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><span style="font-family:Consolas;font-size:10pt">doctr_payload</span></span></p></td><td style="border:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">-</span></p></td></tr><tr><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">EasyOCR</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">8002</span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES"><span style="font-family:Consolas;font-size:10pt">easyocr_payload</span></span></p></td><td style="border-top:none;border-bottom:solid windowtext 1.0pt;border-left:none;border-right:none;padding:5px"><p class="MsoNormal" style="margin:0;text-align:center"><span lang="ES">Conflicto con PaddleOCR</span></p></td></tr></table></div>
<p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p> <p class="Piedefoto-tabla" style="margin-left:0cm"><span lang="ES">Fuente: Elaboración propia.</span></p>
<p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:2cm;margin-right:1cm"><i><span lang="ES"><b>Nota:</b> Debido a limitaciones de recursos GPU (VRAM insuficiente para ejecutar múltiples modelos OCR simultáneamente), solo se ejecuta un servicio a la vez. PaddleOCR y EasyOCR comparten el puerto 8002. Para cambiar de servicio, detener el actual con <span style="font-family:Consolas;font-size:10pt">docker compose down</span>.</span></i></p> <p class="MsoQuote"><i><span lang="ES"><b>Nota:</b> Debido a limitaciones de recursos GPU (VRAM insuficiente para ejecutar múltiples modelos OCR simultáneamente), solo se ejecuta un servicio a la vez. PaddleOCR y EasyOCR comparten el puerto 8002. Para cambiar de servicio, detener el actual con <span style="font-family:Consolas;font-size:10pt">docker compose down</span>.</span></i></p>
<h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">A.7 Métricas de Rendimiento</span></h2> <h2 style="mso-list:l22 level2 lfo18"><span lang="ES" style="text-transform:none">A.7 Métricas de Rendimiento</span></h2>
<p class="MsoNormal"><span lang="ES">Los resultados detallados de las evaluaciones y ajustes de hiperparámetros se encuentran en:</span></p> <p class="MsoNormal"><span lang="ES">Los resultados detallados de las evaluaciones y ajustes de hiperparámetros se encuentran en:</span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><a href="metrics/metrics.md">Métricas Generales</a> - Comparativa de los tres servicios</span></p> <p class="MsoListParagraphCxSpMiddle" style="margin-left:36pt;text-indent:-18pt"><span lang="ES" style="font-family:Symbol">·</span><span lang="ES" style="font-size:7pt">     </span><span lang="ES"><a href="metrics/metrics.md">Métricas Generales</a> - Comparativa de los tres servicios</span></p>