Tesseract model for Karakalpak (Latin)
Tesseract LSTM model for printed Karakalpak in the current Latin alphabet, including á ǵ ı ń ó ú. Fine-tuned from Tesseract's English model, with a Karakalpak word list, punctuation and number dictionaries built in. For Cyrillic Karakalpak use kaa-ml/tesseract-kaa-cyrl.
Benchmark
12 pages from digital Karakalpak (Latin) academic PDFs, rendered at 300 DPI; reference = the PDF's own text layer. --psm 3. CER = character error rate (lower is better). Letter recall = share of á ó ú ı ń ǵ in the reference found in the output.
| Model |
CER |
Karakalpak letter recall |
this model (kaa_Latn) |
4.71% |
99.6% |
Tesseract tur |
12.27% |
56.1% |
Tesseract uzb |
15.44% |
0% |
Tesseract eng |
16.12% |
0% |
These are clean digital documents; old or poor scans will score worse. Speed: ~3.5 s per A4 page on a MacBook CPU.
Usage
tesseract page.png out -l kaa_Latn --tessdata-dir ./tessdata --psm 3
import pytesseract
from huggingface_hub import hf_hub_download
from PIL import Image
path = hf_hub_download("kaa-ml/tesseract-kaa-latn", "kaa_Latn.traineddata")
text = pytesseract.image_to_string(
Image.open("page.png"),
lang="kaa_Latn",
config=f"--tessdata-dir {path.rsplit('/', 1)[0]} --psm 3",
)
Mixed documents: -l kaa_Latn+eng or -l kaa_Latn+rus.
Training
Fine-tuned in 2023 from eng (Tesseract 4.1.1 format, works with Tesseract 4 and 5) on Karakalpak Latin text; training data and fonts: qaraqalpaq/preparing_ocr_dataset. Also published earlier as davron112/kaa-karakalpak-ocr (identical file).
License
Apache-2.0, same as Tesseract's traineddata.