De eerste automatische lezing zag er perfect uit. Elk veld dat ertoe deed, was leeg
Een extractie die een compleet ogend resultaat teruggeeft zonder iets belangrijks erin, is erger dan een extractie die faalt.
Een Nederlandse zonweringinstallateur
Monteurs vullen inmeetformulieren met de hand in op een tablet. Die in een order krijgen betekende ze overtypen. De eerste automatische poging leverde uitvoer op die er compleet uitzag en geen enkele maat, kleur of instructie bevatte.
Het vraagstuk
De formulieren zijn foto's van installatielocaties met handgeschreven aantekeningen erop: afmetingen, kleurcodes, motortypes, montage-instructies. Alles wat bepaalt wat er wordt geproduceerd, zit in het handschrift.
De eerste poging haalde afbeeldingen uit de documenten en leverde een net, plausibel ogend resultaat op. Het bevatte elke foto en niet één instructie.
Erger nog: de gangbare diagnose was het ermee eens. Een conventionele tekstextractor over de documenten gaf nul tekens terug, wat eruitziet als duidelijk bewijs dat er geen tekst te vinden is. Het versterkte precies de verkeerde conclusie, en dat is de duurste soort bewijs.
Wat we deden
Het zelfverzekerde lege resultaat wantrouwen
Nul uitgelezen tekens is geen bewijs dat er niets staat. Het is bewijs dat deze lezer niets vond. Het onderzoek begon door het nette resultaat als symptoom te behandelen.
De echte structuur vinden
De foto en het handschrift zijn opgeslagen als aparte lagen met verschillende coderingen. Alleen de fotolaag uitlezen levert elke afbeelding op en geen enkele aantekening, en dat was precies wat er was gebeurd.
Eerst samenvoegen, dan lezen
De volledige pagina renderen, alle lagen samen en in hogere resolutie, levert op wat een mens werkelijk ziet, en pas dan valt er iets te lezen.
Onzekerheid een type maken, geen opmerking
Elke lezing is duidelijk, onzeker of onleesbaar. Het typesysteem vereist een notitie zodra een waarde niet duidelijk is, en de letterlijke oorspronkelijke tekst wordt altijd naast de interpretatie bewaard.
Testen dat lege velden leeg blijven
De specifieke fout om tegen te waken is een leeg veld dat ongemerkt de waarde van een buurveld overneemt. Tests stellen vast dat onzekerheid de hele pipeline overleeft in plaats van te worden weggepoetst.
Hoe het werkt
Twee lagen, één pagina
Eén formulier bevatte tweeëntwintig afbeeldingen, waarvan acht foto's. De overige lagen droegen de aantekeningen: het deel dat de order bepaalt.
De misleidende diagnose
Een conventionele tekstextractor gaf niets terug, wat las als bevestiging dat de documenten geen tekst bevatten. Hij bevestigde zijn eigen beperking.
Renderen, niet extraheren
De pagina in hogere resolutie samenvoegen leverde complete situaties op: afmetingen, kleurcodes, motortype, montage-instructies en een volledige specificatie.
Lezen wat een mens ziet
De juiste invoer voor het model is de gerenderde pagina, niet de interne objectstructuur van het document.
Drie toestanden, niet twee
Duidelijk, onzeker, onleesbaar. Dit terugbrengen tot waarde-of-leeg verliest het onderscheid tussen 'er stond niets' en 'er stond iets dat ik niet kon lezen'.
Afgedwongen door de compiler
Een lezing die niet duidelijk is, kan niet worden aangemaakt zonder notitie. De garantie is structureel, geen afspraak die iemand moet onthouden.
Het origineel blijft bewaard
De ruwe tekst staat naast elke interpretatie, zodat een menselijke beoordelaar de lezing van de machine altijd kan vergelijken met wat er werkelijk stond.
Geen behulpzaam gokken
Dertien tests stellen vast dat een leeg veld leeg blijft in plaats van een plausibele waarde van een naastgelegen veld over te nemen. Behulpzaamheid is hier niet te onderscheiden van verzinnen.
Technologie
Het resultaat
Na het samenvoegen leverde één formulier zes complete situaties op met afmetingen, kleurcodes, motortype, montage-instructie en een volledige specificatie, uit documenten die een eerste poging had ingedeeld als documenten zonder leesbare tekst.
De duurzamere uitkomst is het onzekerheidsmodel. Dertien tests bestaan uitsluitend om vast te stellen dat het systeem geen gaten opvult. Een extractiepipeline die gokt, bespaart geen tijd; het is een bron van productiefouten met een zeer overtuigende gebruikersinterface.
De algemene les reikt veel verder dan inmeetformulieren: als een automatische lezing er compleet uitziet, is de eerste vraag hoe die eruit had gezien als ze was mislukt.
Inmeetformulieren bevatten namen, adressen en locatiefoto's van klanten. Geen enkel formulier, testbestand of uittreksel daarvan wordt hier weergegeven.
Verwant werk
Drie procent ziet er volkomen normaal uit
De prijslijst van een leverancier lag drie procent te hoog. Precies het soort fout dat niemand opmerkt.
Voordat de factuurknop live ging, bouwden we wat hem tegenhoudt
Het systeem stond op het punt klanten te gaan mailen. Niets hield het tegen om ze allemaal te mailen.