@@AR @@06 Herkenning van teksten: de onderliggende technieken blootgelegd Jeroen Baldewijns Aangezien we in dit nummer de meest recente versies van de tekstherkenningsprogramma's op de testbank leggen, leek ons dit het geschikte moment om eens te onderzoeken op welke technieken het tekstherkenningsproces doorgaans gebaseerd is en hoe het komt dat de kwaliteit van de herkenning afhankelijk is van de taal van het document. 1. Herkenningstechnieken Een tekstherkenningsprogramma is een zeer intelligent stukje software. Het moet op basis van een gescand beeld -zeg maar een elektronische foto van het document- een tekstbestand cre‰ren dat met een tekstverwerker editeerbaar is. Als je bedenkt hoe ingewikkeld de grafische vormgeving van een papieren document soms is of hoeveel verschillende soorten lettertypes erop kunnen voorkomen, dan is het niet verwonderlijk dat zelfs het beste tekstherkenningspakket hier en daar een steekje laat vallen. De meeste tekstherkenningsprogramma's doen ondermeer een beroep op de volgende basistechnieken: tekenherkenning, taalcontrole en training. 1.1. Tekenherkenning Op basis van de contouren van een letter of cijfer gaat het tekstherkenningsprogramma trachten te bepalen om welk teken het precies gaat. Het kan hiervoor beroep doen op een uitgebreide databank met informatie over al de letters, cijfers, leestekens en speciale tekens die in de meest uiteenlopende lettertypes voorkomen. Omdat dergelijke informatiebanken over lettertypes niet onbeperkt zijn en omdat de kwaliteit van de contourherkenning in belangrijke mate afhankelijk is van de scankwaliteit, zal het regelmatig voorkomen dat het herkenningsprogramma een teken herkent dat er helemaal niet staat. Een cijfer "5" op een gescande afbeelding van een document met een slechte drukkwaliteit kan bijvoorbeeld omwille van de gelijkende vorm gemakkelijk verward worden met de letter "S". Om dergelijke fouten te voorkomen zijn er dus nog bijkomende herkenningstechnieken vereist die het resultaat verder verfijnen. 1.2. Taalcontrole Vrijwel ieder tekstherkenningsprogramma gaat na de tekenherkenning de tekst verder controleren aan de hand van taalmodules. De meest geavanceerde programma's zijn in staat om aan de hand van de herkende tekens zelfstandig te detecteren in welke taal het document is opgesteld. Bij minder geavanceerde programma's moet de gebruiker die taal zelf opgeven. Momenteel gebeurt deze taalcontrole meestal enkel op basis van een woordenboek. We geven een voorbeeld. In een Nederlandse tekst wordt de letterreeks "weintg" herkend op basis van tekenherkenning. Bij controle aan de hand van het woordenboek blijkt dit woord niet te bestaan. Het herkenningsprogramma gaat dan op zoek naar een woord dat sterk gelijkt op het herkende foutieve woord, vindt "weinig" en vervangt dus "weintg" door "weinig". Sinds kort doen echter nieuwe controlemethodes hun intrede, de zogenaamde corpus-gebaseerde technieken. Een corpus is een grote verzameling tekst zoals die in ons dagelijks taalgebruik (gesprekken, boeken, toespraken, etcetera) frequent voorkomt. Een controle aan de hand van een corpus zal niet enkel de woorden maar ook de zinsneden controleren en baseert zich bovendien ook op statistische modellen. We illusteren dit met een voorbeeld. In een Nederlandse tekst komt na de tekenherkenning het woord "vqn" voor. In het woordenboek worden drie bestaande woorden gevonden die op "vqn" lijken: "van", "ven" en "vin". Er kan onmogelijk uitgemaakt worden welk van deze drie woorden de juiste vervanging vormt voor "vqn". Het gebruik van een corpus biedt hier soelaas omdat er ook gekeken wordt naar de omringende woorden. Omdat het volgende herkende woord "het" is, kan uit de voorbeeldzinnen en de statistische modellen afgeleid worden dat "vqn" moet vervangen worden door "van". Met behulp van een goed corpus is het dus mogelijk om een slecht herkende tekst sterk te verbeteren. Algemeen wordt verwacht dat deze techniek op korte termijn een grote vooruitgang zal teweegbrengen bij tekstherkenningsproducten. 1.3. Aanleertechniek Een laatste techniek die door tekstherkenningsprogramma's veelvuldig wordt gebruikt is de aanleertechniek (training). Ook hier geven we een voorbeeld ter verduidelijking. Het tekstherkenningsprogramma heeft in een document systematisch een aantal tekens foutief herkend omdat de tekst opgemaakt is in een onbekend lettertype. De gebruiker kan dan achteraf de tekst corrigeren en het herkenningsprogramma de opdracht geven deze correcties te analyseren en de aldus opgedane kennis toe te voegen aan de reeds aanwezige informatie over letter- en cijfercontouren en/of een het woordenboek. Deze techniek maakt het tekstherkenningsprogramma "effici‰nter" naarmate het langer in gebruik is. 2. Ondersteuning van talen Dikwijls stellen we vast dat Amerikaanse publicaties zich lovend uitlaten over de grote accuratesse van tekstherkenningsprogramma's. Er is soms sprake van 98 tot 99% correct herkende tekens, maar dit geldt enkel voor Amerikaanse teksten, terwijl uit de Europese praktijk blijkt dat de resultaten minder goed uitvallen. De reden hiervoor is dikwijls voor de hand liggend. De meeste herkenningsproducten zijn van Amerikaanse oorsprong (zoals OmniPage of TextBridge) en zijn dus zeer goed geoptimaliseerd voor het Amerikaans. Bij de ontwikkeling van deze producten kreeg ondersteuning voor andere talen doorgaans een veel lagere prioriteit, waardoor herkenning van teksten in die talen (zeker in "onbelangrijke" talen als het Nederlands) beduidend minder goed is. Bijgevolg zou je logischerwijs van Europese producten (zoals Recognita of Readris) verwachten dat ze op dit vlak beter scoren, hoewel dit niet uit onze test blijkt.