Readme
dots.ocr with confidence scores
🇬🇧 English
Advanced multilingual OCR model with per-word confidence scoring for document parsing, text extraction, and quality assessment.
Overview
This enhanced version of DOTS OCR adds confidence scoring capabilities to the original model, enabling quality assessment of extracted text. The model combines layout detection and content recognition in a single vision-language architecture, delivering state-of-the-art performance on text recognition, table extraction, and reading order tasks across 100+ languages.
Key Features
- Confidence Scoring: Get per-word confidence scores to identify potentially incorrect extractions
- Multilingual Support: Process documents in 100+ languages with excellent accuracy
- Layout Understanding: Recognizes document structure including paragraphs, tables, lists, and headers
- Multiple Prompt Modes: Flexible extraction options for different document types
- Bounding Box Support: Extract text from specific regions of interest
Use Cases
- Document Quality Control: Identify low-confidence extractions that need manual review
- Automated Document Processing: Process invoices, receipts, and forms with quality assurance
- Archival Digitization: Convert scanned documents while tracking accuracy
- Multilingual Content Extraction: Process documents in multiple languages reliably
- Table and Structure Extraction: Parse complex layouts with confidence metrics
Examples
Basic Text Extraction
import replicate
output = replicate.run(
"mind-ware/dots-ocr-with-confidence",
input={
"image": open("document.jpg", "rb"),
"return_confidence": True,
"confidence_threshold": 0.7
}
)
print(f"Extracted text: {output['text']}")
print(f"Average confidence: {output['avg_confidence']:.2f}")
print(f"Low confidence words: {output['low_confidence_count']}")
Extract Text from Specific Region
output = replicate.run(
"mind-ware/dots-ocr-with-confidence",
input={
"image": "https://example.com/invoice.pdf",
"prompt_mode": "grounding_ocr",
"bbox": "100,50,400,300", # x1,y1,x2,y2
"return_confidence": True
}
)
Structured Layout Analysis
output = replicate.run(
"mind-ware/dots-ocr-with-confidence",
input={
"image": open("report.png", "rb"),
"prompt_mode": "layout_all",
"return_confidence": True
}
)
# Check word-level confidence
for word_data in output['word_confidences']:
if word_data['confidence'] < 0.7:
print(f"Low confidence: '{word_data['word']}' ({word_data['confidence']:.2f})")
Tips for Best Results
Improve Accuracy
- Use high-resolution images (300 DPI or higher for scanned documents)
- Ensure good contrast between text and background
- Straighten rotated or skewed documents before processing
- Remove blur and noise from images when possible
Working with Confidence Scores
- Set
confidence_thresholdbetween 0.6-0.8 for most documents - Review words flagged as low confidence manually
- Lower thresholds (0.3-0.5) for handwritten or degraded documents
- Higher thresholds (0.8-0.9) for critical applications requiring high accuracy
Prompt Modes
- Use
prompt_mode=Nonefor simple text extraction - Use
prompt_mode='layout_all'when document structure matters - Use
prompt_mode='grounding_ocr'withbboxto extract specific regions - Use
prompt_mode='custom'withcustom_promptfor specialized extraction needs
Performance Optimization
- Process multiple pages asynchronously for faster throughput
- Use lower
max_tokensvalues when extracting short documents - Enable
return_confidenceonly when you need quality assessment
Technical Details
Built on a compact 1.7B parameter vision-language foundation, this model achieves state-of-the-art performance while maintaining faster inference speeds than larger competing models. The confidence scoring mechanism analyzes the model’s internal token probabilities to provide reliable quality metrics for each extracted word.
Limitations
- Very low-quality or heavily degraded images may produce unreliable confidence scores
- Handwritten text generally has lower confidence than printed text
- Artistic fonts and stylized text may be challenging to recognize accurately
- The model works best with document images; natural scene text may have reduced accuracy
🇮🇹 Italiano
Modello OCR multilingue avanzato con punteggi di confidenza per parola, ideale per analisi documentale, estrazione di testo e valutazione della qualità .
Panoramica
Questa versione migliorata di DOTS OCR aggiunge funzionalità di scoring di confidenza al modello originale, permettendo la valutazione della qualità del testo estratto. Il modello combina rilevamento del layout e riconoscimento del contenuto in un’unica architettura vision-language, offrendo prestazioni all’avanguardia nel riconoscimento del testo, estrazione di tabelle e analisi dell’ordine di lettura in oltre 100 lingue.
Caratteristiche Principali
- Punteggi di Confidenza: Ottieni punteggi di confidenza per ogni parola per identificare potenziali errori di estrazione
- Supporto Multilingue: Elabora documenti in oltre 100 lingue con eccellente accuratezza
- Comprensione del Layout: Riconosce la struttura del documento inclusi paragrafi, tabelle, liste e intestazioni
- Modalità Prompt Multiple: Opzioni di estrazione flessibili per diversi tipi di documento
- Supporto Bounding Box: Estrai testo da specifiche regioni di interesse
Casi d’Uso
- Controllo Qualità Documenti: Identifica estrazioni a bassa confidenza che richiedono revisione manuale
- Elaborazione Automatica Documenti: Processa fatture, ricevute e moduli con garanzia di qualitÃ
- Digitalizzazione Archivi: Converti documenti scannerizzati tracciando l’accuratezza
- Estrazione Contenuti Multilingue: Processa documenti in più lingue in modo affidabile
- Estrazione Tabelle e Strutture: Analizza layout complessi con metriche di confidenza
Esempi
Estrazione Testo Base
import replicate
output = replicate.run(
"mind-ware/dots-ocr-with-confidence",
input={
"image": open("documento.jpg", "rb"),
"return_confidence": True,
"confidence_threshold": 0.7
}
)
print(f"Testo estratto: {output['text']}")
print(f"Confidenza media: {output['avg_confidence']:.2f}")
print(f"Parole a bassa confidenza: {output['low_confidence_count']}")
Estrazione da Regione Specifica
output = replicate.run(
"mind-ware/dots-ocr-with-confidence",
input={
"image": "https://example.com/fattura.pdf",
"prompt_mode": "grounding_ocr",
"bbox": "100,50,400,300", # x1,y1,x2,y2
"return_confidence": True
}
)
Analisi Layout Strutturato
output = replicate.run(
"mind-ware/dots-ocr-with-confidence",
input={
"image": open("report.png", "rb"),
"prompt_mode": "layout_all",
"return_confidence": True
}
)
# Controlla la confidenza per parola
for word_data in output['word_confidences']:
if word_data['confidence'] < 0.7:
print(f"Bassa confidenza: '{word_data['word']}' ({word_data['confidence']:.2f})")
Consigli per Risultati Ottimali
Migliorare l’Accuratezza
- Usa immagini ad alta risoluzione (300 DPI o superiore per documenti scannerizzati)
- Assicura un buon contrasto tra testo e sfondo
- Raddrizza documenti ruotati o inclinati prima dell’elaborazione
- Rimuovi sfocatura e rumore dalle immagini quando possibile
Lavorare con i Punteggi di Confidenza
- Imposta
confidence_thresholdtra 0.6-0.8 per la maggior parte dei documenti - Rivedi manualmente le parole segnalate come a bassa confidenza
- Soglie più basse (0.3-0.5) per documenti manoscritti o degradati
- Soglie più alte (0.8-0.9) per applicazioni critiche che richiedono alta accuratezza
Modalità Prompt
- Usa
prompt_mode=Noneper semplice estrazione di testo - Usa
prompt_mode='layout_all'quando la struttura del documento è importante - Usa
prompt_mode='grounding_ocr'conbboxper estrarre regioni specifiche - Usa
prompt_mode='custom'concustom_promptper esigenze di estrazione specializzate
Ottimizzazione delle Prestazioni
- Elabora più pagine in modo asincrono per maggiore velocitÃ
- Usa valori
max_tokenspiù bassi quando estrai documenti brevi - Abilita
return_confidencesolo quando hai bisogno di valutazione della qualitÃ
Dettagli Tecnici
Basato su una fondazione vision-language compatta da 1.7B parametri, questo modello raggiunge prestazioni all’avanguardia mantenendo velocità di inferenza superiori rispetto a modelli concorrenti più grandi. Il meccanismo di scoring di confidenza analizza le probabilità interne dei token del modello per fornire metriche di qualità affidabili per ogni parola estratta.
Limitazioni
- Immagini di qualità molto bassa o molto degradate potrebbero produrre punteggi di confidenza inaffidabili
- Il testo manoscritto ha generalmente confidenza più bassa rispetto al testo stampato
- Font artistici e testo stilizzato potrebbero essere difficili da riconoscere con accuratezza
- Il modello funziona meglio con immagini di documenti; il testo in scene naturali potrebbe avere accuratezza ridotta