# Pipeline OCR - Manuels de Chinois

Pipeline automatisé pour extraire le texte des manuels de chinois scannés (PDF) avec PaddleOCR et correction IA par GPT-4o-mini.

## Installation

### 1. Installer les dépendances Python

```bash
pip install -r requirements-ocr.txt
```

### 2. Installer poppler (pour pdf2image)

**Linux (Ubuntu/Debian):**
```bash
sudo apt-get install poppler-utils
```

**Windows:**
- Télécharger depuis: https://github.com/oschwartz10612/poppler-windows/releases
- Ajouter le dossier `bin` au PATH

**macOS:**
```bash
brew install poppler
```

### 3. Configuration (optionnelle - pour correction IA)

Créer un fichier `.env` à la racine du projet :

```bash
cp .env.example .env
```

Puis éditer `.env` et ajouter votre clé API OpenAI :

```
OPENAI_API_KEY=sk-your-api-key-here
```

## Utilisation

### Mode Auto (traiter tous les PDFs)

```bash
python ocr_pipeline.py --mode auto
```

Ceci va traiter tous les PDFs dans `Raw/*/PDF/` et créer les fichiers dans `Raw/*/OCR/`

### Mode Manuel (traiter un fichier spécifique)

```bash
python ocr_pipeline.py --mode manual --input "Raw/DevelopChinese/PDF/听力Chapter1.pdf"
```

### Avec correction IA (recommandé !)

```bash
python ocr_pipeline.py --mode manual --input "Raw/Hanyu Jiaocheng/PDF/汉语Chapter1.pdf" --ai-correction
```

La correction IA utilise GPT-4o-mini pour :
- Corriger les erreurs OCR (caractères manquants, mal reconnus)
- Vérifier la cohérence pinyin/caractères chinois
- Compléter les phrases tronquées
- Corriger la ponctuation chinoise

### Avec GPU (plus rapide si GPU disponible)

```bash
python ocr_pipeline.py --mode auto --gpu
```

### Options avancées

```bash
# Mode auto avec correction IA
python ocr_pipeline.py --mode auto --ai-correction

# Changer la résolution de conversion (plus élevé = meilleur qualité mais plus lent)
python ocr_pipeline.py --mode auto --dpi 400

# Spécifier un dossier de sortie personnalisé
python ocr_pipeline.py --mode manual --input "Raw/Kouyu/PDF/test.pdf" --output "Output/Test"

# Tout ensemble
python ocr_pipeline.py --mode auto --ai-correction --gpu --dpi 400
```

## Structure des fichiers

### Avant traitement:
```
Raw/
├── DevelopChinese/
│   └── PDF/
│       ├── 听力Chapter1.pdf
│       └── ...
├── Hanyu Jiaocheng/
│   └── PDF/
└── ...
```

### Après traitement:
```
Raw/
├── DevelopChinese/
│   ├── PDF/
│   │   ├── 听力Chapter1.pdf
│   │   └── ...
│   └── OCR/
│       ├── 听力Chapter1.txt                # Texte brut OCR
│       ├── 听力Chapter1_corrected.txt      # Texte corrigé par IA (si --ai-correction)
│       ├── 听力Chapter1.json               # Résultats détaillés avec coordonnées
│       └── ...
├── Hanyu Jiaocheng/
│   ├── PDF/
│   └── OCR/
└── ...
```

## Formats de sortie

### Fichier .txt
Texte brut extrait par OCR, organisé par page.

### Fichier _corrected.txt (si --ai-correction)
Texte corrigé par GPT-4o-mini :
- Erreurs OCR corrigées
- Phrases complétées
- Ponctuation chinoise corrigée
- Cohérence pinyin/caractères vérifiée

### Fichier .json
Résultats détaillés incluant:
- Texte par page (brut et corrigé)
- Coordonnées des boîtes de détection
- Scores de confiance
- Métadonnées (date de traitement, source, correction IA activée)

## Performance

- **Sans GPU**: ~30-60 secondes par page (selon la densité de texte)
- **Avec GPU**: ~10-20 secondes par page
- **DPI recommandé**: 300 (bon compromis qualité/vitesse)

## Dépannage

### Erreur: "poppler not found"
Installez poppler (voir section Installation ci-dessus)

### Mémoire insuffisante
Réduisez le DPI: `--dpi 200`

### Résultats de faible qualité
Augmentez le DPI: `--dpi 400` ou `--dpi 600`

## Notes

- Le script détecte automatiquement les caractères chinois et anglais
- Les images tournées sont automatiquement corrigées
- Le premier lancement peut prendre du temps (téléchargement des modèles)
