Achtergrond
Dit artikel beschrijft een technisch experiment met het maken van automatische transcripties van handgeschreven teksten. Daarvoor is Loghi gebruikt, open source software ontwikkeld door het Huygens Instituut, gebaseerd op kunstmatige neurale netwerken. De uitdaging was om deze software op mijn eigen laptop aan de praat te krijgen. Niet alleen om transcripties te maken met behulp van een bestaand model, maar ook om zelf een bestaand model aanvullend te trainen om een specifiek handschrift beter te kunnen herkennen.

Loghi werkt het best onder Linux. Daarvoor zijn er twee mogelijkheden. De eerste optie is om een Linux-distributie op een aparte partitie op een laptop of pc te installeren. De tweede is om onder Windows gebruik te maken van het Windows Subsystem for Linux (WSL). De ontwikkelaars van de Loghi-software raden die tweede optie af. Dat is terecht, gezien mijn eigen ervaringen. Tekstherkenning o.b.v. een bestaand model lukt wel met WSL, maar het trainen van een eigen aangepast model loopt na enkele rondes vast.
Op een oude laptop was al Ubuntu geïnstalleerd. Daarom heb ik die vooral gebruikt voor mijn experimenten. Helaas heeft deze laptop geen afzonderlijke grafische kaart, terwijl ook het geheugen beperkt is. Daardoor duurt zowel herkenning als training nogal lang. Omdat de oude laptop niet meer voor andere doelen nodig wordt gebruikt was dat voor dit experiment geen probleem.
Loghi versus Transkribus
Nadat tekstherkenning met Loghi op mijn laptop bleek te werken, heb ik enkele automatische transcripties vergeleken met die op basis van Transkribus. Transkribus vergt veel minder technische kennis, maar voor grotere aantallen scans is een betaald abonnement nodig. Qua tekstherkenning doet Loghi niet onder voor Transkribus. Transkribus is wel beter in het herkennen van ingewikkelde lay-out. Bijvoorbeeld als er veel aantekeningen in de marge staan. In proclamatieboeken komt dat nogal eens voor als iemand bezwaar aantekent tegen een verkooptransactie.
Werkwijze bij trainen
Eerst heb ik van een aantal afbeeldingen uit proclamatieboeken automatische transcripties laten maken, met behulp van een bestaand model. De resultaten heb ik gecorrigeerd. Met de verbeterde transcripties kon ik hetzelfde model aanvullend trainen.
Hiervoor zijn in eerste instantie alleen proclamaties gebruikt van de hand van secretaris Sybrandus Huijsinga. Hij was actief van 1704 tot begin 1729, eerst als substituut, later als secretaris. Dankzij deze lange periode is het op zijn handschrift getrainde model bruikbaar voor meerdere proclamatieboeken. Hij had een vrij duidelijk handschrift. Dat is niet alleen mijn mening, maar het blijkt ook uit de ‘confidence scores’ die de software berekent. Het basismodel had wel vaak moeite met zijn hoofdletters. In 2010 verscheen in De Sneuper een artikel van mij over deze secretaris. Zie ook twee bijdragen op deze website van 20 februari 2010 en 23 juni 2010.
Door het aantal voorbeeldtranscripties geleidelijk uit te breiden werden de resultaten steeds beter. De laatste versie is gebaseerd op 55 afbeeldingen. Elke afbeelding bestaat uit een linker- en rechterpagina. Het trainen van een neuraal netwerk verloopt in een aantal ronden. Na zes van die ronden werd een Character Error Rate (CER) van 2,1% bereikt. Dat geeft het percentage fout herkende letters weer.
Loghi slaat de herkende tekst op in XML-bestanden, één voor elke afbeelding. Met een zelfgeschreven Python-script zijn de teksten uit een map met XML-bestanden samengevoegd tot één tekstbestand.
Voorbeeld van automatische transcriptie

Willem Jans ende Jits hendrix echtenl: in de Rottevalle, doen proclameren; sekere huijsinge ende schuijre beneffens de huijsstede ende tuijn met alles watter aen behoort, staende ende gelegen in de rottevalle onder H: Opeinde, wordende bij de vercoper bewoont ende gebruijckt, vrij van grontpacht, hebbende hendert sjerdts ten Oosten, Eijse Jans ten Westen, de Compagnievaerts gerechtigheijt ten Zuijden, Ebe hendrix ten Noorden, en dat met sijn resp=e: Lasten en profijtten, actien, servituten en gerechtig¬ heeden daer toe ende aenbehorende; exempt het gene van de rosmolen aen Willem Pieters vercocht aen de huijsinge off schuijre vast is; Aldus gecocht van Oentse Romckes voor twee hondert vijfftien gg, te betalen op drie Maijdagen 1716, 1717 en 1718 elx een gerechte darde part, en dat in gangbaren vrijen, cost ende schadeloosen gelde, der cor¬ tende int laeste termijn vijfftien carg, wegens de verleijde strijk en verhooggelden sonder wijders; breder vermogens den coop¬ brieff daer aff Zijnde; Den 10e. febrij: 1716 de 1e. proc: Den 24e. dito de 2e: proc: Den 9e. Martij 1716 de 3e proc:
Mensen waren in de 18e eeuw niet zo consequent in het gebruik van hoofdletters en kleine letters. Bij het verbeteren van de voorbeelden is dat meestal zo gelaten. Er werden veel afkortingen gebruikt, zoals hier H: i.p.v. Harkema.
Enkele complete proclamatieboeken
De proclamatieboeken uit de tijd van Sybrandus Huijsinga kunnen worden bekeken via de volgende tabel. De derde kolom verwijst naar de automatische transcripties, in de vorm van een tekstbestand. De vierde kolom bevat links naar de scans van de proclamatieboeken op allefriezen.nl.
Inventarisnr. | Periode | Transcripties | Afbeeldingen |
---|---|---|---|
088 (R10) | 1704-1709 | Tekst inv. 088 | Scans inv. 088 |
089 (R11) | 1709-1715 | Tekst inv. 089 | Scans inv. 089 |
090 (R12) | 1715-1721 | Tekst inv. 090 | Scans inv. 090 |
091 (R13) | 1721-1726 | Tekst inv. 091 | Scans inv. 091 |
092 (R14) | 1726-1731 | Tekst inv. 092 | Scans inv. 092 |
N.B. Er mist soms tekst in de automatische transcripties, doordat de software regels niet altijd goed van elkaar kan scheiden.
Terugblik op het experiment
Het model dat als basis is gebruikt voor mijn eigen model was al door anderen o.b.v. duizenden pagina’s getraind. Toch kan zo’n basismodel al met een beperkt aantal voorbeelden worden verbeterd. Dat geldt zeker voor dit experiment met het handschrift van één persoon. Wat hier ook hielp is dat proclamaties veel vaste elementen bevatten.
Voor een veel breder toepasbaar model zouden veel meer transcripties moeten worden verbeterd om als trainingsdata te dienen. Ook zou het trainen van het model dan erg lang duren. Het model dat hier is gebruikt is gebaseerd op 55 afbeeldingen. Het trainen kostte ruim 3,5 uur. Met nieuwe en betere hardware zou dat wel veel sneller kunnen.
Automatische transcripties hoeven niet perfect te zijn om er iets aan te hebben. Door op stukjes tekst te zoeken kun je soms toch iets interessants vinden in moeilijk leesbare proclamatieboeken. Dat geldt vooral voor de oudste proclamatieboeken die veel lastiger te lezen zijn dan de boeken waar het hier over gaat.