- Move all Python scripts to tools/ directory - Move documentation files to docs/ directory - Create exams/ and homework/ directories for future use - Remove temporary test file (page1_preview.png) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
166 lines
4.0 KiB
Markdown
166 lines
4.0 KiB
Markdown
# 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)
|