chineseclass/docs/README-OCR.md
StillHammer a61a32b57f Reorganize repository structure
- 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>
2025-10-27 23:28:39 +08:00

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)