Ewe Tesseract OCR
ewe.traineddata is an experimental Tesseract 5 recognition model for Ewe (ee / ISO 639-3 ewe). It was fine-tuned from the official high-accuracy Latin.traineddata model using deterministic, synthetically rendered Ewe text lines.
This is a v0.1 research preview. Its reported error rates measure recognition of held-out synthetic line images. They do not measure end-to-end performance on real scanned pages, page segmentation, layout analysis, reading order, tables, or handwriting.
Evaluation
The 40,000-line training collection was deterministically divided by the official tesstrain workflow into 36,000 optimization lines and 4,000 internal evaluation lines. The final model was re-evaluated with Tesseract 5.5.2 lstmeval:
BCER eval=1.119, BWER eval=3.009
| Measurement | Lines | BCER | BWER |
|---|---|---|---|
| Final training estimate | 36,000 | 1.146% | 3.175% |
| Held-out synthetic evaluation | 4,000 | 1.119% | 3.009% |
BCER is Tesseract's character error rate and BWER is its word error rate. Lower is better. These values must not be presented as accuracy on real PDFs.
Reproduction command for the internal evaluation:
lstmeval \
--verbosity=0 \
--model ewe.traineddata \
--eval_listfile list.eval
The list.eval file and line-image training data are not distributed in this model repository pending a source-data rights review. The exact result and environment are recorded in metrics/evaluation.json; the complete original console output is in metrics/training.log.
Training
- Tesseract/lstmtraining: 5.5.2
- Official tesstrain commit:
405346a3a67d8e4e049341d1da6a4b752e0b8351 - Starting model:
tessdata_best/script/Latin.traineddata - Starting-model SHA-256:
cf7216998bf7f363f18e3def04cc6b28ae954d2a5a3bdad09f743c9d3538ef35 - Iterations: 10,000
- Deterministic seed:
20260806 - Internal train/evaluation ratio: 90/10
- Synthetic training lines: 40,000
- Separate project validation lines: 5,000, not yet scored
- Separate project test lines: 5,000, not yet scored
- Normalization: Unicode NFC
- Required Ewe character coverage:
ɛ ɔ ŋ ɖ ƒ ʋ Ɛ Ɔ Ŋ Ɖ Ƒ Ʋ
The synthetic renderer used only fonts verified to contain every required Ewe character. Configurable degradation covered blur, skew, contrast, noise, JPEG compression, and faded print. See config/pipeline.json and config/tesstrain.mk.
Training command:
PATH="$(pwd)/.venv/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin" \
gmake -f tesstrain.mk train ALLOW_LONG_TRAINING=YES \
MAX_ITERATIONS=10000 RANDOM_SEED=20260806 JOBS=10
Installation
Download ewe.traineddata and place it in a dedicated tessdata directory:
mkdir -p ./tessdata
curl -L \
https://huggingface.co/NissiKlaus/ewe-tesseract-ocr/resolve/main/ewe.traineddata \
-o ./tessdata/ewe.traineddata
Recognize a single line image:
tesseract line.png stdout --tessdata-dir ./tessdata -l ewe --psm 13
Recognize a page whose layout is approximately one uniform block of text:
tesseract page.png stdout --tessdata-dir ./tessdata -l ewe --psm 6
For PDFs, render each page to PNG or TIFF first. Page segmentation mode must be selected for the document layout; --psm 3 is automatic page segmentation, --psm 6 assumes one text block, and --psm 13 treats the image as one line.
Intended uses
- Research on printed Ewe OCR
- Recognition of already-segmented Ewe text lines
- Prototyping searchable text extraction from printed Ewe documents
- Fine-tuning and evaluation by low-resource-language researchers
Limitations
- No manually transcribed real-scan CER/WER benchmark has been completed.
- The model was trained on synthetic line images, so its reported metrics are optimistic for real documents.
- Page segmentation and reading order were not trained or measured by the line recognizer.
- OCR output should be reviewed by an Ewe reader before use in consequential settings.
- Tesseract confidence values are not accuracy percentages.
Files
ewe.traineddata: deployable Tesseract modelcheckpoints/ewe_checkpoint: final continuation checkpointmetrics/training.log: complete tesstrain logmetrics/training-curve.png: training-error curvemetrics/evaluation.json: machine-readable evaluation recordconfig/: deterministic preprocessing and training configurationSHA256SUMS: artifact integrity checks
License and data notice
The starting Tesseract/tessdata model is distributed under Apache-2.0. The source corpus, PDFs, extracted text, and rendered training images are not included here. The license for this fine-tuned research-preview artifact is currently marked other pending a documented review of all training-corpus rights. See LICENSE.md before redistribution or commercial use.
Citation
A paper citation is not yet available. Until then, cite this repository, model version v0.1.0, and its immutable Hugging Face commit hash.
Evaluation results
- Character error rate (percent) on Held-out synthetic Ewe line imagesself-reported1.119
- Word error rate (percent) on Held-out synthetic Ewe line imagesself-reported3.009
