Optical character recognition (OCR) is de omzetting van afbeeldingen van tekst, zoals scans en fotografische opnamen, naar machineleesbare tekendata.
OCR beantwoordt één vraag: welke tekens staan op deze pagina. OCR bepaalt niet wat het document is, welke waarden van belang zijn, of dat een van die waarden juist is.
Wat OCR daadwerkelijk oplevert
Een moderne OCR-engine levert meer dan een platte tekenreeks. Typische uitvoer bestaat uit de herkende tekens, hun begrenzingscoördinaten op de pagina, een zekerheidswaarde per teken of per woord, en een beschrijving van de structuur zoals regels, blokken en leesvolgorde.
Die structurele uitvoer is de reden dat OCR-kwaliteit geen enkel getal is. Een engine kan elk teken correct lezen en die tekens toch in een volgorde teruggeven die het resultaat onbruikbaar maakt. Dat gebeurt standaard bij meerkolomsopmaak, zijkolommen en formulieren waarin labels en waarden visueel naast elkaar staan maar in de onderliggende stroom ver uiteen liggen.
Layoutanalyse en leesvolgorde
Vóór de herkenning wordt de pagina gesegmenteerd: tekstblokken worden van afbeeldingen gescheiden, kolommen worden vastgesteld, tabellen worden gedetecteerd, kop- en voetteksten worden apart gezet. Dit is layoutanalyse, en die bepaalt of de tekens terugkomen in een volgorde die een mens zou herkennen als de inhoud van het document.
Tabellen vormen de standaardmoeilijkheid. Een tabel zonder randen is visueel evident en structureel onzichtbaar, dus celgrenzen moeten worden afgeleid uit de uitlijning van witruimte. Samengevoegde cellen, tekst die binnen een cel doorloopt en tabellen die over een pagina-einde doorlopen, doorbreken elke naïeve detectie.
Detectie van taal en schrift
Bij meertalige documenten moet de taal vóór of tijdens de herkenning worden vastgesteld, omdat tekenmodellen taalspecifiek zijn en de woordenboeken waarmee dubbelzinnige vormen worden gecorrigeerd dat evenzeer zijn. Documenten met gemengde schriftsoorten, gebruikelijk in Arabische en Golfregionale bedrijfsdocumentatie waar Engelse productnamen in Arabisch proza staan, vragen detectie per regio en niet één taalinstelling op documentniveau.
Schriften die van rechts naar links lopen voegen een complexiteit in de leesvolgorde toe die losstaat van de tekennauwkeurigheid. Een systeem kan elk Arabisch teken correct identificeren en die tekens toch uitvoeren in een volgorde die de betekenis omkeert wanneer zij worden gecombineerd met Latijnse tekst en cijfers.
Waarom OCR-uitvoer geen gestructureerde data is
Dit is het onderscheid dat commercieel van belang is, en het onderscheid dat het vaakst wordt vertroebeld. OCR geeft u tekst. Een proces heeft waarden nodig: dit factuurnummer, dat totaal, deze regelposten, deze datum van ondertekening.
Om van het een naar het ander te komen moet worden bepaald wat het document is, en dat is documentclassificatie, waarna specifieke waarden moeten worden gelokaliseerd en geïnterpreteerd, en dat is het extraheren van documentdata. Samen met validatie en routering vormt die keten intelligent document processing. OCR is de eerste inhoudelijke stap daarvan, geen vervanging ervan.
Een bruikbare toets: als de uitvoer van uw systeem doorzoekbaar is maar iemand nog steeds elk document moet lezen om waarden in een ander systeem in te voeren, dan hebt u OCR in gebruik en geen documentautomatisering.
Nauwkeurigheid hangt meer af van de input dan van de engine
Teams die OCR-engines vergelijken vinden de verschillen doorgaans kleiner dan verwacht, omdat de beeldkwaliteit overheerst. Een resolutie onder ongeveer 200 punten per inch, zware JPEG-compressie, scheefstand, schaduwen op telefoonopnamen, vage uitvoer van thermische printers en scannen met het verkeerde contrast kosten allemaal meer nauwkeurigheid dan het verschil tussen competente engines.
Daarom weegt voorbewerking onevenredig zwaar. Rechtzetten, ruisverwijdering, contrastnormalisatie en het weigeren van afbeeldingen die onder een kwaliteitsdrempel vallen voordat herkenning wordt geprobeerd, verbeteren het eindresultaat doorgaans meer dan het wisselen van engine.
Het gevolg is de moeite waard om ronduit te benoemen: een project dat zijn aanleverkanaal repareert, bijvoorbeeld door gefotografeerde documenten te vervangen door een scanapplicatie die resolutie en uitsnede afdwingt, wint vaak meer dan een project dat dezelfde inspanning aan modelkeuze besteedt.
Wat er vaak misgaat
Nauwkeurigheid wordt op tekenniveau opgegeven. Negenennegentig procent tekennauwkeurigheid klinkt uitstekend en kan nog steeds betekenen dat een aanzienlijk deel van de documenten minstens één onjuist veld bevat, omdat fouten zich concentreren in de minderheid van slechte kwaliteit in plaats van zich gelijkmatig te verdelen.
Zekerheid wordt als juistheid opgevat. Een hoge OCR-zekerheidswaarde geeft de zekerheid van de engine over tekenvormen aan. Zij zegt niets over de vraag of de waarde de juiste is voor het veld. Zie confidence score.
Er wordt aangenomen dat handschrift binnen het bereik valt. Herkenning van handgeschreven tekst is een ander vraagstuk met een wezenlijk andere nauwkeurigheid, en begrensde velden zoals data in vakjes gedragen zich heel anders dan vrije aantekeningen.
Contellect One voert herkenning uit in de leesfase van intelligent document processing.
