Nyshporka 0.24.0: neue Modelle für Handschriften des 18.–19. Jahrhunderts
Version 0.24.0 erneuert alle drei Modelle zur Erkennung handschriftlicher Texte. In Kirchenbüchern des 18. Jahrhunderts landet ein Nachname sechsmal häufiger im richtigen Eintrag als in der vorigen Version. In polnischer Kanzleikursive gibt es 38% weniger falsche Zeichen, und Wörter, die ohne einen einzigen Fehler gelesen werden, gibt es 1,6-mal so viele. Die Verarbeitungsgeschwindigkeit einer Akte auf einer Tesla-V100-Karte hat sich praktisch nicht verändert, im Cloud-Modus auf zwei solchen Karten ist sie um etwa 70% gestiegen.
Was sich geändert hat
- Pysar (Kyrillisch, Hauptmodell) — Version 19. Trainiert mit zusätzlicher Handauszeichnung von Kirchenbüchern des 18. Jh.
- Diak-Litopysets (Kyrillisch, zweites Modell) — eine neue Generation von Diak auf der offenen Grundlage PP-OCRv6.
- Skryba PPv3 (Lateinschrift: polnische und lateinische Kursive) — ein neues Modell auf derselben Grundlage, trainiert auf 28 Handschriften.
Neue Lese-Engine kraken 7.1
Die neuen Modelle beruhen auf einer anderen Architektur (PP-OCRv6), und diese funktioniert nur unter kraken 7.1 richtig. Deshalb ist dieses Update größer als gewöhnlich: Nach nysh update muss auch die Lese-Engine selbst aktualisiert werden (nysh htr install).
Kraken ist in Nyshporka gepatcht: Sechs Geschwindigkeitspatches, an der neuen Version überprüft, halten die Verarbeitung einer Akte auf einer Tesla-V100-Karte auf dem bisherigen Niveau, und Lateinschrift wird auf derselben Karte fast doppelt so schnell gelesen. Die Aufteilung der Seiten in Zeilen, die die alte Version berechnet hat, liest die neue ohne Neuberechnung.
Erkennungsqualität
Die vorige und die neue Version wurden auf denselben Seiten verglichen, auf demselben Rechner, mit erneuter Erkennung von Grund auf.
| Material und Maß | Vorher | Nachher |
|---|---|---|
| Kirchenbücher des 18. Jh. (ЦДІАК Best. 224, 657 Einträge): Nachname im richtigen Eintrag, über den Zufallstreffer hinaus | 0,038 | 0,231 |
| Dasselbe, Vorname | 0,142 | 0,317 |
| Polnisches Notariat (ДАВіО Best. 792, Zeilen außerhalb des Trainings): Anteil falscher Zeichen | 20,9% | 12,9% |
| Dasselbe: Wörter, ohne einen einzigen Fehler gelesen | 27,4% | 45,0% |
| Protokoll der Podolischen Adelsversammlung 1802 (Handschrift außerhalb des Trainings): Anteil falscher Zeichen | 32,5% | 26,5% |
| Kirchenbücher des 19. Jh. (2808 Nachnamen aus dem Referenzsatz): gefunden | 54,9% | 55,2% |
| Suche nach einer bestimmten Familie auf 72 Seiten Kirchenbuch des 19. Jh.: Seiten, von beiden Modellen zusammen gefunden | 65 | 64 |
„Über den Zufallstreffer hinaus“ — der Anteil der Einträge, in denen der Nachname aus dem handschriftlichen Register im selben Eintrag des erkannten Textes gefunden wurde, abzüglich der Treffer, die eine zufällige Seite ergeben hätte. Referenz sind die von Hand erstellten Regesten einer Forscherin, unabhängig von der Erkennung zusammengestellt.
In Büchern des 19. Jahrhunderts bleibt die Qualität auf dem bisherigen Niveau. Das zweite Modell Diak-Litopysets verwechselt den gesuchten Nachnamen seltener mit einem ähnlichen Nachnamen einer Nachbarfamilie: Auf den Kontrollseiten steht es bei solchen Fehlern eins zu vier.
Geschwindigkeit und Kosten
| Modus | Vorher | Nachher |
|---|---|---|
| Vollständige Akte auf einer Tesla-V100-Karte (271 Seiten, alle Schritte, ein Prozess) | 1871 s | 1918 s |
| Lateinschrift: Erkennung einer Seite, Tesla V100 | 1,86 s | 0,99 s |
| Cloud, Rechner mit zwei Tesla-V100-Karten (16 GB): Seiten pro Stunde, Kyrillisch, Akte mit 606 S. | ≈ 4600 | ≈ 8000 |
| Cloud, derselbe Rechner (Miete $0,244/Std.): Kosten für tausend Seiten, Kyrillisch | ≈ $0,05 | ≈ $0,03 |
Die neuen kyrillischen Modelle sind größer, aber der längste Schritt der Seitenverarbeitung — das Erkennen der Zeilen — hat sich nicht verändert, sodass eine vollständige Akte auf einer Tesla-V100-Karte praktisch genauso schnell verarbeitet wird (+2,5%). Im Cloud-Modus passen bei der neuen Version doppelt so viele parallele Prozesse auf eine Karte. Für Akten mit gemischter kyrillischer und lateinischer Schrift, bei denen alle drei Modelle arbeiten, liegt die Geschwindigkeit auf demselben Rechner mit zwei Tesla-V100-Karten (16 GB) bei etwa 5000 Seiten pro Stunde.
Ohne Grafikkarte
Prozessor Intel Core i7-9750H (6 Kerne), dichte Seite (~128 Zeilen), Sekunden pro Seite:
| Modus | Vorher | Nachher |
|---|---|---|
| Kyrillisch, zwei Modelle | ≈ 46 | ≈ 57 (+24%) |
Kyrillisch, ein Modell (--one-voice) |
≈ 42 | ≈ 42 |
| Lateinschrift | ≈ 18 | ≈ 29 (+60%) |
| Akte mit 600 Seiten Kyrillisch, zwei Modelle | ≈ 7,7 Std. | ≈ 9,5 Std. |
Die Verlangsamung betrifft nur den Prozessor: Auf einer Tesla-V100-Karte wird Lateinschrift im Gegenteil fast doppelt so schnell gelesen. Eine große Akte lässt sich schneller in der Cloud lesen (nysh cloud go).
Worauf trainiert wurde
- Handauszeichnung von Zeilen aus Kirchenbüchern des 18. Jh. (ЦДІАК Best. 224 und weitere Akten).
- Für Lateinschrift 28 Handschriften: Notariatsbücher ДАВіО Best. 792, Grodbücher der Woiwodschaft Kyiv (ЦДІАК Best. 2), Protokolle der Podolischen Adelsversammlung (ДАХмО Best. 230), Seelenverzeichnisse des Dekanats Chechelnyk (ДАК Best. 312), Kirchenbücher einer römisch-katholischen Kirche (Best. 685) sowie ein offenes Korpus niederländischer Notariatsakten des 19. Jh.
- Grundlage der neuen Modelle ist PP-OCRv6 medium (Benjamin Kiessling, Inria; Zenodo, DOI 10.5281/zenodo.21788410), Lizenz Apache-2.0.
Einschränkungen
- In Kirchenbüchern der zweiten Hälfte des 19. Jh. findet Pysar v19 Nachnamen um etwa 1 Prozentpunkt seltener als die vorige Version.
- Einzelne Tests sind klein (143 Zeilen Lateinschrift; eine Seite des Protokolls von 1802), daher sind Unterschiede von 1–2 Punkten dort nicht aussagekräftig. Die wichtigsten Änderungen (sechsmal bei Nachnamen des 18. Jh., 38% weniger Fehler bei Lateinschrift) liegen weit über dieser Fehlerspanne.
- Bei kleinen Akten (bis 100 Seiten) ist die Cloud-Geschwindigkeit auf einem Rechner mit zwei Tesla-V100-Karten niedriger, etwa 2000 Seiten pro Stunde, wegen der Startzeit für jede Akte.
Weitere Änderungen der Version
Weniger Platz auf der Festplatte
Die Bibliothek torch wird nicht mehr doppelt installiert — neben der Anwendung und in der Lese-Engine. Jetzt liegt sie nur noch in der Lese-Engine; unter Linux werden so mehrere Gigabyte frei.
Cloud
- Ein Stapel von Akten ist in Minuten vorbereitet. Um einen Rechner auszuwählen, schätzt Nyshporka, wie viele Zeilen eine Seite einer ungelesenen Akte hat. Für einen Stapel wird diese Schätzung jetzt aus bereits gelesenen Akten desselben Findbuchs übernommen — 0,3 s statt ~85 s pro Akte. Ein Stapel von 25 Kirchenbüchern eines Findbuchs hing früher 35 von 50 Minuten Vorbereitung an dieser Schätzung.
- Eine fertige Segmentierung wird nicht ein zweites Mal berechnet. Das Nachlesen einer Akte, eine Wiederholung nach einem Abbruch oder ein neues Modell im selben Ordner übernehmen die Segmentierung des vorigen Durchgangs.
- Man sieht, welche Akten nicht mitgefahren sind. Die Ausgabe des Stapels meldet „N von M Akten fahren mit“ und den Grund für jede Akte, die herausgefallen ist.
Herunterladen
- Ein abgebrochener Download wird an der Abbruchstelle fortgesetzt, statt von vorn zu beginnen.
- Bei einer Begrenzung der Anfragehäufigkeit (429) wartet Nyshporka genau so lange, wie der Server verlangt.
- Eine Datei aus Wikimedia Commons wird mit der Prüfsumme SHA-1 abgeglichen.
Supriaha
- Liegt eine Akte in Supriaha in mehreren Paketen vor, nimmt Nyshporka das, das mit den neuesten freigegebenen Modellen gelesen wurde; gibt es keines, mit den vorigen; unter gleichwertigen das jüngste.
- Neue Quellenarten für Karteikarten: Kirchenbuch vollständig und unvollständig, Ehevoruntersuchungen, Nachschlagewerke (Adresskalender, Gedenkbücher), Gerichtsakten, Standesakten (Adel, Geschlechterbücher), Visitationen, Güterinventare, Volkszählungen, Dienstlisten.
- Eine einzelne fehlgeschlagene Verbindung zum Speicher gilt nicht mehr als Sperre: Nyshporka versucht es noch einmal.
- Liegt im Ordner nur ein Teil der Scans einer Akte, bittet das Verpacken darum, die Zahl der Scans der ganzen Akte anzugeben. Früher konnte eine Karteikarte eine Abdeckung über 100% zeigen.
Fragen und Antworten
Warum neue Modelle herausbringen, wenn der alte Text brauchbar ist?
Der alte Text ist brauchbar, mit ihm ist alles in Ordnung. Neue Modelle kommen heraus, weil ein genauerer Text die Suche günstiger und genauer macht.
Ein Agent, der in Gelesenem nach einer Familie sucht, muss die Kandidaten durchsehen und falsche Treffer verwerfen. Je mehr Fehler der Text hat, desto mehr Kontext muss er durcharbeiten und verwerfen. Ein genaueres Modell liefert weniger falsche Kandidaten: Der Agent findet die richtige Stelle schneller, verbraucht weniger Tokens und übersieht seltener etwas.
Wir übersehen schon jetzt wenig, aber jedes neue Modell verringert diesen Anteil. Neue Modelle wird es auch weiterhin geben.
Haben Akten und Beiträge, die mit alten Modellen gelesen wurden, noch Wert?
Ja. Die Suche funktioniert auf dem Text jedes Modells: Die täglichen Berichte der Familiensuche, die wir auswerten, bringen Funde auch in Akten, die mit früheren Versionen gelesen wurden. Jeder Fund wird mit eigenen Augen am Scan geprüft, daher beeinflusst die Genauigkeit des Modells, wie viel Arbeit bis zum Fund nötig ist, und nicht, ob man ihm trauen kann.
Deshalb werden Ihre Beiträge zu Supriaha schon jetzt gebraucht, mit den Modellen, die es gibt. Wir lesen Akten weiter mit den vorhandenen Modellen; wenn neuere erscheinen, kann man den Teil neu lesen, bei dem es sich lohnt.
Die geleistete Arbeit geht auch beim Neulesen nicht verloren: Die Aufteilung der Seiten in Zeilen — der längste Teil des Lesens — kommt aus dem Cache, und die neuen Modelle lesen dieselben Zeilen.
Muss ich jetzt alle gelesenen Akten neu lesen lassen?
Nein. Alles Gelesene bleibt in der Suche und veraltet nicht.
Neulesen ist nur dort nötig, wo Sie mit geringerem Aufwand das Meiste aus der Suche herausholen möchten: Kirchenbücher des 18. Jh., lateinische und gemischte Akten sowie Akten, in denen die Familiensuche nichts gefunden hat. In Büchern des 19. Jh. ist die Qualität fast dieselbe (55,2% gegenüber 54,9% gefundener Nachnamen), daher gibt es keinen Grund, sie der neuen Modelle wegen neu zu lesen.
Neulesen ist günstiger als das erste Lesen: Die fertige Aufteilung der Seiten in Zeilen kommt aus dem Cache. Auf einer Tesla-V100-Karte nimmt sie den größten Teil der Zeit pro Seite ein (5,5 s von 8,9 s), daher ist Neulesen etwa zwei- bis dreimal schneller. Es genügt, nysh read für die Akte erneut zu starten — die neuen Modelle werden von selbst übernommen; in der Cloud nimmt nysh cloud go die fertige Aufteilung automatisch.
Kann ich bei den alten Modellen bleiben?
Ja. Die alten Gewichte bleiben auf der Festplatte: Solange die neuen nicht heruntergeladen sind (nysh models get), liest Nyshporka mit ihnen, und sobald die neuen da sind, nimmt sie die neuesten freigegebenen. Jede Akte kann mit einem ausdrücklich genannten Modell gelesen werden: nysh read <справа> --model pysar_cyr_v17.pt.
Nach dem Update von Nyshporka selbst muss die Lese-Engine aktualisiert werden (nysh htr install): Ohne das startet das Lesen nicht. Die alten Modelle funktionieren auf der aktualisierten Engine wie bisher.
Welchen Text nimmt Nyshporka aus Supriaha?
Liegt eine Akte in Supriaha in mehreren Paketen vor, nimmt Nyshporka das, das mit den neuesten freigegebenen Modellen gelesen wurde; gibt es keines, mit den vorigen; unter gleichwertigen das jüngste. Das gilt für eine einzelne Akte ebenso wie für einen ganzen Bestand oder ein Findbuch. Neben jeder Akte im Katalog ist zu sehen, mit welchen Modellen sie gelesen wurde. Eine übernommene Akte kommt mit allen ihren Lesungen (Stimmen), und die Suche läuft über alle.
Wurde eine Akte bereits übernommen und erscheint im Katalog ein Paket derselben Akte, das mit neueren Modellen gelesen wurde, lässt sich das Übernommene mit dem Befehl nysh share pull … --force ersetzen.
Für alle, die von Versionen vor 0.22 aktualisieren: Umzug des Aktenverzeichnisses
Wenn Sie von einer Version älter als 0.22 aktualisieren, umfasst das Update den Umzug des Aktenverzeichnisses auf neue Schlüssel. Das ist der einzige Schritt, der Ihre Daten verändert, deshalb sollten Sie ihn sorgfältig durchführen.
Der Schlüssel jeder Akte enthält jetzt immer das Findbuch: REPO/фонд/опис/справа, zum Beispiel DAHMO/315/1/8433. Ist das Findbuch unbekannt, steht an seiner Stelle _. Früher gehörte das Findbuch nur bei einem Teil der Bestände zum Schlüssel, und zwei Bücher mit derselben Nummer in verschiedenen Findbüchern (zum Beispiel ДАДнО 193-1-213 und 193-3-213) hatten denselben Schlüssel.
Umgezogen werden: der Seitenspeicher, die Zuordnungen der Lesedurchgänge, die Urteile zu Akten und Zeilen, das Suchprotokoll, die Karteikarten von Supriaha, die Aktenwarteschlange und die Korrekturprofile.
Vorgehen
- Beenden Sie andere Sitzungen und Hintergrundprozesse, die ins Aktenverzeichnis schreiben. Solange sie laufen, beginnt der Umzug nicht.
- Sehen Sie sich den Plan an:
nysh cases rekey. Er zeigt, was umbenannt wird, was zusammengeführt wird und was sich nicht umziehen lässt. - Prüfen Sie die Zusammenführungen. Hatte eine Akte Urteile unter zwei alten Schlüsseln, gilt das spätere, und das andere wird daneben als ersetzt aufbewahrt.
- Führen Sie den Umzug aus:
nysh cases rekey --apply. Vor den Änderungen wird ein Archiv indata/cases/rekey/<час>/angelegt; ein Fehler mittendrin setzt den Arbeitsbereich in den vorigen Zustand zurück. - Tragen Sie bei Akten mit unbekanntem Findbuch (
_) das Findbuch in den Aktenpass ein (nysh case <тека> --shifra "…") und wiederholen Sienysh cases rekey --apply.
Gut zu wissen
- Vor dem Umzug funktionieren Lesen und Suche, aber das Schreiben ins Aktenverzeichnis wird verweigert, mit einem Hinweis, welchen Befehl Sie ausführen sollen.
- Rückgängig machen —
nysh cases rekey --rollback. Wurde das Aktenverzeichnis nach dem Umzug bereits verändert, verweigert das Zurücksetzen mit einer Liste der geänderten Dateien;--rollback --forcenur mit voller Absicht. - Alte Schlüssel in Notizen und Nachrichten führen weiterhin zu ihrer Akte, über die Umzugskarte (
data/cases/key_moves.json).
So aktualisieren Sie
Nach nysh update sind zwei Befehle nötig: nysh htr install (aktualisiert die Lese-Engine an Ort und Stelle) und nysh models get (neue Gewichte, etwa 225 MB). Nyshporka liest selbst mit den neuesten freigegebenen Modellen, wenn sie auf der Festplatte liegen; sind sie noch nicht heruntergeladen, mit den vorigen. Von Hand umschalten müssen Sie nichts.
Wie der Vergleich durchgeführt wurde
Beide Versionen verarbeiteten dieselben 271 Seiten auf einem gemieteten Rechner mit einer Tesla-V100-Karte, ohne fremde Prozesse; jede Seite wurde von Grund auf erkannt. Die Cloud-Geschwindigkeit wurde getrennt auf einem Rechner mit zwei V100-Karten an einer Akte mit 606 Seiten gemessen. Seiten, die zum Training der Modelle verwendet wurden, sind vom Vergleich ausgenommen. Die Prozessormessungen — auf einem Intel Core i7-9750H, drei dichte Seiten aus ДАК 312-1-27.