Make template readable
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
# Resumen
|
||||
|
||||
## Resumen
|
||||
|
||||
El presente Trabajo Fin de Máster aborda la optimización de sistemas de Reconocimiento Óptico de Caracteres (OCR) basados en inteligencia artificial para documentos en español, específicamente en un entorno con recursos computacionales limitados donde el fine-tuning de modelos no es viable. El objetivo principal es identificar la configuración óptima de hiperparámetros que maximice la precisión del reconocimiento de texto sin requerir entrenamiento adicional de los modelos.
|
||||
|
||||
Se realizó un estudio comparativo de tres soluciones OCR de código abierto: EasyOCR, PaddleOCR (PP-OCRv5) y DocTR, evaluando su rendimiento mediante las métricas estándar CER (Character Error Rate) y WER (Word Error Rate) sobre un corpus de documentos académicos en español. Tras identificar PaddleOCR como la solución más prometedora, se procedió a una optimización sistemática de hiperparámetros utilizando Ray Tune con el algoritmo de búsqueda Optuna, ejecutando 64 configuraciones diferentes.
|
||||
@@ -14,7 +12,7 @@ Este trabajo demuestra que es posible obtener mejoras sustanciales en sistemas O
|
||||
|
||||
---
|
||||
|
||||
## Abstract
|
||||
# Abstract
|
||||
|
||||
This Master's Thesis addresses the optimization of Artificial Intelligence-based Optical Character Recognition (OCR) systems for Spanish documents, specifically in a resource-constrained environment where model fine-tuning is not feasible. The main objective is to identify the optimal hyperparameter configuration that maximizes text recognition accuracy without requiring additional model training.
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# Capítulo 1: Introducción
|
||||
# Introducción
|
||||
|
||||
## 1.1 Motivación
|
||||
Este capítulo presenta la motivación del trabajo, identificando el problema a resolver y justificando su relevancia. Se plantea la pregunta de investigación central y se describe la estructura del documento.
|
||||
|
||||
## Motivación
|
||||
|
||||
El Reconocimiento Óptico de Caracteres (OCR) es una tecnología fundamental en la era de la digitalización documental. Su capacidad para convertir imágenes de texto en datos editables y procesables ha transformado sectores como la administración pública, el ámbito legal, la banca y la educación. Sin embargo, a pesar de los avances significativos impulsados por el aprendizaje profundo, la implementación práctica de sistemas OCR de alta precisión sigue presentando desafíos considerables.
|
||||
|
||||
@@ -10,7 +12,7 @@ Los modelos OCR basados en redes neuronales profundas, como los empleados en Pad
|
||||
|
||||
La presente investigación surge de una necesidad práctica: optimizar un sistema OCR para documentos académicos en español sin disponer de recursos GPU para realizar fine-tuning. Esta restricción, lejos de ser una limitación excepcional, representa la realidad de muchos entornos académicos y empresariales donde el acceso a infraestructura de cómputo avanzada es limitado.
|
||||
|
||||
## 1.2 Planteamiento del Problema
|
||||
## Planteamiento del trabajo
|
||||
|
||||
El problema central que aborda este trabajo puede formularse de la siguiente manera:
|
||||
|
||||
@@ -33,7 +35,7 @@ La relevancia de este problema radica en su aplicabilidad inmediata. Una metodol
|
||||
- Pequeñas y medianas empresas que automatizan flujos documentales
|
||||
- Desarrolladores que integran OCR en aplicaciones con restricciones de recursos
|
||||
|
||||
## 1.3 Estructura del Trabajo
|
||||
## Estructura del trabajo
|
||||
|
||||
El presente documento se organiza en los siguientes capítulos:
|
||||
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
# Capítulo 2: Contexto y Estado del Arte
|
||||
|
||||
## 2.1 Introducción
|
||||
# Contexto y estado del arte
|
||||
|
||||
Este capítulo presenta el marco teórico y tecnológico en el que se desarrolla el presente trabajo. Se revisan los fundamentos del Reconocimiento Óptico de Caracteres (OCR), la evolución de las técnicas basadas en aprendizaje profundo, las principales soluciones de código abierto disponibles y los trabajos previos relacionados con la optimización de sistemas OCR.
|
||||
|
||||
## 2.2 Fundamentos del OCR
|
||||
## Contexto del problema
|
||||
|
||||
### 2.2.1 Definición y Evolución Histórica
|
||||
### Definición y Evolución Histórica del OCR
|
||||
|
||||
El Reconocimiento Óptico de Caracteres (OCR) es el proceso de conversión de imágenes de texto manuscrito, mecanografiado o impreso en texto codificado digitalmente. La tecnología OCR ha evolucionado significativamente desde sus orígenes en la década de 1950:
|
||||
|
||||
@@ -15,7 +13,7 @@ El Reconocimiento Óptico de Caracteres (OCR) es el proceso de conversión de im
|
||||
- **Tercera generación (1990-2010)**: Modelos basados en Redes Neuronales Artificiales y Modelos Ocultos de Markov (HMM).
|
||||
- **Cuarta generación (2010-presente)**: Arquitecturas de aprendizaje profundo que dominan el estado del arte.
|
||||
|
||||
### 2.2.2 Pipeline Moderno de OCR
|
||||
### Pipeline Moderno de OCR
|
||||
|
||||
Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas:
|
||||
|
||||
@@ -29,61 +27,69 @@ Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas:
|
||||
- Arquitecturas encoder-decoder con atención
|
||||
- Transformers (ViTSTR, TrOCR)
|
||||
|
||||
### 2.2.3 Métricas de Evaluación
|
||||
### Métricas de Evaluación
|
||||
|
||||
Las métricas estándar para evaluar sistemas OCR son:
|
||||
|
||||
**Character Error Rate (CER)**:
|
||||
```
|
||||
CER = (S + D + I) / N
|
||||
```
|
||||
Donde S = sustituciones, D = eliminaciones, I = inserciones, N = caracteres de referencia.
|
||||
**Character Error Rate (CER)**: Se calcula como CER = (S + D + I) / N, donde S = sustituciones, D = eliminaciones, I = inserciones, N = caracteres de referencia.
|
||||
|
||||
**Word Error Rate (WER)**:
|
||||
```
|
||||
WER = (S + D + I) / N
|
||||
```
|
||||
Calculado a nivel de palabras en lugar de caracteres.
|
||||
**Word Error Rate (WER)**: Se calcula de forma análoga pero a nivel de palabras en lugar de caracteres.
|
||||
|
||||
Un CER del 1% significa que 1 de cada 100 caracteres es erróneo. Para aplicaciones críticas como extracción de datos financieros o médicos, se requieren CER inferiores al 1%.
|
||||
|
||||
## 2.3 Soluciones OCR de Código Abierto
|
||||
### Particularidades del OCR para el Idioma Español
|
||||
|
||||
### 2.3.1 EasyOCR
|
||||
El español presenta características específicas que impactan el OCR:
|
||||
|
||||
EasyOCR es una biblioteca de OCR desarrollada por Jaided AI que soporta más de 80 idiomas. Sus características principales incluyen:
|
||||
- **Caracteres especiales**: ñ, á, é, í, ó, ú, ü, ¿, ¡
|
||||
- **Diacríticos**: Los acentos pueden confundirse con ruido o artefactos
|
||||
- **Longitud de palabras**: Palabras generalmente más largas que en inglés
|
||||
- **Puntuación**: Signos de interrogación y exclamación invertidos
|
||||
|
||||
## Estado del arte
|
||||
|
||||
### Soluciones OCR de Código Abierto
|
||||
|
||||
#### EasyOCR
|
||||
|
||||
EasyOCR es una biblioteca de OCR desarrollada por Jaided AI (2020) que soporta más de 80 idiomas. Sus características principales incluyen:
|
||||
|
||||
- **Arquitectura**: Detector CRAFT + Reconocedor CRNN/Transformer
|
||||
- **Fortalezas**: Facilidad de uso, soporte multilingüe amplio, bajo consumo de memoria
|
||||
- **Limitaciones**: Menor precisión en documentos complejos, opciones de configuración limitadas
|
||||
- **Caso de uso ideal**: Prototipado rápido y aplicaciones con restricciones de memoria
|
||||
|
||||
### 2.3.2 PaddleOCR
|
||||
#### PaddleOCR
|
||||
|
||||
PaddleOCR es el sistema OCR desarrollado por Baidu como parte del ecosistema PaddlePaddle. La versión PP-OCRv5, utilizada en este trabajo, representa el estado del arte en OCR industrial:
|
||||
PaddleOCR es el sistema OCR desarrollado por Baidu como parte del ecosistema PaddlePaddle (2024). La versión PP-OCRv5, utilizada en este trabajo, representa el estado del arte en OCR industrial:
|
||||
|
||||
- **Arquitectura**:
|
||||
- Detector: DB (Differentiable Binarization) con backbone ResNet
|
||||
- Detector: DB (Differentiable Binarization) con backbone ResNet (Liao et al., 2020)
|
||||
- Reconocedor: SVTR (Scene-Text Visual Transformer Recognition)
|
||||
- Clasificador de orientación opcional
|
||||
|
||||
- **Hiperparámetros configurables**:
|
||||
| Parámetro | Descripción | Valor por defecto |
|
||||
|-----------|-------------|-------------------|
|
||||
| `text_det_thresh` | Umbral de detección de píxeles | 0.3 |
|
||||
| `text_det_box_thresh` | Umbral de caja de detección | 0.6 |
|
||||
| `text_det_unclip_ratio` | Coeficiente de expansión | 1.5 |
|
||||
| `text_rec_score_thresh` | Umbral de confianza de reconocimiento | 0.5 |
|
||||
| `use_textline_orientation` | Clasificación de orientación | False |
|
||||
| `use_doc_orientation_classify` | Clasificación de orientación de documento | False |
|
||||
| `use_doc_unwarping` | Corrección de deformación | False |
|
||||
|
||||
**Tabla 1.** *Hiperparámetros configurables de PaddleOCR.*
|
||||
|
||||
| Parámetro | Descripción | Valor por defecto |
|
||||
|-----------|-------------|-------------------|
|
||||
| `text_det_thresh` | Umbral de detección de píxeles | 0.3 |
|
||||
| `text_det_box_thresh` | Umbral de caja de detección | 0.6 |
|
||||
| `text_det_unclip_ratio` | Coeficiente de expansión | 1.5 |
|
||||
| `text_rec_score_thresh` | Umbral de confianza de reconocimiento | 0.5 |
|
||||
| `use_textline_orientation` | Clasificación de orientación | False |
|
||||
| `use_doc_orientation_classify` | Clasificación de orientación de documento | False |
|
||||
| `use_doc_unwarping` | Corrección de deformación | False |
|
||||
|
||||
*Fuente: Documentación oficial de PaddleOCR (PaddlePaddle, 2024).*
|
||||
|
||||
- **Fortalezas**: Alta precisión, pipeline altamente configurable, modelos específicos para servidor
|
||||
- **Limitaciones**: Mayor complejidad de configuración, dependencia del framework PaddlePaddle
|
||||
|
||||
### 2.3.3 DocTR
|
||||
#### DocTR
|
||||
|
||||
DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee orientada a la investigación:
|
||||
DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee (2021) orientada a la investigación:
|
||||
|
||||
- **Arquitectura**:
|
||||
- Detectores: DB, LinkNet
|
||||
@@ -92,41 +98,45 @@ DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee orie
|
||||
- **Fortalezas**: API limpia, orientación académica, salida estructurada de alto nivel
|
||||
- **Limitaciones**: Menor rendimiento en español comparado con PaddleOCR
|
||||
|
||||
### 2.3.4 Comparativa de Arquitecturas
|
||||
#### Comparativa de Arquitecturas
|
||||
|
||||
**Tabla 2.** *Comparativa de soluciones OCR de código abierto.*
|
||||
|
||||
| Modelo | Tipo | Componentes | Fortalezas Clave |
|
||||
|--------|------|-------------|------------------|
|
||||
| **EasyOCR** | End-to-end (det + rec) | DB + CRNN/Transformer | Ligero, fácil de usar, multilingüe |
|
||||
| **EasyOCR** | End-to-end (det + rec) | CRAFT + CRNN/Transformer | Ligero, fácil de usar, multilingüe |
|
||||
| **PaddleOCR** | End-to-end (det + rec + cls) | DB + SVTR/CRNN | Soporte multilingüe robusto, configurable |
|
||||
| **DocTR** | End-to-end (det + rec) | DB/LinkNet + CRNN/SAR/ViTSTR | Orientado a investigación, API limpia |
|
||||
|
||||
## 2.4 Optimización de Hiperparámetros
|
||||
*Fuente: Documentación oficial de cada herramienta (JaidedAI, 2020; PaddlePaddle, 2024; Mindee, 2021).*
|
||||
|
||||
### 2.4.1 Fundamentos
|
||||
### Optimización de Hiperparámetros
|
||||
|
||||
La optimización de hiperparámetros (HPO) busca encontrar la configuración de parámetros que maximiza (o minimiza) una métrica objetivo. A diferencia de los parámetros del modelo (pesos), los hiperparámetros no se aprenden durante el entrenamiento.
|
||||
#### Fundamentos
|
||||
|
||||
La optimización de hiperparámetros (HPO) busca encontrar la configuración de parámetros que maximiza (o minimiza) una métrica objetivo (Feurer & Hutter, 2019). A diferencia de los parámetros del modelo (pesos), los hiperparámetros no se aprenden durante el entrenamiento.
|
||||
|
||||
Los métodos de HPO incluyen:
|
||||
- **Grid Search**: Búsqueda exhaustiva en una rejilla predefinida
|
||||
- **Random Search**: Muestreo aleatorio del espacio de búsqueda
|
||||
- **Bayesian Optimization**: Modelado probabilístico de la función objetivo
|
||||
- **Random Search**: Muestreo aleatorio del espacio de búsqueda (Bergstra & Bengio, 2012)
|
||||
- **Bayesian Optimization**: Modelado probabilístico de la función objetivo (Bergstra et al., 2011)
|
||||
- **Algoritmos evolutivos**: Optimización inspirada en evolución biológica
|
||||
|
||||
### 2.4.2 Ray Tune y Optuna
|
||||
#### Ray Tune y Optuna
|
||||
|
||||
**Ray Tune** es un framework de optimización de hiperparámetros escalable que permite:
|
||||
**Ray Tune** es un framework de optimización de hiperparámetros escalable (Liaw et al., 2018) que permite:
|
||||
- Ejecución paralela de experimentos
|
||||
- Early stopping de configuraciones poco prometedoras
|
||||
- Integración con múltiples algoritmos de búsqueda
|
||||
|
||||
**Optuna** es una biblioteca de optimización bayesiana que implementa:
|
||||
**Optuna** es una biblioteca de optimización bayesiana (Akiba et al., 2019) que implementa:
|
||||
- Tree-structured Parzen Estimator (TPE)
|
||||
- Pruning de trials no prometedores
|
||||
- Visualización de resultados
|
||||
|
||||
La combinación Ray Tune + Optuna permite búsquedas eficientes en espacios de alta dimensionalidad.
|
||||
|
||||
### 2.4.3 HPO en Sistemas OCR
|
||||
#### HPO en Sistemas OCR
|
||||
|
||||
La aplicación de HPO a sistemas OCR ha sido explorada principalmente en el contexto de:
|
||||
|
||||
@@ -138,18 +148,7 @@ La aplicación de HPO a sistemas OCR ha sido explorada principalmente en el cont
|
||||
|
||||
Sin embargo, existe un vacío en la literatura respecto a la optimización sistemática de los hiperparámetros de inferencia en pipelines OCR modernos como PaddleOCR, especialmente para idiomas diferentes del inglés y chino.
|
||||
|
||||
## 2.5 OCR para el Idioma Español
|
||||
|
||||
### 2.5.1 Particularidades del Español
|
||||
|
||||
El español presenta características específicas que impactan el OCR:
|
||||
|
||||
- **Caracteres especiales**: ñ, á, é, í, ó, ú, ü, ¿, ¡
|
||||
- **Diacríticos**: Los acentos pueden confundirse con ruido o artefactos
|
||||
- **Longitud de palabras**: Palabras generalmente más largas que en inglés
|
||||
- **Puntuación**: Signos de interrogación y exclamación invertidos
|
||||
|
||||
### 2.5.2 Datasets y Benchmarks
|
||||
### Datasets y Benchmarks para Español
|
||||
|
||||
Los principales recursos para evaluación de OCR en español incluyen:
|
||||
|
||||
@@ -157,8 +156,6 @@ Los principales recursos para evaluación de OCR en español incluyen:
|
||||
- **MLT (ICDAR)**: Multi-Language Text dataset con muestras en español
|
||||
- **Documentos académicos**: Utilizados en este trabajo (instrucciones TFE de UNIR)
|
||||
|
||||
### 2.5.3 Trabajos Previos
|
||||
|
||||
Los trabajos previos en OCR para español se han centrado principalmente en:
|
||||
|
||||
1. Digitalización de archivos históricos (manuscritos coloniales)
|
||||
@@ -167,7 +164,7 @@ Los trabajos previos en OCR para español se han centrado principalmente en:
|
||||
|
||||
La optimización de hiperparámetros para documentos académicos en español representa una contribución original de este trabajo.
|
||||
|
||||
## 2.6 Resumen del Capítulo
|
||||
## Conclusiones
|
||||
|
||||
Este capítulo ha presentado:
|
||||
|
||||
@@ -177,4 +174,3 @@ Este capítulo ha presentado:
|
||||
4. Las particularidades del OCR para el idioma español
|
||||
|
||||
El estado del arte revela que, si bien existen soluciones OCR de alta calidad, su optimización para dominios específicos mediante ajuste de hiperparámetros (sin fine-tuning) ha recibido poca atención. Este trabajo contribuye a llenar ese vacío proponiendo una metodología reproducible para la optimización de PaddleOCR en documentos académicos en español.
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
# Capítulo 3: Objetivos y Metodología de Trabajo
|
||||
# Objetivos concretos y metodología de trabajo
|
||||
|
||||
## 3.1 Introducción
|
||||
Este capítulo establece los objetivos del trabajo siguiendo la metodología SMART (Doran, 1981) y describe la metodología experimental empleada para alcanzarlos. Se define un objetivo general y cinco objetivos específicos, todos ellos medibles y verificables.
|
||||
|
||||
Este capítulo establece los objetivos del trabajo siguiendo la metodología SMART (Específico, Medible, Alcanzable, Relevante, Temporal) y describe la metodología experimental empleada para alcanzarlos.
|
||||
|
||||
## 3.2 Objetivo General
|
||||
## Objetivo general
|
||||
|
||||
> **Optimizar el rendimiento de PaddleOCR para documentos académicos en español mediante ajuste de hiperparámetros, alcanzando un CER inferior al 2% sin requerir fine-tuning del modelo ni recursos GPU dedicados.**
|
||||
|
||||
@@ -18,7 +16,7 @@ Este capítulo establece los objetivos del trabajo siguiendo la metodología SMA
|
||||
| **Relevante (R)** | El impacto es demostrable: mejora la extracción de texto en documentos académicos sin costes adicionales de infraestructura |
|
||||
| **Temporal (T)** | El plazo es un cuatrimestre, correspondiente al TFM |
|
||||
|
||||
## 3.3 Objetivos Específicos
|
||||
## Objetivos específicos
|
||||
|
||||
### OE1: Comparar soluciones OCR de código abierto
|
||||
> **Evaluar el rendimiento base de EasyOCR, PaddleOCR y DocTR en documentos académicos en español, utilizando CER y WER como métricas, para seleccionar el modelo más prometedor.**
|
||||
@@ -35,50 +33,45 @@ Este capítulo establece los objetivos del trabajo siguiendo la metodología SMA
|
||||
### OE5: Validar la configuración optimizada
|
||||
> **Comparar el rendimiento de la configuración baseline versus la configuración optimizada sobre el dataset completo, documentando la mejora obtenida.**
|
||||
|
||||
## 3.4 Metodología de Trabajo
|
||||
## Metodología del trabajo
|
||||
|
||||
### 3.4.1 Visión General
|
||||
### 3.3.1 Visión General
|
||||
|
||||
La metodología sigue un enfoque experimental estructurado en cinco fases:
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ Fase 1: Preparación del Dataset │
|
||||
│ - Conversión PDF → Imágenes (300 DPI) │
|
||||
│ - Extracción de texto de referencia (PyMuPDF) │
|
||||
│ - Estructura: carpetas img/ y txt/ pareadas │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ Fase 2: Benchmark Comparativo │
|
||||
│ - Evaluación de EasyOCR, PaddleOCR, DocTR │
|
||||
│ - Métricas: CER, WER │
|
||||
│ - Selección del modelo base │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ Fase 3: Definición del Espacio de Búsqueda │
|
||||
│ - Identificación de hiperparámetros configurables │
|
||||
│ - Definición de rangos y distribuciones │
|
||||
│ - Configuración de Ray Tune + Optuna │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ Fase 4: Optimización de Hiperparámetros │
|
||||
│ - Ejecución de 64 trials con Ray Tune │
|
||||
│ - Paralelización (2 trials concurrentes) │
|
||||
│ - Registro de métricas y configuraciones │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ Fase 5: Validación y Análisis │
|
||||
│ - Comparación baseline vs optimizado │
|
||||
│ - Análisis de correlaciones │
|
||||
│ - Documentación de resultados │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
|
||||
```mermaid
|
||||
|
||||
flowchart TD
|
||||
A["Fase 1: Preparación del Dataset<br/>
|
||||
• Conversión PDF → Imágenes (300 DPI)<br/>
|
||||
• Extracción de texto de referencia (PyMuPDF)<br/>
|
||||
• Estructura: carpetas img/ y txt/ pareadas"]
|
||||
|
||||
B["Fase 2: Benchmark Comparativo<br/>
|
||||
• Evaluación de EasyOCR, PaddleOCR, DocTR<br/>
|
||||
• Métricas: CER, WER<br/>
|
||||
• Selección del modelo base"]
|
||||
|
||||
C["Fase 3: Definición del Espacio de Búsqueda<br/>
|
||||
• Identificación de hiperparámetros configurables<br/>
|
||||
• Definición de rangos y distribuciones<br/>
|
||||
• Configuración de Ray Tune + Optuna"]
|
||||
|
||||
D["Fase 4: Optimización de Hiperparámetros<br/>
|
||||
• Ejecución de 64 trials con Ray Tune<br/>
|
||||
• Paralelización (2 trials concurrentes)<br/>
|
||||
• Registro de métricas y configuraciones"]
|
||||
|
||||
E["Fase 5: Validación y Análisis<br/>
|
||||
• Comparación baseline vs optimizado<br/>
|
||||
• Análisis de correlaciones<br/>
|
||||
• Documentación de resultados"]
|
||||
|
||||
A --> B --> C --> D --> E
|
||||
|
||||
```
|
||||
|
||||
### 3.4.2 Fase 1: Preparación del Dataset
|
||||
### 3.3.2 Fase 1: Preparación del Dataset
|
||||
|
||||
#### Fuente de Datos
|
||||
Se utilizaron documentos PDF académicos de UNIR (Universidad Internacional de La Rioja), específicamente las instrucciones para la elaboración del TFE del Máster en Inteligencia Artificial.
|
||||
@@ -99,19 +92,23 @@ El script `prepare_dataset.ipynb` implementa:
|
||||
|
||||
#### Estructura del Dataset
|
||||
|
||||
```
|
||||
dataset/
|
||||
├── 0/
|
||||
│ ├── instrucciones.pdf
|
||||
│ ├── img/
|
||||
│ │ ├── page_0001.png
|
||||
│ │ ├── page_0002.png
|
||||
│ │ └── ...
|
||||
│ └── txt/
|
||||
│ ├── page_0001.txt
|
||||
│ ├── page_0002.txt
|
||||
│ └── ...
|
||||
└── ...
|
||||
```mermaid
|
||||
flowchart LR
|
||||
dataset["dataset/"] --> d0["0/"]
|
||||
|
||||
d0 --> pdf["instrucciones.pdf"]
|
||||
|
||||
d0 --> img["img/"]
|
||||
img --> img1["page_0001.png"]
|
||||
img --> img2["page_0002.png"]
|
||||
img --> imgN["..."]
|
||||
|
||||
d0 --> txt["txt/"]
|
||||
txt --> txt1["page_0001.txt"]
|
||||
txt --> txt2["page_0002.txt"]
|
||||
txt --> txtN["..."]
|
||||
|
||||
dataset --> dots["..."]
|
||||
```
|
||||
|
||||
#### Clase ImageTextDataset
|
||||
@@ -127,7 +124,7 @@ class ImageTextDataset:
|
||||
# Retorna (PIL.Image, str)
|
||||
```
|
||||
|
||||
### 3.4.3 Fase 2: Benchmark Comparativo
|
||||
### 3.3.3 Fase 2: Benchmark Comparativo
|
||||
|
||||
#### Modelos Evaluados
|
||||
|
||||
@@ -151,7 +148,7 @@ def evaluate_text(reference, prediction):
|
||||
}
|
||||
```
|
||||
|
||||
### 3.4.4 Fase 3: Espacio de Búsqueda
|
||||
### 3.3.4 Fase 3: Espacio de Búsqueda
|
||||
|
||||
#### Hiperparámetros Seleccionados
|
||||
|
||||
@@ -193,20 +190,21 @@ tuner = tune.Tuner(
|
||||
)
|
||||
```
|
||||
|
||||
### 3.4.5 Fase 4: Ejecución de Optimización
|
||||
### 3.3.5 Fase 4: Ejecución de Optimización
|
||||
|
||||
#### Arquitectura de Ejecución
|
||||
|
||||
Debido a incompatibilidades entre Ray y PaddleOCR en el mismo proceso, se implementó una arquitectura basada en subprocesos:
|
||||
|
||||
```
|
||||
Ray Tune (proceso principal)
|
||||
│
|
||||
├──► Subprocess 1: paddle_ocr_tuning.py --config {...}
|
||||
│ └──► Retorna JSON con métricas
|
||||
│
|
||||
└──► Subprocess 2: paddle_ocr_tuning.py --config {...}
|
||||
└──► Retorna JSON con métricas
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A["Ray Tune (proceso principal)"]
|
||||
|
||||
A --> B["Subprocess 1: paddle_ocr_tuning.py --config"]
|
||||
B --> B_out["Retorna JSON con métricas"]
|
||||
|
||||
A --> C["Subprocess 2: paddle_ocr_tuning.py --config"]
|
||||
C --> C_out["Retorna JSON con métricas"]
|
||||
```
|
||||
|
||||
#### Script de Evaluación (paddle_ocr_tuning.py)
|
||||
@@ -234,7 +232,7 @@ Y retorna métricas en formato JSON:
|
||||
}
|
||||
```
|
||||
|
||||
### 3.4.6 Fase 5: Validación
|
||||
### 3.3.6 Fase 5: Validación
|
||||
|
||||
#### Protocolo de Validación
|
||||
|
||||
@@ -243,7 +241,7 @@ Y retorna métricas en formato JSON:
|
||||
3. **Comparación**: Evaluación sobre las 24 páginas del dataset completo
|
||||
4. **Métricas reportadas**: CER, WER, tiempo de procesamiento
|
||||
|
||||
### 3.5 Entorno de Ejecución
|
||||
### 3.3.7 Entorno de Ejecución
|
||||
|
||||
#### Hardware
|
||||
|
||||
@@ -265,7 +263,7 @@ Y retorna métricas en formato JSON:
|
||||
| Ray | 2.52.1 |
|
||||
| Optuna | 4.6.0 |
|
||||
|
||||
### 3.6 Limitaciones Metodológicas
|
||||
### 3.3.8 Limitaciones Metodológicas
|
||||
|
||||
1. **Tamaño del dataset**: El dataset contiene 24 páginas de un único tipo de documento. Resultados pueden no generalizar a otros formatos.
|
||||
|
||||
@@ -275,7 +273,7 @@ Y retorna métricas en formato JSON:
|
||||
|
||||
4. **Parámetro fijo**: `text_det_unclip_ratio` quedó fijado en 0.0 durante todo el experimento por decisión de diseño inicial.
|
||||
|
||||
## 3.7 Resumen del Capítulo
|
||||
## Resumen del capítulo
|
||||
|
||||
Este capítulo ha establecido:
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Capítulo 4: Desarrollo Específico de la Contribución
|
||||
# Desarrollo específico de la contribución
|
||||
|
||||
Este capítulo presenta el desarrollo completo del estudio comparativo y la optimización de hiperparámetros de sistemas OCR. Se estructura según el tipo de trabajo "Comparativa de soluciones" establecido por las instrucciones de UNIR: planteamiento de la comparativa (4.1), desarrollo de la comparativa (4.2), y discusión y análisis de resultados (4.3).
|
||||
Este capítulo presenta el desarrollo completo del estudio comparativo y la optimización de hiperparámetros de sistemas OCR. Se estructura según el tipo de trabajo "Comparativa de soluciones" establecido por las instrucciones de UNIR: planteamiento de la comparativa, desarrollo de la comparativa, y discusión y análisis de resultados.
|
||||
|
||||
## 4.1 Planteamiento de la Comparativa: Soluciones OCR
|
||||
## Planteamiento de la comparativa
|
||||
|
||||
### 4.1.1 Introducción
|
||||
|
||||
@@ -14,6 +14,8 @@ Esta sección presenta los resultados del estudio comparativo realizado entre tr
|
||||
|
||||
Se utilizó el documento "Instrucciones para la redacción y elaboración del TFE" del Máster Universitario en Inteligencia Artificial de UNIR, ubicado en la carpeta `instructions/`.
|
||||
|
||||
**Tabla 3.** *Características del dataset de evaluación.*
|
||||
|
||||
| Característica | Valor |
|
||||
|----------------|-------|
|
||||
| Número de páginas evaluadas | 5 (páginas 1-5 en benchmark inicial) |
|
||||
@@ -21,6 +23,8 @@ Se utilizó el documento "Instrucciones para la redacción y elaboración del TF
|
||||
| Idioma | Español |
|
||||
| Resolución de conversión | 300 DPI |
|
||||
|
||||
*Fuente: Elaboración propia.*
|
||||
|
||||
#### Configuración de los Modelos
|
||||
|
||||
Según el código en `ocr_benchmark_notebook.ipynb`:
|
||||
@@ -63,6 +67,8 @@ def evaluate_text(reference, prediction):
|
||||
|
||||
Del archivo `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`, se obtienen los siguientes resultados de PaddleOCR para las páginas 5-9 del documento:
|
||||
|
||||
**Tabla 4.** *Resultados de PaddleOCR por página (benchmark inicial).*
|
||||
|
||||
| Página | WER | CER |
|
||||
|--------|-----|-----|
|
||||
| 5 | 12.16% | 6.33% |
|
||||
@@ -71,6 +77,8 @@ Del archivo `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`, se
|
||||
| 8 | 8.13% | 1.54% |
|
||||
| 9 | 10.61% | 5.58% |
|
||||
|
||||
*Fuente: `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`.*
|
||||
|
||||
**Promedio PaddleOCR (páginas 5-9):**
|
||||
- CER medio: ~5.22%
|
||||
- WER medio: ~10.95%
|
||||
@@ -79,12 +87,16 @@ Del archivo `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`, se
|
||||
|
||||
Según la documentación del notebook `ocr_benchmark_notebook.ipynb`, los tres modelos evaluados representan diferentes paradigmas de OCR:
|
||||
|
||||
**Tabla 5.** *Comparativa de arquitecturas OCR evaluadas.*
|
||||
|
||||
| Modelo | Tipo | Componentes | Fortalezas Clave |
|
||||
|--------|------|-------------|------------------|
|
||||
| **EasyOCR** | End-to-end (det + rec) | DB + CRNN/Transformer | Ligero, fácil de usar, multilingüe |
|
||||
| **PaddleOCR (PP-OCR)** | End-to-end (det + rec + cls) | DB + SRN/CRNN | Soporte multilingüe robusto, pipeline configurable |
|
||||
| **DocTR** | End-to-end (det + rec) | DB/LinkNet + CRNN/SAR/VitSTR | Orientado a investigación, API limpia |
|
||||
|
||||
*Fuente: Documentación oficial de cada herramienta (JaidedAI, 2020; PaddlePaddle, 2024; Mindee, 2021).*
|
||||
|
||||
#### Ejemplo de Salida OCR
|
||||
|
||||
Del archivo CSV, un ejemplo de predicción de PaddleOCR para la página 8:
|
||||
@@ -135,7 +147,7 @@ Esta sección ha presentado:
|
||||
- `results/ai_ocr_benchmark_finetune_results_20251206_113206.csv`: Resultados numéricos
|
||||
- Documentación oficial de PaddleOCR
|
||||
|
||||
## 4.2 Desarrollo de la Comparativa: Optimización de Hiperparámetros
|
||||
## Desarrollo de la comparativa: Optimización de hiperparámetros
|
||||
|
||||
### 4.2.1 Introducción
|
||||
|
||||
@@ -147,6 +159,8 @@ Esta sección describe el proceso de optimización de hiperparámetros de Paddle
|
||||
|
||||
Según los outputs del notebook:
|
||||
|
||||
**Tabla 6.** *Entorno de ejecución del experimento.*
|
||||
|
||||
| Componente | Versión/Especificación |
|
||||
|------------|------------------------|
|
||||
| Python | 3.11.9 |
|
||||
@@ -155,6 +169,8 @@ Según los outputs del notebook:
|
||||
| Ray | 2.52.1 |
|
||||
| GPU | No disponible (CPU only) |
|
||||
|
||||
*Fuente: Outputs del notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`.*
|
||||
|
||||
#### Dataset
|
||||
|
||||
Se utilizó un dataset estructurado en `src/dataset/` creado mediante el notebook `src/prepare_dataset.ipynb`:
|
||||
@@ -219,6 +235,8 @@ tuner = tune.Tuner(
|
||||
|
||||
Del archivo CSV de resultados (`raytune_paddle_subproc_results_20251207_192320.csv`):
|
||||
|
||||
**Tabla 7.** *Estadísticas descriptivas de los 64 trials de Ray Tune.*
|
||||
|
||||
| Estadística | CER | WER | Tiempo (s) | Tiempo/Página (s) |
|
||||
|-------------|-----|-----|------------|-------------------|
|
||||
| **count** | 64 | 64 | 64 | 64 |
|
||||
@@ -230,6 +248,8 @@ Del archivo CSV de resultados (`raytune_paddle_subproc_results_20251207_192320.c
|
||||
| **75%** | 4.03% | 13.20% | 350.14 | 69.93 |
|
||||
| **max** | 51.61% | 59.45% | 368.57 | 73.63 |
|
||||
|
||||
*Fuente: `src/raytune_paddle_subproc_results_20251207_192320.csv`.*
|
||||
|
||||
#### Mejor Configuración Encontrada
|
||||
|
||||
Según el análisis del notebook:
|
||||
@@ -276,13 +296,17 @@ Correlación de Pearson entre parámetros y métricas de error (del notebook):
|
||||
|
||||
Según el análisis del notebook, este parámetro booleano tiene el mayor impacto:
|
||||
|
||||
**Tabla 8.** *Impacto del parámetro textline_orientation en las métricas de error.*
|
||||
|
||||
| textline_orientation | CER Medio | WER Medio |
|
||||
|---------------------|-----------|-----------|
|
||||
| True | ~3.76% | ~12.73% |
|
||||
| False | ~12.40% | ~21.71% |
|
||||
|
||||
**Interpretación del notebook**:
|
||||
> "7x better CER with textline_orientation=True. And the variance is much tighter — more reliable results. For Spanish business documents with mixed layouts (tables, headers, addresses), orientation classification helps PaddleOCR correctly order text lines."
|
||||
*Fuente: Análisis del notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`.*
|
||||
|
||||
**Interpretación**:
|
||||
El CER medio es ~3.3x menor con `textline_orientation=True` (3.76% vs 12.40%). Además, la varianza es mucho menor, lo que indica resultados más consistentes. Para documentos en español con layouts mixtos (tablas, encabezados, direcciones), la clasificación de orientación ayuda a PaddleOCR a ordenar correctamente las líneas de texto.
|
||||
|
||||
#### Análisis de Fallos
|
||||
|
||||
@@ -301,18 +325,26 @@ Ejemplo de trial con fallo catastrófico:
|
||||
|
||||
Del análisis final del notebook ejecutando sobre las 24 páginas:
|
||||
|
||||
**Tabla 9.** *Comparación baseline vs configuración optimizada (24 páginas).*
|
||||
|
||||
| Modelo | CER | WER |
|
||||
|--------|-----|-----|
|
||||
| PaddleOCR (Baseline) | 7.78% | 14.94% |
|
||||
| PaddleOCR-HyperAdjust | 1.49% | 7.62% |
|
||||
|
||||
*Fuente: Ejecución final en notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`.*
|
||||
|
||||
#### Métricas de Mejora
|
||||
|
||||
**Tabla 10.** *Análisis de la mejora obtenida.*
|
||||
|
||||
| Métrica | Baseline | Optimizado | Mejora Absoluta | Reducción Error |
|
||||
|---------|----------|------------|-----------------|-----------------|
|
||||
| CER | 7.78% | 1.49% | -6.29 pp | 80.9% |
|
||||
| WER | 14.94% | 7.62% | -7.32 pp | 49.0% |
|
||||
|
||||
*Fuente: Elaboración propia a partir de los resultados experimentales.*
|
||||
|
||||
#### Interpretación (del notebook)
|
||||
|
||||
> "La optimización de hiperparámetros mejoró la precisión de caracteres de 92.2% a 98.5%, una ganancia de 6.3 puntos porcentuales. Aunque el baseline ya ofrecía resultados aceptables, la configuración optimizada reduce los errores residuales en un 80.9%."
|
||||
@@ -348,7 +380,7 @@ Esta sección ha presentado:
|
||||
- `src/raytune_paddle_subproc_results_20251207_192320.csv`: Resultados de 64 trials
|
||||
- `src/paddle_ocr_tuning.py`: Script de evaluación
|
||||
|
||||
## 4.3 Discusión y Análisis de Resultados
|
||||
## Discusión y análisis de resultados
|
||||
|
||||
### 4.3.1 Introducción
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# Capítulo 5: Conclusiones y Trabajo Futuro
|
||||
# Conclusiones y trabajo futuro
|
||||
|
||||
## 5.1 Conclusiones
|
||||
Este capítulo resume las principales conclusiones del trabajo, evalúa el grado de cumplimiento de los objetivos planteados y propone líneas de trabajo futuro que permitirían ampliar y profundizar los resultados obtenidos.
|
||||
|
||||
## Conclusiones
|
||||
|
||||
### 5.1.1 Conclusiones Generales
|
||||
|
||||
@@ -71,7 +73,7 @@ El objetivo principal del trabajo era alcanzar un CER inferior al 2% en document
|
||||
|
||||
5. **Parámetro no explorado**: `text_det_unclip_ratio` permaneció fijo en 0.0 durante todo el experimento.
|
||||
|
||||
## 5.2 Líneas de Trabajo Futuro
|
||||
## Líneas de trabajo futuro
|
||||
|
||||
### 5.2.1 Extensiones Inmediatas
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
# Referencias Bibliográficas
|
||||
|
||||
## Referencias
|
||||
# Referencias bibliográficas {.unnumbered}
|
||||
|
||||
Akiba, T., Sano, S., Yanase, T., Ohta, T., & Koyama, M. (2019). Optuna: A next-generation hyperparameter optimization framework. *Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining*, 2623-2631. https://doi.org/10.1145/3292500.3330701
|
||||
|
||||
@@ -50,18 +48,3 @@ Zhou, X., Yao, C., Wen, H., Wang, Y., Zhou, S., He, W., & Liang, J. (2017). EAST
|
||||
|
||||
Zoph, B., & Le, Q. V. (2017). Neural architecture search with reinforcement learning. *International Conference on Learning Representations (ICLR)*. https://arxiv.org/abs/1611.01578
|
||||
|
||||
---
|
||||
|
||||
## Herramientas y Bibliotecas Utilizadas
|
||||
|
||||
- **PaddleOCR**: https://github.com/PaddlePaddle/PaddleOCR
|
||||
- **Ray Tune**: https://docs.ray.io/en/latest/tune/index.html
|
||||
- **Optuna**: https://optuna.org/
|
||||
- **PyMuPDF**: https://pymupdf.readthedocs.io/
|
||||
- **jiwer**: https://github.com/jitsi/jiwer
|
||||
|
||||
---
|
||||
|
||||
## Repositorio del Proyecto
|
||||
|
||||
- **GitHub**: https://seryus.ddns.net/unir/MastersThesis
|
||||
|
||||
54
docs/07_anexo_a.md
Normal file
54
docs/07_anexo_a.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# Anexo A. Código fuente y datos analizados {.unnumbered}
|
||||
|
||||
## A.1 Repositorio del Proyecto
|
||||
|
||||
El código fuente completo y los datos utilizados en este trabajo están disponibles en el siguiente repositorio:
|
||||
|
||||
**URL del repositorio:** https://github.com/seryus/MastersThesis
|
||||
|
||||
El repositorio incluye:
|
||||
|
||||
- **Notebooks de experimentación**: Código completo de los experimentos realizados
|
||||
- **Scripts de evaluación**: Herramientas para evaluar modelos OCR
|
||||
- **Dataset**: Imágenes y textos de referencia utilizados
|
||||
- **Resultados**: Archivos CSV con los resultados de los 64 trials de Ray Tune
|
||||
|
||||
## A.2 Estructura del Repositorio
|
||||
|
||||
```
|
||||
MastersThesis/
|
||||
├── docs/ # Capítulos de la tesis en Markdown
|
||||
├── src/
|
||||
│ ├── paddle_ocr_fine_tune_unir_raytune.ipynb # Experimento principal
|
||||
│ ├── paddle_ocr_tuning.py # Script de evaluación CLI
|
||||
│ ├── dataset_manager.py # Clase ImageTextDataset
|
||||
│ ├── prepare_dataset.ipynb # Preparación del dataset
|
||||
│ └── raytune_paddle_subproc_results_*.csv # Resultados de 64 trials
|
||||
├── results/ # Resultados de benchmarks
|
||||
├── instructions/ # Instrucciones y plantilla UNIR
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## A.3 Requisitos de Software
|
||||
|
||||
Para reproducir los experimentos se requieren las siguientes dependencias:
|
||||
|
||||
| Componente | Versión |
|
||||
|------------|---------|
|
||||
| Python | 3.11.9 |
|
||||
| PaddlePaddle | 3.2.2 |
|
||||
| PaddleOCR | 3.3.2 |
|
||||
| Ray | 2.52.1 |
|
||||
| Optuna | 4.6.0 |
|
||||
| jiwer | (última versión) |
|
||||
| PyMuPDF | (última versión) |
|
||||
|
||||
## A.4 Instrucciones de Ejecución
|
||||
|
||||
1. Clonar el repositorio
|
||||
2. Instalar dependencias: `pip install -r requirements.txt`
|
||||
3. Ejecutar el notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`
|
||||
|
||||
## A.5 Licencia
|
||||
|
||||
El código se distribuye bajo licencia MIT.
|
||||
Binary file not shown.
6075
instructions/plantilla_individual.htm
Normal file
6075
instructions/plantilla_individual.htm
Normal file
File diff suppressed because it is too large
Load Diff
1100
instructions/plantilla_individual.xml
Normal file
1100
instructions/plantilla_individual.xml
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>
|
||||
21
instructions/plantilla_individual_files/filelist.xml
Normal file
21
instructions/plantilla_individual_files/filelist.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<xml xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
<o:MainFile HRef="../plantilla_individual.htm"/>
|
||||
<o:File HRef="item0001.xml"/>
|
||||
<o:File HRef="props002.xml"/>
|
||||
<o:File HRef="item0003.xml"/>
|
||||
<o:File HRef="props004.xml"/>
|
||||
<o:File HRef="item0005.xml"/>
|
||||
<o:File HRef="props006.xml"/>
|
||||
<o:File HRef="item0007.xml"/>
|
||||
<o:File HRef="props008.xml"/>
|
||||
<o:File HRef="themedata.thmx"/>
|
||||
<o:File HRef="colorschememapping.xml"/>
|
||||
<o:File HRef="image001.png"/>
|
||||
<o:File HRef="image002.gif"/>
|
||||
<o:File HRef="image003.png"/>
|
||||
<o:File HRef="image004.jpg"/>
|
||||
<o:File HRef="image005.png"/>
|
||||
<o:File HRef="image006.gif"/>
|
||||
<o:File HRef="header.htm"/>
|
||||
<o:File HRef="filelist.xml"/>
|
||||
</xml>
|
||||
113
instructions/plantilla_individual_files/header.htm
Normal file
113
instructions/plantilla_individual_files/header.htm
Normal file
@@ -0,0 +1,113 @@
|
||||
<html xmlns:v="urn:schemas-microsoft-com:vml"
|
||||
xmlns:o="urn:schemas-microsoft-com:office:office"
|
||||
xmlns:w="urn:schemas-microsoft-com:office:word"
|
||||
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
|
||||
xmlns="http://www.w3.org/TR/REC-html40">
|
||||
|
||||
<head>
|
||||
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
||||
<meta name=ProgId content=Word.Document>
|
||||
<meta name=Generator content="Microsoft Word 15">
|
||||
<meta name=Originator content="Microsoft Word 15">
|
||||
<link id=Main-File rel=Main-File href="../plantilla_individual.htm">
|
||||
<!--[if gte mso 9]><xml>
|
||||
<o:shapedefaults v:ext="edit" spidmax="2050"/>
|
||||
</xml><![endif]-->
|
||||
</head>
|
||||
|
||||
<body link="#0563C1" vlink="#954F72">
|
||||
|
||||
<div style='mso-element:footnote-separator' id=fs>
|
||||
|
||||
<p class=MsoNormal><span lang=ES><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
|
||||
|
||||
<hr align=left size=1 width="33%">
|
||||
|
||||
<![endif]></span></span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style='mso-element:footnote-continuation-separator' id=fcs>
|
||||
|
||||
<p class=MsoNormal><span lang=ES><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
|
||||
|
||||
<hr align=left size=1>
|
||||
|
||||
<![endif]></span></span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style='mso-element:endnote-separator' id=es>
|
||||
|
||||
<p class=MsoNormal><span lang=ES><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
|
||||
|
||||
<hr align=left size=1 width="33%">
|
||||
|
||||
<![endif]></span></span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style='mso-element:endnote-continuation-separator' id=ecs>
|
||||
|
||||
<p class=MsoNormal><span lang=ES><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
|
||||
|
||||
<hr align=left size=1>
|
||||
|
||||
<![endif]></span></span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style='mso-element:header' id=eh1>
|
||||
|
||||
<p class=MsoHeader><span lang=ES><o:p> </o:p></span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style='mso-element:header' id=h1>
|
||||
|
||||
<p class=MsoHeader align=right style='margin:0cm;text-align:right;line-height:
|
||||
normal'><span lang=ES style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
|
||||
font-family:"Calibri Light",sans-serif;mso-ascii-theme-font:major-latin;
|
||||
mso-hansi-theme-font:major-latin;mso-bidi-font-family:"Times New Roman"'>Sergio
|
||||
Jiménez <span class=SpellE>Jiménez</span><o:p></o:p></span></p>
|
||||
|
||||
<p class=MsoHeader align=right style='margin:0cm;text-align:right;line-height:
|
||||
normal'><span lang=ES style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
|
||||
font-family:"Calibri Light",sans-serif;mso-ascii-theme-font:major-latin;
|
||||
mso-hansi-theme-font:major-latin;mso-bidi-font-family:"Times New Roman"'>Optimización
|
||||
de Hiperparámetros OCR con Ray Tune para Documentos Académicos en <span
|
||||
class=GramE>Español</span><o:p></o:p></span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style='mso-element:footer' id=ef1>
|
||||
|
||||
<p class=MsoFooter><span lang=ES><o:p> </o:p></span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style='mso-element:footer' id=f1>
|
||||
|
||||
<p class=Pgina><!--[if supportFields]><span lang=ES><span style='mso-element:
|
||||
field-begin'></span>PAGE<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT<span
|
||||
style='mso-element:field-separator'></span></span><![endif]--><span lang=ES><span
|
||||
style='mso-no-proof:yes'>13</span></span><!--[if supportFields]><span lang=ES><span
|
||||
style='mso-element:field-end'></span></span><![endif]--></p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style='mso-element:header' id=fh1>
|
||||
|
||||
<p class=MsoHeader><span lang=ES><o:p> </o:p></span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style='mso-element:footer' id=ff1>
|
||||
|
||||
<p class=MsoFooter><span lang=ES><o:p> </o:p></span></p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
BIN
instructions/plantilla_individual_files/image001.png
Normal file
BIN
instructions/plantilla_individual_files/image001.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
BIN
instructions/plantilla_individual_files/image002.gif
Normal file
BIN
instructions/plantilla_individual_files/image002.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
BIN
instructions/plantilla_individual_files/image003.png
Normal file
BIN
instructions/plantilla_individual_files/image003.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
BIN
instructions/plantilla_individual_files/image004.jpg
Normal file
BIN
instructions/plantilla_individual_files/image004.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
instructions/plantilla_individual_files/image005.png
Normal file
BIN
instructions/plantilla_individual_files/image005.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
BIN
instructions/plantilla_individual_files/image006.gif
Normal file
BIN
instructions/plantilla_individual_files/image006.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
258
instructions/plantilla_individual_files/item0001.xml
Normal file
258
instructions/plantilla_individual_files/item0001.xml
Normal file
@@ -0,0 +1,258 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><ct:contentTypeSchema ct:_="" ma:_="" ma:contentTypeName="Documento" ma:contentTypeID="0x010100DF3D7C797EA12745A270EF30E38719B9" ma:contentTypeVersion="19" ma:contentTypeDescription="Crear nuevo documento." ma:contentTypeScope="" ma:versionID="227b02526234ef39b0b78895a9d90cf5" xmlns:ct="http://schemas.microsoft.com/office/2006/metadata/contentType" xmlns:ma="http://schemas.microsoft.com/office/2006/metadata/properties/metaAttributes">
|
||||
<xsd:schema targetNamespace="http://schemas.microsoft.com/office/2006/metadata/properties" ma:root="true" ma:fieldsID="3c939c8607e2f594db8bbb23634dd059" ns2:_="" ns3:_="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:p="http://schemas.microsoft.com/office/2006/metadata/properties" xmlns:ns2="0a70e875-3d35-4be2-921f-7117c31bab9b" xmlns:ns3="27c1adeb-3674-457c-b08c-8a73f31b6e23">
|
||||
<xsd:import namespace="0a70e875-3d35-4be2-921f-7117c31bab9b"/>
|
||||
<xsd:import namespace="27c1adeb-3674-457c-b08c-8a73f31b6e23"/>
|
||||
<xsd:element name="properties">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="documentManagement">
|
||||
<xsd:complexType>
|
||||
<xsd:all>
|
||||
<xsd:element ref="ns2:SharedWithUsers" minOccurs="0"/>
|
||||
<xsd:element ref="ns2:SharedWithDetails" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceMetadata" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceFastMetadata" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceAutoKeyPoints" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceKeyPoints" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceAutoTags" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceOCR" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceGenerationTime" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceEventHashCode" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceDateTaken" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaLengthInSeconds" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceLocation" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:lcf76f155ced4ddcb4097134ff3c332f" minOccurs="0"/>
|
||||
<xsd:element ref="ns2:TaxCatchAll" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceSearchProperties" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:_Flow_SignoffStatus" minOccurs="0"/>
|
||||
<xsd:element ref="ns3:MediaServiceObjectDetectorVersions" minOccurs="0"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<xsd:schema targetNamespace="0a70e875-3d35-4be2-921f-7117c31bab9b" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dms="http://schemas.microsoft.com/office/2006/documentManagement/types" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls">
|
||||
<xsd:import namespace="http://schemas.microsoft.com/office/2006/documentManagement/types"/>
|
||||
<xsd:import namespace="http://schemas.microsoft.com/office/infopath/2007/PartnerControls"/>
|
||||
<xsd:element name="SharedWithUsers" ma:index="8" nillable="true" ma:displayName="Compartido con" ma:internalName="SharedWithUsers" ma:readOnly="true">
|
||||
<xsd:complexType>
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="dms:UserMulti">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="UserInfo" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="DisplayName" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="AccountId" type="dms:UserId" minOccurs="0" nillable="true"/>
|
||||
<xsd:element name="AccountType" type="xsd:string" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="SharedWithDetails" ma:index="9" nillable="true" ma:displayName="Detalles de uso compartido" ma:internalName="SharedWithDetails" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Note">
|
||||
<xsd:maxLength value="255"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="TaxCatchAll" ma:index="23" nillable="true" ma:displayName="Taxonomy Catch All Column" ma:hidden="true" ma:list="{c7f67346-78c9-4c4d-b954-8d350fdf60db}" ma:internalName="TaxCatchAll" ma:showField="CatchAllData" ma:web="0a70e875-3d35-4be2-921f-7117c31bab9b">
|
||||
<xsd:complexType>
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="dms:MultiChoiceLookup">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Value" type="dms:Lookup" maxOccurs="unbounded" minOccurs="0" nillable="true"/>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<xsd:schema targetNamespace="27c1adeb-3674-457c-b08c-8a73f31b6e23" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dms="http://schemas.microsoft.com/office/2006/documentManagement/types" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls">
|
||||
<xsd:import namespace="http://schemas.microsoft.com/office/2006/documentManagement/types"/>
|
||||
<xsd:import namespace="http://schemas.microsoft.com/office/infopath/2007/PartnerControls"/>
|
||||
<xsd:element name="MediaServiceMetadata" ma:index="10" nillable="true" ma:displayName="MediaServiceMetadata" ma:hidden="true" ma:internalName="MediaServiceMetadata" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Note"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceFastMetadata" ma:index="11" nillable="true" ma:displayName="MediaServiceFastMetadata" ma:hidden="true" ma:internalName="MediaServiceFastMetadata" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Note"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceAutoKeyPoints" ma:index="12" nillable="true" ma:displayName="MediaServiceAutoKeyPoints" ma:hidden="true" ma:internalName="MediaServiceAutoKeyPoints" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Note"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceKeyPoints" ma:index="13" nillable="true" ma:displayName="KeyPoints" ma:internalName="MediaServiceKeyPoints" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Note">
|
||||
<xsd:maxLength value="255"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceAutoTags" ma:index="14" nillable="true" ma:displayName="Tags" ma:internalName="MediaServiceAutoTags" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Text"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceOCR" ma:index="15" nillable="true" ma:displayName="Extracted Text" ma:internalName="MediaServiceOCR" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Note">
|
||||
<xsd:maxLength value="255"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceGenerationTime" ma:index="16" nillable="true" ma:displayName="MediaServiceGenerationTime" ma:hidden="true" ma:internalName="MediaServiceGenerationTime" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Text"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceEventHashCode" ma:index="17" nillable="true" ma:displayName="MediaServiceEventHashCode" ma:hidden="true" ma:internalName="MediaServiceEventHashCode" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Text"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceDateTaken" ma:index="18" nillable="true" ma:displayName="MediaServiceDateTaken" ma:hidden="true" ma:internalName="MediaServiceDateTaken" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Text"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaLengthInSeconds" ma:index="19" nillable="true" ma:displayName="Length (seconds)" ma:internalName="MediaLengthInSeconds" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Unknown"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceLocation" ma:index="20" nillable="true" ma:displayName="Location" ma:internalName="MediaServiceLocation" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Text"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="lcf76f155ced4ddcb4097134ff3c332f" ma:index="22" nillable="true" ma:taxonomy="true" ma:internalName="lcf76f155ced4ddcb4097134ff3c332f" ma:taxonomyFieldName="MediaServiceImageTags" ma:displayName="Etiquetas de imagen" ma:readOnly="false" ma:fieldId="{5cf76f15-5ced-4ddc-b409-7134ff3c332f}" ma:taxonomyMulti="true" ma:sspId="17631b59-e624-4eb7-963c-219f14f887a3" ma:termSetId="09814cd3-568e-fe90-9814-8d621ff8fb84" ma:anchorId="fba54fb3-c3e1-fe81-a776-ca4b69148c4d" ma:open="true" ma:isKeyword="false">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="pc:Terms" minOccurs="0" maxOccurs="1"></xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceSearchProperties" ma:index="24" nillable="true" ma:displayName="MediaServiceSearchProperties" ma:hidden="true" ma:internalName="MediaServiceSearchProperties" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Note"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="_Flow_SignoffStatus" ma:index="25" nillable="true" ma:displayName="Estado de aprobación" ma:internalName="Estado_x0020_de_x0020_aprobaci_x00f3_n">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Text"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MediaServiceObjectDetectorVersions" ma:index="26" nillable="true" ma:displayName="MediaServiceObjectDetectorVersions" ma:description="" ma:hidden="true" ma:indexed="true" ma:internalName="MediaServiceObjectDetectorVersions" ma:readOnly="true">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="dms:Text"/>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<xsd:schema targetNamespace="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all" xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:odoc="http://schemas.microsoft.com/internal/obd">
|
||||
<xsd:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd"/>
|
||||
<xsd:import namespace="http://purl.org/dc/terms/" schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd"/>
|
||||
<xsd:element name="coreProperties" type="CT_coreProperties"/>
|
||||
<xsd:complexType name="CT_coreProperties">
|
||||
<xsd:all>
|
||||
<xsd:element ref="dc:creator" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element ref="dcterms:created" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element ref="dc:identifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="contentType" minOccurs="0" maxOccurs="1" type="xsd:string" ma:index="0" ma:displayName="Tipo de contenido"/>
|
||||
<xsd:element ref="dc:title" minOccurs="0" maxOccurs="1" ma:index="4" ma:displayName="Título"/>
|
||||
<xsd:element ref="dc:subject" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element ref="dc:description" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="keywords" minOccurs="0" maxOccurs="1" type="xsd:string"/>
|
||||
<xsd:element ref="dc:language" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="category" minOccurs="0" maxOccurs="1" type="xsd:string"/>
|
||||
<xsd:element name="version" minOccurs="0" maxOccurs="1" type="xsd:string"/>
|
||||
<xsd:element name="revision" minOccurs="0" maxOccurs="1" type="xsd:string">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="lastModifiedBy" minOccurs="0" maxOccurs="1" type="xsd:string"/>
|
||||
<xsd:element ref="dcterms:modified" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="contentStatus" minOccurs="0" maxOccurs="1" type="xsd:string"/>
|
||||
</xsd:all>
|
||||
</xsd:complexType>
|
||||
</xsd:schema>
|
||||
<xs:schema targetNamespace="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="Person">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="pc:DisplayName" minOccurs="0"></xs:element>
|
||||
<xs:element ref="pc:AccountId" minOccurs="0"></xs:element>
|
||||
<xs:element ref="pc:AccountType" minOccurs="0"></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DisplayName" type="xs:string"></xs:element>
|
||||
<xs:element name="AccountId" type="xs:string"></xs:element>
|
||||
<xs:element name="AccountType" type="xs:string"></xs:element>
|
||||
<xs:element name="BDCAssociatedEntity">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="pc:BDCEntity" minOccurs="0" maxOccurs="unbounded"></xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute ref="pc:EntityNamespace"></xs:attribute>
|
||||
<xs:attribute ref="pc:EntityName"></xs:attribute>
|
||||
<xs:attribute ref="pc:SystemInstanceName"></xs:attribute>
|
||||
<xs:attribute ref="pc:AssociationName"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:attribute name="EntityNamespace" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="EntityName" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="SystemInstanceName" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="AssociationName" type="xs:string"></xs:attribute>
|
||||
<xs:element name="BDCEntity">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="pc:EntityDisplayName" minOccurs="0"></xs:element>
|
||||
<xs:element ref="pc:EntityInstanceReference" minOccurs="0"></xs:element>
|
||||
<xs:element ref="pc:EntityId1" minOccurs="0"></xs:element>
|
||||
<xs:element ref="pc:EntityId2" minOccurs="0"></xs:element>
|
||||
<xs:element ref="pc:EntityId3" minOccurs="0"></xs:element>
|
||||
<xs:element ref="pc:EntityId4" minOccurs="0"></xs:element>
|
||||
<xs:element ref="pc:EntityId5" minOccurs="0"></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="EntityDisplayName" type="xs:string"></xs:element>
|
||||
<xs:element name="EntityInstanceReference" type="xs:string"></xs:element>
|
||||
<xs:element name="EntityId1" type="xs:string"></xs:element>
|
||||
<xs:element name="EntityId2" type="xs:string"></xs:element>
|
||||
<xs:element name="EntityId3" type="xs:string"></xs:element>
|
||||
<xs:element name="EntityId4" type="xs:string"></xs:element>
|
||||
<xs:element name="EntityId5" type="xs:string"></xs:element>
|
||||
<xs:element name="Terms">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="pc:TermInfo" minOccurs="0" maxOccurs="unbounded"></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="TermInfo">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="pc:TermName" minOccurs="0"></xs:element>
|
||||
<xs:element ref="pc:TermId" minOccurs="0"></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="TermName" type="xs:string"></xs:element>
|
||||
<xs:element name="TermId" type="xs:string"></xs:element>
|
||||
</xs:schema>
|
||||
</ct:contentTypeSchema>
|
||||
1
instructions/plantilla_individual_files/item0003.xml
Normal file
1
instructions/plantilla_individual_files/item0003.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><b:Sources SelectedStyle="\APASixthEditionOfficeOnline.xsl" StyleName="APA" Version="6" xmlns:b="http://schemas.openxmlformats.org/officeDocument/2006/bibliography" xmlns="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"><b:Source><b:Tag>Dor81</b:Tag><b:SourceType>JournalArticle</b:SourceType><b:Guid>{D7C468B5-5E32-4254-9330-6DB2DDB01037}</b:Guid><b:Title>There's a S.M.A.R.T. way to write management's goals and objectives</b:Title><b:Year>1981</b:Year><b:Author><b:Author><b:NameList><b:Person><b:Last>Doran</b:Last><b:First>G.</b:First><b:Middle>T.</b:Middle></b:Person></b:NameList></b:Author></b:Author><b:JournalName>Management Review (AMA FORUM)</b:JournalName><b:Pages>35-36</b:Pages><b:Volume>70</b:Volume><b:RefOrder>1</b:RefOrder></b:Source></b:Sources>
|
||||
1
instructions/plantilla_individual_files/item0005.xml
Normal file
1
instructions/plantilla_individual_files/item0005.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><p:properties xmlns:p="http://schemas.microsoft.com/office/2006/metadata/properties" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls"><documentManagement><lcf76f155ced4ddcb4097134ff3c332f xmlns="27c1adeb-3674-457c-b08c-8a73f31b6e23"><Terms xmlns="http://schemas.microsoft.com/office/infopath/2007/PartnerControls"></Terms></lcf76f155ced4ddcb4097134ff3c332f><TaxCatchAll xmlns="0a70e875-3d35-4be2-921f-7117c31bab9b" xsi:nil="true"/><_Flow_SignoffStatus xmlns="27c1adeb-3674-457c-b08c-8a73f31b6e23" xsi:nil="true"/></documentManagement></p:properties>
|
||||
1
instructions/plantilla_individual_files/item0007.xml
Normal file
1
instructions/plantilla_individual_files/item0007.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?mso-contentType?><FormTemplates xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms"><Display>DocumentLibraryForm</Display><Edit>DocumentLibraryForm</Edit><New>DocumentLibraryForm</New></FormTemplates>
|
||||
2
instructions/plantilla_individual_files/props002.xml
Normal file
2
instructions/plantilla_individual_files/props002.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<ds:datastoreItem ds:itemID="{B3A822E2-E694-47D5-9E22-DA4B12671ABB}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.microsoft.com/office/2006/metadata/contentType"/><ds:schemaRef ds:uri="http://schemas.microsoft.com/office/2006/metadata/properties/metaAttributes"/><ds:schemaRef ds:uri="http://www.w3.org/2001/XMLSchema"/><ds:schemaRef ds:uri="http://schemas.microsoft.com/office/2006/metadata/properties"/><ds:schemaRef ds:uri="0a70e875-3d35-4be2-921f-7117c31bab9b"/><ds:schemaRef ds:uri="27c1adeb-3674-457c-b08c-8a73f31b6e23"/><ds:schemaRef ds:uri="http://schemas.microsoft.com/office/2006/documentManagement/types"/><ds:schemaRef ds:uri="http://schemas.microsoft.com/office/infopath/2007/PartnerControls"/><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"/><ds:schemaRef ds:uri="http://purl.org/dc/elements/1.1/"/><ds:schemaRef ds:uri="http://purl.org/dc/terms/"/><ds:schemaRef ds:uri="http://schemas.microsoft.com/internal/obd"/></ds:schemaRefs></ds:datastoreItem>
|
||||
2
instructions/plantilla_individual_files/props004.xml
Normal file
2
instructions/plantilla_individual_files/props004.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<ds:datastoreItem ds:itemID="{3CBD5336-2C2D-4DA8-8EBD-C205328B54AF}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>
|
||||
2
instructions/plantilla_individual_files/props006.xml
Normal file
2
instructions/plantilla_individual_files/props006.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<ds:datastoreItem ds:itemID="{DB456AF2-52F5-44D8-AEC6-B5F9D96C377E}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.microsoft.com/office/2006/metadata/properties"/><ds:schemaRef ds:uri="http://schemas.microsoft.com/office/infopath/2007/PartnerControls"/><ds:schemaRef ds:uri="27c1adeb-3674-457c-b08c-8a73f31b6e23"/><ds:schemaRef ds:uri="0a70e875-3d35-4be2-921f-7117c31bab9b"/></ds:schemaRefs></ds:datastoreItem>
|
||||
2
instructions/plantilla_individual_files/props008.xml
Normal file
2
instructions/plantilla_individual_files/props008.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<ds:datastoreItem ds:itemID="{BE74C307-52FE-48C3-92C2-E1552852BAAA}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms"/></ds:schemaRefs></ds:datastoreItem>
|
||||
BIN
instructions/plantilla_individual_files/themedata.thmx
Normal file
BIN
instructions/plantilla_individual_files/themedata.thmx
Normal file
Binary file not shown.
Reference in New Issue
Block a user